2017-04-06 119 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屬性(如果要提供熱啓動,則更新該屬性)。