more problems
This commit is contained in:
17
examples/flatzinc/enigma_1535.fzn
Normal file
17
examples/flatzinc/enigma_1535.fzn
Normal file
@@ -0,0 +1,17 @@
|
||||
var 100001..999999: INT____00001 :: is_defined_var :: var_is_introduced;
|
||||
var 100000..999998: INT____00002 :: is_defined_var :: var_is_introduced;
|
||||
var 100000..999999: x1 :: output_var = INT____00001;
|
||||
array [1..6] of var 0..9: x1_a;
|
||||
var 100000..999999: x2 :: output_var = INT____00002;
|
||||
array [1..6] of var 0..9: x2_a;
|
||||
constraint int_eq(x2_a[1], x1_a[6]);
|
||||
constraint int_eq(x2_a[2], x1_a[5]);
|
||||
constraint int_eq(x2_a[3], x1_a[4]);
|
||||
constraint int_eq(x2_a[4], x1_a[3]);
|
||||
constraint int_eq(x2_a[5], x1_a[2]);
|
||||
constraint int_eq(x2_a[6], x1_a[1]);
|
||||
constraint int_lin_eq([-1, 100000, 10000, 1000, 100, 10, 1], [INT____00001, x1_a[1], x1_a[2], x1_a[3], x1_a[4], x1_a[5], x1_a[6]], 0) :: defines_var(INT____00001);
|
||||
constraint int_lin_eq([-1, 100000, 10000, 1000, 100, 10, 1], [INT____00002, x2_a[1], x2_a[2], x2_a[3], x2_a[4], x2_a[5], x2_a[6]], 0) :: defines_var(INT____00002);
|
||||
constraint int_lt(INT____00002, INT____00001);
|
||||
constraint int_mod(INT____00001, INT____00002, 0);
|
||||
solve :: int_search([x1_a[1], x1_a[2], x1_a[3], x1_a[4], x1_a[5], x1_a[6], x2_a[1], x2_a[2], x2_a[3], x2_a[4], x2_a[5], x2_a[6], INT____00001, INT____00002], first_fail, indomain_min, complete) satisfy;
|
||||
386
examples/flatzinc/rostering.fzn
Normal file
386
examples/flatzinc/rostering.fzn
Normal file
@@ -0,0 +1,386 @@
|
||||
predicate 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_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 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_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b);
|
||||
array [1..3] of int: workload = [4, 2, 1];
|
||||
var bool: BOOL____00002 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00004 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00006 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00008 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00010 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00012 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00014 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00016 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00018 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00020 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00022 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00024 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00026 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00028 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00030 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00032 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00034 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00036 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00038 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00040 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00042 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00044 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00046 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00048 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00050 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00052 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00054 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00056 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00058 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00060 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00062 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00064 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00066 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00068 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00070 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00072 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00074 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00076 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00078 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00080 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00082 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00084 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00086 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00088 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00090 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00092 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00094 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00096 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00098 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00100 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00102 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00104 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00106 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00108 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00110 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00112 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00114 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00116 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00118 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00120 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00122 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00124 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00126 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00128 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00130 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00132 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00134 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00136 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00138 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00140 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00142 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00144 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00146 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00148 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00150 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00152 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00154 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00156 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00158 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00160 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00162 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00164 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00166 :: is_defined_var :: var_is_introduced;
|
||||
var bool: BOOL____00168 :: is_defined_var :: var_is_introduced;
|
||||
var 21..84: INT____00001 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00003 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00005 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00007 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00009 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00011 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00013 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00015 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00017 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00019 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00021 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00023 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00025 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00027 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00029 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00031 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00033 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00035 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00037 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00039 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00041 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00043 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00045 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00047 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00049 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00051 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00053 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00055 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00057 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00059 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00061 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00063 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00065 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00067 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00069 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00071 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00073 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00075 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00077 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00079 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00081 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00083 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00085 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00087 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00089 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00091 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00093 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00095 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00097 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00099 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00101 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00103 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00105 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00107 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00109 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00111 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00113 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00115 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00117 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00119 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00121 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00123 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00125 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00127 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00129 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00131 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00133 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00135 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00137 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00139 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00141 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00143 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00145 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00147 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00149 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00151 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00153 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00155 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00157 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00159 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00161 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00163 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00165 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00167 :: is_defined_var :: var_is_introduced;
|
||||
var 0..1: INT____00169 :: is_defined_var :: var_is_introduced;
|
||||
array [1..4] of var 0..7: num_workdays :: output_array([1..4]);
|
||||
array [1..21] of var 1..4: on_duty :: output_array([1..7, 1..3]);
|
||||
var 21..84: z :: output_var = INT____00001;
|
||||
constraint bool2int(BOOL____00002, INT____00003) :: defines_var(INT____00003);
|
||||
constraint bool2int(BOOL____00004, INT____00005) :: defines_var(INT____00005);
|
||||
constraint bool2int(BOOL____00006, INT____00007) :: defines_var(INT____00007);
|
||||
constraint bool2int(BOOL____00008, INT____00009) :: defines_var(INT____00009);
|
||||
constraint bool2int(BOOL____00010, INT____00011) :: defines_var(INT____00011);
|
||||
constraint bool2int(BOOL____00012, INT____00013) :: defines_var(INT____00013);
|
||||
constraint bool2int(BOOL____00014, INT____00015) :: defines_var(INT____00015);
|
||||
constraint bool2int(BOOL____00016, INT____00017) :: defines_var(INT____00017);
|
||||
constraint bool2int(BOOL____00018, INT____00019) :: defines_var(INT____00019);
|
||||
constraint bool2int(BOOL____00020, INT____00021) :: defines_var(INT____00021);
|
||||
constraint bool2int(BOOL____00022, INT____00023) :: defines_var(INT____00023);
|
||||
constraint bool2int(BOOL____00024, INT____00025) :: defines_var(INT____00025);
|
||||
constraint bool2int(BOOL____00026, INT____00027) :: defines_var(INT____00027);
|
||||
constraint bool2int(BOOL____00028, INT____00029) :: defines_var(INT____00029);
|
||||
constraint bool2int(BOOL____00030, INT____00031) :: defines_var(INT____00031);
|
||||
constraint bool2int(BOOL____00032, INT____00033) :: defines_var(INT____00033);
|
||||
constraint bool2int(BOOL____00034, INT____00035) :: defines_var(INT____00035);
|
||||
constraint bool2int(BOOL____00036, INT____00037) :: defines_var(INT____00037);
|
||||
constraint bool2int(BOOL____00038, INT____00039) :: defines_var(INT____00039);
|
||||
constraint bool2int(BOOL____00040, INT____00041) :: defines_var(INT____00041);
|
||||
constraint bool2int(BOOL____00042, INT____00043) :: defines_var(INT____00043);
|
||||
constraint bool2int(BOOL____00044, INT____00045) :: defines_var(INT____00045);
|
||||
constraint bool2int(BOOL____00046, INT____00047) :: defines_var(INT____00047);
|
||||
constraint bool2int(BOOL____00048, INT____00049) :: defines_var(INT____00049);
|
||||
constraint bool2int(BOOL____00050, INT____00051) :: defines_var(INT____00051);
|
||||
constraint bool2int(BOOL____00052, INT____00053) :: defines_var(INT____00053);
|
||||
constraint bool2int(BOOL____00054, INT____00055) :: defines_var(INT____00055);
|
||||
constraint bool2int(BOOL____00056, INT____00057) :: defines_var(INT____00057);
|
||||
constraint bool2int(BOOL____00058, INT____00059) :: defines_var(INT____00059);
|
||||
constraint bool2int(BOOL____00060, INT____00061) :: defines_var(INT____00061);
|
||||
constraint bool2int(BOOL____00062, INT____00063) :: defines_var(INT____00063);
|
||||
constraint bool2int(BOOL____00064, INT____00065) :: defines_var(INT____00065);
|
||||
constraint bool2int(BOOL____00066, INT____00067) :: defines_var(INT____00067);
|
||||
constraint bool2int(BOOL____00068, INT____00069) :: defines_var(INT____00069);
|
||||
constraint bool2int(BOOL____00070, INT____00071) :: defines_var(INT____00071);
|
||||
constraint bool2int(BOOL____00072, INT____00073) :: defines_var(INT____00073);
|
||||
constraint bool2int(BOOL____00074, INT____00075) :: defines_var(INT____00075);
|
||||
constraint bool2int(BOOL____00076, INT____00077) :: defines_var(INT____00077);
|
||||
constraint bool2int(BOOL____00078, INT____00079) :: defines_var(INT____00079);
|
||||
constraint bool2int(BOOL____00080, INT____00081) :: defines_var(INT____00081);
|
||||
constraint bool2int(BOOL____00082, INT____00083) :: defines_var(INT____00083);
|
||||
constraint bool2int(BOOL____00084, INT____00085) :: defines_var(INT____00085);
|
||||
constraint bool2int(BOOL____00086, INT____00087) :: defines_var(INT____00087);
|
||||
constraint bool2int(BOOL____00088, INT____00089) :: defines_var(INT____00089);
|
||||
constraint bool2int(BOOL____00090, INT____00091) :: defines_var(INT____00091);
|
||||
constraint bool2int(BOOL____00092, INT____00093) :: defines_var(INT____00093);
|
||||
constraint bool2int(BOOL____00094, INT____00095) :: defines_var(INT____00095);
|
||||
constraint bool2int(BOOL____00096, INT____00097) :: defines_var(INT____00097);
|
||||
constraint bool2int(BOOL____00098, INT____00099) :: defines_var(INT____00099);
|
||||
constraint bool2int(BOOL____00100, INT____00101) :: defines_var(INT____00101);
|
||||
constraint bool2int(BOOL____00102, INT____00103) :: defines_var(INT____00103);
|
||||
constraint bool2int(BOOL____00104, INT____00105) :: defines_var(INT____00105);
|
||||
constraint bool2int(BOOL____00106, INT____00107) :: defines_var(INT____00107);
|
||||
constraint bool2int(BOOL____00108, INT____00109) :: defines_var(INT____00109);
|
||||
constraint bool2int(BOOL____00110, INT____00111) :: defines_var(INT____00111);
|
||||
constraint bool2int(BOOL____00112, INT____00113) :: defines_var(INT____00113);
|
||||
constraint bool2int(BOOL____00114, INT____00115) :: defines_var(INT____00115);
|
||||
constraint bool2int(BOOL____00116, INT____00117) :: defines_var(INT____00117);
|
||||
constraint bool2int(BOOL____00118, INT____00119) :: defines_var(INT____00119);
|
||||
constraint bool2int(BOOL____00120, INT____00121) :: defines_var(INT____00121);
|
||||
constraint bool2int(BOOL____00122, INT____00123) :: defines_var(INT____00123);
|
||||
constraint bool2int(BOOL____00124, INT____00125) :: defines_var(INT____00125);
|
||||
constraint bool2int(BOOL____00126, INT____00127) :: defines_var(INT____00127);
|
||||
constraint bool2int(BOOL____00128, INT____00129) :: defines_var(INT____00129);
|
||||
constraint bool2int(BOOL____00130, INT____00131) :: defines_var(INT____00131);
|
||||
constraint bool2int(BOOL____00132, INT____00133) :: defines_var(INT____00133);
|
||||
constraint bool2int(BOOL____00134, INT____00135) :: defines_var(INT____00135);
|
||||
constraint bool2int(BOOL____00136, INT____00137) :: defines_var(INT____00137);
|
||||
constraint bool2int(BOOL____00138, INT____00139) :: defines_var(INT____00139);
|
||||
constraint bool2int(BOOL____00140, INT____00141) :: defines_var(INT____00141);
|
||||
constraint bool2int(BOOL____00142, INT____00143) :: defines_var(INT____00143);
|
||||
constraint bool2int(BOOL____00144, INT____00145) :: defines_var(INT____00145);
|
||||
constraint bool2int(BOOL____00146, INT____00147) :: defines_var(INT____00147);
|
||||
constraint bool2int(BOOL____00148, INT____00149) :: defines_var(INT____00149);
|
||||
constraint bool2int(BOOL____00150, INT____00151) :: defines_var(INT____00151);
|
||||
constraint bool2int(BOOL____00152, INT____00153) :: defines_var(INT____00153);
|
||||
constraint bool2int(BOOL____00154, INT____00155) :: defines_var(INT____00155);
|
||||
constraint bool2int(BOOL____00156, INT____00157) :: defines_var(INT____00157);
|
||||
constraint bool2int(BOOL____00158, INT____00159) :: defines_var(INT____00159);
|
||||
constraint bool2int(BOOL____00160, INT____00161) :: defines_var(INT____00161);
|
||||
constraint bool2int(BOOL____00162, INT____00163) :: defines_var(INT____00163);
|
||||
constraint bool2int(BOOL____00164, INT____00165) :: defines_var(INT____00165);
|
||||
constraint bool2int(BOOL____00166, INT____00167) :: defines_var(INT____00167);
|
||||
constraint bool2int(BOOL____00168, INT____00169) :: defines_var(INT____00169);
|
||||
constraint int_eq_reif(1, on_duty[1], BOOL____00002) :: defines_var(BOOL____00002);
|
||||
constraint int_eq_reif(1, on_duty[2], BOOL____00004) :: defines_var(BOOL____00004);
|
||||
constraint int_eq_reif(1, on_duty[3], BOOL____00006) :: defines_var(BOOL____00006);
|
||||
constraint int_eq_reif(1, on_duty[4], BOOL____00008) :: defines_var(BOOL____00008);
|
||||
constraint int_eq_reif(1, on_duty[5], BOOL____00010) :: defines_var(BOOL____00010);
|
||||
constraint int_eq_reif(1, on_duty[6], BOOL____00012) :: defines_var(BOOL____00012);
|
||||
constraint int_eq_reif(1, on_duty[7], BOOL____00014) :: defines_var(BOOL____00014);
|
||||
constraint int_eq_reif(1, on_duty[8], BOOL____00016) :: defines_var(BOOL____00016);
|
||||
constraint int_eq_reif(1, on_duty[9], BOOL____00018) :: defines_var(BOOL____00018);
|
||||
constraint int_eq_reif(1, on_duty[10], BOOL____00020) :: defines_var(BOOL____00020);
|
||||
constraint int_eq_reif(1, on_duty[11], BOOL____00022) :: defines_var(BOOL____00022);
|
||||
constraint int_eq_reif(1, on_duty[12], BOOL____00024) :: defines_var(BOOL____00024);
|
||||
constraint int_eq_reif(1, on_duty[13], BOOL____00026) :: defines_var(BOOL____00026);
|
||||
constraint int_eq_reif(1, on_duty[14], BOOL____00028) :: defines_var(BOOL____00028);
|
||||
constraint int_eq_reif(1, on_duty[15], BOOL____00030) :: defines_var(BOOL____00030);
|
||||
constraint int_eq_reif(1, on_duty[16], BOOL____00032) :: defines_var(BOOL____00032);
|
||||
constraint int_eq_reif(1, on_duty[17], BOOL____00034) :: defines_var(BOOL____00034);
|
||||
constraint int_eq_reif(1, on_duty[18], BOOL____00036) :: defines_var(BOOL____00036);
|
||||
constraint int_eq_reif(1, on_duty[19], BOOL____00038) :: defines_var(BOOL____00038);
|
||||
constraint int_eq_reif(1, on_duty[20], BOOL____00040) :: defines_var(BOOL____00040);
|
||||
constraint int_eq_reif(1, on_duty[21], BOOL____00042) :: defines_var(BOOL____00042);
|
||||
constraint int_eq_reif(2, on_duty[1], BOOL____00044) :: defines_var(BOOL____00044);
|
||||
constraint int_eq_reif(2, on_duty[2], BOOL____00046) :: defines_var(BOOL____00046);
|
||||
constraint int_eq_reif(2, on_duty[3], BOOL____00048) :: defines_var(BOOL____00048);
|
||||
constraint int_eq_reif(2, on_duty[4], BOOL____00050) :: defines_var(BOOL____00050);
|
||||
constraint int_eq_reif(2, on_duty[5], BOOL____00052) :: defines_var(BOOL____00052);
|
||||
constraint int_eq_reif(2, on_duty[6], BOOL____00054) :: defines_var(BOOL____00054);
|
||||
constraint int_eq_reif(2, on_duty[7], BOOL____00056) :: defines_var(BOOL____00056);
|
||||
constraint int_eq_reif(2, on_duty[8], BOOL____00058) :: defines_var(BOOL____00058);
|
||||
constraint int_eq_reif(2, on_duty[9], BOOL____00060) :: defines_var(BOOL____00060);
|
||||
constraint int_eq_reif(2, on_duty[10], BOOL____00062) :: defines_var(BOOL____00062);
|
||||
constraint int_eq_reif(2, on_duty[11], BOOL____00064) :: defines_var(BOOL____00064);
|
||||
constraint int_eq_reif(2, on_duty[12], BOOL____00066) :: defines_var(BOOL____00066);
|
||||
constraint int_eq_reif(2, on_duty[13], BOOL____00068) :: defines_var(BOOL____00068);
|
||||
constraint int_eq_reif(2, on_duty[14], BOOL____00070) :: defines_var(BOOL____00070);
|
||||
constraint int_eq_reif(2, on_duty[15], BOOL____00072) :: defines_var(BOOL____00072);
|
||||
constraint int_eq_reif(2, on_duty[16], BOOL____00074) :: defines_var(BOOL____00074);
|
||||
constraint int_eq_reif(2, on_duty[17], BOOL____00076) :: defines_var(BOOL____00076);
|
||||
constraint int_eq_reif(2, on_duty[18], BOOL____00078) :: defines_var(BOOL____00078);
|
||||
constraint int_eq_reif(2, on_duty[19], BOOL____00080) :: defines_var(BOOL____00080);
|
||||
constraint int_eq_reif(2, on_duty[20], BOOL____00082) :: defines_var(BOOL____00082);
|
||||
constraint int_eq_reif(2, on_duty[21], BOOL____00084) :: defines_var(BOOL____00084);
|
||||
constraint int_eq_reif(3, on_duty[1], BOOL____00086) :: defines_var(BOOL____00086);
|
||||
constraint int_eq_reif(3, on_duty[2], BOOL____00088) :: defines_var(BOOL____00088);
|
||||
constraint int_eq_reif(3, on_duty[3], BOOL____00090) :: defines_var(BOOL____00090);
|
||||
constraint int_eq_reif(3, on_duty[4], BOOL____00092) :: defines_var(BOOL____00092);
|
||||
constraint int_eq_reif(3, on_duty[5], BOOL____00094) :: defines_var(BOOL____00094);
|
||||
constraint int_eq_reif(3, on_duty[6], BOOL____00096) :: defines_var(BOOL____00096);
|
||||
constraint int_eq_reif(3, on_duty[7], BOOL____00098) :: defines_var(BOOL____00098);
|
||||
constraint int_eq_reif(3, on_duty[8], BOOL____00100) :: defines_var(BOOL____00100);
|
||||
constraint int_eq_reif(3, on_duty[9], BOOL____00102) :: defines_var(BOOL____00102);
|
||||
constraint int_eq_reif(3, on_duty[10], BOOL____00104) :: defines_var(BOOL____00104);
|
||||
constraint int_eq_reif(3, on_duty[11], BOOL____00106) :: defines_var(BOOL____00106);
|
||||
constraint int_eq_reif(3, on_duty[12], BOOL____00108) :: defines_var(BOOL____00108);
|
||||
constraint int_eq_reif(3, on_duty[13], BOOL____00110) :: defines_var(BOOL____00110);
|
||||
constraint int_eq_reif(3, on_duty[14], BOOL____00112) :: defines_var(BOOL____00112);
|
||||
constraint int_eq_reif(3, on_duty[15], BOOL____00114) :: defines_var(BOOL____00114);
|
||||
constraint int_eq_reif(3, on_duty[16], BOOL____00116) :: defines_var(BOOL____00116);
|
||||
constraint int_eq_reif(3, on_duty[17], BOOL____00118) :: defines_var(BOOL____00118);
|
||||
constraint int_eq_reif(3, on_duty[18], BOOL____00120) :: defines_var(BOOL____00120);
|
||||
constraint int_eq_reif(3, on_duty[19], BOOL____00122) :: defines_var(BOOL____00122);
|
||||
constraint int_eq_reif(3, on_duty[20], BOOL____00124) :: defines_var(BOOL____00124);
|
||||
constraint int_eq_reif(3, on_duty[21], BOOL____00126) :: defines_var(BOOL____00126);
|
||||
constraint int_eq_reif(4, on_duty[1], BOOL____00128) :: defines_var(BOOL____00128);
|
||||
constraint int_eq_reif(4, on_duty[2], BOOL____00130) :: defines_var(BOOL____00130);
|
||||
constraint int_eq_reif(4, on_duty[3], BOOL____00132) :: defines_var(BOOL____00132);
|
||||
constraint int_eq_reif(4, on_duty[4], BOOL____00134) :: defines_var(BOOL____00134);
|
||||
constraint int_eq_reif(4, on_duty[5], BOOL____00136) :: defines_var(BOOL____00136);
|
||||
constraint int_eq_reif(4, on_duty[6], BOOL____00138) :: defines_var(BOOL____00138);
|
||||
constraint int_eq_reif(4, on_duty[7], BOOL____00140) :: defines_var(BOOL____00140);
|
||||
constraint int_eq_reif(4, on_duty[8], BOOL____00142) :: defines_var(BOOL____00142);
|
||||
constraint int_eq_reif(4, on_duty[9], BOOL____00144) :: defines_var(BOOL____00144);
|
||||
constraint int_eq_reif(4, on_duty[10], BOOL____00146) :: defines_var(BOOL____00146);
|
||||
constraint int_eq_reif(4, on_duty[11], BOOL____00148) :: defines_var(BOOL____00148);
|
||||
constraint int_eq_reif(4, on_duty[12], BOOL____00150) :: defines_var(BOOL____00150);
|
||||
constraint int_eq_reif(4, on_duty[13], BOOL____00152) :: defines_var(BOOL____00152);
|
||||
constraint int_eq_reif(4, on_duty[14], BOOL____00154) :: defines_var(BOOL____00154);
|
||||
constraint int_eq_reif(4, on_duty[15], BOOL____00156) :: defines_var(BOOL____00156);
|
||||
constraint int_eq_reif(4, on_duty[16], BOOL____00158) :: defines_var(BOOL____00158);
|
||||
constraint int_eq_reif(4, on_duty[17], BOOL____00160) :: defines_var(BOOL____00160);
|
||||
constraint int_eq_reif(4, on_duty[18], BOOL____00162) :: defines_var(BOOL____00162);
|
||||
constraint int_eq_reif(4, on_duty[19], BOOL____00164) :: defines_var(BOOL____00164);
|
||||
constraint int_eq_reif(4, on_duty[20], BOOL____00166) :: defines_var(BOOL____00166);
|
||||
constraint int_eq_reif(4, on_duty[21], BOOL____00168) :: defines_var(BOOL____00168);
|
||||
constraint int_le(5, num_workdays[1]);
|
||||
constraint int_le(5, num_workdays[2]);
|
||||
constraint int_le(5, num_workdays[3]);
|
||||
constraint int_le(5, num_workdays[4]);
|
||||
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], [INT____00003, INT____00005, INT____00007, INT____00009, INT____00011, INT____00013, INT____00015, INT____00017, INT____00019, INT____00021, INT____00023, INT____00025, INT____00027, INT____00029, INT____00031, INT____00033, INT____00035, INT____00037, INT____00039, INT____00041, INT____00043, num_workdays[1]], 0);
|
||||
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], [INT____00045, INT____00047, INT____00049, INT____00051, INT____00053, INT____00055, INT____00057, INT____00059, INT____00061, INT____00063, INT____00065, INT____00067, INT____00069, INT____00071, INT____00073, INT____00075, INT____00077, INT____00079, INT____00081, INT____00083, INT____00085, num_workdays[2]], 0);
|
||||
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], [INT____00087, INT____00089, INT____00091, INT____00093, INT____00095, INT____00097, INT____00099, INT____00101, INT____00103, INT____00105, INT____00107, INT____00109, INT____00111, INT____00113, INT____00115, INT____00117, INT____00119, INT____00121, INT____00123, INT____00125, INT____00127, num_workdays[3]], 0);
|
||||
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], [INT____00129, INT____00131, INT____00133, INT____00135, INT____00137, INT____00139, INT____00141, INT____00143, INT____00145, INT____00147, INT____00149, INT____00151, INT____00153, INT____00155, INT____00157, INT____00159, INT____00161, INT____00163, INT____00165, INT____00167, INT____00169, num_workdays[4]], 0);
|
||||
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], [INT____00001, on_duty[1], on_duty[2], on_duty[3], on_duty[4], on_duty[5], on_duty[6], on_duty[7], on_duty[8], on_duty[9], on_duty[10], on_duty[11], on_duty[12], on_duty[13], on_duty[14], on_duty[15], on_duty[16], on_duty[17], on_duty[18], on_duty[19], on_duty[20], on_duty[21]], 0) :: defines_var(INT____00001);
|
||||
constraint int_lin_le([4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1], [INT____00003, INT____00005, INT____00007, INT____00009, INT____00011, INT____00013, INT____00015, INT____00017, INT____00019, INT____00021, INT____00023, INT____00025, INT____00027, INT____00029, INT____00031, INT____00033, INT____00035, INT____00037, INT____00039, INT____00041, INT____00043], 13);
|
||||
constraint int_lin_le([4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1], [INT____00045, INT____00047, INT____00049, INT____00051, INT____00053, INT____00055, INT____00057, INT____00059, INT____00061, INT____00063, INT____00065, INT____00067, INT____00069, INT____00071, INT____00073, INT____00075, INT____00077, INT____00079, INT____00081, INT____00083, INT____00085], 13);
|
||||
constraint int_lin_le([4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1], [INT____00087, INT____00089, INT____00091, INT____00093, INT____00095, INT____00097, INT____00099, INT____00101, INT____00103, INT____00105, INT____00107, INT____00109, INT____00111, INT____00113, INT____00115, INT____00117, INT____00119, INT____00121, INT____00123, INT____00125, INT____00127], 13);
|
||||
constraint int_lin_le([4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1, 4, 2, 1], [INT____00129, INT____00131, INT____00133, INT____00135, INT____00137, INT____00139, INT____00141, INT____00143, INT____00145, INT____00147, INT____00149, INT____00151, INT____00153, INT____00155, INT____00157, INT____00159, INT____00161, INT____00163, INT____00165, INT____00167, INT____00169], 13);
|
||||
constraint int_ne(on_duty[1], on_duty[2]);
|
||||
constraint int_ne(on_duty[1], on_duty[3]);
|
||||
constraint int_ne(on_duty[2], on_duty[3]);
|
||||
constraint int_ne(on_duty[4], on_duty[5]);
|
||||
constraint int_ne(on_duty[4], on_duty[6]);
|
||||
constraint int_ne(on_duty[5], on_duty[6]);
|
||||
constraint int_ne(on_duty[7], on_duty[8]);
|
||||
constraint int_ne(on_duty[7], on_duty[9]);
|
||||
constraint int_ne(on_duty[8], on_duty[9]);
|
||||
constraint int_ne(on_duty[10], on_duty[11]);
|
||||
constraint int_ne(on_duty[10], on_duty[12]);
|
||||
constraint int_ne(on_duty[11], on_duty[12]);
|
||||
constraint int_ne(on_duty[13], on_duty[14]);
|
||||
constraint int_ne(on_duty[13], on_duty[15]);
|
||||
constraint int_ne(on_duty[14], on_duty[15]);
|
||||
constraint int_ne(on_duty[16], on_duty[17]);
|
||||
constraint int_ne(on_duty[16], on_duty[18]);
|
||||
constraint int_ne(on_duty[17], on_duty[18]);
|
||||
constraint int_ne(on_duty[19], on_duty[20]);
|
||||
constraint int_ne(on_duty[19], on_duty[21]);
|
||||
constraint int_ne(on_duty[20], on_duty[21]);
|
||||
solve :: int_search([on_duty[1], on_duty[2], on_duty[3], on_duty[4], on_duty[5], on_duty[6], on_duty[7], on_duty[8], on_duty[9], on_duty[10], on_duty[11], on_duty[12], on_duty[13], on_duty[14], on_duty[15], on_duty[16], on_duty[17], on_duty[18], on_duty[19], on_duty[20], on_duty[21]], first_fail, indomain_min, complete) satisfy;
|
||||
Reference in New Issue
Block a user