如何解读CPLEX CP Optimizer统计页面的各元素与求解结果含义
CPLEX CP Optimizer 求解统计结果解读
你提供的统计页截图如下:
各统计项的具体含义可以按模块拆分理解:
1. 求解核心结果模块
- 求解状态:标识求解最终的完成状态,是判断结果有效性的核心依据,常见取值包括:
Optimal:已找到全局最优解且完成证明Feasible:仅找到可行解,未证明是否为最优Infeasible:模型不存在符合所有约束的可行解TimeLimit/MemoryLimit:触发预设的时间/内存上限,求解提前终止
- 目标值:带优化目标的模型最终输出的目标函数值,若求解状态为
Optimal,该值为全局最优值 - 总求解用时:求解器从启动到停止的总耗时,单位通常为秒
2. 模型规模模块
- 决策变量总数:模型中定义的所有决策变量的总数量,部分统计页会按变量类型(整数变量、区间变量、序列变量等)分开标注数量
- 约束总数:模型中定义的所有约束条件的总数量,特殊约束(调度约束、逻辑约束、全局约束等)通常会单独统计数量
3. 搜索过程统计模块
- 总分支数:求解器在分支搜索过程中生成的总分支节点数,数值越高代表遍历的搜索空间越大
- 剪枝分支数:搜索过程中因不可行、边界差于当前已知最优解等原因被直接排除的分支数量,占比越高代表求解器剪枝策略效率越高
- 冲突探测次数:求解过程中识别到的约束冲突总次数,冲突分析是CP Optimizer缩小搜索空间的核心手段
- 约束传播次数:约束传播逻辑的执行总次数,约束传播是CP求解器提前排除大量不可行决策组合的核心逻辑,次数越高代表求解器在缩窄可行域上投入的计算量越大
4. 可行解统计模块
- 累计可行解数量:求解过程中总共找到的符合所有约束的可行解数量
- 首个可行解用时:从求解启动到找到第一个可行解的耗时,对需要快速获取可行解的场景参考价值极高
- 最优解证明用时:从求解启动到完成全局最优性证明的耗时,仅当求解状态为
Optimal时会输出该值
5. 资源消耗模块
- 峰值内存占用:求解过程中求解器占用的内存最高值,单位通常为MB/GB,可用来评估模型对硬件资源的需求
内容的提问来源于stack exchange,提问作者Ekin Tanır
相关产品推荐
相关产品推荐

