我目前正在使用命令行使用 cplex 和 pyomo
pyomo -solver=cplex model.py data.dat
结果保存在文件中results.json
。如何使用以前的结果作为起始解决方案再次启动 cplex?
如果您想做更高级的事情,例如加载热启动,最好通过编写自己的 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 文档的脚本部分。