【发布时间】:2019-11-25 08:06:36
【问题描述】:
这是一个简单的模型,它要求一个数组的所有元素都等于另一个数组的元素:
int: n = 3;
set of int: N = 1..n;
array[N, N] of var bool: P1 = [|true, false, false|
false, true, false|
false, false, false|];
array[N, N] of var bool: P2;
% constraint forall (x, y in N) (if P1[x,y] then P2[x,y] else true endif);
% constraint forall (x, y in N) (P1[x,y] == P2[x,y]);
constraint forall (x, y in N) (P1[x,y] <-> P2[x,y]);
solve satisfy;
当我使用优化级别 -O0 或 -O1 运行它时,一切正常,但是当我切换到更高的优化级别时,我会遇到一些此类错误:
错误:未定义类型 bool X_INTRODUCED_0_ 的标识符在第 1 行。 10
如您所见,我尝试了很多方法。在这样一个简单的程序中,什么可能导致问题?
即使在最简单的情况下也会发生这种情况,数组中只有一个决策变量:
array[1..1] of bool: n = [true];
array[1..1] of var bool: k;
constraint n[1] == k[1];
solve satisfy;
【问题讨论】:
标签: minizinc