• Non ci sono risultati.

Lezionidi RicercaOperativa Lezionen 12 °

N/A
N/A
Protected

Academic year: 2021

Condividi "Lezionidi RicercaOperativa Lezionen 12 °"

Copied!
28
0
0

Testo completo

(1)

Lezione n

°

12

Algoritmo del Simplesso:

- Metodo delle 2 Fasi - Metodo del Big-M - Esempi

R. Cerulli

F. Carrabs

Lezioni di Ricerca Operativa

Università degli Studi di Salerno

(2)

Metodo Delle Due Fasi

Dato il seguente problema di PL in forma STANDARD:

dove A è una matrice mxn, con m<n, a rango pieno e b ≥ 0, supponiamo di voler utilizzare il metodo del simplesso per risolvere il problema.

Ci occorre una base iniziale

𝑚𝑖𝑛 𝑧 = 𝑐

!

𝑥

A𝑥 = 𝑏

(3)

Metodo Delle Due Fasi

Se tra le colonne di A non è presente la matrice identità, l’individuazione di una sottomatrice quadrata mxm di A (ossia una base

di Rm da cui partire) può essere un’operazione costosa.

Il problema viene risolto modificando artificialmente il sistema dei vincoli come segue:

Si aggiunge una variabile artificiale yi ad ogni vincolo del sistema. Per costruzione, nel nuovo sistema è presente una matrice identità

(associata alle variabili y).

A𝑥 = 𝑏

𝑥 ≥ 0

A𝑥 + 𝐼𝑦 = 𝑏

𝑥 ≥ 0, 𝑦 ≥ 0

(4)

Metodo Delle Due Fasi

Una soluzione (x’,y’) del nuovo sistema sarà soluzione anche del sistema di partenza se e solo se y’=0.

Per ottenere una tale soluzione (se esiste) risolviamo il seguente problema di PL.

𝑚𝑖𝑛 𝑔 = .

!

𝑦

𝑖

A𝑥 + 𝐼𝑦 = 𝑏

𝑥 ≥ 0, 𝑦 ≥ 0

(5)

Metodo Delle Due Fasi

Per risolvere il nuovo problema possiamo utilizzare il simplesso a partire dalla matrice identità generata dalle colonne associate alle variabili artificiali y.

Quindi nella prima fase del metodo si risolve il problema:

Si noti che inizialmente tutte le variabili y sono in base mentre tutte le variabili x sono fuori base.

𝑚𝑖𝑛 𝑔 = '

!

𝑦𝑖 A𝑥 + 𝐼𝑦 = 𝑏 𝑥 ≥ 0, 𝑦 ≥ 0

Se il problema originale ammette una soluzione ottima finita, quale sarà il minimo numero di iterazioni necessarie al simplesso per azzerare le variabili artificiali?

(6)

Metodo Delle Due Fasi

Alla fine della prima fase possono verificarsi due casi:

1) g* > 0

Þ Ax=b non ammette soluzione. Il problema di

partenza è inammissibile e non si passa alla seconda fase.

2) g* = 0

Þ Ax=b ammette soluzione.

Si passa alla seconda fase risolvendo il problema iniziale

utilizzando la base ottima della prima fase come base di

partenza per il simplesso.

Perché non avremo mai un ottimo illimitato per il problema

della prima fase?

(7)

Metodo Delle Due Fasi: Esempio

Problema della

prima fase

𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 𝑥1 + 𝑥2 ≥ 1 𝑥1 + 2𝑥2 ≤ 4 𝑥 ≥ 0 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 𝑥1 + 𝑥2 − 𝑥3 = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0 𝑚𝑖𝑛 𝑔 = 𝑥"# 𝑥1 + 𝑥2 − 𝑥3 + 𝑥"# = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥"# ≥ 0 Forma standard

D’ora in poi indicheremo le variabili artificiali con l’apice a per poterle distinguere dalle variabili del problema di partenza.

(8)

Metodo Delle Due Fasi:

𝟏

°

fase

Matrice Identità

(Base Iniziale)

𝑚𝑖𝑛 𝑔 = 𝑥"# 𝑥1 + 𝑥2 − 𝑥3 + 𝑥"# = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥"# ≥ 0

B = {5,4}

N = {1,2,3}

(9)

Metodo Delle Due Fasi:

𝟏

°

fase

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,2,3}

𝐴

"

= 1 0

0 1

𝑥

𝐵

= 𝐴

"#$

𝑏 ⟹ 𝑥

𝐵

= 𝐼𝑏 ⟹ 𝑥

𝐵

= 𝑏

𝑥

%&

𝑥

4

=

𝐴

#$"

𝑏 = 1 0

0 1

4

1

= 1

4

𝑥

78

= 1,

𝑥

4

= 4

𝑧

1

− 𝑐

1

= 1 0 𝐼 1

1

− 0 = 1

𝑧

2

− 𝑐

2

= 1 0 𝐼 1

2

− 0 = 1

𝑧

3

− 𝑐

3

= 1 0 𝐼 −1

0

− 0 = −1

(10)

Metodo Delle Due Fasi:

𝟏

°

fase

x

2

entra in base

Quale variabile esce dalla base?

Test dei minimi rapporti:

𝑥

%&

esce dalla base; x

2

entra in base con valore 1

𝑥

%&

𝑥

4

= 𝑏 = 1

4

𝑦

2

= 𝐴

" #$

𝑎

2

= 𝐼 1

2

= 1

2

𝑥

2

= min

$'(')

𝑏

𝑖

𝑦

𝑖𝑘

: 𝑦𝑖𝑘 > 0 = min

$'(')

1

1

,

4

2

= 1 =

𝑏

1

𝑦

1𝑘

Nuova base: B = {2,4} N = {1,3,5}

(11)

Metodo Delle Due Fasi:

𝟏

°

fase

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,3,5}

𝐴

"

= 1 0

2 1

𝑥

2

𝑥

4

=

𝐴

"#$

𝑏 = 1

−2 1

0

1

4

= 1

2

𝑧

1

− 𝑐

1

= 0 0

1

0

−2 1

1

1

− 0 = 0

𝐴

"#$

= 1

0

−2 1

𝑧

3

− 𝑐

3

= 0 0

1

0

−2 1

−1

0

− 0 = 0

𝑧

5

− 𝑐

5

= 0 0

1

0

−2 1

1

0

− 1 = −1

Soluzione ottima

(12)

Metodo Delle Due Fasi:

𝟏

°

fase

Soluzione Ottima della Prima fase

Si può passare alla seconda fase

Si risolve il problema iniziale utilizzando come base di partenza:

𝑔

= 𝑐

𝐵

𝐴

"#$

𝑏

𝑔

= 0 0

1

0

−2 1

1

4

= 0

B = {2,4} N = {1,3,5}

𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 𝑥1 + 𝑥2 − 𝑥3 = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0

(13)

Metodo Delle Due Fasi:

𝟐

°

fase

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,3}

𝐴

"

= 1 0

2 1

𝑥

2

𝑥

4

=

𝐴

"#$

𝑏 = 1

−2 1

0

1

4

= 1

2

𝑧

1

− 𝑐

1

= −2 0

1

0

−2 1

1

1

− −1 = −1

𝐴

"#$

= 1

0

−2 1

𝑧

3

− 𝑐

3

= −2 0

1

0

−2 1

−1

0

− 0 = 2

x3 entra in base

(14)

Metodo Delle Due Fasi:

𝟐

°

fase

x

3

entra in base

Quale variabile esce dalla base?

Test dei minimi rapporti:

x

4

esce dalla base; x

2

entra in base con valore 1

𝑥

2

𝑥

4

= 1

2

𝑦

3

= 𝐴

"#$

𝑎

3

= 1

−2 1

0

−1

0

= −1

2

𝑥

3

= min

$'(')

𝑏

𝑖

𝑦

𝑖𝑘

: 𝑦𝑖𝑘 > 0 = min

$'(')

2

2

= 1 =

𝑏

2

𝑦

2𝑘

Nuova base: B = {2,3} N = {1,4}

(15)

Metodo Delle Due Fasi:

𝟐

°

fase

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,4}

𝐴

"

= 1 −1

2

0

𝑥

2

𝑥

3

=

𝐴

"#$

𝑏 =

0

$ +

−1

$

+

1

4

= 2

1

𝑧

1

− 𝑐

1

= −2 0

0

1

?

2

−1

1

?

2

1

1

− −1 = −1 + 1 = 0

𝐴

#$"

=

0

1

?

2

−1

1

?

2

𝑧

4

− 𝑐

4

= −2 0

0

1

?

2

−1

1

?

2

0

1

− 0 = −1

Soluzione ottima

(16)

Metodo Del Big-M

Ø Nella prima fase del metodo delle due fasi, la funzione obiettivo del problema originale è completamente ignorata.

Ø La prima fase ha, infatti, come obiettivo l’individuazione di una qualsiasi soluzione di base ammissibile del problema originale e quindi non necessariamente una buona soluzione di base ammissibile.

Ø Il Big-M è un metodo alternativo al metodo delle 2 fasi che tiene conto anche della funzione obiettivo originale durante la risoluzione del problema.

(17)

Metodo Del Big-M

Il problema di PL viene risolto modificando artificialmente il sistema dei vincoli esattamente come fatto per il due fasi aggiungendo le

variabili artificiali al sistema.

Ciò che cambia è la funzione obiettivo usata dal metodo del Big-M.

Alla funzione obiettivo di P vengono sommate (nel caso di un problema di minimo) le variabili artificiali moltiplicate per un coefficiente M ”molto grande”.

𝑃 𝑀

𝑚𝑖𝑛 𝑧 = 𝑐

𝑇

𝑥 + 𝑀𝑦

A𝑥 + 𝐼𝑦 = 𝑏

𝑥 ≥ 0, 𝑦 ≥ 0

𝑃 𝑚𝑖𝑛 𝑧 = 𝑐

𝑇

𝑥

A𝑥 = 𝑏

𝑥 ≥ 0

(18)

Metodo Del Big-M

Problema del Big-M

𝑃 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 𝑥1 + 𝑥2 ≥ 1 𝑥1 + 2𝑥2 ≤ 4 𝑥 ≥ 0 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 𝑥1 + 𝑥2 − 𝑥3 = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0 𝑃 𝑀 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 + 𝑀𝑥"# 𝑥1 + 𝑥2 − 𝑥3 + 𝑥"# = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥"# ≥ 0 Forma standard

(19)

Matrice Identità

(Base Iniziale)

B = {5,4}

N = {1,2,3}

𝑃 𝑀 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 + 𝑀𝑥"# 𝑥1 + 𝑥2 − 𝑥3 + 𝑥"# = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥"# ≥ 0

(20)

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,2,3}

𝐴

"

= 1 0

0 1

𝑥

%&

𝑥

4

=

𝐴

#$"

𝑏 = 1 0

0 1

1

4

= 1

4

𝑧

1

− 𝑐

1

= 𝑀 0 𝐼 1

1

− −1 = 𝑀 + 1

𝑧

2

− 𝑐

2

= 𝑀 0 𝐼 1

2

− −2 = 𝑀 + 2

𝑧

3

− 𝑐

3

= 𝑀 0 𝐼 −1

0

− 0 = −𝑀

𝐴

"#$

= 1 0

0 1

𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 + 𝑀𝑥!" 𝑥1 + 𝑥2 − 𝑥3 + 𝑥!" = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥!" ≥ 0 Entra in base x2

(21)

x

2

entra in base

Quale variabile esce dalla base?

Test dei minimi rapporti:

𝑥

%&

esce dalla base; x

2

entra in base con valore 1

𝑥

%&

𝑥

4

= 𝑏 = 1

4

𝑦

2

= 𝐴

" #$

𝑎

2

= 𝐼 1

2

= 1

2

𝑥

1

= min

$'(')

𝑏

𝑖

𝑦

𝑖𝑘

: 𝑦𝑖𝑘 > 0 = min

$'(')

1

1

,

4

2

= 1 =

𝑏

1

𝑦

1𝑘

Nuova base: B = {2,4} N = {1,3,5}

(22)

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,3,5}

𝐴

"

= 1 0

2 1

𝑥

2

𝑥

4

=

𝐴

"#$

𝑏 = 1

−2 1

0

1

4

= 1

2

𝑧

1

− 𝑐

1

= −2 0

1

0

−2 1

1

1

− −1 = −1

𝐴

"#$

= 1

0

−2 1

𝑧

3

− 𝑐

3

= −2 0

1

0

−2 1

−1

0

− 0 = 2

x3 entra in base 𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 + 𝑀𝑥!" 𝑥1 + 𝑥2 − 𝑥3 + 𝑥!" = 1 𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥!" ≥ 0

𝑧

5

− 𝑐

5

= −2 0

1

0

−2 1

1

0

− 𝑀 = −𝑀 − 2

(23)

x

3

entra in base

Quale variabile esce dalla base?

Test dei minimi rapporti:

x

4

esce dalla base; x

3

entra in base con valore 1

𝑥

2

𝑥

4

= 1

2

𝑦

3

= 𝐴

"#$

𝑎

3

= 1

−2 1

0

−1

0

= −1

2

𝑥

3

= min

$'(')

𝑏

𝑖

𝑦

𝑖𝑘

: 𝑦𝑖𝑘 > 0 = min

$'(')

2

2

= 1 =

𝑏

2

𝑦

2𝑘

Nuova base: B = {2,3} N = {1,4,5}

(24)

Test di Ottimalità: calcolo di z

j

– c

j

per j∈N = {1,4,5}

𝐴

"

= 1 −1

2

0

𝑥

2

𝑥

3

=

𝐴

"#$

𝑏 =

0

$ +

−1

$

+

1

4

= 2

1

𝑧1 − 𝑐1 = −2 0 0 < 1 2 −1 1<2 1 1 − −1 = −1 + 1 = 0

𝐴

"#$

=

0

1

?

2

−1

1

?

2

𝑧4 − 𝑐4 = −2 0 0 < 1 2 −1 1<2 0 1 − 0 = −1 Soluzione ottima 𝑧5 − 𝑐5 = −2 0 0 < 1 2 −1 1<2 1 0 − 𝑀 = −𝑀

Metodo Del Big-M

𝑚𝑖𝑛 𝑧 = −𝑥1 − 2𝑥2 + 𝑀𝑥!" 𝑥1 + 𝑥2 − 𝑥3 + 𝑥!" = 1

𝑥1 + 2𝑥2 + 𝑥4 = 4 𝑥 ≥ 0, 𝑥!" ≥ 0

(25)

Metodo Del Big-M: valore per M

Ø Quanto deve essere grande il valore della M affinchè il metodo del

Big-M lavori correttamente?

Il valore della M deve essere abbastanza grande da garantire che il valore della funzione obiettivo 𝑐𝑇𝑥, in una qualsiasi soluzione di base

ammissibile del problema P, sia sempre minore del valore della funzione obiettivo del Big-M in una qualsiasi soluzione di base ammissibile del problema P(M) avente almeno una variabile artificiale maggiore di zero.

Perché il valore della M è sempre finito anche se la regione ammissibile di P è aperta?

(26)

Metodo Del Big-M: possibili soluzioni

Risoluzione del problema

P(M)

Ottimo finito Ottimo illimitato 𝑥𝑎 = 0 Soluzione ottima per P 𝑥𝑎 ≠ 0 P è inammissibile 𝑥𝑎 = 0 Ottimo illimitato per P 𝑥𝑎 ≠ 0 P è inammissibile

(27)

Metodo Del Big-M: difetti

1. Non è facile calcolare il valore della M;

2. L’utilizzo di un valore molto grande, nella computazione dell’algoritmo, può rendere più complessi i calcoli da effettuare;

3. Se il valore di M è troppo grande, si possono verificare errori di rounding-off, durante la computazione, che possono alterare la corretta selezione delle variabili che devono entrare in base.

(28)

Esercizi

Risolvere i seguenti problemi di PL utilizzando sia il metodo delle due fasi sia il metodo del Big-M.

𝑚𝑖𝑛 𝑧 = −4𝑥1 − 𝑥2 2𝑥1 + 𝑥2 ≥ 4 𝑥1 + 2𝑥2 ≥ 4 𝑥 ≥ 0 𝑚𝑖𝑛 𝑧 = −4𝑥1 − 𝑥2 2𝑥1 + 𝑥2 ≤ 1 𝑥1 + 2𝑥2 ≥ 4 𝑥 ≥ 0

Riferimenti

Documenti correlati

Data una coppia di problemi primale duale, (P) e (D), se uno dei due problemi ammette una soluzione ottima finita, allora anche l’altro problema ammette una soluzione ottima finita

Il nucleo della procedura è costituito da un ciclo ripeti, in cui per 4 volte disegnamo un quadrato e poi spostiamo la tartaruga di 8 pixel. Il lato del quadrato deve essere ogni

I coefficenti di costo ridotto relativi sono (−5/2, − 7/2, 3/2), quindi in base al criterio sufficiente non pos- siamo concludere nulla sulla ottimalit` a della soluzione.. Si pu`

(b) Il problema originario ` e ammissibile se e solo se il problema artificiale (ausiliario) che si risolve nella Fase 1 del metodo del simplesso ammette soluzione ottima. (c)

Come si osserva dalla prima riga del tableau, sono presenti alcuni costi ridotti negativi (−3, −1 e −3), quindi la soluzione di base B non ` e ottima 1.. Procediamo dunque

1) Risolvere il seguente problema di

Inoltre, il metodo necessita di una soluzione di base ammissibile del sistema per iniziare, e si muove lungo il perimetro della regione ammissibile passando, ad ogni iterazione, da

Data una coppia di problemi primale duale, (P) e (D), se uno dei due problemi ammette una soluzione ottima finita, allora anche l’altro problema ammette una soluzione ottima finita