Pyomo:使用python脚本时,有没有快速的方法可以在解决ILP后显示目标值?

2023-12-23

我之前完成了ILP并且运行正常。

opt = SolverFactory('glpk')
model = AbstractModel()
model.obj = Objective(...)

# variables, constraints ...

instance = model.create_instance()
results = opt.solve(instance)

因为我想获得每个变量的值,但也想得到解决的目标函数,所以我尝试通过与对变量所做的类似的方式访问目标函数,但我所能得到的只是一个表达式。

我使用以下代码:

print(instance.obj.value)

但只收到这样的警告:

WARNING: DEPRECATED: The .value property getter on SimpleObjective is deprecated. Use the .expr property getter instead

当我将代码更改为

print(instance.obj.expr)

我得到的只是一个表情。所以我想知道除了获取所有需要的变量并自己重新计算之外,还有什么方法可以获取目标函数的值?


获得目标函数值的最佳方法是使用valuePyomo提供的功能

print(value(instance.obj))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyomo:使用python脚本时,有没有快速的方法可以在解决ILP后显示目标值? 的相关文章

随机推荐