• Non ci sono risultati.

12. Algoritmo del simplesso duale

N/A
N/A
Protected

Academic year: 2021

Condividi "12. Algoritmo del simplesso duale"

Copied!
4
0
0

Testo completo

(1)

Ricerca Operativa A.A. 2007/2008

12. Algoritmo del simplesso duale

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.1

Condizioni di ottimimalit` a e algoritmo del simplesso

• Le condizioni di ottimalit`a per un problema in forma standard sono:

(1) Ax = b, x ≥ 0 (ammissibilit`a primale) (2) uTA ≤ cT (ammissibilit`a duale) (3) (cT − uTA)x = 0 (ortogonalit`a)

• L’algoritmo del simplesso, ad ogni iterazione, considera una partizione A = [B, F ] e:

– calcola una soluzione ammissibile x = xB xF



= B−1b 0



⇒ la (1) `e soddisfatta;

– calcola i moltiplicatori uT = cTBB−1: risulta (cT−uTA)x = (cBT−uTB)xB+(cTF−uTF )xF = 0TxB+ ¯cTF0 = 0 ⇒la (3) `e soddisfatta;

– calcola i costi ridotti ¯cT = cT − uTA ed esegue un test per verificare che siano positivi:

¯cT ≥ 0 ≡ ammissibilit`a duale (2).

• L’algoritmo del simplesso parte da una soluzione ammissibile primale e considera, ad ogni iterazione, una diversa coppia di soluzioni primale x e duale u che sono

– ammissibili primali (sempre), – in scarti complementari (sempre),

– non ammissibili duali (solo alla fine u `e soluzione ammissibile duale, e quindi la coppia x, u

`e ottima).

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.2

(2)

Approccio alternativo

• Un approccio alternativo parte da una soluzione ammissibile duale e considera, ad ogni iterazione, una diversa coppia di soluzioni primale x e duale u che sono

– ammissibili duali (sempre) ⇒ la (2) ` e soddisfatta;

– in scarti complementari (sempre) ⇒ la (3) ` e soddisfatta;

– non ammissibili primali (solo alla fine x `e soluzione ammissibile primale, cio`e anche la (1) ` e soddisfatta e la coppia x, u `e ottima).

• La condizione di ammissibilit`a duale `e equivalente ad avere tutti i costi ridotti non negativi (ottimalit`a primale).

• Si considerano delle soluzioni di base ottime ma non ammissibili (super-ottime) e si cerca di convergere verso una soluzione di base ottima e ammissibile. Geo- metricamente si parte da intersezioni di vincoli esterne al poliedro ammissibile ma con valore della funzione obiettivo pi`u che ottima e si cerca di arrivare su un vertice del poliedro (ammissibile) ottimo.

• L’approccio alternativo mantiene una soluzione duale ammissibile ed `e detto algoritmo del simplesso duale. L’approccio “usuale” `e detto algoritmo del simplesso primale.

• Attenzione: entrambi gli algoritmi servono per risolvere il problema primale!

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.3

Algoritmo del simplesso duale: osservazioni

• Consideriamo un tableau in forma canonica, relativo a una base (super)ottima B = [A1...Am] ( ¯cj ≥ 0, ∀ j = m + 1...n).

x1 ... xt ... xm xm+1 ... xh ... xn

−z −zB 0 ... 0 ... 0 c¯m+1 ... c¯h ... c¯n

x1 ¯b1 1 ... 0 ... 0 ¯a1,m+1 ... ¯a1h ... ¯a1n

... ... 0 0 0 ... ... ... ...

xt ¯bt 0 ... 1 ... 0 a¯t,m+1 ... a¯th ... ¯atn

... ... 0 0 0 ... ... ... ...

xm ¯bm 0 ... 0 ... 1 ¯am,m+1 ... ¯amh ... ¯amn

• L’algoritmo si ferma quando si raggiunge l’ammissibilit`a primale, cio´e quando

¯bi≥ 0, ∀ i = 1...m.

• Sia t una delle righe “non ammissibili”, cio´e tali che bt< 0.

– Se ¯atj ≥ 0, allora Pn

j=1¯atjxj ≥ 0, ∀ x ≥ 0: il problema primale `e inammissibile (e il duale illimitato, visto che i moltiplicatori u associati al tableau rappresentano una soluzione ammissibile duale).

– Altrimenti si pu`o effettuare un’operazione di pivot su un opportuno ¯ath< 0 per cambiare la base corrente facendo uscire la variabile xβ[t] e facendo entare la variabile xhcon un valore positivo pari a ¯bt/¯ath.

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.4

(3)

Algoritmo del simplesso duale: cambio base

• La variabile che esce dalla base `e determinata dalla ricerca dell’ammissibilit`a: una qualsiasi xβ[t]: ¯bt< 0.

• La scelta della variabile che entra in base `e invece guidata dal mantenimento delle condizioni di ottimalit`a: costi ridotti non negativi.

• I nuovi costi ridotti ˜cjsi ottengono aggiornando con operazioni di pivot la prima riga del tableau.

Assumendo che xh sia la variabile che entra in base, si ottiene:

˜cj = ¯cj− ¯ch

¯ ath

¯atj, ∀ j = 1...n

• Dobbiamo imporre ˜cj ≥ 0 ⇒ ¯cj ≥ ¯ch

¯athtj, ∀ j = 1...n

• Se ¯atj ≥ 0, la corrispondente disequazione risulta verificata (¯ath≤ 0 per garantire l’ammissibilit`a della variabile che entra in base);

• Se ¯atj < 0 (e considerando che ¯atj = −|¯atj| e ¯ath= −|¯ath|)

¯ cj ≥ c¯h

¯ ath

¯atj = ¯ch

−|¯ath|(−|¯atj|) ⇒ c¯j

|¯atj| ≥ ¯ch

|¯ath|, ∀ j : ¯atj < 0

• In definitiva, fissata la riga pivot t (esce dalla base xβ[t]), per mantenere l’ottimalit`a della nuova soluzione di base,dobbiamo far entrare una variabile xhcon

h = arg min

j=1..n

 c¯j

|¯atj| : ¯atj < 0



Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.5

Algoritmo del simplesso duale

1. Consideriamo un tableau iniziale in forma canonica, relativo a una base (su- per)ottima B = [A

1

...A

m

] ( ¯ c

j

≥ 0, ∀ j = m + 1...n).

x

TB

x

TF

−z −z

B

0

T

c ¯

TF

≥ 0

T

x

B

¯b = B

−1

b I B

−1

F = {¯a

ij

}

2. Se ¯b

i

≥ 0, ∀ i, STOP: soluzione ottima.

3. Scegli un qualsiasi t : ¯b

t

< 0.

4. Se ¯a

tj

≥ 0, ∀ j: STOP: problema primale impossibile.

5. Poni h = arg min

j=1...n

 ¯c

j

|¯a

tj

| : ¯a

tj

< 0



6. Esegui l’operazione di pivot sull’elemento ¯a

th

e torna al passo 2.

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.6

(4)

Convergenza del simplesso duale

• Ad ogni iterazione il valore della funzione obiettivo aumenta (ci avviciniamo a una soluzione ammissibile primale e a una soluzione ottima duale).

Infatti, passando dalla base B alla nuova base ˜B: −zB˜ = −zB− ¯ch

¯ath¯bt≤ −zB ⇒ zB˜ ≥ zB.

• A meno di degenerazione duale (¯c

h

= 0), la disuguaglianza `e stretta e il simplesso duale converge in al pi`u  n

m



iterazioni.

• In caso di degenerazione, la convergenza non `e garantita: si pu`o utilizzare una regola anticiclo, ad esempio:

Regola anticiclo di Bland (duale): In caso di alternative lecite, scegliere la variabile x

j

uscente/entrante con indice j minimo.

Luigi De Giovanni - Ricerca Operativa - 12. Algoritmo del simplesso duale 12.7

Riferimenti

Documenti correlati

In particolare la soluzione ottima è il vertice della regione ammissibile in cui la funzione obiettivo raggiunge il massimo punto di tangenza nella direzione del

Se il valore della funzione obiettivo è 0, allora il problema di partenza aveva una soluzione ammissibile di base (e il metodo del simplesso, applicato al problema ausiliario, ce la

In particolare, il metodo del simplesso parte da una soluzione primale ammissibile e cerca di rendere questa soluzione ottimale (costi ridotti non negativi), mantendo, ad

il problema ammette soluzione ottima: esiste almeno una soluzione ammissibile che ottimizza la funzione obiettivo (e il valore ottimo della funzione obiettivo `e limitato)..

Ricordiamo che vogliamo (dobbiamo) rappresentare tutti i vincoli in modo lineare, anche i vincoli di tipo logico che coinvolgono variabili logiche: dal punto di vista modellistico,

™ Black-box o Sequenziale modulare: il modello del processo viene interrogato dalla routine di ottimizzazione e fornisce i dati necessari alla valutazione della funzione obiettivo

Una volta individuato un piano di taglio per la soluzione ottima x* RL di P RL, possiamo aggiungere tale disuguaglianza alla formulazione originaria (“migliorando” la

 Se nessuna variabile artificiale è ancora in base, ho una base fatta da sole colonne del problema originario e posso partire con Fase 2 su esso.  Se ho ancora variabili