Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto -...

21
Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di Ricerca Operativa Corso di Laurea in Informatica ed Informatica Applicata Università di Salerno

Transcript of Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto -...

Page 1: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Lezione n° 9: 31 Marzo-1 Aprile 2009Algoritmo del Simplesso:

- Coefficienti di costo ridotto

- Condizioni di ottimalità

- Test dei minimi rapporti

- Cambio di base

Anno accademico 2008/2009

Prof. Cerulli – Dott.ssa Gentili

Lezioni di Ricerca OperativaCorso di Laurea in Informatica ed Informatica Applicata

Università di Salerno

Page 2: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Calcolo della soluzione ottima di un problema di PL.

Supponendo di aver individuato una base B ammissibile, riscriviamo la funzione obiettivo:

(1) NTNB

TB

N

BNB

T xcxcx

xccxcz

Sostituiamo in (1) l’espressione delle variabili di base:

(2)NNBBB xAAbAx 11

Page 3: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Calcolo della soluzione ottima di un problema di PL.

Il valore dell’obiettivo corrispondente alla base B è

bAcz BTB

1

(3)ottenendo: NTNNB

TBB

TB xcAAcbAcz 11

Page 4: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Le relazioni (2) e (3) esprimono rispettivamente i

vincoli e la funzione obiettivo in funzione delle

variabili fuori base.

(4)

Le (4) sono m+1 equazioni.

NNBBB xAAbAx 11

NTNNB

TBB

TB xcAAcbAcz 11

Page 5: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Indicando con:

bAb B1

Otteniamo:

NNBB xAAbx 1

NTNNB

TB

TB xcAAcbcz 1

(4)

Page 6: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

dove aj è la colonna di N che moltiplica la j-esima

variabile fuori base.

Inoltre essendo:

Nj

jjNN xaxA

Abbiamo

jjNj

BNNBB xaAbxAAbx

11

Page 7: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Dove le yj sono termini noti e xj variabili.

Infine ponendo:jjB yaA 1

Otteniamo:

Nj

jjB xybx

La nostra funzione obiettivo diventa:

Nj

jjNj

jj

TB

TB xcxycbcmin

Page 8: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Poniamo:jj

TB

TB zyczbc e 0

la nostra F.O. diventa:

Nj

jjjNj

jjNj

jj xczzxcxzz )(minmin 00

I coefficientijj cz

Vengono detti coefficienti di costo ridotto.

Page 9: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Verifichiamo se la soluzione di Base corrente è ottima.

Consideriamo l’obiettivo:

Nj

jjj xczzz )(min 0

e consideriamo come varia l’obiettivo facendo diventare positiva la variabile fuori base xk, attualmente nulla.

kkk xczzz )(0

>0

>0

L’obiettivo migliora !

Supponiamo che esista un coefficiente kN tale che

0 kk cz

Page 10: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Allora si potrebbe pensare di aumentare

indefinitivamente xk migliorando sempre l’obiettivo.

Tuttavia, aumentando xk anche le equazioni (2)

corrispondenti ai vincoli variano, modificando i valori

delle variabili di base:

0

0

x

xybxNj

jjB(2)

Page 11: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Dal momento che per j N le xj sono uguali a zero per

j ≠ k la relazione

Nj

jjB xybx

Diventa

kkB xybx

Page 12: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

In forma vettoriale:

k

mk

rk

k

k

m

r

B

B

B

B

x

y

y

y

y

b

b

b

b

x

x

x

x

m

r

2

1

2

1

2

1

0 se iky

allora xBi cresce al crescere di xk e così xBi continua a essere non negativo.

Page 13: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Se yik >0 allora xBi decresce al crescere di xk. Il valore di xk verrà incrementato finchè una delle variabili checostituiscono la soluzione di base assumerà valore zero. Infatti noi vogliamo che:

0

0

0

22

11

2

1

kmkmB

kkB

kkB

xybx

xybx

xybx

m

la variabile che si azzererà per prima verrà tolta dallevariabili di base e sarà rimpiazzata da xk.

Page 14: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

mk

m

kkmkmB

kkkkB

kkkkB

y

bxxybx

y

bxxybx

y

bxxybx

m

0

0

0

2

2

22

1

1

11

2

1

Possiamo scrivere:

Esaminiamo queste disuguaglianze.

Dobbiamo considerare solo i rapporti in cui 0iky

Page 15: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Quindi considerando quei rapporti in cui yjk >0 xk assumerà il seguente valore:

0:min jkjk

j

Bjrk

r

k yy

b

y

bx

Così:

00

00

00 11111

rk

r

mkmkmkmB

rk

r

rkrkrkrB

rk

r

kkkB

y

bybxybx

y

bybxybx

y

bybxybx

m

r

Page 16: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Fare assumere ad xk un valore positivo significa

portare la variabile xkin base.

Nello stesso tempo il valore delle altre variabili di

base per cui yik>0 diminuisce.

0:min jkjk

j

Bjrk

r

k yy

b

y

bx

Il valore che xk assume in base è quello corrispondente all’annullamento della prima variabile di base, cioè

Page 17: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

La variabile xk entra in base con tale valore, ed in

corrispondenza la variabile esce di base.xBr

Il coefficiente yrk è detto Pivot, (l’aggiornamento della base si dice Pivoting) e viene usato per aggiornare i valori delle variabili in base dopo l’ingresso in base di xk.

rk

r

k y

bx

rk

r

ikiB y

bybx

i

La nuova soluzione di base

0 0 '' rBj xkNNNjx Le nuove variabili

fuori base

Page 18: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Con il cambio delle variabili in base, la nuova matrice

di base risulta composta delle stesse colonne della

vecchia base ad eccezione del fatto che la colonna

associata a è stata sostituita dalla colonna

associata a xk.

xBr

Page 19: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

La nuova soluzione di base ha migliorato il valore della

funzione obiettivo:

00 )( zy

bczzz

rk

r

kk

>0

>0

Page 20: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

E’ possibile iterare il procedimento fino a che esiste

qualche variabile fuori base che può migliorare

l’obiettivo se portata in base.

5. Teorema (Condizione di ottimalità)

Una soluzione di base non degenere di un

problema di PL è ottima se e solo se:

le)migliorabi(non 0 2)

le)(ammissibi 0 1)

Njcz

b

jj

i

Page 21: Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio.

Nel caso di soluzione degenere possono esistere

soluzioni ottime in cui il punto (2) del teorema 5 non

è soddisfatto.

Tuttavia, se un problema ammette soluzione ottima

finita allora ammette una soluzione di base ottima

che soddisfa le condizioni (1) e (2) del teorema 5.