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

Post on 02-May-2015

216 views 0 download

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

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

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

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

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

Indicando con:

bAb B1

Otteniamo:

NNBB xAAbx 1

NTNNB

TB

TB xcAAcbcz 1

(4)

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

variabile fuori base.

Inoltre essendo:

Nj

jjNN xaxA

Abbiamo

jjNj

BNNBB xaAbxAAbx

11

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

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.

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

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)

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

j ≠ k la relazione

Nj

jjB xybx

Diventa

kkB xybx

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.

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.

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

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

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è

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

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

La nuova soluzione di base ha migliorato il valore della

funzione obiettivo:

00 )( zy

bczzz

rk

r

kk

>0

>0

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

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.