Ricerca Operativa 3a parte 08/12/2018 1
Metodo del Simplesso Eliminazione gaussiana Forma canonica Cambiamento base Pivoting Ottimizzazione 08/12/2018
PIVOTING: 1a interpretazione Forma standard a11x1+······+ a1nxn= b1 a21x1+······+ a2nxn= b2 ················· am1x1+······+ amnxn= bm (Eliminazione di Gauss) Forma canonica x1+ y1,m+1xm+1+····+ y1,nxn = y1,0 x2+ y2,m+1xm+1+····+ y2,nxn = y2,0 xm + ym,m+1xm+1+···+ ym,nxn = ym,0 08/12/2018
Forma canonica tabulare soluzione: x1 = y1,0, ·····, xm = ym,0 xm+1=···= xm= 0 sistema in forma tabulare 1 0 ···y1,r·0 y1,m+1···y1,s ··· y1,n y1,0 ··· ·· 0 ···yr,r·0 yr,m+1···yr,s ··· yr,n yr,0 ··· ·· 0·ym,r·1 ym,m+1···ym,s ··· ym,n ym,0 componenti di Forma canonica tabulare 08/12/2018
Cambiamento di base- Pivoting Sostituzione di xr con xs Se yrs0 i = r , j y’r,j = yr,j/ yr,s i r , j = s y’i,s = 0 (y’i,s = yi,s - (yr,s/ yr,s )i=0 i= yi,s ) ir , j s y’i,j = yi,j - (yr,j/ yr,s )yi,s ---------------------------------------------------------------- 1 0 ··· y1,m+1···y1,s ··· y1,n y1,0 ··· ··· ··· ··· ··· ··· ··· ··· 1 0·· yi,m+1···yi,s ··· yi,n yr,0 1 0·· yr,m+1···yr,s ··· yr,n yr,0 ··· ··· ··· ··· ··· ··· ··· 0 1 ym,m+1···ym,s ··· ym,n ym,0 08/12/2018
esempio 1o passo 2o passo a1 a2 a3 b 2x1+ x2+x3=2 a 2 1 1 2 x1+2x2+x3=3 b 1 2 1 3 eliminazione di gauss: 1o passo 2o passo 1a 1 1/2 1/2 1 2a 1 0 1/3 1/3 1b 0 3/2 1/2 2 2b 0 1 1/3 4/3 SBP x1=1/3 , x2=4/3, x3=0 2a si ottiene sottraendo a 1a la 2b moltiplicata per 1/2 si ottiene sottraendo alla riga b la a già trasformata, cioè la 1a Si ottiene moltiplicando per 2/3 la 1b 08/12/2018
Cambiamento di base 1 0 1/3 1/3 0 1 1/3 4/3 variabili di base x1, x2 1 0 1/3 1/3 0 1 1/3 4/3 variabili di base x1, x2 sostituire var. x3 a x2 r = 2, s = 3 , yr,s =y2,3 =1/3 0 pivot yr,s y’r,j = yr,j/ yr,s per i = r y’i,j = yi,j - (yr,j/ yr,s )yi,s per i r 3o passo 3b 1 -1 0 -1 3a 0 3 1 4 xB=(x1,x3)= (-1, 4) xN = x2 = 0 xT=(-1,0,4) non è soluzione base possibile r s 08/12/2018
PIVOTING: 2a interpretazione in Rm Forma standard a11x1+······+ a1nxn= b1 a21x1+······+ a2nxn= b2 ················· am1x1+······+ amnxn= bm Soluzione base ponendo a zero(n-m) coefficienti Forma tabulare canonica 1 0 ·· ·0 y1,m+1···y1,s ··· y1,n y1,0 ··· ·· ·· ·· 0 1· ·0 yr,m+1···yr,s ··· yr,n yr,0 ··· ·· ·· ·· 0··1 ym,m+1···ym,s ··· ym,n ym,0 08/12/2018
Trasformazioni Si esprime ar in termini degli altri vettori di base e di as 08/12/2018
L’operazione di pivoting fa passare da una s.b. all’altra Non garantisce la non negatività Hp: ogni s.p. sia non degenere 08/12/2018
Determinazione vettore uscente x1a1+······+ xmam= b as vettore entrante as =y1sa1 +······+ ymsam as =y1sa1+······+ yms am (x1-y1s) a1+(x2-y2s) a2+ ··+ (xm-yms) am + as = b = mini{xi/yis : yis > 0 } = xr/yrs = yr0/yrs,i=r casi particolari soluzione degenere (minimo per più indici) soluzione illimitata (yis < 0, i ) 08/12/2018
Cambiamento di base a1 a2 a3 a4 a5 a6 b 1 2 12 3 60 4 90 a1 a2 a3 a4 2 12 3 60 4 90 a1 a2 a3 a4 a5 a6 b 1 2 12 -2 -3 36 -4 42 X1=0 X2=36 X3=42 X4=12 X5=0 X6=0 08/12/2018
Ricerca soluzione possibile ottima min cT x (max cT x = - min cT x ) vettore di base per ridurre il valore della f.o.: x z =c1x1+······+ cnxn per x = (xB,0) z0= xB con se la soluzione non è di base xN 0 sostituendo posto analogamente 08/12/2018
Rappresentazione grafica x2 (2,6) 2 x2 = 12 Max z = 3x1 + 5x2 R1 x1 4 R2 2x2 12 R3 3x1 + 2x2 18 x1 , x2 0 3 x1 + 2 x2 = 18 (4,3) K 3 x1 + 5 x2 = 36 x1 = 4 x1 3 x1 + 5 x2 = 15 08/12/2018 3 x1 + 5 x2 = 18
Teor. Miglioramento soluzione base possibile Data una SBP non degenere con valore z0 per la f.o., se (cj-zj) < 0 per qualche j SBP con z < z0 sia j=s, se yis>0 (as può sostituire un vettore di base) si ottiene una nuova SBP con z < z0 se yis0,i (as non può sostituire un vettore di base) l’insieme K delle soluzioni è illimitato e f.o. - 08/12/2018
Costi ridotti (cj-zj) Costi ridotti = Coefficienti di variabili non basiche in uno spazio ridotto interpretazione di : sia , 08/12/2018
Costi ridotti e costi ombra (x1-y1s) a1+(x2-y2s) a2+ ····+ (xm-yms) am + as = b = min{xi/ yis: yis >0} n.b. xi = yi0 08/12/2018
Corollario: Se xj è var di base Teor: Condizioni di ottimalità Se per qualche s.b.p. si verifica che j sol. ottima 08/12/2018
Rappresentazione costi ombra y2j y1j a1 a2 a3 a4 b a’2 a’4 a’1 a’3 c3 z3 z0 Min 5x1+3x2+4x3+6x4 6x1+4x2+2x3+ x4 = 2 x1+ 3x2+5x3+6x4 = 3 Cj x1, x2, x3, x4 0 08/12/2018
significato economico dei costi ridotti zj costo del prodotto sintetico è il costo di una unità della colonna aj calcolato secondo i prodotti di base se cj - zj< 0 più vantaggioso il prodotto naturale del prodotto sintetico 08/12/2018
procedura del metodo del simplesso Dato il sistema in forma canonica a1 a2···am am+1 as an b 1 0 ··· y1,m+1···y1,s ··· y1,n y1,0 ··· 1 0·· yr,m+1···yr,s ··· yr,n yr,0 1 ym,m+1···ym,s ··· ym,n ym,0 0 0 0 -z0 SBP xi=yi0 con i=1,m , xi=0 i=m+1,n 08/12/2018
passi Scelta vettore entrante Se stop - soluzione ottima se per qualche j determinazione vettore uscente se stop - soluzione illimitata altrimenti scegli l’indice r t.c. è l’elemento pivot per aggiornare la tavola 08/12/2018
Formule di trasformazione pivot per ir per i=r tavola del simplesso c1 …cr... cm cm+1 … cs ... cn riga cB IB a1 …ar... am am+1 … as ... an a0 1 ci1 i1 y11 …y1r y1m y1,m+1 y1s y1n y10 .. .. … .. … …… .… …. … … … … ... m cim im ym1 …ymr ymm ym,m+1 yms ymn ym0 m+1 - z0 con 08/12/2018
esempio min (x2-3x3+2x5) con x1+ 3x2- x3 + 2x5 = 7 - 2x2+4x3 +x4 = 12 08/12/2018
Prima base canonica B=(a1,a4,a6) 1a tavola 1 -3 2 è candidato ad entrare in base; min { , }= 2a tavola r=2, IB=4 a4 esce pivot y23 trasformazione 08/12/2018
3a tavola Soluzione ottima 08/12/2018
Casi particolari 08/12/2018
Degenerazione- regola di Bland Sia x s.b.p. non ottima per 08/12/2018
Esempio fabbrica 08/12/2018
formalizzazione 1/2 x1 e x2 le unità da prodursi, rispettivamente del tipo A e del tipo B, z il profitto che si può ricavare dalla loro vendita z = 12.500 x1 + 25.000 x2 Le ore di lavoro disponibili in un mese sono 25 x 8 x 4 = 800. 08/12/2018
formalizzazione 2/2 Dai dati sul lavoro manuale: 2 x1 + 2,8 x2 800 dalla ore mensili disponibili su M: 25 x8x 6 = 1200 su N: 25 x 8 x 4 = 800 vincoli di produttività relativi alle macchine : 1,5 x1 + 1,6 x2 1200 1,7 x1 + 2,5 x2 800 vincoli di non negatività delle variabili: x1 0 x2 0 08/12/2018
il modello di P.L. f.o. da massimizzare: z = 12.500 x1 + 25.000 x2 Vincoli: 2 x1 + 2,8 x2 800 vincolo di produzione 1,5 x1 + 1,6 x2 1200 vincolo di produzione 1,7 x1 + 2,5 x2 800 vincolo di produzione x1 0 vincolo di segno x2 0 vincolo di segno 08/12/2018
Per applicare il metodo del Simplesso riportiamo a forma standard min y = -12.500 x1 -25.000 x2 2 x1 + 2,8 x2 + 1 x3 = 800 1,5 x1+ 1,6 x2 + 1 x4 = 1200 1,7 x1 + 2,5 x2 + 1 x5 = 800 x1 ,x2 ,x3 ,x4 ,x5 0 08/12/2018
Tavola 1 Indici Costi di base di base a1 a2 a3 a4 a5 b = a0 3 0 2 2,8 1 0 0 800 4 0 1,5 1,6 0 1 0 1200 5 0 1,7 2,5 0 0 1 800 - - -12.500-25.000 0 0 0 0 08/12/2018
Tavola 2 Indici di Costi di base base a1 a2 a3 a4 a5 b = a0 1 -12.500 1 1,4 0,5 0 0 400 4 0 0 -0,5 -0,75 1 0 600 5 0 0 0,12 -0,85 0 1 120 - - 0 -7.500 6.250 5.000.000 Tavola 3 a1 a2 a3 a4 a5 b = a0 2 -25.000 0,71 1 0,36 0 0 285,71 4 0 0,36 0 -0,57 1 0 742 5 0 -0,09 0 -0,89 0 1 85,71 - - 5.357,14 0 8.928,57 0 0 7.142.857,5 soluzione ottima :x1 = 0 (prodotti di tipo A), x2 = 285 (prodotti di tipo B), f.o. z= 7.125.000 (valori per i quali l’utile è massimo) 08/12/2018
Produzione di whisky Date 3 quantità di distillato grezzo con disponibilità giornaliera limitata Date 3 ricette(mix) con quantità min e max di 2 qualità sulle 3 date Dato il costo di ciascun mix Individuare le quantità di mix prodotte per massimizzare il profitto 08/12/2018
Dati A B C l.2500 l.1200 MISCELE PREZZO AL LITRO COMPOSIZIONE Freccia Azzurra I € 6,80 Non meno del 60% di A Non più del 20% di C Montagna Rocciosa II € 5,70 Non meno del 15% di A Non più del 60% di C Vecchio Yankee III € 4,50 Non più del 50% di C A B C Costo x litro €7,00 € 8,00 € 4,00 Disponibilità l l.2000 l.2500 l.1200 08/12/2018
modello matematico 08/12/2018
Variabili Artificiali Fase I - Problema ausiliario Se min t>0 il p. non ammette sol. possibile Se min t=0 Fase II 08/12/2018
fase II Si ritorna alla f.o. originale con valori trasformati nella riga m+1 08/12/2018
Problema con vincoli ridondanti e soluzione multipla min 2x1-x2+x4 = z x1+ x2+ x3 + x4+ x5 = 5 x1+ x2+ 2x3+ 2x4+ 2x5 = 8 x1+ x2 = 2 x3+ x4+ x5 = 3 xi 0 aggiungendo le variabili artificiali si ha: min t= x6+ x7+ x8 + x9 x1+ x2+ x3 + x4+ x5 + x6 = 5 x1+ x2+2x3 +2x4+2x5 + x7 = 8 x1+ x2 + x8 = 2 x3 + x4+ x5 + x9 = 3 xi 0 08/12/2018
fase I cB IB a1 a2 a3 a4 a5 a6 a7 a8 a9 a0 1 6 5 7 2 8 9 3 / -3 -4 -18 cB IB a1 a2 a3 a4 a5 a6 a7 a8 a9 a0 1 6 -1 2 7 -2 8 3 -3 4 -6 08/12/2018
fase I Fase II 1 -1 2 7 8 3 cB IB a1 a2 a3 a4 a5 a6 a7 a8 a9 a0 1 -1 2 7 8 3 Fase II 08/12/2018
fase II 1 2 3 -3 -4 1 -1 2 3 i cB IB a1 a2 a3 a4 a5 a0 i cB IB a1 a2 3 -3 -4 c1=2 c2=-1 c3=0 c4=1 c5=0 i cB IB a1 a2 a3 a4 a5 a0 1 -1 2 3 08/12/2018
Simplesso modificato 08/12/2018
Passi del Simplesso modificato dati B-1 e la soluzione corrente 10 passo: calcolo dei moltiplicatori del simplesso e dei costi ridotti 20 passo:determina vettore entrante e trasforma il corrispondente vettore as 08/12/2018
30 passo: test sulle componenti di sol. illimitata o individuazione vettore uscente 40 passo:aggiornamento di B-1 e B-1b 08/12/2018
08/12/2018
trasformazioni1/2 08/12/2018
trasformazioni 2/2 08/12/2018
moltiplicare per Er-1 1/2 Moltiplicare un vettore riga per la matrice Er-1 08/12/2018
moltiplicare per Er-1 2/2 Moltiplicare la matrice Er-1 per un vettore colonna Quindi se i = r allora br1 = yrηr Mentre se i ≠ r allora bi1 = yi + yrηi 08/12/2018
Esempio simplesso modificato (senza ausilio matrice Pk) 08/12/2018
Preparazione 1a tavola pivot 08/12/2018 -z0
2a iterazione 08/12/2018
08/12/2018
esempio2 Fase I-iter 0 variabile artificiale dati: 08/12/2018
s=1 iter 1- k=0: 08/12/2018
K+1=1 fine fase I 08/12/2018
fase II da s=2 r=2 esce k=2 08/12/2018
k=2, s=2, r=2 stop, soluzione ottima 08/12/2018
es. simplesso modificato 08/12/2018
k=1 , s=1- entra a1 , r=2 - esce a8 08/12/2018
s=5,r=9 s=5 esce a9 08/12/2018
k=2, entra a5, r=3 esce a9 08/12/2018
s=2,r=7 s=2 esce a7 08/12/2018
k=3, entra a2, r=1 esce a7 fine fase I 08/12/2018
Per esercizio trasformare la tavola per la fase II e risolvere 08/12/2018