Lezione n° 9: 31 Marzo-1 Aprile 2009 Algoritmo del Simplesso: - Coefficienti di costo ridotto -...
-
Upload
bonfilia-melis -
Category
Documents
-
view
216 -
download
0
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.