55 lines
1.4 KiB
MiniZinc
55 lines
1.4 KiB
MiniZinc
/***
|
|
!Test
|
|
expected:
|
|
- !Result
|
|
solution: !Solution
|
|
a:
|
|
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0]
|
|
- [0, 0, 1, 2, 3, 4, 0, 1, 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]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 2, 0, 0, 1, 2, 3, 0, 1, 2, 0]
|
|
- [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
- [0, 0, 0, 0, 1, 2, 0, 1, 0, 1, 0, 0]
|
|
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
col_sums: [1, 4, 1, 2, 3, 1, 3, 0, 4, 1]
|
|
row_sums: [2, 1, 5, 0, 0, 0, 1, 6, 1, 4]
|
|
***/
|
|
|
|
% Example battleships problem for bs.mzn.
|
|
%
|
|
include "battleships.mzn.model";
|
|
|
|
n = 10;
|
|
|
|
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
|
|
| 0, _, _, _, _, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, 0, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, _, _, _, _, 0
|
|
| 0, _, _, _, _, _, _, _, _, _, _, 0
|
|
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
|]
|
|
);
|
|
|
|
constraint a[3, 10] > 1;
|
|
|
|
row_sums = [2, 1, 5, 0, 0, 0, 1, 6, 1, 4];
|
|
|
|
col_sums = [1, 4, 1, 2, 3, 1, 3, 0, 4, 1];
|
|
|
|
n_classes = 4;
|
|
|
|
class_sizes = [4, 3, 2, 1];
|
|
|