35 lines
2.1 KiB
MiniZinc
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;
|