this repo has no description
1% RUNS ON mzn20_fd
2% RUNS ON mzn-fzn_fd
3% RUNS ON mzn20_mip
4
5% Regression test.
6% The bounds inferred for absolute values expressions where incorrect in r13710
7% and before.
8
9int: nr; % number of restaurants
10set of int: Restaurant = 1..nr;
11array[Restaurant] of string: name;
12
13array[Restaurant] of 0..910: k; % kilometre position
14set of int: ks = { k[r] | r in Restaurant };
15
16set of Restaurant: first = { min(r in Restaurant where k[r] == pos)(r) | pos in ks };
17
18int: number_of_depots;
19set of int: Depot = 1..number_of_depots;
20array[Depot] of var 0..910: p; % position of depot
21
22constraint forall(d in Depot)(p[d] in ks);
23constraint forall(d in 1..number_of_depots-1)(p[d] < p[d+1]);
24
25solve minimize sum(r in Restaurant)(min(d in Depot)(abs(p[d] - k[r])));
26 %satisfy;
27
28output [ show(p), "\n", show(ks), "\n", show(first), "\n"]++
29 [ if (fix(p[d]) == k[r]) then
30 "depot(" ++ name[r] ++ "," ++ show(p[d]) ++ ").\n"
31 else "" endif | d in Depot, r in first ];
32
33nr = 4;
34name = ["a", "b", "c", "d"];
35k = [4,4,10,13];
36
37number_of_depots = 2;