用集合数组声明一个变量数组
Declaring an array of vars with an array of sets
我是 minizinc 的新手,这可能是一个简单的问题,但我无法在任何地方找到答案,所以我求助于这里。
我有这个数组:
set of int: N=1..n;
array[N] of set of int: x_d = [ { j | j in i+1..min(2*i,n-1) } | i in N];
n
可能会发生变化,它是外部输入的,所以我在编写这段代码时无法访问该值。我想要的是这个变量数组:
array[N] of var int: x;
仅限于上述集合。意思是,x[i]
应该限制在其对应的集合 x_d[i]
,其中 i
属于 [1, 2, ..., n]
。
constraint forall(i in N)(x[i] in x_d[i]);
会满足您的需求吗?
我是 minizinc 的新手,这可能是一个简单的问题,但我无法在任何地方找到答案,所以我求助于这里。
我有这个数组:
set of int: N=1..n;
array[N] of set of int: x_d = [ { j | j in i+1..min(2*i,n-1) } | i in N];
n
可能会发生变化,它是外部输入的,所以我在编写这段代码时无法访问该值。我想要的是这个变量数组:
array[N] of var int: x;
仅限于上述集合。意思是,x[i]
应该限制在其对应的集合 x_d[i]
,其中 i
属于 [1, 2, ..., n]
。
constraint forall(i in N)(x[i] in x_d[i]);
会满足您的需求吗?