【发布时间】:2021-04-19 14:56:12
【问题描述】:
我想知道如何在 Python CPLEX API 中使用 MIP 回调来记录可行的解决方案。目前我的 cplex 模型可以运行 10 个小时,似乎目标值根本没有提高,但是我不能中途停止,因为数据会丢失,所以我想知道如何使用回调MILP问题记录可行解
编辑:我没有使用 docplex,我使用了 cplex
import cplex
【问题讨论】:
我想知道如何在 Python CPLEX API 中使用 MIP 回调来记录可行的解决方案。目前我的 cplex 模型可以运行 10 个小时,似乎目标值根本没有提高,但是我不能中途停止,因为数据会丢失,所以我想知道如何使用回调MILP问题记录可行解
编辑:我没有使用 docplex,我使用了 cplex
import cplex
【问题讨论】:
本教程包含设置决策所需的一切 优化引擎,建立数学规划模型,然后使用 进度监听器监控进度,捕获中间 解决方案并根据您自己的标准停止解决方案。
【讨论】:
MIPInfoCallback 类,在调用时检查现有解决方案是否存在,然后提取值向量并从那里开始工作。这就是说,你能解释一下为什么你宁愿使用基于索引的 Python API 而不是 DOcplex 吗?在对面,Docplex 有一个现成的类可以完全满足您的需要:docplex.mp.progress.SolutionRecorder