• Non ci sono risultati.

Analisi di sensitivitá

N/A
N/A
Protected

Academic year: 2021

Condividi "Analisi di sensitivitá"

Copied!
48
0
0

Testo completo

(1)

Analisi di sensitivitá

(2)

Analisi di sensitivitá

Ci porremo ora la seguente domanda:

dato un problema di PL di cui ho giá determinato una

soluzione ottima, che cosa succede se modifico il valore di un coefficiente di una variabile (nell’obiettivo o nei vincoli) o il valore di un termine noto?

ovvero: come cambiano il valore ottimo e la soluzione

ottima del problema in corrispondenza di queste modifiche?

Analisi di sensitivit ´a – p. 2/48

(3)

Problema degli aiuti umanitari

max 14x1 + 5x2 + 4x3

10x1 + 30x2 + 20x3 ≤ 5100 10x1 + 20x2 + 40x3 ≤ 8000 30x1 + 10x2 + 5x3 ≤ 1805

x1, x2, x3 ≥ 0

(4)

Perché questa domanda?

In alcuni casi nei problemi di PL compaiono dati stimati e non dati oggettivi. Per tali dati é importante stabilire quanto é sensibile il risultato ottenuto a perturbazioni di tali dati:

Nel problema degli aiuti umanitari i valori di utilitá (coefficienti nell’obiettivo) sono valori stimati.

Inoltre, in alcuni casi dopo aver risolto il problema

intervengono fattori esterni che modificano alcuni dati originari del problema.

Nel problema degli aiuti umanitari qualcuno puó procurare, ad esempio, 1000 sacchi di farina in piú.

Analisi di sensitivit ´a – p. 4/48

(5)

Problema di PL

max cx Ax = b

x ≥ 0

Ipotesi : esiste base ottima del problema B. max cBA−1

Bb + (cN − cBA−1

BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

(6)

Continua

Soluzione ottima del primale:

xB = A−1Bb xN = 0, Soluzione ottima del duale:

uB = cBA−1

B.

Valore ottimo per il primale e per il duale:

cBA−1

Bb.

Analisi di sensitivit ´a – p. 6/48

(7)

Problema degli aiuti umanitari

In forma standard:

max 14x1 + 5x2 + 4x3

10x1 + 30x2 + 20x3 + y1 = 5100 10x1 + 20x2 + 40x3 + y2 = 8000 30x1 + 10x2 + 5x3 + y3 = 1805

x1, x2, x3, y1, y2, y3 ≥ 0 Qual é il significato delle variabili y1, y2, y3?

(8)

Continua

Base ottima B = {y1, x3, x1}:

max 1164 − 231 y211552 y3239 x2

y1 = 960 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

Analisi di sensitivit ´a – p. 8/48

(9)

Continua

Soluzione ottima del primale:

y1 = 960 x3 = 193 x1 = 28 x2 = y2 = y3 = 0.

Matrice A−1B:

A−1

B =

1 −1123234 0 11531151 0 −2301 1154

(10)

Continua

Soluzione ottima del duale uB: uB = cBA−1

B = (0 4 14)A−1B =



0 1 23

52 115



Valore ottimo del primale e del duale: 1164

Analisi di sensitivit ´a – p. 10/48

(11)

Modifica di un termine noto

b → b

con

bi = bi ∀ i 6= r br = br + ∆br

Riformulazione rispetto a B dopo la modifica:

max cBA−1

Bb + (cN − cBA−1

BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

(12)

Continua

Quando la base B resta ottima?

B continua ad essere ammissibile per il duale (non cambiano i coefficienti di costo ridotto) e quindi rimane ottima se continua ad essere anche ammissibile per il primale, ovvero se

A−1

Bb ≥ 0 Variazione del valore ottimo:

cBA−1

Bb−cBA−1

Bb = uB(b−b) =

m

X

i=1

uBi (bi−bi) = uBr ∆br. Quindi il valore di una variabile duale nella soluzione ottima del duale misura la rapiditá con cui cambia il valore ottimo del problema al variare del termine noto del vincolo

corrispondente nel primale. Analisi di sensitivit ´a – p. 12/48

(13)

Continua

Nuova soluzione ottima del primale

xB = A−1Bb xN = 0,

Nuovo valore ottimo per il primale e per il duale:

cBA−1

Bb.

La soluzione ottima del duale:

uB = cBA−1

B.

non cambia (non dipende dai termini noti del problema primale).

(14)

Calcolo di A −1 B

b

b =

 b1

... br

... bm

 +

 0 ...

∆br ... 0

= b + ∆br

 0 ... 1 ... 0

Analisi di sensitivit ´a – p. 14/48

(15)

Quindi ...

A−1

Bb = A−1Bb + ∆brA−1

B

 0 ... 1 ... 0

 A−1

Bb giá noto (termini noti nella riformulazione rispetto a B)

(16)

Continua

∆brA−1

B

 0 ... 1 ... 0

é pari a ∆br moltiplicato per la colonna r-esima di A−1B.

Analisi di sensitivit ´a – p. 16/48

(17)

E se B non é piú ottima?

Se con la modifica B non é piú base ottima, ovvero:

A−1

Bb 6≥ 0

B continua a rimanere ammissibile per il duale e quindi posso utilizzare B come base iniziale per il simplesso duale senza dover risolvere di nuovo tutto il problema da capo.

(18)

Nell’esempio

Modifica ∆b2 del secondo termine noto. Nuovo vettore di termini noti:

b = (5100 (8000 + ∆b2) 1805).

Modifica nella riformulazione dell’obiettivo:

1164 + u2∆b2 − 1

23y2 − 52

115y3 − 9 23x2

Modifica termini noti dei vincoli:

(960 193 28) + ∆b2



−11 23

3

115 − 1 230



Analisi di sensitivit ´a – p. 18/48

(19)

Continua

∆b2 = 1150:

max 1214 − 231 y211552 y3239 x2

y1 = 410 + 234 y3 + 1123y243023 x2

x3 = 223 + 1151 y31153 y21023x2

x1 = 23 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0 Nuova soluzione ottima:

y1 = 410 x3 = 223 x1 = 23 y2 = y3 = x2 = 0 Nuovo valore ottimo: 1214

(20)

Continua

∆b2 = 2300

max 1264 − 231 y211552 y3239 x2

y1 = −140 + 234 y3 + 1123y243023 x2

x3 = 253 + 1151 y31153 y21023x2

x1 = 18 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

B non é piú base ottima. Si parte da B con il simplesso duale.

Analisi di sensitivit ´a – p. 20/48

(21)

Continua

Intervallo in cui posso variare ∆b2 mantenendo B base ottima:

(960 193 28) + ∆b2



−11 23

3

115 − 1 230



=



960 − 11∆b2

23 193 + 3∆b2

115 28 − ∆b2 230



≥ 0





960 − 11∆b23 2 ≥ 0 193 + 3∆b1152 ≥ 0 28 − ∆b2302 ≥ 0

(22)

Ancora nell’esempio

Modifica ∆b1 del primo termine noto. Nuovo vettore di termini noti:

b = ((5100 + ∆b1) 8000 1805).

Modifica nella riformulazione dell’obiettivo:

1164 + u1∆b1 − 1

23y2 − 52

115y3 − 9 23x2

Modifica termini noti dei vincoli:

(960 193 28) + ∆b1 (1 0 0)

Analisi di sensitivit ´a – p. 22/48

(23)

Continua

∆b1 = 100:

max 1164 − 231 y211552 y3239 x2

y1 = 1060 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0 Nuova soluzione ottima:

y1 = 1060 x3 = 193 x1 = 28 y2 = y3 = x2 = 0 Valore ottimo invariato! É sorprendente?

(24)

Modifica nell’obiettivo

cN → cN Riformulazione rispetto a B:

max cBA−1

Bb + (cN − cBA−1

BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

Analisi di sensitivit ´a – p. 24/48

(25)

Quando B rimane base ottima?

Questo accade se i coefficienti di costo ridotto restano tutti

≤ 0, ovvero

cN − cBA−1

BAN ≤ 0

In tal caso soluzione ottima del primale e del duale e valore ottimo del problema restano invariati.

(26)

E se B non é piú ottima?

Ovvero: se

cN − cBA−1

BAN 6≤ 0

In tal caso B non é piú ammissibile per il duale ma lo é per il primale e quindi si puó ripartire da essa con il simplesso primale.

Analisi di sensitivit ´a – p. 26/48

(27)

Nell’esempio

Modifica del coefficiente di x2: da 5 a 5 + ∆cx2

Modifica nella riformulazione dell’obiettivo:

1164 − 1

23y2 − 52

115y3 − 9

23x2 + ∆cx2x2

(28)

Continua

∆cx2 = −1

max 1164 − 231 y211552 y33223x2

y1 = 960 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

Analisi di sensitivit ´a – p. 28/48

(29)

Continua

∆cx2 = 1

max 1164 − 231 y211552 y3 + 1423x2

y1 = 960 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

(30)

Continua

Intervallo in cui può variare ∆cx2 senza cambiare la base ottima

− 9

23 + ∆cx2 ≤ 0

Analisi di sensitivit ´a – p. 30/48

(31)

Modifica nell’obiettivo

cB → cB

Riformulazione rispetto a B: max cBA−1

Bb + (cN − cBA−1

BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

(32)

Quando B rimane base ottima?

Questo accade se i coefficienti di costo ridotto restano tutti

≤ 0, ovvero

cN − cBA−1

BAN ≤ 0

In tal caso soluzione ottima del primale non cambia, quella del duale diventa cBA−1B mentre il valore ottimo cambia di una quantitá pari alla variazione del coefficiente moltiplicata per il valore della variabile di cui si é modificato il

coefficiente nella soluzione ottima del primale (vedi esempi).

Analisi di sensitivit ´a – p. 32/48

(33)

E se B non é piú ottima?

Ovvero: se

cN − cBA−1

BAN 6≤ 0

In tal caso B non é piú ammissibile per il duale ma lo é per il primale e quindi si puó ripartire da essa con il simplesso primale.

(34)

Nell’esempio

Modifica del coefficiente di x1: da 14 a 14 + ∆cx1 Modifica nella riformulazione dell’obiettivo:

1164 − 1

23y2 − 52

115y3 − 9

23x2 + ∆cx1x1 = 1164 − 1

23y2 − 52

115y3 − 9

23x2+ +∆cx1(28 − 4

115y3 + 1

230y2 − 6

23x2) = 1164 + 28∆cx1 + y2



− 1

23 + ∆cx1 230

 + +y3



− 52

115 − 4∆cx1 115



+ x2



− 9

23 − 6∆cx1 23



Analisi di sensitivit ´a – p. 34/48

(35)

Continua

∆cx1 = 1

max 1192 − 2309 y211556 y31523x2

y1 = 960 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

B rimane base ottima ed il valore ottimo varia della quantitá

∆cx1x1 = 1 ∗ 28 = 28

(36)

Continua

∆cx1 = −2

max 1108 − 23012 y211544 y3 + 233 x2

y1 = 960 + 234 y3 + 1123y243023 x2

x3 = 193 + 1151 y31153 y21023x2

x1 = 28 − 1154 y3 + 2301 y2236 x2

x1, x2, x3, y1, y2, y3 ≥ 0

La base B non é piú ottima ma é ancora ammissibile per il primale. Posso ripartire da essa con il simplesso primale.

Analisi di sensitivit ´a – p. 36/48

(37)

Continua

Intervallo in cui può variare ∆cx1 senza cambiare la base ottima





231 + ∆c230x1 ≤ 0

115524∆c115x1 ≤ 0

2396∆c23x1 ≤ 0

In tale intervallo il valore ottimo varia della quantitá

∆cx1x1 = 28∆cx1

(38)

Modifica nei vincoli

AN → AN Riformulazione rispetto a B:

max cBA−1

Bb + (cN − cBA−1

BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

Analisi di sensitivit ´a – p. 38/48

(39)

Quando B rimane base ottima?

Questo accade se i coefficienti di costo ridotto restano tutti

≤ 0, ovvero

cN − cBA−1

BAN ≤ 0

In tal caso soluzione ottima del primale e del duale e valore ottimo del problema restano invariati.

(40)

E se B non é piú ottima?

Ovvero: se

cN − cBA−1

BAN 6≤ 0

In tal caso B non é piú ammissibile per il duale ma lo é per il primale e quindi si puó ripartire da essa con il simplesso primale.

Analisi di sensitivit ´a – p. 40/48

(41)

Nell’esempio

Modifica ∆a22 del coefficiente di x2 nel secondo vincolo:

da 20 a 20 + ∆a22

Modifica nella riformulazione dell’obiettivo:

1164 − 1

23y2 − 52

115y3 − 9

23x2 − u2∆a22x2

(42)

Continua

Modifica coefficienti di x2 nei vincoli:



−430

23 − 10

23 − 6 23



− ∆a22



−11 23

3

115 − 1 230



ovvero: il vettore dei coefficienti originari di x2 nei vincoli della riformulazione a cui sottraggo la modifica ∆a22

moltiplicata per la colonna di A−1B corrispondente al vincolo in cui ho introdotto la modifica (in tal caso la seconda).

Analisi di sensitivit ´a – p. 42/48

(43)

Continua

∆a22 = 10:

max 1164 − 231 y211552 y31923x2

y1 = 960 + 234 y3 + 1123y232023 x2

x3 = 193 + 1151 y31153 y21623x2

x1 = 28 − 1154 y3 + 2301 y2235 x2

x1, x2, x3, y1, y2, y3 ≥ 0

B rimane ottima, le soluzioni ottime del primale e del duale e il valore ottimo non cambiano.

(44)

Continua

∆a22 = −10

max 1164 − 231 y211552 y3 + 231 x2

y1 = 960 + 234 y3 + 1123y254023 x2

x3 = 193 + 1151 y31153 y2234 x2

x1 = 28 − 1154 y3 + 2301 y2237 x2

x1, x2, x3, y1, y2, y3 ≥ 0

B non é piú ottima ma continua ad essere ammissibile per il primale. Posso ripartire da B con il simplesso primale.

Analisi di sensitivit ´a – p. 44/48

(45)

Continua

Intervallo in cui può variare ∆a22 senza cambiare la base ottima:

− 9

23 − u2∆a22 = − 9

23 − ∆a22

23 ≤ 0

(46)

Domanda

Secondo voi il problema é molto sensibile a modifiche ∆a12 del coefficiente di x2 nel primo vincolo del problema?

Analisi di sensitivit ´a – p. 46/48

(47)

Continua

AB → AB

Nel caso peggiore si ha che B non é piú neppure una base!

AB =

"

2 1 1 0

#

AB =

"

2 0 1 0

#

(48)

Inoltre ...

... anche se B rimane una base abbiamo la seguente riformulazione rispetto a B:

max cBA−1Bb + (cN − cBA−1BAN)xN xB = A−1Bb − A−1BANxN

xB, xN ≥ 0

Da cui si nota che si puó perdere sia l’ammissibilitá del primale che quella del duale per B e quindi non si puó utilizzare B né come base di partenza del simplesso primale né del simplesso duale.

Analisi di sensitivit ´a – p. 48/48

Riferimenti

Documenti correlati

Si verifichi se si pu`o avere che all’ottimo le variabili x 3 e x 5 siano positive e che il valore ottimo della variabile duale associata al secondo vincolo sia, in valore

Allora la soluzione ottima duale non cambia e, per la dualit` a forte, neanche la soluzione ottima del primale, cio` e l’aggiunta di due nuove alternative non inficia l’ottimalit`

Inoltre, i coefficienti del j-esimo vincolo del duale coincidono con i coefficienti della variabile x j nei vincoli del primale, mentre il termine noto del j-esimo vincolo del

(3) ` E vero o falso che dato un problema di PL e una sua base ottima B ∗ , se la variabile del duale associata a un certo vincolo del primale ha valore 0 nella soluzione ottima

Se tale variabile duale ha valore nullo nella soluzione ottima del duale, `e vero che modificando arbitrariamente nel vincolo del primale corrispondente a tale variabile duale

(5) se la soluzione ottima del duale di un problema di PL in forma standard soddisfa un vincolo come diseguaglianza stretta, allora la variabile del primale corrispondente a

• la gran parte dei giovani che non vuole continuare gli studi nel sistema di istruzione a tempo pieno si inserisce in percorsi di formazione professionale in

• Per ogni vincolo non soddisfatto all’uguaglianza dalla soluzione ottima di (P) , la variabile duale associata a questo vincolo DEVE essere uguale a zero nella