Sei sulla pagina 1di 6

Dispensa Analisi di Sensitività – Postottimalità, Prof. M.

Bruglieri

Analisi di sensitività e postottimalità


Nell'ambito della programmazione matematica per analisi di sensitività e postottimalità si
intende lo studio di come variano le soluzioni ottime di un problema in seguito a cambiamenti
dei valori numerici dei coefficienti. In particolare, nel caso della programmazione lineare, con
l'analisi di sensitività si vogliono valutare i cambiamenti che si manifestano nel valore ottimo a
seguito di cambiamenti nei valori numerici dei coefficienti cj della funzione obiettivo o dei
coefficienti aij della matrice dei vincoli oppure dei termini noti bi. Invece con l'analisi di
postottimalità si vogliono stabilire gli intervalli di variazione dei dati numerici del problema
entro cui la base ottima del PL non cambia.
L'analisi di sensitività e di postottimalità sono argomenti rilevanti sul piano applicativo.
Ad esempio l'analisi di postottimalità consente al decisore di valutare la robustezza delle
conclusioni del modello, rispetto alle inevitabili imprecisioni con cui i coefficienti del problema
sono stimati. Si pensi ad esempio ad un modello di mix produttivo per il quale i coefficienti
della funzione obiettivo rappresentano i guadagni. In questo caso essi dipendono dal prezzo di
vendita previsto, nonché da una stima dei costi variabili di produzione. In altri termini, il
decisore possiede una conoscenza incerta del valore assunto dai coefficienti del vettore c. Se
l'analisi di sensitività e di postottimalità indicano una forte stabilità della soluzione ottimale, il
decisore può nutrire maggiore confidenza nelle conclusioni del modello. Al contrario se l'analisi
evidenzia che piccoli variazioni nei dati possono condurre a grandi variazioni nei risultati, il
decisore deve esercitare la massima cura nella stima dei dati numerici e nel trasferire in pratica
le conclusioni suggerite dal modello.
Esistono altre situazioni in cui l'analisi di sensitività può rivelarsi di notevole interesse. Come
sappiamo, in un modello di mix produttivo il vettore b dei termini noti rappresenta la quantità di
ciascuna risorsa disponibile. D'altra parte possiamo supporre che, almeno per alcuni tipi di
risorse, il decisore sia in grado di acquisire quantità aggiuntive di capacità, ad esempio facendo
ricorso a lavoro straordinario, part-time o presso terze parti. Diventa quindi particolarmente
utile, per il responsabile della produzione, conoscere la variazione del valore ottimo del
guadagno in dipendenza di eventuali ulteriori quantità di ciascuna risorsa, ossia in dipendenza
del termine noto dei vincoli corrispondenti. Se ad esempio l'eventuale incremento di guadagno
ottimo fosse sufficientemente alto, esso potrebbe giustificare l'aumento di costo richiesto per
l'acquisizione delle risorse aggiuntive.
Nel seguito analizzeremo la sensitività e la postottimalità solamente rispetto a variazioni del
vettore c dei coefficienti della funzione obiettivo e del vettore b dei termini noti. Assumeremo
inoltre sempre che le variazioni riguardino un solo elemento del vettore alla volta, mantenendo
fissi tutti gli altri.

Analisi di sensitività
Sia dato un problema di PL

max z = c T x
Ai x ≤ bi per i =1,…, m (1.1)
xj  0 per j =1,…, m

Supponiamo che ammetta una soluzione ottima x* e che il valore ottimo sia z*. Perciò
Dispensa Analisi di Sensitività – Postottimalità, Prof. M. Bruglieri

risulta z* = cTx* = c BT x B* .
Vogliamo ora rispondere a due tipi di domanda.

1) Di quanto varia la funzione obiettivo se cj varia della quantità Δcj, supponendo che tale
variazione non faccia cambiare la base ottima?
Indichiamo con ej il vettore di n tale che il j-mo elemento è uguale a 1 e tutti gli altri sono
uguali a 0. Indichiamo con z* (c + Δcj ej) il valore ottimo di (1.1) in corrispondenza dei nuovi
costi c + Δcj ej. Allora risulta
𝑇 * 𝑇 * 𝑇 *
𝑧* se𝑥𝑗  fuori base
z (c + Δcj ej) = (𝑐 + Δ𝑐𝑗 𝑒𝑗 )𝐵 𝑥𝐵 = 𝑐𝐵 𝑥𝐵 + (Δ𝑐𝑗 𝑒𝑗 )𝐵 𝑥𝐵 = { * (1.2)
𝑧 + Δ𝑐𝑗 𝑥𝑗* se𝑥𝑗  in base

Perciò la variazione della funzione obiettivo è data da

0 se x j fuori base


Δ z* = z* (c + Δcj ej) ‫ ־‬z* =  (1.3)
c j x j
*
se x j in base

Considerando (1.1) come un problema di mix produttivo, l’interpretazione economica di quanto


ottenuto è abbastanza ovvia: se un certo bene non è prodotto, la funzione obiettivo è insensibile
alla sua variazione di prezzo, mentre se viene prodotto la variazione di funzione obiettivo è
proporzionale alla quantità del bene prodotto.

2) Di quanto varia la funzione obiettivo se bi varia della quantità Δbi, supponendo che tale
variazione non faccia cambiare la base ottima?
Consideriamo il duale del problema (1.1) dato da
min  = bT y
Aj y  cj per j=1,…, n (1.4)
yi  0 per i=1,…, m

dove Aj denota la j-ma colonna della matrice A dei vincoli del primale.
Dal teorema della dualità forte sappiamo che anche il duale ammette una soluzione ottima y* e
che il valore ottimo del duale coincide con quello del primale, ossia z* (b + Δbi ei) =
ω* (b + Δbi ei).
Perciò il problema si riconduce a stabilire come varia la funzione obiettivo del duale in seguito a
una variazione Δbi del coefficiente bi. Possiamo quindi applicare al duale il risultato precedente,
ottenendo

 * se yi fuori base


z (b + Δbi ei) = ω (b + Δbi ei) =  *
* *
(1.5)
 + bi yi se yi in base
*

Sempre per il teorema della dualità forte possiamo sostituire z* a ω* nell'ultima uguaglianza.
Ora in base al teorema degli scarti complementari si ha

x j ( c j − ATj y ) = 0 j = 1,..., n (1.6)


Dispensa Analisi di Sensitività – Postottimalità, Prof. M. Bruglieri

yi (ai x − bi ) = 0 i = 1,..., m (1.7)

Perciò se l’i-mo vincolo del primale non è soddisfatto con l'uguaglianza (cioè, immaginando
che sia la formulazione di un mix produttivo, la i-ma risorsa non è scarsa) allora per (1.7) risulta
yi = 0 e quindi yi è fuori base (a parte il caso degenere). Viceversa se l'i-mo vincolo del primale
è soddisfatto con l'uguaglianza allora yi può essere anche maggiore di 0 e quindi in base. Perciò

𝑧*,    se l'𝑖-mo vincolo del primale


z (b + Δbi ei) = ω (b + Δbi ei) = {
* *
non è attivo (1.8)
* ∗
𝑧 + Δ𝑏𝑖 𝑦𝑖 ,  altrimenti

Quindi la variazione della funzione obiettivo in corrispondenza della variazione Δbi di bi è data
da

0, se l' i - mo vincolo del primale



Δz* = z* (b + Δbi ei) - z* =  non è soddisfatto con l' uguaglianza (1.9)

bi yi ,
*
altrimenti

Da ciò si deduce che nel caso di un problema di mix produttivo il valore ottimo dell'i-ma
variabile duale indica il massimo prezzo che l'azienda sarebbe disposta a pagare per acquisire
una unità aggiuntiva della risorsa rappresentata dall'i-mo vincolo. Per questo motivo i valori
ottimi delle variabili duali vengono anche detti prezzi ombra (shadow price).

Analisi di postottimalità
Vogliamo ora rispondere, sempre in merito al problema (1.1) dotato della soluzione ottima x*, ai
seguenti due tipi di domanda.
1) Di quale quantità Δcj può variare il coefficiente cj della funzione obiettivo senza che la
soluzione ottima cambi?
Se xj è fuori base, ossia xj = 0, qualunque diminuzione di cj non farebbe cambiare la soluzione
ottima. Ad esempio nel caso di un mix produttivo cj rappresenta il guadagno unitario per la
vendita del j-mo prodotto: se il j-mo prodotto non è fabbricato quando il guadagno unitario vale
cj, a maggior ragione non sarà fabbricato quando il guadagno unitario diminuisce. Indichiamo il
fatto che cj può diminuire di una quantità Δcj arbitraria scrivendo -∞ < Δcj.
Se invece aumentiamo il guadagno unitario del j-mo prodotto troveremo una soglia oltre la
quale diventa conveniente produrre il j-mo prodotto e quindi da quella soglia in poi la soluzione
ottima cambia, dato che xj passa dal valore 0 a un valore strettamente maggiore di 0.
Tale soglia è data dal costo ridotto della variabile xj che denotiamo con c j . Infatti il costo
ridotto di una variabile fuori base rappresenta la variazione della funzione obiettivo che si
avrebbe se tale variabile entrasse in base. Nel caso di un problema di massimo, se xj entrasse in
base la funzione obiettivo diminuirebbe della quantità c j < 0. Affinché ciò sia conveniente
occorre che l'aumento Δcj del coefficiente cj compensi almeno la diminuzione di funzione
obiettivo di c j . Quindi l'intervallo entro cui la soluzione ottima non cambia è dato da
−   c j  −c j (1.10)
Analogamente, per un problema di minimo l’intervallo di variazione è il seguente
Dispensa Analisi di Sensitività – Postottimalità, Prof. M. Bruglieri

− c j  c j  + (1.11)
Consideriamo ora il caso in cui la variabile xj è in base.
Affinché i costi ridotti siano ottimi deve risultare
c N − ( c B + c j e j ) B −1 N  0 (1.12)
da cui
c N − c B B −1 N  c j e j B −1 N (1.13)
   
CN

dove il secondo membro di (1.13) rappresenta la riga j-ma di B-1N moltiplicata per Δcj. Si noti
che dalla definizione di sistema in forma canonica, tale riga corrisponde all’opposto dei
coefficienti delle variabili fuori base della riga del sistema finale in forma canonica in cui la
variabile xj è in base (sia σj l’indice di tale riga).
Perciò l’intervallo di variazione è il seguente
c c
− (k− )  c j  − (k+ ) , k : xk fuori base (1.14)
A j k A j k
dove A( −j k) e A( +j k) denotano rispettivamente i coefficienti negativi e quelli positivi della riga σj del
sistema finale in forma canonica.
Se il problema di ottimizzazione lineare è di minimo (anziché di massimo), poiché la (1.13)
andrebbe invertita si ha che l’intervallo di variazione diverrebbe
c c
− (k+ )  c j  − (k− ) , k : xk fuori base (1.15)
A j k A j k

2) Di quale quantità Δbi può variare il termine noto bi dell'i-mo vincolo senza che la soluzione
ottima cambi?
Supponiamo che l'i-mo vincolo non sia soddisfatto con l'uguaglianza (nel caso del problema del
mix produttivo ciò corrisponde a dire che la i-ma risorsa non è scarsa).
Questo significa che la variabile di slack si = bi - aix associata all'i-mo vincolo è in base nella
soluzione ottima dato che risulta si* = bi − ai x *  0 . Ci chiediamo quindi per quali variazioni
Δbi di bi, la variabile di slack si continua a restare in base nella soluzione ottima. Ovviamente bi
può aumentare arbitrariamente senza che la soluzione cambi dato che lo scarto si aumenterebbe
e quindi risulterebbe a maggiore ragione positivo. Invece per quanto riguarda la diminuzione di
bi esiste una soglia oltre la quale l'i-mo vincolo è soddisfatto con l'uguaglianza: tale soglia è data
proprio dal valore ottimo si* della variabile di slack si. Infatti diminuendo il termine noto bi di
una quantità maggiore di si* la variabile si all'ottimo uscirebbe dalla base dato che il suo valore
diventerebbe 0. Quindi l'intervallo entro cui la soluzione ottima non cambia è dato da
−𝑠𝑖* ≤ Δ𝑏𝑖 < +∞ (1.16)

Consideriamo ora il caso in cui l'i-mo vincolo sia soddisfatto con l'uguaglianza (ossia per il
problema del mix produttivo ciò corrisponde al caso in cui la i-ma risorsa è scarsa).
Affinché la soluzione sia ammissibile deve essere
x B = B −1 (b + bi ei )  0 (1.17)
ossia
Dispensa Analisi di Sensitività – Postottimalità, Prof. M. Bruglieri

B −1b  − bi B −1ei (1.18)


dove il primo membro di (1.18) rappresenta il termine noto del sistema in forma canonica
finale, che indichiamo con b , mentre il secondo membro rappresenta la colonna i-ma del
sistema finale in forma canonica (che indichiamo con Ai ed è associata alla variabile di slack
dell’i-mo vincolo) moltiplicata per Δbi. Perciò si ottiene la seguente formula:

bk b
( −)
 bi  (k+ ) , k = 1,..., m (1.19)
Aki Aki

La formula (1.19) resta invariata se il problema è di minimo anziché di massimo, mentre si


verifica facilmente che cambia nel seguente modo se il vincolo i-mo è di ≥ anziché di ≤

bk b
− (+)
 bi  − (k− ) , k = 1,..., m (1.20)
Aki Aki

Esempio
Vogliamo effettuare l’analisi di postottimalità di un problema di massimizzazione con vincoli
di ≤ a cui corrisponde all’ottimo il seguente sistema in forma canonica:

 15 3 1
 x1 = 2 − 2 s1 + 2 s 2
 5 1 1
 x2 = + s1 − s 2
 2 2 2
s3 = 25 7 3
− s1 + s 2
 2 2 2

e la funzione obiettivo z=1.75-0.1 s1 -0.05 s 2 .


Applicando la formula (1.14) si ha che le variazioni del coefficiente della variabile x1, entro cui
non cambia la soluzione ottima, sono rispettivamente:

− 0.1 − 0.05
−  c1  −  − 0.07  c1  0.10
3 1

2 2

− 0.05 − 0.1
−  c2  −  − 0.10  c2  0.20
1 1

2 2

Per quanto riguarda la variazione dei termini noti dei vincoli entro cui non cambia la base
ottima, poiché le variabili di slack dei primi due vincoli sono fuori base ci troviamo nel caso di
risorse scarse e quindi bisogna applicare la formula (1.19):
Dispensa Analisi di Sensitività – Postottimalità, Prof. M. Bruglieri

 15 25  5
  25
max − 2 , − 2  b  2  −  b1  5
3 7  1
1 7
 
 2 2  2

5  15 25 
  25
− 2  b2  min − 2 , − 2   − 5  b2 
1 1 3 3
 − − 
2  2 2 

Infine per l’ultimo vincolo, essendo la variabile di slack in base, si deve applicare la formula
(1.16):

25
−  b3  +
2

Potrebbero piacerti anche