python - 解决没有变量的Python Pulp

标签 python linear-programming pulp

我有一个 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因为 __dummyvarValueNone,而您根本不希望包含它。我会提交一份错误报告,要求他们从 LpAffineExpression.value() 中排除虚拟变量 - 因为 pulp.value(model.objective) 的快捷方式model.objective.value().

现在,我会使用 following workaround :model.objective.valueOrDefault()

关于python - 解决没有变量的Python Pulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63710481/

相关文章:

python - numpy 按类型元素搜索并更改它

mathematical-optimization - 从一组项目中进行选择以满足特定功能目标优化

python - Gurobi 前缀和优化

python - 如何在 Pulp 中设置 Gurobi 参数

python - PuLP 优化

python - 如何使用 PuLP 的 Gurobi 求解器设置 MIP 启动(初始解决方案)?

python - 两次启动对话时出现空白窗口?

python - 获取进程文件路径

python - pandas 中的关键错误

linear-programming - 最大化给定场景的效益