git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
88 lines
1.9 KiB
MiniZinc
88 lines
1.9 KiB
MiniZinc
/***
|
|
!Test
|
|
expected:
|
|
- !Result
|
|
solution: !Solution
|
|
a:
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 1, 0, 1, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 1, 2, 0]
|
|
- [0, 1, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 1, 0, 0, 0, 0]
|
|
- [0, 0, 0, 2, 0, 1, 2, 0]
|
|
- [0, 0, 0, 3, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
col_sums: [2, 0, 4, 0, 2, 2]
|
|
row_sums: [2, 2, 1, 1, 3, 1]
|
|
- !Result
|
|
solution: !Solution
|
|
a:
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 1, 2, 0, 0, 0]
|
|
- [0, 1, 0, 0, 0, 0, 1, 0]
|
|
- [0, 0, 0, 0, 0, 0, 2, 0]
|
|
- [0, 0, 0, 1, 0, 0, 0, 0]
|
|
- [0, 1, 0, 2, 0, 0, 1, 0]
|
|
- [0, 0, 0, 3, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
col_sums: [2, 0, 4, 1, 0, 3]
|
|
row_sums: [2, 2, 1, 1, 3, 1]
|
|
- !Result
|
|
solution: !Solution
|
|
a:
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 1, 0, 0, 1, 0]
|
|
- [0, 0, 0, 2, 0, 0, 2, 0]
|
|
- [0, 1, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 1, 0]
|
|
- [0, 1, 0, 1, 0, 0, 2, 0]
|
|
- [0, 0, 0, 0, 0, 0, 3, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
col_sums: [2, 0, 3, 0, 0, 5]
|
|
row_sums: [2, 2, 1, 1, 3, 1]
|
|
- !Result
|
|
solution: !Solution
|
|
a:
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 1, 0, 1, 0, 0, 0, 0]
|
|
- [0, 0, 0, 2, 0, 0, 1, 0]
|
|
- [0, 0, 0, 3, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 1, 0]
|
|
- [0, 0, 0, 1, 2, 0, 2, 0]
|
|
- [0, 1, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0]
|
|
col_sums: [2, 0, 4, 1, 0, 3]
|
|
row_sums: [2, 2, 1, 1, 3, 1]
|
|
***/
|
|
|
|
% Example battleships problem for battleships.mzn.
|
|
%
|
|
include "battleships.mzn.model";
|
|
|
|
n = 6;
|
|
|
|
a = array2d(ROW, COL,
|
|
[| 0, 0, 0, 0, 0, 0, 0, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, 0
|
|
| 0, 0, 0, 0, 0, 0, 0, 0
|
|
|]
|
|
);
|
|
|
|
constraint a[2, 4] > 0;
|
|
constraint a[3, 7] > 0;
|
|
constraint a[6, 7] > 0;
|
|
|
|
row_sums = [2, 2, 1, 1, _, 1];
|
|
|
|
col_sums = [2, 0, _, _, _, _];
|
|
|
|
n_classes = 3;
|
|
|
|
class_sizes = [3, 2, 1];
|
|
|