【发布时间】:2013-10-28 05:10:26
【问题描述】:
我无法找到任何关于minizinc 的求解器可以处理的最大变量和约束数量的参考。具体来说,我对 minizinc 的 mip 求解器很感兴趣。当我有大约 15k 个约束和大约 1000 个变量时,我在 8GB 的 Mac 上遇到了堆栈溢出错误。有谁知道这是否接近 minizinc 的实际限制?
【问题讨论】:
-
Stackoverflow 错误无法通过使用大量 RAM(例如您的 8GB)来解决。它基本上是使用递归函数(超过 1024 次调用)的代码,应该使用循环。
-
感谢@GeoffreyDeSmet 的评论。 minizinc中没有直接写递归函数的方法,所以肯定与minizinc内部的一些限制有关。
-
即我必须指定太多约束或使用太多变量。我所有的约束都只是带有求和函数的简单循环,所以没有使用任何回溯。
-
尝试另一个 minizinc 实现(有几个)或寻找替代方案(OptaPlanner,Choco,...)
-
我试用了最新版本的 minizinc,我认为它是最可靠的。您知道 OptPlanner 是否可以解决我在问题中提到的大小问题?
标签: optimization constraints limit modeling constraint-programming