Files
ortools-clone/examples/flatzinc/elevator_6_3.fzn
2012-09-03 18:26:36 +00:00

28 lines
2.8 KiB
MiniZinc

array [1..120] of int: c = [1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1];
var 0..20: INT____00001 :: is_defined_var :: var_is_introduced;
var 0..20: sumx :: output_var = INT____00001;
array [1..20] of var 0..1: x :: output_array([1..20]);
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], [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]], 0) :: defines_var(INT____00001);
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[2], x[3], x[4]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[5], x[6], x[7]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[11], x[12], x[13]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[2], x[5], x[8], x[9]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[2], x[11], x[14], x[15]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[3], x[6], x[8], x[10]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[3], x[12], x[14], x[16]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[4], x[7], x[9], x[10]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[4], x[13], x[15], x[16]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[5], x[11], x[17], x[18]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[6], x[12], x[17], x[19]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[7], x[13], x[18], x[19]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[8], x[14], x[17], x[20]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[9], x[15], x[18], x[20]], -1);
constraint int_lin_le([-1, -1, -1, -1], [x[10], x[16], x[19], x[20]], -1);
constraint int_lin_le([-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]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[11], x[12], x[13], x[14], x[15], x[16]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[5], x[6], x[7], x[11], x[12], x[13], x[17], x[18], x[19]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[5], x[8], x[9], x[11], x[14], x[15], x[17], x[18], x[20]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[3], x[6], x[8], x[10], x[12], x[14], x[16], x[17], x[19], x[20]], -1);
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[7], x[9], x[10], x[13], x[15], x[16], x[18], x[19], x[20]], -1);
solve :: int_search(x, first_fail, indomain_min, complete) minimize INT____00001;