【问题标题】:Python CPLEX records feasible solutionPython CPLEX 记录可行解
【发布时间】:2021-04-19 14:56:12
【问题描述】:

我想知道如何在 Python CPLEX API 中使用 MIP 回调来记录可行的解决方案。目前我的 cplex 模型可以运行 10 个小时,似乎目标值根本没有提高,但是我不能中途停止,因为数据会丢失,所以我想知道如何使用回调MILP问题记录可行解

编辑:我没有使用 docplex,我使用了 cplex

import cplex

【问题讨论】:

    标签: python callback cplex


    【解决方案1】:

    https://github.com/IBMDecisionOptimization/docplex-examples/blob/master/examples/mp/jupyter/progress.ipynb查看进度监听器示例

    本教程包含设置决策所需的一切 优化引擎,建立数学规划模型,然后使用 进度监听器监控进度,捕获中间 解决方案并根据您自己的标准停止解决方案。

    【讨论】:

    • 感谢您的回复,但是我没有使用 docplex,我只是使用 Cplex,您还有其他建议吗?
    • Cplex/Python 中没有现成的解决方案。您必须继承 MIPInfoCallback 类,在调用时检查现有解决方案是否存在,然后提取值向量并从那里开始工作。这就是说,你能解释一下为什么你宁愿使用基于索引的 Python API 而不是 DOcplex 吗?在对面,Docplex 有一个现成的类可以完全满足您的需要:docplex.mp.progress.SolutionRecorder
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多