Torna alla pagina di Ricerca Operativa
:: Ricerca Operativa - PL - Vigneto - 27.06.06 ::
Un’azienda vinicola possiede un dato appezzamento di terreno e deve suddividerlo in zone coltivate con diversi tipi di vitigni. Di ogni tipo è noto quanti litri di vino rende per ogni metro quadrato coltivato e quale è il suo prezzo di vendita stimato.
L’azienda vuole ovviamente massimizzare i propri profitti, ma nel rispetto di alcuni vincoli. Anzitutto tutti i tipi di vitigno devono essere coltivati e per ciascuno di essi esiste una quantità minima di produzione di vino che deve essere assicurata comunque. Esiste anche un limite massimo di produzione per ogni tipo. Inoltre esistono dei vincoli nei rapporti tra i diversi vitigni: in particolare il rapporto tra le aree coltivate con tipi di vitigno diversi non deve superare il limite di 3:1. Anche il rapporto tra le quantità di vini di diverso tipo che vengono prodotti non deve superare il rapporto di 4:1.
Formulare il problema, classificarlo e risolverlo con i dati del file VIGNETO.TXT.
Ci sono 5 tipi di vitigno: Silvaner, Riesling, Pinot, Mueller-Thurgau, Merlot. ===================================================== Tabella 1: Resa della superficie coltivata (litri/mq) Vitigno Resa Silvaner 1.2 Riesling 0.9 Pinot 1.0 Mueller-T. 0.8 Merlot 1.4 ===================================================== Tabella 2: Prezzo di vendita (Euro/litro) Vitigno Prezzo Silvaner 4.50 Riesling 5.00 Pinot 4.00 Mueller-T. 3.00 Merlot 3.50 ===================================================== Tabella 3: Limiti minimi e massimi di quantità di vino prodotta (litri) Vitigno Minimo Massimo Silvaner 150000 1500000 Riesling 200000 1200000 Pinot 100000 950000 Mueller-T. 150000 800000 Merlot 100000 1500000 ===================================================== Tabella 4: Coltivazione attuale (ettari) Silvaner 95 Riesling 125 Pinot 95 Mueller-T. 100 Merlot 85
Nota: 500 ettari = 500 * 10000 [mq]
Le variabili sono continue e non negative.
max (somma)i pri * xi [€/litro]
! esercizio - Vigneto ! variabili: x(i) = quantità di vino i da produrre [litri] ! y(i) = superficie coltivata con il vino i [ettari] ! le variabili sono continue e non negative ! funzione obiettivo; max 4.5 x1 + 5 x2 + 4 x3 + 3 x4 + 3.5 x5 st ! vincoli su quantità minime e massime di vino prodotto; qMin1) x1 >= 150000 qMin2) x2 >= 200000 qMin3) x3 >= 100000 qMin4) x4 >= 150000 qMin5) x5 >= 100000 qMax1) x1 <= 1500000 qMax2) x2 <= 1200000 qMax3) x3 <= 950000 qMax4) x4 <= 800000 qMax5) x5 <= 1500000 ! vincolo su massima superficie coltivabile; maxSup) y1 + y2 + y3 + y4 + y5 = 500 ! vincoli che legano le superfici con le quantità; supQua1) x1 - 12000 y1 = 0 supQua2) x2 - 9000 y2 = 0 supQua3) x3 - 10000 y3 = 0 supQua4) x4 - 8000 y4 = 0 supQua5) x5 - 14000 y5 = 0 ! vincoli che limitano la superfice di ogni singolo vitigno; limSu12) y1 - 3 y2 <= 0 limSu13) y1 - 3 y3 <= 0 limSu14) y1 - 3 y4 <= 0 limSu15) y1 - 3 y5 <= 0 limSu21) y2 - 3 y1 <= 0 limSu23) y2 - 3 y3 <= 0 limSu24) y2 - 3 y4 <= 0 limSu25) y2 - 3 y5 <= 0 limSu31) y3 - 3 y1 <= 0 limSu32) y3 - 3 y2 <= 0 limSu34) y3 - 3 y4 <= 0 limSu35) y3 - 3 y5 <= 0 limSu41) y4 - 3 y1 <= 0 limSu42) y4 - 3 y2 <= 0 limSu43) y4 - 3 y3 <= 0 limSu45) y4 - 3 y5 <= 0 limSu51) y5 - 3 y1 <= 0 limSu52) y5 - 3 y2 <= 0 limSu53) y5 - 3 y3 <= 0 limSu54) y5 - 3 y4 <= 0 ! vincoli che limitano la quantità di vino prodotto; limVi12) x1 - 4 x2 <= 0 limVi13) x1 - 4 x3 <= 0 limVi14) x1 - 4 x4 <= 0 limVi15) x1 - 4 x5 <= 0 limVi21) x2 - 4 x1 <= 0 limVi23) x2 - 4 x3 <= 0 limVi24) x2 - 4 x4 <= 0 limVi25) x2 - 4 x5 <= 0 limVi31) x3 - 4 x1 <= 0 limVi32) x3 - 4 x2 <= 0 limVi34) x3 - 4 x4 <= 0 limVi35) x3 - 4 x5 <= 0 limVi41) x4 - 4 x1 <= 0 limVi42) x4 - 4 x2 <= 0 limVi43) x4 - 4 x3 <= 0 limVi45) x4 - 4 x5 <= 0 limVi51) x5 - 4 x1 <= 0 limVi52) x5 - 4 x2 <= 0 limVi53) x5 - 4 x3 <= 0 limVi54) x5 - 4 x4 <= 0 end
La suddivisione attuale è quella riportata nella tabella 4 dei dati. E' ammissibile, ma non è ottima: quella calcolata col nostro programma ha valore 22630950, mentre quella con i dati attuali è pari a 21120000 (per calcolarla basta fissare le xi nel modello ai valori dati nel testo e risolvere il problema).
Per vedere quali vincoli sono attivi all'ottimo basta osservare il report:
ROW SLACK OR SURPLUS DUAL PRICES QMIN1) 1350000.000000 0.000000 QMIN2) 1000000.000000 0.000000 QMIN3) 776488.125000 0.000000 QMIN4) 225000.000000 0.000000 QMIN5) 1400000.000000 0.000000 QMAX1) 0.000000 0.666667 QMAX2) 0.000000 0.555556 QMAX3) 73511.906250 0.000000 QMAX4) 425000.000000 0.000000 QMAX5) 0.000000 0.642857 MAXSUP) 0.000000 40000.000000 SUPQUA1) 0.000000 3.333333 SUPQUA2) 0.000000 4.444445 SUPQUA3) 0.000000 4.000000 SUPQUA4) 0.000000 5.000000 SUPQUA5) 0.000000 2.857143 LIMSU12) 275.000000 0.000000 LIMSU13) 137.946426 0.000000 LIMSU14) 15.625000 0.000000 LIMSU15) 196.428574 0.000000 LIMSU21) 241.666672 0.000000 LIMSU23) 129.613098 0.000000 LIMSU24) 7.291667 0.000000 LIMSU25) 188.095245 0.000000 LIMSU31) 287.351196 0.000000 LIMSU32) 312.351196 0.000000 LIMSU34) 52.976189 0.000000 LIMSU35) 233.779755 0.000000 LIMSU41) 328.125000 0.000000 LIMSU42) 353.125000 0.000000 LIMSU43) 216.071426 0.000000 LIMSU45) 274.553558 0.000000 LIMSU51) 267.857147 0.000000 LIMSU52) 292.857147 0.000000 LIMSU53) 155.803574 0.000000 LIMSU54) 33.482143 0.000000 LIMVI12) 3300000.000000 0.000000 LIMVI13) 2005952.375000 0.000000 LIMVI14) 0.000000 0.500000 LIMVI15) 4500000.000000 0.000000 LIMVI21) 4800000.000000 0.000000 LIMVI23) 2305952.500000 0.000000 LIMVI24) 300000.000000 0.000000 LIMVI25) 4800000.000000 0.000000 LIMVI31) 5123512.000000 0.000000 LIMVI32) 3923512.000000 0.000000 LIMVI34) 623511.875000 0.000000 LIMVI35) 5123512.000000 0.000000 LIMVI41) 5625000.000000 0.000000 LIMVI42) 4425000.000000 0.000000 LIMVI43) 3130952.500000 0.000000 LIMVI45) 5625000.000000 0.000000 LIMVI51) 4500000.000000 0.000000 LIMVI52) 3300000.000000 0.000000 LIMVI53) 2005952.375000 0.000000 LIMVI54) 0.000000 0.000000
I vincoli attivi sono dunque: quelli sulle quantità massime dei vini 1, 2, 5; quelli sui rapporti (4:1) tra quantità dei vini 1 e 4, e 5 e 4.
Se non esistessero i vincoli dei rapporti tra le aree non cambierebbe nulla dato che nessuno di questi vincoli è attivo; se invece non esistessero quelli dei rapporti tra quantità la soluzione migliorerebbe assestandosi a 22671070 euro. Se non esistessero entrambi la soluzione migliorerebbe ulteriormente: perché? Perché eliminando i vincoli dei rapporti tra quantità si attiva un vincolo di rapporto tra aree, ma se ignoriamo anche quest'ultimo lasciamo che il valore ottimo aumenti indisturbato.
Per rispondere a questa domanda dobbiamo fare l'analisi parametrica sul vincolo relativo alla superficie totale disponibile, impostandolo ad esempio (abbondando) a 1000.
RIGHTHANDSIDE PARAMETRICS REPORT FOR ROW: MAXSUP VAR VAR PIVOT RHS DUAL PRICE OBJ OUT IN ROW VAL BEFORE PIVOT VAL 500.000 40000.0 0.226310E+08 SLK 9 SLK 40 11 507.351 40000.0 0.229250E+08 SLK 10 ART 10 560.476 24000.0 0.242000E+08 1000.00 -INFINITY INFEASIBLE
Osserviamo che fino ai 507.351 ettari il valore della superficie è pari a 40000 euro/ettaro, e che il valore ottimo aumenta a 22925000 euro; oltre quella soglia il valore della superficie scende a 25000 euro/ettaro.
Se acquistiamo 10 ettari (per un totale di 510) calcoleremo il valore ottimo come:
22925000 [euro] + (25000 [euro/ettaro] * (510 - 507.351) [ettari]) = = 22925000 [euro] + 66225 [euro] = 22991225 [euro] --------------- ------------- contributo fino contributo a 507.351 ettari oltre i 507.351 ettari
Abbiamo perciò un incremento del valore ottimo di 22991225 - 22631000 = 360225 [euro]. La spesa è di 3 [euro/mq] * 100000 [mq] = 300000 [euro], quindi i ricavi superano i costi, quindi ci conviene acquistare quei 10 ettari.
Acquistarne di più non ci conviene, perché il prezzo duale della risorsa è 25000 [euro/ettaro], quindi 2.5 [euro/mq]. Dato che un metro quadrato ci costa 3 euro, non conviene.