对于每一个决策变量,我们需要给出变量可能的取值集合。这个被称为变量的定义域 。 定义域部分可以在变量声明 的时候同时给出, 这时决策变量的类型 就会从定义域中的数值的类型推断出。MiniZinc中的决策变量的类型可以为布尔型,整型,浮点型或者集合。 同时也可以是元素为决策变量的数组。 在我们的MiniZinc模型例子中,我们使用整型去给不用的颜色建模。通过使用var声明, 我们的每一个决策变量 被声明为定义域为一个整数类型的范围表示1..nc, 来表明集合\(\{ 1, 2, \dots, nc \}\) 。 所有数值的类型为整型,所以模型中的所有的变量是整型决策变量。
标识符
用来命名参数和变量的标识符是一列由大小写字母,数字以及 下划线_字符组成的字符串。它们必须开始于一个字母字符。因此myName_2是一个有效的标识符。 MiniZinc(和Zinc)的关键字 不允许被用为标识符名字。它们在Identifiers 中被列出。 所有的MiniZinc操作符 都不能被用做标识符名字。它们在Operators 中被列出。
MiniZinc仔细地区别了以下两种模型变量:参数和决策变量。利用决策变量创建的表达式类型比利用参数可以创建的表达式类型更局限。 但是,在任何可以用决策变量的地方,同类型的参数变量也可以被应用。
整型变量声明
一个整型参数变量 可以被声明为以下两种方式:
int: