elevator_8_4.fzn 11.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
array [1..560] of int: c = [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0];
var 0..70: INT____00001 :: is_defined_var :: var_is_introduced;
var 0..70: sumx :: output_var = INT____00001;
array [1..70] of var 0..1: x :: output_array([1..70]);
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], [INT____00001, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64], x[65], x[66], x[67], x[68], x[69], x[70]], 0) :: defines_var(INT____00001);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[6], x[7], x[8], x[9], x[16], x[17], x[18], x[19], x[26], x[27], x[28], x[29], x[30], x[31]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[6], x[7], x[8], x[9], x[36], x[37], x[38], x[39], x[46], x[47], x[48], x[49], x[50], x[51]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[16], x[17], x[18], x[19], x[36], x[37], x[38], x[39], x[56], x[57], x[58], x[59], x[60], x[61]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[6], x[10], x[11], x[12], x[16], x[20], x[21], x[22], x[26], x[27], x[28], x[32], x[33], x[34]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[6], x[10], x[11], x[12], x[36], x[40], x[41], x[42], x[46], x[47], x[48], x[52], x[53], x[54]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[16], x[20], x[21], x[22], x[36], x[40], x[41], x[42], x[56], x[57], x[58], x[62], x[63], x[64]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[3], x[7], x[10], x[13], x[14], x[17], x[20], x[23], x[24], x[26], x[29], x[30], x[32], x[33], x[35]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[3], x[7], x[10], x[13], x[14], x[37], x[40], x[43], x[44], x[46], x[49], x[50], x[52], x[53], x[55]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[3], x[17], x[20], x[23], x[24], x[37], x[40], x[43], x[44], x[56], x[59], x[60], x[62], x[63], x[65]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[8], x[11], x[13], x[15], x[18], x[21], x[23], x[25], x[27], x[29], x[31], x[32], x[34], x[35]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[8], x[11], x[13], x[15], x[38], x[41], x[43], x[45], x[47], x[49], x[51], x[52], x[54], x[55]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[18], x[21], x[23], x[25], x[38], x[41], x[43], x[45], x[57], x[59], x[61], x[62], x[64], x[65]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[5], x[9], x[12], x[14], x[15], x[19], x[22], x[24], x[25], x[28], x[30], x[31], x[33], x[34], x[35]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[5], x[9], x[12], x[14], x[15], x[39], x[42], x[44], x[45], x[48], x[50], x[51], x[53], x[54], x[55]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[5], x[19], x[22], x[24], x[25], x[39], x[42], x[44], x[45], x[58], x[60], x[61], x[63], x[64], x[65]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[6], x[16], x[26], x[27], x[28], x[36], x[46], x[47], x[48], x[56], x[57], x[58], x[66], x[67], x[68]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[7], x[17], x[26], x[29], x[30], x[37], x[46], x[49], x[50], x[56], x[59], x[60], x[66], x[67], x[69]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[8], x[18], x[27], x[29], x[31], x[38], x[47], x[49], x[51], x[57], x[59], x[61], x[66], x[68], x[69]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[9], x[19], x[28], x[30], x[31], x[39], x[48], x[50], x[51], x[58], x[60], x[61], x[67], x[68], x[69]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[10], x[20], x[26], x[32], x[33], x[40], x[46], x[52], x[53], x[56], x[62], x[63], x[66], x[67], x[70]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[11], x[21], x[27], x[32], x[34], x[41], x[47], x[52], x[54], x[57], x[62], x[64], x[66], x[68], x[70]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[12], x[22], x[28], x[33], x[34], x[42], x[48], x[53], x[54], x[58], x[63], x[64], x[67], x[68], x[70]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[13], x[23], x[29], x[32], x[35], x[43], x[49], x[52], x[55], x[59], x[62], x[65], x[66], x[69], x[70]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[14], x[24], x[30], x[33], x[35], x[44], x[50], x[53], x[55], x[60], x[63], x[65], x[67], x[69], x[70]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[15], x[25], x[31], x[34], x[35], x[45], x[51], x[54], x[55], x[61], x[64], x[65], x[68], x[69], x[70]], -1);
constraint int_lin_le([-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], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35]], -1);
constraint int_lin_le([-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], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55]], -1);
constraint int_lin_le([-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], [x[1], x[2], x[3], x[4], x[5], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64], x[65]], -1);
constraint int_lin_le([-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], [x[1], x[6], x[7], x[8], x[9], x[16], x[17], x[18], x[19], x[26], x[27], x[28], x[29], x[30], x[31], x[36], x[37], x[38], x[39], x[46], x[47], x[48], x[49], x[50], x[51], x[56], x[57], x[58], x[59], x[60], x[61], x[66], x[67], x[68], x[69]], -1);
constraint int_lin_le([-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], [x[2], x[6], x[10], x[11], x[12], x[16], x[20], x[21], x[22], x[26], x[27], x[28], x[32], x[33], x[34], x[36], x[40], x[41], x[42], x[46], x[47], x[48], x[52], x[53], x[54], x[56], x[57], x[58], x[62], x[63], x[64], x[66], x[67], x[68], x[70]], -1);
constraint int_lin_le([-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], [x[3], x[7], x[10], x[13], x[14], x[17], x[20], x[23], x[24], x[26], x[29], x[30], x[32], x[33], x[35], x[37], x[40], x[43], x[44], x[46], x[49], x[50], x[52], x[53], x[55], x[56], x[59], x[60], x[62], x[63], x[65], x[66], x[67], x[69], x[70]], -1);
constraint int_lin_le([-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], [x[4], x[8], x[11], x[13], x[15], x[18], x[21], x[23], x[25], x[27], x[29], x[31], x[32], x[34], x[35], x[38], x[41], x[43], x[45], x[47], x[49], x[51], x[52], x[54], x[55], x[57], x[59], x[61], x[62], x[64], x[65], x[66], x[68], x[69], x[70]], -1);
constraint int_lin_le([-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], [x[5], x[9], x[12], x[14], x[15], x[19], x[22], x[24], x[25], x[28], x[30], x[31], x[33], x[34], x[35], x[39], x[42], x[44], x[45], x[48], x[50], x[51], x[53], x[54], x[55], x[58], x[60], x[61], x[63], x[64], x[65], x[67], x[68], x[69], x[70]], -1);
solve  :: int_search(x, first_fail, indomain_min, complete) minimize INT____00001;