2017-04-06 38 views
0

Pyomo求解器调用可以通过命令行或Python脚本来实现。SolverFactory.solve摘要选项

如何在命令行中调用与汇总标志

pyomo solve model.py input.dat --solver=glpk --summary 

翻译成如在Python脚本中使用SolverFactory类?

具体而言,在以下示例中,如何指定摘要选项?是否是SolverFactory.solve的(无证)?

from pyomo.opt import SolverFactory 
import pyomo.environ 

from model import model 

opt = SolverFactory('glpk') 

instance = model.create_instance('input.dat') 

results = opt.solve(instance) 

回答

1

--summary选项特定于pyomo命令。这不是解决方案选项。我相信它确实是执行该行

pyomo.environ.display(instance) 

解决后,您可以轻松地添加到您的脚本。查询解决方案的更直接的方法就是通过“评估”它们来访问模型变量或目标的价值。例如,

instance.some_objective() 
instance.some_variable() 
instance.some_indexed_variable[0]() 

pyomo.environ.value(instance.some_objective) 
pyomo.environ.value(instance.some_variable) 
pyomo.environ.value(instance.some_indexed_variable) 

我更喜欢前者,但后者是比较合适的,如果你正在访问不变,索引帕拉姆对象的值。另请注意,变量具有可直接访问的.value属性(如果要提供热启动,则更新该属性)。