如何用 cplex 热启动 pyomo?

Posted

技术标签:

【中文标题】如何用 cplex 热启动 pyomo?【英文标题】:How to warm-start pyomo with cplex? 【发布时间】:2017-07-08 21:45:10 【问题描述】:

我目前正在使用

从命令行使用 cplex 和 pyomo

pyomo -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?的主要内容,如果未能解决你的问题,请参考以下文章

从 Python PYOMO 使用 GAMS/CPLEX

为啥我在使用 CPLEX 的 Pyomo 中出现不允许的字符错误?

计算机的冷启动与热启动

SpringBoot配置热启动HTML不刷新

热启动与冷启动

App 冷启动与热启动及启动白屏优化