• Non ci sono risultati.

Lezione n° 11

N/A
N/A
Protected

Academic year: 2021

Condividi "Lezione n° 11"

Copied!
22
0
0

Testo completo

(1)

Lezione n° 11

Algoritmo del Simplesso:

-  Coefficienti di costo ridotto -  Condizioni di ottimalità

-  Test dei minimi rapporti -  Cambio di base

Lezioni di Ricerca Operativa

Corso di Laurea in Informatica ed Informatica Applicata Università di Salerno

Prof. Cerulli – Dott.ssa Gentili

Dott. Carrabs

(2)

Consideriamo il problema (PL) in Forma Standard

0

min

=

=

x

b x

A x c z T

A=[ A

B

| A

N

] x x x m componenti

n m componenti

B

= ⎡

N

⎣ ⎢ ⎤

⎦ ⎥ −

Data una base B ammissibile, partizioniamo sia la matrice A che il vettore delle incognite x come segue:

Il sistema di equazioni lineari Ax=b si può riscrivere come

AB xB + AN xN = b à AB xB = b - AN xN à xB = A-1Bb - A-1BAN xN

Calcolo della soluzione ottima di un problema di PL.

(3)

Calcolo della soluzione ottima di un problema di PL.

Riscriviamo anche la funzione obiettivo come:

[ ]

TB B TN N

(1)

N T B

N T

B

T

c x c x

x c x

c x

c

z ⎥ = +

⎦

⎢ ⎤

⎣

= ⎡

=

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

N

(2)

N B

B

A

B

b A A x x =

1

1

(3)

ottenendo:

z = c

TB

A

B1

bc

TB

A

B1

A

N

x

N

+ c

TN

x

N

Il valore della funzione obiettivo corrispondente alla base B è:

b A

c

z =

TB B1

(4)

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.

N N

B B

B

A b A A x

x =

1

1

N T

N N

N B

T B B

T

B

A b c A A x c x

c

z =

1

1

+

(5)

Indicando con:

b A

b =

B1

Otteniamo:

N T

N N N

B T

B T

B N

T N N N

B T B B

T

B A b c A A x c x z c b c A A x c x

c

z

=

1

1

+ ⇔ = −

1

+

N N B

B N

N B

B

B

A b A A x x b A A x

x =

1

1

⇔ = −

1

(6)

dove a

j

è la colonna di N che moltiplica la j-esima variabile fuori base.

Inoltre essendo:

=

N j

j j N

N

x a x

A

Abbiamo

+ ⇔ = − +

=

N j

j j N

j

j j B

T B T

B N

T N N

N B

T B T

Bb c A A x c x z c b c A a x c x

c

z 1 1

j j N

j N B

N

B

b A

B

A x b A a x

x

⇔ −

=

1 1

(7)

Dove le y

j

sono termini noti e x

j

variabili.

Infine ponendo: A

B−1

a

j

= y

j

Otteniamo: ∑ ∑

⇔ = −

=

N j

j j j B

j N

j

B

b A

B

a x x b y x

x

1

La nostra funzione obiettivo diventa:

+ ⇔ = − +

=

N j

j j N

j

j j T

B T

B N

j

j j N

j

j j B

T B T

Bb c A a x c x z c b c y x c x

c

z 1

(8)

Poniamo: c

TB

b = z

0

e c

TB

y

j

= z

j

la nostra F.O. diventa:

⇔ +

=

⇔ +

=

∑ ∑ ∑ ∑

j N

j j N

j

j j N

j

j j N

j

j j T

B T

Bb c y x c x z z z x c x

c

z min 0

min

I coefficienti z −

j

c

j

vengono detti coefficienti di costo ridotto.

=

N j

j j

j c x

z z

z

( )

min

0

(9)

Verifichiamo se la soluzione di Base corrente è ottima o può essere migliorata

Consideriamo l’obiettivo: ∑

=

N j

j j

j

c x

z z

z ( )

min

0

e consideriamo come varia l’obiettivo facendo diventare positiva la variabile fuori base x

k

, attualmente nulla.

k k

k

c x

z z

z =

0

− ( − )

>0

>0

L’obiettivo migliora ! Supponiamo che esista un coefficiente k∈N tale che

> 0

k

k

c

z

(10)

1

X

6

-3 -2

-1 1 (1)

(3) (2)

A B

C

Forma Standard

Verificare analiticamente se la soluzione di base associata al punto A soddisfa il test di

ottimalità.

(11)

Poichè incrementando il valore della variabile fuori base xk il valore della funzione obiettivo migliora, si potrebbe pensare di aumentare indefinitivamente xk.

Tuttavia, aumentando xk anche le equazioni (5) corrispondenti ai vincoli variano, modificando i valori delle variabili di base:

0

0

= ∑

x

x y b

x

N j

j j

B

(5)

(12)

Dal momento che per j

N le x

j

sono uguali a zero per j ≠ k la relazione

=

N j

j j

B

b y x

x

Diventa

k k

B

b y x

x = −

(13)

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

Se yik ≤0 per ogni i

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

k k

B

b y x

x = −

(14)

Se esiste una componente i tale che yik >0

allora xBi decresce al crescere di xk. Il valore di xk verrà

incrementato finché una delle variabili che costituiscono la soluzione di base assumerà valore zero. Infatti noi

vogliamo che:

0 0 0

2 2 1 1

2 1

=

=

=

k m mk

B

k k B

k k B

x y

b x

x y

b x

x y

b x

m

la variabile che si azzererà per prima verrà tolta dalle variabili di base e sarà sostituita da xk.

(15)

mk m k

k m mk

B

k k

k k B

k k B

y x b

x y

b x

y x b

x y

b x

sempre x

y b

x

m

= − ≥ ⇔ ≤

=

=

0

0

0

2 2 2 2

1 1

2 1

Possiamo scrivere:

Dobbiamo considerare solo i rapporti in cui

y

ik

> 0

≤0

>0

>0

(16)

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

⎪⎭

⎪ ⎬

⎫

⎪⎩

⎪ ⎨

⎧ >

=

= min

:

jk

0

jk j B

rk j r

k

y

y b y

x b

Così:

0 0

0 0

0 0 1 1

1 1

1

=

=

=

=

rk r m mk

k m mk

B

rk r r rk

k r rk

B

rk r k

k k B

y y b

b x

y b

x

y y b

b x

y b

x

y y b

b x

y b

x

m r

(17)

Fare assumere ad x

k

un valore positivo significa portare la variabile x

k

in base.

Nello stesso tempo il valore delle altre variabili di base per cui y

ik

>0 diminuisce.

⎪⎭

⎪ ⎬

⎫

⎪⎩

⎪ ⎨

⎧ >

=

= min

:

jk

0

jk j B

rk j r

k

y

y b y

x b

Il valore che x

k

assume in base è quello corrispondente

all’annullamento della prima variabile di base, cioè

(18)

La variabile x

k

entra in base con tale valore, ed in corrispondenza la variabile x

Br

esce di base.

Il coefficiente y

rk

è 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 x

k

.

rk r

k

y

x = b

rk r i ik

B

y

y b b

x

i

= −

La nuova soluzione di base

{ }

, 0

con

0 ∀ ∈ ' ' = ∪ − =

= r Br

j j N N B N k x

x Le nuove variabili

fuori base

(19)

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 x

k

.

xBr

(20)

La nuova soluzione di base ha migliorato il valore della funzione obiettivo:

0

0

( ) z

y c b

z z

z

rk r k

k

− ≤

=

>0

>0

(21)

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)

N j

c z

b

j j

i

(22)

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.

Riferimenti

Documenti correlati

The political context and the criminalisation process In their reports, Interpol and UN Agencies expressed alarm at the rise of Albanian clan networks everywhere in Europe and by

Lezione 24.

I corsi non validi per la maturazione di CFP per i Geometri andranno seguiti sulla piattaforma formativa https://ctiformazione.it; in questo caso l’attivazio- ne dei corsi verrà

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

Universit` a degli Studi Roma Tre Corso di Studi in Matematica CR410 Crittografia a chiave pubblica. Esercizi

[r]

Il potenziamento dell’uso delle tecnologie digitali, lo sviluppo delle funzioni di comunicazione, espressive e dell’apprendere mutuate dalle tecnologie digitali, il controllo

ne verso il in Parlame a livello loca disegno di biezioni cult o un'analisi arsi in ques reddito min lle tante de atto nell'Un e di efficien..