Programmazione lineare
Un' azienda vinicola confeziona un tipo di vino da pasto in bottiglie da un litro con vetro a perdere o in contenitori di cartone da un litro. Si introduce il vino nei recipienti, quindi si sigillano i recipienti. Per la prima operazione si impiegano 8 minuti per 10 bottiglie e 10 minuti per 10 contenitori di cartone. Per sigillare si impiegano 6 minuti per le 10 bottiglie e 10 minuti per i 10 contenitori di cartone. Il tempo disponibile per il riempimento è di 42 ore settimanali, per la chiusura è di 28 ore settimanali.
Per la richiesta del mercato il numero delle bottiglie deve essere non inferiore al numero dei cartoni.
Il prezzo di vendita è di 2 euro per le botttiglie e di 1,8 euro per i contenitori di cartone.
Determinare quante bottiglie e quanti cartoni l' azienda deve confezionare settimanalmente per massimizzare il ricavo.
Per la richiesta del mercato il numero delle bottiglie deve essere non inferiore al numero dei cartoni.
Il prezzo di vendita è di 2 euro per le botttiglie e di 1,8 euro per i contenitori di cartone.
Determinare quante bottiglie e quanti cartoni l' azienda deve confezionare settimanalmente per massimizzare il ricavo.
Risposte
scusa il ritardo, e la domanda, Laura
sei sicura che i parametri che hai citato siano corretti?
(intendo: non hai invertito cifre nelle descrizioni dei vincoli?)
perchè, se è così, la soluzione pare quella spontanea banale.
scusami sono un po' frastornato.
Tony
sei sicura che i parametri che hai citato siano corretti?
(intendo: non hai invertito cifre nelle descrizioni dei vincoli?)
perchè, se è così, la soluzione pare quella spontanea banale.
scusami sono un po' frastornato.
Tony
Il testo è corretto perchè l'ho copiato dal libro!
Se provi a risolverlo mi fai un favore, grazie, CIAO
Se provi a risolverlo mi fai un favore, grazie, CIAO
scusa la lentezza.
ho messo "in bella" gli appunti dell'altro giorno.
spero sia tutto esatto.
fammi sapere.
ciao.
Tony
Assumo che l'unità prodotta sia la confezione da 10 (sia per le bottiglie che per i cartoni).
Chiamo per brevità bott il n. di confez. da 10 bottiglie e corripondentemente cart quello di confez. da 10 cartoni.
Prendo 2 assi cartes.: in ascisse bott, in ordin. cart.
Ovvia restrizione è che b>=0 e c>=0, che limita il campo al primo quadrante.
La restriz. sul tempo di riempimento è data dalla disequaz.
[1] 8b + 10c <= 2520 min
L'equaz. è quella della retta r1, che ha per intercette b = 2520/8 = 315 e c = 2520/10 = 252
la disequaz. elimina il semipiano al di sopra di questa retta.
La restriz. sul tempo di chiusura è data dalla disequaz.
[2] 6b + 10c <= 1680 min
L'equaz. è quella della retta r2, che ha per intercette b = 1680/6 = 280 e c = 1680/10 = 168
la disequaz. elimina il semipiano al di sopra di questa retta.
Noto che, nel primo quadrante, r2 sta al di sotto di r1; la [2] è più restrittiva della [1].
La restriz. della richiesta di mercato è data dalla disequaz.
[3] b >= c
L'equaz. è quella della retta r3, bisettrice del primo quadrante
la disequaz. elimina il semipiano a destra di questa retta.
Dal disegno vedo che il campo è ridotto al poligono triangolare (0,0) - (105,105) - (280,0).
Vediamo ora il disegno dei ricavi, espressi dalla
[4] R=20b + 18c
Per R costante la [4] è l'equaz della retta che ha per intercette b = R/20 e c = R/18
ad es. R=2000 passa per (100,0) e (0,111); R=4000 per (200,0) e (0,222); R=6000 per (300,0) e (0,333).
Disegno queste rette, tratteggiate: sono le 'curve di livello' del ricavo.
Noto nel campo il punto di maggior ricavo è (280,0), con R=2800.
Nell'altro vertice (105,105) ho R= 1890, e ovviamente in (0,0) R=0.
*Edited by - tony on 17/06/2003 17:43:18
ho messo "in bella" gli appunti dell'altro giorno.
spero sia tutto esatto.
fammi sapere.
ciao.
Tony
Assumo che l'unità prodotta sia la confezione da 10 (sia per le bottiglie che per i cartoni).
Chiamo per brevità bott il n. di confez. da 10 bottiglie e corripondentemente cart quello di confez. da 10 cartoni.
Prendo 2 assi cartes.: in ascisse bott, in ordin. cart.
Ovvia restrizione è che b>=0 e c>=0, che limita il campo al primo quadrante.
La restriz. sul tempo di riempimento è data dalla disequaz.
[1] 8b + 10c <= 2520 min
L'equaz. è quella della retta r1, che ha per intercette b = 2520/8 = 315 e c = 2520/10 = 252
la disequaz. elimina il semipiano al di sopra di questa retta.
La restriz. sul tempo di chiusura è data dalla disequaz.
[2] 6b + 10c <= 1680 min
L'equaz. è quella della retta r2, che ha per intercette b = 1680/6 = 280 e c = 1680/10 = 168
la disequaz. elimina il semipiano al di sopra di questa retta.
Noto che, nel primo quadrante, r2 sta al di sotto di r1; la [2] è più restrittiva della [1].
La restriz. della richiesta di mercato è data dalla disequaz.
[3] b >= c
L'equaz. è quella della retta r3, bisettrice del primo quadrante
la disequaz. elimina il semipiano a destra di questa retta.
Dal disegno vedo che il campo è ridotto al poligono triangolare (0,0) - (105,105) - (280,0).
Vediamo ora il disegno dei ricavi, espressi dalla
[4] R=20b + 18c
Per R costante la [4] è l'equaz della retta che ha per intercette b = R/20 e c = R/18
ad es. R=2000 passa per (100,0) e (0,111); R=4000 per (200,0) e (0,222); R=6000 per (300,0) e (0,333).
Disegno queste rette, tratteggiate: sono le 'curve di livello' del ricavo.
Noto nel campo il punto di maggior ricavo è (280,0), con R=2800.
Nell'altro vertice (105,105) ho R= 1890, e ovviamente in (0,0) R=0.
*Edited by - tony on 17/06/2003 17:43:18
Quello proposto da Laura è un classico problema di programmazione lineare per la soluzione del quale è utile descrivere un metodo più generale di quello geometrico usato da tony, valido solo nel caso di due dimensioni.
Per prima cosa è necessario definire con esattezza i dati del problema. Indichiamo innanzitutto con x1 e x2 [più in generale saranno x1.x2,…,xn] le variabili indipendenti, nel caso nostro con x1 numero di bottiglie e x2 il numero di cartoni prodotti in un mese.
La funzione da massimizzare rispetto ad x1 e x2 è la ‘funzione ricavo’ ed essendo 2 euro a bottiglia e 1.8 euro a cartone essa è…
r= 2*x1 + 1.8*x2= 2*x1 + 9/5*x2 [1]
Dovendo definire ora i vincoli del problema cominciamo dal riempimento…
- 8 minuti per 10 bottiglie significano .8 minuti/bottiglia
- 10 minuti per 10 cartoni significano 1 minuto/cartone
Per il riempimento si hanno a disposizione 42 ore settimanali, ossia 2520 minuti, e quindi il vincolo sul riempimento si può scrivere come…
.8*x1 + x2 = 4/5*x1 + x2 <= 2520 [2]
Successivamente esaminiamo il sigillamento…
- 6 minuti per 10 bottiglie significano .6 minuti/bottiglia
- 10 minuti per 10 cartoni significano 1 minuto/cartone
Per il sigillamento si hanno a disposizione 28 ore settimanali, ossia 1680 minuti, e quindi il vincolo sul sigillamento si può scrivere come…
.6*x1 + x2=3/5*x1 + x2 <= 1680 [3]
La richiesta del mercato di produrre un numero di bottiglie non inferiore al numero di cartoni infine porta a scrivere l’ulteriore vincolo…
x2<=x1 [4]
A questo punto si può impostare il problema in maniera ‘standard’ ossia…
massimizzare r= 2*x1 + 9/5*x2
con 4/5*x1 + x2 <= 2520
3/5*x1 + x2 <= 1680
-x1 + x2<=0
A questo punto si introducono tante variabili dipendenti quanti sono i vincoli del problema [3 in questo caso] e le chiamiamo w1,w2 e w3. Le variabili dipendenti sono per consuetudine chiamate ‘basiche’, le variabili indipendenti ‘non basiche’. Il problema può essere a questo punto riscritto come…
massimizzare r= 2*x1 + 9/5*x2
con w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= x1 – x2
essendo x1,x2,w1,w2,w3 >= 0 [5]
Il procedimento di soluzione [noto come ‘algoritmo del simplesso’] consiste nel porre inizialmente le variabili non basiche a zero [e ciò significa ovviamente r=0] e quindi cercare di incrementare r variando le variabili non basiche in modo compatibile con i vincoli.
Nel nostro caso si vede che r può essere incrementato sia incrementando x1 sia incrementando x2. Il vincolo w3>=0 permette tuttavia di incrementare [alla prima iterazione] solamente x1. Di quanto posso incrementare x1?… al massimo del valore che rende non negative le variabili basiche e una breve indagine consente di stabilire che tale valore è quello che rende nulla w2, ovvero x1= 1680 * 5/3 = 2800.
A questo punto si esegue il cosiddetto ‘scambio’, ovvero x1 diventa ‘basica’ e w2 ‘non basica’ per cui di pone x1= 2800 – 5/3*w2 – 5/3*x2 e il diagramma [5] diviene…
r= 5600 – 10/3*w2 – 23/15*x2
w1= 280 + 4/3*w2 + 4/3*x2
x1 = 2800 – 5/3*w2 – 5/3*x2
w3= 2800 5/3*w2 – 7/3*x2 [6]
Arrivati a questo punto sarebbe possibile incrementare ulteriormente r solo con valori negativi dell’altra variabile indipendente x2. Essendo ciò in contrasto con il fatto che tutte le variabili devono essere non negative dobbiamo constatare che non è possibile incrementare ulteriormente r e pertanto il procedimento si arresta. I risultati sono…
x1= 2800, x2=0, r= 5600
… ossia si devono produrre 2800 bottiglie al mese e nessun cartone, con un guadagno mensile di 5600 euro. Del resto a buon senso, considerando che rispetto ai cartoni le bottiglie hanno minori tempi di imbottigliamento e sigillamento e ricavo maggiore la soluzione, con i dati del problema, non può essere che quella di produrre unicamente bottiglie. Tale risultato ovvio mi porta a sospettare che il realtà il vincolo del mercato fosse diverso, vale a dire si dovessero produrre cartoni in numero non inferiore alle bottiglie e non viceversa. In questo caso il problema diviene…
massimizzare r= 2*x1 + 9/5*x2
con w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= -x1 + x2
essendo x1,x2,w1,w2,w3 >= 0 [7]
La sola variabile indipendente che può essere variata alla prima iterazione compatibilmente con i vincoli questa svolta è x2. Fino a quanto posso incrementarla?… Anche in questo caso il vincolo è quello di rendere non negativa w2, ossia è x2=1680. Lo ‘scambio’ avviene dunque tra x2 e w2, si pone x2=1680 – w2 – 3/5*x1 e il diagramma [7] diviene…
r= 3024 + 23/25*x1 – 9/5*w2
w1= 840 – 1/5*x1 + w2
x2= 1680 – 3/5*x1 – w2
w3= 1680 – 8/5*x1 – w2
A questo punto posso incrementare r incrementando l’altra variabile indipendente x1. Di quanto posso incrementare x1?… Una breve indagine rivela che il limite stavolta è dato dal non rendere negativa w3 per cui posso porre x1=1680*5/8=1050, scambiare x1 con w3 e porre x1= 1050 – 5/8*w2 – 5/8*w3. Il diagramma
diviene…
r= 3990 – 99/40*w2 – 27/40*w3
w1= 630 + 9/8*w2 + 1/8*w3
x2= 1050 –5/8*w2 + 3/8*w3
x1= 1050 – 5/8*w2 – 5/8*w3 [9]
A questo punto il problema termina, non essendoci altre variabili indipendenti, il procedimento termina. La soluzione è…
x1=1050, x2=1050, r=3990
… ossia si producono 1050 bottiglie e 1050 cartoni al mese con ricavo mensile di 3990 euro. Se si confronta questo risultato con il precedente non si capisce assolutamente coma mai la ditta si sia attrezzata per produrre vino in cartoni, nettamente meno convenienti… a meno di non inserire nei dati la differenza di costo tra vetro e cartoni… o che non abbia io sbagliato i conti s’intende…
Sperando di essere stato di aiuto a Laura e ad altri, porgo a tutti…
cordiali saluti!…
lupo grigio
Per prima cosa è necessario definire con esattezza i dati del problema. Indichiamo innanzitutto con x1 e x2 [più in generale saranno x1.x2,…,xn] le variabili indipendenti, nel caso nostro con x1 numero di bottiglie e x2 il numero di cartoni prodotti in un mese.
La funzione da massimizzare rispetto ad x1 e x2 è la ‘funzione ricavo’ ed essendo 2 euro a bottiglia e 1.8 euro a cartone essa è…
r= 2*x1 + 1.8*x2= 2*x1 + 9/5*x2 [1]
Dovendo definire ora i vincoli del problema cominciamo dal riempimento…
- 8 minuti per 10 bottiglie significano .8 minuti/bottiglia
- 10 minuti per 10 cartoni significano 1 minuto/cartone
Per il riempimento si hanno a disposizione 42 ore settimanali, ossia 2520 minuti, e quindi il vincolo sul riempimento si può scrivere come…
.8*x1 + x2 = 4/5*x1 + x2 <= 2520 [2]
Successivamente esaminiamo il sigillamento…
- 6 minuti per 10 bottiglie significano .6 minuti/bottiglia
- 10 minuti per 10 cartoni significano 1 minuto/cartone
Per il sigillamento si hanno a disposizione 28 ore settimanali, ossia 1680 minuti, e quindi il vincolo sul sigillamento si può scrivere come…
.6*x1 + x2=3/5*x1 + x2 <= 1680 [3]
La richiesta del mercato di produrre un numero di bottiglie non inferiore al numero di cartoni infine porta a scrivere l’ulteriore vincolo…
x2<=x1 [4]
A questo punto si può impostare il problema in maniera ‘standard’ ossia…
massimizzare r= 2*x1 + 9/5*x2
con 4/5*x1 + x2 <= 2520
3/5*x1 + x2 <= 1680
-x1 + x2<=0
A questo punto si introducono tante variabili dipendenti quanti sono i vincoli del problema [3 in questo caso] e le chiamiamo w1,w2 e w3. Le variabili dipendenti sono per consuetudine chiamate ‘basiche’, le variabili indipendenti ‘non basiche’. Il problema può essere a questo punto riscritto come…
massimizzare r= 2*x1 + 9/5*x2
con w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= x1 – x2
essendo x1,x2,w1,w2,w3 >= 0 [5]
Il procedimento di soluzione [noto come ‘algoritmo del simplesso’] consiste nel porre inizialmente le variabili non basiche a zero [e ciò significa ovviamente r=0] e quindi cercare di incrementare r variando le variabili non basiche in modo compatibile con i vincoli.
Nel nostro caso si vede che r può essere incrementato sia incrementando x1 sia incrementando x2. Il vincolo w3>=0 permette tuttavia di incrementare [alla prima iterazione] solamente x1. Di quanto posso incrementare x1?… al massimo del valore che rende non negative le variabili basiche e una breve indagine consente di stabilire che tale valore è quello che rende nulla w2, ovvero x1= 1680 * 5/3 = 2800.
A questo punto si esegue il cosiddetto ‘scambio’, ovvero x1 diventa ‘basica’ e w2 ‘non basica’ per cui di pone x1= 2800 – 5/3*w2 – 5/3*x2 e il diagramma [5] diviene…
r= 5600 – 10/3*w2 – 23/15*x2
w1= 280 + 4/3*w2 + 4/3*x2
x1 = 2800 – 5/3*w2 – 5/3*x2
w3= 2800 5/3*w2 – 7/3*x2 [6]
Arrivati a questo punto sarebbe possibile incrementare ulteriormente r solo con valori negativi dell’altra variabile indipendente x2. Essendo ciò in contrasto con il fatto che tutte le variabili devono essere non negative dobbiamo constatare che non è possibile incrementare ulteriormente r e pertanto il procedimento si arresta. I risultati sono…
x1= 2800, x2=0, r= 5600
… ossia si devono produrre 2800 bottiglie al mese e nessun cartone, con un guadagno mensile di 5600 euro. Del resto a buon senso, considerando che rispetto ai cartoni le bottiglie hanno minori tempi di imbottigliamento e sigillamento e ricavo maggiore la soluzione, con i dati del problema, non può essere che quella di produrre unicamente bottiglie. Tale risultato ovvio mi porta a sospettare che il realtà il vincolo del mercato fosse diverso, vale a dire si dovessero produrre cartoni in numero non inferiore alle bottiglie e non viceversa. In questo caso il problema diviene…
massimizzare r= 2*x1 + 9/5*x2
con w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= -x1 + x2
essendo x1,x2,w1,w2,w3 >= 0 [7]
La sola variabile indipendente che può essere variata alla prima iterazione compatibilmente con i vincoli questa svolta è x2. Fino a quanto posso incrementarla?… Anche in questo caso il vincolo è quello di rendere non negativa w2, ossia è x2=1680. Lo ‘scambio’ avviene dunque tra x2 e w2, si pone x2=1680 – w2 – 3/5*x1 e il diagramma [7] diviene…
r= 3024 + 23/25*x1 – 9/5*w2
w1= 840 – 1/5*x1 + w2
x2= 1680 – 3/5*x1 – w2
w3= 1680 – 8/5*x1 – w2

A questo punto posso incrementare r incrementando l’altra variabile indipendente x1. Di quanto posso incrementare x1?… Una breve indagine rivela che il limite stavolta è dato dal non rendere negativa w3 per cui posso porre x1=1680*5/8=1050, scambiare x1 con w3 e porre x1= 1050 – 5/8*w2 – 5/8*w3. Il diagramma

r= 3990 – 99/40*w2 – 27/40*w3
w1= 630 + 9/8*w2 + 1/8*w3
x2= 1050 –5/8*w2 + 3/8*w3
x1= 1050 – 5/8*w2 – 5/8*w3 [9]
A questo punto il problema termina, non essendoci altre variabili indipendenti, il procedimento termina. La soluzione è…
x1=1050, x2=1050, r=3990
… ossia si producono 1050 bottiglie e 1050 cartoni al mese con ricavo mensile di 3990 euro. Se si confronta questo risultato con il precedente non si capisce assolutamente coma mai la ditta si sia attrezzata per produrre vino in cartoni, nettamente meno convenienti… a meno di non inserire nei dati la differenza di costo tra vetro e cartoni… o che non abbia io sbagliato i conti s’intende…
Sperando di essere stato di aiuto a Laura e ad altri, porgo a tutti…
cordiali saluti!…
lupo grigio

Grazie per avermi risposto, però il libro mi da altri risultati, il massimo ricavo è di 5880 e lo si ha confezionando 2400 bottiglie e 600 cartoni.
Io ho provato a risolverlo e mi vengono tutti i risultati divisi per 10, questo dipende dal fatto che le bottiglie sono 10?
Io l' ho impostato così:
z= 2x + 1,8y è la funzione da massimizzare
i vincoli sono
8x +10y <= 2520
6x +4y <= 1680
x>=y
x>=0
y>=0
Ho sbagliato qualcosa?
Io ho provato a risolverlo e mi vengono tutti i risultati divisi per 10, questo dipende dal fatto che le bottiglie sono 10?
Io l' ho impostato così:
z= 2x + 1,8y è la funzione da massimizzare
i vincoli sono
8x +10y <= 2520
6x +4y <= 1680
x>=y
x>=0
y>=0
Ho sbagliato qualcosa?
cara Laura
se ho inteso esattamente i dati del problema per l’operazione di riempimento sono necessari 8 minuti per 10 bottiglie e 10 minuti per 10 cartoni, il che significa, credo, rispettivamente .8 minuti per bottiglia e 1munito per cartone. Per il sigillamento sono necessari poi 6 minuti per 10 bottiglie e 10 minuti per 10 cartoni, il che significa, credo, rispettivamente .6 minuti per bottiglia e 1 minuto per cartone. Se per il riempimento si hanno a disposizione 2520 minuti [40 ore] e per il sigillamento 1680 minuti [28 ore] non vi è dubbio che i due vincoli, indicando con x1 il numero di bottiglie e x2 il numero di cartoni prodotti in un mese, sono rispettivamente…
w1= 2520 – 4/5*x1 – x2 >=0
w2= 1680 – 3/5*x1 – x2 >=0 [1]
Se aggiungiamo il vincolo ulteriore che il numero delle bottiglie non deve essere inferiore al numero dei cartoni otteniamo il problema nella forma seguente…
Massimizzare
r = 2*x1 + 9/5*x2
con i vincoli
w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= x1 – x2
x1,x2, w1, w2, w3 >=0
Per visualizzare comodamente il problema è utile il diagramma seguente…

E’ facile vedere che il vincolo sul sigillamento [variabile w2, corrispondente alla curva c ] prevale nettamente sul vincolo del riempimento [variabile w1, corrispondente alla curva b] e sul vincolo del rapporto bottiglie/cartoni [variabile w3, corrispondente alla curva a]. Essendo dunque tale vincolo condizionante il problema si arresta dopo la prima iterazione al valore x1= 2800, x2=0 [già trovato in precedenza], dopo di che nessun ulteriore miglioramento è possibile.
Il fatto che il libro indicasse come soluzione del problema i valori x1=2400, x2=600 [valori che contrastano il vincolo su w2 come si vede chiaramente dal diagramma] potrebbe indurre a ritenere che il dato ‘sbagliato’ del problema sia il numero di ore disponibili per il sigillamento. In effetti per sigillare 2400 bottiglie e 600 cartoni sono richiesti .6 * 2400 + 600= 1440 + 600=2040 minuti. Se dunque in luogo di 28 ore [1680 minuti] supponiamo di avere disponibili per il sigillamento 34 ore [2040 minuti], il problema diviene…
Massimizzare
r= 2*x1 + 9/5*x2
con i vincoli
w1=2520 – 4/5*x1 – x2
w2=2040 – 3/5*x1 – x2
w3= x1 – x2
x1,x2,w1,w2,w3 >=0
Il nuovo vincolo su w2 corrisponde nel diagramma alla curva d. Procedendo alla prima iterazione si incrementa x1 fino a che non è w1=0 e si effettua lo scambio tra x1 e w1 ottenendo…
r= 6300 – 5/2*w1 –9/4* x2
x1= 3150 – 5/4*w1 –5/4*x2
w2= 150 + ¾*w1 – ¼*x2
w3= 3150 – 5/4*w1 – 9/4*x2
… anche così sfortunatamente però ci si ferma in quanto non è più possibile incrementare r agendo su x2. Così impostato la soluzione ottimale consiste ancora nel produrre sempre e solo bottiglie [3150 in questo caso, con guadagno di 6300 euro…]. Evidentemente il punto ‘sbagliato’ deve essere un altro… ma quale?…
cordiali saluti!…
lupo grigio
se ho inteso esattamente i dati del problema per l’operazione di riempimento sono necessari 8 minuti per 10 bottiglie e 10 minuti per 10 cartoni, il che significa, credo, rispettivamente .8 minuti per bottiglia e 1munito per cartone. Per il sigillamento sono necessari poi 6 minuti per 10 bottiglie e 10 minuti per 10 cartoni, il che significa, credo, rispettivamente .6 minuti per bottiglia e 1 minuto per cartone. Se per il riempimento si hanno a disposizione 2520 minuti [40 ore] e per il sigillamento 1680 minuti [28 ore] non vi è dubbio che i due vincoli, indicando con x1 il numero di bottiglie e x2 il numero di cartoni prodotti in un mese, sono rispettivamente…
w1= 2520 – 4/5*x1 – x2 >=0
w2= 1680 – 3/5*x1 – x2 >=0 [1]
Se aggiungiamo il vincolo ulteriore che il numero delle bottiglie non deve essere inferiore al numero dei cartoni otteniamo il problema nella forma seguente…
Massimizzare
r = 2*x1 + 9/5*x2
con i vincoli
w1= 2520 – 4/5*x1 – x2
w2= 1680 – 3/5*x1 – x2
w3= x1 – x2
x1,x2, w1, w2, w3 >=0
Per visualizzare comodamente il problema è utile il diagramma seguente…

E’ facile vedere che il vincolo sul sigillamento [variabile w2, corrispondente alla curva c ] prevale nettamente sul vincolo del riempimento [variabile w1, corrispondente alla curva b] e sul vincolo del rapporto bottiglie/cartoni [variabile w3, corrispondente alla curva a]. Essendo dunque tale vincolo condizionante il problema si arresta dopo la prima iterazione al valore x1= 2800, x2=0 [già trovato in precedenza], dopo di che nessun ulteriore miglioramento è possibile.
Il fatto che il libro indicasse come soluzione del problema i valori x1=2400, x2=600 [valori che contrastano il vincolo su w2 come si vede chiaramente dal diagramma] potrebbe indurre a ritenere che il dato ‘sbagliato’ del problema sia il numero di ore disponibili per il sigillamento. In effetti per sigillare 2400 bottiglie e 600 cartoni sono richiesti .6 * 2400 + 600= 1440 + 600=2040 minuti. Se dunque in luogo di 28 ore [1680 minuti] supponiamo di avere disponibili per il sigillamento 34 ore [2040 minuti], il problema diviene…
Massimizzare
r= 2*x1 + 9/5*x2
con i vincoli
w1=2520 – 4/5*x1 – x2
w2=2040 – 3/5*x1 – x2
w3= x1 – x2
x1,x2,w1,w2,w3 >=0
Il nuovo vincolo su w2 corrisponde nel diagramma alla curva d. Procedendo alla prima iterazione si incrementa x1 fino a che non è w1=0 e si effettua lo scambio tra x1 e w1 ottenendo…
r= 6300 – 5/2*w1 –9/4* x2
x1= 3150 – 5/4*w1 –5/4*x2
w2= 150 + ¾*w1 – ¼*x2
w3= 3150 – 5/4*w1 – 9/4*x2
… anche così sfortunatamente però ci si ferma in quanto non è più possibile incrementare r agendo su x2. Così impostato la soluzione ottimale consiste ancora nel produrre sempre e solo bottiglie [3150 in questo caso, con guadagno di 6300 euro…]. Evidentemente il punto ‘sbagliato’ deve essere un altro… ma quale?…
cordiali saluti!…
lupo grigio
