1
我在不同的地方看到了「dot-dot」符號(..
)。在以下示例中,0..n
告訴我們決策變量的域(在這種情況下,是數組s
的條目)。MiniZinc中的'm..n`符號混淆
int: n;
array[0..n-1] of var 0..n: s;
另一個例子是在for循環:
constraint forall(i in 0..sequence_length)(
t[i] = sum(k in 0..sequence_length)((bool2int(t[k] == i)))
);
事實上,我們甚至可以這樣做
par var 1..5: x
我的感覺是表達m..n
一般使用當我們定義一個變量(而不是一個參數)時,我們想要指定變量的域。但在第二種情況下,我們沒有定義任何變量。那麼我們什麼時候使用m..n
?它究竟是什麼(例如它是否有類型?)?