! Il modello lega fra loro alimenti e sostanze nutritive
e lega fra loro piatti e alimenti (tramite ricette fisse)
con vincolo di interezza sui piatti
massimizza una funzione concava delle preferenze
con vincolo sul costo;
SETS:
nutr/
cal pro lip glic Na K Mg Fe Ca P vitB1 vitB2 vitB3 vitA vitC
/:lb,ub,y;
ali/
pasta riso pane
fagiol pisell
aglio carote cipoll lattug melanz patate pomodo spinac
aransu banane mele
manzo maiabi pollop vitell
procru procot
calama cefali cozze sgombro tonno
latte grana latter mozzar
uova burro oliool
cioccf gelato
birra vino
/:x, c;
piat/
pasbur paspom pasrag pascoz
risfor riscoz fagins pisbur
carins latins melfer patins patbur patfor patfri pure
pomins spiins spibur fruban frumel
bisman arrman bismai arrmai bispol arrpol bisvit
prsccr prscct
calfri ceffri ceffer cozfor sgofri sgofer tonsca
biclat pezgra pezlat pezmoz
uovsod uovfri pezcio copgel bicbir bicvin
/:z,z1,z2,z3,pr;
mat(ali,nutr):a;
! composizione qualitativa delle ricette;
ric( piat,ali)/
pasbur pasta pasbur burro pasbur grana
paspom pasta paspom pomodo paspom oliool paspom aglio
pasrag pasta pasrag burro pasrag manzo pasrag pomodo pasrag cipoll pasrag aglio
pascoz pasta pascoz oliool pascoz aglio pascoz cozze
risfor riso risfor burro risfor grana risfor latter
riscoz riso riscoz cozze riscoz oliool riscoz aglio
fagins fagiol fagins oliool fagins cipoll
pisbur pisell pisbur burro pisbur procot
carins carote carins oliool
latins lattug latins oliool
melfer melanz melfer oliool melfer aglio
patins patate patins oliool patins aglio
patbur patate patbur burro
patfor patate
patfri patate patfri oliool
pure patate pure burro pure latte
pomins pomodo pomins oliool
spiins spinac spiins oliool
spibur spinac spibur burro spibur aglio
fruban banane
frumel mele
bisman manzo bisman burro
arrman manzo
bismai maiabi bismai burro
arrmai maiabi
bispol pollop bispol burro
arrpol pollop
bisvit vitell bisvit burro
prsccr procru
prscct procot
calfri calama calfri oliool
ceffri cefali ceffri oliool
ceffer cefali ceffer aglio
cozfor cozze cozfor oliool cozfor aglio
sgofri sgombro sgofri oliool
sgofer sgombro sgofer aglio
tonsca tonno
biclat latte
pezgra grana
pezlat latter
pezmoz mozzar
uovsod uova uovsod oliool
uovfri uova uovfri burro
pezcio cioccf
copgel gelato
bicbir birra
bicvin vino
/:r;
ENDSETS
DATA:
! composizione quantitativa delle ricette;
r=
!pasbur pasta pasbur burro pasbur grana; 1 .2 .2
! paspom pasta paspom pomodo paspom oliool paspom aglio; 1 .5 .1 .1
!pasrag pasta pasrag burro pasrag manzo pasrag pomodo pasrag cipoll pasrag aglio; 1 .1 .3 .3 .2 .1
!pascoz pasta pascoz oliool pascoz aglio pascoz cozze; 1 .2 .2 .5
!risfor riso risfor burro risfor grana risfor latter; 1 .3 .4 .3
!riscoz riso riscoz cozze riscoz oliool riscoz aglio;1 .5 .2 .2
!fagins fagiol fagins oliool fagins cipoll; .6 .1 .1
!pisbur pisell pisbur burro pisbur procot; .6 .2 .3
!carins carote carins oliool; 1 .2
!latins lattug latins oliool; 1 .2
!melfer melanz melfer oliool melfer aglio; 1.5 .4 .3
!patins patate patins oliool patins aglio; 1.5 .3 .2
!patbur patate patbur burro; 1.3 .4
!patfor patate; 1
!patfri patat patfri oliool; 1 .4
!pure patate pure burro pure latte; 1.5 .5 1
!pomins pomodo pomins oliool; 1.5 .4
!spiins spinac spiins oliool; .5 .2
!spibur spinac spibur burro spibur aglio; .5 .3 .2
!fruban banane; .7
!frumel mele; .7
!bisman manzo bisman burro; 1 .2
!arrman manzo; 1
!bismai maiabi bismai burro; 1 .2
!arrmai maiabi; 1
!bispol pollop bispol burro; .8 .2
!arrpol pollop; 1
!bisvit vitell bisvit burro; 1 .3
!prsccr procru; .5
!prscct procot; .5
!calfri calama calfri oliool; 1 .4
!ceffri cefali ceffri oliool; 1 .4
!ceffer cefali ceffer aglio; 1 .2
!cozfor cozze cozfor oliool cozfor aglio; 1 .3 .2
!sgofri sgombri sgofri oliool; 1 .3
!sgofer sgombri sgofer aglio; 1 .1
!tonsca tonno; .5
!biclat latte; 1
!pezgra grana; .5
!pezlat latteri; .5
!pezmoz mozzar; .4
!uovsod uova uovsod oliool; 1 .1
!uovfri uova uovfri burro ; 1 .5
!pezcio cioccf; .5
!copgel gelato; .5
!bicbir birra; .6
!bicvin vino; 7
;
a=
! cal pro lip glic Na K Mg Fe Ca P vitB1 vitB2 vitB3 vitA vitC ;
!pasta; 362 11 1.5 76 0 0 0 0 0 0 0 0 0 0 0
!riso ; 348 7 0.7 78 6 113 28 0.6 6 120 0.06 0.03 1.3 0 0
!pane; 280 8 0.5 64 0 0 0 0.7 17 77 0.06 0.06 0.8 0 0
!fagioli; 120 7 0.8 20 1.7 256 0 3 44 180 0.44 0.1 1 18 10
!piselli; 76 7 0.4 12 4 384 30 1.8 47 101 0.42 0.18 1 49 28
!aglio; 88 4 0.6 18 32 515 36 1.5 14 63 0.14 0.02 1.3 0 5
!carote; 10 1 0 2.7 50 311 0 0.7 44 37 0.04 0.04 0.7 1148 4
!cipolla; 30 1 0 7 10 130 8 0.4 25 35 0.02 0.03 0.5 0 5
!lattuga; 16 2 0.4 2.2 12 140 10 0.8 45 31 0.05 0.18 0.7 229 6
!melanzane; 15 1 0.1 2.6 1 190 10 0.3 14 33 0.05 0.05 0.6 0 1
!patate; 85 2 1 18 10 600 0 0.6 10 54 0.1 0.04 2.5 3 15
!pomodori; 19 1 0.2 3.5 3 268 11 0.3 9 25 0 0 0.8 135 25
!spinaci; 30 3.5 0.5 5 62 662 62 3 78 62 0.07 0.37 0.4 485 54
!arancia succo; 40 0.5 0 10 0.5 190 11 0.2 15 17 0.05 0.03 0.4 38 44
!banane; 75 1.2 0.3 18 1 420 31 0.8 7 28 0.06 0.06 0.7 45 16
!mele; 50 0.5 0.2 16 1 116 5 0.3 6 12 0.02 0.02 0.3 8 5
!manzo; 214 19 13 0 84 338 0 2.1 10 180 0.1 0.18 4.4 0 0
!bist. maiale; 100 18 3 0 74 348 22 1.5 8 223 1.12 0.18 4.5 0 0
!petto pollo; 97 22 1.6 0 0 0 0 1.6 19 200 0.06 0.12 13 0 0
!vitello; 130 21 5 0.4 80 341 16 2.3 14 214 0.15 0.26 6.3 0 0
!prosc. crudo; 480 20 42 0 2700 323 18 1.2 20 177 0.91 0.26 5 0 0
!prosc. cotto; 412 21 36 0 1100 350 0 2 10 160 0.6 0.18 3.5 0 0
!calamari; 68 13 1.7 0.6 405 93 0 0 144 189 0.07 0.16 1.2 75 0
!cefali; 127 16 7 0.7 0 0 0 1.8 26 220 0.06 0.1 7.3 0 0
!cozze; 65 12 1.9 2 91 113 23 5.8 88 236 0.12 0.16 0 0 0
!sgombro; 168 17 11 0.8 161 396 33 1.2 38 264 0.1 0.25 7.6 45 0
!tonno; 140 22 6 0.6 0 0 0 1.3 38 264 0.2 0.12 8.5 450 0
!latte; 47 3.5 1.8 5 61 175 0 0.1 120 94 0.04 0.18 0.1 15 1
!grana; 381 35 27 3.5 755 153 50 0.8 1290 702 0.02 0.12 0.1 285 0
!latteria; 450 31 37 0 0 0 0 0 1057 0 0 0.68 0 327 0
!mozzarella; 243 20 16 4.9 610 6 0 0.2 403 239 0 0 0 190 0
!uova; 160 13 11 1 130 120 10 2.5 50 210 0.11 0.31 0.1 220 0
!burro; 760 1 84 1 10 23 1 0 15 16 0 0 0 960 0
!olio oliva; 880 0 100 0 0 0 0 0 0 0 0 0 0 0 0
!ciocc. fond.; 500 4 30 60 19 400 82 5 51 186 0.07 0.07 0.6 9 0
!gelato; 220 4 14 21 0 0 0 0.4 185 165 0 0 0 0 0
!birra; 33 0 0 3 0 0 0 0 0 0 0 0 0 0 0
!vino; 80 0 0 0.5 0 0 0 0 0 0 0 0 0 0 0
;
! lb = valori minimi giornalieri,
ub = valori massimi giornalieri,
le prime righe dei valori di lb e ub si riferiscono ai maschi le seconde alle femmine;
! cal pro lip glic Na K Mg Fe Ca P vitB1 vitB2 vitB3 vitA vitC ;
lb= 2000 58 70 100 0 1000 10 10 800 1200 0.9 1.7 19 1500 45 ;
!lb= 1500 46 60 100 0 1000 10 18 800 1200 0.9 1.3 15 1200 45 ;
! cal pro lip glic Na K Mg Fe Ca P vitB1 vitB2 vitB3 vitA vitC ;
ub= 2500 100 100 500 3000 100000 1000 60 5000 5200 10 10 100 4000 5000 ;
!ub= 2000 80 80 500 3000 100000 1000 68 5000 5200 10 10 100 3000 5000 ;
!pr = preferenze sui piatti in una scala da 0 a 10;
pr=
!pasbur paspom pasrag pascoz; 4 7 7 8
!risfor riscoz fagins pisbur; 5 7 7 8
!carins latins melfer patins patbur patfor patfri pure; 7 9 8 8 7 6 7 8
!pomins spiins spibur fruban frumel ; 8 7 6 5 4
!bisman arrman bismai arrmai bispol arrpol bisvit; 2 2 3 2 4 3 2
!prsccr prscct; 9 8
!calfri ceffri ceffer cozfor sgofri sgofer tonsca; 6 8 9 6 8 9 7
!biclat pezgra pezlat pezmoz; 1 8 7 7
!uovsod uovfri pezcio copgel bicbir bicvin; 3 1 8 9 8 8
;
! c = prezzi in euro/Kg;
c=
!pasta riso pane ; 1.2 2.2 2.5
!fagioli pisell ; 1.3 1.35
!aglio carote cipolla lattug; 5.2 1.9 1.3 1.5
!melanz patate pomodo spinac; 1.2 0.6 1.5 1.9
!aransu banane mele; 1.5 1.5 1.8
!manzo maiabi pollop vitell; 12 6 9.8 18
!procru procot; 30 20
!calamari cefali cozze sgombro tonno; 6 7 13 6 8
!latte grana latter mozzar; .8 14 11 8
!uova burro oliool; .8 8 4
!cioccf gelato; 7 7
!birra vino; 1.5 2
;
ENDDATA
@FOR(ali(j): @SUM(ric(k,j): r(k,j) * z(k) ) = x(j) );
@FOR(nutr(i) : @SUM(ali(j): a(j,i) * x(j) ) = y(i);
@BND(lb,y,ub)
);
pref=@SUM(piat(k): pr(k) * (z1(k) +0.5*z2(k) + 0.1 * z3(k)) );
costo=@SUM(ali(j): c(j) * x(j) )/10 ;
MAX= pref;
costo < 100;
@FOR(piat(k):z(k)=z1(k)+z2(k)+z3(k);
@BND(0,z1(k),1);
@BND(0,z2(k),1);z2(k) < z1(k);
@BND(0,z3(k),1);z3(k) < z2(k);
);
@FOR(piat(k):@GIN(z(k)) );