programmazione lineare intera - dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf ·...

44
Programmazione Lineare Intera Programmazione Lineare Intera – p. 1/4

Upload: truongtuong

Post on 21-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Programmazione Lineare Intera

Programmazione Lineare Intera – p. 1/44

Page 2: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Programmazione Lineare Intera

Problema di PLI in forma standard:

max cx

Ax = b

x ≥ 0, x ∈ In

I → insieme degli interi.

Regione ammissibile:

Za = {x ∈ In : Ax = b, x ≥ 0},

Insieme delle sue soluzioni ottime:

Zott = {x∗ ∈ Za : cx∗ ≥ cx ∀ x ∈ Za}.

Programmazione Lineare Intera – p. 2/44

Page 3: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Rilassamento lineare

Il rilassamento lineare di un problema di PLI è il problema diPL ottenuto dal problema di PLI omettendo la richiesta chele variabili siano intere, e quindi

max cx

Ax = b

x ≥ 0

Sa e Sott denotano rispettivamente la regione ammissibile el’insieme delle soluzioni ottime del rilassamento lineare delproblema di PLI.

Programmazione Lineare Intera – p. 3/44

Page 4: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempio

Problema di PLI:

max x1 + x2

x1 + 2x2 ≤ 4

2x1 + x2 ≤ 4

x1, x2 ≥ 0, x1, x2 ∈ I.

Rilassamento lineare:

max x1 + x2

x1 + 2x2 ≤ 4

2x1 + x2 ≤ 4

x1, x2 ≥ 0.

Programmazione Lineare Intera – p. 4/44

Page 5: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Relazioni tra i due problemi

Si ha che:Za ⊆ Sa

e i due problemi hanno la stessa funzione obiettivo cx

quindi:

Se Sa = ∅, allora Za = ∅.

Se ∃ {xk} tale che xk ∈ Za per ogni k e

cxk → +∞ k → +∞,

(obiettivo del problema di PLI illimitato), allora éillimitato anche l’obiettivo del suo rilassamento lineare.

Programmazione Lineare Intera – p. 5/44

Page 6: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Se Sott 6= ∅ e Zott 6= ∅, allora dato x∗ ∈ Sott e z

∗ ∈ Zott, siha

z∗ ∈ Zott ⇒ z

∗ ∈ Za ⇒ z∗ ∈ Sa ⇒ cz

∗ ≤ cx∗

cioè il valore ottimo del problema di PLI non puó esseresuperiore al valore ottimo del suo rilassamento lineare.

Se Sott 6= ∅ contiene un punto x∗ a coordinate tutte

intere, allora x∗ ∈ Zott e i valori ottimi dei due problemi

coincidono. Infatti:

x∗ ∈ Sott ⇒ cx ≤ cx

∗ ∀ x ∈ Sa ⇒ cx ≤ cx∗ ∀ x ∈ Za

x∗ a coordinate intere ⇒ x

∗ ∈ Za

Programmazione Lineare Intera – p. 6/44

Page 7: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempio

max x2

x1 + 2x2 ≤ 4

2x1 + x2 ≤ 4

x1, x2 ≥ 0, x1, x2 ∈ I.

Programmazione Lineare Intera – p. 7/44

Page 8: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Altri casi possibili

Za = ∅ ma Sott 6= ∅Za = ∅ ma l’obiettivo del rilassamento lineare é illimitato

Se A,b e c contengono solo valori razionali, alloraZott 6= ∅ implica Sott 6= ∅. Se vi sono coefficientiirrazionali allora puó accadere che Zott 6= ∅ ma ilrilassamento lineare ha obiettivo illimitato.

Programmazione Lineare Intera – p. 8/44

Page 9: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempi

max x2

x1 ≥ 14

x1 ≤ 34

x2 ≤ 2

x1, x2 ≥ 0, x1, x2 ∈ I.

Programmazione Lineare Intera – p. 9/44

Page 10: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempi

max x2

x1 ≥ 14

x1 ≤ 34

x1, x2 ≥ 0, x1, x2 ∈ I.

max x2

x2 =√

2x1

x1, x2 ≥ 0, x1, x2 ∈ I.

Programmazione Lineare Intera – p. 10/44

Page 11: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Un’importante osservazione

I problemi di PL sono in generale molto piú semplici e rapidida risolvere dei problemi di PLI In particolare il rilassamentolineare di un problema di PLI é tipicamente molto piú facileda risolvere del problema di PLI stesso.

Programmazione Lineare Intera – p. 11/44

Page 12: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Metodi di risoluzione

Perché non risolvere il rilassamento lineare e poiarrotondare a valori interi gli eventuali valori non interi nellasoluzione ottima del rilassamento lineare?

Tale procedura é accettabile solo se i valori delle variabilisono elevati. In tal caso infatti l’arrotondamento introduceun errore relativo del tutto trascurabile.

É del tutto inaccettabile quando le variabili assumono valoripiccoli (in particolare con le variabili binarie che assumonosolo i valori 0 e 1)

Programmazione Lineare Intera – p. 12/44

Page 13: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Problema di PLI in forma standard

Si adottano le stesse regole già viste per i problemi di PLma occorre prestare attenzione ad un ulteriore aspetto.

Un esempio:

max x2

x1 ≤ 12

x2 ≤ 12

x1, x2 ≥ 0, x1, x2 ∈ I.

Programmazione Lineare Intera – p. 13/44

Page 14: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Con un problema di PL potremmo trasformarlo in formastandard con l’aggiunta di due variabili y1 e y2:

max x2

x1 + y1 = 12

x2 + y2 = 12

x1, x2, y1, y2 ≥ 0, x1, x2 ∈ I.

Ma: ci ritroviamo con un problema in cui alcune variabili (x1

e x2) possono assumere solo valori interi e altre possonoassumere anche valori non interi. Infatti, ad esempio, sescelgo x1 = x2 = 0, valori ammissibili per il nostro problemadi PLI, il corrispondente valore di y1 e y2 è pari a 1/2.

Programmazione Lineare Intera – p. 14/44

Page 15: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Il rimedio

Per fare in modo che anche le nuove variabili possanoassumere solo valori interi quando quelle originarie hannovalori interi, è sufficiente:

trasformare i vincoli in modo tale che in essi compaianosolo coefficienti e termini noti interi.

Programmazione Lineare Intera – p. 15/44

Page 16: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Nell’esempio

Nel nostro esempio basta moltiplicare entrambi i vincoli per2:

max x2

2x1 ≤ 1

2x2 ≤ 1

x1, x2 ≥ 0, x1, x2 ∈ I.

e solo a questo punto aggiungere le due variabili y1 e y2:

max x2

2x1 + y1 = 1

2x2 + y2 = 1

x1, x2, y1, y2 ≥ 0, x1, x2, y1, y2 ∈ I.

Programmazione Lineare Intera – p. 16/44

Page 17: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Taglio valido

Sia x∗ una soluzione ottima del rilassamento lineare, che si

suppone abbia almeno una coordinata non intera (se tuttele sue coordinate fossero intere allora x

∗ ∈ Zott).Definizione 1 Una disequazione wx ≤ v si definisce tagliovalido per il problema di PLI se non é soddisfatta da x

∗ maé soddisfatta da tutti i punti nella regione ammissibile delproblema di PLI, ovvero

wx∗ > v, wx ≤ v ∀ x ∈ Za

Programmazione Lineare Intera – p. 17/44

Page 18: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Algoritmi di taglio

Inizializzazione Si risolva il rilassamento lineare

max cx

aix = bi i = 1, . . . ,m

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

Se:Sa = ∅, allora STOP con Za = ∅;esiste una soluzione ottima, indicata con x

∗1. Se x∗1

ha coordinate tutte intere, allora STOP: x∗1 ∈ Zott.

Altrimenti si ponga k = 1 e si vada al Passo 1.

Programmazione Lineare Intera – p. 18/44

Page 19: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Passo 1 Si generi un taglio valido, ovvero una disequazionewkx ≤ vk tale che

wkx∗k > vk wkx ≤ vk ∀ x ∈ Za

Programmazione Lineare Intera – p. 19/44

Page 20: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Passo 2 Si aggiunga il nuovo taglio valido ai vincoli originaridel problema e ai tagli validi generati in precedenza e sirisolva il problema di PL

max cx

aix = bi i = 1, . . . ,m

wrx ≤ vr r = 1, . . . , k

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

Se:il problema ha regione ammissibile vuota, alloraSTOP: Za = ∅.

Altrimenti sia x∗(k+1) la sua soluzione ottima. Se

x∗(k+1) ha coordinate tutte intere, allora STOP:

x∗(k+1) ∈ Zott. Altrimenti si ponga k = k + 1 e si ritorni

al Passo 1.Programmazione Lineare Intera – p. 20/44

Page 21: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Nota bene

Il problema di PL con l’aggiunta dei tagli non é in formastandard. Basta la semplice aggiunta di una variabile yr ≥ 0in ciascuno dei tagli per portarlo alla forma standard:

max cx

aix = bi i = 1, . . . ,m

wrx + yr = vr r = 1, . . . , k

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

yr ≥ 0 r = 1, . . . , k

Programmazione Lineare Intera – p. 21/44

Page 22: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Tagli di Gomory

Sia data la base ottima B∗ = {xi1 , . . . , xim} per ilrilassamento lineare del problema di PLI con la seguenteriformulazione rispetto a tale base é la seguente:

max γ0 +∑n−m

j=1 γjxim+j

xi1 = β1 +∑n−m

j=1 α1jxim+j

· · ·xik = βk +

∑n−mj=1 αkjxim+j

· · ·xim = βm +

∑n−mj=1 αmjxim+j

x1, . . . , xn ≥ 0

Programmazione Lineare Intera – p. 22/44

Page 23: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Ipotesi

Si suppone che almeno uno dei valori βr, r = 1, . . . ,m, sianon intero (se fossero tutti interi la soluzione di baseassociata a B∗ sarebbe non solo ottima per il rilassamentolineare ma anche per il problema di PLI).

Programmazione Lineare Intera – p. 23/44

Page 24: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempio

max 56x1 − 13

3 x4

5x1 + 6x3 − 8x4 = 12

−5x1 + 30x2 + 22x4 = 150

x1, x2, x3, x4 ≥ 0, x1, x2, x3, x4 ∈ I.

Programmazione Lineare Intera – p. 24/44

Page 25: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Rilassamento lineare

Base ottima B∗ = {x1, x2}

max 2 − x3 − 3x4

x1 = 125 − 6

5x3 + 85x4

x2 = 275 + 1

5x3 + 25x4

x1, x2, x3, x4 ≥ 0

Programmazione Lineare Intera – p. 25/44

Page 26: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Il taglio di Gomory

Sia βk un valore non intero. Equazione relativa a xik

(equazione generatrice del taglio):

xik = βk + αk1xim+1+ αk2xim+2

+ · · · + αk,n−mxin.

Taglio di Gomory:

−fk + fk1xim+1+ fk2xim+2

+ · · · + fk,n−mxin ≥ 0

dove

fkj, j = 1, . . . , n − m, é la mantissa di −αkj, cioé

fkj = −αkj − ⌊−αkj⌋ ≥ 0,

fk é la mantissa di βk, cioé

fk = βk − ⌊βk⌋ > 0.

Inoltre: f , f < 1.

Programmazione Lineare Intera – p. 26/44

Page 27: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Esempio

Equazione generatrice del taglio:

x1 =12

5− 6

5x3 +

8

5x4

Mantissa di 125 :

12

5− ⌊12

5⌋ =

12

5− 2 =

2

5

Mantissa di 65 :

6

5− ⌊6

5⌋ =

6

5− 1 =

1

5

Programmazione Lineare Intera – p. 27/44

Page 28: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Mantissa di −85 :

−8

5− ⌊−8

5⌋ = −8

5− (−2) =

2

5

Taglio di Gomory:

−2

5+

1

5x3 +

2

5x4 ≥ 0

Programmazione Lineare Intera – p. 28/44

Page 29: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Per mantenere il formato standard, possiamo aggiungereuna nuova variabile y1 e riscrivere il taglio attraverso laseguente coppia di vincoli:

y1 = −fk + fk1xim+1+ fk2xim+2

+ · · · + fk,n−mxin

y1 ≥ 0.

Programmazione Lineare Intera – p. 29/44

Page 30: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Nell’esempio

−2

5+

1

5x3 +

2

5x4 ≥ 0

m

y1 = −2

5+

1

5x3 +

2

5x4 y1 ≥ 0

Programmazione Lineare Intera – p. 30/44

Page 31: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Il taglio di Gomory è valido

La soluzione ottima del rilassamento lineare non soddisfa i l taglio .

Nella soluzione ottima del rilassamento lineare si ha:

xim+1= · · · = xin = 0

quindi, in corrispondenza della soluzione ottima delrilassamento lineare si ha:

y1 = −fk < 0.

Programmazione Lineare Intera – p. 31/44

Page 32: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Il taglio di Gomory è valido

Generico punto in Za:

xi1, . . . , xin

Sostituiamo le coordinate di tale punto nell’ equazionegeneratrice del taglio:

xik = βk +n−m∑

j=1

αkjxim+j

e nel taglio di Gomory:

y1 = −fk +

n−m∑

j=1

fkjxim+j

Programmazione Lineare Intera – p. 32/44

Page 33: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Si vuole dimostrare che il valore di y1 é ≥ 0 e cioé che lagenerica soluzione ammissibile in Za soddisfa il taglio. Maprima dimostriamo che:

in corrispondenza di ogni punto in Za, il valore di y1 e intero

Sommo membro a membro le due equazioni:

xik = βk +

n−m∑

j=1

αkjxim+j

e:

y1 = −fk +n−m∑

j=1

fkjxim+j

Programmazione Lineare Intera – p. 33/44

Page 34: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Dalla somma ho:

y1 + xik = (βk − fk) +n−m∑

j=1

(αkj + fkj)xim+j

−fk + βk = ⌊βk⌋ fkj + αkj = −⌊−αkj⌋Quindi:

y1 = ⌊βk⌋ − xik −n−m∑

j=1

⌊−αkj⌋xim+j

Programmazione Lineare Intera – p. 34/44

Page 35: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

y1 ≥ 0 in corrispondenza di punti in Za

y1 + fk =n−m∑

j=1

fkj︸︷︷︸

≥0

xim+j︸ ︷︷ ︸

≥0

Quindi:y1 + fk ≥ 0

e, per la interezza di y1 e fk < 1, abbiamo che deve esserey1 ≥ 0.

Programmazione Lineare Intera – p. 35/44

Page 36: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Osservazione 1

Abbiamo dimostrato che la nuova variabile che vieneintrodotta (la y1) assume sempre valori interi incorrispondenza di ogni punto di Za. Quindi con l’aggiuntadel taglio posso riscrivere il mio problema di PLI in questomodo:

max cx

aix = bi i = 1, . . . ,m

y1 = −fk +∑n−m

j=1 fkjxim+j

xj ≥ 0, xj ∈ I j = 1, . . . , n

y1 ≥ 0, y1 ∈ I

Programmazione Lineare Intera – p. 36/44

Page 37: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Nell’esempio

max 56x1 − 13

3 x4

5x1 + 6x3 − 8x4 = 12

−5x1 + 30x2 + 22x4 = 150

y1 = −25 + 1

5x3 + 25x4

x1, x2, x3, x4, y1 ≥ 0, x1, x2, x3, x4, y1 ∈ I.

Programmazione Lineare Intera – p. 37/44

Page 38: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Quindi: dal momento che il nuovo problema con l’aggiuntadel taglio é ancora un problema di PLI (tutte la variabili,compresa la nuova, y1, sono vincolate ad essere intere)possiamo iterare la procedura, cioé se dopo l’aggiunta delprimo taglio la risoluzione del nuovo rilassamento linearenon ha coordinate tutte intere, possiamo generare un nuovotaglio utilizzando la stessa regola di generazione.

Programmazione Lineare Intera – p. 38/44

Page 39: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Osservazione 2

Il rilassamento lineare del problema di PLI dopo l’aggiuntadel taglio non deve essere risolto da zero. Infatti, possiamoprendere la coppia di vincoli

y1 = −fk +n−m∑

j=1

fkjxim+jy1 ≥ 0,

che esprime il taglio ed aggiungerla alla riformulazionerispetto alla base ottima B∗ del rilassamento lineare primadell’introduzione del taglio.

Programmazione Lineare Intera – p. 39/44

Page 40: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

max γ0 +∑n−m

j=1 γjxim+j

xi1 = β1 +∑n−m

j=1 α1jxim+j

· · ·xik = βk +

∑n−mj=1 αkjxim+j

· · ·xim = βm +

∑n−mj=1 αmjxim+j

y1 = −fk +∑n−m

j=1 fkjxim+j

x1, . . . , xn, y1 ≥ 0

Programmazione Lineare Intera – p. 40/44

Page 41: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Questa è giá la riformulazione del nuovo rilassamentolineare rispetto alla base B∗ ∪ {y1}. Tale base è

non ammissibile per il primale (y1 = −fk < 0)

ammissibile per il duale

Programmazione Lineare Intera – p. 41/44

Page 42: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Nell’esempio

Base B∗ ∪ {y1} = {x1, x2, y1} ammissibile per il duale

max 2 − x3 − 3x4

x1 = 125 − 6

5x3 + 85x4

x2 = 275 + 1

5x3 + 25x4

y1 = −25 + 1

5x3 + 25x4

x1, x2, x3, x4, y1 ≥ 0.

Programmazione Lineare Intera – p. 42/44

Page 43: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Continua

Applicando il simplesso duale si arriva in una iterazione allabase ottima {x1, x2, x3}:

max 0 − 5y1 − x4

x1 = 0 − 6y1 + 4x4

x2 = 5 − y1 + 3x4

x3 = 2 + 5y1 − 2x4

x1, x2, x3, x4, y1 ≥ 0

Soluzione ottima del rilassamento lineare e del problema diPLI:

x∗1 = 0 x∗

2 = 5 x∗3 = 2 x∗

4 = 0

Valore ottimo del rilassamento lineare e del problema di PLI= 0

Programmazione Lineare Intera – p. 43/44

Page 44: Programmazione Lineare Intera - Dipartimento di ...locatell/didattica/ro1/taglio-sl-bf.pdf · Definizione 1 Una disequazione wx ≤ v si definisce taglio valido per il problema di

Osservazione 3

Se ad ogni iterazione il taglio di Gomory viene realizzato apartire dalla prima equazione con un termine noto βk nonintero, allora l’algoritmo termina in un numero finito diiterazioni.

Programmazione Lineare Intera – p. 44/44