Ricerca Operativa A.A. 7/8. Analisi di sensitività Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività. Analisi di Sensitività: motivazioni I parametri (A, b e c) di un problema di programmazione lineare sono soggetti a variazioni: cambiamento dei dati, approssimazioni, errori, stime etc. Data una soluzione ottima di base, l analisi di sensitività analizza le conseguenze delle variazioni dei parametri sull ottimalità (e l ammissibilità) della base stessa. min c T x s.t. Ax = b x condizioni di ottimalità per x A = [B F] x = [ xb () x B = B b ammissibilità primale x F ] c = [ cb () c T = c T c T B B A T ammissibilità duale costi ridotti non negativi [ () ortogonalità implicata dalla scelta u T = c T B B ] Sotto quali condizioni sulla variazione di A, b e c la base B rimane ammissibile e ottima? Nota: non considereremo variazioni di A. c F ] Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.
Variazioni dei termini noti b b + b, ( b R m ) Verifica delle condizioni di ottimalità: () B (b + b) da verificare () c T = c T c T B B A T invariata Verificare il sistema di disequazioni nelle incognite b (S b ) B b B b (poliedro dei vettori b che non cambiano la base ottima) Con variazioni contenute nei limiti, la base ottima non cambia. Cambiano: - il punto ottimo: x new = B (b + b) - il valore ottimo: z new = c T B B b + c T B B b = z old + z All ottimo (prima della variazione), le variabili duali sono u T = c T B B : m z = c T B B b = u T b = u i b i u i = z b i i= le variabili duali misurano la sensibilità della funzione obiettivo a (piccole) variazioni dei termini noti e sono dette anche prezzi marginali. Esempio: con f.o. di minimo e nei limiti dettati da (S b ), converrebbe: aumentare i termini noti cui corrispondono variabili duali negative e diminuire i termini noti con variabili duali positive. Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività. Variazioni dei costi c c + c, ( c R n, c T = [ c T B, ct F ]) Verifica delle condizioni di ottimalità: () B b invariata () c T = (c T + c T ) (c T B + ct B )B A T da verificare Verificare il sistema: c T = [ c T B, ct F ] = [, (ct F + ct F ) (ct B + ct B )B F T ] (c T F + ct F ) (ct B + ct B )B F (S c ) Variazione dei costi delle variabili fuori base: c F c F + c F c T F ct B B F = c T F + ct F ct B B F c F c F (S B ) c j c j, x j fuori base: il costo ridotto c j è il massimo decremento di c j che lascia invariata la base ottima. Variazione dei costi delle variabili in base: c B c B + c B c T F ct B B F = c T F (ct B + ct B )B F c T B B F c T F (S F ) Il sistema nelle incognite c B rappresenta il poliedro dei vettori c B per cui la base ottima rimane invariata. Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.4
Intervalli di stabilità Ammettendo la variazione di un sono elemento per volta (termine noto o costo), i sistemi (S b ), (S B ) e (S F ) si riducono a sistemi di disequazioni in una sola variabile ( b i o c j ). La soluzione del sistema definisce un intervallo [ MIN, MAX ]: se la variazione è contenuta nell intervallo, la base rimane ottima. L intervallo [b i + MIN, b i + MAX ] si dice intervallo di stabilità del termine noto b i. L intervallo [c j + MIN, c j + MAX ] si dice intervallo di stabilità del costo c j. Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività. Esempio Sia dato il problema min x x x s.t. x + x + x x + x + x x + x + x 6 x i la cui base ottima corrisponde alle variabili x, x e x 6.. Verificare se la base ottima varia nelle due ipotesi: a) si aumentano in termini noti del primo e del terzo vincolo rispettivamente di e unità; b) si diminuisce il primo termine noto di unità e si aumenta il secondo termine noto di unità.. Calcolare l intervallo di stabilità del primo termine noto.. Verificare l ottimalità/ammissibilità della base al variare dei coefficienti di costo secondo il seguente vettore: c T = [ ]. 4. Calcolare l intervallo di stabilità di c (costo di variabile in base) e di c 4 (costo di variabile fuori base). Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.6
Esempio: considerazioni preliminari Tableau iniziale (bisogna riportare il problema alla forma standard!): x x x x 4 x x 6 z x 4 x x 6 6 Tableau ottimo: x x x x 4 x x 6 7 7 6 z x 8 x x 6 4 Nota: considerando le colonne x 4, x e x 6 come un CARRY, otteniamo: B =, B =, u T = [ 6 ] Inoltre, dal tableau: B b = [ / 8/ 4 ] T, c T = [ 7/ 6/ / ] Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.7 Esempio: punto Bisogna verificare solo l ammissibilità (l ottimalità rimane verificata). B b B b b b b b b b + b 8 b + b 4 / 8/ 4 caso a): b =. Sostituendo nel sistema, le tre disequazioni risultano verificate e quindi la base rimane ammissibile e ottima. caso b): b =. Sostituendo nel sistema, le tre disequazioni NON risultano verificate e quindi la base NON rimane ammissibile e ottima (è super-ottima). Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.8
Esempio: punto Bisogna considerare b = b b 8 b 4 Quindi: b. Il sistema di disequazioni precedente diventa: b b 8 b 4 b [ /, 4], cioé b [ /, + 4] = [/, 6]. Analogamente, gli intervalli di stabilità di b e di b sono: 4 b b [, 6] 4 b b [, + ) Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.9 Esempio: punto Per il mantenimento dell ottimalità della base (l ammissibilità è comunque verificata) consideriamo separatamente le condizioni per le variabili in base e fuori base c T B = [ ], ct F = [ ] - per le variabili fuori base: c F c F, cioé ( c T F = [ c c 4 c ]): c 7/, c 4 6/, c 4 / () - per le variabili in base: c T B B F c T F, cioé ( ct B = c c c 6 ): [ c c c 6 ] = [ c c c 6 ] c + c + c 6 7 c c c 6 6 c + c () [ 7 Per il vettore di perturbazione c dato, le 6 disequazioni dei sistemi () e () risultano verificate e quindi la variazione lascia la base ottima (oltre che ammissibile). 6 ] Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.
Esempio: punto 4 Per valutare l intervallo di stabilità di c, bisogna considerare i sistemi () e () con c T = [ c ]. In particolare, essendo x in base, il sistema () diventa: c 7 c 6 c c 7 c c Quindi c [, ] intervallo di stabilità c [ 6 ]. Analogamente, gli intervalli di stabilità per i costi delle altre variabili in base sono: 6 c / c [ 9, /]; 6/ c 6 7/ c 6 [ 6/, 7/]. Per le variabili fuori base, gli intervalli di stabilità si ottengono direttamente dal sistema (): c 7/ c [ /, + ); c 4 6/ c 4 [ 6/, + ); c / c [ /, + ). Luigi De Giovanni - Ricerca Operativa -. Analisi di sensitività.