DATA:
prob=0.7;
rA=10; rB=7;
dA=70;dB=30;
c1= 3; c2A=6; c2B=4;
cap=50;
ENDDATA
MAX =prob*(rA*VA-c1*P1-c2A*P2A)+(1-prob)*(rB*VB-c1*P1-c2B*P2B);
P1 < cap;
P2A < cap;
P2B < cap;
VA < P1 + P2A;
VB < P1 + P2B;
VA < dA;
VB < dB;
DATA: probA=0.7;
prezzoA=20;
prezzoB=15;
costo1=10;
costo2=15;
domA=70;
domB=30;
cap=50;
thr=100;
ENDDATA
Max = probA*prezzoA* VA +(1-probA)*prezzoB*VB-costo1 * P1 -
costo2 *( probA* P2A + (1-probA)*P2B);
gainA=prezzoA* VA-costo1 * P1-costo2 * P2A;
gainB=prezzoB* VB-costo1 * P1-costo2 * P2B;
[vendomA] VA < domA;
[venproA] VA < P1 + P2A ;
[vendomB] VB < domB;
[venproB] VB < P1 + P2B ;
[cap1] P1 < cap;
[cap2A] P2A <cap;
[cap2B] P2B <cap;
dwnA > thr - gainA;
dwnB > thr - gainB;
risk= probA*dwnA+(1-probA)*dwnB;
[risk] risk < 10;
@BND(-100,gainB,1000);
DATA: probA=0.9603;
prezzoA=20;
prezzoB=15;
costo1=10;
costo2=15;
domA=70;
domB=30;
cap=50;
ENDDATA
Max = probA*utA+(1-probA)*utB;
gainA=prezzoA* VA-costo1 * P1-costo2 * P2A;
gainA+50=gainA1+gainA2+gainA3+gainA4;
gainA1<50; gainA2<150; gainA3<350; gainA4<100;
gainB=prezzoB* VB-costo1 * P1-costo2 * P2B;
gainB+50=gainB1+gainB2+gainB3+gainB4;
gainB1<50; gainB2<150; gainB3<350; gainB4<100;
utA=utA1+utA2+utA3+utA4;
utB=utB1+utB2+utB3+utB4;
utA1=gainA1*0.3/50; utA2=gainA2*0.3/150; utA3=gainA3*0.35/350; utA4=gainA4*0.05/100;
utB1=gainB1*0.3/50; utB2=gainB2*0.3/150; utB3=gainB3*0.35/350; utB4=gainB4*0.05/100;
[vdA] VA < domA;
[vpA] VA < P1 + P2A;
[vdB] VB < domB;
[vpB] VB < P1 + P2B ;
[cap] P1 < cap;
P2A <cap;
P2B <cap;
@BND(-100,gainB,1000);
DATA: probA=0.2;
probN=0.5;
prezzoA=20;
prezzoB=15;
prezzoN=18;
costo1=10;
costo2=15;
domA=70;
domB=30;
domN=50;
cap=50;
thr=100;
ENDDATA
Max = probA*gainA+probB*gainB+probN*gainN;
probA+probB+probN=1;
gainA=prezzoA* VA-costo1 * P1-costo2 * P2A;
gainB=prezzoB* VB-costo1 * P1-costo2 * P2B;
gainN=prezzoN* VN-costo1 * P1-costo2 * P2N;
VA < domA;
VA < P1 + P2A;
VB < domB;
VB < P1 + P2B ;
VN < domN;
VN < P1 + P2N ;
P1 < cap;
P2A <cap;
P2B <cap;
P2N <cap;
dwnA > thr - gainA;
dwnB > thr - gainB;
dwnN > thr - gainN;
risk= probA*dwnA+probB*dwnB+probN*dwnN;
risk < 10;
@BND(-100,gainB,1000);
MIN =10 * P1 +
15 *( prob* P2A + (1-prob)*P2B)+
18*prob*(probAA*P3AA+(1-probAA)*P3AB)+
18*(1-prob)*(probBB*P3BB+(1-probBB)*P3BA);
DATA: prob=0.5;
probAA=0.8;
probBB=0.9;
domA = 70;
domB = 30;
domAA = 60;
domAB = 40;
domBB = 10;
domBA = 40;
cap=50;
ENDDATA
P1 + P2B > domB;
P1 + P2A > domA;
P1+P2A+P3AA > domA + domAA;
P1+P2A+P3AB > domA + domAB;
P1+P2B+P3BB > domB + domBB;
P1+P2B+P3BA > domB + domBA;
P1 < cap;
P2A < cap;
P2B < cap;
P3AA < cap;
P3AB < cap;
P3BB < cap;
P3BA < cap;
-----------------------------------------------------------------------
Programma n. 6
! xg = ettari coltivati a grano;
! xr = ettari coltivati a sorgo;
! xs = ettari coltivati a soia;
[ettari] xg + xs + xr < 100;
! pgs = produzione grano stagione secca;
! pgp = produzione grano stagione piovosa;
! prs = produzione sorgo stagione secca;
! prp = produzione sorgo stagione piovosa;
! pss = produzione soia stagione secca;
! psp = produzione soia stagione piovosa;
pgp = xg* 50; pgs= xg * 23;
psp = xs* 23; pss= xs * 17;
prp = xr* 22; prs= xr * 18;
! gvp = grano venduto con stagione piovosa;
! gvs = grano venduto con stagione secca;
[vendgrp] gvp < pgp;
[vendgrs] gvs < pgs;
! ricap = ricavo agricolo stagione piovosa;
! ricas = ricavo agricolo stagione secca;
ricap = gvp * 20 + psp * 40 + prp * 40;
ricas = gvs * 20 + pss * 40 + prs * 40;
! c= costo produzione;
c= 500 * (xg + xs + xr);
! profap = profitto agricolo stagione piovosa;
! profas = profitto agricolo stagione secca;
profap= ricap - c; @BND(-1000000,profap,1000000);
profas= ricas - c; @BND(-1000000,profas,1000000);
! b = unità di bestiame allevate;
! gb = grano usato dal bestiame;
gb = 20 * b;
! gmp = grano comprato sul mercato con stagione piovosa;
! gms = grano comprato sul mercato con stagione secca;
[grcompp] gb < pgp - gvp + gmp;
[grcomps] gb < pgs - gvs + gms;
! profbp = profitto bestiame stagione piovosa;
! profbs = profitto bestiame stagione secca;
profbp = b * 430 - gmp * 22; @BND(-1000000,profbp,1000000);
profbs = b * 430 - gms * 22; @BND(-1000000,profbs,1000000);
! @BND necessario perche' i valori possono essere negativi;
! proftp = profitto totale stagione piovosa;
! profts = profitto totale stagione secca;
proftp = profap + profbp; @BND(-1000000,proftp,1000000);
profts = profas + profbs; @BND(-1000000,profts,1000000);
! prob = probabilit\`a stagione piovosa;
[prob] prob =.6;
! profitto = profitto atteso;
profitto = prob * proftp + (1-prob) * profts; @BND(-100000,profitto,1000000);
max = profitto;
! abbassamento del rischio;
! minprof= soglia di minimo profitto;
! lossp = perdita rispetto alla soglia stagione piovosa;
! losss = perdita rispetto alla soglia stagione secca;
! risk = diminuzione ammessa rispetto alla soglia;
minprof = 20000;
risk= 5000;
[downp] proftp > minprof - lossp;
[downs] profts > minprof - losss;
[risk] prob * lossp + (1-prob) * losss < risk;