【发布时间】:2016-03-26 17:04:36
【问题描述】:
尝试学习 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 的帖子,似乎说省略输出语句会产生所有输出 (Easy way to print full solution (all decision variables) in minizinc)。这没用。只输出一个。
【问题讨论】:
标签: minizinc