如何在 MiniZinc 中初始化具有特定数字域的变量?

问题描述

在 MiniZinc 中,我们初始化一个值域,例如:

var 2..6: X;

但是,如果需要的值只有 [2,4,6] 不包括 3 和 5,那么如何为变量初始化这样的域?

解决方法

使用集合符号 {...} 枚举有效域,即大括号,而不是方括号。

var {2,4,6}: x;

注意:2..6{2,3,5,6} 相同(或更确切地说是其简写)。

这在 MiniZinc Tutorial 中有更多讨论。