You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Docplex调用CPLEX找到首个可行解或第n优解后终止搜索

Docplex 结合 CPLEX 求解器的解数量限制配置

你要的两种终止规则都可以通过直接设置CPLEX求解参数实现,对应原生set limits solutions n逻辑,不需要额外写回调监听求解过程。

找到第一个可行解立即终止

在调用求解方法前,给模型设置解数量上限参数为1即可:

# 假设你已经完成建模,模型对象名为mdl
# 配置:找到1个可行解后立刻终止搜索
mdl.parameters.mip.limits.solutions = 1
# 正常调用求解即可
solution = mdl.solve()

通用场景:找到第n个最优解时停止搜索

把上述参数的赋值替换为你需要的阈值n就行,和CPLEX原生指令的逻辑完全对齐:

# 自定义停止阈值,例如设置为3时,求解器找到第3个最优解就会终止
stop_at_solution_num = 3
mdl.parameters.mip.limits.solutions = stop_at_solution_num

参数说明

  • 该参数仅对混合整数规划(MIP)类模型生效,适配绝大多数NP-Hard问题的建模求解场景
  • 解的计数从求解过程中找到的第一个可行解开始累加,达到设定阈值后求解器会立刻退出,不会继续遍历剩余解空间
  • 该配置不会影响求解器本身的搜索逻辑,只是在达到解数量要求时提前终止,返回当前找到的最优解

内容的提问来源于stack exchange,提问作者Sebastian Jose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 17:54:25