• Non ci sono risultati.

6.14 Esercizio. Si risolva il seguente problema (sfruttando il problema duale) max

N/A
N/A
Protected

Academic year: 2021

Condividi "6.14 Esercizio. Si risolva il seguente problema (sfruttando il problema duale) max"

Copied!
2
0
0

Testo completo

(1)

6.14 Esercizio. Si risolva il seguente problema (sfruttando il problema duale) max



n j=1

c

j

x

j



i j=1

x

j

≤ b

i

i := 1, . . . , n

x

j

≥ 0 j := 1, . . . , n

nell’ipotesi 0 ≤ b

1

≤ b

2

≤ . . . ≤ b

n

e 0 ≤ c

n

≤ c

n−1

≤ . . . ≤ c

1

. Si risolva nuovamente rimuovendo l’ipotesi.

Soluzione. Nell’ipotesi 0 ≤ b

1

≤ b

2

≤ . . . ≤ b

n

e 0 ≤ c

n

≤ c

n−1

≤ . . . ≤ c

1

il problema si pu` o risolvere agevolmente con un ragionamento diretto. Dato l’ordine dei coefficienti della funzione obiettivo ` e pi` u conveniente assegnare il massimo valore possibile a x

1

. Dato l’ordine dei coefficienti b

i

tale valore `e b

1

. Ora si procede ricorsivamente assegnando x

i

:= b

i

− b

i−1

per i := 2, . . . , n. L’ottimalit` a di questa soluzione pu` o essere provata costruendo il duale

min



n i=1

b

i

u

i



n i=j

u

i

≥ c

j

j := 1, . . . , n

u

i

≥ 0 i := 1, . . . , n

e notando che la soluzione u

i

:= c

i

− c

i+1

, per i := 1, . . . , n e ponendo per convenzione c

n+1

:= 0, `e ammissibile nel duale e che i valori dei due obiettivi sono uguali (si ponga per convenzione b

0

:= 0).



n i=1

c

i

x

i

=



n i=1

c

i

(b

i

− b

i−1

) =



n i=1

c

i

b

i

n+1



i=2

c

i

b

i−1

=



n i=1

c

i

b

i



n i=1

c

i+1

b

i

=



n i=1

(c

i

− c

i+1

) b

i

=



n i=1

u

i

b

i

Se si rimuove l’ipotesi sull’ordinamento dei coefficienti, si pu` o notare come la relazione b

i+1

< b

i

implichi la ridondanza del vincolo i-mo. Infatti



i j=1

x

j



i+1 j=1

x

j

≤ b

i+1

< b

i

Quindi si pu` o eliminare tale vincolo e la variabile duale corrispondente. Analogamente nel problema duale la relazione c

j

< c

j+1

implica la ridondanza del vincolo j-mo del duale.

Infatti



n i=j

u

i



n i=j+1

u

i

≥ c

j+1

> c

j

e quindi si pu` o eliminare tale vincolo insieme alla corrispondente variabile primale. L’eli- minazione della variabile i-ma nel duale comporta la presenza di due vincoli uno dei quali diventa ridondante. Infatti, una volta posto ad esempio u

i

:= 0 si ha



n i=j+1

u

i

≥ c

j

;



n i=j+1

u

i

≥ c

j+1

1

(2)

Eliminato il vincolo duale corrispondente al minore dei due valori c

j

e c

j+1

si elimina la corrispondente variabile primale. Si procede allora ricorsivamente eliminando a turno nel problema duale e in quello duale variabili e vincoli fino a creare un ciclo di variabili eliminate.

Esempio:

max 3 x

1

+ 2 x

2

+ 5 x

3

+ 3 x

4

x

1

≤ 3

x

1

+ x

2

≤ 4

x

1

+ x

2

+ x

3

≤ 5 x

1

+ x

2

+ x

3

+ x

4

≤ 4 x

i

≥ 0

min 3 u

1

+ 4 u

2

+ 5 u

3

+ 4 u

4

u

1

+ u

2

+ u

3

+ u

4

≥ 3

u

2

+ u

3

+ u

4

≥ 2 u

3

+ u

4

≥ 5 u

4

≥ 3 u

i

≥ 0

Scandendo i coefficienti b

i

si vede che il terzo vincolo primale `e ridondante. Allora u

3

:= 0.

Con questo assegnamento il quarto vincolo duale diventa ridondante e quindi x

4

:= 0.

Questo assegnamento non provoca un ulteriore eliminazione perch´ e il terzo vincolo `e gi` a stato eliminato. Il problema `e quindi diventato

max 3 x

1

+ 2 x

2

+ 5 x

3

x

1

≤ 3

x

1

+ x

2

≤ 4 x

1

+ x

2

+ x

3

≤ 4 x

i

≥ 0

min 3 u

1

+ 4 u

2

+ 4 u

4

u

1

+ u

2

+ u

4

≥ 3 u

2

+ u

4

≥ 2 u

4

≥ 5 u

i

≥ 0

Notiamo ora che il primo e secondo vincolo duale sono ridondanti, quindi x

1

:= 0 e x

2

:= 0.

Con questo assegnamento diventano ridondanti il primo e il secondo vincolo primale, da cui u

1

:= 0 e u

2

:= 0. la soluzione `e allora x

3

:= 4 e ui

4

:= 5.

Il problema pu` o allora essere risolto con una scansione dei coefficienti ed eliminazione di vincoli e variabili nei due problemi. Alla fine di questa operazione il nuovo problema rispetta l’ipotesi.

Basandosi su questa struttura `e facile ricavare un metodo diretto che con complessit` a O(n) trova la soluzione:

begin ˆ c := c

n

for j := n − 1 to 1 do if c

j

< ˆ c

then x

j

:= 0 else ˆ c := c

j

ˆb := b

n

for j := n − 1 to 1 do if b

j

> ˆ c

then b

j

:= ˆb else ˆb := b

j

for j := 1 to n do if x

j

= 0

then x

j

:= b

j



i<j

x

i

end

2

Riferimenti

Documenti correlati

Andrea Gandini - Presidente CDS, società partner del programma PIL UNIFE Dottorato di ricerca duale dell’Università di Bergamo e ADAPT Emmanuele Massagli - Presidente ADAPT La

Roberta Bassani Sistema IeFP Claudia Spigola Francesca Penner.

[r]

Allora la soluzione ottima duale non cambia e, per la dualit` a forte, neanche la soluzione ottima del primale, cio` e l’aggiunta di due nuove alternative non inficia l’ottimalit`

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

Il problema massimizza il guadagno medio in un processo markoviano di decisione ad

Quindi, come già Gassendi rimproverò a Descartes, è assolutamente inconsistente la pretesa cartesiana di affermare che “penso dunque sono, ovvero esiste una cosa pensante

• la gran parte dei giovani che non vuole continuare gli studi nel sistema di istruzione a tempo pieno si inserisce in percorsi di formazione professionale in