尝试学习 minizinc,但在通过示例之后,我可以确认如果我想获得多个输出,我实际上必须编写一些程序语言,或者有一种更“自然的 minizinc”方式来获得它。
例如,假设我想让所有不同的数字加起来为 3,答案应该是 0+3 1+2 2+1 3+0 ...
我的迷你锌在这里:
% how to generate more than one result meeting the constraints
int: n=3;
var 0..9: a;
var 0..9: b;
include "alldifferent.mzn";
constraint all_different([a, b]);
constraint a + b = n;
solve satisfy;
output [
"a + b = n \t\n",
show(a), " + ",
show(b), " = ",
show(n)];
只产生 3+0。如何获得其他答案?感谢您提前提供任何建议。
我查看了 minizinc 1.6 的帖子,似乎说省略输出语句会产生所有输出(在 minizinc 中打印完整解决方案(所有决策变量)的简单方法)。这没用。只有一个输出。