Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

proc optmodel presolver = 0;

/* Parmetres */
set<number> YEARS = 1..5;
set<number> PROJECT= 1..6;
number inv_y{PROJECT,YEARS} = [75 25 20 12 20
90 35 0 0 30
60 15 15 15 15
30 20 10 5
5
100 25 20 20 20
50 20 10 30 40];
number budget{YEARS} = [250 75 50 50 50];
number npv{PROJECT}=[141 187 121 83 265 127];
/*number ip{PROJECT,PROJECT}=[

. 1 0 1 0 0
. . 1 0 0 0
. . . 0 0 0
. . . . 0 0
. . . . . 1
. . . . . .
]; */
number ip{PROJECT,PROJECT}=[

0 1 0 1 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
];
/* Model d'optimitzaci */
var Inv{PROJECT} binary;
max Total_benefici = sum {j in PROJECT} npv[j]*Inv[j] ;
/*con Consum_recurs {i in YEARS}: sum {j in PROJECT} inv_y[j,i]*Inv[j]<= budget[
i];*/
con Consum_recurs {i in YEARS}: sum {j in PROJECT} inv_y[j,i]*Inv[j]<= budget[i]
;
con sans{i in PROJECT}: sum{j in PROJECT} ip[i,j]*Inv[j]<=1;
/* Model extens */
expand;
/* Optimitzaci i resultats */
solve;
print Inv.name Inv.lb Inv.sol Inv.ub;
print Consum_recurs.lb Consum_recurs.body Consum_recurs.ub;

You might also like