我有一个 python PuLP 线性程序,可以最大限度地降低成本。在没有办法降低成本的退化情况下,我希望它返回固定成本。然而,pulp似乎在没有变量的情况下添加了一个__dummy变量,其值为None。我在下面添加了一个最小的工作示例。
from pulp import *
model = LpProblem("Degenerate_Model",LpMinimize)
fixed_cost = 10
model += fixed_cost
print(model) #Prints MINIMIZE 10
model.solve()
print(model.objective) #prints 0*__dummy + 10
print(value(model.objective)) #returns None. Desired output is 10
在上面的例子中我想要的输出是返回 10。非常感谢任何帮助
最佳答案
你说得完全正确。 This happens因为 __dummy
的 varValue
为 None
,而您根本不希望包含它。我会提交一份错误报告,要求他们从 LpAffineExpression.value()
中排除虚拟变量 - 因为 pulp.value(model.objective)
是 的快捷方式model.objective.value()
.
现在,我会使用 following workaround :model.objective.valueOrDefault()
。
关于python - 解决没有变量的Python Pulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63710481/