26 lines
2.8 KiB
MiniZinc
26 lines
2.8 KiB
MiniZinc
var bool: BOOL____00006 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00008 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00010 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00012 :: is_defined_var :: var_is_introduced;
|
|
var 0..65535: INT____00003 :: is_defined_var :: var_is_introduced;
|
|
var 0..65535: INT____00004 :: is_defined_var :: var_is_introduced;
|
|
var 0..65535: num :: output_var = INT____00004;
|
|
var 0..131070: num2 :: output_var = INT____00003;
|
|
array [1..16] of var 0..1: num2_x :: output_array([1..16]);
|
|
var 0..65535: num3 :: output_var = INT____00004;
|
|
array [1..16] of var 0..1: num3_x :: output_array([1..16]);
|
|
array [1..16] of var 0..1: num_x :: output_array([1..16]);
|
|
constraint int_eq_reif(num2_x[13], 0, BOOL____00006) :: defines_var(BOOL____00006);
|
|
constraint int_eq_reif(num2_x[14], 0, BOOL____00008) :: defines_var(BOOL____00008);
|
|
constraint int_eq_reif(num2_x[15], 0, BOOL____00010) :: defines_var(BOOL____00010);
|
|
constraint int_eq_reif(num2_x[16], 0, BOOL____00012) :: defines_var(BOOL____00012);
|
|
constraint int_eq_reif(num3_x[13], 1, BOOL____00006);
|
|
constraint int_eq_reif(num3_x[14], 1, BOOL____00008);
|
|
constraint int_eq_reif(num3_x[15], 1, BOOL____00010);
|
|
constraint int_eq_reif(num3_x[16], 1, BOOL____00012);
|
|
constraint int_lin_eq([-1, 2], [INT____00003, INT____00004], 0);
|
|
constraint int_lin_eq([-1, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1], [INT____00003, num2_x[1], num2_x[2], num2_x[3], num2_x[4], num2_x[5], num2_x[6], num2_x[7], num2_x[8], num2_x[9], num2_x[10], num2_x[11], num2_x[12], num2_x[13], num2_x[14], num2_x[15], num2_x[16]], 0) :: defines_var(INT____00003);
|
|
constraint int_lin_eq([-1, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1], [INT____00004, num3_x[1], num3_x[2], num3_x[3], num3_x[4], num3_x[5], num3_x[6], num3_x[7], num3_x[8], num3_x[9], num3_x[10], num3_x[11], num3_x[12], num3_x[13], num3_x[14], num3_x[15], num3_x[16]], 0) :: defines_var(INT____00004);
|
|
constraint int_lin_eq([-1, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1], [INT____00004, num_x[1], num_x[2], num_x[3], num_x[4], num_x[5], num_x[6], num_x[7], num_x[8], num_x[9], num_x[10], num_x[11], num_x[12], num_x[13], num_x[14], num_x[15], num_x[16]], 0);
|
|
solve :: int_search([num_x[1], num_x[2], num_x[3], num_x[4], num_x[5], num_x[6], num_x[7], num_x[8], num_x[9], num_x[10], num_x[11], num_x[12], num_x[13], num_x[14], num_x[15], num_x[16], num2_x[1], num2_x[2], num2_x[3], num2_x[4], num2_x[5], num2_x[6], num2_x[7], num2_x[8], num2_x[9], num2_x[10], num2_x[11], num2_x[12], num2_x[13], num2_x[14], num2_x[15], num2_x[16], num3_x[1], num3_x[2], num3_x[3], num3_x[4], num3_x[5], num3_x[6], num3_x[7], num3_x[8], num3_x[9], num3_x[10], num3_x[11], num3_x[12], num3_x[13], num3_x[14], num3_x[15], num3_x[16]], smallest, indomain_min, complete) satisfy;
|