【发布时间】:2021-09-10 15:39:03
【问题描述】:
我是 minizinc 的初学者,我试图在不使用 mod 函数的情况下为 0 到 10 范围内的 4 的倍数定义一个约束。
这行得通:
var 0..10: x;
array[1..8] of int: not_div_by_4 = [ 1, 2, 3, 5, 6, 7, 9, 10 ];
constraint forall (i in 1..length(not_div_by_4))(x != not_div_by_4[i]);
虽然这不起作用,并声称它不能满足模型不一致警告(我想这是一个线索):
var 0..10: x;
array[1..3] of int: div_by_4 = [ 0, 4, 8 ];
constraint forall (i in 1..length(not_div_by_4))(x == not_div_by_4[i]);
知道定义约束的第二种方式有什么问题吗?
【问题讨论】:
标签: model constraints consistency minizinc