如何用cplex热启动pyomo?

时间:2017-02-19 17:40:52

标签: cplex pyomo

我目前正在使用

从命令行使用cplex和pyomo

pyomo -solver=cplex model.py data.dat

结果保存在文件results.json中。 如何使用之前的结果作为起始解决方案再次启动cplex?

1 个答案:

答案 0 :(得分:4)

如果你想做更高级的事情,比如加载一个暖启动,最好通过编写自己的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部分。