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

问题描述

亲爱的, 即使不需要,我通常也会指定 big Intvar

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

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

谢谢

解决方法

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

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