4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto x 4, x 5, x 6 E. Amaldi Fondamenti di R.O. Politecnico di Milano definite da (*) x 4 = 5 2x 3x 2 x 3 x 5 = 4x x 2 2x 3 x 6 = 8 3x 4x 2 2x 3 Forma standard: (P 2 ) min z = -5x 4x 2 3x 3 s.v. (*) x, x 2, x 3, x 4, x 5, x 6 variabili di decisione I problemi (P ) e (P 2 ) sono equivalenti E. Amaldi Fondamenti di R.O. Politecnico di Milano 2
Infatti ogni soluzione ammissibile x, x 2, x 3 di (P ) può essere estesa, nell unico modo specificato da (*), in una soluzione ammissibile x, x 2,, x 6 di (P 2 ), eliminando le variabili di scarto, ogni soluzione ammissibile di (P 2 ) soluzione ammissibile di (P ). La corrispondenza vale anche per le soluzioni ottime. Una soluzione ammissibile di (P 2 ): x =, x 2 =, x 3 = x 4 = 5, x 5 =, x 6 = 8 (*) di valore z = E. Amaldi Fondamenti di R.O. Politecnico di Milano 3 Idea: Trovare una soluzione ammissibile con z inferiore e ripetere finché non si arriva ad una soluzione ottima. Visto che z = -5x 4x 2 3x 3 x = 5 8 proviamo a fare crescere x lasciando x 2 = x 3 =. Di quanto si può far crescere x? E. Amaldi Fondamenti di R.O. Politecnico di Milano 4 2
x =, x 2 =, x 3 = x 4 = 3, x 5 = 7, x 6 = 5ez = -5 x = 2, x 2 =, x 3 = x 4 =, x 5 = 3, x 6 = 2ez = - x = 3, x 2 =, x 3 = x 4 = x 5 = x 6 = -! vincoli x 4, x 5, x 6 Limite alla crescita: x 4 = 5 2x 3x 2 x 3 x 5/2 x 5 = 4x x 2 2x 3 x /4 più stringente x 6 = 8 3x 4x 2 2x 3 x 8/3 x 2 = x 3 = E. Amaldi Fondamenti di R.O. Politecnico di Milano 5 Sostituendo si ottiene: x = 5/2, x 2 = x 3 = x 4 =, x 5 =, x 6 = /8 con z = -25/2 Si può fare decrescere z ulteriormente? Se si quale variabile (x 2 o x 3 ) far crescere e di quanto? E. Amaldi Fondamenti di R.O. Politecnico di Milano 6 3
Per rispondere è meglio disporre oltre a x corrente anche di un sistema come (*): le variabili con valore positivo ( x 4, x 5, x 6 ) sono espresse in funzione di quelle nulle ( x, x 2, x 3 ); anche z è espressa in funzione di x, x 2, x 3. Per esprimere x, x 5, x 6 in funzione di x 2, x 3, x 4 x 4 = 5 2x 3x 2 x 3 x = 5/2 3/2x 2 /2x 3 /2x 4 x 5,x 6 e z sono ottenute per sostituzione nelle rispettive equazioni E. Amaldi Fondamenti di R.O. Politecnico di Milano 7 x 5 = 4x x 2 2x 3 x 5 = 4 (5/2 3/2x 2 /2x 3 /2x 4 ) x 2 2x 3 x 6 = 8 3x 4x 2 2x 3 x 6 = 8 3 (5/2 3/2x 2 /2x 3 /2x 4 ) 4x 2 2x 3 z = -5x 4x 2 3x 3 z = -5 (5/2 3/2x 2 /2x 3 /2x 4 ) 4x 2 3x 3 x = 5/2 3/2x 2 /2x 3 /2x 4 (**) x 5 = + 5x 2 + 2x 4 x 6 = /2 + /2x 2 /2x 3 + 3/2x 4 z = -25/2 + 7/2x 2 /2x 3 + 5/2x 4 z cresce al crescere di x 2 e x 4 E. Amaldi Fondamenti di R.O. Politecnico di Milano 8 4
Si può solo aumentare x 3 I limiti alla crescita si ricavano da (**) ponendo x 2 = e x 4 = : x x 3 5 x 5 nessun limite (x 3 non compare) x 6 x 3 quindi x 3 = e si ottiene la nuova soluzione ammissibile: x = 2, x 2 = x 4 = x 6 =, x 3 = x 5 = con z = -3 E. Amaldi Fondamenti di R.O. Politecnico di Milano 9 Sistema equivalente: x 3 = + x 2 + 3x 4 2x 6 x = 2 2x 2 2x 4 + x 6 x 5 = + 5x 2 + 2x 4 sostituendo x 3 = + x 2 + 3x 4 2x 6 ottenuta dalla terza equazione di (**) z = -3 + 3x 2 + x 4 + x 6 Non si può più far decrescere z (tutte le variabili hanno coefficienti di segno positivo)! E. Amaldi Fondamenti di R.O. Politecnico di Milano 5
Proprietà del metodo La soluzione ammissibile finale è ottima z = -3 + 3x 2 + x 4 + x 6 e ogni soluzione ammissibile soddisfa le disequazioni x 2, x 4 e x 6 z * = -3 valore ottimo! E. Amaldi Fondamenti di R.O. Politecnico di Milano I sistemi (*), (**), sono equivalenti. Ciascuno è tale che ponendo a zero le variabili di destra si ottiene una soluzione ammissibile. Un tale sistema di equazioni soluzione ammissibile Esempio: x =, x 2 =, x 3 =, x 4 = 2, x 5 = 5, x 6 = 3 è una soluzione ammissibile ma chiaramente un sistema come (*), (**), che la descrive. E. Amaldi Fondamenti di R.O. Politecnico di Milano 2 6
Ad ogni iterazione si passa da una soluzione ammissibile x, x 2,, x n+m (n variabili originali e m di scarto) ad un altra soluzione ammissibile x, x 2,, x n+m migliore, cioè tale che n j= c j x j n j= c j x j NB: somma su n perché le variabili di scarto x n+,, x n+m hanno c j = E. Amaldi Fondamenti di R.O. Politecnico di Milano 3 Terminologia: Una soluzione ammissibile che può essere descritta da un sistema come (*), (**), è detta soluzione di base. Le variabili a sinistra sono le variabili in base e quelle a destra le variabili fuori base. E. Amaldi Fondamenti di R.O. Politecnico di Milano 4 7
4.4 Soluzioni di base ammissibili min z = 2x + x 2 + 5x 3 min c T x S.V. x +x 2 +x 3 +x 4 = 4 x +x 5 = 2 x 3 +x 6 = 3 3x 2 +x 3 +x 7 = 6 x i i =,, 7 Ax = b x con A m n m n # vincoli # variabili E. Amaldi Fondamenti di R.O. Politecnico di Milano 5 Ipotesi: A m n con m n di rango m non ci sono vincoli ridondanti Esempio: 2 x + x 2 + x 3 =2 o equazione ridondante x + x 2 = ( = 2 o + 3 ) può essere x + x 3 = eliminato x, x 2, x 3 Se m = n, unica soluzione di Ax = b ( x = A - b ) Se m < n, soluzioni di Ax = b (il sistema ha n-m gradi di libertà, il valore di n-m variabili può essere fissato arbitrariamente) E. Amaldi Fondamenti di R.O. Politecnico di Milano 6 8
Definizioni: Una base è un sottoinsieme di colonne di A linearmente indipendenti che formano una sottomatrice B m mnon singolare. A = B N m n-m permutazione delle colonne Esempio: B contiene le colonne 4, 5, 6, 7 di A E. Amaldi Fondamenti di R.O. Politecnico di Milano 7 Se x = x B x N m n-m componenti componenti il sistema Ax = b si può scrivere B x B + N x N = b e per qualunque insieme di valori x N soddisfa Ax = b. x B = B - b B - N x N In particolare, ponendo x N = si ottiene la soluzione di base x B = B - b, x N = Se x B, la soluzione di base è ammissibile. E. Amaldi Fondamenti di R.O. Politecnico di Milano 8 9
E. Amaldi Fondamenti di R.O. Politecnico di Milano 9 Esempi: colonne 4, 5, 6, 7 colonne 2, 5, 6, 7 = 3 B = B B - = B x B = b soluzione di base ammissibile = 3 B x B = ammissibile 3 2 4-6 E. Amaldi Fondamenti di R.O. Politecnico di Milano 2 Relazione tra soluzioni di base ammissibili e vertici Teorema: x è una soluzione di base ammissibile di Ax = b x è un vertice del poliedro P ={ x n : Ax = b, x }. Esempio: x + x 2 6 2x + x 2 8 x, x 2 x + x 2 + s =6 2x + x 2 + s 2 =8 x, x 2, s, s 2 m = 2 equazioni in n = 4 variabili in questo caso tutte le sottomatrici 2 2 di A 2 4 sono basi (sono non singolari)
x + x 2 + s = 6 2x + x 2 + s 2 =8 x, x 2, s, s 2 Le 6 soluzioni di base: (I) (II) ) x =, x 2 = s = 6, s 2 = 8 2) x =, s = x 2 = 6, s 2 = 2 3) x =, s 2 = x 2 = 8, s = -2 4) x 2 =, s = x = 6, s 2 = -4 5) x 2 =, s 2 = x = 4, s = 2 6) s =, s 2 = x = 2, x 2 = 4 P 2) ) x 2 3) 6) 5) 4) (II) (I) x ammissibili annullando 2 delle 4 variabili si ottengono i vertici di P E. Amaldi Fondamenti di R.O. Politecnico di Milano 2 In questo caso: 4 4! # di basi = = = 6 2 2! (4 2)! tutte le sottomatrici 2 2 sono non singolari In genere: n m # soluzioni di base ammissibili non tutte le sottomatrice m m sono basi con B - b NB: Più di una base può corrispondere a uno stesso vertice! stesse coordinate B b per più basi B E. Amaldi Fondamenti di R.O. Politecnico di Milano 22
Conseguenze Dato un programma lineare in forma standard min c T x s.v Ax = b x A m n, con m n, di rango m Se una soluzione ammissibile, anche una soluzione di base ammissibile. ( almeno un vertice) Se una soluzione ottima, anche una soluzione di base ammissibile ottima. ( almeno un vertice ottimo) E. Amaldi Fondamenti di R.O. Politecnico di Milano 23 La PL si riconduce ad un problema di natura combinatoria Per risolvere un PL basta esaminare le soluzioni di base ammissibili (vertici del poliedro P)! n m # vertici finito ma non polinomiale in n, m enumerazione esaustiva! E. Amaldi Fondamenti di R.O. Politecnico di Milano 24 2