Files
ortools-clone/examples/flatzinc/monkey_coconuts.fzn
2012-09-03 18:26:36 +00:00

27 lines
1.1 KiB
MiniZinc

array [1..6] of var int: left :: output_array([0..5]);
array [1..6] of var int: removed :: output_array([1..6]);
constraint int_le(0, left[1]);
constraint int_le(0, left[2]);
constraint int_le(0, left[3]);
constraint int_le(0, left[4]);
constraint int_le(0, left[5]);
constraint int_le(0, left[6]);
constraint int_le(0, removed[1]);
constraint int_le(0, removed[2]);
constraint int_le(0, removed[3]);
constraint int_le(0, removed[4]);
constraint int_le(0, removed[5]);
constraint int_le(0, removed[6]);
constraint int_lin_eq([1, -5], [left[1], removed[1]], 1);
constraint int_lin_eq([1, -5], [left[2], removed[2]], 1);
constraint int_lin_eq([1, -5], [left[3], removed[3]], 1);
constraint int_lin_eq([1, -5], [left[4], removed[4]], 1);
constraint int_lin_eq([1, -5], [left[5], removed[5]], 1);
constraint int_lin_eq([1, -5], [left[6], removed[6]], 1);
constraint int_lin_eq([1, -4], [left[2], removed[1]], 0);
constraint int_lin_eq([1, -4], [left[3], removed[2]], 0);
constraint int_lin_eq([1, -4], [left[4], removed[3]], 0);
constraint int_lin_eq([1, -4], [left[5], removed[4]], 0);
constraint int_lin_eq([1, -4], [left[6], removed[5]], 0);
solve satisfy;