• Non ci sono risultati.

Ricerca Operativa

N/A
N/A
Protected

Academic year: 2021

Condividi "Ricerca Operativa"

Copied!
7
0
0

Testo completo

(1)

Ricerca Operativa

A.A. 2007/2008

9. Simplesso: metodo delle due fasi, convergenza e simplesso revisionato

Base ammissibile iniziale

(2)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.3

Metodo delle 2 fasi: fase I

 Consideriamo un problema in forma standard

 FASE I: individua una base ammissibile iniziale risolvendo il PROBLEMA ARTIFICIALE

 Si applica il simplesso con base iniziale

Previe operazioni elementari sulla riga 0 per ottenere 0T

Variabili artificiali

w

Se w* > 0 (y* > 0): problema NON AMMISSIBILE

 STOP: non è possibile individuare una base iniziale Se w* = 0 (y* = 0): problema AMMISSIBILE

 Tableau finale della FASE I (caso y fuori base)

 La base iniziale per il problema di partenza è

Individuazione base iniziale

(3)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.5

 Torno al problema di partenza: sostituzione della funzione obiettivo

 Passo alla forma canonica (operazioni elementari)

 Applicazione del simplesso (Fase II) per risolvere il problema dato

Fase II ( w* = 0 , caso y fuori base)

Fase II ( w* = 0 , caso y in base)

 w* = 0 ⇒⇒⇒⇒ soluzione degenere:

h: yh = 0in base (sulla riga i del tableau finale della FASE I)

 Facendo pivot su un aij≠ 0 entra in base xj al posto di yh

 Non è necessario aij >0: essendo ϑ= 0 l’ammissibilità è garantita

 Se aij = 0, j = 1…n, allora la riga iè ridondante nel sistema Ax=b e può essere eliminata

(4)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.7

 Il simplesso esplora soluzioni di base

 Se

ϑ

> 0ad ogni iterazione, la f.o. migliora di ch

ϑ

< 0ad ogni itera- zione e, quindi, non considero mai la stessa base più di una volta

⇒ convergenza in AL PIU`

N(n,m)

iterazioni

Nota: “al più” perché

- si visitano solo soluzioni ammissibili

- non tutte le combinazioni di m colonne corrispondono ad una base La complessità del metodo del simplesso è O(N(n,m)).

Mediamente, il numero di iterazioni è compreso tra m e 3/2 m

 Se

ϑ

= 0ad una certa iterazione, ci saranno un certo numero di

iterazioni senza miglioramento della f.o. e si potrebbe tornare a visitare la stessa soluzione di base: il simplesso potrebbe non convergere!

Convergenza del metodo del simplesso

)!

(

! ) !

,

( m n m

n m

m n n

N = −



=

 Se

ϑ

= 0, allora, necessariamente, siamo in presenza di soluzioni degeneri:

con (altrimenti

ϑ

> 0)

 Il simplesso passa da una soluzione degenere ad un’altra, ma tutte rappresentano lo stesso vertice: si potrebbe tornare sulla stessa soluzione di base (stesso tableau): degenarazione ciclante

 Esempio: il simplesso potrebbe ciclare all’infinito su B1, B2 e B3

Convergenza e degenerazione

= 0

b

i

a

ih

> 0

V = [1,1]

) ](

0 , 0 , 0 , 1 , 1 [

1 1 1

0 1 0

0 0 1

; 0 1 1

1 1 0

0 0 1 2

; 0 1 1

0 1 0

1 0 1

1 0 0 1 1

0 1 0 1 0

0 0 1 0 1

2 1 1 .

.

...

min

3 2 1

3 1

2 1

2 1

V x

x x

B B

B

A x

x x x t

s

B B

B = = = =





=





=





=





=

≤ +

x1 x2

1

0 1

(5)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.9

Tra tutte le variabili candidate a entrare/uscire dalla base, scegliere quella con indice minimo

 Entra in base xh, dove h = min {j: cj < 0}

 Esce dalla base xβ[t], dove

β

[t] = min {

β

[i]: bi

/

aih =

ϑ

}

Esempio

Teorema: Utilizzando la regola di Bland, il simplesso converge SEMPRE in al più N(m,n) iterazioni.

Regola anticiclo di Bland

0 0

0 0

1 3

-1 6

x3

1 0

0 -2

0 1

3 2

x7

0 1

0 3

0 -2

0 1

x6

0 0

1 1

0 4

1 8

x5

0 0

0 -10 0

-1 5

-10 -z

x7 x6

x5 x4

x3 x2

x1

Algoritmo del simplesso

(forma matriciale) - richiamo

(6)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.11

 Non tutti gli elementi del tableau sono necessari: basterebbero B-1 e uT

 Tableau esteso

 Tableau esteso in forma canonica rispetto a una base B

 Basta calcolare e memorizzare la matrice CARRY!

Simplesso revisionato (revised simplex)

Algoritmo del simplesso

(revisionato)

(7)

Luigi De Giovanni - Ricerca Operativa - 9. Simplesso: metodo delle due fasi etc. 9.13

Aggiornamento della matrice CARRY

Importante tracciare l’ORDINEcon cui le colonne (o le variabili) compaiono nella base

Osservazioni

 La complessità computazionale del simplesso revisionato rimane

O(N(n,m))

.

 Il simplesso revisionato riduce significativamente i tempi di calcolo:

 non è necessario aggiornare tutte le colonne (di solito

n >> m

) ma solo la colonna della variabile entrante;

 l’operazione di orlatura + pivoting rappresenta un metodo efficienteper calcolare l’inversa di una base in modo incrementale, a partire dall’inversa di una base adiacente.

 Nel simplesso in forma di tableau, se si parte da un tableau in forma canonica, le colonne relative alla matrice identità sormontata da “0”

nella riga dei costi ridotti hanno le stesse proprietà della matrice di CARRY: riportano, iterazione dopo iterazione, la B-1 e -uT

Riferimenti

Documenti correlati

Esercizi di ottimizzazione combinatoria 2005-2006.

I teoremi dell’alternativa consentono di eludere la necessità di una verifica per ogni x determinando in un altro poliedro (duale di Ax &lt; b) l’esistenza di un y che verifichi

ℑ = famiglia degli insiemi di archi che toccano ogni vertice del grafo G esattamente una volta (matching perfetti) c = funzione che associa a ogni arco del grafo G un costo. pari

vertici e punti estremi.. Poiché

Essa è ottima dal momento che tutti i costi ridotti sono non positivi, e il corrispondente profitto (leggibile nella casella in alto a destra, cambiato di segno e scalato di 10)

L’operazione di pivot consiste nel combinare linearmente le righe di T in modo da ottenere una colonna unitaria in posizione prestabilita.. Operazione

• Una base è un insieme massimale di colonne di A linearmente indipendenti Teorema: k colonne di A sono linearmente indipendenti se e solo se gli archi corrispondenti non

b B1 `e una base in quanto i suoi archi formano un albero di supporto del grafo di Figura 6.1, ma `e una base non ammissibile in quanto i vincoli di conservazione del flusso