编写我的第一个非平凡的MiniZinc应用程序,我一直遇到错误“无法确定边界”。人们通常如何解决这个错误?MiniZinc“无法确定边界”
回答
一般而言,“无法确定边界”意味着求解器无法确定决策变量的边界(域)。
如果可能,应避免使用“var int”作为决策变量的域,因为它可能会减慢求解过程。有时候求解器可以找出域,例如在例如
% ...
var int: z = sum(x);
当“x”具有声明的域时。但是,通常,尝试定义域。
我意识到“无法确定边界”意味着求解器无法确定边界。但是这是什么时候发生的 - 也许一个简单的例子就会有一些亮点。此外,我认为“var”表示一个决策变量,并且它们是CP的整个点 - 指定对未知值的约束 - 所以为什么建议避免它们?我正在使用G12 fd。 – 2015-02-07 21:55:47
那么,“var int”是具有巨大(最大可能)域的决策变量,这将使解算器尝试该域中值的所有可能值。 “var 0..10”也是一个决策变量,但具有可能值更小的域。您应该尝试限制域名尽可能小,因为这会加快速度。如果你限制决策变量的领域会发生什么?你使用什么MiniZinc版本?我知道在MiniZinc 2的一些早期版本中,有一些这些错误是在稍后修复的。 – hakank 2015-02-07 22:59:10
啊,我使用了很多数组,如var int:X的“array [1 .. n]”;并没有意识到它应该是“var 1 ... 10:X”的“array [1 ..n]”。谢谢。使用0.9.6。但求解器是否真的尝试“所有”值?我认为他们比这更聪明。 – 2015-02-08 08:44:09
- 1. ncurses.h确定窗口边界
- 2. 确定CGMutablePathRef的边界?
- 3. 用边界框确定多边形相交的有效方法
- 4. 无边界TabControl
- 5. 确定Lat/Lng是否在边界
- 6. 在DBSCAN中,如何确定边界点?
- 7. 确定点是否在边界框内
- 8. 确定元素是否在边界内?
- 9. 确定一个GeoDataFrame的缓冲边界
- 10. 确定边界线的矩形Qt中
- 11. C如何确定数组的边界?
- 12. 高效地确定集合的边界
- 13. 无边界窗体边缘
- 14. 无边界的UIBarButtonItem
- 15. 无边界打印
- 16. 确定Openstreetmap路由算法中的边界框大小
- 17. 我无法在边界在Java
- 18. 无法设置堆栈边界GCC
- 19. IE9表无法识别边界半径
- 20. 无法使用未指定边界的数组
- 21. GridView更新时出现“锁定时无法更改边界”
- 22. 边界无法找到段落中的特定关键字
- 23. 确保自定义控制正确的边界在WPF
- 24. 获取Google地图边界,给定边界框,无需加载地图?
- 25. 无边界Winform的1px边框
- 26. 无法确定
- 27. 无法确定
- 28. 透明,无边界ProgressDialog
- 29. 使循环边界无效
- 30. WrapPanel中的无边界ImageButtons
如果您显示模型(或仍然会出现此错误的段),则更容易回答此问题。你使用什么FlatZinc解算器? – hakank 2015-02-07 17:15:56