Minizinc - 如何限制数组的每一列只包含给定整数中的一个?
Minizinc - How can I constrain each column of an array to contain only one of a given integer?
我正在尝试填充一个 10 行数组,以便每列包含一个“1”、一个“2”、一个“3”和七个“0”。有谁知道如何做到这一点?我尝试将列总数限制为 6,但返回的列有 6 个 1、2 个 3 等。是否有我不知道的 'count' 函数?谢谢!
至少可以使用三个约束条件:
- global_cardinality
- 计数
- 也许 all_different_except_0
见https://www.minizinc.org/2.0/doc-lib/doc-globals.html for a list of the global constraints supported in MiniZinc 2. The counting constraints are here: https://www.minizinc.org/2.0/doc-lib/doc-globals-counting.html
这里有一个如何使用 global_cardinality 的例子:http://hakank.org/minizinc/sudoku_pi.mzn
我正在尝试填充一个 10 行数组,以便每列包含一个“1”、一个“2”、一个“3”和七个“0”。有谁知道如何做到这一点?我尝试将列总数限制为 6,但返回的列有 6 个 1、2 个 3 等。是否有我不知道的 'count' 函数?谢谢!
至少可以使用三个约束条件:
- global_cardinality
- 计数
- 也许 all_different_except_0
见https://www.minizinc.org/2.0/doc-lib/doc-globals.html for a list of the global constraints supported in MiniZinc 2. The counting constraints are here: https://www.minizinc.org/2.0/doc-lib/doc-globals-counting.html
这里有一个如何使用 global_cardinality 的例子:http://hakank.org/minizinc/sudoku_pi.mzn