investment_problem.fzn 3.45 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
array [1..40] of int: returns = [0, 0, 0, 0, 0, 0, 0, 0, 41, 18, 15, 22, 13, 42, 22, 10, 58, 30, 25, 38, 24, 59, 35, 17, 65, 39, 33, 48, 32, 66, 42, 23, 68, 45, 38, 55, 39, 68, 46, 28];
var 1..33: INT____00001 :: is_defined_var :: var_is_introduced;
var 2..34: INT____00003 :: is_defined_var :: var_is_introduced;
var 3..35: INT____00005 :: is_defined_var :: var_is_introduced;
var 4..36: INT____00007 :: is_defined_var :: var_is_introduced;
var 5..37: INT____00009 :: is_defined_var :: var_is_introduced;
var 6..38: INT____00011 :: is_defined_var :: var_is_introduced;
var 7..39: INT____00013 :: is_defined_var :: var_is_introduced;
var 8..40: INT____00015 :: is_defined_var :: var_is_introduced;
var 223..594: INT____00017 :: is_defined_var :: var_is_introduced;
var 0..10: not_invested :: output_var;
array [1..8] of var int: the_returns :: output_array([1..8]);
var 0..68: INT____00016 :: var_is_introduced = the_returns[8];
var 0..68: INT____00014 :: var_is_introduced = the_returns[7];
var 0..68: INT____00012 :: var_is_introduced = the_returns[6];
var 0..68: INT____00010 :: var_is_introduced = the_returns[5];
var 0..68: INT____00008 :: var_is_introduced = the_returns[4];
var 0..68: INT____00006 :: var_is_introduced = the_returns[3];
var 0..68: INT____00004 :: var_is_introduced = the_returns[2];
var 0..68: INT____00002 :: var_is_introduced = the_returns[1];
array [1..8] of var 0..4: x :: output_array([1..8]);
var 223..594: z :: output_var = INT____00017;
constraint array_int_element(INT____00001, returns, the_returns[1]);
constraint array_int_element(INT____00003, returns, the_returns[2]);
constraint array_int_element(INT____00005, returns, the_returns[3]);
constraint array_int_element(INT____00007, returns, the_returns[4]);
constraint array_int_element(INT____00009, returns, the_returns[5]);
constraint array_int_element(INT____00011, returns, the_returns[6]);
constraint array_int_element(INT____00013, returns, the_returns[7]);
constraint array_int_element(INT____00015, returns, the_returns[8]);
constraint int_le(0, the_returns[1]);
constraint int_le(0, the_returns[2]);
constraint int_le(0, the_returns[3]);
constraint int_le(0, the_returns[4]);
constraint int_le(0, the_returns[5]);
constraint int_le(0, the_returns[6]);
constraint int_le(0, the_returns[7]);
constraint int_le(0, the_returns[8]);
constraint int_lin_eq([-1, 8], [INT____00001, x[1]], -1) :: defines_var(INT____00001) :: domain;
constraint int_lin_eq([-1, 8], [INT____00003, x[2]], -2) :: defines_var(INT____00003) :: domain;
constraint int_lin_eq([-1, 8], [INT____00005, x[3]], -3) :: defines_var(INT____00005) :: domain;
constraint int_lin_eq([-1, 8], [INT____00007, x[4]], -4) :: defines_var(INT____00007) :: domain;
constraint int_lin_eq([-1, 8], [INT____00009, x[5]], -5) :: defines_var(INT____00009) :: domain;
constraint int_lin_eq([-1, 8], [INT____00011, x[6]], -6) :: defines_var(INT____00011) :: domain;
constraint int_lin_eq([-1, 8], [INT____00013, x[7]], -7) :: defines_var(INT____00013) :: domain;
constraint int_lin_eq([-1, 8], [INT____00015, x[8]], -8) :: defines_var(INT____00015) :: domain;
constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1, 1, 5], [INT____00017, the_returns[1], the_returns[2], the_returns[3], the_returns[4], the_returns[5], the_returns[6], the_returns[7], the_returns[8], not_invested], 0) :: defines_var(INT____00017);
constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1, 1], [not_invested, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]], 10);
solve  :: int_search(x, input_order, indomain_min, complete) satisfy;