89
Teoria della Programmazione Lineare Teoria della Programmazione Lineare – p. 1/8

Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

  • Upload
    ngotram

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Teoria della ProgrammazioneLineare

Teoria della Programmazione Lineare – p. 1/89

Page 2: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

I problemi di PL in forma canonica

In forma scalare:

max∑n

j=1 cjxj∑n

j=1 aijxj ≤ bi i = 1, . . . ,m

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

Teoria della Programmazione Lineare – p. 2/89

Page 3: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Prodotto scalare tra vettori

Vettore di dimensione n

p = (p1 · · · pn)

Dato un altro vettore di dimensione n

q = (q1 · · · qn)

Il prodotto scalare tra i due vettori è un valore scalare:

pq =n∑

j=1

pjqj

Esempio:

p = (2 3 6) q = (3 8 7) pq = 2 ∗ 3 + 3 ∗ 8 + 6 ∗ 7 = 72Teoria della Programmazione Lineare – p. 3/89

Page 4: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Proprietà

Siano p,q1,q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2)

Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

p(αq1 + βq2) = 2 ∗ 20 + 3 ∗ 4 + 6 ∗ 19 = 166

α(pq1) + β(pq2) = 2 ∗ 38 + 3 ∗ 30 = 166

Teoria della Programmazione Lineare – p. 4/89

Page 5: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Generalizzazione della proprietà

Dati i vettori p,q1,q2, . . . ,qt ∈ Rn e gli scalariα1, α2, . . . , αt ∈ R, si ha che

p[α1q1 + α2q2 + · · · + αtqt] = p

[t∑

i=1

αiqi

]

=t∑

i=1

αi(pqi)

Teoria della Programmazione Lineare – p. 5/89

Page 6: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Prodotto matrice-vettore

Data una matrice A di ordine m × n (m righe e n colonne)

a11 . . . a1n

......

...am1 . . . amn

ed un vettore p di dimensione n

p = (p1 · · · pn)

Il prodotto matrice-vettore è un vettore di dimensione m lacui componente i è il prodotto scalare tra la i-esima riga diA e il vettore p:

n∑

j=1

aijpj

Teoria della Programmazione Lineare – p. 6/89

Page 7: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Prodotto vettore-matrice

Data una matrice A di ordine m × n (m righe e n colonne)

a11 . . . a1n

......

...am1 . . . amn

ed un vettore q di dimensione m

q = (q1 · · · qm)

Il prodotto vettore-matrice è un vettore di dimensione n lacui componente j è il prodotto scalare tra la j-esimacolonna di A e il vettore q:

m∑

i=1

aijqiTeoria della Programmazione Lineare – p. 7/89

Page 8: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Esempi

A =

[

7 6 3

2 4 8

]

p = (3 8 7)

q = (4 5)

Ap = (7 ∗ 3 + 6 ∗ 8 + 3 ∗ 7 2 ∗ 3 + 4 ∗ 8 + 8 ∗ 7) = (90 94)

qA = (4 ∗ 7 + 5 ∗ 2 4 ∗ 6 + 5 ∗ 4 4 ∗ 3 + 5 ∗ 8) = (38 44 52)

Teoria della Programmazione Lineare – p. 8/89

Page 9: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

PL in forma canonica

Introduciamo i seguenti vettori:

c ∈ Rn: vettore di dimensione n con componenti cj ,j = 1, . . . , n, ovvero:

c = (c1 c2 · · · cn);

x ∈ Rn: vettore di variabili di dimensione n concomponenti xj , j = 1, . . . , n, ovvero:

x = (x1 x2 · · · xn);

ai ∈ Rn, i = 1, . . . ,m: m vettori di dimensione n concomponenti aij, j = 1, . . . , n, ovvero:

ai = (ai1 ai2 · · · ain).

Teoria della Programmazione Lineare – p. 9/89

Page 10: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

PL in forma canonica

Osservando che

cx =n∑

j=1

cjxj

e

aix =n∑

j=1

aijxj

abbiamo la seguente rappresentazione vettoriale per unproblema di PL in forma canonica:

max cx

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

x ≥ 0

Teoria della Programmazione Lineare – p. 10/89

Page 11: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

PL in forma canonica

Si consideri la matrice A ∈ Rm×n che ha tante righe quantisono i vincoli del problema (m) e la cui i-esima riga è ilvettore ai e del vettore b = (b1 · · · bm) ∈ Rm di dimensionem con componenti bi, i = 1, . . . ,m. Osservando che

Ax = (a1x . . . amx)

possiamo scrivere la rappresentazione matriciale del problemadi PL in forma canonica:

max cx

Ax ≤ b

x ≥ 0

Teoria della Programmazione Lineare – p. 11/89

Page 12: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Esempio degli aiuti umanitari

Il vettore c = (14 5 4)Il vettore di variabili x = (x1 x2 x3)I vettori ai, i = 1, 2, 3

a1 = (10 30 20) a2 = (10 20 40) a3 = (30 10 5)

Il vettore b = (5100 8000 1805)La matrice A

10 30 20

10 20 40

30 10 5

Teoria della Programmazione Lineare – p. 12/89

Page 13: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

PL canonici≡ PL generici

Osservazione Ogni problema di PL in forma generica puòessere trasformato in uno equivalente in forma canonica.

Trasformazione da min a max

min cx = −max −cx

Trasformazione vincolo ≥ in vincolo ≤

aix ≥ bi ⇔ −aix ≤ −bi

Trasformazione vincolo = in due vincoli ≤

aix = bi ⇔ aix ≤ bi, aix ≥ bi ⇔ aix ≤ bi, −aix ≤ −bi

Teoria della Programmazione Lineare – p. 13/89

Page 14: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

PL canonici≡ PL generici

Sostituzione variabile ≤ 0 con variabile ≥ 0 Data xi ≤ 0,effettuare il cambio di variabile xi = −x′

i, dove x′i ≥ 0

Sostituzione variabile libera in segno con due variabili ≥ 0Data xi libera in segno, effettuare il cambio di variabilexi = x

′′

i − x′i, dove x′

i, x′′

i ≥ 0

Teoria della Programmazione Lineare – p. 14/89

Page 15: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un esempio

Si trasformi il seguente problema di PL in forma generica inun problema di PL in forma canonica

min x1 + x2 + x3

x1 + 2x2 − x3 ≤ 3

x1 + 4x2 + 5x3 = 5

x1 − 2x2 + x3 ≥ 3

x1 ≥ 0

x2 ≤ 0

x3 libera in segno

Teoria della Programmazione Lineare – p. 15/89

Page 16: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Insiemi convessi

Un insieme C ⊆ Rn si dice convesso se

∀ x1,x2 ∈ C ∀ λ ∈ [0, 1] : λx1 + (1 − λ)x2 ∈ C,

ovvero se dati due punti qualsiasi in C, il segmento che licongiunge è anch’esso completamente contenuto in C.

Teoria della Programmazione Lineare – p. 16/89

Page 17: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Insiemi limitati e chiusi

Un insieme C si dice limitato se esiste una sfera di raggiofinito R che lo contiene.

Un insieme C si dice chiuso se contiene la sua frontiera.

Teoria della Programmazione Lineare – p. 17/89

Page 18: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Semispazi e iperpiani

Si definisce semispazio in Rn l’insieme di punti che soddisfauna disequazione lineare in Rn:

n∑

j=1

wjxj ≤ v

(in forma vettoriale: wx ≤ v).

Si definisce iperpiano in Rn l’insieme di punti che soddisfaun’equazione lineare in Rn:

n∑

j=1

wjxj = v

(in forma vettoriale: wx = v).Teoria della Programmazione Lineare – p. 18/89

Page 19: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Poliedri e politopi

Si definisce poliedro l’intersezione di un numero finito disemispazi e/o iperpiani. Se il poliedro è limitato esso vienechiamato politopo.

Teoria della Programmazione Lineare – p. 19/89

Page 20: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

La regione ammissibileSa

La regione ammissibile Sa di un problema di PL in formacanonica

Sa = {x ∈ Rn : aix ≤ bi, i = 1, . . . ,m, x ≥ 0}.

è un poliedro.

Semispazi e iperpiani sono insiemi chiusi

L’intersezione di un numero finito di insiemi chiusi è uninsieme chiuso

I poliedri (e quindi Sa) sono insiemi chiusi

Teoria della Programmazione Lineare – p. 20/89

Page 21: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Convessità

Siano x,y ∈ Sa, ovvero

aix ≤ bi i = 1, . . . ,m x ≥ 0,

eaiy ≤ bi i = 1, . . . ,m y ≥ 0.

Per ogni λ ∈ (0, 1) e per ogni i ∈ {1, . . . ,m} avremo:

ai[λx + (1 − λ)y] =

= λ︸︷︷︸

>0

aix︸︷︷︸

≤bi

+(1 − λ)︸ ︷︷ ︸

>0

aiy︸︷︷︸

≤bi

λbi + (1 − λ)bi = bi.

Teoria della Programmazione Lineare – p. 21/89

Page 22: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Inoltre:λ

︸︷︷︸

>0

x︸︷︷︸

≥0

+(1 − λ)︸ ︷︷ ︸

>0

y︸︷︷︸

≥0

≥ 0.

Quindi:λx + (1 − λ)y ∈ Sa.

La regione ammissibile Sa è un insieme convesso.

Teoria della Programmazione Lineare – p. 22/89

Page 23: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Limitatezza e illimitatezza

La regione ammissibile Sa può essere:

= ∅

max x1 + x2

x1 ≤ −1

x1 + x2 ≤ 1

x1, x2 ≥ 0

un poliedro limitato (politopo)

max x1 + x2

x1 + x2 ≤ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 23/89

Page 24: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

un poliedro illimitato

max x1 + x2

x1 − x2 ≤ 0

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 24/89

Page 25: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Ricapitolando ...

... la regione ammissibile Sa di un problema di PL è unpoliedro e come tale è un insieme chiuso e convesso.Inoltre, può essere un insieme vuoto, un insieme limitato(politopo) oppure un insieme illimitato.

Teoria della Programmazione Lineare – p. 25/89

Page 26: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Vertici di Sa

Si definisce vertice di Sa un punto x ∈ Sa tale che nonesistono due punti distinti x1,x2 ∈ Sa, x1 6= x2, tali che

x =1

2x1 +

1

2x2.

ovvero x è il punto medio del segmento che congiunge x1 ex2.

Teoria della Programmazione Lineare – p. 26/89

Page 27: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Alcuni risultati

Teorema

Dato un problema di PL in forma canonica, se Sa 6= ∅, alloraSa contiene almeno un vertice.

Osservazione

Sa ha sempre un numero finito di vertici.

Teoria della Programmazione Lineare – p. 27/89

Page 28: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Raggi

Nel caso Sa sia un poliedro illimitato possiamo ancheintrodurre le definizioni di raggio e raggio estremo.

Si definisce raggio di Sa un vettore r tale che

∀ x0 ∈ Sa ∀ λ ≥ 0 : x0 + λr ∈ Sa,

cioè la semiretta con origine in x0 e direzione r ècompletamente contenuta in Sa per qualsiasi punto x0 ∈ Sa.

Teoria della Programmazione Lineare – p. 28/89

Page 29: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Raggi estremi

Un raggio r di Sa si definisce raggio estremo di Sa se nonesistono altri due raggi r1 e r2 di Sa con direzioni distinte,ovvero

r1 6= µr2 ∀ µ ∈ R,

tali che

r =1

2r1 +

1

2r2.

Osservazione

Sa ha sempre un numero finito di raggi estremi.

Teoria della Programmazione Lineare – p. 29/89

Page 30: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Teorema di rappresentazione diSa

Teorema Sia dato un problema di PL in forma canonica conSa 6= ∅. Siano v1, . . . ,vk i vertici di Sa e, nel caso in cui Sa

sia un poliedro illimitato, siano r1, . . . , rh i raggi estremi diSa. Allora

x ∈ Sa

se e solo se

∃ λ1, . . . , λk ≥ 0,k∑

i=1

λi = 1, ∃ µ1, . . . , µh ≥ 0

tali che

x =k∑

i=1

λivi +h∑

j=1

µjrj .

Teoria della Programmazione Lineare – p. 30/89

Page 31: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Ovvero ...

... i punti in Sa sono tutti e soli i punti ottenibili come sommadi

una combinazione convessa dei vertici di Sa

una combinazione lineare con coefficienti non negatividei raggi estremi di Sa

Quindi un numero finito di oggetti (vertici e raggi estremi) mipermettono di rappresentare tutto l’insieme Sa.

Teoria della Programmazione Lineare – p. 31/89

Page 32: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

L’insieme delle soluzioni ottimeSott

Insieme soluzioni ottime

Sott = {x∗ ∈ Sa : cx∗ ≥ cx ∀ x ∈ Sa},

Sott ⊆ Sa, quindi Sa = ∅ ⇒ Sott = ∅.

Teoria della Programmazione Lineare – p. 32/89

Page 33: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Una, nessuna, infinite

Osservazione

Se Sott è un insieme finito e non vuoto, Sott contiene un solopunto.

Dimostrazione Per assurdo sia Sott un insieme finito econtenga più di un punto. Siano x1,x2 ∈ Sott, x1 6= x2, duepunti distinti di Sott.

Teoria della Programmazione Lineare – p. 33/89

Page 34: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Per l’ottimalità di x1 e x2 si deve avere cx1 = cx2.

Per la convessità di Sa e x1,x2 ∈ Sa:

λx1 + (1 − λ)x2 ∈ Sa ∀ λ ∈ (0, 1),

Per la linearità della funzione obiettivo ∀ λ ∈ (0, 1):

c[λx1+(1−λ)x2] = λcx1+(1−λ)cx2 = λcx1+(1−λ)cx1 = cx1.

Quindi:λx1 + (1 − λ)x2 ∈ Sott ∀ λ ∈ (0, 1)

cioè tutto il segmento che congiunge x1 e x2 è contenuto inSott, il che contraddice la finitezza dell’insieme Sott.

Teoria della Programmazione Lineare – p. 34/89

Page 35: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Le diverse forme possibili diSott

Caso 1 Sa = ∅ ⇒ Sott = ∅.

Caso 2 Sa 6= ∅ e politopo.Politopo è insieme chiuso e limitato, funzione obiettivo èlineare e quindi continua ⇒ (Teorema di Weierstrass)Sott 6= ∅.Sono possibili due sottocasi.

Caso 2.1 Sott è costituito da un solo punto.

max 2x1 + x2

x1 + x2 ≤ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 35/89

Page 36: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Caso 2.2 Sott è costituito da un insieme infinito e limitato dipunti.

max x1 + x2

x1 + x2 ≤ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 36/89

Page 37: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Caso 3 Sa 6= ∅ e poliedro illimitato. Sono possibili quattrosottocasi.

Caso 3.1 Sott = ∅ in quanto l’obiettivo è illimitato, ovveroesiste una sequenza infinita di punti {xk} di Sa lungo cuila funzione obiettivo cresce a +∞. Formalmente:

∃ {xk} : xk ∈ Sa ∀ k e cxk → +∞ k → +∞.

max x1 + x2

−x1 + x2 ≤ 0

x1 − x2 ≤ 1

x2 ≥ 1

x1, x2 ≥ 0Teoria della Programmazione Lineare – p. 37/89

Page 38: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Caso 3.2 Sott è costituito da un solo punto.

max −x1

−x1 + x2 ≤ 0

x1 − x2 ≤ 1

x2 ≥ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 38/89

Page 39: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Caso 3.3 Sott è costituito da un insieme infinito e limitato dipunti.

max −x2

−x1 + x2 ≤ 0

x1 − x2 ≤ 1

x2 ≥ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 39/89

Page 40: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Caso 3.4 Sott è costituito da un insieme infinito e illimitato dipunti.

max x1 − x2

−x1 + x2 ≤ 0

x1 − x2 ≤ 1

x2 ≥ 1

x1, x2 ≥ 0

Teoria della Programmazione Lineare – p. 40/89

Page 41: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un lemma

Lemma

Dato un problema di PL in forma canonica, se Sott 6= ∅,allora per ogni raggio estremo r di Sa si ha:

cr ≤ 0.

Teoria della Programmazione Lineare – p. 41/89

Page 42: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Dimostrazione

Per assurdo supponiamo esista un raggio estremo r taleche

cr > 0

Sott 6= ∅ ⇒ Sa 6= ∅.

Sia x0 ∈ Sa. Per definizione di raggio avremo che

∀ λ ≥ 0 : x0 + λr ∈ Sa.

Valore funzione obiettivo in punti x0 + λr:

c(x0 + λr) = cx0 + λ cr︸︷︷︸

>0

→︸︷︷︸

λ→+∞

+∞

Allora Sott = ∅ in quanto l’obiettivo è illimitato sulla regioneammissibile, il che contraddice Sott 6= ∅.

Teoria della Programmazione Lineare – p. 42/89

Page 43: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Teorema fondamentale della PL

Teorema

Dato un problema di PL in forma canonica, se Sott 6= ∅,allora Sott contiene almeno un vertice di Sa.

Teoria della Programmazione Lineare – p. 43/89

Page 44: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Dimostrazione

Siano v1, . . . ,vk i vertici di Sa e, nel caso in cui Sa sia unpoliedro illimitato, indichiamo con r1, . . . , rh i raggi estremi diSa.

Se Sott 6= ∅, sia x∗ ∈ Sott.

Per assurdo supponiamo che

v1, . . . ,vk 6∈ Sott

da cui:cvi < cx∗ i = 1, . . . , k

Teoria della Programmazione Lineare – p. 44/89

Page 45: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Per il teorema di rappresentazione di Sa, x∗ ∈ Sa implicache

∃ λ∗1, . . . , λ

∗k ≥ 0,

k∑

i=1

λ∗i = 1, ∃ µ∗

1, . . . , µ∗h ≥ 0

tali che

x∗ =k∑

i=1

λ∗i vi +

h∑

j=1

µ∗jrj .

Quindi:

cx∗ = c

k∑

i=1

λ∗i vi +

h∑

j=1

µ∗jrj

Teoria della Programmazione Lineare – p. 45/89

Page 46: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Per la linearità della funzione obiettivo

cx∗ =k∑

i=1

λ∗i (cvi) +

h∑

j=1

µ∗j(crj).

Dal lemma precedente:

crj ≤ 0 j = 1, . . . , h.

Teoria della Programmazione Lineare – p. 46/89

Page 47: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Quindi:

cx∗ =k∑

i=1

λ∗i (cvi) +

h∑

j=1

µ∗j

︸︷︷︸

≥0

(crj)︸ ︷︷ ︸

≤0

.

da cui:

cx∗ ≤k∑

i=1

λ∗i (cvi).

Teoria della Programmazione Lineare – p. 47/89

Page 48: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Da cvi < cx∗, ∀ i segue che:

cx∗ ≤k∑

i=1

λ∗i (cvi)︸ ︷︷ ︸

<cx∗

<k∑

i=1

λ∗i (cx

∗).

NB: lo strettamente minore vale perchè almeno uno dei λ∗i è

strettamente positivo in quanto la loro somma deve esserepari a 1.

Quindi:

cx∗ < (cx∗)k∑

i=1

λ∗i = cx∗.

il che è assurdo.Teoria della Programmazione Lineare – p. 48/89

Page 49: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un commento

Il teorema fondamentale della PL è alla base dellaprocedura di risoluzione che descriveremo, l’algoritmo delsimplesso.

Infatti, tale algoritmo ricerca la soluzione ottima cercando dispostarsi ad ogni iterazione in modo intelligente da unvertice all’altro di Sa. Per modo intelligente si intende chel’algoritmo tenta di spostarsi ad una data iterazione da unvertice a uno con valore della funzione obiettivo maggiore.

Teoria della Programmazione Lineare – p. 49/89

Page 50: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

I problemi di PL in forma standard

I problemi di PL in forma standard hanno la seguenteformulazione:

max cx

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

x ≥ 0

o, equivalentemente, in forma matriciale:

max cx

Ax = b

x ≥ 0

Teoria della Programmazione Lineare – p. 50/89

Page 51: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un’osservazione

Osservazione

Ogni problema di PL in forma canonica può esseretrasformato in uno equivalente in forma standard.

Teoria della Programmazione Lineare – p. 51/89

Page 52: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Dimostrazione

Problema di PL in forma canonica

max cx

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

x ≥ 0

aix ≤ bi ⇔ aix + yi = bi, yi ≥ 0.

Quindi, il problema di PL in forma canonica è equivalente alseguente:

max cx

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

x ≥ 0

yi ≥ 0 i = 1, . . . ,m

che è in forma standard. Teoria della Programmazione Lineare – p. 52/89

Page 53: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Ogni problema di PL può essere ricondotto ad unoequivalente in forma canonica.

Ogni problema in forma canonica può essere ricondotto aduno equivalente in forma standard.

Quindi: ogni problema di PL può essere ricondotto ad unoequivalente in forma standard.

NB: nella pratica si passa direttamente da un problema diPL in forma generica ad uno equivalente in forma standard,senza passare necessariamente attraverso un problema informa canonica.

Teoria della Programmazione Lineare – p. 53/89

Page 54: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un esempio

Si trasformi il seguente problema di PL in forma generica inun problema di PL in forma standard

min x1 + x2 + x3

x1 + 2x2 − x3 ≤ 3

x1 + 4x2 + 5x3 = 5

x1 − 2x2 + x3 ≥ 3

x1 ≥ 0

x2 ≤ 0

x3 libera in segno

Teoria della Programmazione Lineare – p. 54/89

Page 55: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Ipotesi aggiuntiva

Si richiede che la matrice dei vincoli A ∈ Rm×n abbia rango(= numero di righe linearmente indipendenti = numero dicolonne linearmente indipendenti) pari a m, il numero dellesue righe, il che equivale a richiedere che:

non ci sono righe di A ottenibili come combinazionilineari di altre righe di A;

esistono m colonne della matrice A che formano unamatrice quadrata invertibile.

NB: Si può dimostrare che anche questa non è unacondizione restrittiva e che ci si può sempre ricondurre adessa.

Teoria della Programmazione Lineare – p. 55/89

Page 56: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Esempi

A1 =

1 2 1 3

2 1 3 4

3 0 5 5

Rango di A1 < m = 3

A2 =

[

1 2 2 1 −1

3 7 1 3 1

]

Rango di A2 = m = 2

Teoria della Programmazione Lineare – p. 56/89

Page 57: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Base di un problema di PL

Si definisce base di un problema di PL in forma standard unsottinsieme:

B = {xi1 , . . . , xim}

di m delle n variabili del problema di PL con la proprietà chela matrice AB ∈ Rm×m ottenuta considerando le solecolonne di A relative alle variabili xik , k = 1, . . . ,m, siainvertibile.

Le variabili dell’insieme B verranno dette variabili in base,quelle al di fuori di B verranno raggruppate nell’insieme:

N = {xim+1, . . . , xin}

e verranno dette variabili fuori base.

Teoria della Programmazione Lineare – p. 57/89

Page 58: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un esempio

Dato

max 3x1 + 4x2 + 2x3 + 2x4 + x5

x1 + 2x2 + 2x3 + x4 − x5 = 2

x1 + 2x2 + x3 + 4x4 − 2x5 = 2

x1, x2, x3, x4, x5 ≥ 0

Matrice dei vincoli

A =

[

1 2 2 1 −1

1 2 1 4 −2

]

Teoria della Programmazione Lineare – p. 58/89

Page 59: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

B1 = {x1, x2} → non è una base. Infatti

AB1=

[

1 2

1 2

]

non è invertibile

Invece, B2 = {x1, x3} è una base in quanto:

AB2=

[

1 2

1 1

]

è invertibile

Allo stesso modo si verifichi che B3 = {x3, x4} eB4 = {x4, x5} sono basi.

Teoria della Programmazione Lineare – p. 59/89

Page 60: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Riformulazione rispetto alla baseB

Data una base B, indichiamo con:

xB ∈ Rm il vettore delle variabili in base

xN ∈ Rn−m il vettore delle variabili fuori base

cB ∈ Rm il vettore dei costi relativi alle variabili in base

cN ∈ Rn−m il vettore dei costi relativi alle variabili fuoribase

AN ∈ Rm×(n−m) la matrice ottenuta da A considerandole sole colonne relative alle variabili fuori base.

Teoria della Programmazione Lineare – p. 60/89

Page 61: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

Con la base B = {x1, x3} abbiamo:

xB = (x1 x3)

xN = (x2 x4 x5)

cB = (3 2)

cN = (4 2 1)

AN =

[

2 1 −1

2 4 −2

]

Teoria della Programmazione Lineare – p. 61/89

Page 62: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Riscrittura della riformulazione

Possiamo ora riscrivere il problema di PL in forma standardnella seguente forma equivalente:

max cBxB + cNxN

ABxB + ANxN = b

xB,xN ≥ 0

e quindi anche in questo modo:

max cBxB + cNxN

ABxB = b − ANxN

xB,xN ≥ 0

Teoria della Programmazione Lineare – p. 62/89

Page 63: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

max

cBxB︷ ︸︸ ︷

3x1 + 2x3 +

cNxN︷ ︸︸ ︷

4x2 + 2x4 + x5

ABxB︷ ︸︸ ︷

x1 + 2x3 +

ANxN︷ ︸︸ ︷

2x2 + x4 − x5 = 2

x1 + x3 + 2x2 + 4x4 − 2x5 = 2

x1, x3︸ ︷︷ ︸

xB

, x2, x4, x5︸ ︷︷ ︸

xN

≥ 0

Teoria della Programmazione Lineare – p. 63/89

Page 64: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

E quindi ...

max

cBxB︷ ︸︸ ︷

3x1 + 2x3 +

cNxN︷ ︸︸ ︷

4x2 + 2x4 + x5

ABxB︷ ︸︸ ︷

x1 + 2x3 =

b−ANxN︷ ︸︸ ︷

2 − 2x2 − x4 + x5

x1 + x3 = 2 − 2x2 − 4x4 + 2x5

x1, x3︸ ︷︷ ︸

xB

, x2, x4, x5︸ ︷︷ ︸

xN

≥ 0

Teoria della Programmazione Lineare – p. 64/89

Page 65: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Moltiplichiamo ora i vincoli di uguaglianza per A−1B :

max cBxB + cNxN

A−1B ABxB = A−1

B b − A−1B ANxN

xB,xN ≥ 0

e quindi da A−1B ABxB = IxB = xB

max cBxB + cNxN

xB = A−1B b − A−1

B ANxN

xB,xN ≥ 0

Questo equivale a risolvere il sistema dato dai vincoli diuguaglianza considerando la variabili in base comeincognite del sistema e quelle fuori base come parametri.

Teoria della Programmazione Lineare – p. 65/89

Page 66: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

max 3x1 + 2x3 + 4x2 + 2x4 + x5

x1 = 2 − 2x2 − 7x4 + 3x5

x3 = 0 + 3x4 − x5

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 66/89

Page 67: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Riformulazione rispetto alla base B

Infine, sostituendo xB nell’obiettivo:

cBxB + cNxN = cB

(A−1

B b − A−1B ANxN

)+ cNxN

da cui:

max cBA−1B b + (cN − cBA−1

B AN )xN

xB = A−1B b − A−1

B ANxN

xB,xN ≥ 0

Questa riformulazione viene detta riformulazione delproblema di PL rispetto alla base B.

NB: tale riformulazione è del tutto equivalente al problemaoriginario di PL.

Teoria della Programmazione Lineare – p. 67/89

Page 68: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

Riformulazione rispetto alla base B = {x1, x3}:

max 6 − 2x2 − 13x4 + 8x5

x1 = 2 − 2x2 − 7x4 + 3x5

x3 = 0 + 3x4 − x5

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 68/89

Page 69: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Soluzioni di base

Si definisce soluzione di base associata alla base B, laseguente soluzione del sistema di vincoli di uguaglianzaottenuta ponendo xN = 0:

xB = A−1B b xN = 0.

Nell’esempio:

x1 = 2 x3 = 0 x2 = x4 = x5 = 0

Teoria della Programmazione Lineare – p. 69/89

Page 70: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Ammissibilità e non degenerazione

Se A−1B b ≥ 0 la soluzione di base si dice ammissibile.

Questo vuol dire che appartiene alla regione ammissibiledel problema di PL in quanto, oltre a soddisfare i vincoli diuguaglianza del problema, soddisfa anche quelli di nonnegatività delle variabili.

Se inoltre si ha A−1B b > 0 si parla di soluzione di base non

degenere, altrimenti si parla di soluzione di base degenere.

Teoria della Programmazione Lineare – p. 70/89

Page 71: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

B2 = {x1, x3} → soluzione di base ammissibile e degenere

B3 = {x3, x4}: la soluzione di base è

x3 = 6/7 x4 = 2/7 x1 = x2 = x5 = 0,

che è ammissibile e non degenere

B4 = {x4, x5}: la soluzione di base è

x4 = −1 x5 = −3 x1 = x2 = x3 = 0,

che è non ammissibile.

Teoria della Programmazione Lineare – p. 71/89

Page 72: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Osservazione

Data una soluzione di base ammissibile e non degenereesiste un’unica base che la rappresenta, mentre unasoluzione di base ammissibile e degenere è rappresentatada più basi.

Si verifichi, ad esempio, che la base B5 = {x1, x4} ha comesoluzione di base associata:

x1 = 2 x4 = 0 x2 = x3 = x5 = 0,

che è la stessa associata alla base B2.

Teoria della Programmazione Lineare – p. 72/89

Page 73: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Ma ...

... cosa hanno a che fare le basi e le soluzioni di base con ilteorema fondamentale della PL?

La risposta ci viene dalla seguente osservazione.

Osservazione L’insieme dei vertici di Sa coincide con l’insiemedelle soluzioni di base ammissibili del problema di PL.

In pratica, vertici e di soluzioni di base ammissibili sono lastessa cosa vista da due punti di vista diversi: quellogeometrico (i vertici) e quello algebrico (le soluzioni di baseammissibili).

Teoria della Programmazione Lineare – p. 73/89

Page 74: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Basi adiacenti

Due basi B′ e B′′ si definiscono adiacenti se hanno m − 1variabili uguali e differiscono per una sola variabile.

Nell’esempio le basi B3 = {x3, x4} e B4 = {x4, x5} sonoadiacenti, mentre non lo sono B2 = {x1, x3} e B4.

Teoria della Programmazione Lineare – p. 74/89

Page 75: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Soluzioni di base adiacenti

Due soluzioni di base distinte si definiscono adiacenti seesistono due basi B′ e B′′ che le rappresentano e che sonotra loro adiacenti.

Si noti che due basi adiacenti non corrispondononecessariamente a due soluzioni di base adiacenti. Esseinfatti possono corrispondere alla stessa soluzione di basecome accade, ad esempio, con le basi B2 = {x1, x3} eB5 = {x1, x4}.

Teoria della Programmazione Lineare – p. 75/89

Page 76: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Riformulazione rispetto alla baseB

Sia data la base:

B = {xi1 , . . . , xim}.

conN = {xim+1

, . . . , xin}

l’insieme delle variabili fuori base. Abbiamo visto che, datala base B, la riformulazione del problema di PL rispetto allabase B è data da

max cBA−1B b + (cN − cBA−1

B AN )xN

xB = A−1B b − A−1

B ANxN

xB,xN ≥ 0

Teoria della Programmazione Lineare – p. 76/89

Page 77: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Indichiamo con:

γ0 il valore cBA−1B b;

γj , j = 1, . . . , n − m, le componenti del vettore

cN − cBA−1B AN ;

βr, r = 1, . . . ,m, le componenti del vettore A−1B b;

αrj , r = 1, . . . ,m, j = 1, . . . , n − m, le componenti dellamatrice −A−1

B AN

Teoria della Programmazione Lineare – p. 77/89

Page 78: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

In forma scalare possiamo riscrivere la riformulazionerispetto alla base B nel seguente modo:

max γ0 +∑n−m

j=1 γjxim+j

xi1 = β1 +∑n−m

j=1 α1jxim+j

· · ·

xik = βk +∑n−m

j=1 αkjxim+j

· · ·

xim = βm +∑n−m

j=1 αmjxim+j

x1, . . . , xn ≥ 0

Teoria della Programmazione Lineare – p. 78/89

Page 79: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio

Riformulazione rispetto alla base B2 = {x1, x3}:

max 6 − 2x2 − 13x4 + 8x5

x1 = 2 − 2x2 − 7x4 + 3x5

x3 = 0 + 3x4 − x5

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 79/89

Page 80: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Passaggio ad una base adiacente

Supponiamo ora di voler passare dalla base B alla baseadiacente B′ ottenuta rimuovendo da B la variabile xik ,1 ≤ k ≤ m, e sostituendola con la variabile fuori base xim+h

,1 ≤ h ≤ n − m, ovvero:

B′ = {xi1 , . . . , xik−1, xim+h

, xik+1, . . . , xim}.

La prima domanda che ci dobbiamo porre è :

quando B′ è effettivamente una base. Perché lo sia si deveavere che AB′ è invertibile.

Teoria della Programmazione Lineare – p. 80/89

Page 81: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Si ha che AB′ è invertibile e quindi B′ è una base se e solose nella riformulazione associata alla base B il coefficientedi xim+h

nell’equazione relativa a xik è diverso da 0, ovverose e solo se:

αkh 6= 0.

Nell’esempio:{x1, x2} non è una base{x1, x5} è una base

Teoria della Programmazione Lineare – p. 81/89

Page 82: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

L’operazione di cardine

Tale operazione consente di passare dalla riformulazionerispetto alla base B a quella rispetto alla base adiacente B′.Per fare questo dovremo compiere le seguenti operazioni.

Ricavare xim+hdall’equazione relativa a xik , cioè:

xim+h= −

βk

αkh

+1

αkh

xik −n−m∑

j=1, j 6=h

αkj

αkh

xim+j.

sostituire ogni occorrenza della variabile xim+hnelle

restanti equazioni e nell’obiettivo con la parte destra ditale equazione

Teoria della Programmazione Lineare – p. 82/89

Page 83: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Esempio

Dalla riformulazione rispetto a B2 = {x1, x3} a quellarispetto a B6 = {x1, x5}

Ricavo x5 dall’equazione relativa a x3

x5 = 0 − x3 + 3x4

Sostituisco la parte destra dell’equazione nei restantivincoli e nell’obiettivo

max 6 − 2x2 − 13x4 + 8(0 − x3 + 3x4)

x1 = 2 − 2x2 − 7x4 + 3(0 − x3 + 3x4)

x5 = 0 − x3 + 3x4

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 83/89

Page 84: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Riformulazione rispetto a B6 = {x1, x5}

max 6 − 2x2 − 8x3 + 11x4

x1 = 2 − 2x2 + 2x4 − 3x3

x5 = 0 − x3 + 3x4

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 84/89

Page 85: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nota bene

Per poter recuperare dalle riformulazioni alcuneinformazioni (nel seguito vedremo, ad esempio, comesfruttare la riformulazione rispetto a una base B per poterottenere la matrice A−1

B ) è necessario mantenere un ordinetra le variabili in una base. Quindi se nella base B′ lavariabile xim+h

sostituisce la variabile xik a cui corrispondela k-esima equazione della riformulazione rispetto a B,nella riformulazione rispetto a B′ l’equazione relativa allavariabile xim+h

dovrà ancora essere la k-esima, mentre laposizione delle equazioni relative a tutte le altre variabilideve rimanere invariata rispetto alla precedenteriformulazione.

Teoria della Programmazione Lineare – p. 85/89

Page 86: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nell’esempio ...

... la variabile x5 ha preso il posto della x3 e l’equazionerelativa alla x5 è stata messa nella stessa posizione (laseconda) in cui si trovava quella della x3, mentre la restanteequazione ha mantenuto la posizione originaria.

Teoria della Programmazione Lineare – p. 86/89

Page 87: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Un altro esempio

Passaggio da B6 = {x1, x5} a B4 = {x4, x5}

Ricavo x4 dall’equazione relativa a x1

x4 = −1 + 1/2x1 + x2 + 3/2x3

Sostituisco la parte destra dell’equazione nei restantivincoli e nell’obiettivo

max 6 − 2x2 − 8x3 + 11(−1 + 1/2x1 + x2 + 3/2x3)

x4 = −1 + 1/2x1 + x2 + 3/2x3

x5 = 0 − x3 + 3(−1 + 1/2x1 + x2 + 3/2x3)

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 87/89

Page 88: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Continua

Riformulazione rispetto a B4 = {x4, x5}:

max −5 + 11/2x1 + 9x2 + 17/2x3

x4 = −1 + 1/2x1 + x2 + 3/2x3

x5 = −3 + 3/2x1 + 3x2 + 7/2x3

x1, x3, x2, x4, x5 ≥ 0

Teoria della Programmazione Lineare – p. 88/89

Page 89: Teoria della Programmazione Lineare - Dipartimento di ...locatell/didattica/CorsoParma/TeoriaPL-comp.pdf · Teoria della Programmazione Lineare – p. 28/89. Raggi estremi Un raggio

Nota bene

Le operazioni di cardine che abbiamo eseguito sugliesempi ci hanno consentito di passare da una base ad unaadiacente e, nel secondo esempio, anche da una soluzionedi base ad una adiacente. Tuttavia, nel secondo casosiamo passati da una soluzione di base ammissibile (quellaassociata a B6) ad una non ammissibile (quella associata aB4). Nell’algoritmo di risoluzione che ci apprestiamo adiscutere la scelta della base adiacente verso cui muoversinon verrà fatta a caso come abbiamo fatto nei precedentiesempi, ma sarà guidata da regole precise chefondamentalmente ci consentiranno di spostarsi tra verticidella regione ammissibile migliorando il valore dellafunzione obiettivo.

Teoria della Programmazione Lineare – p. 89/89