• Non ci sono risultati.

Parte V: Disuguaglianze valide e rappresentazione minimale di un poliedro

N/A
N/A
Protected

Academic year: 2021

Condividi "Parte V: Disuguaglianze valide e rappresentazione minimale di un poliedro"

Copied!
29
0
0

Testo completo

(1)

Parte V:

Disuguaglianze valide e

rappresentazione minimale di un

poliedro

(2)

Involucro convesso

- Consideriamo il seguente problema di programmazione lineare intera max{cTx: xX}

dove X = {xZ+n: Ax < b}.

- L'involucro convesso di X

conv (X) = {x: A'x < b', x > 0}

è un poliedro.

- Pertanto è sempre possibile riformulare un problema intero come problema di programmazione lineare.

- Purtroppo, per la maggior parte dei problemi non è possibile trovare una descrizione completa di conv(X).

- Pertanto l'obiettivo è determinare una buona approssimazione di conv(X) per una data istanze del problema intero.

(3)

Disuguaglianze valide

Definizione: Una disequazione aTx < α è valida per il poliedro P = {x∈ℜn : Ax < b} se e solo se P ⊆ {x∈ℜn : aTx < α}, ovvero se e solo se la disequazione è soddisfatta da tutte le soluzioni ammissibili del sistema Ax < b (diremo che aTx < α è implicata dal sistema Ax < b).

Consideriamo il seguente problema di programmazione lineare intera max 3x1 + 2x2

4x1 + 2x2 < 15 (1) x1 + 2x2 < 8 (2) x1 + x2 < 5 (3) x1, x2 > 0, intere

4x1 + 2x2 = 15

x1 + 2x2 = 8

x + x = 5

(4)

Disuguaglianze valide

Dalla combinazione conica dei vincoli (1) e (2) si ottiene la disequazione

5x

1

+ 4x

2

< 23

Poiché ogni punto del poliedro soddisfa questa disuguaglianza, possiamo dire che essa è valida per il poliedro in esame.

Tuttavia questa disuguaglianza non è utile per il nostro obiettivo di

approssimare

la descrizione dell'involucro convesso. Infatti, essa non

permette di ridurre in maniera significativa la regione ammissibile associata al rilassamento lineare del problema.

(5)

Disuguaglianze valide

Moltiplicando per 1/2 il vincolo (1) otteniamo la disuguaglianza 2x

1

+ x

2

< 7.5

Poiché x

1

e x

2

sono vincolate ad assumere valori interi, anche la quantità 2x

1

+ x

2

dovrà essere intera e quindi la disuguaglianza può essere riscritta nella forma

2x

1

+ x

2

< 7

Questa disuguaglianza è valida ed è certamente migliore della

precedente!

(6)

Disuguaglianze valide

La rappresentazione Ax < b di un poliedro P non è

univocamente determinata. Infatti, è sempre possibile

aggiungere alla rappresentazione nuove disuguaglianze

valide per P, ottenute come combinazione conica delle

disequazioni del sistema Ax < b, senza modificare la

regione ammissibile.

(7)

Dimensione di un poliedro

Definizione: La dimensione di un poliedro P, dim(P), è data dal massimo numero di vettori affinemente indipendenti appartenenti a P meno uno.

Se dim(P) = n allora diremo che P ha dimensione piena.

Ricordiamo che:

Un insieme di punti x1, . . . , xk è affinemente indipendente se l'unica soluzione del sistema

Σ

λixi = 0

Σ

λi = 0 è λi = 0 per ogni i = 1, ..., k.

i = 1 k

i = 1 k

(8)

Dimensione di un poliedro

Consideriamo il seguente poliedro x1 < 2

x1 + x2 < 4 x1 + 2x2 < 10 x1 + 2x2 < 6

x1 + x2 > 2 x1, x2 > 0

x1 + x2 = 2

x1 + x2 = 4

x1 +2 x2 = 6 x1 +2 x2 = 10 x1 = 2

P

P ha dimensione piena. Infatti i vettori (2,0), (1,1) e (2,2) sono tre vettori affinemente indipendenti in P. Pertanto dim(P) = 2.

(9)

Dimensione di un poliedro

Consideriamo il seguente poliedro x1 < 2

x1 + x2 < 4 x1 + 2x2 < 10 x1 + 2x2 < 6

x1 + x2 > 2 x1, x2 > 0

x1 + x2 = 2

x1 + x2 < 4

x1 +2 x2 = 6 x1 +2 x2 = 10 x1 = 2

P

La disuguaglianza x1 < 2 induce la seguente faccia di P:

F1 = {(2,2); (2,0)}

(10)

Dimensione di un poliedro

Consideriamo il seguente poliedro x1 < 2

x1 + x2 < 4 x1 + 2x2 < 10 x1 + 2x2 < 6

x1 + x2 > 2 x1, x2 > 0

x1 + x2 = 2

x1 + x2 < 4

x1 +2 x2 = 6 x1 +2 x2 = 10 x1 = 2

P

La disuguaglianza x1 + 2x2 < 6 induce la seguente faccia di P:

F2 = {(2,2); (0,3)}

(11)

Dimensione di un poliedro

Consideriamo il seguente poliedro x1 < 2

x1 + x2 < 4 x1 + 2x2 < 10 x1 + 2x2 < 6

x1 + x2 > 2 x1, x2 > 0

x1 + x2 = 2

x1 + x2 < 4

x1 +2 x2 = 6 x1 +2 x2 = 10 x1 = 2

P

La disuguaglianza x1 + x2 > 2 induce la seguente faccia di P:

F3 = {(2,0); (0,1)}

(12)

Dimensione di un poliedro

Consideriamo il seguente poliedro x1 < 2

x1 + x2 < 4 x1 + 2x2 < 10 x1 + 2x2 < 6

x1 + x2 > 2 x1, x2 > 0

x1 + x2 = 2

x1 + x2 < 4

x1 +2 x2 = 6 x1 +2 x2 = 10 x1 = 2

P

La disuguaglianza x1 > 0 induce la seguente faccia di P:

F4 = {(0,2); (0,3)}

(13)

Facce di un poliedro

Analizziamo le facce che abbiamo individuato:

• F

1

= {(2,2); (2,0)} ⇒ dim(F

1

) = 1 = dim (P) – 1

• F

2

= {(2,2); (0,3)} ⇒ dim(F

2

) = 1 = dim (P) – 1

• F

3

= {(2,0); (0,1)} ⇒ dim(F

3

) = 1 = dim (P) – 1

• F

4

= {(0,2); (0,3)} ⇒ dim(F

4

) = 1 = dim (P) – 1

Pertanto, F

1

, F

2

, F

3

ed F

4

sono facce massimali di P.

(14)

Rappresentazione minimale

Definizione: Se P ⊆ ℜ

n

è tale che dim(P) = n, una rappresentazione Ax < b è minimale se e solo se ogni disequazione del sistema definisce una faccia massimale di P.

Poiché i vincoli

x

1

< 2 x

1

+ 2x

2

< 6

x

1

+ x

2

> 2 x

1

> 0

inducono facce massimali essi faranno parte della

rappresentazione minimale.

(15)

Rappresentazione minimale

Osserviamo invece che

– Il vincolo x

1

+x

2

<4 può essere ottenuto dalla combinazione conica dei vincoli x

1

<2 e x

1

+2x

2

<3 e, pertanto, esso è ridondante.

– Il vincolo x

2

>0 può essere ottenuto dalla combinazione

conica dei vincoli x

1

<2 e x

1

+x

2

>2 e, pertanto, esso è

ridondante.

(16)

Rappresentazione minimale

Pertanto la rappresentazione minimale del poliedro è la seguente:

x

1

< 2 x

1

+ 2x

2

< 6

x

1

+ x

2

> 2

x

1

> 0

(17)

Parte VI:

Metodo dei piani di taglio

(18)

Piani di taglio

Consideriamo il seguente problema di programmazione lineare intera P : min{c

T

x: xX}

dove X = {x ∈ Z

+n

: Ax < b}.

Il rilassamento lineare di P è dato da

P

RL

: min{c

T

x: xX

RL

} dove X

RL

= {x > 0: Ax < b}.

Sia x*

RL

la soluzione ottima di P

RL

.

– Se x*RL è intera allora concide con la soluzione ottima x* di P.

– Se x*RL non è intera proviamo a migliorare la formulazione di PRL aggiungendo degli opportuni vincoli.

(19)

Piani di taglio

Definizione: Un piano di taglio è una disuguaglianza valida αTx < β tale che αTx*RL > β, ossia è una disuguaglianza valida per P ma violata dalla soluzione di PRL.

x1 x2

x*LP

piano di taglio

piano di taglio

(20)

Metodo dei piani di taglio

Una volta individuato un piano di taglio per la soluzione ottima x*RL di PRL, possiamo aggiungere tale disuguaglianza alla formulazione originaria (“migliorando” la rappresentazione poliedrale del problema) e iterare la procedura in modo da avvicinarci alla soluzione ottima intera.

Finché non ottieni l'ottimo x*

1. Calcola la soluzione ottima x*

RL

.

2. Se x*

RL

è intera STOP(x*

RL

= x*), altrimenti vai al passo 3.

3. Genera un piano di taglio α

T

x < β.

4. Aggiungi il piano di taglio alla formulazione corrente e

torna al passo 2.

(21)

Disuguaglianze di Chvatal

PUNTO CHIAVE DEL METODO: E' necessario generare dei piani di taglio efficaci ossia vicini a conv(X).

DISUGUAGLIANZE DI CHVATAL: Consideriamo la regione ammissibile iniziale

X = {xZ

+n

: Ax < b}

di P, con AZ+m ×n e b∈Zm.

Teorema: Dato un vettore u∈ℜm, ui >0 per i = 1, ...,m, ogni disuguaglianza αTx < β con

αj =

 Σ

uiaij

β = 

uibi

è una disuguaglianza valida per P.

i=1

i=1 m

m

(22)

Disuguaglianze di Chvatal

ESEMPIO: Formuliamo il problema di massimo matching su un grafo completo di cardinaliltà 3.

1

2 3

max y

12

+y

13

+ y

23

y

ij

∈ {0,1} ∀ (i, j) E y

12

+y

13

< 1

y

12

+y

23

< 1 y

13

+y

23

< 1

La soluzione ottima del problema intero ha valore 1 e corrisponde a scegliere soltanto uno degli archi del grafo.

La soluzione ottima del rilassamento lineare ha invece valore 3/2 e corrisponde a scegliere y12 = y13 = y23 = 1/2.

(23)

Disuguaglianze di Chvatal

Consideriamo il vettore u = [1/2, 1/2, 1/2]T.

Calcoliamo i coefficienti della disuguaglianza di Chvatal:

α1 =

 Σ

uiai1

 = (1/2+1/2) = 1

α2 =

 Σ

uiai2

 = (1/2+1/2) = 1 β

=

 Σ

uibi

 = (1/2+1/2+1/2) = 1

α3 =

 Σ

uiai3

 = (1/2+1/2) = 1

La disuguaglianza di Chvatal risultante è y12 + y13 + y23 < 1.

Aggiungedo questa disuguaglianza al problema e risolvendo il rilassamento lineare si ottiene la soluzione ottima intera.

(24)

Disuguaglianze di Chvatal

Osservazione: Le disuguaglianze valide di Chvatal non sono necessariamente dei piani di taglio.

Non abbiamo nessuna informazione su come determinare una disuguaglianza valida che sia anche un piano di taglio.

TAGLI DI GOMORY (1970)

(25)

Piani di taglio di Gomory

Consideriamo un problema di programmazione lineare intera in forma standard ed il suo rilassamento lineare

P : min cTx PRL : min cTx

Ax = b Ax = b

xZ+n x > 0

Sia x*RL = [(x*RL)B, (x*RL)N]T una soluzione ottima di PRL. Pertanto (x*RL)B= A–1Bb e (x*RL)N=0

Riscrivendo i vincoli di PRL in funzione delle componenti in base e di quelle fuori base si ottiene

xB+ A–1BANxN = A–1Bb

A' b'

(26)

Piani di taglio di Gomory

Se x*RL ha tutte le componenti intere allora coincide con la soluzione ottima x* di P. Altrimenti dovrà esistere almeno una componente (x*RL)h con valore frazionario.

Supponiamo che l'i-esimo vincolo nel sistema xB+ A'xN = b'

sia quello corrispondente alla componente xh, ossia xh+

Σ

aij'xj = bi'= (x*RL)h

Osservazione: La precedente espressione è ottenuta come combinazione conica dei vincoli del problema e, pertanto, è un vincolo valido per P.

j N

(27)

Piani di taglio di Gomory

Se consideriamo la parte intera inferiore dei coefficienti delle variabili fuori base, otteniamo la seguente disuguaglianza valida

xh+

Σ

aij'xj

< xh+

Σ

aij'xj = bi'= (x*RL)h.

Poiché ogni soluzione ottima x* è a componenti intere, possiamo ulteriormente rafforzare la precedente disuguaglianza e ottenere

xh+

Σ

aij'xj

<

bi'

.

Per verificare che, effettivamente, quello ottenuto è un piano di taglio sostituiamo i valori di x*RL nella disuguaglianza trovata. Poiché (x*RL)N=0, otteniamo

(x*RL)h <

bi'

 = 

(x*RL)h

che è chiaramente violata e quindi è un piano di taglio.

j N j N

j N

(28)

Piani di taglio di Gomory

Pertanto, il metodo introdotto da Gomory permette di determinare dei piani di taglio per qualsiasi problema di programmazione lineare intera a partire dalla soluzione ottima del rilassamento lineare.

ESEMPIO: Consideriamo il seguente problema P

La soluzione ottima del rilassamento lineare è x*RL = [62/21, 68/21, 0, 0]T ed è associata alla matrice A–1BAN =

max x

1

+x

2

x

i

> 0, intera

– 3x

1

+ 12 x

2

+ x

3

= 30 6x

1

– 3 x

2

+ x

4

= 8

1/21 4/21 2/21 1/21

(29)

Piani di taglio di Gomory

Riscrivendo i vincoli per le due componenti frazionarie della soluzione otteniamo

x

1

+ 1/21 x

3

+ 4/21x

4

= 62/21 x

2

+ 2/21 x

3

+ 1/21x

4

= 68/21

Pertanto, applicando il troncamento sui coefficienti delle variabili fuori base e sul termine noto in entrambi i vincoli otteniamo i piani di taglio di Gomory

x

1

< 2

x

2

< 3

Riferimenti

Documenti correlati

¡  documento di valutazione dei rischi. ¡ 

[r]

[r]

c) sospensione dal servizio con privazione della retribuzione fino ad un massimo di tre mesi, ai sensi dell’art. Per l’individuazione dell’autorità disciplinare

1 Il valore assoluto p-adico..

Il processo di redazione della Variante richiede l’approfondimento del quadro informativo a disposizione attraverso sia l’aggior- namento della documentazione relativa al PGT

elina Matti (Pavia) piero nicOlai (Brescia) Fabio paGella (Pavia) Giancarlo pecORaRi (Torino) Giorgia carlotta pipOlO (Milano) Mario pOlicaRpO (Novara) alberto ScHReibeR

b) Individuare un'unica area di immagazzinamento dei farmaci costosi in un'area interna dell'ospedale, dover poter utilizzare tutti gli accorgimenti idonei alla protezione