Generated on Thu Apr 11 13:59:21 2019 for Gecode by doxygen 1.6.3

timetabling.cpp

Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
00002 /*
00003  *  Main authors:
00004  *     Guido Tack <tack@gecode.org>
00005  *
00006  *  Copyright:
00007  *     Guido Tack, 2014
00008  *
00009  *  This file is part of Gecode, the generic constraint
00010  *  development environment:
00011  *     http://www.gecode.org
00012  *
00013  *  Permission is hereby granted, free of charge, to any person obtaining
00014  *  a copy of this software and associated documentation files (the
00015  *  "Software"), to deal in the Software without restriction, including
00016  *  without limitation the rights to use, copy, modify, merge, publish,
00017  *  distribute, sublicense, and/or sell copies of the Software, and to
00018  *  permit persons to whom the Software is furnished to do so, subject to
00019  *  the following conditions:
00020  *
00021  *  The above copyright notice and this permission notice shall be
00022  *  included in all copies or substantial portions of the Software.
00023  *
00024  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00025  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00026  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00027  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00028  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00029  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00030  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00031  *
00032  */
00033 
00034 #include "test/flatzinc.hh"
00035 
00036 namespace Test { namespace FlatZinc {
00037 
00038   namespace {
00040     class Create {
00041     public:
00042 
00044       Create(void) {
00045         (void) new FlatZincTest("timetabling",
00046 std::string("predicate all_different_int(array [int] of var int: x);\n\
00047 predicate all_equal_int(array [int] of var int: x);\n\
00048 predicate among(var int: n, array [int] of var int: x, set of int: v);\n\
00049 predicate array_bool_lq(array [int] of var bool: x, array [int] of var bool: y);\n\
00050 predicate array_bool_lt(array [int] of var bool: x, array [int] of var bool: y);\n\
00051 predicate array_int_lq(array [int] of var int: x, array [int] of var int: y);\n\
00052 predicate array_int_lt(array [int] of var int: x, array [int] of var int: y);\n\
00053 predicate array_set_partition(array [int] of var set of int: S, set of int: universe);\n\
00054 predicate at_least_int(int: n, array [int] of var int: x, int: v);\n\
00055 predicate at_most_int(int: n, array [int] of var int: x, int: v);\n\
00056 predicate bool_lin_ge(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
00057 predicate bool_lin_gt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
00058 predicate bool_lin_lt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
00059 predicate bool_lin_ne(array [int] of int: a, array [int] of var bool: x, var int: c);\n\
00060 predicate count(array [int] of var int: x, var int: y, var int: c);\n\
00061 predicate count_reif(array [int] of var int: x, var int: y, var int: c, var bool: b);\n\
00062 predicate cumulatives(array [int] of var int: s, array [int] of var int: d, array [int] of var int: r, var int: b);\n\
00063 predicate decreasing_bool(array [int] of var bool: x);\n\
00064 predicate decreasing_int(array [int] of var int: x);\n\
00065 predicate disjoint(var set of int: s1, var set of int: s2);\n\
00066 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\
00067 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\
00068 predicate gecode_circuit(int: offset, array [int] of var int: x);\n\
00069 predicate gecode_int_set_channel(array [int] of var int: x, int: xoff, array [int] of var set of int: y, int: yoff);\n\
00070 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\
00071 predicate gecode_link_set_to_booleans(var set of int: s, array [int] of var bool: b, int: idx);\n\
00072 predicate gecode_member_bool_reif(array [int] of var bool: x, var bool: y, var bool: b);\n\
00073 predicate gecode_member_int_reif(array [int] of var int: x, var int: y, var bool: b);\n\
00074 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\
00075 predicate gecode_precede(array [int] of var int: x, int: s, int: t);\n\
00076 predicate gecode_precede_set(array [int] of var set of int: x, int: s, int: t);\n\
00077 predicate gecode_range(array [int] of var int: x, int: xoff, var set of int: s, var set of int: t);\n\
00078 predicate gecode_set_weights(array [int] of int: csi, array [int] of int: cs, var set of int: x, var int: y);\n\
00079 predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\
00080 predicate global_cardinality_closed(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\
00081 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\
00082 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\
00083 predicate increasing_bool(array [int] of var bool: x);\n\
00084 predicate increasing_int(array [int] of var int: x);\n\
00085 predicate inverse_offsets(array [int] of var int: f, int: foff, array [int] of var int: invf, int: invfoff);\n\
00086 predicate maximum_int(var int: m, array [int] of var int: x);\n\
00087 predicate member_bool(array [int] of var bool: x, var bool: y);\n\
00088 predicate member_int(array [int] of var int: x, var int: y);\n\
00089 predicate minimum_int(var int: m, array [int] of var int: x);\n\
00090 predicate nvalue(var int: n, array [int] of var int: x);\n\
00091 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\
00092 predicate sort(array [int] of var int: x, array [int] of var int: y);\n\
00093 predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t);\n\
00094 predicate table_int(array [int] of var int: x, array [int, int] of int: t);\n\
00095 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\
00096 var 4..6: INT____00001 :: is_defined_var :: var_is_introduced;\n\
00097 var 1..6: INT____00002 :: is_defined_var :: var_is_introduced;\n\
00098 var 13..15: INT____00003 :: is_defined_var :: var_is_introduced;\n\
00099 var 1..6: INT____00004 :: is_defined_var :: var_is_introduced;\n\
00100 var 10..12: INT____00005 :: is_defined_var :: var_is_introduced;\n\
00101 var 1..6: INT____00006 :: is_defined_var :: var_is_introduced;\n\
00102 var 7..9: INT____00007 :: is_defined_var :: var_is_introduced;\n\
00103 var 1..6: INT____00008 :: is_defined_var :: var_is_introduced;\n\
00104 var 10..12: INT____00009 :: is_defined_var :: var_is_introduced;\n\
00105 var 1..6: INT____00010 :: is_defined_var :: var_is_introduced;\n\
00106 var 16..18: INT____00011 :: is_defined_var :: var_is_introduced;\n\
00107 var 1..6: INT____00012 :: is_defined_var :: var_is_introduced;\n\
00108 var 7..9: INT____00013 :: is_defined_var :: var_is_introduced;\n\
00109 var 1..6: INT____00014 :: is_defined_var :: var_is_introduced;\n\
00110 var 1..6: INT____00015 :: is_defined_var :: var_is_introduced;\n\
00111 var 7..9: INT____00016 :: is_defined_var :: var_is_introduced;\n\
00112 var 1..6: INT____00017 :: is_defined_var :: var_is_introduced;\n\
00113 var 1..6: INT____00018 :: is_defined_var :: var_is_introduced;\n\
00114 var 16..18: INT____00019 :: is_defined_var :: var_is_introduced;\n\
00115 var 1..6: INT____00020 :: is_defined_var :: var_is_introduced;\n\
00116 var 4..6: INT____00021 :: is_defined_var :: var_is_introduced;\n\
00117 var 1..6: INT____00022 :: is_defined_var :: var_is_introduced;\n\
00118 var 4..6: INT____00023 :: is_defined_var :: var_is_introduced;\n\
00119 var 1..6: INT____00024 :: is_defined_var :: var_is_introduced;\n\
00120 var 7..9: INT____00025 :: is_defined_var :: var_is_introduced;\n\
00121 var 1..6: INT____00026 :: is_defined_var :: var_is_introduced;\n\
00122 var 16..18: INT____00027 :: is_defined_var :: var_is_introduced;\n\
00123 var 1..6: INT____00028 :: is_defined_var :: var_is_introduced;\n\
00124 var 1..6: INT____00029 :: is_defined_var :: var_is_introduced;\n\
00125 var 16..18: INT____00030 :: is_defined_var :: var_is_introduced;\n\
00126 var 1..6: INT____00031 :: is_defined_var :: var_is_introduced;\n\
00127 var 10..12: INT____00032 :: is_defined_var :: var_is_introduced;\n\
00128 var 1..6: INT____00033 :: is_defined_var :: var_is_introduced;\n\
00129 var 7..9: INT____00034 :: is_defined_var :: var_is_introduced;\n\
00130 var 1..6: INT____00035 :: is_defined_var :: var_is_introduced;\n\
00131 var 1..6: INT____00036 :: is_defined_var :: var_is_introduced;\n\
00132 var 16..18: INT____00037 :: is_defined_var :: var_is_introduced;\n\
00133 var 1..6: INT____00038 :: is_defined_var :: var_is_introduced;\n\
00134 var 10..12: INT____00039 :: is_defined_var :: var_is_introduced;\n\
00135 var 1..6: INT____00040 :: is_defined_var :: var_is_introduced;\n\
00136 var 4..6: INT____00041 :: is_defined_var :: var_is_introduced;\n\
00137 var 1..6: INT____00042 :: is_defined_var :: var_is_introduced;\n\
00138 var 13..15: INT____00043 :: is_defined_var :: var_is_introduced;\n\
00139 var 1..6: INT____00044 :: is_defined_var :: var_is_introduced;\n\
00140 var 16..18: INT____00045 :: is_defined_var :: var_is_introduced;\n\
00141 var 1..6: INT____00046 :: is_defined_var :: var_is_introduced;\n\
00142 var 4..6: INT____00047 :: is_defined_var :: var_is_introduced;\n\
00143 var 1..6: INT____00048 :: is_defined_var :: var_is_introduced;\n\
00144 var 10..12: INT____00049 :: is_defined_var :: var_is_introduced;\n\
00145 var 1..6: INT____00050 :: is_defined_var :: var_is_introduced;\n\
00146 var 1..6: INT____00051 :: is_defined_var :: var_is_introduced;\n\
00147 var 16..18: INT____00052 :: is_defined_var :: var_is_introduced;\n\
00148 var 1..6: INT____00053 :: is_defined_var :: var_is_introduced;\n\
00149 var 1..6: INT____00054 :: is_defined_var :: var_is_introduced;\n\
00150 var 10..12: INT____00055 :: is_defined_var :: var_is_introduced;\n\
00151 var 1..6: INT____00056 :: is_defined_var :: var_is_introduced;\n\
00152 var 7..9: INT____00057 :: is_defined_var :: var_is_introduced;\n\
00153 var 1..6: INT____00058 :: is_defined_var :: var_is_introduced;\n\
00154 var 16..18: INT____00059 :: is_defined_var :: var_is_introduced;\n\
00155 var 1..6: INT____00060 :: is_defined_var :: var_is_introduced;\n\
00156 var 10..12: INT____00061 :: is_defined_var :: var_is_introduced;\n\
00157 var 1..6: INT____00062 :: is_defined_var :: var_is_introduced;\n\
00158 var 13..15: INT____00063 :: is_defined_var :: var_is_introduced;\n\
00159 var 1..6: INT____00064 :: is_defined_var :: var_is_introduced;\n\
00160 var 7..9: INT____00065 :: is_defined_var :: var_is_introduced;\n\
00161 var 1..6: INT____00066 :: is_defined_var :: var_is_introduced;\n\
00162 var 13..15: INT____00067 :: is_defined_var :: var_is_introduced;\n\
00163 var 1..6: INT____00068 :: is_defined_var :: var_is_introduced;\n\
00164 var 10..12: INT____00069 :: is_defined_var :: var_is_introduced;\n\
00165 var 1..6: INT____00070 :: is_defined_var :: var_is_introduced;\n\
00166 var 16..18: INT____00071 :: is_defined_var :: var_is_introduced;\n\
00167 var 1..6: INT____00072 :: is_defined_var :: var_is_introduced;\n\
00168 var 4..6: INT____00073 :: is_defined_var :: var_is_introduced;\n\
00169 var 1..6: INT____00074 :: is_defined_var :: var_is_introduced;\n\
00170 var 10..12: INT____00075 :: is_defined_var :: var_is_introduced;\n\
00171 var 1..6: INT____00076 :: is_defined_var :: var_is_introduced;\n\
00172 var 4..6: INT____00077 :: is_defined_var :: var_is_introduced;\n\
00173 var 1..6: INT____00078 :: is_defined_var :: var_is_introduced;\n\
00174 var 1..6: INT____00079 :: is_defined_var :: var_is_introduced;\n\
00175 var 13..15: INT____00080 :: is_defined_var :: var_is_introduced;\n\
00176 var 1..6: INT____00081 :: is_defined_var :: var_is_introduced;\n\
00177 var 16..18: INT____00082 :: is_defined_var :: var_is_introduced;\n\
00178 var 1..6: INT____00083 :: is_defined_var :: var_is_introduced;\n\
00179 var 4..6: INT____00084 :: is_defined_var :: var_is_introduced;\n\
00180 var 1..6: INT____00085 :: is_defined_var :: var_is_introduced;\n\
00181 var 7..9: INT____00086 :: is_defined_var :: var_is_introduced;\n\
00182 var 1..6: INT____00087 :: is_defined_var :: var_is_introduced;\n\
00183 var 1..6: INT____00088 :: is_defined_var :: var_is_introduced;\n\
00184 var 10..12: INT____00089 :: is_defined_var :: var_is_introduced;\n\
00185 var 1..6: INT____00090 :: is_defined_var :: var_is_introduced;\n\
00186 var 7..9: INT____00091 :: is_defined_var :: var_is_introduced;\n\
00187 var 1..6: INT____00092 :: is_defined_var :: var_is_introduced;\n\
00188 var 13..15: INT____00093 :: is_defined_var :: var_is_introduced;\n\
00189 var 1..6: INT____00094 :: is_defined_var :: var_is_introduced;\n\
00190 var 16..18: INT____00095 :: is_defined_var :: var_is_introduced;\n\
00191 var 1..6: INT____00096 :: is_defined_var :: var_is_introduced;\n\
00192 var 16..18: INT____00097 :: is_defined_var :: var_is_introduced;\n\
00193 var 1..6: INT____00098 :: is_defined_var :: var_is_introduced;\n\
00194 var 7..9: INT____00099 :: is_defined_var :: var_is_introduced;\n\
00195 var 1..6: INT____00100 :: is_defined_var :: var_is_introduced;\n\
00196 var 4..6: INT____00101 :: is_defined_var :: var_is_introduced;\n\
00197 var 1..6: INT____00102 :: is_defined_var :: var_is_introduced;\n\
00198 var 10..12: INT____00103 :: is_defined_var :: var_is_introduced;\n\
00199 var 1..6: INT____00104 :: is_defined_var :: var_is_introduced;\n\
00200 var 10..12: INT____00105 :: is_defined_var :: var_is_introduced;\n\
00201 var 1..6: INT____00106 :: is_defined_var :: var_is_introduced;\n\
00202 var 16..18: INT____00107 :: is_defined_var :: var_is_introduced;\n\
00203 var 1..6: INT____00108 :: is_defined_var :: var_is_introduced;\n\
00204 var 13..15: INT____00109 :: is_defined_var :: var_is_introduced;\n\
00205 var 1..6: INT____00110 :: is_defined_var :: var_is_introduced;\n\
00206 var 1..6: INT____00111 :: is_defined_var :: var_is_introduced;\n\
00207 var 7..9: INT____00112 :: is_defined_var :: var_is_introduced;\n\
00208 var 1..6: INT____00113 :: is_defined_var :: var_is_introduced;\n\
00209 var 4..6: INT____00114 :: is_defined_var :: var_is_introduced;\n\
00210 var 1..6: INT____00115 :: is_defined_var :: var_is_introduced;\n\
00211 var 16..18: INT____00116 :: is_defined_var :: var_is_introduced;\n\
00212 var 1..6: INT____00117 :: is_defined_var :: var_is_introduced;\n\
00213 var 10..12: INT____00118 :: is_defined_var :: var_is_introduced;\n\
00214 var 1..6: INT____00119 :: is_defined_var :: var_is_introduced;\n\
00215 var 7..9: INT____00120 :: is_defined_var :: var_is_introduced;\n\
00216 var 1..6: INT____00121 :: is_defined_var :: var_is_introduced;\n\
00217 var 16..18: INT____00122 :: is_defined_var :: var_is_introduced;\n\
00218 var 1..6: INT____00123 :: is_defined_var :: var_is_introduced;\n\
00219 var 13..15: INT____00124 :: is_defined_var :: var_is_introduced;\n\
00220 var 1..6: INT____00125 :: is_defined_var :: var_is_introduced;\n\
00221 var 1..6: INT____00126 :: is_defined_var :: var_is_introduced;\n\
00222 var 7..9: INT____00127 :: is_defined_var :: var_is_introduced;\n\
00223 var 1..6: INT____00128 :: is_defined_var :: var_is_introduced;\n\
00224 var 13..15: INT____00129 :: is_defined_var :: var_is_introduced;\n\
00225 var 1..6: INT____00130 :: is_defined_var :: var_is_introduced;\n\
00226 var 4..6: INT____00131 :: is_defined_var :: var_is_introduced;\n\
00227 var 1..6: INT____00132 :: is_defined_var :: var_is_introduced;\n\
00228 var 16..18: INT____00133 :: is_defined_var :: var_is_introduced;\n\
00229 var 1..6: INT____00134 :: is_defined_var :: var_is_introduced;\n\
00230 var 10..12: INT____00135 :: is_defined_var :: var_is_introduced;\n\
00231 var 1..6: INT____00136 :: is_defined_var :: var_is_introduced;\n\
00232 var 7..9: INT____00137 :: is_defined_var :: var_is_introduced;\n\
00233 var 1..6: INT____00138 :: is_defined_var :: var_is_introduced;\n\
00234 var 13..15: INT____00139 :: is_defined_var :: var_is_introduced;\n\
00235 var 1..6: INT____00140 :: is_defined_var :: var_is_introduced;\n\
00236 var 4..6: INT____00141 :: is_defined_var :: var_is_introduced;\n\
00237 var 1..6: INT____00142 :: is_defined_var :: var_is_introduced;\n\
00238 var 13..15: INT____00143 :: is_defined_var :: var_is_introduced;\n\
00239 var 1..6: INT____00144 :: is_defined_var :: var_is_introduced;\n\
00240 var 10..12: INT____00145 :: is_defined_var :: var_is_introduced;\n\
00241 var 1..6: INT____00146 :: is_defined_var :: var_is_introduced;\n\
00242 var 16..18: INT____00147 :: is_defined_var :: var_is_introduced;\n\
00243 var 1..6: INT____00148 :: is_defined_var :: var_is_introduced;\n\
00244 var 4..6: INT____00149 :: is_defined_var :: var_is_introduced;\n\
00245 var 1..6: INT____00150 :: is_defined_var :: var_is_introduced;\n\
00246 array [1..80] of var 1..3: x :: output_array([1..20, 1..4]);\n")+"\
00247 array [1..18] of var 1..6: z :: output_array([1..6, 1..3]);\n\
00248 constraint all_different_int([INT____00002, INT____00004, INT____00006, INT____00008]);\n\
00249 constraint all_different_int([INT____00010, INT____00012, INT____00014, INT____00015]);\n\
00250 constraint all_different_int([INT____00017, INT____00018, INT____00020, INT____00022]);\n\
00251 constraint all_different_int([INT____00024, INT____00026, INT____00028, INT____00029]);\n\
00252 constraint all_different_int([INT____00031, INT____00033, INT____00035, INT____00036]);\n\
00253 constraint all_different_int([INT____00038, INT____00040, INT____00042, INT____00044]);\n\
00254 constraint all_different_int([INT____00046, INT____00048, INT____00050, INT____00051]);\n\
00255 constraint all_different_int([INT____00053, INT____00054, INT____00056, INT____00058]);\n\
00256 constraint all_different_int([INT____00060, INT____00062, INT____00064, INT____00066]);\n\
00257 constraint all_different_int([INT____00068, INT____00070, INT____00072, INT____00074]);\n\
00258 constraint all_different_int([INT____00076, INT____00078, INT____00079, INT____00081]);\n\
00259 constraint all_different_int([INT____00083, INT____00085, INT____00087, INT____00088]);\n\
00260 constraint all_different_int([INT____00090, INT____00092, INT____00094, INT____00096]);\n\
00261 constraint all_different_int([INT____00098, INT____00100, INT____00102, INT____00104]);\n\
00262 constraint all_different_int([INT____00106, INT____00108, INT____00110, INT____00111]);\n\
00263 constraint all_different_int([INT____00113, INT____00115, INT____00117, INT____00119]);\n\
00264 constraint all_different_int([INT____00121, INT____00123, INT____00125, INT____00126]);\n\
00265 constraint all_different_int([INT____00128, INT____00130, INT____00132, INT____00134]);\n\
00266 constraint all_different_int([INT____00136, INT____00138, INT____00140, INT____00142]);\n\
00267 constraint all_different_int([INT____00144, INT____00146, INT____00148, INT____00150]);\n\
00268 constraint array_var_int_element(INT____00001, z, INT____00002) :: defines_var(INT____00002);\n\
00269 constraint array_var_int_element(INT____00003, z, INT____00004) :: defines_var(INT____00004);\n\
00270 constraint array_var_int_element(INT____00005, z, INT____00006) :: defines_var(INT____00006);\n\
00271 constraint array_var_int_element(INT____00007, z, INT____00008) :: defines_var(INT____00008);\n\
00272 constraint array_var_int_element(INT____00009, z, INT____00010) :: defines_var(INT____00010);\n\
00273 constraint array_var_int_element(INT____00011, z, INT____00012) :: defines_var(INT____00012);\n\
00274 constraint array_var_int_element(INT____00013, z, INT____00014) :: defines_var(INT____00014);\n\
00275 constraint array_var_int_element(INT____00016, z, INT____00017) :: defines_var(INT____00017);\n\
00276 constraint array_var_int_element(INT____00019, z, INT____00020) :: defines_var(INT____00020);\n\
00277 constraint array_var_int_element(INT____00021, z, INT____00022) :: defines_var(INT____00022);\n\
00278 constraint array_var_int_element(INT____00023, z, INT____00024) :: defines_var(INT____00024);\n\
00279 constraint array_var_int_element(INT____00025, z, INT____00026) :: defines_var(INT____00026);\n\
00280 constraint array_var_int_element(INT____00027, z, INT____00028) :: defines_var(INT____00028);\n\
00281 constraint array_var_int_element(INT____00030, z, INT____00031) :: defines_var(INT____00031);\n\
00282 constraint array_var_int_element(INT____00032, z, INT____00033) :: defines_var(INT____00033);\n\
00283 constraint array_var_int_element(INT____00034, z, INT____00035) :: defines_var(INT____00035);\n\
00284 constraint array_var_int_element(INT____00037, z, INT____00038) :: defines_var(INT____00038);\n\
00285 constraint array_var_int_element(INT____00039, z, INT____00040) :: defines_var(INT____00040);\n\
00286 constraint array_var_int_element(INT____00041, z, INT____00042) :: defines_var(INT____00042);\n\
00287 constraint array_var_int_element(INT____00043, z, INT____00044) :: defines_var(INT____00044);\n\
00288 constraint array_var_int_element(INT____00045, z, INT____00046) :: defines_var(INT____00046);\n\
00289 constraint array_var_int_element(INT____00047, z, INT____00048) :: defines_var(INT____00048);\n\
00290 constraint array_var_int_element(INT____00049, z, INT____00050) :: defines_var(INT____00050);\n\
00291 constraint array_var_int_element(INT____00052, z, INT____00053) :: defines_var(INT____00053);\n\
00292 constraint array_var_int_element(INT____00055, z, INT____00056) :: defines_var(INT____00056);\n\
00293 constraint array_var_int_element(INT____00057, z, INT____00058) :: defines_var(INT____00058);\n\
00294 constraint array_var_int_element(INT____00059, z, INT____00060) :: defines_var(INT____00060);\n\
00295 constraint array_var_int_element(INT____00061, z, INT____00062) :: defines_var(INT____00062);\n\
00296 constraint array_var_int_element(INT____00063, z, INT____00064) :: defines_var(INT____00064);\n\
00297 constraint array_var_int_element(INT____00065, z, INT____00066) :: defines_var(INT____00066);\n\
00298 constraint array_var_int_element(INT____00067, z, INT____00068) :: defines_var(INT____00068);\n\
00299 constraint array_var_int_element(INT____00069, z, INT____00070) :: defines_var(INT____00070);\n\
00300 constraint array_var_int_element(INT____00071, z, INT____00072) :: defines_var(INT____00072);\n\
00301 constraint array_var_int_element(INT____00073, z, INT____00074) :: defines_var(INT____00074);\n\
00302 constraint array_var_int_element(INT____00075, z, INT____00076) :: defines_var(INT____00076);\n\
00303 constraint array_var_int_element(INT____00077, z, INT____00078) :: defines_var(INT____00078);\n\
00304 constraint array_var_int_element(INT____00080, z, INT____00081) :: defines_var(INT____00081);\n\
00305 constraint array_var_int_element(INT____00082, z, INT____00083) :: defines_var(INT____00083);\n\
00306 constraint array_var_int_element(INT____00084, z, INT____00085) :: defines_var(INT____00085);\n\
00307 constraint array_var_int_element(INT____00086, z, INT____00087) :: defines_var(INT____00087);\n\
00308 constraint array_var_int_element(INT____00089, z, INT____00090) :: defines_var(INT____00090);\n\
00309 constraint array_var_int_element(INT____00091, z, INT____00092) :: defines_var(INT____00092);\n\
00310 constraint array_var_int_element(INT____00093, z, INT____00094) :: defines_var(INT____00094);\n\
00311 constraint array_var_int_element(INT____00095, z, INT____00096) :: defines_var(INT____00096);\n\
00312 constraint array_var_int_element(INT____00097, z, INT____00098) :: defines_var(INT____00098);\n\
00313 constraint array_var_int_element(INT____00099, z, INT____00100) :: defines_var(INT____00100);\n\
00314 constraint array_var_int_element(INT____00101, z, INT____00102) :: defines_var(INT____00102);\n\
00315 constraint array_var_int_element(INT____00103, z, INT____00104) :: defines_var(INT____00104);\n\
00316 constraint array_var_int_element(INT____00105, z, INT____00106) :: defines_var(INT____00106);\n\
00317 constraint array_var_int_element(INT____00107, z, INT____00108) :: defines_var(INT____00108);\n\
00318 constraint array_var_int_element(INT____00109, z, INT____00110) :: defines_var(INT____00110);\n\
00319 constraint array_var_int_element(INT____00112, z, INT____00113) :: defines_var(INT____00113);\n\
00320 constraint array_var_int_element(INT____00114, z, INT____00115) :: defines_var(INT____00115);\n\
00321 constraint array_var_int_element(INT____00116, z, INT____00117) :: defines_var(INT____00117);\n\
00322 constraint array_var_int_element(INT____00118, z, INT____00119) :: defines_var(INT____00119);\n\
00323 constraint array_var_int_element(INT____00120, z, INT____00121) :: defines_var(INT____00121);\n\
00324 constraint array_var_int_element(INT____00122, z, INT____00123) :: defines_var(INT____00123);\n\
00325 constraint array_var_int_element(INT____00124, z, INT____00125) :: defines_var(INT____00125);\n\
00326 constraint array_var_int_element(INT____00127, z, INT____00128) :: defines_var(INT____00128);\n\
00327 constraint array_var_int_element(INT____00129, z, INT____00130) :: defines_var(INT____00130);\n\
00328 constraint array_var_int_element(INT____00131, z, INT____00132) :: defines_var(INT____00132);\n\
00329 constraint array_var_int_element(INT____00133, z, INT____00134) :: defines_var(INT____00134);\n\
00330 constraint array_var_int_element(INT____00135, z, INT____00136) :: defines_var(INT____00136);\n\
00331 constraint array_var_int_element(INT____00137, z, INT____00138) :: defines_var(INT____00138);\n\
00332 constraint array_var_int_element(INT____00139, z, INT____00140) :: defines_var(INT____00140);\n\
00333 constraint array_var_int_element(INT____00141, z, INT____00142) :: defines_var(INT____00142);\n\
00334 constraint array_var_int_element(INT____00143, z, INT____00144) :: defines_var(INT____00144);\n\
00335 constraint array_var_int_element(INT____00145, z, INT____00146) :: defines_var(INT____00146);\n\
00336 constraint array_var_int_element(INT____00147, z, INT____00148) :: defines_var(INT____00148);\n\
00337 constraint array_var_int_element(INT____00149, z, INT____00150) :: defines_var(INT____00150);\n\
00338 constraint array_var_int_element(x[8], z, INT____00015) :: defines_var(INT____00015);\n\
00339 constraint array_var_int_element(x[10], z, INT____00018) :: defines_var(INT____00018);\n\
00340 constraint array_var_int_element(x[16], z, INT____00029) :: defines_var(INT____00029);\n\
00341 constraint array_var_int_element(x[20], z, INT____00036) :: defines_var(INT____00036);\n\
00342 constraint array_var_int_element(x[28], z, INT____00051) :: defines_var(INT____00051);\n\
00343 constraint array_var_int_element(x[30], z, INT____00054) :: defines_var(INT____00054);\n\
00344 constraint array_var_int_element(x[43], z, INT____00079) :: defines_var(INT____00079);\n\
00345 constraint array_var_int_element(x[48], z, INT____00088) :: defines_var(INT____00088);\n\
00346 constraint array_var_int_element(x[60], z, INT____00111) :: defines_var(INT____00111);\n\
00347 constraint array_var_int_element(x[68], z, INT____00126) :: defines_var(INT____00126);\n\
00348 constraint int_lin_eq([-1, 1], [INT____00001, x[1]], -3) :: defines_var(INT____00001) :: domain;\n\
00349 constraint int_lin_eq([-1, 1], [INT____00003, x[2]], -12) :: defines_var(INT____00003) :: domain;\n\
00350 constraint int_lin_eq([-1, 1], [INT____00005, x[3]], -9) :: defines_var(INT____00005) :: domain;\n\
00351 constraint int_lin_eq([-1, 1], [INT____00007, x[4]], -6) :: defines_var(INT____00007) :: domain;\n\
00352 constraint int_lin_eq([-1, 1], [INT____00009, x[5]], -9) :: defines_var(INT____00009) :: domain;\n\
00353 constraint int_lin_eq([-1, 1], [INT____00011, x[6]], -15) :: defines_var(INT____00011) :: domain;\n\
00354 constraint int_lin_eq([-1, 1], [INT____00013, x[7]], -6) :: defines_var(INT____00013) :: domain;\n\
00355 constraint int_lin_eq([-1, 1], [INT____00016, x[9]], -6) :: defines_var(INT____00016) :: domain;\n\
00356 constraint int_lin_eq([-1, 1], [INT____00019, x[11]], -15) :: defines_var(INT____00019) :: domain;\n\
00357 constraint int_lin_eq([-1, 1], [INT____00021, x[12]], -3) :: defines_var(INT____00021) :: domain;\n\
00358 constraint int_lin_eq([-1, 1], [INT____00023, x[13]], -3) :: defines_var(INT____00023) :: domain;\n\
00359 constraint int_lin_eq([-1, 1], [INT____00025, x[14]], -6) :: defines_var(INT____00025) :: domain;\n\
00360 constraint int_lin_eq([-1, 1], [INT____00027, x[15]], -15) :: defines_var(INT____00027) :: domain;\n\
00361 constraint int_lin_eq([-1, 1], [INT____00030, x[17]], -15) :: defines_var(INT____00030) :: domain;\n\
00362 constraint int_lin_eq([-1, 1], [INT____00032, x[18]], -9) :: defines_var(INT____00032) :: domain;\n\
00363 constraint int_lin_eq([-1, 1], [INT____00034, x[19]], -6) :: defines_var(INT____00034) :: domain;\n\
00364 constraint int_lin_eq([-1, 1], [INT____00037, x[21]], -15) :: defines_var(INT____00037) :: domain;\n\
00365 constraint int_lin_eq([-1, 1], [INT____00039, x[22]], -9) :: defines_var(INT____00039) :: domain;\n\
00366 constraint int_lin_eq([-1, 1], [INT____00041, x[23]], -3) :: defines_var(INT____00041) :: domain;\n\
00367 constraint int_lin_eq([-1, 1], [INT____00043, x[24]], -12) :: defines_var(INT____00043) :: domain;\n\
00368 constraint int_lin_eq([-1, 1], [INT____00045, x[25]], -15) :: defines_var(INT____00045) :: domain;\n\
00369 constraint int_lin_eq([-1, 1], [INT____00047, x[26]], -3) :: defines_var(INT____00047) :: domain;\n\
00370 constraint int_lin_eq([-1, 1], [INT____00049, x[27]], -9) :: defines_var(INT____00049) :: domain;\n\
00371 constraint int_lin_eq([-1, 1], [INT____00052, x[29]], -15) :: defines_var(INT____00052) :: domain;\n\
00372 constraint int_lin_eq([-1, 1], [INT____00055, x[31]], -9) :: defines_var(INT____00055) :: domain;\n\
00373 constraint int_lin_eq([-1, 1], [INT____00057, x[32]], -6) :: defines_var(INT____00057) :: domain;\n\
00374 constraint int_lin_eq([-1, 1], [INT____00059, x[33]], -15) :: defines_var(INT____00059) :: domain;\n\
00375 constraint int_lin_eq([-1, 1], [INT____00061, x[34]], -9) :: defines_var(INT____00061) :: domain;\n\
00376 constraint int_lin_eq([-1, 1], [INT____00063, x[35]], -12) :: defines_var(INT____00063) :: domain;\n\
00377 constraint int_lin_eq([-1, 1], [INT____00065, x[36]], -6) :: defines_var(INT____00065) :: domain;\n\
00378 constraint int_lin_eq([-1, 1], [INT____00067, x[37]], -12) :: defines_var(INT____00067) :: domain;\n\
00379 constraint int_lin_eq([-1, 1], [INT____00069, x[38]], -9) :: defines_var(INT____00069) :: domain;\n\
00380 constraint int_lin_eq([-1, 1], [INT____00071, x[39]], -15) :: defines_var(INT____00071) :: domain;\n\
00381 constraint int_lin_eq([-1, 1], [INT____00073, x[40]], -3) :: defines_var(INT____00073) :: domain;\n\
00382 constraint int_lin_eq([-1, 1], [INT____00075, x[41]], -9) :: defines_var(INT____00075) :: domain;\n\
00383 constraint int_lin_eq([-1, 1], [INT____00077, x[42]], -3) :: defines_var(INT____00077) :: domain;\n\
00384 constraint int_lin_eq([-1, 1], [INT____00080, x[44]], -12) :: defines_var(INT____00080) :: domain;\n\
00385 constraint int_lin_eq([-1, 1], [INT____00082, x[45]], -15) :: defines_var(INT____00082) :: domain;\n\
00386 constraint int_lin_eq([-1, 1], [INT____00084, x[46]], -3) :: defines_var(INT____00084) :: domain;\n\
00387 constraint int_lin_eq([-1, 1], [INT____00086, x[47]], -6) :: defines_var(INT____00086) :: domain;\n\
00388 constraint int_lin_eq([-1, 1], [INT____00089, x[49]], -9) :: defines_var(INT____00089) :: domain;\n\
00389 constraint int_lin_eq([-1, 1], [INT____00091, x[50]], -6) :: defines_var(INT____00091) :: domain;\n\
00390 constraint int_lin_eq([-1, 1], [INT____00093, x[51]], -12) :: defines_var(INT____00093) :: domain;\n\
00391 constraint int_lin_eq([-1, 1], [INT____00095, x[52]], -15) :: defines_var(INT____00095) :: domain;\n\
00392 constraint int_lin_eq([-1, 1], [INT____00097, x[53]], -15) :: defines_var(INT____00097) :: domain;\n\
00393 constraint int_lin_eq([-1, 1], [INT____00099, x[54]], -6) :: defines_var(INT____00099) :: domain;\n\
00394 constraint int_lin_eq([-1, 1], [INT____00101, x[55]], -3) :: defines_var(INT____00101) :: domain;\n\
00395 constraint int_lin_eq([-1, 1], [INT____00103, x[56]], -9) :: defines_var(INT____00103) :: domain;\n\
00396 constraint int_lin_eq([-1, 1], [INT____00105, x[57]], -9) :: defines_var(INT____00105) :: domain;\n\
00397 constraint int_lin_eq([-1, 1], [INT____00107, x[58]], -15) :: defines_var(INT____00107) :: domain;\n\
00398 constraint int_lin_eq([-1, 1], [INT____00109, x[59]], -12) :: defines_var(INT____00109) :: domain;\n\
00399 constraint int_lin_eq([-1, 1], [INT____00112, x[61]], -6) :: defines_var(INT____00112) :: domain;\n\
00400 constraint int_lin_eq([-1, 1], [INT____00114, x[62]], -3) :: defines_var(INT____00114) :: domain;\n\
00401 constraint int_lin_eq([-1, 1], [INT____00116, x[63]], -15) :: defines_var(INT____00116) :: domain;\n\
00402 constraint int_lin_eq([-1, 1], [INT____00118, x[64]], -9) :: defines_var(INT____00118) :: domain;\n\
00403 constraint int_lin_eq([-1, 1], [INT____00120, x[65]], -6) :: defines_var(INT____00120) :: domain;\n\
00404 constraint int_lin_eq([-1, 1], [INT____00122, x[66]], -15) :: defines_var(INT____00122) :: domain;\n\
00405 constraint int_lin_eq([-1, 1], [INT____00124, x[67]], -12) :: defines_var(INT____00124) :: domain;\n\
00406 constraint int_lin_eq([-1, 1], [INT____00127, x[69]], -6) :: defines_var(INT____00127) :: domain;\n\
00407 constraint int_lin_eq([-1, 1], [INT____00129, x[70]], -12) :: defines_var(INT____00129) :: domain;\n\
00408 constraint int_lin_eq([-1, 1], [INT____00131, x[71]], -3) :: defines_var(INT____00131) :: domain;\n\
00409 constraint int_lin_eq([-1, 1], [INT____00133, x[72]], -15) :: defines_var(INT____00133) :: domain;\n\
00410 constraint int_lin_eq([-1, 1], [INT____00135, x[73]], -9) :: defines_var(INT____00135) :: domain;\n\
00411 constraint int_lin_eq([-1, 1], [INT____00137, x[74]], -6) :: defines_var(INT____00137) :: domain;\n\
00412 constraint int_lin_eq([-1, 1], [INT____00139, x[75]], -12) :: defines_var(INT____00139) :: domain;\n\
00413 constraint int_lin_eq([-1, 1], [INT____00141, x[76]], -3) :: defines_var(INT____00141) :: domain;\n\
00414 constraint int_lin_eq([-1, 1], [INT____00143, x[77]], -12) :: defines_var(INT____00143) :: domain;\n\
00415 constraint int_lin_eq([-1, 1], [INT____00145, x[78]], -9) :: defines_var(INT____00145) :: domain;\n\
00416 constraint int_lin_eq([-1, 1], [INT____00147, x[79]], -15) :: defines_var(INT____00147) :: domain;\n\
00417 constraint int_lin_eq([-1, 1], [INT____00149, x[80]], -3) :: defines_var(INT____00149) :: domain;\n\
00418 solve satisfy;\n\
00419 ", "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\
00420 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\
00421 ----------\n\
00422 ");
00423       }
00424     };
00425 
00426     Create c;
00427   }
00428 
00429 }}
00430 
00431 // STATISTICS: test-flatzinc