Generated on Sat Feb 7 2015 02:01:32 for Gecode by doxygen 1.8.9.1
timetabling.cpp
Go to the documentation of this file.
1 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 /*
3  * Main authors:
4  * Guido Tack <tack@gecode.org>
5  *
6  * Copyright:
7  * Guido Tack, 2014
8  *
9  * Last modified:
10  * $Date: 2014-11-04 13:28:32 +0100 (Tue, 04 Nov 2014) $ by $Author: schulte $
11  * $Revision: 14287 $
12  *
13  * This file is part of Gecode, the generic constraint
14  * development environment:
15  * http://www.gecode.org
16  *
17  * Permission is hereby granted, free of charge, to any person obtaining
18  * a copy of this software and associated documentation files (the
19  * "Software"), to deal in the Software without restriction, including
20  * without limitation the rights to use, copy, modify, merge, publish,
21  * distribute, sublicense, and/or sell copies of the Software, and to
22  * permit persons to whom the Software is furnished to do so, subject to
23  * the following conditions:
24  *
25  * The above copyright notice and this permission notice shall be
26  * included in all copies or substantial portions of the Software.
27  *
28  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35  *
36  */
37 
38 #include "test/flatzinc.hh"
39 
40 namespace Test { namespace FlatZinc {
41 
42  namespace {
44  class Create {
45  public:
46 
48  Create(void) {
49  (void) new FlatZincTest("timetabling",
50 std::string("predicate all_different_int(array [int] of var int: x);\n\
51 predicate all_equal_int(array [int] of var int: x);\n\
52 predicate among(var int: n, array [int] of var int: x, set of int: v);\n\
53 predicate array_bool_lq(array [int] of var bool: x, array [int] of var bool: y);\n\
54 predicate array_bool_lt(array [int] of var bool: x, array [int] of var bool: y);\n\
55 predicate array_int_lq(array [int] of var int: x, array [int] of var int: y);\n\
56 predicate array_int_lt(array [int] of var int: x, array [int] of var int: y);\n\
57 predicate array_set_partition(array [int] of var set of int: S, set of int: universe);\n\
58 predicate at_least_int(int: n, array [int] of var int: x, int: v);\n\
59 predicate at_most_int(int: n, array [int] of var int: x, int: v);\n\
60 predicate bool_lin_ge(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
61 predicate bool_lin_gt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
62 predicate bool_lin_lt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
63 predicate bool_lin_ne(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
64 predicate count(array [int] of var int: x, var int: y, var int: c);\n\
65 predicate count_reif(array [int] of var int: x, var int: y, var int: c, var bool: b);\n\
66 predicate cumulatives(array [int] of var int: s, array [int] of var int: d, array [int] of var int: r, var int: b);\n\
67 predicate decreasing_bool(array [int] of var bool: x);\n\
68 predicate decreasing_int(array [int] of var int: x);\n\
69 predicate disjoint(var set of int: s1, var set of int: s2);\n\
70 predicate gecode_array_set_element_union(var set of int: x, array [int] of var set of int: y, var set of int: z);\n\
71 predicate gecode_bin_packing_load(array [int] of var int: l, array [int] of var int: bin, array [int] of int: w, int: minIndex);\n\
72 predicate gecode_circuit(int: offset, array [int] of var int: x);\n\
73 predicate gecode_int_set_channel(array [int] of var int: x, int: xoff, array [int] of var set of int: y, int: yoff);\n\
74 predicate gecode_inverse_set(array [int] of var set of int: f, array [int] of var set of int: invf, int: xoff, int: yoff);\n\
75 predicate gecode_link_set_to_booleans(var set of int: s, array [int] of var bool: b, int: idx);\n\
76 predicate gecode_member_bool_reif(array [int] of var bool: x, var bool: y, var bool: b);\n\
77 predicate gecode_member_int_reif(array [int] of var int: x, var int: y, var bool: b);\n\
78 predicate gecode_nooverlap(array [int] of var int: x, array [int] of var int: w, array [int] of var int: y, array [int] of var int: h);\n\
79 predicate gecode_precede(array [int] of var int: x, int: s, int: t);\n\
80 predicate gecode_precede_set(array [int] of var set of int: x, int: s, int: t);\n\
81 predicate gecode_range(array [int] of var int: x, int: xoff, var set of int: s, var set of int: t);\n\
82 predicate gecode_set_weights(array [int] of int: csi, array [int] of int: cs, var set of int: x, var int: y);\n\
83 predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\
84 predicate global_cardinality_closed(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\
85 predicate global_cardinality_low_up(array [int] of var int: x, array [int] of int: cover, array [int] of int: lbound, array [int] of int: ubound);\n\
86 predicate global_cardinality_low_up_closed(array [int] of var int: x, array [int] of int: cover, array [int] of int: lbound, array [int] of int: ubound);\n\
87 predicate increasing_bool(array [int] of var bool: x);\n\
88 predicate increasing_int(array [int] of var int: x);\n\
89 predicate inverse_offsets(array [int] of var int: f, int: foff, array [int] of var int: invf, int: invfoff);\n\
90 predicate maximum_int(var int: m, array [int] of var int: x);\n\
91 predicate member_bool(array [int] of var bool: x, var bool: y);\n\
92 predicate member_int(array [int] of var int: x, var int: y);\n\
93 predicate minimum_int(var int: m, array [int] of var int: x);\n\
94 predicate nvalue(var int: n, array [int] of var int: x);\n\
95 predicate regular(array [int] of var int: x, int: Q, int: S, array [int, int] of int: d, int: q0, set of int: F);\n\
96 predicate sort(array [int] of var int: x, array [int] of var int: y);\n\
97 predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t);\n\
98 predicate table_int(array [int] of var int: x, array [int, int] of int: t);\n\
99 array [1..80] of int: Cs = [2, 5, 4, 3, 4, 6, 3, 1, 3, 1, 6, 2, 2, 3, 6, 1, 6, 4, 3, 1, 6, 4, 2, 5, 6, 2, 4, 1, 6, 1, 4, 3, 6, 4, 5, 3, 5, 4, 6, 2, 4, 2, 1, 5, 6, 2, 3, 1, 4, 3, 5, 6, 6, 3, 2, 4, 4, 6, 5, 1, 3, 2, 6, 4, 3, 6, 5, 1, 3, 5, 2, 6, 4, 3, 5, 2, 5, 4, 6, 2];\n\
100 var 4..6: INT____00001 :: is_defined_var :: var_is_introduced;\n\
101 var 1..6: INT____00002 :: is_defined_var :: var_is_introduced;\n\
102 var 13..15: INT____00003 :: is_defined_var :: var_is_introduced;\n\
103 var 1..6: INT____00004 :: is_defined_var :: var_is_introduced;\n\
104 var 10..12: INT____00005 :: is_defined_var :: var_is_introduced;\n\
105 var 1..6: INT____00006 :: is_defined_var :: var_is_introduced;\n\
106 var 7..9: INT____00007 :: is_defined_var :: var_is_introduced;\n\
107 var 1..6: INT____00008 :: is_defined_var :: var_is_introduced;\n\
108 var 10..12: INT____00009 :: is_defined_var :: var_is_introduced;\n\
109 var 1..6: INT____00010 :: is_defined_var :: var_is_introduced;\n\
110 var 16..18: INT____00011 :: is_defined_var :: var_is_introduced;\n\
111 var 1..6: INT____00012 :: is_defined_var :: var_is_introduced;\n\
112 var 7..9: INT____00013 :: is_defined_var :: var_is_introduced;\n\
113 var 1..6: INT____00014 :: is_defined_var :: var_is_introduced;\n\
114 var 1..6: INT____00015 :: is_defined_var :: var_is_introduced;\n\
115 var 7..9: INT____00016 :: is_defined_var :: var_is_introduced;\n\
116 var 1..6: INT____00017 :: is_defined_var :: var_is_introduced;\n\
117 var 1..6: INT____00018 :: is_defined_var :: var_is_introduced;\n\
118 var 16..18: INT____00019 :: is_defined_var :: var_is_introduced;\n\
119 var 1..6: INT____00020 :: is_defined_var :: var_is_introduced;\n\
120 var 4..6: INT____00021 :: is_defined_var :: var_is_introduced;\n\
121 var 1..6: INT____00022 :: is_defined_var :: var_is_introduced;\n\
122 var 4..6: INT____00023 :: is_defined_var :: var_is_introduced;\n\
123 var 1..6: INT____00024 :: is_defined_var :: var_is_introduced;\n\
124 var 7..9: INT____00025 :: is_defined_var :: var_is_introduced;\n\
125 var 1..6: INT____00026 :: is_defined_var :: var_is_introduced;\n\
126 var 16..18: INT____00027 :: is_defined_var :: var_is_introduced;\n\
127 var 1..6: INT____00028 :: is_defined_var :: var_is_introduced;\n\
128 var 1..6: INT____00029 :: is_defined_var :: var_is_introduced;\n\
129 var 16..18: INT____00030 :: is_defined_var :: var_is_introduced;\n\
130 var 1..6: INT____00031 :: is_defined_var :: var_is_introduced;\n\
131 var 10..12: INT____00032 :: is_defined_var :: var_is_introduced;\n\
132 var 1..6: INT____00033 :: is_defined_var :: var_is_introduced;\n\
133 var 7..9: INT____00034 :: is_defined_var :: var_is_introduced;\n\
134 var 1..6: INT____00035 :: is_defined_var :: var_is_introduced;\n\
135 var 1..6: INT____00036 :: is_defined_var :: var_is_introduced;\n\
136 var 16..18: INT____00037 :: is_defined_var :: var_is_introduced;\n\
137 var 1..6: INT____00038 :: is_defined_var :: var_is_introduced;\n\
138 var 10..12: INT____00039 :: is_defined_var :: var_is_introduced;\n\
139 var 1..6: INT____00040 :: is_defined_var :: var_is_introduced;\n\
140 var 4..6: INT____00041 :: is_defined_var :: var_is_introduced;\n\
141 var 1..6: INT____00042 :: is_defined_var :: var_is_introduced;\n\
142 var 13..15: INT____00043 :: is_defined_var :: var_is_introduced;\n\
143 var 1..6: INT____00044 :: is_defined_var :: var_is_introduced;\n\
144 var 16..18: INT____00045 :: is_defined_var :: var_is_introduced;\n\
145 var 1..6: INT____00046 :: is_defined_var :: var_is_introduced;\n\
146 var 4..6: INT____00047 :: is_defined_var :: var_is_introduced;\n\
147 var 1..6: INT____00048 :: is_defined_var :: var_is_introduced;\n\
148 var 10..12: INT____00049 :: is_defined_var :: var_is_introduced;\n\
149 var 1..6: INT____00050 :: is_defined_var :: var_is_introduced;\n\
150 var 1..6: INT____00051 :: is_defined_var :: var_is_introduced;\n\
151 var 16..18: INT____00052 :: is_defined_var :: var_is_introduced;\n\
152 var 1..6: INT____00053 :: is_defined_var :: var_is_introduced;\n\
153 var 1..6: INT____00054 :: is_defined_var :: var_is_introduced;\n\
154 var 10..12: INT____00055 :: is_defined_var :: var_is_introduced;\n\
155 var 1..6: INT____00056 :: is_defined_var :: var_is_introduced;\n\
156 var 7..9: INT____00057 :: is_defined_var :: var_is_introduced;\n\
157 var 1..6: INT____00058 :: is_defined_var :: var_is_introduced;\n\
158 var 16..18: INT____00059 :: is_defined_var :: var_is_introduced;\n\
159 var 1..6: INT____00060 :: is_defined_var :: var_is_introduced;\n\
160 var 10..12: INT____00061 :: is_defined_var :: var_is_introduced;\n\
161 var 1..6: INT____00062 :: is_defined_var :: var_is_introduced;\n\
162 var 13..15: INT____00063 :: is_defined_var :: var_is_introduced;\n\
163 var 1..6: INT____00064 :: is_defined_var :: var_is_introduced;\n\
164 var 7..9: INT____00065 :: is_defined_var :: var_is_introduced;\n\
165 var 1..6: INT____00066 :: is_defined_var :: var_is_introduced;\n\
166 var 13..15: INT____00067 :: is_defined_var :: var_is_introduced;\n\
167 var 1..6: INT____00068 :: is_defined_var :: var_is_introduced;\n\
168 var 10..12: INT____00069 :: is_defined_var :: var_is_introduced;\n\
169 var 1..6: INT____00070 :: is_defined_var :: var_is_introduced;\n\
170 var 16..18: INT____00071 :: is_defined_var :: var_is_introduced;\n\
171 var 1..6: INT____00072 :: is_defined_var :: var_is_introduced;\n\
172 var 4..6: INT____00073 :: is_defined_var :: var_is_introduced;\n\
173 var 1..6: INT____00074 :: is_defined_var :: var_is_introduced;\n\
174 var 10..12: INT____00075 :: is_defined_var :: var_is_introduced;\n\
175 var 1..6: INT____00076 :: is_defined_var :: var_is_introduced;\n\
176 var 4..6: INT____00077 :: is_defined_var :: var_is_introduced;\n\
177 var 1..6: INT____00078 :: is_defined_var :: var_is_introduced;\n\
178 var 1..6: INT____00079 :: is_defined_var :: var_is_introduced;\n\
179 var 13..15: INT____00080 :: is_defined_var :: var_is_introduced;\n\
180 var 1..6: INT____00081 :: is_defined_var :: var_is_introduced;\n\
181 var 16..18: INT____00082 :: is_defined_var :: var_is_introduced;\n\
182 var 1..6: INT____00083 :: is_defined_var :: var_is_introduced;\n\
183 var 4..6: INT____00084 :: is_defined_var :: var_is_introduced;\n\
184 var 1..6: INT____00085 :: is_defined_var :: var_is_introduced;\n\
185 var 7..9: INT____00086 :: is_defined_var :: var_is_introduced;\n\
186 var 1..6: INT____00087 :: is_defined_var :: var_is_introduced;\n\
187 var 1..6: INT____00088 :: is_defined_var :: var_is_introduced;\n\
188 var 10..12: INT____00089 :: is_defined_var :: var_is_introduced;\n\
189 var 1..6: INT____00090 :: is_defined_var :: var_is_introduced;\n\
190 var 7..9: INT____00091 :: is_defined_var :: var_is_introduced;\n\
191 var 1..6: INT____00092 :: is_defined_var :: var_is_introduced;\n\
192 var 13..15: INT____00093 :: is_defined_var :: var_is_introduced;\n\
193 var 1..6: INT____00094 :: is_defined_var :: var_is_introduced;\n\
194 var 16..18: INT____00095 :: is_defined_var :: var_is_introduced;\n\
195 var 1..6: INT____00096 :: is_defined_var :: var_is_introduced;\n\
196 var 16..18: INT____00097 :: is_defined_var :: var_is_introduced;\n\
197 var 1..6: INT____00098 :: is_defined_var :: var_is_introduced;\n\
198 var 7..9: INT____00099 :: is_defined_var :: var_is_introduced;\n\
199 var 1..6: INT____00100 :: is_defined_var :: var_is_introduced;\n\
200 var 4..6: INT____00101 :: is_defined_var :: var_is_introduced;\n\
201 var 1..6: INT____00102 :: is_defined_var :: var_is_introduced;\n\
202 var 10..12: INT____00103 :: is_defined_var :: var_is_introduced;\n\
203 var 1..6: INT____00104 :: is_defined_var :: var_is_introduced;\n\
204 var 10..12: INT____00105 :: is_defined_var :: var_is_introduced;\n\
205 var 1..6: INT____00106 :: is_defined_var :: var_is_introduced;\n\
206 var 16..18: INT____00107 :: is_defined_var :: var_is_introduced;\n\
207 var 1..6: INT____00108 :: is_defined_var :: var_is_introduced;\n\
208 var 13..15: INT____00109 :: is_defined_var :: var_is_introduced;\n\
209 var 1..6: INT____00110 :: is_defined_var :: var_is_introduced;\n\
210 var 1..6: INT____00111 :: is_defined_var :: var_is_introduced;\n\
211 var 7..9: INT____00112 :: is_defined_var :: var_is_introduced;\n\
212 var 1..6: INT____00113 :: is_defined_var :: var_is_introduced;\n\
213 var 4..6: INT____00114 :: is_defined_var :: var_is_introduced;\n\
214 var 1..6: INT____00115 :: is_defined_var :: var_is_introduced;\n\
215 var 16..18: INT____00116 :: is_defined_var :: var_is_introduced;\n\
216 var 1..6: INT____00117 :: is_defined_var :: var_is_introduced;\n\
217 var 10..12: INT____00118 :: is_defined_var :: var_is_introduced;\n\
218 var 1..6: INT____00119 :: is_defined_var :: var_is_introduced;\n\
219 var 7..9: INT____00120 :: is_defined_var :: var_is_introduced;\n\
220 var 1..6: INT____00121 :: is_defined_var :: var_is_introduced;\n\
221 var 16..18: INT____00122 :: is_defined_var :: var_is_introduced;\n\
222 var 1..6: INT____00123 :: is_defined_var :: var_is_introduced;\n\
223 var 13..15: INT____00124 :: is_defined_var :: var_is_introduced;\n\
224 var 1..6: INT____00125 :: is_defined_var :: var_is_introduced;\n\
225 var 1..6: INT____00126 :: is_defined_var :: var_is_introduced;\n\
226 var 7..9: INT____00127 :: is_defined_var :: var_is_introduced;\n\
227 var 1..6: INT____00128 :: is_defined_var :: var_is_introduced;\n\
228 var 13..15: INT____00129 :: is_defined_var :: var_is_introduced;\n\
229 var 1..6: INT____00130 :: is_defined_var :: var_is_introduced;\n\
230 var 4..6: INT____00131 :: is_defined_var :: var_is_introduced;\n\
231 var 1..6: INT____00132 :: is_defined_var :: var_is_introduced;\n\
232 var 16..18: INT____00133 :: is_defined_var :: var_is_introduced;\n\
233 var 1..6: INT____00134 :: is_defined_var :: var_is_introduced;\n\
234 var 10..12: INT____00135 :: is_defined_var :: var_is_introduced;\n\
235 var 1..6: INT____00136 :: is_defined_var :: var_is_introduced;\n\
236 var 7..9: INT____00137 :: is_defined_var :: var_is_introduced;\n\
237 var 1..6: INT____00138 :: is_defined_var :: var_is_introduced;\n\
238 var 13..15: INT____00139 :: is_defined_var :: var_is_introduced;\n\
239 var 1..6: INT____00140 :: is_defined_var :: var_is_introduced;\n\
240 var 4..6: INT____00141 :: is_defined_var :: var_is_introduced;\n\
241 var 1..6: INT____00142 :: is_defined_var :: var_is_introduced;\n\
242 var 13..15: INT____00143 :: is_defined_var :: var_is_introduced;\n\
243 var 1..6: INT____00144 :: is_defined_var :: var_is_introduced;\n\
244 var 10..12: INT____00145 :: is_defined_var :: var_is_introduced;\n\
245 var 1..6: INT____00146 :: is_defined_var :: var_is_introduced;\n\
246 var 16..18: INT____00147 :: is_defined_var :: var_is_introduced;\n\
247 var 1..6: INT____00148 :: is_defined_var :: var_is_introduced;\n\
248 var 4..6: INT____00149 :: is_defined_var :: var_is_introduced;\n\
249 var 1..6: INT____00150 :: is_defined_var :: var_is_introduced;\n\
250 array [1..80] of var 1..3: x :: output_array([1..20, 1..4]);\n")+"\
251 array [1..18] of var 1..6: z :: output_array([1..6, 1..3]);\n\
252 constraint all_different_int([INT____00002, INT____00004, INT____00006, INT____00008]);\n\
253 constraint all_different_int([INT____00010, INT____00012, INT____00014, INT____00015]);\n\
254 constraint all_different_int([INT____00017, INT____00018, INT____00020, INT____00022]);\n\
255 constraint all_different_int([INT____00024, INT____00026, INT____00028, INT____00029]);\n\
256 constraint all_different_int([INT____00031, INT____00033, INT____00035, INT____00036]);\n\
257 constraint all_different_int([INT____00038, INT____00040, INT____00042, INT____00044]);\n\
258 constraint all_different_int([INT____00046, INT____00048, INT____00050, INT____00051]);\n\
259 constraint all_different_int([INT____00053, INT____00054, INT____00056, INT____00058]);\n\
260 constraint all_different_int([INT____00060, INT____00062, INT____00064, INT____00066]);\n\
261 constraint all_different_int([INT____00068, INT____00070, INT____00072, INT____00074]);\n\
262 constraint all_different_int([INT____00076, INT____00078, INT____00079, INT____00081]);\n\
263 constraint all_different_int([INT____00083, INT____00085, INT____00087, INT____00088]);\n\
264 constraint all_different_int([INT____00090, INT____00092, INT____00094, INT____00096]);\n\
265 constraint all_different_int([INT____00098, INT____00100, INT____00102, INT____00104]);\n\
266 constraint all_different_int([INT____00106, INT____00108, INT____00110, INT____00111]);\n\
267 constraint all_different_int([INT____00113, INT____00115, INT____00117, INT____00119]);\n\
268 constraint all_different_int([INT____00121, INT____00123, INT____00125, INT____00126]);\n\
269 constraint all_different_int([INT____00128, INT____00130, INT____00132, INT____00134]);\n\
270 constraint all_different_int([INT____00136, INT____00138, INT____00140, INT____00142]);\n\
271 constraint all_different_int([INT____00144, INT____00146, INT____00148, INT____00150]);\n\
272 constraint array_var_int_element(INT____00001, z, INT____00002) :: defines_var(INT____00002);\n\
273 constraint array_var_int_element(INT____00003, z, INT____00004) :: defines_var(INT____00004);\n\
274 constraint array_var_int_element(INT____00005, z, INT____00006) :: defines_var(INT____00006);\n\
275 constraint array_var_int_element(INT____00007, z, INT____00008) :: defines_var(INT____00008);\n\
276 constraint array_var_int_element(INT____00009, z, INT____00010) :: defines_var(INT____00010);\n\
277 constraint array_var_int_element(INT____00011, z, INT____00012) :: defines_var(INT____00012);\n\
278 constraint array_var_int_element(INT____00013, z, INT____00014) :: defines_var(INT____00014);\n\
279 constraint array_var_int_element(INT____00016, z, INT____00017) :: defines_var(INT____00017);\n\
280 constraint array_var_int_element(INT____00019, z, INT____00020) :: defines_var(INT____00020);\n\
281 constraint array_var_int_element(INT____00021, z, INT____00022) :: defines_var(INT____00022);\n\
282 constraint array_var_int_element(INT____00023, z, INT____00024) :: defines_var(INT____00024);\n\
283 constraint array_var_int_element(INT____00025, z, INT____00026) :: defines_var(INT____00026);\n\
284 constraint array_var_int_element(INT____00027, z, INT____00028) :: defines_var(INT____00028);\n\
285 constraint array_var_int_element(INT____00030, z, INT____00031) :: defines_var(INT____00031);\n\
286 constraint array_var_int_element(INT____00032, z, INT____00033) :: defines_var(INT____00033);\n\
287 constraint array_var_int_element(INT____00034, z, INT____00035) :: defines_var(INT____00035);\n\
288 constraint array_var_int_element(INT____00037, z, INT____00038) :: defines_var(INT____00038);\n\
289 constraint array_var_int_element(INT____00039, z, INT____00040) :: defines_var(INT____00040);\n\
290 constraint array_var_int_element(INT____00041, z, INT____00042) :: defines_var(INT____00042);\n\
291 constraint array_var_int_element(INT____00043, z, INT____00044) :: defines_var(INT____00044);\n\
292 constraint array_var_int_element(INT____00045, z, INT____00046) :: defines_var(INT____00046);\n\
293 constraint array_var_int_element(INT____00047, z, INT____00048) :: defines_var(INT____00048);\n\
294 constraint array_var_int_element(INT____00049, z, INT____00050) :: defines_var(INT____00050);\n\
295 constraint array_var_int_element(INT____00052, z, INT____00053) :: defines_var(INT____00053);\n\
296 constraint array_var_int_element(INT____00055, z, INT____00056) :: defines_var(INT____00056);\n\
297 constraint array_var_int_element(INT____00057, z, INT____00058) :: defines_var(INT____00058);\n\
298 constraint array_var_int_element(INT____00059, z, INT____00060) :: defines_var(INT____00060);\n\
299 constraint array_var_int_element(INT____00061, z, INT____00062) :: defines_var(INT____00062);\n\
300 constraint array_var_int_element(INT____00063, z, INT____00064) :: defines_var(INT____00064);\n\
301 constraint array_var_int_element(INT____00065, z, INT____00066) :: defines_var(INT____00066);\n\
302 constraint array_var_int_element(INT____00067, z, INT____00068) :: defines_var(INT____00068);\n\
303 constraint array_var_int_element(INT____00069, z, INT____00070) :: defines_var(INT____00070);\n\
304 constraint array_var_int_element(INT____00071, z, INT____00072) :: defines_var(INT____00072);\n\
305 constraint array_var_int_element(INT____00073, z, INT____00074) :: defines_var(INT____00074);\n\
306 constraint array_var_int_element(INT____00075, z, INT____00076) :: defines_var(INT____00076);\n\
307 constraint array_var_int_element(INT____00077, z, INT____00078) :: defines_var(INT____00078);\n\
308 constraint array_var_int_element(INT____00080, z, INT____00081) :: defines_var(INT____00081);\n\
309 constraint array_var_int_element(INT____00082, z, INT____00083) :: defines_var(INT____00083);\n\
310 constraint array_var_int_element(INT____00084, z, INT____00085) :: defines_var(INT____00085);\n\
311 constraint array_var_int_element(INT____00086, z, INT____00087) :: defines_var(INT____00087);\n\
312 constraint array_var_int_element(INT____00089, z, INT____00090) :: defines_var(INT____00090);\n\
313 constraint array_var_int_element(INT____00091, z, INT____00092) :: defines_var(INT____00092);\n\
314 constraint array_var_int_element(INT____00093, z, INT____00094) :: defines_var(INT____00094);\n\
315 constraint array_var_int_element(INT____00095, z, INT____00096) :: defines_var(INT____00096);\n\
316 constraint array_var_int_element(INT____00097, z, INT____00098) :: defines_var(INT____00098);\n\
317 constraint array_var_int_element(INT____00099, z, INT____00100) :: defines_var(INT____00100);\n\
318 constraint array_var_int_element(INT____00101, z, INT____00102) :: defines_var(INT____00102);\n\
319 constraint array_var_int_element(INT____00103, z, INT____00104) :: defines_var(INT____00104);\n\
320 constraint array_var_int_element(INT____00105, z, INT____00106) :: defines_var(INT____00106);\n\
321 constraint array_var_int_element(INT____00107, z, INT____00108) :: defines_var(INT____00108);\n\
322 constraint array_var_int_element(INT____00109, z, INT____00110) :: defines_var(INT____00110);\n\
323 constraint array_var_int_element(INT____00112, z, INT____00113) :: defines_var(INT____00113);\n\
324 constraint array_var_int_element(INT____00114, z, INT____00115) :: defines_var(INT____00115);\n\
325 constraint array_var_int_element(INT____00116, z, INT____00117) :: defines_var(INT____00117);\n\
326 constraint array_var_int_element(INT____00118, z, INT____00119) :: defines_var(INT____00119);\n\
327 constraint array_var_int_element(INT____00120, z, INT____00121) :: defines_var(INT____00121);\n\
328 constraint array_var_int_element(INT____00122, z, INT____00123) :: defines_var(INT____00123);\n\
329 constraint array_var_int_element(INT____00124, z, INT____00125) :: defines_var(INT____00125);\n\
330 constraint array_var_int_element(INT____00127, z, INT____00128) :: defines_var(INT____00128);\n\
331 constraint array_var_int_element(INT____00129, z, INT____00130) :: defines_var(INT____00130);\n\
332 constraint array_var_int_element(INT____00131, z, INT____00132) :: defines_var(INT____00132);\n\
333 constraint array_var_int_element(INT____00133, z, INT____00134) :: defines_var(INT____00134);\n\
334 constraint array_var_int_element(INT____00135, z, INT____00136) :: defines_var(INT____00136);\n\
335 constraint array_var_int_element(INT____00137, z, INT____00138) :: defines_var(INT____00138);\n\
336 constraint array_var_int_element(INT____00139, z, INT____00140) :: defines_var(INT____00140);\n\
337 constraint array_var_int_element(INT____00141, z, INT____00142) :: defines_var(INT____00142);\n\
338 constraint array_var_int_element(INT____00143, z, INT____00144) :: defines_var(INT____00144);\n\
339 constraint array_var_int_element(INT____00145, z, INT____00146) :: defines_var(INT____00146);\n\
340 constraint array_var_int_element(INT____00147, z, INT____00148) :: defines_var(INT____00148);\n\
341 constraint array_var_int_element(INT____00149, z, INT____00150) :: defines_var(INT____00150);\n\
342 constraint array_var_int_element(x[8], z, INT____00015) :: defines_var(INT____00015);\n\
343 constraint array_var_int_element(x[10], z, INT____00018) :: defines_var(INT____00018);\n\
344 constraint array_var_int_element(x[16], z, INT____00029) :: defines_var(INT____00029);\n\
345 constraint array_var_int_element(x[20], z, INT____00036) :: defines_var(INT____00036);\n\
346 constraint array_var_int_element(x[28], z, INT____00051) :: defines_var(INT____00051);\n\
347 constraint array_var_int_element(x[30], z, INT____00054) :: defines_var(INT____00054);\n\
348 constraint array_var_int_element(x[43], z, INT____00079) :: defines_var(INT____00079);\n\
349 constraint array_var_int_element(x[48], z, INT____00088) :: defines_var(INT____00088);\n\
350 constraint array_var_int_element(x[60], z, INT____00111) :: defines_var(INT____00111);\n\
351 constraint array_var_int_element(x[68], z, INT____00126) :: defines_var(INT____00126);\n\
352 constraint int_lin_eq([-1, 1], [INT____00001, x[1]], -3) :: defines_var(INT____00001) :: domain;\n\
353 constraint int_lin_eq([-1, 1], [INT____00003, x[2]], -12) :: defines_var(INT____00003) :: domain;\n\
354 constraint int_lin_eq([-1, 1], [INT____00005, x[3]], -9) :: defines_var(INT____00005) :: domain;\n\
355 constraint int_lin_eq([-1, 1], [INT____00007, x[4]], -6) :: defines_var(INT____00007) :: domain;\n\
356 constraint int_lin_eq([-1, 1], [INT____00009, x[5]], -9) :: defines_var(INT____00009) :: domain;\n\
357 constraint int_lin_eq([-1, 1], [INT____00011, x[6]], -15) :: defines_var(INT____00011) :: domain;\n\
358 constraint int_lin_eq([-1, 1], [INT____00013, x[7]], -6) :: defines_var(INT____00013) :: domain;\n\
359 constraint int_lin_eq([-1, 1], [INT____00016, x[9]], -6) :: defines_var(INT____00016) :: domain;\n\
360 constraint int_lin_eq([-1, 1], [INT____00019, x[11]], -15) :: defines_var(INT____00019) :: domain;\n\
361 constraint int_lin_eq([-1, 1], [INT____00021, x[12]], -3) :: defines_var(INT____00021) :: domain;\n\
362 constraint int_lin_eq([-1, 1], [INT____00023, x[13]], -3) :: defines_var(INT____00023) :: domain;\n\
363 constraint int_lin_eq([-1, 1], [INT____00025, x[14]], -6) :: defines_var(INT____00025) :: domain;\n\
364 constraint int_lin_eq([-1, 1], [INT____00027, x[15]], -15) :: defines_var(INT____00027) :: domain;\n\
365 constraint int_lin_eq([-1, 1], [INT____00030, x[17]], -15) :: defines_var(INT____00030) :: domain;\n\
366 constraint int_lin_eq([-1, 1], [INT____00032, x[18]], -9) :: defines_var(INT____00032) :: domain;\n\
367 constraint int_lin_eq([-1, 1], [INT____00034, x[19]], -6) :: defines_var(INT____00034) :: domain;\n\
368 constraint int_lin_eq([-1, 1], [INT____00037, x[21]], -15) :: defines_var(INT____00037) :: domain;\n\
369 constraint int_lin_eq([-1, 1], [INT____00039, x[22]], -9) :: defines_var(INT____00039) :: domain;\n\
370 constraint int_lin_eq([-1, 1], [INT____00041, x[23]], -3) :: defines_var(INT____00041) :: domain;\n\
371 constraint int_lin_eq([-1, 1], [INT____00043, x[24]], -12) :: defines_var(INT____00043) :: domain;\n\
372 constraint int_lin_eq([-1, 1], [INT____00045, x[25]], -15) :: defines_var(INT____00045) :: domain;\n\
373 constraint int_lin_eq([-1, 1], [INT____00047, x[26]], -3) :: defines_var(INT____00047) :: domain;\n\
374 constraint int_lin_eq([-1, 1], [INT____00049, x[27]], -9) :: defines_var(INT____00049) :: domain;\n\
375 constraint int_lin_eq([-1, 1], [INT____00052, x[29]], -15) :: defines_var(INT____00052) :: domain;\n\
376 constraint int_lin_eq([-1, 1], [INT____00055, x[31]], -9) :: defines_var(INT____00055) :: domain;\n\
377 constraint int_lin_eq([-1, 1], [INT____00057, x[32]], -6) :: defines_var(INT____00057) :: domain;\n\
378 constraint int_lin_eq([-1, 1], [INT____00059, x[33]], -15) :: defines_var(INT____00059) :: domain;\n\
379 constraint int_lin_eq([-1, 1], [INT____00061, x[34]], -9) :: defines_var(INT____00061) :: domain;\n\
380 constraint int_lin_eq([-1, 1], [INT____00063, x[35]], -12) :: defines_var(INT____00063) :: domain;\n\
381 constraint int_lin_eq([-1, 1], [INT____00065, x[36]], -6) :: defines_var(INT____00065) :: domain;\n\
382 constraint int_lin_eq([-1, 1], [INT____00067, x[37]], -12) :: defines_var(INT____00067) :: domain;\n\
383 constraint int_lin_eq([-1, 1], [INT____00069, x[38]], -9) :: defines_var(INT____00069) :: domain;\n\
384 constraint int_lin_eq([-1, 1], [INT____00071, x[39]], -15) :: defines_var(INT____00071) :: domain;\n\
385 constraint int_lin_eq([-1, 1], [INT____00073, x[40]], -3) :: defines_var(INT____00073) :: domain;\n\
386 constraint int_lin_eq([-1, 1], [INT____00075, x[41]], -9) :: defines_var(INT____00075) :: domain;\n\
387 constraint int_lin_eq([-1, 1], [INT____00077, x[42]], -3) :: defines_var(INT____00077) :: domain;\n\
388 constraint int_lin_eq([-1, 1], [INT____00080, x[44]], -12) :: defines_var(INT____00080) :: domain;\n\
389 constraint int_lin_eq([-1, 1], [INT____00082, x[45]], -15) :: defines_var(INT____00082) :: domain;\n\
390 constraint int_lin_eq([-1, 1], [INT____00084, x[46]], -3) :: defines_var(INT____00084) :: domain;\n\
391 constraint int_lin_eq([-1, 1], [INT____00086, x[47]], -6) :: defines_var(INT____00086) :: domain;\n\
392 constraint int_lin_eq([-1, 1], [INT____00089, x[49]], -9) :: defines_var(INT____00089) :: domain;\n\
393 constraint int_lin_eq([-1, 1], [INT____00091, x[50]], -6) :: defines_var(INT____00091) :: domain;\n\
394 constraint int_lin_eq([-1, 1], [INT____00093, x[51]], -12) :: defines_var(INT____00093) :: domain;\n\
395 constraint int_lin_eq([-1, 1], [INT____00095, x[52]], -15) :: defines_var(INT____00095) :: domain;\n\
396 constraint int_lin_eq([-1, 1], [INT____00097, x[53]], -15) :: defines_var(INT____00097) :: domain;\n\
397 constraint int_lin_eq([-1, 1], [INT____00099, x[54]], -6) :: defines_var(INT____00099) :: domain;\n\
398 constraint int_lin_eq([-1, 1], [INT____00101, x[55]], -3) :: defines_var(INT____00101) :: domain;\n\
399 constraint int_lin_eq([-1, 1], [INT____00103, x[56]], -9) :: defines_var(INT____00103) :: domain;\n\
400 constraint int_lin_eq([-1, 1], [INT____00105, x[57]], -9) :: defines_var(INT____00105) :: domain;\n\
401 constraint int_lin_eq([-1, 1], [INT____00107, x[58]], -15) :: defines_var(INT____00107) :: domain;\n\
402 constraint int_lin_eq([-1, 1], [INT____00109, x[59]], -12) :: defines_var(INT____00109) :: domain;\n\
403 constraint int_lin_eq([-1, 1], [INT____00112, x[61]], -6) :: defines_var(INT____00112) :: domain;\n\
404 constraint int_lin_eq([-1, 1], [INT____00114, x[62]], -3) :: defines_var(INT____00114) :: domain;\n\
405 constraint int_lin_eq([-1, 1], [INT____00116, x[63]], -15) :: defines_var(INT____00116) :: domain;\n\
406 constraint int_lin_eq([-1, 1], [INT____00118, x[64]], -9) :: defines_var(INT____00118) :: domain;\n\
407 constraint int_lin_eq([-1, 1], [INT____00120, x[65]], -6) :: defines_var(INT____00120) :: domain;\n\
408 constraint int_lin_eq([-1, 1], [INT____00122, x[66]], -15) :: defines_var(INT____00122) :: domain;\n\
409 constraint int_lin_eq([-1, 1], [INT____00124, x[67]], -12) :: defines_var(INT____00124) :: domain;\n\
410 constraint int_lin_eq([-1, 1], [INT____00127, x[69]], -6) :: defines_var(INT____00127) :: domain;\n\
411 constraint int_lin_eq([-1, 1], [INT____00129, x[70]], -12) :: defines_var(INT____00129) :: domain;\n\
412 constraint int_lin_eq([-1, 1], [INT____00131, x[71]], -3) :: defines_var(INT____00131) :: domain;\n\
413 constraint int_lin_eq([-1, 1], [INT____00133, x[72]], -15) :: defines_var(INT____00133) :: domain;\n\
414 constraint int_lin_eq([-1, 1], [INT____00135, x[73]], -9) :: defines_var(INT____00135) :: domain;\n\
415 constraint int_lin_eq([-1, 1], [INT____00137, x[74]], -6) :: defines_var(INT____00137) :: domain;\n\
416 constraint int_lin_eq([-1, 1], [INT____00139, x[75]], -12) :: defines_var(INT____00139) :: domain;\n\
417 constraint int_lin_eq([-1, 1], [INT____00141, x[76]], -3) :: defines_var(INT____00141) :: domain;\n\
418 constraint int_lin_eq([-1, 1], [INT____00143, x[77]], -12) :: defines_var(INT____00143) :: domain;\n\
419 constraint int_lin_eq([-1, 1], [INT____00145, x[78]], -9) :: defines_var(INT____00145) :: domain;\n\
420 constraint int_lin_eq([-1, 1], [INT____00147, x[79]], -15) :: defines_var(INT____00147) :: domain;\n\
421 constraint int_lin_eq([-1, 1], [INT____00149, x[80]], -3) :: defines_var(INT____00149) :: domain;\n\
422 solve satisfy;\n\
423 ", "x = array2d(1..20, 1..4, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);\n\
424 z = array2d(1..6, 1..3, [6, 1, 1, 4, 1, 1, 3, 1, 1, 2, 1, 1, 5, 1, 1, 1, 1, 1]);\n\
425 ----------\n\
426 ");
427  }
428  };
429 
430  Create c;
431  }
432 
433 }}
434 
435 // STATISTICS: test-flatzinc
Gecode::FloatVal c(-8, 8)
General test support.
Definition: afc.cpp:43