L ANALISI POST-OTTIMALE

Documenti analoghi
L ALGORITMO DEL SIMPLESSO REVISIONATO

Ricerca Operativa A.A. 2007/ Analisi di sensitività

Il modello duale. Capitolo settimo. Introduzione

5. ANALISI DI SENSIBILITÀ

Il metodo del simplesso

PROGRAMMAZIONE LINEARE E DUALITA'

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

1 Il metodo dei tagli di Gomory

4.5 Metodo del simplesso

La dualità nella Programmazione Lineare

2. ALGORITMO DEL SIMPLESSO

Teoria della Dualità: I Introduzione

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

4. METODI DUALI DEL SIMPLESSO

Algoritmo del Simplesso

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

Esercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania

Programmazione Lineare

Esercizi di Programmazione Lineare - Dualità

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

Università Ca Foscari Venezia

Introduzione alla programmazione lineare

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

IL METODO DEL SIMPLESSO

MATEMATICA PRIMO COMPITINO SOLUZIONE DI ALCUNI ESERCIZI PRIMA PARTE. Esercizio 1. (Testo B) Determina, motivando la risposta, se la funzione f : R R

RICERCA OPERATIVA GRUPPO A prova scritta del 22 marzo 2007

Le derivate parziali

Sistemi lineari - Parte Seconda - Esercizi

Esame di Ricerca Operativa del 07/09/2016

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2

Graficazione qualitativa del luogo delle radici

Ottimizzazione marginale

ˆ b, si usa la convenzione di prendere. come verso positivo quello antiorario e come verso negativo quello orario.

Lezione Analisi Statica di Travi Rigide

Sezione Prima Derivate di funzioni elementari: quadro riassuntivo e regole di derivazione. = ( n) lim x

Luigi Piroddi

Esame di Ricerca Operativa del 11/07/2016

Soluzione dei Problemi di Programmazione Lineare

Punti nel piano cartesiano

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015

Risoluzione di sistemi lineari

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

Possibile applicazione

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Corso di Geometria BIAR, BSIR Esercizi 8: soluzioni

Estremi. 5. Determinare le dimensioni di una scatola rettangolare di volume v assegnato, che abbia la superficie minima.

a) Determinare il dominio, i limiti agli estremi del dominio e gli eventuali asintoti di f. Determinare inoltre gli zeri di f e studiarne il segno.

Geometria BIAR Esercizi 2

Chi non risolve esercizi non impara la matematica.

a) Il denominatore dev essere diverso da zero. Studiamo il trinomio x 2 5x + 6. Si ha: x 1,2 = 5 ± se x ], 2[ ]3, + [;

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: analisi di sensitività

ALGORITMO DEL SIMPLESSO

Equazioni di 2 grado

La programmazione lineare

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8

Problemi di Flusso: Il modello del Trasporto

LA PROGRAMMAZIONE LINEARE (p.l.)

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

Appunti su Indipendenza Lineare di Vettori

SIMULAZIONE - 29 APRILE QUESITI

ANALISI B alcuni esercizi proposti

RETTE E PIANI NELLO SPAZIO

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero

Esercitazione di Analisi Matematica II

Metodo delle due fasi

Matematica per le Applicazioni Economiche I (M-P)

Appunti sul corso di Complementi di Matematica mod. Analisi prof. B.Bacchelli - a.a. 2010/2011.

Transcript:

L ANALISI POST-OTTIMALE La soluzione ottima di un problema di programmazione lineare (variabili che costituiscono la base ottima e rispettivi valori) deriva dalla struttura del modello (variabili, vincoli, obiettivo) ed è, in particolare, determinata dai valori assegnati ai parametri (A, b, c). La variazione di uno qualsiasi dei parametri del problema può indurre variazioni nel valore, all'ottimo, delle variabili (e della funzione obiettivo) ed, eventualmente, produrre variazioni nella composizione della base. Se si vuole applicare il contenuto decisionale fornito dalla soluzione del modello, sorge, per l'imprecisione e la variabilità dei parametri del problema, la necessità di disporre di informazioni relative alla robustezza della soluzione ottima, cioè della sua capacità di resistere a variazioni dei parametri. Questo è l obiettivo dell analisi post-ottimale (o sensitivity analysis).

Le analisi normalmente utilizzate appartengono a due categorie: quelle che consentono di individuare i limiti all'interno dei quali una base si mantiene ottima allorché viene alterato uno solo tra i termini noti o uno solo tra i coefficienti di costo (analisi di stabilità) quelle che consentono di individuare la successione di basi ottime che si presenta allorché il vettore dei termini noti o quello dei coefficienti di costo divengono funzioni lineari di un parametro scalare (analisi parametrica).

L ANALISI DI STABILITÀ Oggetto dell'analisi di stabilità è l'individuazione dell'intervallo di valori all'interno del quale un singolo termine noto o un singolo coefficiente di costo può variare senza che si alteri la composizione della base ottima. La soluzione ottima di un problema p.l. presenta caratteristiche principali: Ax* b è ammissibile: x* 0 soddisfa il test di ottimalità: { c ð * A 0 L'analisi di stabilità si fonda sulla considerazione che una alterazione indotta nel vettore dei termini noti può far cadere la condizione di ammissibilità della soluzione; una alterazione nel vettore dei coefficienti di costo può far cadere il rispetto del test di ottimalità L'imposizione del mantenimento della condizione che sarebbe alterata consente di individuare

l'intervallo di stabilità della soluzione ottima. CAMPO DI VARIAZIONE DI UN TERMINE NOTO Si vuole individuare l'intervallo di valori all'interno del quale un generico termine noto b i può variare senza che, per questo, la soluzione del problema cessi di essere ottima. Si indichino con b i e b i le variazioni limite in aumento ed in diminuzione ricercate. Posto: b = b b b = b b i i i i i i l'intervallo di variazione di b i all'interno del quale la soluzione continua ad essere ottima risulta, dunque: ( b, i b i ) La procedura per individuare tale intervallo si basa sull'osservazione che variazioni sui termini noti possono far cadere l ammissibilità della soluzione ottima.

Si supponga, allo scopo, che il vettore dei termini noti b venga alterato e sia b' il nuovo vettore. Il vettore x B * delle variabili basiche corrispondente alla matrice di base ottima B*: x B * = (B*) - b per l'alterazione del vettore dei termini noti diviene: x' B = (B*) - b' La base B* rimane ottima sin quando il vettore x' B soddisfa la condizione di ammissibilità, ovvero fin quando è rispettata la condizione: x' B = (B*) - b' 0

Calcolo di b i Si indichi con x B il vettore delle variabili basiche allorché si sia posto di b i = b i b i (le variabili che costituiscono la base non variano, quello che varia è il loro valore), si ha: x B = (B*) - (b u i b i ) (*) avendo indicato con u i il vettore colonna unitario con l'unità nella posizione i esima e la (*) può essere scritta: x B = x B * (B*) - u i b i D'altro canto, il prodotto (B*) - u i fornisce la i esima colonna di (B*) -, sia essa β i, e di conseguenza: x B = x B * β i b i (**) Perché x B continui ad essere ammissibile devono essere verificate le m relazioni scalari derivanti dalla (**):

x* B,h β h,i b i 0 (h =,,...,m) (***) Le eventualità che possono verificarsi sono due: β h,i 0 (h =,,..., m). In questo caso la condizione di ammissibilità rimane verificata qualunque sia il valore di b i, in quanto il primo membro delle (***) è costituito dalla somma di due addendi positivi. Si verifica cioè che b i tende all'infinito e con esso b i. L'intervallo di stabilità è, quindi, aperto a destra. β h,i < 0, per alcuni valori di h. In tal caso il valore di b i è limitato. Da ciascuna delle relazioni (***) corrispondenti a tali valori dell indice h è possibile calcolare un valore b i al di sopra del quale la variabile basica corrispondente e, dunque, la x B, cessa di essere ammissibile. Tali valori sono forniti da: b i x B,h */( β h,i ) (β h,i < 0) b i non può superare il valore corrispondente al minimo di tali rapporti senza che le condizioni di ammissibilità vengano alterate.

Indicando con w il valore dell'indice h in corrispondenza del quale si verifica il minimo, si può scrivere: b i = x B,w */( β w,i ) = = min h [x B,h */( β h,i )] (β h,i <0) Per b i=b i b i, la x B,w * si annulla (la soluzione di base ottima diviene degenere). Se si superasse questo valore la composizione della base ottima verrebbe alterata.

Calcolo di bi Procedendo in modo del tutto analogo a quanto fatto per il calcolo di b i, applicando la condizione di ammissibilità si ricava: xb,h βh,i bi 0 (h =,,..., m) Le eventualità che possono riscontrarsi sono due: βh,i 0 (h =,,..., m). In tal caso la condizione di ammissibilità rimane in ogni caso verificata qualunque sia il valore di bi essendo il primo membro composto da una somma di termini positivi. bi tende all'infinito e con esso bi. L'intervallo di stabilità è, quindi, aperto a sinistra. βh,i > 0 per alcuni valori di h. In tal caso il valore di bi è limitato. Da ciascuna delle relazioni (9.8) relative a tali valori di h è possibile individuare un valore bi al di sopra del quale la variabile basica corrispondente e, dunque, la x B -, cessa di essere ammissibile. Tali

valori sono forniti da: bi xb,h * /βh,i (βh,i > 0) bi non può superare il valore corrispondente al minimo di tali rapporti senza che le condizioni di ammissibilità vengano alterate. Indicando con t il valore dell'indice h corrispondente a tale minimo, si può scrivere: bi = xb,t * /βt,i = = minh [xb,h * /βh,i] (βh,i > 0) Per b - i=bi bi la xb,t * si annulla (la soluzione di base ottima diviene degenere); se si andasse al di là di questo valore la composizione della base ottima verrebbe alterata.

Effetti sul valore della funzione obiettivo Le alterazioni apportate al generico termine noto bi possono indurre variazioni, sul valore all ottimo z* della funzione obiettivo. I valori di tali variazioni, corrispondenti ad alterazioni unitarie dei termini noti, sono fornite dalle componenti del vettore π* dei moltiplicatori del simplesso all ottimo (valori delle variabili duali). Si rammenti, infatti, che: il coefficiente di costo modificato c'j di una variabile non basica xj indica la variazione che z subirebbe se xj passasse da zero ad uno; ciò è vero anche per le slack (vincoli ) e per le artificiali (vincoli = ), le cui variazioni, per la natura stessa di tali variabili, equivalgono a variazioni in senso opposto dei corrispondenti termini noti; le componenti di π (cambiato di segno) coincidono con i coefficienti di costo modificati delle variabili in base nella prima tabella del simplesso (slack e/o artificiali);

dunque, la variazione che z subirebbe per un alterazione unitaria del termine noto b i, è fornita dalla componente i esima del vettore π*. ESEMPIO SULL'ANALISI DI STABILITÀ PER VARIAZIONE DI UN TERMINE NOTO Si consideri il problema di programmazione lineare: z s.a = 6.x 8x 5x 4x 3x x 3x 6x x, x Max! 90 (a) 4 (b) 00 (c) 0 di cui si riportano le successive tabelle, sino a quella ottima, ottenute effettuandone la risoluzione con l'algoritmo del simplesso standard.

x x y y y 3 -z b y 5 4 0 0 0 90 y -3 0 0 0 4 y3 3 6 0 0 0 00 -z 6. 8 0 0 0 0 x x y y y 3 -z b y 0-0 0 4 x -3/ 0 / 0 0 y 3 0 0-3 0 8 -z 8. 0 0-4 0-96 x x y y y 3 -z b y 0 0 3/4 -/ 0 49/3 x 0 0 /8 /8 0 3/ x 0 0 -/4 / 0 7/3 -z 0 0 0./4-8./ -38.3

x x y y Y 3 -z b y 0 0 4/3 -/9 0 96/9 x 0 -/6 0 5/8 0 5/9 x 0 /3 0 -/9 0 70/9 -z 0 0-0.7 0 -.6/3-49.6 Risoluzione con il simplesso standard Riordinando le righe della tabella ottima si ottiene: x x y y y 3 -z b x 0 /3 0 -/9 0 70/9 x 0 -/6 0 5/8 0 5/9 y 0 0 4/3 -/9 0 96/9 -z 0 0-0.7 0 -.6/3-49.6 Le colonne della Tabella relative alle variabili slack forniscono l'inversa della matrice costituita dalle colonne, della tabella iniziale, relative alle variabili presenti nella base ottima (x, x, y):

B* = 5 3 3 4 6 0 0 ; ( B* ) = / 3 / 6 4 / 3 0 0 / 9 5/8 / 9 Si vuole determinare l'intervallo di stabilità della soluzione ottima per variazioni del termine noto della primo vincolo. Posto: si deve verificare: b = 90 b 70 / 9 5 / 9 96 / 9 b / 3 / 6 4 / 3 0 Essendovi una sola componente negativa in β, la individuazione del valore b è immediata: 5/9 b (-/6) = 0 da cui: b = 30/3

Analogamente, per il calcolo di b, posto: b = 90 - b le relazioni di ammissibilità divengono: 70 / 9 5/ 9 96/ 9 Äb / 3 / 6 4 / 3 0 Considerando le componenti positive di β si hanno le due relazioni: 70/9 - (/3) b = 0 ; 96/9 - (4/3) b = 0 dalle quali risulta, rispettivamente : ( b )'= 70/3; ( b )''= 49/3 b è fornito, allora, dal minimo tra i due valori: b = 49/3 Dai valori di b e b risulta: b = /3 b = 500/3

Per valutare l'influenza delle variazioni di b sul valore della funzione obiettivo, si esamina la componente π* del vettore π*: π* = (0.7, 0,.6/3) Essendo π* =0.7, si ricava che una riduzione unitaria di b condurrebbe ad una riduzione del valore della funzione obiettivo pari a 0.7, così come un aumento unitario di b migliorerebbe il valore della funzione obiettivo di 0.7. In corrispondenza dei limiti di stabilità: b = 49/3 b = 30/3 si ricava: z = (-0.7) 49/3 = - 34.3/3 z = (0.7) 30/3 = 6/3

Analisi grafica. In Figura sono riportati il dominio di ammissibilità del problema posto e la direzione di gradz. Il vertice ottimo G corrisponde alla soluzione b.a. avente in base le variabili (x, x, y). x a b F D G 6 c O grad (z) 6 8 H 4 I x La variazione del termine noto di una equazione vincolare modifica il dominio delle soluzioni in quanto a tale variazione corrisponde una traslazione del vincolo. La retta (a) di equazione:

5x 4x = 90 b all'aumentare di b si allontana dall'origine. Corrispondentemente il vertice ottimo G si sposta lungo il segmento GI giungendo in I per b = 30/3. Per b = 90 30/3 (Figura 9.; retta a ), la soluzione diviene degenere (x = 0). x D b F G b b 6 grad (z) a a a O 6 8 4 I c x Per b > 30/3 l'intersezione tra la retta (a) e la retta (c) passa nel II quadrante. Per la presenza dei vincoli di fisica realizzabilità il vincolo (a)

diviene sovrabbondante. La base ottima diviene (x, y, y). In modo del tutto analogo si vede che la retta (a) di equazione: 5x 4x = 90 - b all'aumentare di b si sposta verso l'origine. Il vertice ottimo scorre, corrispondentemente, lungo il segmento GF. Per b = 49/3 si ha y = 0 corrispondente alla coincidenza tra i vertici G ed F. Per b > 49/3 il vincolo (c) diviene sovrabbondante. La base ottima diviene (x, x, y3).

INTRODUZIONE DI NUOVE VARIABILI IN UN PROBLEMA DI PROGRAMMAZIONE LINEARE Si consideri il problema di programmazione lineare: z s.a = 5x 4x 6x x 3x x x, x 9 0 Max! (a) (b) di cui si riporta, la tabella finale dell algoritmo del simplesso: x x y y -z B x 0 4/7 /7 0 0 x 0-3/7 /7 0 8 -z 0 0-9/7 -/7-60 Tabella ottima e si supponga di voler introdurre in esso una nuova variabile, x 3, che dia luogo al seguente problema:

z = s.a 5x 4x 6x x 3x x x, x 8x 3 x x 0 3 3 Max! 9 (a) (b) Per valutare l effetto della introduzione della nuova variabile, si calcoli, utilizzando il vettore π* = [9/7, /7] il valore del coefficiente di costo modificato c 3 : c 3 = c 3 - π* p 3 =8-[9/7, /7] = = 8 9/7 /7=8 3/7= 5/7 Dunque, la variabile x 3 è candidata ad entrare in base ed è, quindi, in grado di cambiare la soluzione ottima trovata. Si calcola, allora, la colonna p 3 modificata rispetto alla base ottima:

4/7 /7 p 3 = B - p 3 = 3/7 /7 6/7 = /7 e la si introduce nella tabella finale già disponibile: x x X 3 y y -z b x 0 6/7 4/7 /7 0 0 x 0 -/7-3/7 /7 0 8 -z 0 0 5/7-9/7 -/7-60 L elemento pivot è a,3. L operazione pivot intorno a tale perno fornisce: x x x3 y y -z b X3 0 7/6 /3 /6 0 70/3 X /6 0 -/3 /6 0 34/3 -z 0-5/4 0 -/ -4/4 40/ La soluzione ottima è: x = 34/3; x 3 = 70/3; z= 40/