0
在MiniZinc中,我需要從矩陣中提取一列,以便獲得由該列的值組成的集合。 例如,如果我有一個這樣的表:從矩陣設置提取列
1 0 0
6 4 6
3 5 8
我想以提取所述一組INT 1 6 3
,以便具有可在該集流的索引。有沒有一個命令來做到這一點?
在MiniZinc中,我需要從矩陣中提取一列,以便獲得由該列的值組成的集合。 例如,如果我有一個這樣的表:從矩陣設置提取列
1 0 0
6 4 6
3 5 8
我想以提取所述一組INT 1 6 3
,以便具有可在該集流的索引。有沒有一個命令來做到這一點?
您可以將col()函數與array2set()結合使用。下面是一個使用固定矩陣「a」的簡單模型:
int n: 3;
array[int,int] of int: a =
array2d(1..n,1..n,
[
1, 0, 0,
6, 4, 6,
3, 5, 8,
]);
set of int: s1 = array2set(col(a,1));
solve satisfy;
constraint true;
output [
"col(a,1): \(col(a,1))\n",
"s1: \(s1)\n"
];
輸出結果是集合「{1,3,6}」。