首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CPLEX报告的“用户削减应用”的含义是什么?

CPLEX报告的“用户削减应用”的含义是什么?
EN

Stack Overflow用户
提问于 2020-06-23 11:16:41
回答 2查看 182关注 0票数 0

我一直在研究一个组合优化问题,它可以建模为整数线性规划。我将其作为一个c++项目在VisualStudio2017和CPLEX1271中实现。由于有大量的约束,所以我实现了延迟约束回调和用户剪裁回调。CPLEX报告的结果如下:

代码语言:javascript
运行
复制
Clique cuts applied:  1
Cover cuts applied:  4
Mixed integer rounding cuts applied:  1
Zero-half cuts applied:  13
Lift and project cuts applied:  2
Gomory fractional cuts applied:  3
User cuts applied:  2116
Solution status         =       Optimal
Gap     =       0
Elapsed time    =       14.235
Objectvie value         =       16675
Number of nodes         =       57
Number of cuts  =       2116

我想知道条目User cuts applied是什么意思。它是由用户裁剪回调和惰性约束回调添加的约束数量,还是仅由用户裁剪回调添加的约束数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-23 14:44:51

日志中报告的“已应用的用户削减”项提供了用户裁剪回调和延迟约束回调所添加的约束数。用户裁剪和延迟约束之间的区别仅在分离阶段进行。一旦削减增加到问题,他们就不再有区别了。

票数 2
EN

Stack Overflow用户

发布于 2020-06-29 17:13:06

谢谢你的回答!我还想知道怎样才能分别得到这两种切割的数字。

你好。正如我所说的,一旦将削减添加到问题中,用户削减和延迟约束就没有区别了。因此,如果要区分用户削减数和延迟约束数,则在从相应的回调中将它们添加到问题中时,必须自己计算它们。但是,请注意,在某些情况下,从回调中添加的削减数可能大于日志中报告的“应用的削减”数。首先,并非用户试图添加的所有用户剪切/延迟约束都必须添加到问题中(例如,如果用户试图添加问题中已经存在的重复削减或削减,则不会添加这些限制)。其次,如果用户指定可以清除用户裁剪和/或延迟约束,则可能会将其中一些限制添加到问题中,然后再删除。换句话说,“应用的削减”指的是在优化结束时问题中存在的削减,而不是在优化过程中添加到问题中的削减总数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62533474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档