var 1..5: k=1;
array[1..2] of var 1..48: key2;
constraint forall(i in 1..4,j in 1..48 where k= ceil(j/24))(if
table[i,j]!=0 then key2[k]=j else true endif);
我正在尝试在我的 minizinc 程序中应用此约束。目标是最大化成本函数,这是约束之一,但是当我运行此代码时,它显示
Finished in 203msec
Compiling first.mzn with data empdata2.dzn
Running first.mzn
=====UNSATISFIABLE=====
Finished in 189msec
如果我将 key2[k]=j 替换为 true ,那么它会编译并运行而不会出现任何错误。我没有在程序中的任何其他地方使用 key2 数组。我正在使用数据文件提供输入,并且我将 key2 数组初始化为 key2=[1,1]。我是 minizinc 的初学者,我不明白为什么在这种情况下为数组分配数字会有问题?