Il metodo del simplesso Il metodo del simplesso p. 1/12
I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente, in forma matriciale: max cx Ax = b x 0 Il metodo del simplesso p. 2/12
Un osservazione Osservazione Ogni problema di PL in forma canonica può essere trasformato in uno equivalente in forma standard. Il metodo del simplesso p. 3/12
Dimostrazione Problema di PL in forma canonica max cx a i x b i x 0 i = 1,...,m a i x b i a i x + y i = b i, y i 0. Quindi, il problema di PL in forma canonica è equivalente al seguente: max cx a i x + y i = b i x 0 y i 0 i = 1,...,m i = 1,...,m che è in forma standard. Il metodo del simplesso p. 4/12
Continua Ogni problema di PL può essere ricondotto ad uno equivalente in forma canonica. Ogni problema in forma canonica può essere ricondotto ad uno equivalente in forma standard. Quindi: ogni problema di PL può essere ricondotto ad uno equivalente in forma standard. NB: nella pratica si passa direttamente da un problema di PL in forma generica ad uno equivalente in forma standard, senza passare necessariamente attraverso un problema in forma canonica. Il metodo del simplesso p. 5/12
Un esempio Si trasformi il seguente problema di PL in forma generica in un problema di PL in forma standard min x 1 + x 2 + x 3 x 1 + 2x 2 x 3 3 x 1 + 4x 2 + 5x 3 = 5 x 1 2x 2 + x 3 3 x 1 0 x 2 0 x 3 libera in segno Il metodo del simplesso p. 6/12
Ipotesi aggiuntiva Si richiede che la matrice dei vincoli A R m n abbia rango pari a m, il numero delle sue righe, il che equivale a richiedere che: non ci sono righe di A ottenibili come combinazioni lineari di altre righe di A; esistono m colonne della matrice A che formano una matrice quadrata invertibile. NB: Si può dimostrare che anche questa non è una condizione restrittiva e che ci si può sempre ricondurre ad essa. Il metodo del simplesso p. 7/12
Esempi A 1 = 1 2 1 3 2 1 3 4 3 0 5 5 Rango di A 1 < m = 3 A 2 = [ 1 2 2 1 1 3 7 1 3 1 ] Rango di A 2 = m = 2 Il metodo del simplesso p. 8/12
Base di un problema di PL Si definisce base di un problema di PL in forma standard un sottinsieme: B = {x i1,...,x im } di m delle n variabili del problema di PL con la proprietà che la matrice A B R m m ottenuta considerando le sole colonne di A relative alle variabili x ik, k = 1,...,m, sia invertibile. Le variabili dell insieme B verranno dette variabili in base, quelle al di fuori di B verranno raggruppate nell insieme: N = {x im+1,...,x in } e verranno dette variabili fuori base. Il metodo del simplesso p. 9/12
Un esempio Dato max 3x 1 + 4x 2 + 2x 3 + 2x 4 + x 5 x 1 + 2x 2 + 2x 3 + x 4 x 5 = 2 x 1 + 2x 2 + x 3 + 4x 4 2x 5 = 2 x 1,x 2,x 3,x 4,x 5 0 Matrice dei vincoli A = [ 1 2 2 1 1 1 2 1 4 2 ] Il metodo del simplesso p. 10/12
Continua B 1 = {x 1,x 2 } non è una base. Infatti [ ] 1 2 A B1 = non è invertibile 1 2 Invece, B 2 = {x 1,x 3 } è una base in quanto: [ ] 1 2 A B2 = è invertibile 1 1 Allo stesso modo si verifichi che B 3 = {x 3,x 4 } e B 4 = {x 4,x 5 } sono basi. Il metodo del simplesso p. 11/12
Riformulazione rispetto alla base B Data una base B, indichiamo con: x B R m il vettore delle variabili in base x N R n m il vettore delle variabili fuori base c B R m il vettore dei costi relativi alle variabili in base c N R n m il vettore dei costi relativi alle variabili fuori base A N R m (n m) la matrice ottenuta da A considerando le sole colonne relative alle variabili fuori base. Il metodo del simplesso p. 12/12
Nell esempio Con la base B = {x 1,x 3 } abbiamo: x B = (x 1 x 3 ) x N = (x 2 x 4 x 5 ) c B = (3 2) c N = (4 2 1) A N = [ 2 1 1 2 4 2 ] Il metodo del simplesso p. 13/12
Riscrittura della riformulazione Possiamo ora riscrivere il problema di PL in forma standard nella seguente forma equivalente: max c B x B + c N x N A B x B + A N x N = b x B,x N 0 e quindi anche in questo modo: max c B x B + c N x N A B x B = b A N x N x B,x N 0 Il metodo del simplesso p. 14/12
Nell esempio max c B x B {}}{ 3x 1 + 2x 3 + c N x N {}}{ 4x 2 + 2x 4 + x 5 A B x B {}}{ x 1 + 2x 3 + A N x N {}}{ 2x 2 + x 4 x 5 = 2 x 1 + x 3 + 2x 2 + 4x 4 2x 5 = 2 x 1,x }{{} 3,x 2,x 4,x 5 0 }{{} x B x N Il metodo del simplesso p. 15/12
E quindi... max c B x B {}}{ 3x 1 + 2x 3 + A B x B {}}{ x 1 + 2x 3 = c N x N {}}{ 4x 2 + 2x 4 + x 5 b A N x N {}}{ 2 2x 2 x 4 + x 5 x 1 + x 3 = 2 2x 2 4x 4 + 2x 5 x 1,x }{{} 3,x 2,x 4,x 5 0 }{{} x B x N Il metodo del simplesso p. 16/12
Continua Moltiplichiamo ora i vincoli di uguaglianza per A 1 B : max c B x B + c N x N A 1 B A Bx B = A 1 B b A 1 B A Nx N x B,x N 0 e quindi da A 1 B A Bx B = Ix B = x B max c B x B + c N x N x B = A 1 B b A 1 B A Nx N x B,x N 0 Questo equivale a risolvere il sistema dato dai vincoli di uguaglianza considerando la variabili in base come incognite del sistema e quelle fuori base come parametri. Il metodo del simplesso p. 17/12
Nell esempio max 3x 1 + 2x 3 + 4x 2 + 2x 4 + x 5 x 1 = 2 2x 2 7x 4 + 3x 5 x 3 = 0 + 3x 4 x 5 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 18/12
Riformulazione rispetto alla base B Infine, sostituendo x B nell obiettivo: da cui: c B x B + c N x N = c B ( A 1 B b A 1 B A Nx N ) + cn x N max c B A 1 B b + (c N c B A 1 B A N)x N x B = A 1 B b A 1 B A Nx N x B,x N 0 Questa riformulazione viene detta riformulazione del problema di PL rispetto alla base B. NB: tale riformulazione è del tutto equivalente al problema originario di PL. Il metodo del simplesso p. 19/12
Nell esempio Riformulazione rispetto alla base B = {x 1,x 3 }: max 6 2x 2 13x 4 + 8x 5 x 1 = 2 2x 2 7x 4 + 3x 5 x 3 = 0 + 3x 4 x 5 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 20/12
Soluzioni di base Si definisce soluzione di base associata alla base B, la seguente soluzione del sistema di vincoli di uguaglianza ottenuta ponendo x N = 0: Nell esempio: x B = A 1 B b x N = 0. x 1 = 2 x 3 = 0 x 2 = x 4 = x 5 = 0 Il metodo del simplesso p. 21/12
Ammissibilità e non degenerazione Se A 1 B b 0 la soluzione di base si dice ammissibile. Questo vuol dire che appartiene alla regione ammissibile del problema di PL in quanto, oltre a soddisfare i vincoli di uguaglianza del problema, soddisfa anche quelli di non negatività delle variabili. Se inoltre si ha A 1 B b > 0 si parla di soluzione di base non degenere, altrimenti si parla di soluzione di base degenere. Il metodo del simplesso p. 22/12
Nell esempio B 2 = {x 1,x 3 } soluzione di base ammissibile e degenere B 3 = {x 3,x 4 }: la soluzione di base è x 3 = 6/7 x 4 = 2/7 x 1 = x 2 = x 5 = 0, che è ammissibile e non degenere B 4 = {x 4,x 5 }: la soluzione di base è x 4 = 1 x 5 = 3 x 1 = x 2 = x 3 = 0, che è non ammissibile. Il metodo del simplesso p. 23/12
Osservazione Data una soluzione di base ammissibile e non degenere esiste un unica base che la rappresenta, mentre una soluzione di base ammissibile e degenere è rappresentata da più basi. Si verifichi, ad esempio, che la base B 5 = {x 1,x 4 } ha come soluzione di base associata: x 1 = 2 x 4 = 0 x 2 = x 3 = x 5 = 0, che è la stessa associata alla base B 2. Il metodo del simplesso p. 24/12
Ma...... cosa hanno a che fare le basi e le soluzioni di base con il teorema fondamentale della PL? La risposta ci viene dalla seguente osservazione. Osservazione L insieme dei vertici di S a coincide con l insieme delle soluzioni di base ammissibili del problema di PL. In pratica, vertici e di soluzioni di base ammissibili sono la stessa cosa vista da due punti di vista diversi: quello geometrico (i vertici) e quello algebrico (le soluzioni di base ammissibili). Il metodo del simplesso p. 25/12
Basi adiacenti Due basi B e B si definiscono adiacenti se hanno m 1 variabili uguali e differiscono per una sola variabile. Nell esempio le basi B 3 = {x 3,x 4 } e B 4 = {x 4,x 5 } sono adiacenti, mentre non lo sono B 2 = {x 1,x 3 } e B 4. Il metodo del simplesso p. 26/12
Soluzioni di base adiacenti Due soluzioni di base distinte si definiscono adiacenti se esistono due basi B e B che le rappresentano e che sono tra loro adiacenti. Si noti che due basi adiacenti non corrispondono necessariamente a due soluzioni di base adiacenti. Esse infatti possono corrispondere alla stessa soluzione di base come accade, ad esempio, con le basi B 2 = {x 1,x 3 } e B 5 = {x 1,x 4 }. Il metodo del simplesso p. 27/12
Riformulazione rispetto alla base B Sia data la base: con B = {x i1,...,x im }. N = {x im+1,...,x in } l insieme delle variabili fuori base. Abbiamo visto che, data la base B, la riformulazione del problema di PL rispetto alla base B è data da max c B A 1 B b + (c N c B A 1 B A N)x N x B = A 1 B b A 1 B A Nx N x B,x N 0 Il metodo del simplesso p. 28/12
Continua Indichiamo con: γ 0 il valore c B A 1 B b; γ j, j = 1,...,n m, le componenti del vettore c N c B A 1 B A N; β r, r = 1,...,m, le componenti del vettore A 1 B b; α rj, r = 1,...,m, j = 1,...,n m, le componenti della matrice A 1 B A N Il metodo del simplesso p. 29/12
Continua In forma scalare possiamo riscrivere la riformulazione rispetto alla base B nel seguente modo: max γ 0 + n m j=1 γ jx im+j x i1 = β 1 + n m j=1 α 1jx im+j x ik = β k + n m j=1 α kjx im+j x im = β m + n m j=1 α mjx im+j x 1,...,x n 0 Il metodo del simplesso p. 30/12
Nell esempio Riformulazione rispetto alla base B 2 = {x 1,x 3 }: max 6 2x 2 13x 4 + 8x 5 x 1 = 2 2x 2 7x 4 + 3x 5 x 3 = 0 + 3x 4 x 5 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 31/12
Passaggio ad una base adiacente Supponiamo ora di voler passare dalla base B alla base adiacente B ottenuta rimuovendo da B la variabile x ik, 1 k m, e sostituendola con la variabile fuori base x im+h, 1 h n m, ovvero: B = {x i1,...,x ik 1,x im+h,x ik+1,...,x im }. La prima domanda che ci dobbiamo porre è : quando B è effettivamente una base. Perché lo sia si deve avere che A B è invertibile. Il metodo del simplesso p. 32/12
Continua Si ha che A B è invertibile e quindi B è una base se e solo se nella riformulazione associata alla base B il coefficiente di x im+h nell equazione relativa a x ik è diverso da 0, ovvero se e solo se: α kh 0. Nell esempio: {x 1,x 2 } non è una base {x 1,x 5 } è una base Il metodo del simplesso p. 33/12
L operazione di cardine Tale operazione consente di passare dalla riformulazione rispetto alla base B a quella rispetto alla base adiacente B. Per fare questo dovremo compiere le seguenti operazioni. Ricavare x im+h dall equazione relativa a x ik, cioè: x im+h = β k α kh + 1 α kh x ik n m j=1, j h α kj α kh x im+j. sostituire ogni occorrenza della variabile x im+h nelle restanti equazioni e nell obiettivo con la parte destra di tale equazione Il metodo del simplesso p. 34/12
Esempio Dalla riformulazione rispetto a B 2 = {x 1,x 3 } a quella rispetto a B 6 = {x 1,x 5 } Ricavo x 5 dall equazione relativa a x 3 x 5 = 0 x 3 + 3x 4 Sostituisco la parte destra dell equazione nei restanti vincoli e nell obiettivo max 6 2x 2 13x 4 + 8(0 x 3 + 3x 4 ) x 1 = 2 2x 2 7x 4 + 3(0 x 3 + 3x 4 ) x 5 = 0 x 3 + 3x 4 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 35/12
Riformulazione rispetto a B 6 = {x 1, x 5 } max 6 2x 2 8x 3 + 11x 4 x 1 = 2 2x 2 + 2x 4 3x 3 x 5 = 0 x 3 + 3x 4 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 36/12
Nota bene Per poter recuperare dalle riformulazioni alcune informazioni (nel seguito vedremo, ad esempio, come sfruttare la riformulazione rispetto a una base B per poter ottenere la matrice A 1 B ) è necessario mantenere un ordine tra le variabili in una base. Quindi se nella base B la variabile x im+h sostituisce la variabile x ik a cui corrisponde la k-esima equazione della riformulazione rispetto a B, nella riformulazione rispetto a B l equazione relativa alla variabile x im+h dovrà ancora essere la k-esima, mentre la posizione delle equazioni relative a tutte le altre variabili deve rimanere invariata rispetto alla precedente riformulazione. Il metodo del simplesso p. 37/12
Nell esempio...... la variabile x 5 ha preso il posto della x 3 e l equazione relativa alla x 5 è stata messa nella stessa posizione (la seconda) in cui si trovava quella della x 3, mentre la restante equazione ha mantenuto la posizione originaria. Il metodo del simplesso p. 38/12
Un altro esempio Passaggio da B 6 = {x 1,x 5 } a B 4 = {x 4,x 5 } Ricavo x 4 dall equazione relativa a x 1 x 4 = 1 + 1/2x 1 + x 2 + 3/2x 3 Sostituisco la parte destra dell equazione nei restanti vincoli e nell obiettivo max 6 2x 2 8x 3 + 11( 1 + 1/2x 1 + x 2 + 3/2x 3 ) x 4 = 1 + 1/2x 1 + x 2 + 3/2x 3 x 5 = 0 x 3 + 3( 1 + 1/2x 1 + x 2 + 3/2x 3 ) x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 39/12
Continua Riformulazione rispetto a B 4 = {x 4,x 5 }: max 5 + 11/2x 1 + 9x 2 + 17/2x 3 x 4 = 1 + 1/2x 1 + x 2 + 3/2x 3 x 5 = 3 + 3/2x 1 + 3x 2 + 7/2x 3 x 1,x 3,x 2,x 4,x 5 0 Il metodo del simplesso p. 40/12
Nota bene Le operazioni di cardine che abbiamo eseguito sugli esempi ci hanno consentito di passare da una base ad una adiacente e, nel secondo esempio, anche da una soluzione di base ad una adiacente. Tuttavia, nel secondo caso siamo passati da una soluzione di base ammissibile (quella associata a B 6 ) ad una non ammissibile (quella associata a B 4 ). Nell algoritmo di risoluzione che ci apprestiamo a discutere la scelta della base adiacente verso cui muoversi non verrà fatta a caso come abbiamo fatto nei precedenti esempi, ma sarà guidata da regole precise che fondamentalmente ci consentiranno di spostarsi tra vertici della regione ammissibile migliorando il valore della funzione obiettivo. Il metodo del simplesso p. 41/12
Ipotesi iniziale Data la base B e la riformulazione rispetto ad essa: max γ 0 + n m j=1 γ jx im+j x i1 = β 1 + n m j=1 α 1jx im+j x ik = β k + n m j=1 α kjx im+j x im = β m + n m j=1 α mjx im+j x 1,...,x n 0 supponiamo che β k 0,k = 1,...,m, ovvero la base B è ammissibile (la soluzione di base associata è ammissibile). Il metodo del simplesso p. 42/12
Nota bene Due problemi non banali sono: stabilire se esiste una base ammissibile (o, equivalentemente, stabilire se S a ) nel caso esista, determinarne una. Questi problemi li affronteremo in seguito. Per il momento supponiamo di avere già a disposizione una base ammissibile B. Il metodo del simplesso p. 43/12
Coefficienti di costo ridotto I coefficienti γ j delle variabili fuori base nell obiettivo della riformulazione rispetto alla base B vengono detti coefficienti di costo ridotto delle variabili fuori base. Questi esprimono la variazione dell obiettivo in corrispondenza dell incremento di un unità della variabile fuori base corrispondente. Il metodo del simplesso p. 44/12
Infatti...... se consideriamo l obiettivo della riformulazione: γ 0 + n m j=1 γ j x im+j, e supponiamo di tenere a 0 il valore di tutte le variabili fuori base tranne la variabile x im+h il cui valore viene incrementato a 1, otteniamo Il nuovo valore dell obiettivo γ 0 + γ h con una variazione rispetto al valore γ 0 (quello nella soluzione di base associata a B) pari proprio al valore γ h del coefficiente di costo ridotto della variabile fuori base x im+h. Il metodo del simplesso p. 45/12
Un esempio Sia data la seguente riformulazione rispetto alla base ammissibile {x 1,x 2 } di un problema di PL: max 2 + x 3 x 4 x 1 = 2 + x 3 + x 4 x 2 = 1 + 2x 3 + x 4 x 1,x 2,x 3,x 4 0 Il valore dell obiettivo nella corrispondente soluzione di base è la costante che appare nell obiettivo (2). Il metodo del simplesso p. 46/12
Continua Se teniamo a 0 il valore di x 4 e portiamo a 1 quello di x 3, il valore dell obiettivo diventa 3, con una variazione pari al coefficiente di costo ridotto (+1) di x 3 Se teniamo a 0 il valore di x 3 e portiamo a 1 quello di x 4, il valore dell obiettivo diventa 1, con una variazione pari al coefficiente di costo ridotto (-1) di x 4 Il metodo del simplesso p. 47/12
Verifica di ottimalità Alla base ammissibile B è associata una soluzione di base ammissibile (un vertice di S a ). Posso stabilire se questa soluzione appartiene a S ott? Data una variabile fuori base, il cui valore è nullo nella soluzione di base associata a B, quando "conviene" far crescere da 0 il valore di tale variabile? Solo quando il suo coefficiente di costo ridotto è positivo, altrimenti il valore dell obiettivo o rimane invariato (se il coefficiente è nullo) o diminuisce (se è negativo). Il metodo del simplesso p. 48/12
Quindi...... se tutte le variabili fuori base hanno coefficiente di costo ridotto minore o uguale a 0, ovvero γ j 0 j = 1,...,n m. la soluzione di base associata a B è soluzione ottima del problema di PL. Il metodo del simplesso p. 49/12
Una dimostrazione formale Il valore dell obiettivo in corrispondenza della soluzione di base associata a B è γ 0. Inoltre in S a si ha x im+j 0, j = 1,...,n m. Quindi per il valore dell obiettivo in S a si avrà: γ 0 + n m j=1 γ j x im+j }{{}}{{} 0 0 γ 0, ovvero in S a il valore dell obiettivo non può mai superare il valore γ 0. Essendo questo anche il valore dell obiettivo per la nostra soluzione di base, tale soluzione di base è anche soluzione ottima del nostro problema. Il metodo del simplesso p. 50/12
In forma vettoriale Ricordando che γ j sono le componenti del vettore c N c B A 1 B A N (detto anche, per questa ragione, vettore dei coefficienti di costo ridotto), in forma vettoriale la condizione sufficiente di ottimalità si esprime nel modo seguente: c N c B A 1 B A N 0. Il metodo del simplesso p. 51/12
La condizione non è necessaria! Può succedere che la soluzione di base sia già una soluzione ottima ma la condizione di ottimalità non sia soddisfatta. Ciò però può accadere solo nel caso di una soluzione di base degenere. Il metodo del simplesso p. 52/12
Un esempio Sia data la seguente riformulazione rispetto alla base {x 3,x 4 } di un problema di PL: max x 1 x 3 = 1 x 2 x 4 = x 1 x 1,x 2,x 3,x 4 0 La soluzione di base corrispondente è: x 3 = 1 x 4 = 0 x 1 = x 2 = 0. Si noti che è degenere. La condizione di ottimalità non è soddisfatta (il coefficiente di x 1 nell obiettivo è pari a 1). Il metodo del simplesso p. 53/12
Continua Passiamo ora, con l operazione di cardine, alla base adiacente {x 1,x 3 }. La riformulazione rispetto a questa base è la seguente: max x 4 x 3 = 1 x 2 x 1 = x 4 x 1,x 2,x 3,x 4 0 Ora la condizione di ottimalità è soddisfatta e quindi la soluzione di base associata è ottima. Ma se osserviamo la soluzione di base associata, questa coincide esattamente con la precedente. Il metodo del simplesso p. 54/12
Osservazione Si può dimostrare che data una soluzione di base ottima esiste sempre almeno una base corrispondente per la quale la condizione di ottimalità è soddisfatta. Nell esempio abbiamo visto come la stessa soluzione di base sia rappresentata sia dalla base {x 3,x 4 } che dalla base {x 1,x 3 }. La prima base non soddisfa la condizione, ma questa è soddisfatta dalla seconda base. Il metodo del simplesso p. 55/12
Verifica di illimitatezza Supponiamo ora che la condizione di ottimalità non sia soddisfatta. Un altra domanda che possiamo porci è la seguente: quando il problema ha valore dell obiettivo illimitato? Una condizione sufficiente perché questo si verifichi è la seguente: γ h > 0 : α rh 0 r = 1,...,m. Il metodo del simplesso p. 56/12
Infatti...... nella riformulazione rispetto alla base B poniamo a zero tutte le variabili fuori base tranne la variabile x im+h con γ h > 0. Ciò che rimane è: max γ 0 + γ h x im+h x i1 = β 1 + α 1h x im+h x im = β m + α mh x im+h x 1,...,x n 0 Cosa succede se faccio crescere il valore della variabile x im+h? Il metodo del simplesso p. 57/12
Continua Per ogni r {1,...,m}: x ir = β r }{{} 0 + α }{{} rh x im+h }{{} 0 0 0, quindi per ogni possibile valore non negativo di x im+h le variabili in base continuano ad avere valore non negativo e quindi rimaniamo all interno di S a. Ma vediamo ora cosa succede all obiettivo: γ 0 + γ }{{} h x im+h >0 }{{} +, x im+h + da cui S ott = in quanto il valore dell obiettivo è illimitato in S a. Il metodo del simplesso p. 58/12
Un esempio Sia data la seguente riformulazione rispetto alla base {x 1,x 2 } di un problema di PL: max 2 + x 3 x 4 x 1 = 2 + x 3 + x 4 x 2 = 1 + 2x 3 + x 4 x 1,x 2,x 3,x 4 0 Il coefficiente di x 3 nell obiettivo è positivo e non negativi sono anche i coefficienti di x 3 nelle equazioni dei vincoli. Il metodo del simplesso p. 59/12
Continua Se poniamo x 4 = 0 e x 3 = t 0 il problema diventa: max 2 + t x 1 = 2 + t x 2 = 1 + 2t x 1,x 2,x 3,x 4 0 da cui si nota che i punti x 1 = 2 + t x 2 = 1 + 2t x 3 = t x 4 = 0 sono tutti in S a per ogni t 0, mentre il valore dell obiettivo cresce a + al crescere di t a +. Il metodo del simplesso p. 60/12
Cambio di base Cosa succede se nessuna delle due condizioni di arresto (ottimalità e illimitatezza) è soddisfatta? Effettuo un cambio di base passando da quella attuale ad una adiacente. Ma come scelgo la base adiacente verso cui spostarmi? Voglio cercare di spostarmi in una base adiacente che: sia ancora ammissibile la soluzione di base corrispondente abbia valore della funzione obiettivo non peggiore rispetto a quella attuale. Il metodo del simplesso p. 61/12
Variabile da far entrare in base Scelgo la variabile fuori base da far entrare in base cercando di garantire un miglioramento del valore dell obiettivo Quali variabili fuori base (e quindi a valore nullo nella soluzione di base) possono consentirmi di migliorare il valore dell obiettivo? Dovremo far crescere quelle con coefficiente di costo ridotto γ j positivo (facendo crescere le altre il valore dell obiettivo diminuisce oppure non cambia). Quindi dobbiamo restringere l attenzione alle sole variabili x im+j tali che γ j > 0. Il metodo del simplesso p. 62/12
E...... se c è più di una variabile con coefficiente di costo ridotto positivo? Qui adotteremo la regola di scelta tra queste variabili che consiste nel scegliere quella che fa crescere più rapidamente il valore dell obiettivo e cioè la variabile x im+h tale che: γ h = max γ j, j=1,...,n m tenendo comunque presente che questa non è l unica regola possibile. Nel caso il massimo sia raggiunto da più variabili adottiamo (come pura convenzione) la regola di selezionare la variabile con indice più piccolo. Il metodo del simplesso p. 63/12
Nell esempio Data la seguente riformulazione rispetto alla base {x 1,x 2 } di un problema di PL: max 2 + 2x 3 + 2x 4 + x 5 x 1 = 1 x 3 + x 4 + x 5 x 2 = 2 x 3 x 4 x 5 x 1,x 2,x 3,x 4,x 5 0 In questo caso tutte le variabili fuori base hanno coefficiente di costo ridotto positivo. Tra queste considero quelle il cui coefficiente di costo ridotto è massimo (la x 3 e la x 4 ). Tra le due scelgo quella con indice minore e quindi la x 3. Quindi scegliamo la variabile fuori base x 3 come nuova variabile da far entrare in base. Il metodo del simplesso p. 64/12
Variabile uscente dalla base Una volta scelta la variabile x im+h che dovrà entrare in base, quale variabile in base dovrà farle posto, ovvero quale sarà la variabile in base x ik che dovrà uscire dalla base? Se la scelta della variabile che entra in base è guidata dal desiderio di far crescere il valore dell obiettivo, la scelta della variabile uscente dalla base sarà motivata dal desiderio di non uscire dalla regione ammissibile. Il metodo del simplesso p. 65/12
Continua Nella riformulazione rispetto alla base corrente fissiamo a 0 tutte le variabili fuori base tranne la x im+h. Si avrà dunque: max γ 0 + γ h x im+h x i1 = β 1 + α 1h x im+h x im = β m + α mh x im+h x 1,...,x n 0 Fino a quando possiamo far crescere il valore di x im+h senza uscire dalla regione ammissibile? Il metodo del simplesso p. 66/12
Continua Abbiamo due casi: Caso 1 Per tutti gli r {1,...,m} tali che α rh 0 vediamo che: x ir = β r + α }{{} rh x im+h }{{} 0 0 β r 0. Quindi in questo caso non abbiamo alcuna restrizione sulla crescita di x im+h. Il metodo del simplesso p. 67/12
Continua Caso 2 Per gli r tali che α rh < 0, allora vediamo che il valore di x im+h può crescere al massimo fino a: β r α rh e oltre questo valore la variabile x ir assume valori negativi (si esce quindi dalla regione ammissibile S a ). Il metodo del simplesso p. 68/12
Quindi...... se vogliamo rimanere in S a, ci dobbiamo arrestare non appena una variabile x ir con α rh < 0 si annulla al crescere di x im+h. Questa sarà la variabile x ik tale che α kh < 0 e β k α kh = { min β } r. r : α rh <0 α rh (Criterio dei minimi rapporti). Nel caso il minimo sia raggiunto da più variabili la scelta ricade, per convenzione, su quella con indice più piccolo. La variabile x ik sarà quella che uscirà dalla base. Il metodo del simplesso p. 69/12
Nell esempio Abbiamo precedentemente scelto x 3 come variabile entrante in base. Quale variabile dovrà uscire dalla base? Sia la x 1 che la x 2 sono candidate (per entrambe il coefficiente di x 3 nelle rispettive equazioni è negativo). Qual è la prima che si annulla al crescere di x 3? Il metodo del simplesso p. 70/12
Continua Fissando a 0 tutte le variabili fuori base tranne la x 3 si ottiene: max 2 + 2x 3 x 1 = 1 x 3 x 2 = 2 x 3 x 1,x 2,x 3,x 4,x 5 0 e si può vedere che per mantenersi in S a (cioè per mantenere non negative le variabili in base x 1 e x 2 ) possiamo far crescere x 3 al massimo fino al valore 1. In corrispondenza di tale valore si annulla la variabile x 1 e tale variabile sarà quella che dovrà uscire di base. Il metodo del simplesso p. 71/12
Continua Equivalentemente, utilizzando il criterio dei minimi rapporti: x 1 1 1 = 1 x 2 2 1 = 2. Il minimo dei rapporti (pari a 1) è raggiunto in corrispondenza della variabile x 1 e quindi questa sarà la variabile che dovrà uscire dalla base. Il metodo del simplesso p. 72/12
E infine...... una volta selezionata la variabile entrante in base (la x im+h ) e quella uscente di base (la x ik ) con le regole viste, non resta che compiere l operazione di cardine nel modo già descritto in precedenza ottenendo la riformulazione rispetto alla nuova base B. Il metodo del simplesso p. 73/12
Nell esempio Entra x 3 ed esce x 1. L operazione di cardine porta alla seguente riformulazione rispetto alla nuova base B = {x 2,x 3 }: max 4 2x 1 + 4x 4 + 3x 5 x 3 = 1 x 1 + x 4 + x 5 x 2 = 3 + x 1 2x 4 2x 5 x 1,x 2,x 3,x 4,x 5 0 Il metodo del simplesso p. 74/12
Ed ora...... non facciamo altro che iterare sulla nuova base B quanto fatto sulla base precedente B. Il metodo del simplesso p. 75/12
L algoritmo del simplesso Inizializzazione Sia B 0 una base ammissibile e k = 0. Passo 1- verifica ottimalità Se soddisfatta la condizione di ottimalità: STOP. La soluzione di base associata a B k è una soluzione ottima del problema. Altrimenti si vada al Passo 2. Passo 2 - verifica di illimitatezza Se è soddisfatta la condizione di illimitatezza, allora: STOP, si ha S ott = in quanto l obiettivo del problema è illimitato. Altrimenti si vada al Passo 3. Passo 3 - scelta variabile entrante in base Si selezioni la variabile x im+h che dovrà entrare in base attraverso la regola vista. Il metodo del simplesso p. 76/12
Il metodo del simplesso Passo 4 - scelta variabile uscente dalla base Si selezioni la variabile x ik che dovrà uscire dalla base attraverso la regola vista. Passo 5 - operazione di cardine Si generi la nuova base B k+1 sostituendo in B k la variabile x ik con la variabile x im+h e si esegua la corrispondente operazione di cardine. Quindi, si ponga k = k + 1 e si ritorni al Passo 1. Il metodo del simplesso p. 77/12
Nell esempio Condizione di ottimalità? NO Condizione di illimitatezza? NO Variabile entrante in base: x 4 Variabile uscente dalla base: x 2 Operazione di cardine: max 10 2x 2 x 5 x 3 = 5/2 1/2x 1 1/2x 2 x 4 = 3/2 + 1/2x 1 1/2x 2 x 5 x 1,x 2,x 3,x 4,x 5 0 Il metodo del simplesso p. 78/12
Continua Condizione di ottimalità? SI! Soluzione ottima: soluzione di base associata alla base {x 3,x 4 }: x 1 = x 2 = x 5 = 0 x 3 = 5/2 x 4 = 3/2 Valore ottimo: γ 0 = 10 Il metodo del simplesso p. 79/12
Puntualizzazione L algoritmo del simplesso e i suoi derivati (di cui vedremo un esempio più avanti) non sono gli unici algoritmi di risoluzione per problemi di PL. Altri metodi di risoluzione per i problemi di PL sono i cosidetti algoritmi del punto interno. Il metodo del simplesso p. 80/12
E non dimentichiamo...... che abbiamo ipotizzato di avere già a disposizione una base ammissibile B 0 ma non abbiamo ancora visto come si può stabilire se esiste e, nel caso esista, come trovarla. Il metodo del simplesso p. 81/12
Miglioramento valore obiettivo Il valore dell obiettivo nella nuova soluzione di base ottenuta sostituendo x ik nella base con x im+h è con: γ 0 γ h β k α kh. β k 0 per l ammissibilità della soluzione di base associata a B. γ h > 0 per la regola di scelta della variabile entrante in base. α kh < 0 per la regola di scelta della variabile uscente dalla base. Il metodo del simplesso p. 82/12
Quindi... γ 0 γ h }{{} >0 0 {}}{ β k α kh }{{} <0 γ 0. ovvero: il valore dell obiettivo nella nuova soluzione di base associata a B è non peggiore rispetto al valore γ 0 nella soluzione di base associata a B. Il metodo del simplesso p. 83/12
Inoltre......se β k > 0, il che si verifica sempre nel caso di soluzioni di base non degeneri, il nuovo valore dell obiettivo è strettamente migliore rispetto al precedente. Nel caso degenere può succedere che i due valori siano uguali. In questo caso si può dimostrare che le due basi B e B rappresentano la stessa soluzione di base. Il metodo del simplesso p. 84/12
Finitezza del simplesso Se tutte le soluzioni di base ammissibili in un problema di PL sono non degeneri, allora il metodo del simplesso termina in un numero finito di iterazioni. Il metodo del simplesso p. 85/12
Infatti...... ad ogni iterazione la nuova soluzione di base ammissibile (o vertice) ha un valore strettamente migliore rispetto alla precedente e quindi è diversa da tutte quelle che la hanno preceduta. Essendo il numero di soluzioni di base ammissibili finito ( i vertici sono in numero finito), il metodo dovrà arrestarsi dopo un numero finito di iterazioni o restituendo una soluzione ottima oppure stabilendo che il problema ha obiettivo illimitato. Il metodo del simplesso p. 86/12
E nel caso degenere? Si può verificare la situazione di ciclaggio. Trovandosi in un vertice degenere, l algoritmo del simplesso può generare la seguente sequenza di basi che rappresentano tutte questo stesso vertice degenere: B t B t+1 B t+r 1 B t+r = B t. Una volta tornato nella base B t si ripete tutto il ciclo: siamo entrati in un loop! Il metodo del simplesso p. 87/12
Ma...... la situazione di ciclaggio si verifica molto raramente nella pratica ed esistono anche regole particolari per la scelta delle variabili da far entrare e uscire di base, dette regole anticiclaggio (che non vedremo), che consentono all algoritmo di terminare in un numero finito di iterazioni. Il metodo del simplesso p. 88/12
Soluzioni ottime uniche e multiple Una volta trovata una soluzione ottima del problema (un punto in S ott ) ci possiamo chiedere se ce ne sono altre. Se γ j < 0 allora: soluzione ottima unica j = 1,...,m, Il metodo del simplesso p. 89/12
Infatti...... in S a si avrà: γ 0 + n m j=1 γ j x im+j }{{}}{{} <0 0 γ 0, Inoltre: x im+j > 0 γ 0 + n m j=1 γ j x im+j < γ 0 Quindi il valore ottimo γ 0 si ottiene solo con x im+j = 0 j, ovvero nella soluzione di base attuale. Il metodo del simplesso p. 90/12
Esempio max 4 x 1 x 2 x 3 = 2 + x 1 x 2 x 4 = 1 2x 2 x 1,x 2,x 3,x 4 0 Il metodo del simplesso p. 91/12
E se esiste un qualche γ h = 0? Esistono in tal caso più soluzioni ottime? Non è detto. Sono possibili diversi casi. Il metodo del simplesso p. 92/12
Riformulazione ristretta Riscriviamo la riformulazione rispetto alla base B tenendo a 0 tutte le variabili fuori base tranne la x im+h con γ h = 0. Avremo: max γ 0 x i1 = β 1 + α 1h x im+h x im = β m + α mh x im+h x 1,...,x n 0 Il metodo del simplesso p. 93/12
Caso 1 Esiste h tale che γ h = 0 e α rh 0 r = 1,...,m, Esiste certamente un insieme illimitato di soluzioni ottime. Il metodo del simplesso p. 94/12
Esempio Per tutti i t 0, i punti sono soluzioni ottime. max 4 x 2 x 3 = 2 + x 1 x 2 x 4 = 1 2x 2 x 1,x 2,x 3,x 4 0 x 1 = t x 2 = 0 x 3 = 2 + t x 4 = 1 Il metodo del simplesso p. 95/12
Caso 2 Esiste h tale che γ h = 0 e r : α rh < 0 si ha che β r > 0, Esiste certamente un insieme limitato di soluzioni ottime: il segmento che congiunge la soluzione di base attuale con quella (distinta) ottenuta attraverso un operazione di cardine che fa entrare in base x im+h e sceglie secondo la regola già vista la variabile da far uscire di base. Il metodo del simplesso p. 96/12
Esempio Per tutti i t [0, 1], i punti sono soluzioni ottime. max 4 x 2 x 3 = 2 + x 1 x 2 x 4 = 1 x 1 + 2x 2 x 1,x 2,x 3,x 4 0 x 1 = t x 2 = 0 x 3 = 2 + t x 4 = 1 t Il metodo del simplesso p. 97/12
Caso 3 Per ogni h tale che γ h = 0 si ha che: r : α rh < 0 e β r = 0, In tal caso non possiamo dire se esiste un unica soluzione ottima o se vi sono soluzioni ottime multiple. Il metodo del simplesso p. 98/12
Esempio 1 max 4 x 2 x 3 = 2 + x 1 x 2 x 4 = x 1 x 2 x 1,x 2,x 3,x 4 0 Esiste una sola soluzione ottima. Il metodo del simplesso p. 99/12
Esempio 2 Tutte le soluzioni: max 2 x 3 x 4 = x 1 x 2 x 3 x 5 = x 1 + x 2 + x 3 x 1,x 2,x 3,x 4,x 5 0 x 3 = x 4 = x 5 = 0 x 1 = x 2 = α α 0, sono ammissibili e ottime (il caso α = 0 coincide con la soluzione di base associata alla base {x 4,x 5 }). Il metodo del simplesso p. 100/12
Come calcolare A 1 B Come vedremo è importante conoscere, data una base B e la relativa matrice A B, l inversa A 1 B di tale matrice. Non è però sempre necessario calcolare da zero tale inversa. In alcuni casi la riformulazione rispetto alla base B ci fornisce già la matrice A 1 B. Quali sono questi casi? Quelli in cui alcune colonne della matrice A formano la matrice identica I, ovvero esistono m variabili [x t1,...,x tm ] le cui corrispondenti colonne nella matrice A formano la matrice identica di ordine m m. Il metodo del simplesso p. 101/12
Esempio max x 1 x 3 2x 4 2x 5 x 1 + x 2 + x 4 = 8 x 1 x 2 + x 3 = 4 x 1 + 2x 2 + x 5 = 12 x 1,x 2,x 3,x 4,x 5 0 Prendiamo le m = 3 variabili [x 4,x 3,x 5 ] x 4 1 0 0 x 3 0 1 0 x 5 0 0 1 Il metodo del simplesso p. 102/12
Riformulazione modificata max c B A 1 B b + (c N c B A 1 B A N)x N x B = A 1 B b A 1 B A Nx N x B,x N 0 Riscriviamo questa portando tutte le variabili fuori base nella parte sinistra delle equazioni dei vincoli, ovvero: max c B A 1 B b + (c N c B A 1 B A N)x N x B + A 1 B A Nx N = A 1 B b x B,x N 0 Il metodo del simplesso p. 103/12
Lettura dell inversa La prima colonna di A 1 B è la colonna relativa a x t 1 nella riformulazione modificata, la seconda colonna di A 1 B è la colonna relativa a x t2 nella riformulazione modificata, eccetera fino alla m-esima colonna di A 1 B che è la colonna relativa a x tm nella riformulazione modificata. NB: l ordine delle variabili x tr, r = 1,...,m, è essenziale. Il metodo del simplesso p. 104/12
Sull esempio Base B 0 = {x 4,x 3,x 5 }. La riformulazione rispetto a questa base è la seguente: max 44 + 6x 1 + 3x 2 x 4 = 8 x 1 x 2 x 3 = 4 x 1 + x 2 x 5 = 12 x 1 2x 2 x 1,x 2,x 3,x 4,x 5 0 Con una prima operazione di cardine scambiamo x 1 e x 3 nella base. Il metodo del simplesso p. 105/12
Continua Base B 1 = {x 4,x 1,x 5 } max 24 6x 3 + 9x 2 x 4 = 4 + x 3 2x 2 x 1 = 4 x 3 + x 2 x 5 = 8 + x 3 3x 2 x 1,x 2,x 3,x 4,x 5 0 Poi, con una seconda operazione di cardine scambiamo x 2 e x 4 nella base. Il metodo del simplesso p. 106/12
Continua Base B 2 = {x 2,x 1,x 5 } max 6 3/2x 3 9/2x 4 x 2 = 2 + 1/2x 3 1/2x 4 x 1 = 6 1/2x 3 1/2x 4 x 5 = 2 1/2x 3 + 3/2x 4 x 1,x 2,x 3,x 4,x 5 0 Il metodo del simplesso p. 107/12
Continua A questo punto ci chiediamo: data la base B 2 = {x 2,x 1,x 5 } con la relativa matrice di base: 1 1 0 A B2 = 1 1 0 2 1 1 qual è l inversa di tale matrice? Il metodo del simplesso p. 108/12
Continua Riformulazione modificata max 6 3/2x 3 9/2x 4 x 2 1/2x 3 + 1/2x 4 = 2 x 1 + 1/2x 3 + 1/2x 4 = 6 x 5 + 1/2x 3 3/2x 4 = 2 x 1,x 2,x 3,x 4,x 5 0 Il metodo del simplesso p. 109/12
Continua Prima colonna di A 1 B 2 è la colonna della variabile x 4 nella riformulazione modificata 1/2 1/2 3/2 Seconda colonna: i coefficienti di x 3 : 1/2 1/2 1/2 Il metodo del simplesso p. 110/12
Continua Terza colonna: i coefficienti di x 5 : 0 0 1 Quindi: A 1 B 2 = 1/2 1/2 0 1/2 1/2 0 3/2 1/2 1 Il metodo del simplesso p. 111/12
Il metodo due fasi Descriveremo ora un metodo, detto metodo due fasi, che, dato un problema di PL: o ci consente di stabilire se S a = o, in caso contrario, ci restituisce una base ammissibile del problema. Il metodo del simplesso p. 112/12
Le due fasi Problema di PL in forma standard: max cx a i x = b i x j 0 i = 1,...,m j = 1,...,n Chiameremo questo problema problema di II fase. Ad esso associamo il seguente problema, detto problema di I fase: ξ = max m i=1 s i a i x + s i = b i i {1,...,m} : b i 0 a i x s i = b i i {1,...,m} : b i < 0 x j 0 s i 0 j = 1,...,n i = 1,...,m Il metodo del simplesso p. 113/12
Limitatezza obiettivo I fase Per prima cosa notiamo che s i 0, i = 1,...,m, implica che m i=1 s i 0 e quindi l obiettivo del problema di I fase non può essere illimitato. Il metodo del simplesso p. 114/12
Ammissibilità problema I fase Riformulazione del problema di I fase rispetto alla base {s 1,...,s m }: ξ = max i: b i 0 (b i a i x) i: b i <0 ( b i + a i x) s i = b i a i x s i = b i + a i x x j 0 s i 0 i {1,...,m i {1,...,m j = 1,...,n i = 1,...,m La soluzione di base: s i = b i i : b i 0, s i = b i i : b i < 0, x j = 0 j = 1,...,n, è ammissibile. Il metodo del simplesso p. 115/12
Quindi...... il problema di I fase ha regione ammissibile non vuota e obiettivo non illimitato. Ne consegue che esso ammette soluzione ottima. Osservazione Il problema di I fase ha valore ottimo ξ pari a 0 se e solo se il problema di II fase ha regione ammissibile S a non vuota. Il metodo del simplesso p. 116/12
Dimostrazione Supponiamo dapprima che ξ = 0 e dimostriamo che S a. ξ = 0 vuol dire che esiste una soluzione del problema di I fase che indichiamo con (s,x) con tutte le variabili s i = 0, cioè s = 0. Il metodo del simplesso p. 117/12
Continua Se sostituiamo questa soluzione nei vincoli del problema di I fase otteniamo: a i x + s i = b i i {1,...,m} : b i 0 a i x s i = b i i {1,...,m} : b i < 0 x j 0 s i = 0 Equivalentemente: da cui si ricava che x S a. j = 1,...,n i = 1,...,m a i x = b i i = 1,...,m x 0, Il metodo del simplesso p. 118/12
Viceversa...... supponiamo ora che S a e dimostriamo che questo implica che ξ = 0. Dato x S a, ovvero a i x = b i i = 1,...,m x 0, si verifica facilmente che la soluzione (s, x) con s i = 0 i = 1,...,m, è ammissibile per il problema di I fase in quanto a i x + s i = b i i {1,...,m} : b i 0 a i x s i = b i i {1,...,m} : b i < 0 x j 0 s i = 0 j = 1,...,n i = 1,...,m Il metodo del simplesso p. 119/12
Continua Tale soluzione ha come valore dell obiettivo: m i=1 s i = 0. Poiché, come già osservato, il valore dell obiettivo del problema di I fase non può essere superiore a 0, questa soluzione ammissibile è anche ottima per il problema di I fase e il valore ottimo ξ è pari a 0. Il metodo del simplesso p. 120/12
Quindi...... se risolviamo ora il problema di I fase utilizzando il metodo del simplesso a partire dalla base ammissibile {s 1,...,s m } arriveremo ad un valore ottimo ξ del problema di I fase e: ξ < 0 S a = ξ = 0 S a Il metodo del simplesso p. 121/12
Ma...... se sono nel secondo caso come faccio a trovare una base ammissibile per il problema di II fase con la relativa riformulazione? Abbiamo due casi possibili: Caso 1 tutte le variabili s i sono al di fuori della base ottima del problema di I fase. In tal caso la base ottima del problema di I fase è già una base ammissibile del problema di II fase. La riformulazione del problema di II fase rispetto a questa base si può ottenere semplicemente dalla riformulazione del problema di I fase rispetto a questa base Il metodo del simplesso p. 122/12
Continua Caso 2 Alcune variabili s i sono nella base ottima del problema di I fase. In tal caso si operano, fino a quando è possibile, delle operazioni di cardine per far uscire di base le variabili s i attualmente in base facendo entrare al loro posto solo variabili x j. Se si riesce a far uscire dalla base tutte le variabili s i ci si ritrova infine nella stessa situazione del Caso 1 e si procede nello stesso modo. Se non ci si riesce vuol dire che ci sono vincoli ridondanti da eliminare nel problema. Il metodo del simplesso p. 123/12
Una semplificazione Se una variabile x i del problema di II fase compare in uno solo dei vincoli di uguaglianza e in tale vincolo ha coefficiente dello stesso segno del corrispondente termine noto, allora possiamo evitare di introdurre una variabile s in quel vincolo nel problema di I fase. In tal caso una base ammissibile iniziale per il problema di I fase comprenderà la variabile x i. Il metodo del simplesso p. 124/12
Esempio max x 1 + 2x 2 x 1 x 2 + x 3 = 1 x 1 + x 2 + x 4 = 2 x 1,x 2,x 3,x 4 0 Il metodo del simplesso p. 125/12
Esempio max 2x 1 + x 2 + 1/2x 3 x 1 + x 2 + x 3 = 3 x 1 x 2 + x 3 = 1 x 1 + x 3 = 2 x 1,x 2,x 3 0 Il metodo del simplesso p. 126/12
Esempio max x 1 + x 2 x 1 + x 2 = 3 x 1 + x 3 = 1 x 2 + x 4 = 1 x 1,x 2,x 3,x 4 0 Il metodo del simplesso p. 127/12
Esempio max 2s 1 3s 2 x 5 x 1 = 3 s 1 2x 4 x 5 x 2 = 4 2s 1 3s 2 + x 3 x 4 x 5 s 3 = s 1 + 2s 2 + x 5 x 1,x 2,x 3,x 4,x 5,s 1,s 2,s 3 0 Faccio entrare in base x 5 e faccio uscire dalla base s 3 Il metodo del simplesso p. 128/12