IntVar 的域会影响 CP-SAT 求解器的性能吗

Posted

技术标签:

【中文标题】IntVar 的域会影响 CP-SAT 求解器的性能吗【英文标题】:Does the domain of an IntVar affect the performance of a CP-SAT solver 【发布时间】:2021-01-26 12:14:24 【问题描述】:

亲爱的, 即使不需要它们,我通常也会指定大 IntVar:

model.NewIntVar(-93372036854775808, 9123372036854775807, 'test')

它会影响求解器的性能还是无关紧要?我的意思是将变量的域限制在一个合理的范围内更好还是不影响求解器逻辑?

谢谢

【问题讨论】:

【参考方案1】:

一般来说,最好限制变量的域。

    尽可能远离溢出值 完全紧域不是强制性的,因为 presolve 会紧缩它们。但是一些预解析规则可能会扫描所有值。所以最好给小域名。

【讨论】:

以上是关于IntVar 的域会影响 CP-SAT 求解器的性能吗的主要内容,如果未能解决你的问题,请参考以下文章

Or-Tools CP-SAT 求解器导出/导入:加载模型后如何访问变量?

CP-Sat 的 OR-Tools 优化

Ortools 在求解时设置约束

matlab整数规划程序

CP-SAT 平衡任务分配

计算变量和约束 PuLP 和 CP-Sat