改用整型决策变量进行计算,可以通过乘上一个大数将整型变量映射到所需的浮点数范围内。例如,最小的表示精度为0.01的浮点数变量x可以表示为整型变量y=100x,这样在计算时就可以使用y进行计算,并在最终结果中将y除以100得到x的值。代码示例如下:
from pulp import *
# 创建问题实例
prob = LpProblem("测试问题", LpMinimize)
# 定义决策变量
# x = lp.LpVariable("x", lowBound=1.0, upBound=3.0, cat='Continous')
y = LpVariable("y", lowBound=100, upBound=300, cat='Continous')
# 添加约束
prob += y >= 200
prob += y <= 250
# 添加目标函数
prob += y
# 求解问题
status = prob.solve()
print(f"求解状态:{LpStatus[status]}")
print(f"最优解:{value(prob.objective)/100}")