如何用 cplex 热启动 pyomo?
Posted
技术标签:
【中文标题】如何用 cplex 热启动 pyomo?【英文标题】:How to warm-start pyomo with cplex? 【发布时间】:2017-07-08 21:45:10 【问题描述】:我目前正在使用
从命令行使用 cplex 和 pyomopyomo -solver=cplex model.py data.dat
结果保存在文件results.json
中。
如何使用以前的结果作为起始解决方案再次启动 cplex?
【问题讨论】:
【参考方案1】:如果您想做更高级的事情,例如加载热启动,最好通过编写自己的 Python 脚本来开始使用 Pyomo。在您的情况下,这可能如下所示:
from pyomo.environ import *
# import the module that contains your model
import model
# load the data
instance = model.model.create_instance('data.dat')
# create a solver
cplex = SolverFactory("cplex")
# solve the first time (tee=True prints the cplex output)
status = cplex.solve(instance, tee=True)
assert str(status.solver.termination_condition) == 'optimal'
# solve the model a second time and create a warmstart file for cplex
status = cplex.solve(instance, warmstart=True, tee=True)
有关更多信息,请参阅在线 Pyomo 文档的 scripting 部分。
【讨论】:
以上是关于如何用 cplex 热启动 pyomo?的主要内容,如果未能解决你的问题,请参考以下文章