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

39 lines
2.5 KiB
MiniZinc

var bool: BOOL____00001 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00003 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00005 :: 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____00009 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00011 :: 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 0..1: INT____00002 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00004 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00007 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00010 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00013 :: is_defined_var :: var_is_introduced;
var 2..2: ith :: output_var = 2;
var 4..4: pos :: output_var = 4;
array [1..5] of var 0..8: x :: output_array([1..5]);
constraint array_bool_and([BOOL____00011, BOOL____00009], true);
constraint bool2int(BOOL____00001, INT____00002) :: defines_var(INT____00002);
constraint bool2int(BOOL____00003, INT____00004) :: defines_var(INT____00004);
constraint bool2int(BOOL____00006, INT____00007) :: defines_var(INT____00007);
constraint bool2int(BOOL____00009, INT____00010) :: defines_var(INT____00010);
constraint bool2int(BOOL____00012, INT____00013) :: defines_var(INT____00013);
constraint int_eq(x[1], 3);
constraint int_eq(x[2], 0);
constraint int_eq(x[3], 0);
constraint int_eq(x[4], 8);
constraint int_eq(x[5], 6);
constraint int_lin_eq_reif([-1, -1], [INT____00002, INT____00004], -2, BOOL____00005) :: defines_var(BOOL____00005);
constraint int_lin_eq_reif([-1, -1, -1], [INT____00002, INT____00004, INT____00007], -2, BOOL____00008) :: defines_var(BOOL____00008);
constraint int_lin_eq_reif([-1, -1, -1, -1], [INT____00002, INT____00004, INT____00007, INT____00010], -2, BOOL____00011) :: defines_var(BOOL____00011);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1], [INT____00002, INT____00004, INT____00007, INT____00010, INT____00013], -2, BOOL____00014) :: defines_var(BOOL____00014);
constraint int_ne_reif(x[1], 0, BOOL____00001) :: defines_var(BOOL____00001);
constraint int_ne_reif(x[2], 0, BOOL____00003) :: defines_var(BOOL____00003);
constraint int_ne_reif(x[3], 0, BOOL____00006) :: defines_var(BOOL____00006);
constraint int_ne_reif(x[4], 0, BOOL____00009) :: defines_var(BOOL____00009);
constraint int_ne_reif(x[5], 0, BOOL____00012) :: defines_var(BOOL____00012);
solve satisfy;