Files
ortools-clone/examples/flatzinc/relief_mission.fzn

436 lines
28 KiB
MiniZinc

predicate fzn_all_different_int(array [int] of var int: x);
predicate count(array [int] of var int: x, var int: y, var int: c);
predicate fixed_fzn_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, int: b);
predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);
predicate maximum_int(var int: m, array [int] of var int: x);
predicate minimum_int(var int: m, array [int] of var int: x);
predicate sliding_sum(int: low, int: up, int: seq, array [int] of var int: vs);
predicate sort(array [int] of var int: x, array [int] of var int: y);
predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t);
predicate table_int(array [int] of var int: x, array [int, int] of int: t);
predicate var_fzn_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b);
array [1..100] of int: huts = [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1];
var 0..9: INT____00003 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00004 :: is_defined_var :: var_is_introduced;
var -4..5: INT____00005 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00006 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00007 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00009 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00010 :: is_defined_var :: var_is_introduced;
var -4..5: INT____00011 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00012 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00013 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00015 :: is_defined_var :: var_is_introduced;
var -1..8: INT____00019 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00020 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00021 :: is_defined_var :: var_is_introduced;
var -1..8: INT____00023 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00024 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00025 :: is_defined_var :: var_is_introduced;
var 0..89: INT____00027 :: is_defined_var :: var_is_introduced;
var -8..1: INT____00031 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00032 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00033 :: is_defined_var :: var_is_introduced;
var -8..1: INT____00035 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00036 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00037 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00039 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00043 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00044 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00046 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00047 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00049 :: is_defined_var :: var_is_introduced;
var -2..7: INT____00053 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00054 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00055 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00056 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00057 :: is_defined_var :: var_is_introduced;
var -2..7: INT____00059 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00060 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00061 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00062 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00063 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00065 :: is_defined_var :: var_is_introduced;
var -5..4: INT____00069 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00070 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00071 :: is_defined_var :: var_is_introduced;
var -5..4: INT____00073 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00074 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00075 :: is_defined_var :: var_is_introduced;
var 0..74: INT____00077 :: is_defined_var :: var_is_introduced;
var -7..2: INT____00081 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00082 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00083 :: is_defined_var :: var_is_introduced;
var -7..2: INT____00085 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00086 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00087 :: is_defined_var :: var_is_introduced;
var 0..98: INT____00089 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00095 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00101 :: is_defined_var :: var_is_introduced;
var -3..6: INT____00105 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00106 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00107 :: is_defined_var :: var_is_introduced;
var -1..8: INT____00108 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00109 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00110 :: is_defined_var :: var_is_introduced;
var -3..6: INT____00112 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00113 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00114 :: is_defined_var :: var_is_introduced;
var -1..8: INT____00115 :: is_defined_var :: var_is_introduced;
var 0..8: INT____00116 :: is_defined_var :: var_is_introduced;
var 0..64: INT____00117 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00119 :: is_defined_var :: var_is_introduced;
var -6..3: INT____00123 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00124 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00125 :: is_defined_var :: var_is_introduced;
var -6..3: INT____00127 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00128 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00129 :: is_defined_var :: var_is_introduced;
var 0..72: INT____00131 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00137 :: is_defined_var :: var_is_introduced;
var -4..5: INT____00141 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00142 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00143 :: is_defined_var :: var_is_introduced;
var -4..5: INT____00145 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00146 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00147 :: is_defined_var :: var_is_introduced;
var 0..89: INT____00149 :: is_defined_var :: var_is_introduced;
var 0..89: INT____00155 :: is_defined_var :: var_is_introduced;
var -5..4: INT____00159 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00160 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00161 :: is_defined_var :: var_is_introduced;
var -5..4: INT____00163 :: is_defined_var :: var_is_introduced;
var 0..5: INT____00164 :: is_defined_var :: var_is_introduced;
var 0..25: INT____00165 :: is_defined_var :: var_is_introduced;
var 0..74: INT____00167 :: is_defined_var :: var_is_introduced;
var -6..3: INT____00171 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00172 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00173 :: is_defined_var :: var_is_introduced;
var -6..3: INT____00175 :: is_defined_var :: var_is_introduced;
var 0..6: INT____00176 :: is_defined_var :: var_is_introduced;
var 0..36: INT____00177 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00179 :: is_defined_var :: var_is_introduced;
var -7..2: INT____00183 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00184 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00185 :: is_defined_var :: var_is_introduced;
var -7..2: INT____00187 :: is_defined_var :: var_is_introduced;
var 0..7: INT____00188 :: is_defined_var :: var_is_introduced;
var 0..49: INT____00189 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00191 :: is_defined_var :: var_is_introduced;
var 0..74: INT____00197 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00201 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00202 :: is_defined_var :: var_is_introduced;
var 0..9: INT____00204 :: is_defined_var :: var_is_introduced;
var 0..81: INT____00205 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00207 :: is_defined_var :: var_is_introduced;
var 0..100: INT____00213 :: is_defined_var :: var_is_introduced;
var 0..10000: INT____00215 :: is_defined_var :: var_is_introduced;
var 0..100: dist1____00001;
var 0..89: dist1____00017;
var 0..100: dist1____00029;
var 0..100: dist1____00041;
var 0..100: dist1____00051;
var 0..74: dist1____00067;
var 0..98: dist1____00079;
var 0..100: dist1____00091;
var 0..100: dist1____00097;
var 0..100: dist1____00103;
var 0..72: dist1____00121;
var 0..100: dist1____00133;
var 0..89: dist1____00139;
var 0..89: dist1____00151;
var 0..74: dist1____00157;
var 0..100: dist1____00169;
var 0..100: dist1____00181;
var 0..74: dist1____00193;
var 0..100: dist1____00199;
var 0..100: dist1____00209;
var 0..100: dist2____00002;
var 0..89: dist2____00018;
var 0..100: dist2____00030;
var 0..100: dist2____00042;
var 0..100: dist2____00052;
var 0..74: dist2____00068;
var 0..98: dist2____00080;
var 0..100: dist2____00092;
var 0..100: dist2____00098;
var 0..100: dist2____00104;
var 0..72: dist2____00122;
var 0..100: dist2____00134;
var 0..89: dist2____00140;
var 0..89: dist2____00152;
var 0..74: dist2____00158;
var 0..100: dist2____00170;
var 0..100: dist2____00182;
var 0..74: dist2____00194;
var 0..100: dist2____00200;
var 0..100: dist2____00210;
array [1..100] of var 0..100: distances :: output_array([1..10, 1..10]);
var 0..74: INT____00198 :: var_is_introduced = distances[76];
var 0..74: INT____00168 :: var_is_introduced = distances[58];
var 0..89: INT____00156 :: var_is_introduced = distances[49];
var 0..89: INT____00150 :: var_is_introduced = distances[42];
var 0..72: INT____00132 :: var_is_introduced = distances[37];
var 0..98: INT____00090 :: var_is_introduced = distances[28];
var 0..74: INT____00078 :: var_is_introduced = distances[26];
var 0..89: INT____00028 :: var_is_introduced = distances[15];
var 0..10000: total_dist :: output_var = INT____00215;
array [1..4] of var 1..10: x :: output_array([1..2, 1..2]);
constraint int_abs(INT____00005, INT____00006) :: defines_var(INT____00006);
constraint int_abs(INT____00011, INT____00012) :: defines_var(INT____00012);
constraint int_abs(INT____00019, INT____00020) :: defines_var(INT____00020);
constraint int_abs(INT____00023, INT____00024) :: defines_var(INT____00024);
constraint int_abs(INT____00031, INT____00032) :: defines_var(INT____00032);
constraint int_abs(INT____00035, INT____00036) :: defines_var(INT____00036);
constraint int_abs(INT____00053, INT____00054) :: defines_var(INT____00054);
constraint int_abs(INT____00059, INT____00060) :: defines_var(INT____00060);
constraint int_abs(INT____00069, INT____00070) :: defines_var(INT____00070);
constraint int_abs(INT____00073, INT____00074) :: defines_var(INT____00074);
constraint int_abs(INT____00081, INT____00082) :: defines_var(INT____00082);
constraint int_abs(INT____00085, INT____00086) :: defines_var(INT____00086);
constraint int_abs(INT____00105, INT____00106) :: defines_var(INT____00106);
constraint int_abs(INT____00108, INT____00109) :: defines_var(INT____00109);
constraint int_abs(INT____00112, INT____00113) :: defines_var(INT____00113);
constraint int_abs(INT____00115, INT____00116) :: defines_var(INT____00116);
constraint int_abs(INT____00123, INT____00124) :: defines_var(INT____00124);
constraint int_abs(INT____00127, INT____00128) :: defines_var(INT____00128);
constraint int_abs(INT____00141, INT____00142) :: defines_var(INT____00142);
constraint int_abs(INT____00145, INT____00146) :: defines_var(INT____00146);
constraint int_abs(INT____00159, INT____00160) :: defines_var(INT____00160);
constraint int_abs(INT____00163, INT____00164) :: defines_var(INT____00164);
constraint int_abs(INT____00171, INT____00172) :: defines_var(INT____00172);
constraint int_abs(INT____00175, INT____00176) :: defines_var(INT____00176);
constraint int_abs(INT____00183, INT____00184) :: defines_var(INT____00184);
constraint int_abs(INT____00187, INT____00188) :: defines_var(INT____00188);
constraint int_eq(distances[1], 0);
constraint int_eq(distances[2], 0);
constraint int_eq(distances[3], 0);
constraint int_eq(distances[4], 0);
constraint int_eq(distances[6], 0);
constraint int_eq(distances[7], 0);
constraint int_eq(distances[8], 0);
constraint int_eq(distances[9], 0);
constraint int_eq(distances[10], 0);
constraint int_eq(distances[11], 0);
constraint int_eq(distances[12], 0);
constraint int_eq(distances[13], 0);
constraint int_eq(distances[14], 0);
constraint int_eq(distances[16], 0);
constraint int_eq(distances[17], 0);
constraint int_eq(distances[18], 0);
constraint int_eq(distances[22], 0);
constraint int_eq(distances[23], 0);
constraint int_eq(distances[24], 0);
constraint int_eq(distances[25], 0);
constraint int_eq(distances[27], 0);
constraint int_eq(distances[31], 0);
constraint int_eq(distances[33], 0);
constraint int_eq(distances[34], 0);
constraint int_eq(distances[35], 0);
constraint int_eq(distances[36], 0);
constraint int_eq(distances[38], 0);
constraint int_eq(distances[39], 0);
constraint int_eq(distances[41], 0);
constraint int_eq(distances[43], 0);
constraint int_eq(distances[44], 0);
constraint int_eq(distances[45], 0);
constraint int_eq(distances[46], 0);
constraint int_eq(distances[47], 0);
constraint int_eq(distances[48], 0);
constraint int_eq(distances[50], 0);
constraint int_eq(distances[51], 0);
constraint int_eq(distances[52], 0);
constraint int_eq(distances[53], 0);
constraint int_eq(distances[54], 0);
constraint int_eq(distances[55], 0);
constraint int_eq(distances[56], 0);
constraint int_eq(distances[57], 0);
constraint int_eq(distances[59], 0);
constraint int_eq(distances[60], 0);
constraint int_eq(distances[61], 0);
constraint int_eq(distances[63], 0);
constraint int_eq(distances[64], 0);
constraint int_eq(distances[65], 0);
constraint int_eq(distances[66], 0);
constraint int_eq(distances[67], 0);
constraint int_eq(distances[68], 0);
constraint int_eq(distances[69], 0);
constraint int_eq(distances[70], 0);
constraint int_eq(distances[71], 0);
constraint int_eq(distances[73], 0);
constraint int_eq(distances[74], 0);
constraint int_eq(distances[75], 0);
constraint int_eq(distances[77], 0);
constraint int_eq(distances[78], 0);
constraint int_eq(distances[79], 0);
constraint int_eq(distances[80], 0);
constraint int_eq(distances[81], 0);
constraint int_eq(distances[82], 0);
constraint int_eq(distances[83], 0);
constraint int_eq(distances[84], 0);
constraint int_eq(distances[85], 0);
constraint int_eq(distances[86], 0);
constraint int_eq(distances[87], 0);
constraint int_eq(distances[88], 0);
constraint int_eq(distances[89], 0);
constraint int_eq(distances[90], 0);
constraint int_eq(distances[91], 0);
constraint int_eq(distances[92], 0);
constraint int_eq(distances[93], 0);
constraint int_eq(distances[94], 0);
constraint int_eq(distances[95], 0);
constraint int_eq(distances[96], 0);
constraint int_eq(distances[97], 0);
constraint int_eq(distances[99], 0);
constraint int_le(x[1], x[3]);
constraint int_lin_eq([-1, -1], [INT____00043, x[2]], -10) :: defines_var(INT____00043);
constraint int_lin_eq([-1, -1], [INT____00046, x[4]], -10) :: defines_var(INT____00046);
constraint int_lin_eq([-1, -1], [INT____00201, x[1]], -10) :: defines_var(INT____00201);
constraint int_lin_eq([-1, -1], [INT____00204, x[3]], -10) :: defines_var(INT____00204);
constraint int_lin_eq([-1, 1], [INT____00003, x[1]], 1) :: defines_var(INT____00003);
constraint int_lin_eq([-1, 1], [INT____00005, x[2]], 5) :: defines_var(INT____00005);
constraint int_lin_eq([-1, 1], [INT____00009, x[3]], 1) :: defines_var(INT____00009);
constraint int_lin_eq([-1, 1], [INT____00011, x[4]], 5) :: defines_var(INT____00011);
constraint int_lin_eq([-1, 1], [INT____00019, x[1]], 2) :: defines_var(INT____00019);
constraint int_lin_eq([-1, 1], [INT____00023, x[3]], 2) :: defines_var(INT____00023);
constraint int_lin_eq([-1, 1], [INT____00031, x[2]], 9) :: defines_var(INT____00031);
constraint int_lin_eq([-1, 1], [INT____00035, x[4]], 9) :: defines_var(INT____00035);
constraint int_lin_eq([-1, 1], [INT____00053, x[1]], 3) :: defines_var(INT____00053);
constraint int_lin_eq([-1, 1], [INT____00056, x[2]], 1) :: defines_var(INT____00056);
constraint int_lin_eq([-1, 1], [INT____00059, x[3]], 3) :: defines_var(INT____00059);
constraint int_lin_eq([-1, 1], [INT____00062, x[4]], 1) :: defines_var(INT____00062);
constraint int_lin_eq([-1, 1], [INT____00069, x[2]], 6) :: defines_var(INT____00069);
constraint int_lin_eq([-1, 1], [INT____00073, x[4]], 6) :: defines_var(INT____00073);
constraint int_lin_eq([-1, 1], [INT____00081, x[2]], 8) :: defines_var(INT____00081);
constraint int_lin_eq([-1, 1], [INT____00085, x[4]], 8) :: defines_var(INT____00085);
constraint int_lin_eq([-1, 1], [INT____00105, x[1]], 4) :: defines_var(INT____00105);
constraint int_lin_eq([-1, 1], [INT____00108, x[2]], 2) :: defines_var(INT____00108);
constraint int_lin_eq([-1, 1], [INT____00112, x[3]], 4) :: defines_var(INT____00112);
constraint int_lin_eq([-1, 1], [INT____00115, x[4]], 2) :: defines_var(INT____00115);
constraint int_lin_eq([-1, 1], [INT____00123, x[2]], 7) :: defines_var(INT____00123);
constraint int_lin_eq([-1, 1], [INT____00127, x[4]], 7) :: defines_var(INT____00127);
constraint int_lin_eq([-1, 1], [INT____00141, x[1]], 5) :: defines_var(INT____00141);
constraint int_lin_eq([-1, 1], [INT____00145, x[3]], 5) :: defines_var(INT____00145);
constraint int_lin_eq([-1, 1], [INT____00159, x[1]], 6) :: defines_var(INT____00159);
constraint int_lin_eq([-1, 1], [INT____00163, x[3]], 6) :: defines_var(INT____00163);
constraint int_lin_eq([-1, 1], [INT____00171, x[1]], 7) :: defines_var(INT____00171);
constraint int_lin_eq([-1, 1], [INT____00175, x[3]], 7) :: defines_var(INT____00175);
constraint int_lin_eq([-1, 1], [INT____00183, x[1]], 8) :: defines_var(INT____00183);
constraint int_lin_eq([-1, 1], [INT____00187, x[3]], 8) :: defines_var(INT____00187);
constraint int_lin_eq([-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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [INT____00215, distances[1], distances[2], distances[3], distances[4], distances[5], distances[6], distances[7], distances[8], distances[9], distances[10], distances[11], distances[12], distances[13], distances[14], distances[15], distances[16], distances[17], distances[18], distances[19], distances[20], distances[21], distances[22], distances[23], distances[24], distances[25], distances[26], distances[27], distances[28], distances[29], distances[30], distances[31], distances[32], distances[33], distances[34], distances[35], distances[36], distances[37], distances[38], distances[39], distances[40], distances[41], distances[42], distances[43], distances[44], distances[45], distances[46], distances[47], distances[48], distances[49], distances[50], distances[51], distances[52], distances[53], distances[54], distances[55], distances[56], distances[57], distances[58], distances[59], distances[60], distances[61], distances[62], distances[63], distances[64], distances[65], distances[66], distances[67], distances[68], distances[69], distances[70], distances[71], distances[72], distances[73], distances[74], distances[75], distances[76], distances[77], distances[78], distances[79], distances[80], distances[81], distances[82], distances[83], distances[84], distances[85], distances[86], distances[87], distances[88], distances[89], distances[90], distances[91], distances[92], distances[93], distances[94], distances[95], distances[96], distances[97], distances[98], distances[99], distances[100]], 0) :: defines_var(INT____00215);
constraint int_min(dist1____00001, dist1____00001, INT____00015) :: defines_var(INT____00015);
constraint int_min(dist1____00017, dist1____00017, INT____00027) :: defines_var(INT____00027);
constraint int_min(dist1____00029, dist1____00029, INT____00039) :: defines_var(INT____00039);
constraint int_min(dist1____00041, dist1____00041, INT____00049) :: defines_var(INT____00049);
constraint int_min(dist1____00051, dist1____00051, INT____00065) :: defines_var(INT____00065);
constraint int_min(dist1____00067, dist1____00067, INT____00077) :: defines_var(INT____00077);
constraint int_min(dist1____00079, dist1____00079, INT____00089) :: defines_var(INT____00089);
constraint int_min(dist1____00091, dist1____00091, INT____00095) :: defines_var(INT____00095);
constraint int_min(dist1____00097, dist1____00097, INT____00101) :: defines_var(INT____00101);
constraint int_min(dist1____00103, dist1____00103, INT____00119) :: defines_var(INT____00119);
constraint int_min(dist1____00121, dist1____00121, INT____00131) :: defines_var(INT____00131);
constraint int_min(dist1____00133, dist1____00133, INT____00137) :: defines_var(INT____00137);
constraint int_min(dist1____00139, dist1____00139, INT____00149) :: defines_var(INT____00149);
constraint int_min(dist1____00151, dist1____00151, INT____00155) :: defines_var(INT____00155);
constraint int_min(dist1____00157, dist1____00157, INT____00167) :: defines_var(INT____00167);
constraint int_min(dist1____00169, dist1____00169, INT____00179) :: defines_var(INT____00179);
constraint int_min(dist1____00181, dist1____00181, INT____00191) :: defines_var(INT____00191);
constraint int_min(dist1____00193, dist1____00193, INT____00197) :: defines_var(INT____00197);
constraint int_min(dist1____00199, dist1____00199, INT____00207) :: defines_var(INT____00207);
constraint int_min(dist1____00209, dist1____00209, INT____00213) :: defines_var(INT____00213);
constraint int_min(dist2____00002, INT____00015, distances[5]);
constraint int_min(dist2____00018, INT____00027, distances[15]);
constraint int_min(dist2____00030, INT____00039, distances[19]);
constraint int_min(dist2____00042, INT____00049, distances[20]);
constraint int_min(dist2____00052, INT____00065, distances[21]);
constraint int_min(dist2____00068, INT____00077, distances[26]);
constraint int_min(dist2____00080, INT____00089, distances[28]);
constraint int_min(dist2____00092, INT____00095, distances[29]);
constraint int_min(dist2____00098, INT____00101, distances[30]);
constraint int_min(dist2____00104, INT____00119, distances[32]);
constraint int_min(dist2____00122, INT____00131, distances[37]);
constraint int_min(dist2____00134, INT____00137, distances[40]);
constraint int_min(dist2____00140, INT____00149, distances[42]);
constraint int_min(dist2____00152, INT____00155, distances[49]);
constraint int_min(dist2____00158, INT____00167, distances[58]);
constraint int_min(dist2____00170, INT____00179, distances[62]);
constraint int_min(dist2____00182, INT____00191, distances[72]);
constraint int_min(dist2____00194, INT____00197, distances[76]);
constraint int_min(dist2____00200, INT____00207, distances[98]);
constraint int_min(dist2____00210, INT____00213, distances[100]);
constraint int_plus(INT____00004, INT____00007, dist1____00001);
constraint int_plus(INT____00007, INT____00021, dist1____00017);
constraint int_plus(INT____00010, INT____00013, dist2____00002);
constraint int_plus(INT____00013, INT____00025, dist2____00018);
constraint int_plus(INT____00021, INT____00033, dist1____00029);
constraint int_plus(INT____00021, INT____00044, dist1____00041);
constraint int_plus(INT____00025, INT____00037, dist2____00030);
constraint int_plus(INT____00025, INT____00047, dist2____00042);
constraint int_plus(INT____00033, INT____00055, dist1____00091);
constraint int_plus(INT____00033, INT____00143, dist1____00151);
constraint int_plus(INT____00037, INT____00061, dist2____00092);
constraint int_plus(INT____00037, INT____00147, dist2____00152);
constraint int_plus(INT____00044, INT____00055, dist1____00097);
constraint int_plus(INT____00044, INT____00107, dist1____00133);
constraint int_plus(INT____00044, INT____00202, dist1____00209);
constraint int_plus(INT____00047, INT____00061, dist2____00098);
constraint int_plus(INT____00047, INT____00114, dist2____00134);
constraint int_plus(INT____00047, INT____00205, dist2____00210);
constraint int_plus(INT____00055, INT____00057, dist1____00051);
constraint int_plus(INT____00055, INT____00071, dist1____00067);
constraint int_plus(INT____00055, INT____00083, dist1____00079);
constraint int_plus(INT____00061, INT____00063, dist2____00052);
constraint int_plus(INT____00061, INT____00075, dist2____00068);
constraint int_plus(INT____00061, INT____00087, dist2____00080);
constraint int_plus(INT____00071, INT____00185, dist1____00193);
constraint int_plus(INT____00075, INT____00189, dist2____00194);
constraint int_plus(INT____00083, INT____00161, dist1____00157);
constraint int_plus(INT____00083, INT____00202, dist1____00199);
constraint int_plus(INT____00087, INT____00165, dist2____00158);
constraint int_plus(INT____00087, INT____00205, dist2____00200);
constraint int_plus(INT____00107, INT____00110, dist1____00103);
constraint int_plus(INT____00107, INT____00125, dist1____00121);
constraint int_plus(INT____00110, INT____00143, dist1____00139);
constraint int_plus(INT____00110, INT____00173, dist1____00169);
constraint int_plus(INT____00110, INT____00185, dist1____00181);
constraint int_plus(INT____00114, INT____00117, dist2____00104);
constraint int_plus(INT____00114, INT____00129, dist2____00122);
constraint int_plus(INT____00117, INT____00147, dist2____00140);
constraint int_plus(INT____00117, INT____00177, dist2____00170);
constraint int_plus(INT____00117, INT____00189, dist2____00182);
constraint int_times(INT____00003, INT____00003, INT____00004) :: defines_var(INT____00004);
constraint int_times(INT____00006, INT____00006, INT____00007) :: defines_var(INT____00007);
constraint int_times(INT____00009, INT____00009, INT____00010) :: defines_var(INT____00010);
constraint int_times(INT____00012, INT____00012, INT____00013) :: defines_var(INT____00013);
constraint int_times(INT____00020, INT____00020, INT____00021) :: defines_var(INT____00021);
constraint int_times(INT____00024, INT____00024, INT____00025) :: defines_var(INT____00025);
constraint int_times(INT____00032, INT____00032, INT____00033) :: defines_var(INT____00033);
constraint int_times(INT____00036, INT____00036, INT____00037) :: defines_var(INT____00037);
constraint int_times(INT____00043, INT____00043, INT____00044) :: defines_var(INT____00044);
constraint int_times(INT____00046, INT____00046, INT____00047) :: defines_var(INT____00047);
constraint int_times(INT____00054, INT____00054, INT____00055) :: defines_var(INT____00055);
constraint int_times(INT____00056, INT____00056, INT____00057) :: defines_var(INT____00057);
constraint int_times(INT____00060, INT____00060, INT____00061) :: defines_var(INT____00061);
constraint int_times(INT____00062, INT____00062, INT____00063) :: defines_var(INT____00063);
constraint int_times(INT____00070, INT____00070, INT____00071) :: defines_var(INT____00071);
constraint int_times(INT____00074, INT____00074, INT____00075) :: defines_var(INT____00075);
constraint int_times(INT____00082, INT____00082, INT____00083) :: defines_var(INT____00083);
constraint int_times(INT____00086, INT____00086, INT____00087) :: defines_var(INT____00087);
constraint int_times(INT____00106, INT____00106, INT____00107) :: defines_var(INT____00107);
constraint int_times(INT____00109, INT____00109, INT____00110) :: defines_var(INT____00110);
constraint int_times(INT____00113, INT____00113, INT____00114) :: defines_var(INT____00114);
constraint int_times(INT____00116, INT____00116, INT____00117) :: defines_var(INT____00117);
constraint int_times(INT____00124, INT____00124, INT____00125) :: defines_var(INT____00125);
constraint int_times(INT____00128, INT____00128, INT____00129) :: defines_var(INT____00129);
constraint int_times(INT____00142, INT____00142, INT____00143) :: defines_var(INT____00143);
constraint int_times(INT____00146, INT____00146, INT____00147) :: defines_var(INT____00147);
constraint int_times(INT____00160, INT____00160, INT____00161) :: defines_var(INT____00161);
constraint int_times(INT____00164, INT____00164, INT____00165) :: defines_var(INT____00165);
constraint int_times(INT____00172, INT____00172, INT____00173) :: defines_var(INT____00173);
constraint int_times(INT____00176, INT____00176, INT____00177) :: defines_var(INT____00177);
constraint int_times(INT____00184, INT____00184, INT____00185) :: defines_var(INT____00185);
constraint int_times(INT____00188, INT____00188, INT____00189) :: defines_var(INT____00189);
constraint int_times(INT____00201, INT____00201, INT____00202) :: defines_var(INT____00202);
constraint int_times(INT____00204, INT____00204, INT____00205) :: defines_var(INT____00205);
solve :: int_search([x[1], x[2], x[3], x[4]], first_fail, indomain_split, complete) minimize INT____00215;