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

35 lines
2.1 KiB
MiniZinc

var bool: BOOL____00001 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00002 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00003 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00004 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00007 :: 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 0..1: INT____00011 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00012 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00013 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00014 :: is_defined_var :: var_is_introduced;
var 0..35: INT____00015 :: is_defined_var :: var_is_introduced;
var 0..35: cost :: output_var = INT____00015;
var bool: h :: output_var;
var bool: n :: output_var;
var bool: r :: output_var;
var bool: s :: output_var;
var bool: t :: output_var;
constraint array_bool_or([BOOL____00001, n], true);
constraint array_bool_or([BOOL____00004, n], true);
constraint array_bool_or([BOOL____00009, n], true);
constraint array_bool_or([s, r], BOOL____00002) :: defines_var(BOOL____00002);
constraint array_bool_or([t, h], BOOL____00003) :: defines_var(BOOL____00003);
constraint array_bool_or([BOOL____00007, r, h], BOOL____00008) :: defines_var(BOOL____00008);
constraint bool2int(h, INT____00012) :: defines_var(INT____00012);
constraint bool2int(n, INT____00014) :: defines_var(INT____00014);
constraint bool2int(s, INT____00013) :: defines_var(INT____00013);
constraint bool2int(t, INT____00011) :: defines_var(INT____00011);
constraint bool_eq_reif(s, false, BOOL____00007) :: defines_var(BOOL____00007);
constraint bool_le_reif(BOOL____00002, BOOL____00003, BOOL____00004) :: defines_var(BOOL____00004);
constraint bool_le_reif(BOOL____00008, t, BOOL____00009) :: defines_var(BOOL____00009);
constraint bool_le_reif(t, r, BOOL____00001) :: defines_var(BOOL____00001);
constraint int_lin_eq([-1, 10, 2, 12, 11], [INT____00015, INT____00011, INT____00012, INT____00013, INT____00014], 0) :: defines_var(INT____00015);
solve minimize INT____00015;