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

35 lines
1.7 KiB
MiniZinc

array [1..3] of int: nsold = [10, 25, 30];
var int: INT____00001 :: is_defined_var :: var_is_introduced;
var int: INT____00002 :: is_defined_var :: var_is_introduced;
var int: INT____00003 :: is_defined_var :: var_is_introduced;
var int: INT____00004 :: is_defined_var :: var_is_introduced;
var int: INT____00005 :: is_defined_var :: var_is_introduced;
var int: INT____00006 :: is_defined_var :: var_is_introduced;
array [1..2] of var 1..10: p :: output_array([1..2]);
array [1..6] of var int: x :: output_array([1..3, 1..2]);
constraint int_le(0, x[1]);
constraint int_le(0, x[2]);
constraint int_le(0, x[3]);
constraint int_le(0, x[4]);
constraint int_le(0, x[5]);
constraint int_le(0, x[6]);
constraint int_le(x[1], 10);
constraint int_le(x[2], 10);
constraint int_le(x[3], 25);
constraint int_le(x[4], 25);
constraint int_le(x[5], 30);
constraint int_le(x[6], 30);
constraint int_lin_eq([-1, -1], [x[1], x[2]], -10);
constraint int_lin_eq([-1, -1], [x[3], x[4]], -25);
constraint int_lin_eq([-1, -1], [x[5], x[6]], -30);
constraint int_lin_eq([1, 1, -1, -1], [INT____00001, INT____00002, INT____00003, INT____00004], 0);
constraint int_lin_eq([1, 1, -1, -1], [INT____00001, INT____00002, INT____00005, INT____00006], 0);
constraint int_lin_le([1, -1], [p[1], p[2]], -1);
constraint int_times(p[1], x[1], INT____00001) :: defines_var(INT____00001);
constraint int_times(p[1], x[3], INT____00003) :: defines_var(INT____00003);
constraint int_times(p[1], x[5], INT____00005) :: defines_var(INT____00005);
constraint int_times(p[2], x[2], INT____00002) :: defines_var(INT____00002);
constraint int_times(p[2], x[4], INT____00004) :: defines_var(INT____00004);
constraint int_times(p[2], x[6], INT____00006) :: defines_var(INT____00006);
solve satisfy;