251
1 Ricerca Operativa Introduzione alla teoria della dualità Relazioni di complementarietà Coppia primale-duale: approfondimenti Metodo del simplesso duale Interpretazione dei problemi duali Analisi di sensitività Interpretazione delle variabili duali all’ottimo Programmazione Lineare Intera Metodo di Branch & Bound Algoritmi dei piani di taglio Seconda Parte

Ricerca Operativa (P.2) [modalità compatibilità] Operativa (P.2... · Ricerca Operativa 2 Introduzione alla Teoria della dualità Di fondamentale importanza per lo studio di un

Embed Size (px)

Citation preview

1Ricerca Operativa Introduzione alla

teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Seconda Parte

2Ricerca Operativa

Introduzione alla Teoria della dualità

Di fondamentale importanza per lo studio di unproblema di Programmazione Lineare (PL) è laconoscenza della teoria della dualità.

Principali impieghi:sviluppo di metodi in alcuni casi più efficienti di quellivisti nella prima parte del corso;

analisi di post-ottimalità.

Punto fondamentale: a partire da un problema (P) diPL, si può costruire un altro problema (D) di PL, dettoduale. Le soluzioni dei due problemi sonostrettamente legate.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

3Ricerca Operativa

Teoria della dualità: formulazioni

Il problema (P) iniziale è spesso indicato comeprimale (per distinguerlo dal corrispondente duale).

DefinizioneSia dato un problema (P) di PL in forma standard

(primale)

con

x∈Rn, c∈Rn, b∈Rm, A∈Rm×n

Min cTxs.v.

Ax=bx ≥0n

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

4Ricerca Operativa

Teoria della dualità: formulazioni

Si può definire il seguente problema:

(duale)

dove bTw è la nuova funzione obiettivo ew=[w1 w2 … wm]T è il vettore delle variabili duali.

la struttura dati dei due problemi è uguale (sicontinua a lavorare con gli stessi input A, b, c)

Max bTws.v.

ATw≤c

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

5Ricerca Operativa

Teoria della dualità: formulazioni

Osservazioni:il problema primale ha n variabili e m vincoli, ilcorrispondente duale ha m variabili e n vincoli. Inparticolare, esiste una corrispondenza biunivoca trala j-esima variabile del primale e il j-esimo vincolodel duale e tra l'i-esima variabile del duale el'i-esimo vincolo del primale;la matrice dei coefficienti tecnologici delproblema duale è la trasposta della matrice deicoefficienti tecnologici del problema primale;il vettore dei coefficienti della funzione obiettivo delduale è il vettore dei termini noti nei vincoli delprimale e viceversa.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

6Ricerca Operativa

Teoria della dualità: formulazioni

Si consideri un problema (P) di PL con vincoli didisuguaglianza

(primale)

con x∈Rn, c∈Rn, b∈Rm, A∈Rm×n.Trasformazione del problema in forma standard:

con s∈Rm, I∈Rm×m.

Min cTxs.v.

Ax≥bx ≥0n

Min cTx+0mT s

s.v.Ax− Is=bx≥0n , s≥0m

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

7Ricerca Operativa

Teoria della dualità: formulazioni

Il problema può essere scritto in manieraequivalente come

Il duale corrispondente a questo problema siottiene introducendo il vettore delle variabili dualiw∈Rm (secondo la definizione precedente).

Min [cT 0mT]

s.v.

[A − I] =b

x≥0n , s≥0m

⎥⎦

⎤⎢⎣

⎡sx

⎥⎦

⎤⎢⎣

⎡sx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

8Ricerca Operativa

Teoria della dualità: formulazioni

Problema duale corrispondente:

Il problema duale può essere scritto in manieraequivalente come

(duale)

Max bTws.v.

[A − I]T w ≤

Max bTws.v.

AT w ≤ cw ≥ 0m

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

⎥⎦

⎤⎢⎣

m

c0

9Ricerca Operativa

Teoria della dualità: formulazioni

Con ragionamenti analoghi, si perviene al seguenterisultato:dato il problema di PL

(primale)

si ottiene

(duale)

Min cTxs.v.

Ax≤bx ≥0n

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Max bTws.v.

AT w ≤ cw ≤ 0m

10Ricerca Operativa

Teoria della dualità: formulazioni

Osservazione:A vincoli di disuguaglianza nel primalecorrispondono variabili vincolate in segno nel duale.

Si consideri ora un problema di PL con alcunevariabili decisionali libere in segno:

(primale)

con x∈Rn, cx∈Rn, y∈Rq, cy∈Rq, b∈Rm, Ax∈Rm×n,Ay∈Rm×q.

Min cxT x+cy

T ys.v.

Axx+ Ayy =bx ≥0n

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

11Ricerca Operativa

Teoria della dualità: formulazioni

La trasformazione in forma standard conduce alseguente problema:

Il corrispondente duale si ottiene introducendo ilvettore delle variabili duali w∈Rm (secondo ladefinizione precedente).

Min [cxT cy

T −cyT]

s.v.

[Ax Ay −Ay] = b

x≥0n , y+≥0q , y−≥0q

⎥⎥⎥

⎢⎢⎢

+

yyx

⎥⎥⎥

⎢⎢⎢

+

yyx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

12Ricerca Operativa

Teoria della dualità: formulazioni

Problema duale corrispondente:

Il problema duale può essere riscritto come

(duale)

Max bTws.v.

[Ax Ay − Ay]T w ≤⎥⎥⎥

⎢⎢⎢

− y

y

x

ccc

Max bTws.v.

AxT w ≤ cx

AyT w ≤ cy

AyT w ≥ cy

AyT w = cy

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

13Ricerca Operativa

Teoria della dualità: formulazioni

Osservazione:A variabili libere in segno nel primale corrispondonovincoli di uguaglianza nel duale.

Infine si consideri il seguente problema di PL dimassimizzazione:

(primale)

con x∈Rn, c∈Rn, b∈Rm, A∈Rm×n.Trasformando il problema in forma standard siottiene

Max cTxs.v.

Ax=bx ≥0n

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

14Ricerca Operativa

Teoria della dualità: formulazioni

Il duale corrispondente a questo problema siottiene introducendo il vettore delle variabili dualiλ∈Rm (secondo la definizione precedente).

(−) Min −cTxs.v.

Ax=bx ≥0n

(−) Max bTλs.v.

ATλ ≤ −c

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Min −bTλs.v.

ATλ ≤ −c

15Ricerca Operativa

Teoria della dualità: formulazioni

Il duale può essere trasformato nel seguenteproblema equivalente

(duale)

ponendo w=−λ (w∈Rm rappresenta il vettore dellevariabili duali per l’ultima formulazione).

Osservazione:Se il problema primale è di minimizzazione, ilcorrispondente duale è di massimizzazione eviceversa.

Min bTws.v.

ATw ≥ c

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

16Ricerca Operativa

Teoria della dualità: formulazioni

Le regole generali per la costruzione del problemaduale a partire da un generico problema di PL sonosintetizzate nella tabella seguente:

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

17Ricerca Operativa

Teoria della dualità: formulazioni

Esempio 1Determinare il duale del seguente problema di PL:

Max 4x1 + 3x2 +2x3

s.v.x1 +2x2 +3x3 ≤ 8

2x1 −x3 ≤ 7 (primale)3x1 +4x2 −x3 ≤ 5

x2 +x3 ≤ 6x2 ≥ 0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

18Ricerca Operativa

Teoria della dualità: formulazioni

Sol.Min 8w1+7w2+5w3+6w4

s.v.w1 +2w2+3w3 = 4

2w1 +4w3 +w4 ≥ 3 (duale)3w1 − w2 − w3 +w4 = 2w1 , w2 , w3 , w4 ≥ 0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

19Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Teoria della dualità: formulazioni

Esempio 2Determinare il duale del seguente problema di PL:

Min 0,4x1 + 0,5x2

0,3x1 +0,1x2 ≤ 2,70,5x1 +0,5x2 = 6 (primale)0,6x1 +0,4x2 ≥ 6

x1, x2 ≥ 0Sol.

Max 2,7w1 +6w2 +6w3

0,3w1+0,5w2+0,6w3 ≤ 0,4 (duale: D1)0,1w1+0,5w2+0,4w3 ≤ 0,5

w1 ≤ 0, w3 ≥ 0

20Ricerca Operativa

Teoria della dualità: formulazioni

D1 presenta variabili libere in segno, variabili nonnegative e variabili non positive.Dalla tabella precedente si deduce che variabiliduali non negative corrispondono a:vincoli di “≥” in un problema (primale) diminimizzazione;vincoli di “≤” in un problema (primale) dimassimizzazione.Nella formulazione (primale) precedente,rimpiazzando il vincolo 0,3x1+0,1x2≤2,7 con−0,3x1−0,1x2≥−2,7, si ottiene un problema dualeequivalente a D1 con variabili libere in segno o nonnegative.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

21Ricerca Operativa

Teoria della dualità: formulazioni

Max −2,7w1 +6w2 +6w3

−0,3w1+0,5w2+0,6w3 ≤ 0,4 (duale: D2)−0,1w1+0,5w2+0,4w3 ≤ 0,5

w1 ≥ 0, w3 ≥ 0

Si poteva ottenere D2 direttamente da D1

(trasformazione di una variabile non positiva in una variabile non negativa).

Il problema duale è un problema di PL → esistono formulazioni equivalenti.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

22Ricerca Operativa

Teoria della dualità: teoremi

Teorema 1Il duale del duale di un problema di PL èequivalente al problema di PL stesso.

Esempio

(primale) (duale)

Min 4x1 + 6x2 + 18x3

x1 + x3 ≥ 3x2 +2x3 ≥ 5

x1, x2, x3 ≥ 0

s.v.

Max 3w1 + 5w2

w1 ≤ 4w2 ≤ 6

w1 + 2w2 ≤ 18

w1, w2 ≥ 0

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

23Ricerca Operativa

Teoria della dualità: teoremi

(duale) (duale del duale)

Parlando di problemi di programmazione lineare edei rispettivi duali, pertanto, si è autorizzati a usare iltermine di coppia primale-duale senza distinzionefra problemi.

Min 4x1 + 6x2 + 18x3

x1 + x3 ≥ 3x2 +2x3 ≥ 5

x1, x2, x3 ≥ 0

s.v.Max 3w1 + 5w2

w1 ≤ 4w2 ≤ 6

w1 + 2w2 ≤ 18

w1, w2 ≥ 0

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

24Ricerca Operativa

Teoria della dualità: teoremi

Per fissare meglio le idee, i successivi teoremi, puravendo validità generale, saranno presentati conriferimento a una specifica coppia di problemi:

Primale: problema di PL in forma standard (minimo)

Duale: duale del problema in forma standard (massimo)

Teorema 2 (dualità debole)Sia x una soluzione ammissibile del primale e sia wuna soluzione ammissibile del corrispondente duale.Il valore di funzione obiettivo del duale associato aw è sempre minore o uguale del valore di funzioneobiettivo del primale associato a x, cioèbTw≤cTx.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

25Ricerca Operativa

Teoria della dualità: teoremi

DimostrazionePoiché x è una soluzione ammissibile del primale siha: Ax=b e x≥0n. Allo stesso modo, poiché w è unasoluzione ammissibile del duale si ha ATw≤c →wTA≤cT. Moltiplicando ambo i membri delladisequazione per x si ha: wTAx≤cTx → wTb≤cTx. Daquesta relazione discende che bTw≤cTx (wTb e cTxsono scalari).

Generalizzando, data una coppia primale-duale, il valore difunzione obiettivo associato a ogni soluzione ammissibile delproblema di massimo costituisce un limite inferiore per il valore difunzione obiettivo associato a ogni soluzione ammissibile delproblema di minimo.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

26Ricerca Operativa

Teoria della dualità: teoremi

Teorema 3 (dualità forte)Se il problema primale ammette una soluzioneottima x*, allora anche il duale ammette unasoluzione ottima w* e il valore di funzione obiettivoassociato alle due soluzioni coincide: bTw*=cTx*.

Dimostrazione… omissis …

Teorema 4Se il problema primale è illimitato, il corrispondenteduale è privo di soluzioni ammissibili.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

27Ricerca Operativa

Teoria della dualità: teoremi

DimostrazioneSe il problema primale è illimitato, esiste unasuccessione di soluzioni ammissibili x1,x2,… tale che

.

Se il duale ammettesse una soluzione ammissibile w,la grandezza bTw costituirebbe un limite inferioreper il valore di funzione obiettivo associato aqualsiasi soluzione ammissibile del primale. Siarriverebbe, pertanto, a una relazione priva disenso: bTw≤−∞.

−∞=∞→ k

Tk

xc lim

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

28Ricerca Operativa

Teoria della dualità: teoremi

Nelle relazioni presentate non si è ancora fattoriferimento al seguente caso: il problema primale èinammissibile.

In queste circostanze, sicuramente il problemaduale non ammette una soluzione ottima. Tuttaviasono possibili due situazioni alternative:il duale è illimitato,il duale è inammissibile.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

29Ricerca Operativa

Teoria della dualità: teoremi

Esempio 1

Il problema primale risulta inammissibile. La verificadi questa affermazione potrebbe essere fattaapplicando la prima fase del metodo delle duefasi.

Max 2w1 + w2

w1 + w2 ≤ 1−w1 ≤ 0

w1 + w2 ≤ 0

s.v.

w2 ≤ 0

Min x1

x1 −x2 + x3 = 2x1 +x3 + x4 = 1x1, x2, x3, x4 ≥ 0

s.v.

(primale) (duale)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

30Ricerca Operativa

Teoria della dualità: teoremi

Tuttavia si può vedere molto più semplicementeche il primale è equivalente al seguente problema

dove ci sono due vincoli non compatibili fra loro.Il duale è invece un problema illimitato. E’ possibileverificare direttamente questa affermazione, datala semplicità del duale.

Min x1

x1+ x3 ≥ 2x1 +x3 ≤ 1x1, x3 ≥ 0

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

31Ricerca Operativa

Teoria della dualità: teoremi

Ad esempio, scegliendo w1=K e w2=−K (con K≥0) siottengono soluzioni ammissibili con valore difunzione obiettivo pari a K (e K può essere sceltogrande a piacere).

Esempio 2Max 2w1+3w2

w1 + w2 ≤ 1−w1 − w2 ≤−2

w1 ≤ 0

s.v.

− w2 ≤ 0

Min x1 −2x2

x1 −x2 + x3 = 2x1 −x2 − x4 = 3x1, x2, x3, x4 ≥ 0

s.v.

(primale) (duale)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

32Ricerca Operativa

Teoria della dualità: teoremi

Il problema primale risulta inammissibile. Comeprima, si può vedere molto semplicemente che ilprimale è equivalente al seguente problema

dove ci sono due vincoli non compatibili fra loro.Anche il duale è un problema inammissibile. Il primovincolo w1+w2≤1 è infatti incompatibile con ilsecondo −w1−w2≤−2 → w1+w2≥2.

Min x1 −2x2

x1 −x2 ≤ 2x1 −x2 ≥ 3x1, x2 ≥ 0

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

33Ricerca Operativa

Teoria della dualità: teoremi

Notazione: Data la matrice A∈Rm×n, si indicherà conai, l’i-esima riga di A (i=1,…,m) e con Aj la j-esimacolonna di A (j=1,…,n).

Il problema di PL in forma standard e ilcorrispondente duale possono essere riscritti come:

Min cTxs.v.

aix=bi, i=1,…,mx ≥0n

Max bTws.v.

wTAj≤cj, j=1,…,n

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

34Ricerca Operativa

Teoria della dualità: teoremi

Teorema 5 (scarti complementari)Due soluzioni x e w ammissibili rispettivamente per ilprimale in forma standard e per il corrispondenteduale sono ottimali se e solo se:

(cj − wTAj)xj = 0 ∀ j=1,…, n.

Teorema 6 (scarti complementari per problemi nonstandard)Si consideri il seguente problema (non in formastandard) e il corrispondente duale

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

35Ricerca Operativa

Teoria della dualità: teoremi

Due soluzioni x e w ammissibili rispettivamente per ilprimale e per il duale sono ottimali se e solovalgono le seguenti relazioni:

(cj − wTAj)xj = 0 ∀ j=1,…, nwi (ai x − bi) = 0 ∀ i=1,…, m

Min cTxs.v.aix≥bi, i=1,…,m

x≥0n

Max bTws.v. wTAj≤cj, j=1,…,n

w≥0m

(primale) (duale)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

36Ricerca Operativa

Teoria della dualità: teoremi

Teorema 5: DimostrazioneNecessità: Se x e w sono ottime (rispettivamente peril primale e per il duale), per il teorema di dualitàforte si ha cTx=bTw → cTx−wTb=0 →cTx−wTb+wTAx−wTAx=0 → (cT−wTA)x+wT(Ax−b)=0.Poiché x è ammissibile per il primale (Ax=b) si ha(cT−wTA)x=0.Le componenti del vettore riga cT−wTA sono nonnegative (w è ammissibile per il duale; pertantoATw≤c → wTA≤cT). Anche le componenti del vettorecolonna x sono non negative (x è ammissibile per ilprimale).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

37Ricerca Operativa

Teoria della dualità: teoremi

Pertanto, per avere (cT−wTA)x=0 deve essere(cj − wTAj)xj=0 ∀ j=1,…,n.

Sufficienza: Si può fare lo stesso ragionamento aritroso. A partire dalla relazione (cj − wTAj)xj = 0∀ j=1,…, n si arriva a dire che x e w sono ottime(rispettivamente per il primale e per il duale).

Teorema 6: DimostrazioneLa dimostrazione è simile alla precedente e vienelasciata come esercizio.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

38Ricerca Operativa

Relazioni di complementarietà

Le relazioni di complementarietà appena trovatehanno una valenza più generale. Questo aspetto,nonché l’utilità delle relazioni, saranno chiaritimeglio mediante esempi numerici.

Esempio 1

(primale)

Min 3x1−2x2+4x3

x1 +x2 ≤ 5−3x1+2x2 −x3 = −2

x2 ≥ 0

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x1 ≥−1x1 ≤ 1

39Ricerca Operativa

Relazioni di complementarietà

Sapendo che il valore ottimale della variabile dualew4

* è diverso da 0, quanto vale all’ottimo lavariabile decisionale x1

*?Il problema può essere riscritto nel seguente modo:

(primale)

Il corrispondente duale è

Min 3x1−2x2+4x3

−x1 −x2 ≥−5−3x1+2x2 −x3 =−2

x2 ≥ 0

s.v.

x1 ≥−1−x1 ≥−1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

40Ricerca Operativa

Relazioni di complementarietà

(duale)

Una relazione di complementarietà è sicuramentela seguente:Poiché w4

*≠0, deve valere l’equazione −x1*+1=0. Si

deduce che x1*=1.

Max −5w1−2w2−w3−w4

−w1 −3w2+w3 −w4 = 3

−w1 +2w2 ≤−2−w2 = 4

s.v.

w1, w3 , w4 ≥ 0

w4(−x1+1)=0.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

41Ricerca Operativa

Relazioni di complementarietà

Esempio 2

(primale)

Per tale problema di PL è nota la seguentesoluzione ottima: x*=[72/5 0 16/5 0]T, con valore difunzione obiettivo pari a 368/5. Formulare ilproblema duale e determinare la soluzione ottimaw* utilizzando le sole relazioni di complementarietà.

Max 4x1−8x2+5x3+2x4

s.v.

−x1+9x2+12x3−2x4 ≤ 242x1+3x2 +x3+4x4 ≤ 32

x1, x2, x3 , x4 ≥ 0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

−2x1+6x2 −2x3 −x4 ≤−12

42Ricerca Operativa

Relazioni di complementarietà

Il duale è formulabile nel seguente modo:

(duale)

Relazioni di complementarietà:

s.v.

w1, w2, w3 ≥ 0

Min −12w1+24w2+32w3

−2w1 −w2 +2w3 ≥ 46w1 +9w2 +3w3 ≥−8

−2w1 +12w2 +w3 ≥ 5−w1 −2w2 +4w3 ≥ 2

w1(−12+2x1−6x2+2x3+x4)=0

w2(24+x1−9x2−12x3+2x4) =0

w3(32−2x1−3x2−x3−4x4)=0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

43Ricerca Operativa

Relazioni di complementarietà

Poiché x1*≠0, x3

*≠0 e −12+2x1*−6x2

*+2x3*+x4

*≠0, lasoluzione ottima del duale si ricava risolvendo ilseguente sistema di equazioni

w*=[0 6/25 53/25]T con valore di funzione obiettivopari a 368/5.

x1(−2w1−w2+2w3−4 )=0

x2(6w1+9w2+3w3+8)=0

x3(−2w1+12w2 +w3−5)=0

x4(−w1−2w2+4w3−2)=0

−2w1−w2+2w3=4−2w1+12w2 +w3=5

w1=0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

44Ricerca Operativa

Relazioni di complementarietà

Esempio 3

(primale)

Per tale problema di PL è nota la seguentesoluzione ottima: x*=[0 1 0]T, con valore di funzioneobiettivo pari a 1. Formulare il problema duale edeterminare la soluzione ottima w* utilizzando le solerelazioni di complementarietà.

Min 2x1 +x2

x1 + x2 −x3 = 1s.v.

x1, x2, x3 ≥ 0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x1 − x2 ≥ −12x1−3x2 ≥ −6

45Ricerca Operativa

Relazioni di complementarietà

Il duale è formulabile nel seguente modo.

(duale)

Considerando che:x1

*=x3*=0

il primo vincolo del primale è di uguaglianzaci si può limitare a scrivere solo le seguenti relazionidi complementarietà

Max w1 −w2 −6w3

w1 +w2 +2w3 ≤ 2s.v.

w2, w3 ≥ 0

w1 −w2 −3w3 ≤ 1−w1 ≤ 0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

46Ricerca Operativa

Relazioni di complementarietà

Poiché x2*≠0 e 2x1

*−3x2*+6≠0, ma x1

*−x2*+1=0, la

soluzione ottima del duale si ottiene risolvendo ilseguente sistema:

Ponendo w2=k si ottiene [1+k k 0]T.

w3=0

1−w1 +w2 +3w3 =0

1−w1 +w2 +3w3 =0 → 1−w1+w2=0 → w1=1+w2

w3(2x1−3x2+6) =0

x2(1−w1 +w2 +3w3 ) =0

w2(x1−x2+1)=0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

47Ricerca Operativa

Relazioni di complementarietà

Il parametro k non può essere scelto del tuttoarbitrariamente. La scelta deve infattisalvaguardare l’ammissibilità della soluzione (tutti ivincoli del duale devono essere rispettati).

In definitiva, il duale ha infinite soluzioni ottime deltipo w*=[1+k k 0]T con 0 ≤k≤1/2.

1° vincolo: 1+k+k ≤ 2 → k ≤1/23° vincolo: −1−k≤ 0 → k≥−1

vincolo di non negatività: w2≥ 0 → k≥0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

48Ricerca Operativa

Relazioni di complementarietà

Esempio 4Sia data la seguente coppia primale-duale:

(primale)

(duale)

Max −x1 −3x3s.v.

x2, x3 ≥ 0x1+3x2 ≤ 2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x1−2x2 +x3 =−1

Min −w1+2w2s.v.

−2w1 +3w2 ≥ 0w1+ w2 = −1

w1 ≥ −3w2 ≥ 0

49Ricerca Operativa

Relazioni di complementarietà

E’ nota la seguente soluzione ottima del problemaduale: w*=[−1 0]T (valore di funzione obiettivo: 1).Determinare la soluzione ottima del primaleutilizzando le sole relazioni di complementarietà.

Con riferimento ai vincoli di disuguaglianza delduale (secondo e terzo), si possono scrivere leseguenti relazioni:

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x2(−2w1 +3w2)= 0,x3(w1 +3)=0.

50Ricerca Operativa

Relazioni di complementarietà

Poiché −2w1+3w2≠0 e w1+3≠0 si ha x2*=0 e x3

*=0.

La soluzione ottima [x1* x2

* x3*] sicuramente deve

soddisfare il vincolo di uguaglianza del primale:

Segue che x1* =−1.

Alla soluzione ottima del primale [−1 0 0]T ènaturalmente associato un valore di funzioneobiettivo pari a 1.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x1−2x2 +x3 =−1 .

51Ricerca Operativa

Relazioni di complementarietà

Esempio 5

(primale)

Per tale problema di PL è nota la seguentesoluzione ottima: x*=[0 3/2 0 4/3]T, con valore difunzione obiettivo pari a −23/6. Formulare ilproblema duale e determinare la soluzione ottimaw* utilizzando le sole relazioni di complementarietà.

Min 4x1−7x2+ 4x3+5x4s.v.

x1, x3 ≥ 0

7x1+5x2 +5x3 +4x4 ≥ 33x1−2x2 −x3 +6x4 = 5

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

−6x1−4x2 −6x3 +3x4 ≥−2

52Ricerca Operativa

Relazioni di complementarietà

Il duale è formulabile nel seguente modo.

(duale)

La soluzione ottima [w1* w2

* w3*] sicuramente deve

soddisfare i vincoli di uguaglianza del duale:−7+4w1−5w2 +2w3=05 −3w1−4w2 −6w3=0

Max −2w1+3w2+ 5w3

−6w1+7w2 +3w3 ≤ 4s.v.

w1, w2 ≥ 0

−4w1+5w2 −2w3 = −7−6w1+5w2 −w3 ≤ 4

3w1+4w2 +6w3 = 5

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

53Ricerca Operativa

Relazioni di complementarietà

Inoltre, con riferimento ai vincoli di disuguaglianzadel primale, si possono scrivere le seguenti relazioni:

Poiché −6x1−4x2−6x3+3x4+2=0 e 7x1+5x2+5x3+4x4−3≠0,solo la seconda relazione contribuisce alladefinizione della soluzione ottima del dualestabilendo che w2

*=0. Risolvendo il sistemaw2 = 0

−7+4w1−5w2+2w3 = 05−3w1−4w2−6w3 = 0

w1(−6x1−4x2 −6x3 +3x4 +2)=0w2(7x1+5x2 +5x3 +4x4 −3)=0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

54Ricerca Operativa

Relazioni di complementarietà

si ottiene w*=[16/9 0 −1/18]T. A questa soluzione ènaturalmente associato un valore di funzioneobiettivo pari a −23/6.

Riassumendo:a ogni vincolo j non soddisfatto all’uguaglianzadalla soluzione ottima del duale D corrisponde unacomponente xj nulla nella soluzione ottima delprimale P;a ogni variabile j non nulla (xj>0) nella soluzioneottima del primale P corrisponde un vincolo delduale D (il j-esimo) soddisfatto all’uguaglianza dallasoluzione ottima di D;

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

55Ricerca Operativa

Relazioni di complementarietà

a ogni vincolo i non soddisfatto all’uguaglianzadalla soluzione ottima del primale P corrispondeuna componente wi nulla nella soluzione ottima delduale D;a ogni variabile i non nulla (wi>0) nella soluzioneottima del duale D corrisponde un vincolo delprimale P (l’i-esimo) soddisfatto all’uguaglianzadalla soluzione ottima di P.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

56Ricerca Operativa

Ottimalità primale - Ammissibilità duale

Nella prima parte del corso si è visto che unproblema in forma standard, individuato un insiemedi indici di base B, può essere scritto come

Min z= cBTxB+ cN

TxN

ABxB +ANxN=b (PS)xB ≥ 0m, xN ≥ 0n−m

con AB∈Rm×m, AN∈Rm×(n−m), b∈Rm, cB∈Rm, xB∈Rm, cN∈Rn−m, xN∈Rn−m.Da questa formulazione si può ottenere unproblema equivalente

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

57Ricerca Operativa

Ottimalità primale - Ammissibilità duale

Min z= cBTAB

−1b + (cNT− cB

TAB−1AN) xN

xB= AB−1b− AB

−1ANxN

xB ≥ 0m, xN ≥ 0n−m

Una soluzione x = = è una soluzione

di base rispetto a B, ammissibile per il problema PS.A essa è associato un valore di funzione obiettivopari a z=cB

TAB−1b.

Se (cNT− cB

TAB−1AN)≥0n−m

T, questa soluzione è ottima.

⎥⎦

⎤⎢⎣

N

B

xx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

⎥⎥⎦

⎢⎢⎣

⎡ ≥−

001bAB

0n−m

58Ricerca Operativa

⎥⎦

⎤⎢⎣

N

B

cc

Ottimalità primale - Ammissibilità dualeIl duale corrispondente a PS è:

Max π = bTw[AB AN]T w ≤

Max π = bTwAB

Tw≤cB

ANTw≤cN

Max π = wTbwTAB≤cB

T (DS)wTAN≤cN

T

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

59Ricerca Operativa

Ottimalità primale - Ammissibilità duale

Si definisce soluzione complementare di x il vettorewT = cB

TAB−1 . Poiché tale vettore è m-dimensionale,

esso rappresenta una soluzione del duale DS

(ammissibile oppure non ammissibile).

Se x è ottima, allora cNT−cB

TAB−1AN≥0n−m

T →

cNT−wTAN≥0n−m

T → wTAN≤cNT (secondo gruppo di

vincoli di DS soddisfatto). Anche il primo gruppo divincoli di DS è soddisfatto perché si ha cB

TAB−1AB≤cB

T

→ cBT I≤cB

T → cBT≤cB

T (sempre vera). La soluzione wè ammissibile per Ds e il valore di funzione obiettivoa essa associato è π = cB

TAB−1b. Si noti che π = z →

w è ottima per il duale (teorema di dualità forte).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

60Ricerca Operativa

Ottimalità primale - Ammissibilità duale

Se x non è ottima, allora esiste un indice j tale checj− cB

TAB−1Aj< 0 → cj−wT Aj< 0 (un vincolo del duale

è sicuramente violato da w → la soluzionecomplementare non è ammissibile per il duale).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

61Ricerca Operativa

Forme canoniche

Min z= cBTAB

− 1b + (cNT− cB

TAB−1AN) xN

xB + AB−1ANxN = AB

−1bxB ≥ 0m, xN ≥ 0n−m

m

0mT

I

m n−m

cNT− cB

TAB−1AN= cN

T− wTAN

AB−1AN

− cBTAB

−1b=− wTb

AB−1b

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

62Ricerca Operativa

Forme canonichePonendo = cB

TAB−1b, =AB

−1b, =cNT− cB

TAB−1AN,

=AB−1AN, la tabella corrispondente a B può

essere rappresentata nel seguente modo:

d bNA

TNc

m

h

b

b

b1

000 LL L L nckc1+mc d−

nmkmmm

nhkhmh

nkm

aaa

aaa

aaa

,,1,

,,1,

,1,11,1

1

1

1

LL

MMMO

LL

MMMO

LL

+

+

+

b

NA

TNc

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

M

M

63Ricerca Operativa

Forme canoniche

Se ≥ 0m il tableau è in forma canonica →B e di conseguenza AB sono ammissibili per ilprimale

la soluzione x = = è ammissibile peril primale

Se ≥ 0n−m, il tableau è in forma canonica duale →B e di conseguenza AB sono ammissibili per il duale

la soluzione wT=cBTAB

−1 è ammissibile per ilduale

Se ≥0m e ≥0n−m, B e di conseguenza AB sonoammissibili (e ottime) sia per il primale che per ilduale

b

Nc

b

⎥⎦

⎤⎢⎣

N

B

xx

Nc

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

⎥⎥⎦

⎢⎢⎣

⎡ −

0

1bAB

0n−m

64Ricerca Operativa Informazione duale nelle tabelle del simplesso

Prima di vedere il metodo del simplesso duale èutile capire come si possono ottenere delleinformazioni sulle variabili duali direttamente daltableau utilizzato nel metodo del simplesso(standard).

Il modo di procedere descritto nel seguito èalternativo all’utilizzo delle relazioni dicomplementarietà.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

65Ricerca Operativa Informazione duale nelle tabelle del simplesso

La soluzione ottima del duale è prontamentedisponibile al termine del metodo del simplesso se ilproblema di PL si presenta nella forma seguente(b≥0m):

Min z= cxTx+cy

TyAxx + I y = bx≥0n−m, y ≥0m

La caratteristica di questo problema è quella di presentare una matrice di identità m×m come matrice dei coefficienti tecnologici di un gruppo di variabili decisionali (vettore y di dimensione m).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

66Ricerca Operativa Informazione duale nelle tabelle del simplesso

Sia B l’insieme degli indici di base ottimo.

Nella riga 0 del tableau ottimo si può leggerel’informazione:cy

T− cBTAB

-1I = → vettore dei coefficienti di costoridotto associato a y

cyT− wT = → wT = cy

T −

Conseguentemente, per ogni componente yj delvettore y si può scrivere: wj = − .

jyc

Tyc

Tyc T

yc

jyc

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

67Ricerca Operativa Informazione duale nelle tabelle del simplesso

Esempio 1Sia dato il seguente problema P1 di PL:

Min 2x1+x2 +x3 −x4

s.v.x1 +x3 −x4 = 4

x2 +2x3−2x4 −x5 = 2x1, x2, x3 , x4, x5 ≥ 0

2 1 1 −1 0 01 0 1 −1 0 40 1 2 −2 −1 2

m=2

m=2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

68Ricerca Operativa Informazione duale nelle tabelle del simplesso

Occorre innanzitutto ripristinare la forma canonica.In particolare, per fare in modo che il coefficientedi costo associato a x1 si annulli si può fareun’operazione di pivot sull’unico elemento diversoda zero presente nella colonna associata a x1 (ilriferimento è alla colonna comprendente i solicoefficienti tecnologici).

0 1 − 1 1 0 −8 1 0 1 −1 0 40 1 2 −2 −1 2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

69Ricerca Operativa Informazione duale nelle tabelle del simplesso

Allo stesso modo, per annullare il coefficiente dicosto associato a x2 si può fare un’operazione dipivot sull’unico coefficiente tecnologico non nullopresente nella colonna associata a x2.

0 0 −3 3 1 −10 1 0 1 −1 0 40 1 2 −2 −1 2

La soluzione di base [4 2 0 0 0]T non è ottima.Nella colonna associata al costo “−3” (k=3) ci sonodue elementi positivi.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

70Ricerca Operativa Informazione duale nelle tabelle del simplesso

L’operazione di pivot è eseguita sull’elementoāhk=ā23=2 poiché

→ h=2. La tabella risultante è:

0 3/2 0 0 −1/2 −71 −1/2 0 0 1/2 30 1/2 1 −1 −1/2 1

La soluzione di base [3 0 1 0 0]T non è ottima.Nella colonna associata al costo “−1/2” c’è un soloelemento positivo.

22

22,

14min =

⎭⎬⎫

⎩⎨⎧

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

71Ricerca Operativa Informazione duale nelle tabelle del simplesso

Eseguendo l’operazione di pivot su tale elemento siottiene la seguente tabella:

1 1 0 0 0 −42 −1 0 0 1 61 0 1 −1 0 4

La soluzione di base [0 0 4 0 6]T è ottima. PertantoB={5,3} è un insieme di indici di base ottimo .La tabella finale fornisce delle informazioni utili sulvalore ottimo delle variabili duali.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

72Ricerca Operativa Introduzione alla

teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Informazione duale nelle tabelle del simplesso

1 1 0 0 0 −42 −1 0 0 1 61 0 1 −1 0 4

w1=c1− = 2−1=1;w2=c2− = 1−1=0.

Esercizio proposto: Costruire il duale D1 delproblema P1 e verificare (attraverso l’utilizzo dellerelazioni di complementarietà) che [1 0]T

rappresenta la soluzione ottima di D1.

1c

1c

2c

2c

73Ricerca Operativa Informazione duale nelle tabelle del simplesso

Esempio 2Sia dato il seguente problema P2 di PL in formacanonica:

Min −5x1−x2−3x3

s.v.2x1−x2+2x3+x4 = 4x1+x2+4x3 +x5 = 4x1, x2, x3 , x4, x5 ≥ 0

La tabella corrispondente è:−5 −1 −3 0 0 02 −1 2 1 0 41 1 4 0 1 4

m=2

m=2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

74Ricerca Operativa Informazione duale nelle tabelle del simplesso

La soluzione di base [0 0 0 4 4]T non è ottima.Nella colonna associata al costo “−5” (k=1) ci sonodue elementi positivi. L’operazione di pivot èeseguita sull’elemento āhk=ā11=2 poiché

→ h=1. La tabella risultante è:

0 −7/2 2 5/2 0 101 −1/2 1 1/2 0 20 3/2 3 −1/2 1 2

La soluzione di base [2 0 0 0 2]T non è ottima.Nella colonna associata al costo “−7/2” c’è un soloelemento positivo. Eseguendo l’operazione di pivotsu tale elemento si ottiene la seguente tabella

24

14,

24min =

⎭⎬⎫

⎩⎨⎧

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

75Ricerca Operativa Informazione duale nelle tabelle del simplesso

0 0 9 4/3 7/3 44/31 0 2 1/3 1/3 8/30 1 2 −1/3 2/3 4/3

La soluzione di base [8/3 4/3 0 0 0]T è ottima.Pertanto l’insieme di indici di base ottimo è: B={1,2}.La tabella ottima, anche in questo caso, forniscedelle informazioni utili sul valore ottimo delle variabiliduali.

0 0 9 4/3 7/3 44/31 0 2 1/3 1/3 8/30 1 2 −1/3 2/3 4/3

41ccy =

52ccy =

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

76Ricerca Operativa Informazione duale nelle tabelle del simplesso

w1=c4− = 0−4/3=−4/3;w2=c5− = 0−7/3=−7/3.

Esercizio proposto: Costruire il duale D2 delproblema P2 e verificare (attraverso l’utilizzo dellerelazioni di complementarietà) che [−4/3 −7/3]T

rappresenta la soluzione ottima di D2.

4c5c

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

77Ricerca Operativa Informazione duale nelle tabelle del simplesso

Nella tabella ottima è possibile leggere anche lamatrice AB

−1, essendo in questo caso = AB−1 I = AB

−1.

Pertanto, per l’esempio 1 (problema P1) si ha:

1 1 0 0 0 −42 −1 0 0 1 6 con B={5,3}1 0 1 −1 0 4

Per l’esempio 2 (problema P2) si ha:

0 0 9 4/3 7/3 44/31 0 2 1/3 1/3 8/3 con B={1,2}0 1 2 −1/3 2/3 4/3

yA

AB−1

AB−1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

78Ricerca Operativa

Metodo del simplesso dualeIl metodo del simplesso può essere visto come unaprocedura che, iniziando da una soluzione di baseammissibile per il problema di PL da risolvere,genera una sequenza finita di soluzioni di baseammissibili fino adeterminare la soluzione ottimadimostrare che il problema è illimitato.

In estrema sintesi, il metodo è così schematizzabile:1. Si dispone di una base ammissibile per il primale.2. Se la base è ammissibile per il duale allora è ottima.3. Altrimenti si stabilisce che il problema è illimitato oppure si

effettua un’operazione di pivot. Tale operazione modifica labase in modo da mantenere l’ammissibilità per il primale.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

79Ricerca Operativa

Metodo del simplesso dualeIn modo totalmente simmetrico è possibile costruireun metodo di tipo duale basato sul seguenteschema:

1. Si dispone di una base ammissibile per il duale.2. Se la base è ammissibile per il primale allora è

ottima.3. Altrimenti si stabilisce che il problema primale è

inammissibile (e il duale è illimitato) oppure sieffettua un’operazione di pivot. Tale operazionemodifica la base in modo da mantenerel’ammissibilità per il duale.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

80Ricerca Operativa

Metodo del simplesso dualeIl metodo del simplesso duale considera formecanoniche duali. Rispetto al procedimento vistonella prima parte del corso, si inverte il ruolo di righee colonne.

Forma canonica duale

km

h

b

b

b1

000 LL L L

h

nckc1+mc d−

nmkmmm

nhkhmh

nkm

aaa

aaa

aaa

,,1,

,,1,

,1,11,1

1

1

1

LL

MMMO

LL

MMMO

LL

+

+

+

≥0 ≥0 ≥0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

M

M

81Ricerca Operativa

Metodo del simplesso dualeVerifica di ottimalità/ammissibilitàSe ≥0 ∀ i, la soluzione [ … 0 … 0 ]T è ottima.Se l’ottimalità non è raggiunta, si prosegue nelseguente modo.

Scelta della riga di pivotSi sceglie una riga h con < 0; per convenzione

Verifica di illimitatezza del dualeSe ≥ 0 ∀ j, si conclude che il primale èinammissibile (il duale è illimitato).

ib 1b mb

{ }imih bb,...,1

min=

=

hja

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

hb

82Ricerca Operativa

Metodo del simplesso dualeScelta della colonna di pivotAltrimenti, tra le colonne j con < 0 si sceglie lacolonna k-esima, cioè quella in corrispondenza di

Questa scelta preserva l’ammissibilità del duale.

Operazione di pivotSi esegue un’operazione di pivot su ottenendoper il primale una soluzione di base peggiore dellaprecedente (si procede verso l’ammissibilità).

hja

.0,max⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

<=⎭⎬⎫

⎩⎨⎧

hjhj

j

jhk

k aac

ac

hka

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

83Ricerca Operativa

Simplesso vs simplesso duale(problema di minimo)

SIMPLESSO SIMPLESSO DUALE

genera soluzioni di base ammissibili per il primale

soluzioni di base non ammissibili per il primale (ma superottime)

procede verso l’ottimalità (del primale) l’ammissibilità (del primale)

z (valore di f.o. del primale) parte da un valore

superiore al valore ottimo inferiore al valore ottimo

z decresce (miglioramento) cresce (peggioramento)

si sceglie prima

cioè la variabile

la colonna

entrante

la riga

uscente

poi si sceglie

cioè la variabile

la riga

uscente

la colonna

entrante

calcoli per l’operazione di pivot

Min tra valori positivi Max tra valori negativi

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

84Ricerca Operativa

Metodo del simplesso dualeIl funzionamento del metodo del simplesso dualesarà chiarito meglio a partire da esempi numerici. Inparticolare si mostrerà l’utilità del metodo nellasituazione seguente:

il problema di PL da risolvere presenta, facilmente,una soluzione di base (super)ottima ma nonammissibile e risulta complicato o dispendiosodisporre di una soluzione di base ammissibile (adesempio, il ricorso al metodo delle due fasi farebbecrescere il numero di variabili e quindi lo sforzocomputazionale).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

85Ricerca Operativa

Metodo del simplesso dualeEsempio 1Sia dato il seguente problema di PL:

Min 5x1+12x2

3x1 +2x2 ≤ 55x1 −4x2 ≤−23x1 +x2 ≤ 1x1, x2 ≥ 0

Aggiungendo delle variabili di slack i vincoli didisuguaglianza possono essere trasformati in vincolidi uguaglianza.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

86Ricerca Operativa

Metodo del simplesso duale

Min 5x1+12x2

3x1 +2x2 + x3 = 55x1 −4x2 + x4 =−23x1 +x2 + x5 = 1x1, x2 , x3, x4, x5 ≥ 0

Il problema (primale) è ora nella forma canonicaduale. E’ immediatamente disponibile un insieme Bammissibile per il suo duale (B={3,4,5}) ma non per ilproblema stesso.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

87Ricerca Operativa

Metodo del simplesso duale

5 12 0 0 0 03 2 1 0 0 55 −4 0 1 0 −23 1 0 0 1 1

Infatti, la soluzione di base associata a questa tabellaè [0 0 5 −2 1]T. A tale soluzione corrisponde unvalore di funzione obiettivo pari a 0, ma essa non èammissibile per il primale.Il fatto di avere una forma canonica duale ciconsente di applicare il metodo del simplesso duale.La riga interessata all’operazione di pivot è laseconda: h=2 (corrispondente al termine “−2”).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

88Ricerca Operativa

Metodo del simplesso duale

Poiché esiste un solo elemento negativo (cioè=−4) la colonna interessata all’operazione di

pivot è la seconda. Si esegue tale operazionesull’elemento .

20 0 0 3 0 −611/2 0 1 1/2 0 4−5/4 1 0 −1/4 0 1/217/4 0 0 1/4 1 1/2

La soluzione [0 1/2 4 0 1/2]T è ammissibile per il primalee il suo valore di funzione obiettivo è 6 (6>0 →peggioramento). Il conseguimento dell’ammissibilità ciassicura anche l’ottimalità. Per il problema originario lasoluzione ottima è [x1 x2]T=[0 1/2].

ja2

22a

22a

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

89Ricerca Operativa

Metodo del simplesso dualeEsempio 2Risolvere con il metodo del simplesso duale ilseguente problema di PL:

Min 12x1+11x2+16x3

−3x1 +x2 +x3 ≥ 34x1 +x2 +2x3 ≥ 4x1, x2, x3 ≥ 0

Aggiungendo delle variabili di surplus i vincoli didisuguaglianza possono essere trasformati in vincolidi uguaglianza.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

90Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo del simplesso duale

Min 12x1+11x2+16x3

−3x1 +x2 +x3 −x4 = 34x1 +x2 +2x3 −x5 = 4x1, x2, x3 , x4, x5 ≥ 0

Si consideri il seguente problema equivalente:

Min 12x1+11x2+16x3

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

x1, x2, x3 , x4, x5 ≥ 0

91Ricerca Operativa

Metodo del simplesso duale

È evidente che si ha immediatamente adisposizione una forma canonica duale

12 11 16 0 0 03 −1 −1 1 0 −3

−4 −1 −2 0 1 −4

La soluzione di base associata a questa tabella è[0 0 0 −3 −4]T e il valore di funzione obiettivo è paria 0. Tale soluzione non è ammissibile per il primale.Si sceglie, per l’operazione di pivot, la seconda riga(h=2). La colonna di pivot è la prima (k=1).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

92Ricerca Operativa

Metodo del simplesso duale

Infatti si ha . Pertanto, si

esegue l’operazione di pivot sull’elemento = −4.

0 8 10 0 3 −120 −7/4 −5/2 1 3/4 −61 1/4 1/2 0 −1/4 1

La soluzione di base associata a questa tabella è[1 0 0 −6 0]T e il valore di funzione obiettivo è paria 12. Tale soluzione, peggiore della precedente, èancora non ammissibile per il primale.La riga interessata all’operazione di pivot è la prima(h=1) (corrispondente al termine “−6”).

412

216,

111,

412max

−=

⎭⎬⎫

⎩⎨⎧

−−−

21a

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

93Ricerca Operativa

Metodo del simplesso duale

La colonna interessata all’operazione di pivot è la

terza (k=3), essendo .

Pertanto, si esegue l’operazione di pivotsull’elemento =−5/2.

0 1 0 4 6 −360 7/10 1 −2/5 −3/10 12/51 −1/10 0 1/5 −1/10 −1/5

La soluzione di base associata a questa tabella è[−1/5 0 12/5 0 0]T e il valore di funzione obiettivo èpari a 36. Tale soluzione, peggiore della precedente,è ancora non ammissibile per il primale.

2/510

2/510,

4/78max

−=

⎭⎬⎫

⎩⎨⎧

−−

13a

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

94Ricerca Operativa

Metodo del simplesso duale

La riga interessata all’operazione di pivot è laseconda (h=2), corrispondente al termine “−1/5”. Lacolonna interessata all’operazione di pivot è la

seconda (k=2), essendo .L’elemento di pivot è .

10 0 0 6 5 −387 0 1 1 −1 1

−10 1 0 −2 1 2

La soluzione di base associata a questa tabella è[0 2 1 0 0]T e il valore di funzione obiettivo è pari a38. Tale soluzione è ottima.Per il problema originario si ha [x1

* x2* x3

*]T=[0 2 1]T.

10/11

10/16,

10/11max

−=

⎭⎬⎫

⎩⎨⎧

−−22a

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

95Ricerca Operativa

Metodo del simplesso dualeEsempio 3Risolvere con il metodo del simplesso duale ilseguente problema di PL:

Min 12x1+ 8x2

−2x1 −4x2 ≥ 5x1 +2x2 ≥ 3x1, x2 ≥ 0

Aggiungendo delle variabili di surplus i vincoli didisuguaglianza possono essere trasformati in vincolidi uguaglianza.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

96Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo del simplesso duale

Min 12x1+8x2

−2x1 −4x2 −x3 = 5x1 +2x2 −x4 = 3x1, x2 , x3 , x4 ≥ 0

Problema equivalente:

Min 12x1+8x2

2x1 +4x2 +x3 = −5−x1 −2x2 +x4 = −3x1, x2 , x3 , x4 ≥ 0

97Ricerca Operativa

Metodo del simplesso duale

E’ evidente che si ha immediatamente adisposizione una forma canonica duale

12 8 0 0 02 4 1 0 −5

−1 −2 0 1 −3

Si noti che nella riga di indice h=1 (quellacorrispondente a “−5”) si ha ≥0 ∀ j. Si puòconcludere che il problema originario èinammissibile.

ja1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

98Ricerca Operativa

Interpretazione dei problemi dualiPer problemi di PL dotati di particolare struttura eprovenienti da classi ben precise di modelliapplicativi, i corrispondenti duali si prestano aessere interpretati come problemi applicativi essistessi. Un esempio è di seguito fornito.

Problema del mix produttivo“Un’azienda produce n beni utilizzando m risorse(materie prime, ore-macchina, ...) disponibili inquantità limitate. Si deve stabilire il livello diproduzione dei vari beni in modo da massimizzare ilprofitto derivante dalla loro vendita”.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

99Ricerca Operativa

Interpretazione dei problemi duali

Maxs.v.

≤ bi, i=1,…,mxj ≥ 0, j=1,…,n

xj è il livello di produzione del bene j-esimocj è il profitto unitario per il bene j-esimoaij è la “quantità” di risorsa i-esima necessaria per produrreun’unita del bene j-esimobi è la “quantità” di risorsa i-esima disponibile

Ipotesi: tutte le quantità prodotte possono esserevendute

∑=

n

jjj xc

1

∑=

n

jjij xa

1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

100Ricerca Operativa

Interpretazione dei problemi duali

Significato del vincolo i-esimo: il consumo totaledella risorsa i-esima non può superare ladisponibilità massima della risorsa stessa.

Duale del problema del mix produttivo“Avendo scelto di vendere tutte le proprie risorseproduttive, il manager aziendale deve stabilire ilprezzo di vendita. Egli deve fare in modo che lavendita delle risorse risulti non meno convenientedella vendita dei beni prodotti mediante il loroutilizzo”.

Risolvere questo problema equivale a risolvere ilduale del problema precedente.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

101Ricerca Operativa

Interpretazione dei problemi duali

Mins.v.

≥ cj, j=1,…,nwi ≥ 0, i=1,…,m

wi è il prezzo unitario di vendita della risorsa i-esimacj è il profitto unitario per il bene j-esimoaij è la “quantità” di risorsa i-esima necessaria per produrreun’unita del bene j-esimobi è la “quantità” di risorsa i-esima disponibile

∑=

m

iiiwb

1

∑=

m

iiijwa

1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

102Ricerca Operativa

Interpretazione dei problemi dualiSignificato della funzione obiettivo: il profitto totalederivante dalla vendita delle risorse è pari ab1w1+….+bmwm. L’obiettivo di minimizzazione è coerentecon il desiderio di imporre prezzi competitivi rispetto aquelli di mercato (o comunque stabilire il minimo prezzodi vendita per le risorse).Significato del vincolo j-esimo: il manager vuole trarrevantaggi dalla riconversione. Per garantirsi da eventualiperdite rispetto alla situazione attuale, il ragionamentopiù appropriato è il seguente: per ogni unità di bene j-esimo non prodotta si liberano risorse in quantità pari aa1j,a2j,…, amj. I prezzi unitari di vendita delle risorsew1,w2,…,wm devono essere tali che il ricavo complessivosia almeno pari al mancato profitto della vendita di unaunità del bene j-esimo.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

103Ricerca Operativa

Analisi di sensitivitàCon il termine “analisi di sensitività” (o “analisi disensibilità” o “analisi di post-ottimalità”) si intendeuna serie di tecniche di notevole importanzaapplicativa mediante le quali è possibile ottenereinformazioni su quando e di quanto può variare lasoluzione ottima di un problema di PL.

Un’analisi di questo tipo è importante per diverseragioni.In molti casi i dati del problema (coefficienti deicosti, coefficienti tecnologici e termini noti deivincoli) non possono essere considerati esattiperché desunti da osservazioni sperimentali.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

104Ricerca Operativa

Analisi di sensitivitàIn altri casi i dati del problema sono “controllabili”dall’utente (il quale può intenzionalmentemodificarli). Se variazioni sui dati di notevole entitàdovessero produrre variazioni piuttosto contenutedella soluzione ottima, allora la soluzione potràconsiderarsi “stabile”.

Si pone il problema di analizzare le variazioni nellasoluzione ottima in seguito a:cambiamenti del vettore b,cambiamenti del vettore c,aggiunta di un nuovo vincolo.

Ogni variazione sarà considerata singolarmente,ipotizzando la modifica di un solo termine.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

105Ricerca Operativa

Analisi di sensitivitàVariazione del vettore bSi supponga di avere una variazione δ per l’i-esimotermine del vettore b. Il nuovo vettore sarà b′=b+δei

(dove ei è un vettore m-dimensionale con 1 inposizione i e 0 in tutte le altre posizioni).

Se AB rappresenta la base ottima per il problemaprimale, i coefficienti di costo ridotto a essaassociati resteranno non negativi (ammissibilità delduale). Pertanto, la base AB resterà ottimale se esolo se resterà ammissibile per il primale. In altritermini AB resterà ottimale se e solo se AB

−1b′≥0m; inquesto caso il nuovo valore (ottimo) di funzioneobiettivo sarà cB

TAB−1b′.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

106Ricerca Operativa

Analisi di sensitivitàTableau ottimo:

AB−1b′≥0m → AB

−1b+AB−1(δei)≥0m → +AB

−1(δei)≥0m.Per individuare un intervallo di valori per δ per i qualiAB resta ammissibile, è sufficiente risolvere il sistema

+AB−1(δei)≥0m che ha come unica incognita δ.b

b

0mT

I

=cNT− cB

TAB−1AN= cN

T− wTAN

ĀN=AB−1AN

−cBTAB

−1b =− wTb

= AB−1b

TNc

b

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

107Ricerca Operativa

Analisi di sensitivitàEsempioSia dato il seguente problema di PL:

Min −x1−5x2+2x3

−x1+2x2+2x3 +x4 = 5x1 +x2+4x3 +x5 = 6x1, x2, x3 , x4, x5 ≥ 0

La tabella iniziale è−1 −5 2 0 0 0−1 2 2 1 0 5

1 1 4 0 1 6

(forma canonica standard rispetto a B={4,5}).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

108Ricerca Operativa

Analisi di sensitivitàRisolvendo il problema con il metodo del simplessosi ottiene la seguente tabella ottima (rispettoall’insieme di indici di base B={2,1}).

0 0 14 4/3 7/3 62/30 1 2 1/3 1/3 11/31 0 2 −1/3 2/3 7/3

L’inversa della matrice di base ottima è facilmentededucibile da questa tabella:

⎥⎦

⎤⎢⎣

⎡−

=−

3/23/13/13/11

BA

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

109Ricerca Operativa Introduzione alla

teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Analisi di sensitività1. Effettuare l’analisi di sensitività sul termine b1

(b1′=b1+δ) → determinare l’intervallo di variabilitàdel termine noto del primo vincolo entro cui la baseottima non viene modificata.

+AB−1(δei):

Affinché AB (B={2,1}) resti ottima per il primale sideve avere:

⎥⎥⎥

⎢⎢⎢

+=⎥

⎤⎢⎣

⎡−

+⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

+⎥⎦

⎤⎢⎣

δ

δ

δδδ

31

37

31

311

3/13/1

3/73/11

03/23/13/13/1

3/73/11

b

11031

311

−≥→≥+ δδ

7031

37

≤→≥− δδ

110Ricerca Operativa

Analisi di sensitivitàPertanto la base ottima non cambia se: −11 ≤δ ≤ 7.Il nuovo valore (ottimo) di funzione obiettivo sarà

cBTAB

−1b′=cBT[ +AB

−1(δei)]=

2. Considerando b1=6, calcolare la nuova soluzioneottima e il suo valore di funzione obiettivo.

Con riferimento al termine noto b1, si ha δ=1. Poiché−11≤1≤7, la base ottima non cambia.

b [ ] δδ

δ

34

362

31

37

31

311

15 −−=⎥⎥⎥

⎢⎢⎢

+−−

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

111Ricerca Operativa

Analisi di sensitivitàLa soluzione ottima sarà:

Il suo valore di funzione obiettivo sarà:

2234

362

−=−− δ

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

+

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

00042

000

31

311

31

37

*5

*4

*3

*2

*1

δ

δ

xxxxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

112Ricerca Operativa

Analisi di sensitività3. Considerando b1=15, calcolare la nuova soluzione

ottima e il suo valore di funzione obiettivo.

Con riferimento al termine noto b1, si ha δ =10 → AB

non è più ammissibile per il primale(valore di δ fuorirange).Si può utilizzare AB come base iniziale per il metododel simplesso duale (considerato che AB rimaneuna base ammissibile per il problema duale).

Si deve ripartire dal tableau finale, calcolandonuovamente solo il vettore dei termini noti e il valoredi funzione obiettivo.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

113Ricerca Operativa

Analisi di sensitività

0 0 14 4/3 7/3 ?0 1 2 1/3 1/3 ?1 0 2 −1/3 2/3 ?

;

Si ottiene la seguente tabella (forma canonicaduale)

0 0 14 4/3 7/3 340 1 2 1/3 1/3 71 0 2 −1/3 2/3 −1

⎥⎦

⎤⎢⎣

⎡−

=⎥⎥⎥

⎢⎢⎢

+

17

31

37

31

311

δ

δ34

34

362

−=−− δ

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

114Ricerca Operativa

Analisi di sensitivitàApplicando il metodo del simplesso duale si ottiene:

4 0 22 0 5 301 1 4 0 1 6−3 0 −6 1 −2 3

La soluzione di base associata a questa tabella(con B={2,4}) è ottima e il suo valore di funzioneobiettivo è −30

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

03060

*5

*4

*3

*2

*1

xxxxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

115Ricerca Operativa

Analisi di sensitivitàVariazione del vettore cSi supponga ora di avere una variazione δ per ilj-esimo coefficiente di costo cj.Modificando il vettore b la regione ammissibile delproblema duale non subisce variazioni. In caso dimodifiche del vettore c, invece, è la regioneammissibile del primale a rimanere invariata. Diconseguenza la soluzione ottima (del primale)risulterà ammissibile anche dopo la variazione, mal’ottimalità non sarà più garantita.Il vettore dei coefficienti di costo ridotto associatoalle variabili non di base, rispetto alla base ottimaAB, è: cN

T–cBTAB

−1AN.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

116Ricerca Operativa

Analisi di sensitivitàDopo la variazione, la non negatività deicoefficienti di costo ridotto è condizione sufficienteper mantenere l’ottimalità di AB.

Due casi possono presentarsi:cj è il costo associato a una variabile non di baseall’ottimo,cj è il costo associato a una variabile di baseall’ottimo.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

117Ricerca Operativa

Analisi di sensitivitàNel primo caso, la variazione di cj implica unavariazione del costo ridotto della sola variabile nondi base associata a cj.La base AB resterà ottimale se: cj+δ –cB

TAB−1Aj≥0 →

δ ≥ cBTAB

−1Aj−cj (dove Aj è la colonna associata allavariabile interessata).Si noti che il termine cB

TAB−1Aj−cj=− è facilmente

deducibile dal tableau finale del metodo delsimplesso.Se AB resta ottimale la soluzione ottima nonché ilsuo valore di funzione obiettivo restano invariati.

jc

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

118Ricerca Operativa

Analisi di sensitività

Nel secondo caso, la variazione di cj implica ingenerale una variazione in tutti i coefficienti dicosto ridotto e del valore di funzione obiettivo (riga0 del tableau). La base AB resterà ottimale secN

T–cB′TAB−1AN≥ 0n−m

T, con cB′ ottenuto da cB variandoil solo costo della variabile interessata (cB′=cB+δ ,dove è il vettore che ha 1 nella posizione e 0 intutte le altre posizioni; è la posizione occupatadall’indice j nell’insieme B).cN

T–cBTAB

−1AN–(δ )TAB−1AN≥ 0n−m

T → – δ ĀN ≥ 0n−mT

( ĀN è il vettore dei coefficienti associati allevariabili non di base nella riga della tabellaottima).

TNc

jeˆ

jeˆ

jeˆ

Tjeˆ

jj

Tjeˆ

j

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

119Ricerca Operativa

Analisi di sensitivitàIn entrambi i casi, se si perde l’ottimalità della baseAB, si può ripartire da essa applicando il metodo delsimplesso.

EsempioPer il problema dell’esempio precedente si ha:

Tabella iniziale (forma canonica standard rispetto aB={4,5}):

−1 −5 2 0 0 0−1 2 2 1 0 5

1 1 4 0 1 6

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

120Ricerca Operativa

Analisi di sensitivitàTabella ottima (rispetto all’insieme di indici di baseB={2,1}):

0 0 14 4/3 7/3 62/30 1 2 1/3 1/3 11/31 0 2 −1/3 2/3 7/3

Analisi di sensitività sul coefficiente c3=2 (associatoa una variabile non di base all’ottimo):se il coefficiente c3 viene incrementato di δ, lasoluzione [x1

* x2* x3

* x4* x5

*]=[7/3 11/3 0 0 0]T resteràottima se δ ≥−14 (valore di funzione invariato).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

121Ricerca Operativa

Analisi di sensitivitàAnalisi di sensitività sul coefficiente c1=−1 (associatoa una variabile di base all’ottimo):se il coefficiente c1 viene incrementato di δ,l’insieme di indici di base B={2,1} resterà ottimo se

– δ ĀN ≥ 0n−mT

14−2δ ≥ 0 → δ ≤ 74/3+δ/3 ≥ 0 → δ ≥−47/3 −2δ/3 ≥ 0 → δ ≤ 7/2

TNc

[ ] [ ] [ ]0003/23/123/73/414 ≥−− δ

Tjeˆ

−4 ≤δ ≤ 7/2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

122Ricerca Operativa

Analisi di sensitivitàIntroduzione di un ulteriore vincoloL’introduzione di un vincolo del tipo am+1x≤bm+1 in unproblema P di PL permette di definire un nuovoproblema P′ tale che la regione ammissibile di P′ ècontenuta nella regione ammissibile di P:Ω(P′)⊆Ω(P). Pertanto, indicando con x* la soluzioneottima di P, se x*∈Ω(P′) allora x* è soluzione ottimaanche di P′.

Ciò significa che se la soluzione ottimale delproblema originario soddisfa anche il vincoloaggiuntivo allora la soluzione sarà ancora ottimale.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

123Ricerca Operativa

Analisi di sensitività

Viceversa è necessario introdurre la (m+1)-esimariga nel tableau (quella corrispondente al nuovovincolo) e ripristinare la forma canonica delproblema relativamente all’insieme di indici di baseottimo B. Si avrà: <0, come conseguenza delfatto che la soluzione non sarà più ammissibile per ilprimale.Si avrà dunque una tabella iniziale per il metodo delsimplesso duale (metodo che condurrà a unanuova soluzione ottima per P′).

1+mb

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

124Ricerca Operativa

Analisi di sensitivitàEsempioSi consideri lo stesso problema P degli eserciziprecedenti:

Min −x1−5x2+2x3

−x1+2x2+2x3 +x4 = 5x1 +x2+4x3 +x5 = 6x1, x2, x3 , x4, x5 ≥ 0

La soluzione ottima di P è:x1

*=7/3, x2*=11/3, x3

*=0, x4*=0, x5

*=0.

Cosa succede se al problema P si aggiunge ilvincolo: 6x1+3x2+2x3≤28?

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

125Ricerca Operativa

Analisi di sensitivitàLa soluzione ottima resterà invariata perché essasoddisfa anche il nuovo vincolo:6 ( )+ 3( ) + 2(0) ≤28 → 25 ≤28.

Cosa succede se al problema P si aggiunge ilvincolo: 6x1+3x2+2x3≤24? Tale vincolo non èsoddisfatto dalla soluzione ottima di P.La tabella ottima (rispetto all’insieme di indici dibase B={2,1}) è:

0 0 14 4/3 7/3 62/30 1 2 1/3 1/3 11/31 0 2 −1/3 2/3 7/3

37

311

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

126Ricerca Operativa

Analisi di sensitivitàTale tabella deve essere trasformata introducendouna riga corrispondente ai coefficienti del nuovovincolo e una colonna corrispondente alla variabiledecisionale x6 (da utilizzare per trasformare il vincoloaggiuntivo in un vincolo di uguaglianza):

0 0 14 4/3 7/3 0 62/30 1 2 1/3 1/3 0 11/31 0 2 −1/3 2/3 0 7/36 3 2 0 0 1 24

Facendo operazioni di pivot sugli elementi di posto(1,2) e (2,1) si ottiene una tabella iniziale per ilmetodo del simplesso duale.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

127Ricerca Operativa

Analisi di sensitività

0 0 14 4/3 7/3 0 62/30 1 2 1/3 1/3 0 11/31 0 2 −1/3 2/3 0 7/36 0 −4 −1 −1 1 13

0 0 14 4/3 7/3 0 62/30 1 2 1/3 1/3 0 11/31 0 2 −1/3 2/3 0 7/30 0 −16 1 −5 1 −1

Applicando il metodo del simplesso duale, si sceglie come riga di pivot la terza. La colonna di pivot è la quinta.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

128Ricerca Operativa

Analisi di sensitività

Infatti si ha: .

Eseguendo l’operazione di pivot si ottiene

0 0 98/15 9/5 0 7/15 101/50 1 14/15 2/5 0 1/15 18/51 0 −2/15 −1/5 0 2/15 11/50 0 16/5 −1/5 1 −1/5 1/5

La soluzione ottima è: x1*=11/5, x2

*=18/5, x3*=0, x4

*=0,x5

*=1/5. A essa corrisponde il seguente valore difunzione obiettivo: −101/5.Si noti che −101/5>−62/3 (peggioramento dellafunzione obiettivo).

53/7

53/7,

1614max

−=

⎭⎬⎫

⎩⎨⎧

−−

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

129Ricerca Operativa

Interpretazione economica delle variabili dualiSi consideri un problema P di PL in forma standard:

Min z = cTxA x= b

x ≥ 0n

Il corrispondente duale D sarà:

Max π = bTwATw≤ c

Se B rappresenta l’insieme di indici di base ottimo(AB → base ottima) il problema P, riscritto nella formacanonica, diventa il seguente

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

130Ricerca Operativa

Interpretazione economica delle variabili duali

Min z= cBTAB

−1b + (cNT− cB

TAB−1AN) xN

xB +AB−1ANxN = AB

−1bxB ≥ 0m, xN ≥ 0n−m

La soluzione di base ottima è x= = . A essa

corrisponde il valore di funzione obiettivo seguente:z=cB

TAB−1b.

La soluzione complementare di x (rispetto a B) è:wT=cB

TAB−1. Tale soluzione è ottima per D.

Se si perturba di una quantità δ l’i-esimacomponente del vettore b, la soluzione di base x sitrasforma.

⎥⎦

⎤⎢⎣

N

B

xx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

⎥⎥⎦

⎢⎢⎣

⎡ −

0

1bAB

0n−m

131Ricerca Operativa

Interpretazione economica delle variabili duali

Essa diventa x′ = = . Il suo valore di funzione

obiettivo diventa: z′=cBTAB

-1b′=cBTAB

-1(b+δ ei).

Ipotesi: la perturbazione δ è tale da non modificarela base ottima (AB resta ottima), cioè x′≥ 0n

Variazione del valore di funzione obiettivo dovutaalla perturbazione dell’i-esima componente delvettore b:Δz=z′−z=cB

TAB-1(b+δei)−cB

TAB-1b=cB

TAB-1(δei)=wT(δei)=wiδ

Segue che: .

⎥⎦

⎤⎢⎣

⎡′

N

B

xx

δzwi

Δ=

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

⎥⎥⎦

⎢⎢⎣

⎡ ′−

0

1bAB

0n−m

132Ricerca Operativa

Interpretazione economica delle variabili dualiInterpretazione: l’i-esima variabile duale all’ottimorappresenta l’incremento del valore di funzioneobiettivo quando un’unità in più di bi si rendedisponibile (δ=1). Ciò vale a condizione che una talevariazione di bi non modifichi la base ottima.

In altri termini, se bi rappresenta la disponibilità di unarisorsa scarsa (l’i-esima) e la base resta immutata seun’unità in più di bi si rende disponibile, allora wi

rappresenta il valore marginale della risorsa i-esimaindipendentemente dal suo prezzo di mercato (cioèrappresenta il suo prezzo ombra).

valore marginale di una risorsa: incremento del valore di funzioneobiettivo per incremento unitario della risorsa

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

133Ricerca Operativa

Interpretazione economica delle variabili dualiIl valore assunto dalle variabili duali all’ottimo è deltutto generale, cioè indipendente dalla forma delproblema di PL (il problema è stato ipotizzato informa standard al solo scopo di semplificare latrattazione) .

Per problemi di massimizzazione con l’i-esimo vincolodel tipo “≤” il prezzo ombra dell’i-esima risorsa saràsicuramente non negativo; mentre per un vincolo deltipo “≥” esso sarà sicuramente non positivo.

Per problemi di minimizzazione vale il viceversa.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

134Ricerca Operativa

Interpretazione economica delle variabili dualiSignificato delle relazioni di complementarietàIl valore marginale di una risorsa è nullo quando larisorsa non è completamente utilizzata.

EsempioUn’azienda deve produrre 2 tipi di prodotto (A e B) apartire da una materia prima C disponibile in quantitàlimitata e attraverso lavorazioni su una macchina M. Perprodurre un’unità di A sono necessari 3 kg di C e 2 ore dilavorazione su M, mentre per produrre un’unità di B sononecessari 2 kg di C e 1 ora di lavorazione su M. Si hanno adisposizione 1000 kg di C e 600 ore complessive dilavorazione su M (la macchina è infatti utilizzata anche peraltre linee di produzione nel periodo di riferimento).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

135Ricerca Operativa

Interpretazione economica delle variabili dualiVariabili decisionali:x1: livello di produzione di A (può essere un numerofrazionario);x2: livello di produzione di B (può essere un numerofrazionario).

Vincoli:1. 3x1+2x2≤1000 (vincolo relativo alla materia prima C)2. 2x1+x2≤600 (vincolo relativo alla macchina M)

L’obiettivo dell’industria coinciderà sicuramente conla massimizzazione del profitto (in €), ma nonvengono forniti dati per scrivere la funzione obiettivo(non essenziale per gli scopi di questo esempio).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

136Ricerca Operativa

Interpretazione economica delle variabili dualiSi consideri [x1

* x2*]=[0 500]T come soluzione ottima

del problema (primale) e [w1* w2

*]= [9 0]T comesoluzione ottima del corrispondente duale.

Si ipotizzi, inoltre, che l’incremento di una unità dellaprima risorsa (1000+1) non modifichi la base ottima.Allo stesso modo, si ipotizzi che un incrementounitario della seconda risorsa (600+1) non modifichi labase ottima.

Si può dire che:La disponibilità di 1 kg in più della materia prima Cporta a un incremento della funzione obiettivo di 9 (ilprofitto complessivo aumenta di 9 €), essendo w1

*=9.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

137Ricerca Operativa

Interpretazione economica delle variabili dualiIn altri termini, la variabile duale w1

* determina ilvalore marginale della materia prima C ed èchiamata “prezzo ombra” di questa risorsa. E’ ovvioche 9 € rappresenta anche il massimo prezzo che sisarebbe disposti a pagare per aumentare ladisponibilità della materia prima C di 1 kg(acquistandola, ad esempio, dall’esterno).La disponibilità di 1 ora in più sulla macchina M nonproduce incrementi di profitto, essendo w2

*=0 (prezzoombra nullo).

Nota: con riferimento al secondo vincolo del primalesi può scrivere la seguente relazione dicomplementarietà: w2(600−2x1−x2)=0.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

138Ricerca Operativa

Interpretazione economica delle variabili duali All’ottimo il secondo vincolo non è soddisfatto peruguaglianza: 2x1

*+x2*=2(0)+(500)=500 (500<600).

Quindi, poiché 600−2x1*−x2

*≠0, per soddisfare larelazione di complementarietà si trova w2

*=0.

le ore disponibili sulla macchina M sono utilizzate soloin parte (500 su 600); ciò significa che non si sfrutta apieno questa risorsa. Il suo valore marginale èevidentemente nullo (w2

*=0). Avere a disposizioneun’ora in più sulla macchina M è perfettamenteinutile per l’azienda considerando che ci sono giàore lavorative inutilizzate.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

139Ricerca Operativa

DualitàEsercizio di ricapitolazioneUn’industria chimica produce 3 tipologie di prodotto(1,2,3) che vende a 20 €/kg, 12 €/kg e 25 €/kg(rispettivamente). Per la produzione utilizza 2 impianti.Le ore richieste per produrre 1 kg di prodotto sui dueimpianti è riassunto nella tabella seguente:

L’impianto 1 è disponibile per 16 ore al giorno, mentrel’impianto 2 è disponibile per 21 ore al giorno.

ProdottoImpianto 1 2 3

1 2 1 42 2,4 1,5 3

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

140Ricerca Operativa

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

DualitàIndicando con xj il livello di produzione giornaliero(in kg) del prodotto j (j=1,2,3) si può formulare ilseguente problema P:

Max zz = 20x1 +12x2+25x3

2x1 +x2 +4x3 ≤ 1612/5 x1+3/2x2 +3x3 ≤ 21

x1, x2, x3 ≥ 0

tabella iniziale (forma canonica rispetto a B={4,5})−20 −12 −25 0 0 0

2 1 4 1 0 1612/5 3/2 3 0 1 21

141Ricerca Operativa

Dualitàtabella ottima (rispetto all’insieme di indici di base B={1,2})

0 0 3 2 20/3 1721 0 5 5/2 −5/3 50 1 −6 −4 10/3 6

La soluzione ottima per il problema P (originario) è x* =[x1

* x2* x3

*]T = [5 6 0]T e il suo valore di funzione obiettivo è z* = 172.

Domande:

1. Formulare il duale D corrispondente al problema P.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

142Ricerca Operativa

Dualità2. Effettuare l’analisi di sensitività sulle componenti del

vettore delle risorse b=[16 21]T (Soluzione: per b1 siha −2≤δ≤3/2, per b2 si ha −9/5≤δ≤3).

3. Sfruttando i risultati dell’analisi di sensitività su b2 econsiderando b2=24, ridefinire x* e z* (Soluzione:x* =[x1

* x2* x3

*]T = [0 16 0]T ; z*=192).4. Ricavare la soluzione ottima di D utilizzando le

relazioni di complementarietà (Soluzione:[w1

* w2*]T =[2 20/3]T).

5. Dare un’interpretazione economica della variabileduale ottima w1

*.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

143Ricerca Operativa

Programmazione Lineare Intera (PLI)Finora sono stati presentati problemi in cui levariabili decisionali potevano assumere valori reali(regione ammissibile ≡ insieme continuo)

Problemi di Programmazione Lineare (PL)

Ora si farà riferimento a problemi in cui le variabilipossono assumere solo valori interi (regioneammissibile ≡ insieme discreto)

Problemi di Programmazione Lineare Intera (PLI)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

144Ricerca Operativa

Programmazione Lineare Intera (PLI)

Esempi di variabili decisionali intere:numero di automobili di una certa tipologia chedeve produrre un’industria automobilistica;numero di persone da assegnare a un determinatoturno in un’azienda ospedaliera.

In particolare, le variabili decisionali possono essere di 2tipi:variabili di tipo generale che assumono valori interi inintervalli definiti dai vincoli del modello (le variabili degliesempi precedenti sono variabili di questo tipo);variabili binarie che si presentano nei casi in cui sidevono prendere delle decisioni di tipo si/no (associabiliai valori 1/0).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

145Ricerca Operativa

Programmazione Lineare Intera (PLI)

Quando le variabili decisionali sono binarie si usaspesso il termine di Programmazione Lineare Binariain luogo di Programmazione Lineare Intera.

Esistono, infine, i cosiddetti problemi diProgrammazione Lineare Mista. Si tratta di problemidi PL con alcune variabili decisionali continue ealtre intere (di tipo generale e/o binario).

Stessa metodologia di risoluzione (nel seguito,comunque, verranno considerati solo problemi diPLI con variabili decisionali di tipo generale).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

146Ricerca Operativa

Proprietà dei problemi di PLI

Per cogliere le caratteristiche distintive di unproblema di PLI e, quindi, capire in che misura unproblema di PLI si discosta da un problema di PL, ènecessario fare riferimento al concetto dirilassamento.Qualsiasi problema di ottimizzazione vincolata puòessere “rilassato” eliminando uno o più vincoli inmodo da ottenere un nuovo problema dallastruttura semplificata.Eliminare un vincolo ha sempre l’effetto di alterarela regione ammissibile (in particolare allargandola,se il vincolo che si sta eliminando non è superfluo oridondante).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

147Ricerca Operativa

Proprietà dei problemi di PLI

Per tale ragione, indicando con Ω(P′) e Ω(P′′)rispettivamente le regioni ammissibili del problemaP′ originario e del problema P′′ ottenuto eliminandoun vincolo di P′, si ha Ω(P′)⊆Ω(P′′).

Il tipo di rilassamento più utilizzato nell’ambito dellaPLI è l’eliminazione dei vincoli sull’interezza dellevariabili decisionali (vincoli a tutti gli effetti). Se ivincoli di interezza di un problema di PLI vengonoeliminati, il problema che si ottiene è un problemadi PL ed è denominato rilassato continuo (osemplicemente rilassato) del problema di partenza.

Sia P un problema di PLI e PR il suo rilassato continuo.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

148Ricerca Operativa

Proprietà dei problemi di PLILa regione ammissibile di P è contenuta nellaregione ammissibile del suo rilassato continuo:Ω(P)⊆Ω(PR).

Ω(P) Ω(PR)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

149Ricerca Operativa

Proprietà dei problemi di PLISe PR ammette soluzione ottima con valore difunzione obiettivo zR e P ammette soluzione ottimacon valore di funzione obiettivo z, si ha certamentezR≤z (se P è un problema di minimizzazione), zR≥z (seP è un problema di massimizzazione)

Nota: PR potrebbe ammettere ottimo finito e Ω(P) essere vuota.

A: soluzione ottima di PRB: soluzione ottima di P eammissibile per PR

z(A)≥ z(B)

max

A

B

z(A)z(B)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

150Ricerca Operativa

max

Proprietà dei problemi di PLISe la soluzione ottima di PR è ammissibile per P (cioèle variabili decisionali hanno valori interi) allora essaè ottima per P (caso in cui zR=z).

Se PR è inammissibile (Ω(PR)=∅) allora P èinammissibile (Ω(P)=∅).Se PR è illimitato allora P è illimitato oppureinammissibile.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

151Ricerca Operativa

Proprietà dei problemi di PLI

Si consideri, ad esempio, il seguente problema P diPLI:

Max x2

x1 ≥ 1/4x1 ≤ 3/4x1, x2 ≥ 0x1, x2 int.

Il suo rilassato continuo è illimitato, mentre P èinammissibile.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

152Ricerca Operativa

Risoluzione dei problemi di PLIUn'importante osservazione è la seguente:<< I problemi di PL sono in generale molto più semplici darisolvere dei problemi di PLI. In particolare, il rilassatocontinuo di un problema di PLI è tipicamente molto piùfacile da risolvere del problema di PLI stesso >>

Questa osservazione potrebbe spingere a risolvereun problema P di PLI mediante la seguenteprocedura

1. si risolve il suo rilassato continuo PR;2. se la soluzione di PR è ammissibile per P allora è

ottima per P; altrimenti le componenti non interedella soluzione di PR vengono approssimateall’intero più vicino (arrotondamento).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

153Ricerca Operativa

Risoluzione dei problemi di PLIUna procedura del genere rischia di restituirerisultati molto inesatti. Ad esempio, come osservatoin precedenza, esistono casi in cui il rilassatocontinuo PR ha soluzione ottima finita mentre ilproblema P di PLI ha regione ammissibile vuota. Intal caso, applicando la procedura appenadescritta si avrebbe una soluzione ottima per unproblema che non ha neppure una soluzioneammissibile!

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

154Ricerca Operativa

Risoluzione dei problemi di PLIIn generale, gli errori a cui si va incontro utilizzandola procedura precedente sono di due tipi:la soluzione ottenuta può risultare inammissibile peril problema di PLI;la soluzione, pur essendo ammissibile per ilproblema di PLI, può discostarsi di molto dalla realesoluzione ottima.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

155Ricerca Operativa

Risoluzione dei problemi di PLIP: problema di PLIPR: rilassato continuo di P

soluzione ottima per P

soluzione ottima per PR

unica soluzione ammissibile data da arrotondamento

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

156Ricerca Operativa

Risoluzione dei problemi di PLIQuando, come nella maggior parte dei casi reali, laregione Ω(PR) del rilassato continuo di un problema Pdi PLI è limitata, è immediatamente verificabile unadiversa cardinalità delle due regioni ammissibili: ilnumero di soluzioni ammissibili per PR è infinito, mentrerisulta finito quello per P. Nel seguito della trattazione sifarà riferimento solo a questo caso.

Idea risolutiva alternativa: valutare la funzioneobiettivo z in corrispondenza di ciascuna soluzioneammissibile del problema di PLI e scegliere quellasoluzione che minimizza (o massimizza) z → tecnica dienumerazione totale.

Problema: questo numero finito di soluzioni può essereimmensamente grande.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

157Ricerca Operativa

Risoluzione dei problemi di PLIAd esempio, in un problema di programmazionelineare binaria con n variabili decisionali, le soluzionida considerare sono 2n (prima valutando ilsoddisfacimento dei vincoli e poi, eventualmente,calcolando il valore di funzione obiettivocorrispondente). Già con n=30 ci sono più di unmiliardo di soluzioni.

Esistono tecniche enumerative più avanzate, ingrado di ridurre drasticamente i tempi di calcolomediante piccoli accorgimenti che impongono lavalutazione delle sole soluzioni ammissibilirispondenti a dei criteri prestabiliti (tecniche dienumerazione parziale).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

158Ricerca Operativa

Metodo di Branch & BoundFra i metodi di enumerazione parziale più conosciutied efficaci per risolvere un problema P di PLI c’è ilmetodo di Branch & Bound (B&B).

Il termine “branch” fa riferimento al processo diseparazione del problema P.

Il termine “bound” si riferisce alla determinazione divalori numerici che vengono usati per dimostrareche una qualche soluzione ammissibile (calcolatanel corso della procedura) è ottimale senza doverricorrere a una ricerca esaustiva.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

159Ricerca Operativa

Metodo di Branch & BoundSeparazioneDato un problema P di PLI con regione ammissibileΩ(P), si dice che P viene separato nei sottoproblemiP1,P2,…,Pr se le regioni ammissibili dei sottoproblemiΩ(P1), Ω(P2),…,Ω(Pr) formano una partizione di Ω(P).In altri termini devono essere soddisfatte le seguenticondizioni:Ω(Ph)∩Ω(Pj)=∅, ∀ h≠j (h,j=1,2,…..,r);

.)()(1

PPr

hh Ω=Ω

=U

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

160Ricerca Operativa

Metodo di Branch & BoundI sottoproblemi P1,P2,…,Pr (che sono ancoraproblemi di PLI) sono detti “discendenti” (o “figli”) diP. Un generico sottoproblema Ph (h=1,2,…,r) puòavere a sua volta dei discendenti.

Se Ph viene separato nei sottoproblemiPr+1,Pr+2,…,Pr+s, allora le regioni ammissibiliΩ(Pr+1),Ω(Pr+2),…,Ω(Pr+s) rappresentano unapartizione di Ω(Ph), mentre le regioni ammissibiliΩ(P1),Ω(P2),…,Ω(Ph−1),Ω(Ph+1),…,Ω(Pr),Ω(Pr+1),…,Ω(Pr+s)rappresentano una nuova partizione di Ω(P), piùfine della precedente.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

161Ricerca Operativa

Metodo di Branch & BoundTipicamente il processo di separazione vienerappresentato utilizzando dei particolari grafi, dettialberi, che mettono chiaramente in luce lediscendenze. I nodi del grafo rappresentano ilproblema originario P e i vari sottoproblemi. Ilproblema originario P, spesso indicato con P0, è ilcosiddetto “nodo radice” (nodo senza archientranti poiché non discende da nessuno).I sottoproblemi che non hanno discendenti (cioèarchi uscenti) sono detti “nodi foglie”.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

162Ricerca Operativa

Metodo di Branch & Bound

P0

P1 P2

P3 P4

nodo radice

nodo foglianodo foglia

nodo foglia

Ω(P0)

Ω(P1)∩ Ω(P2)=∅Ω(P1)∪ Ω(P2)= Ω(P0)

Ω(P1) Ω(P2)

Ω(P3)∩ Ω(P4)=∅Ω(P3)∪ Ω(P4)= Ω(P2)

Ω(P1)∪Ω(P3)∪Ω(P4)= Ω(P0)

Ω(P1)

Ω(P3)

Ω(P4)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

163Ricerca Operativa

Metodo di Branch & BoundOsservazioniLa soluzione ottima x* del problema P0 originariopuò essere ottenuta confrontando le soluzioniottime di sottoproblemi le cui regioni ammissibiliformano una partizione di Ω(P0) → x* corrispondealla migliore fra le soluzioni ottime dei sottoproblemi.Il valore di funzione obiettivo di un “discendente”sarà sicuramente non migliore del valore di funzioneobiettivo del problema che lo ha generato (conriferimento all’albero precedente, ad esempio, siavrà se il problema è di minimizzazione).**

23 PP zz ≥

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

164Ricerca Operativa

Metodo di Branch & BoundResta da capire se e come separare un problemadi PLI (problema originario o sottoproblema).

Ci si può fermare con le separazioni (cioè si può“chiudere” il problema in esame Ph, h=0,1,2,…)quandoil problema Ph è risolto facilmente;si hanno elementi per concludere che la soluzioneottima di P0 non si trova nella regione ammissibile diPh (questo vale per h≠0).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

165Ricerca Operativa

Metodo di Branch & BoundEsempioIl problema originario P0 verrà direttamente chiuso(cioè non ci sarà alcuna separazione) se è facileda risolvere. Questo accade quando il suo rilassatocontinuo è inammissibile (di conseguenza P0 saràinammissibile) oppure la soluzione ottima delrilassato continuo ha coordinate intere (talesoluzione sarà anche la soluzione ottima di P0).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

166Ricerca Operativa

Metodo di Branch & BoundChiusura del generico problema Ph (criteri di“fathoming”)

Si ipotizzi di conoscere una soluzione ammissibileper il problema originario P0 con valore di

funzione obiettivo pari a .

Il problema Ph verrà chiuso se:il rilassato continuo di Ph è inammissibile. In questocaso anche Ph è inammissibile (la soluzione ottimadi P0 non si può trovare in un insieme vuoto!);la soluzione ottima del rilassato continuo di Ph hacoordinate intere. In questo caso essa è ammissibilee ottima per Ph;

xz

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

167Ricerca Operativa

Metodo di Branch & Boundla soluzione ottima del rilassato continuo di Ph nonha coordinate intere ma il suo valore di funzioneobiettivo è maggiore o uguale a se il problema èdi minimizzazione, minore o uguale se è dimassimizzazione.

In questo ultimo caso è perfettamente inutilecontinuare a esplorare la regione ammissibile di Ph.E’ certo, infatti, che tutte le soluzioni con coordinateintere in essa contenute sono non migliori di .

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

x

168Ricerca Operativa

Metodo di Branch & BoundIl valore di funzione obiettivo del rilassato continuodel problema Ph rappresenta un limite (bound) per ilvalore di funzione obiettivo di Ph. In particolare, è unlimite inferiore (lower bound) se il problema è diminimizzazione, è un limite superiore (upper bound)se il problema è di massimizzazione.

Criteri di separazioneQuando non sussistono le condizioni per chiudere ilproblema Ph sotto esame (h=0,1,2,…) esso vieneseparato. Questa operazione è più propriamentedefinita branching.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

169Ricerca Operativa

Metodo di Branch & BoundEsistono diverse strategie di separazione. La piùcomune, nel caso di variabili decisionali generali, sibasa sulla soluzione del rilassato continuo delproblema di PLI da separare. In particolare, se nellasoluzione del rilassato continuo la j-esima variabileassume un valore frazionario compreso fra k e k+1(con k intero) si possono generare duesottoproblemi aggiungendo al problema Ph daseparare il vincolo xj≤k in un sottoproblema e ilvincolo xj≥k+1 nell’altro. La j-esima variabile è dettavariabile di branching e k rappresenta la sua parteintera inferiore.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

170Ricerca Operativa

Metodo di Branch & BoundEsempio:

[1,8 2]T → soluzione ottima del rilassato continuodel problema Ph

x1 è la componente frazionaria della soluzione delrilassato continuo di Ph → x1 è la variabile dibranching.k coincide con la parte intera inferiore del suovalore, cioè con ⎣1,8⎦ → k=1.

(1,8 2)i punti con

coordinate intere costituiscono Ω(Ph)

0 1 2 3

2

1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

171Ricerca Operativa

Metodo di Branch & BoundVengono quindi generati due sottoproblemi: unoaggiungendo al problema Ph il vincolo x1≤1, l’altroaggiungendo a Ph il vincolo x1≥2.Conseguenza: si effettua una partizione dellaregione ammissibile del problema Ph in duesottoinsiemi senza escludere nessuna delle soluzionicon coordinate intere del problema partizionato.

0 1 2 3

2

1

0 1 2 3

2

1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

172Ricerca Operativa

Metodo di Branch & BoundIl criterio di separazione appena esposto fa nascereun albero di rappresentazione binario (un nododell’albero, corrispondente a un problema di PLI, èun “nodo foglia” oppure ha esattamente duediscendenti).

Nel caso di più componenti frazionarie nellasoluzione ottima del rilassato continuo, come sisceglie la variabile di branching?La scelta è assolutamente arbitraria. In ogni caso,un criterio molto utilizzato è il seguente: si sceglie lavariabile con valore frazionario “più lontano” da unintero.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

173Ricerca Operativa

Metodo di Branch & BoundEsempio

[3,8 4,6 3 4,1]T

Nel seguito viene fornito lo schema dell’algoritmo diB&B per un problema di minimizzazione .

Sia L la lista dei problemi di PLI da esaminare.

variabile di branching

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

174Ricerca Operativa

Metodo di Branch & Bound0. (Inizializzazione) Poni q=0 e L={P0}. Si indichi con

la migliore soluzione ammissibile disponibile(detta incombente) e con il suo valore di funzioneobiettivo.Nota: In genere, all’inizio non si conosce alcuna soluzioneammissibile per P0; in questo caso si avrà =+∞.1. (Criterio di arresto) Se L=∅, STOP → se <+∞,allora la soluzione ottima di P0 è rappresentatadall’incombente e il suo valore di funzioneobiettivo è ; altrimenti P0 è inammissibile.2. (Estrazione) Estrai dalla lista L un problema Ph.3. (Rilassamento) Risolvi il rilassato continuo di Ph

(indicato con Ph′).

xz

z

z

z

x

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

175Ricerca Operativa

Metodo di Branch & Bound4. (Chiusura)

4.1. Se Ph′ è inammissibile torna al passo 1;4.2. Se il valore ottimo di funzione obiettivo di Ph′

è maggiore o uguale di torna al passo 1(Nota: la soluzione ottima di Ph′ può essereammissibile per Ph oppure non ammissibile);

4.3. Se la soluzione ottima di Ph′ è ammissibile perPh e il suo valore di funzione obiettivo èminore di , aggiorna e e torna al passo1.

5. (Separazione) Separa Ph nei sottoproblemi Pq+1 ePq+2 e aggiungi questi sottoproblemi a L. Poni q=q+2e torna al passo 1.

x zz

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

176Ricerca Operativa

Metodo di Branch & BoundNel seguito si farà riferimento soltanto a problemi diPLI con variabili decisionali di tipo generale.

Al passo 5 verrà utilizzato il criterio di separazione ela strategia di scelta della variabile di branchingdescritti in precedenza (lucidi n. 170,173).

Resta da chiarire la strategia utilizzata al passo 2.Quale problema si deve estrarre da una lista checontiene più sottoproblemi?La scelta può essere assolutamente casuale.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

177Ricerca Operativa

Metodo di Branch & BoundEsistono tuttavia diverse strategie. Le più note sono:Strategia LIFO (Last-In-First-Out). Consiste nelloscegliere come problema da esaminare al passo 2l’ultimo problema di PLI generato (cioè il problema acui corrisponde l’indice più grande). Questa sceltacorrisponde a una procedura di visita dell’albero inprofondità.

Strategia FIFO (First-In-First-Out). Consiste nelloscegliere come problema da esaminare al passo 2 ilproblema di PLI generato prima degli altri della lista(cioè il problema a cui corrisponde l’indice piùpiccolo). Questa scelta corrisponde a una proceduradi visita dell’albero in ampiezza.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

178Ricerca Operativa

Metodo di Branch & Bound

P0

P1 P2

P3 P4

P6P5

1

27

6 3

5 4

Ordine di visita LIFO

P0

P1 P2

P3 P4

P6P5

1

32

4 5

6 7

Ordine di visita FIFO

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

179Ricerca Operativa

s.v.

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundEsempio 1Risolvere il seguente problema di PLI:

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1, x2 ≥ 0x1, x2 int.

Si indichi con P0 tale problema.

Prima iterazioneL={P0} e =+∞Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P0

180Ricerca Operativa

Metodo di Branch & BoundRisolvere il rilassato continuo di P0 equivale arisolvere il seguente problema di PL:

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1, x2 ≥ 0

Per applicare il metodo del simplesso a taleproblema (P0′) occorre ridurlo in forma standard

Min −x1 −x2

2x1 +5x2 +x3 = 304x1 −3x2 + x4 = 6x1, x2 , x3 , x4 ≥ 0

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

181Ricerca Operativa

Metodo di Branch & Bound

Il problema è già nella forma canonica (primale).La tabella iniziale è:

−1 −1 0 0 02 5 1 0 304 −3 0 1 6

La soluzione ammissibile di base associata a questatabella non è ottima. La colonna di pivot è laprima, mentre la riga di pivot è la seconda(min{30/2, 6/4}=6/4). La successiva tabella è:

0 −7/4 0 1/4 3/20 13/2 1 −1/2 271 −3/4 0 1/4 3/2

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

182Ricerca Operativa

Metodo di Branch & BoundLa soluzione ammissibile di base associata a questatabella non è ottima. La colonna di pivot è laseconda, mentre la riga di pivot è la prima. Lasuccessiva tabella è la seguente:

0 0 7/26 3/26 114/130 1 2/13 −1/13 54/131 0 3/26 5/26 60/13

La soluzione ottima del rilassato continuo P0′ è[60/13 54/13]T. Nessuno dei criteri di chiusura èsoddisfatto. Pertanto il problema P0 viene separatoin due sottoproblemi: P1 e P2.Scelta della variabile di branching: 60/13≈4,6; 54/13 ≈4,1 → x1. k=⎣60/13⎦=4

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

183Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundL={P1,P2} dove

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6 (P1)x1 ≤ 4x1, x2 ≥ 0x1, x2 int.

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6 (P2)x1 ≥ 5x1, x2 ≥ 0x1, x2 int.

184Ricerca Operativa

Metodo di Branch & BoundSeconda iterazione

=+∞; L={P1, P2}Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P1

Risolvere il rilassato continuo di P1 (cioè P1′) equivalea risolvere il seguente problema di PL:

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1 ≤ 4x1, x2 ≥ 0

s.v.

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

185Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P1′:

Min −x1 −x2

2x1 +5x2 +x3 = 304x1 −3x2 + x4 = 6x1 +x5 = 4x1, x2 , x3 , x4 , x5 ≥ 0

P1′ può essere risolto a partire dalla tabella ottima diP0′ (analisi di sensitività: aggiunta di un vincolo a unproblema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

186Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P0′:

0 0 7/26 3/26 114/130 1 2/13 −1/13 54/131 0 3/26 5/26 60/13

Trasformazione:

0 0 7/26 3/26 0 114/130 1 2/13 −1/13 0 54/131 0 3/26 5/26 0 60/131 0 0 0 1 4

Si ripristina la forma canonica facendoun’operazione di pivot sull’elemento 1 in posizione(2,1).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

187Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 7/26 3/26 0 114/130 1 2/13 −1/13 0 54/131 0 3/26 5/26 0 60/130 0 −3/26 −5/26 1 −8/13

Essa è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale. La riga dipivot è la terza, mentre la colonna di pivot è laquarta

53

526

263;

326

267max −=

⎭⎬⎫

⎩⎨⎧

⎟⎠

⎞⎜⎝

⎛−⎟⎠

⎞⎜⎝

⎛−

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

188Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 1/5 0 3/5 42/50 1 1/5 0 −2/5 22/51 0 0 0 1 40 0 3/5 1 −26/5 16/5

La soluzione ottima del rilassato continuo P1′ è[4 22/5]T. A essa è associato un valore di funzioneobiettivo pari a −42/5. Nessuno dei criteri di chiusuraè soddisfatto. Pertanto il problema P1 vieneseparato in due sottoproblemi: P3 e P4.

Variabile di branching: x2.k=⎣22/5⎦=4

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

189Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundMin −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1 ≤ 4 (P3)

x2 ≤ 4x1, x2 ≥ 0x1, x2 int.

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1 ≤ 4 (P4)

x2 ≥ 5x1, x2 ≥ 0x1, x2 int.

190Ricerca Operativa

z

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundTerza iterazione

=+∞; L={P2, P3, P4}Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P2

Risolvere il rilassato continuo di P2 (cioè P2′) equivalea risolvere il seguente problema di PL:

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1 ≥ 5x1, x2 ≥ 0

191Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P2′:

Min −x1 −x2

2x1 +5x2 +x3 = 304x1 −3x2 + x4 = 6−x1 +x5 = −5x1, x2 , x3 , x4 , x5 ≥ 0

Anche P2′ può essere risolto a partire dalla tabellaottima di P0′ (analisi di sensitività: aggiunta di unvincolo a un problema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

192Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P0′:

0 0 7/26 3/26 114/130 1 2/13 −1/13 54/131 0 3/26 5/26 60/13

Trasformazione:

0 0 7/26 3/26 0 114/130 1 2/13 −1/13 0 54/131 0 3/26 5/26 0 60/13

−1 0 0 0 1 −5

Si ripristina la forma canonica (duale) facendol’operazione di pivot sull’elemento 1 in posizione(2,1).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

193Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 7/26 3/26 0 114/130 1 2/13 −1/13 0 54/131 0 3/26 5/26 0 60/130 0 3/26 5/26 1 −5/13

Essa è nella forma canonica duale. Applicando ilmetodo del simplesso duale si può concludere cheil rilassato continuo P2′ è inammissibile.

Un criterio di chiusura è soddisfatto → non si separaP2.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

194Ricerca Operativa

Metodo di Branch & BoundQuarta iterazione

=+∞; L={P3, P4}Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P3

Rilassato continuo di P3 (cioè P3′):

Min −x1 −x2

2x1 +5x2 ≤ 304x1 −3x2 ≤ 6x1 ≤ 4

x2 ≤ 4x1, x2 ≥ 0

z

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

195Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P3′:

Min −x1 −x2

2x1 +5x2 +x3 = 304x1 −3x2 + x4 = 6x1 +x5 = 4

x2 +x6 = 4x1, x2 , x3 , x4 , x5 , x6 ≥ 0

P3′ può essere risolto a partire dalla tabella ottima diP1′ (analisi di sensitività: aggiunta di un vincolo a unproblema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

196Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P1′:

0 0 1/5 0 3/5 42/50 1 1/5 0 −2/5 22/51 0 0 0 1 40 0 3/5 1 −26/5 16/5

Trasformazione:

0 0 1/5 0 3/5 0 42/50 1 1/5 0 −2/5 0 22/51 0 0 0 1 0 40 0 3/5 1 −26/5 0 16/50 1 0 0 0 1 4

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

197Ricerca Operativa

Metodo di Branch & BoundSi ripristina la forma canonica facendoun’operazione di pivot sull’elemento 1 in posizione(1,2):

0 0 1/5 0 3/5 0 42/50 1 1/5 0 −2/5 0 22/51 0 0 0 1 0 40 0 3/5 1 −26/5 0 16/50 0 −1/5 0 2/5 1 −2/5

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale.L’elemento di pivot è −1/5.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

198Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 0 0 1 1 80 1 0 0 0 1 41 0 0 0 1 0 40 0 0 1 −4 3 20 0 1 0 −2 −5 2

La soluzione ottima di P3′ è [4 4]T. A essa è associatoun valore di funzione obiettivo pari a −8. Lasoluzione di P3′ ha coordinate intere → essa èanche la soluzione ottima di P3. Poiché −8< vieneaggiornato l’incombente e il suo valore di funzioneobiettivo: =[4 4]T; =−8.

z

zx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

199Ricerca Operativa

Metodo di Branch & BoundUn criterio di chiusura è soddisfatto; pertanto ilproblema P3 non viene separato.

Quinta iterazione=−8; L={P4}; criterio di arresto non verificato

Problema estratto da L ed esaminato: P4

Rilassato continuo di P4 (cioè P4′):

Min −x1 −x2

2x1+5x2 ≤ 304x1 −3x2 ≤ 6x1 ≤ 4

x2 ≥ 5x1, x2 ≥ 0

z

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

200Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P4′:

Min −x1 −x2

2x1 +5x2 +x3 = 304x1 −3x2 + x4 = 6x1 +x5 = 4

−x2 +x6 =−5x1, x2 , x3 , x4 , x5 , x6 ≥ 0

P4′ può essere risolto a partire dalla tabella ottima diP1′ (analisi di sensitività: aggiunta di un vincolo a unproblema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

201Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P1′:

0 0 1/5 0 3/5 42/50 1 1/5 0 −2/5 22/51 0 0 0 1 40 0 3/5 1 −26/5 16/5

Trasformazione:

0 0 1/5 0 3/5 0 42/50 1 1/5 0 −2/5 0 22/51 0 0 0 1 0 40 0 3/5 1 −26/5 0 16/50 −1 0 0 0 1 −5

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

202Ricerca Operativa

Metodo di Branch & BoundSi ripristina la forma canonica (duale) facendol’operazione di pivot sull’elemento 1 in posizione(1,2):

0 0 1/5 0 3/5 0 42/50 1 1/5 0 −2/5 0 22/51 0 0 0 1 0 40 0 3/5 1 −26/5 0 16/50 0 1/5 0 −2/5 1 −3/5

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale. La riga dipivot è la quarta, mentre la colonna di pivot è laquinta.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

203Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 1/2 0 0 3/2 15/20 1 0 0 0 −1 51 0 1/2 0 0 5/2 5/20 0 −2 1 0 −13 110 0 −1/2 0 1 −5/2 3/2

La soluzione ottima di P4′ è [5/2 5]T. A essa èassociato un valore di funzione obiettivo pari a−15/2.−15/2> → un criterio di chiusura è soddisfatto.

Sesta iterazioneL=∅ → criterio di arresto verificato.

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

204Ricerca Operativa

Metodo di Branch & BoundLa soluzione ottima del problema di PLI originario(P0) è rappresentata dall’incombente [4 4]T. A essacorrisponde un valore di funzione obiettivo pari a−8.Si noti che è stata adottata una strategia di tipoFIFO per la scelta dei problemi da esaminare a ogniiterazione.

Albero di B&BP0

P1 P2

P3 P4

x1≤4 x1≥5

x2≤4 x2≥5

z(P0′)=−114/13

z(P3′)=−8

z(P1′)=−42/5

z(P4′)=−15/2

inammis.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

205Ricerca Operativa

s.v.

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundEsempio 2Risolvere il seguente problema di PLI:

Min −x1 −x2

x2 ≤ 48x1 −5x2 ≤ 8x1, x2 ≥ 0x1, x2 int.

Si indichi con P0 tale problema.Prima iterazioneL={P0} e =+∞Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P0

206Ricerca Operativa

Metodo di Branch & BoundRisolvere il rilassato continuo di P0 equivale arisolvere il seguente problema di PL:

Min −x1 −x2

x2 ≤ 4 (P0′) 8x1 −5x2 ≤ 8x1, x2 ≥ 0

Per applicare il metodo del simplesso a taleproblema occorre ridurlo in forma standard

Min −x1 −x2

x2 + x3 = 48x1−5x2 +x4 = 8x1, x2 , x3 , x4 ≥ 0

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

207Ricerca Operativa

Metodo di Branch & Bound

Il problema è già nella forma canonica (primale).La tabella iniziale è la seguente:

−1 −1 0 0 00 1 1 0 48 −5 0 1 8

La soluzione ammissibile di base associata a questatabella non è ottima. La colonna di pivot è laprima, mentre la riga di pivot è la seconda. Lasuccessiva tabella è la seguente:

0 −13/8 0 1/8 10 1 1 0 41 −5/8 0 1/8 1

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

208Ricerca Operativa

Metodo di Branch & BoundLa soluzione ammissibile di base associata a questatabella non è ottima. La colonna di pivot è laseconda, mentre la riga di pivot è la prima. Lasuccessiva tabella è la seguente:

0 0 13/8 1/8 15/20 1 1 0 41 0 5/8 1/8 7/2

La soluzione ottima del rilassato continuo P0′ è[7/2 4]T. A essa è associato un valore di funzioneobiettivo pari a −15/2. Nessuno dei criteri di chiusuraè soddisfatto. Pertanto il problema P0 vieneseparato in due sottoproblemi: P1 e P2.

Variabile di branching: x1; k=⎣7/2⎦=3.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

209Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundL={P1,P2} dove

Min −x1 −x2

x2 ≤ 48x1 −5x2 ≤ 8 (P1)x1 ≤ 3x1, x2 ≥ 0x1, x2 int.

Min −x1 −x2

x2 ≤ 48x1 −5x2 ≤ 8 (P2)x1 ≥ 4x1, x2 ≥ 0x1, x2 int.

210Ricerca Operativa

Metodo di Branch & BoundSeconda iterazione

=+∞; L={P1, P2}Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P1

Risolvere il rilassato continuo di P1 equivale arisolvere il seguente problema di PL:

Min −x1 −x2

x2 ≤ 48x1−5x2 ≤ 8 (P1′)x1 ≤ 3x1, x2 ≥ 0

s.v.

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

211Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P1′:

Min −x1 −x2

x2 + x3 = 48x1 −5x2 + x4 = 8x1 + x5 = 3x1, x2 , x3 , x4 , x5 ≥ 0

P1′ può essere risolto a partire dalla tabella ottima diP0′ (analisi di sensitività: aggiunta di un vincolo a unproblema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

212Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P0′:

0 0 13/8 1/8 15/20 1 1 0 41 0 5/8 1/8 7/2

Trasformazione:

0 0 13/8 1/8 0 15/20 1 1 0 0 41 0 5/8 1/8 0 7/21 0 0 0 1 3

Si ripristina la forma canonica facendoun’operazione di pivot sull’elemento 1 in posizione(2,1).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

213Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 13/8 1/8 0 15/20 1 1 0 0 41 0 5/8 1/8 0 7/20 0 −5/8 −1/8 1 −1/2

Essa è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale. La riga dipivot è la terza, mentre la colonna di pivot è laquarta; infatti

118

81;

58

813max −=

⎭⎬⎫

⎩⎨⎧

⎟⎠

⎞⎜⎝

⎛−⎟⎠

⎞⎜⎝

⎛−

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

214Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 1 0 1 70 1 1 0 0 41 0 0 0 1 30 0 5 1 −8 4

La soluzione ottima del rilassato continuo P1′ è[3 4]T. A essa è associato un valore di funzioneobiettivo pari a −7. Poiché tale soluzione hacoordinate intere e −7< , si può aggiornarel’incombente e il suo valore di funzione obiettivoprima di “chiudere” P1.

=[3 4]T; =−7.x

z

z

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

215Ricerca Operativa

Metodo di Branch & BoundTerza iterazione

=−7; L={P2}Criterio di arresto: non verificatoProblema estratto da L ed esaminato: P2

Risolvere il rilassato continuo di P2 equivale arisolvere il seguente problema di PL:

Min −x1 −x2

x2 ≤ 48x1−5x2 ≤ 8 (P2′)x1 ≥ 4x1, x2 ≥ 0

z

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

216Ricerca Operativa

Metodo di Branch & BoundForma equivalente per P2′:

Min −x1 −x2

x2 + x3 = 48x1 −5x2 + x4 = 8− x1 + x5 = − 4

x1, x2 , x3 , x4 , x5 ≥ 0

Anche P2′ può essere risolto a partire dalla tabellaottima di P0′ (analisi di sensitività: aggiunta di unvincolo a un problema di PL già risolto).

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

217Ricerca Operativa

Metodo di Branch & BoundTabella ottima per P0′:

0 0 13/8 1/8 15/20 1 1 0 41 0 5/8 1/8 7/2

Trasformazione:

0 0 13/8 1/8 0 15/20 1 1 0 0 41 0 5/8 1/8 0 7/2

−1 0 0 0 1 −4

Si ripristina la forma canonica (duale) facendoun’operazione di pivot sull’elemento 1 in posizione(2,1).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

218Ricerca Operativa

Metodo di Branch & BoundLa tabella risultante è la seguente:

0 0 13/8 1/8 0 15/20 1 1 0 0 41 0 5/8 1/8 0 7/20 0 5/8 1/8 1 −1/2

Essa è nella forma canonica duale. Applicando ilmetodo del simplesso duale si può concludere cheil rilassato continuo P2′ è inammissibile.Un criterio di chiusura è soddisfatto → non si separaP2.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

219Ricerca Operativa

Metodo di Branch & BoundQuarta iterazione

=−7; L=∅Criterio di arresto: verificato

La soluzione ottima di P0 è [3 4]T; a essa corrispondeun valore di funzione obiettivo pari a −7.

Albero di B&B

z

P0

P1 P2

x1≤ 3 x1≥ 4

z(P0′)=−15/2

z(P1′)=−7 inammis.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

220Ricerca Operativa

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Metodo di Branch & BoundEsercizioRisolvere il seguente problema di PLI utilizzando ilmetodo di Branch & Bound:

Min z z=−2x1 −x2

2x1 ≤ 5−2x1 + x2 ≤ 1

x1, x2 ≥ 0x1, x2 int.

(Soluzione: x1*=2, x2

*=5, z*= − 9)

221Ricerca Operativa

Algoritmi dei piani di taglioApproccio alternativo al metodo B&B per larisoluzione dei problemi di PLI: algoritmo dei piani ditaglio.

Durante la fase di branching della tecnica B&B, sieffettua una suddivisione della regione ammissibilecorrente in due sottoregioni più piccole tramitel’imposizione di nuovi vincoli opportunamentericavati a partire dall’ultima soluzione ottimadeterminata. Un principio di riduzione del campo diindagine è anche alla base degli algoritmi dei pianidi taglio.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

222Ricerca Operativa

Algoritmi dei piani di taglioLa differenza sostanziale è costituita dal fatto che,in ciascuna fase degli algoritmi dei piani di taglio, siaggiunge un “unico nuovo vincolo” così darestringere la regione ammissibile di riferimentosenza sdoppiarla (tagliando appunto e nonseparando).

Nozioni preliminari:Si consideri un problema P0 di PLI. La sua regioneammissibile Ω(P0) è rappresentata dai vettori acoordinate intere contenuti nella regioneammissibile del suo rilassato continuo P0′, cioèall’interno dell’insieme convesso Ω(P0′).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

223Ricerca Operativa

Algoritmi dei piani di taglioAl solito, se risolvendo P0′ si ottiene una soluzione acoordinate intere (quindi ammissibile per P0), questasoluzione rappresenta anche la soluzione ottima diP0.

Nel seguito si farà l’ipotesi che P0 e P0′ ammettanosoluzioni ottime finite.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

224Ricerca Operativa

Algoritmi dei piani di taglioSi noti che esistono altri insiemi convessi checontengono Ω(P0) e che sono contenuti in Ω(P0′) →tali insiemi consentono in generale una più agevoledeterminazione del punto di ottimo del problemaP0.

Ottimo di P0′

Ω(P0′)

Insieme contenuto in Ω(P0′)

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

225Ricerca Operativa

Algoritmi dei piani di taglioDalla figura si evince che, in questo caso specifico,se la regione ammissibile del rilassato continuo di P0

coincidesse con l’insieme convesso contenuto inΩ(P0′), la sua risoluzione condurrebbe a unasoluzione a coordinate intere (quindi ottima per P0).

Il più piccolo insieme convesso che contiene Ω(P0)è definito copertura convessa di Ω(P0). Se uninsieme di questo tipo rappresentasse la regioneammissibile del rilassato continuo di P0, la soluzioneottima di P0 coinciderebbe sempre con quella delsuo rilassato continuo (per qualunque funzioneobiettivo lineare).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

226Ricerca Operativa

Algoritmi dei piani di taglioCopertura convessa → regione più “aderente” aΩ(P0).

In generale, determinare la copertura convessadella regione ammissibile di un problema di PLI èestremamente complicato.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

227Ricerca Operativa

Algoritmi dei piani di taglioGli algoritmi dei piani di taglio si basano sulleconsiderazioni appena viste. Al rilassato continuo delproblema iniziale vengono ripetutamente aggiunti deivincoli che rendono la sua regione ammissibile più“aderente” a Ω(P0).

Lo schema generale di un algoritmo dei piani di taglioè fornito di seguito:

1. Si risolve il problema originario P0 rilassando i suoivincoli di interezza.

2. Se la soluzione ottenuta rispetta i vincoli di interezzal’algoritmo termina (tale soluzione è ottima per P0),altrimenti si aggiunge al rilassato continuo un nuovovincolo detto piano di taglio (cutting plane) osemplicemente taglio.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

228Ricerca Operativa

Algoritmi dei piani di taglioTale vincolo riduce la regione ammissibile del rilassatocontinuo senza pregiudicare la determinazione dellasoluzione ottima di P0.

3. Si risolve il nuovo problema di PL (con vincoloaddizionale) e si torna al passo 2.

Il piano di taglio deve avere le seguenticaratteristiche:escludere la soluzione ottima corrente (nonammissibile per P0)Grazie a questa caratteristica, quando si risolve un nuovoproblema di PL (con vincolo addizionale) la soluzione ottimaprecedente non potrà essere nuovamente determinata.

non escludere alcuna soluzione ammissibile per P0.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

229Ricerca Operativa

Algoritmi dei piani di taglioFormalmente, indicando con x* la soluzione ottimacorrente (non ammissibile per P0), con αT e con βrispettivamente il vettore riga dei coefficienti e iltermine noto del vincolo addizionale, un piano ditaglio è una disuguaglianza del tipo αTx≤β tale che:αT x*>βαTx≤β ∀x∈Ω(P0)

αTx≤β

x*

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

230Ricerca Operativa

Algoritmi dei piani di taglioCi sono molti modi per generare piani di tagli.Alcuni sono generali e valgono per ogni problemadi PLI; altri sfruttano le proprietà di specificiproblemi (e sono, in generale, più “efficaci”).

Nel seguito sarà descritta una procedura per lagenerazione di tagli di tipo generale ideata daGomory.

Tagli di GomoryE’ possibile generare un taglio usando leinformazioni associate alla tabella ottima delmetodo del simplesso.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

231Ricerca Operativa

d TNc

b

Tagli di Gomory

Si consideri un problema di PL in forma standard(rilassato continuo di un problema di PLI)

Min z = cTxA x= b

x ≥ 0n

Individuato un insieme di indici di base B (inparticolare un insieme di indici di base B ottimo),questo problema di PL può essere scritto nellaseguente forma (canonica)

Min z= cBTAB

-1b + (cNT− cB

TAB-1AN) xN Min z= + xN

xB + AB-1ANxN = AB

-1b xB + ĀN xN =xB ≥ 0m, xN ≥ 0n−m xB ≥ 0m, xN ≥ 0n−m

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

232Ricerca Operativa

Tagli di GomoryTabella ottima:

In generale, sia xh una variabile frazionaria, con h inposizione t nell’insieme B. Il t-esimo vincolo delproblema (t-esima riga nella tabella ottima) è:

(1)

0mT

I

=cNT− cB

TAB−1AN

ĀN=AB−1AN

=−cBTAB

−1b

= AB−1b

TNc

b

d−

tjNj

tjh bxax =+∑∈

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

233Ricerca Operativa

Tagli di Gomory

Per la non negatività delle variabili decisionali, se sirimpiazza con la sua parte intera inferiore ,l’espressione precedente diventa:

(2)

Per il problema di PLI c’è l’ulteriore vincolosull’interezza delle variabili decisionali.Considerando anche questo vincolo, si può scriverela seguente disuguaglianza valida (taglio diGomory):

(3)

⎣ ⎦ tjNj

tjh bxax ≤+∑∈

⎣ ⎦tjatja

⎣ ⎦ ⎣ ⎦tjNj

tjh bxax ≤+∑∈

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

234Ricerca Operativa

Tagli di Gomory

Sottraendo (3) da (1) si ottiene una disuguaglianzadiversa ma ugualmente valida: i tagli di Gomory informa “frazionaria”:

(4)

Questa disuguaglianza è un taglio:non è soddisfatta dalla soluzione ottima corrente

• (perché è frazionario)• xj=0 ∀ j∈N. La (4) diventa 0≥ (numero

strettamente positivo) → impossibile!

nessuna soluzione a coordinate intere è eliminata(per costruzione).

⎣ ⎦( ) ⎣ ⎦ttjNj

tjtj bbxaa −≥−∑∈

⎣ ⎦ 0>− tt bb tb

⎣ ⎦tt bb −

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

235Ricerca Operativa

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Tagli di Gomory

Si precisa che anche la riga 0, relativa alla funzioneobiettivo, può essere presa in considerazione per lagenerazione di tagli (strategia che non verràadottata negli esempi numerici riportati di seguito).

Esempio 1Sia dato il seguente problema di PLI

Min −x1 +x2

x1 ≤ 1 (P0)−x1 +4x2 ≥ 5 x1, x2 ≥ 0x1, x2 int.

236Ricerca Operativa

Tagli di Gomory

Rilassato continuo di P0 in forma standard:

Min z=−x1 +x2

x1 + x3 = 1 −x1 +4x2 −x4 = 5 x1, x2 , x3 , x4 ≥ 0

Risolvendo tale problema di PL si perviene allaseguente tabella ottima:

0 0 3/4 1/4 −1/21 0 1 0 10 1 1/4 −1/4 3/2

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

237Ricerca Operativa

Tagli di Gomory

La soluzione ottima del rilassato continuo di P0 hauna componente frazionaria: x2=3/2 (h=2).B={1,2} → t=2; N={3,4}.Il taglio di Gomory è:

⎣ ⎦( ) ⎣ ⎦( ) ⎣ ⎦224242432323 bbxaaxaa −≥−+−

1231

410

41

43 −≥⎟⎠⎞

⎜⎝⎛ +−+⎟

⎠⎞

⎜⎝⎛ − xx

21

43

41

21

43

41

54343 −=+−−→≥+ xxxxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

238Ricerca Operativa

Tagli di Gomory

Introducendo il vincolo addizionale (taglio diGomory) la precedente tabella si trasforma nelseguente modo:

0 0 3/4 1/4 0 −1/21 0 1 0 0 10 1 1/4 −1/4 0 3/20 0 −1/4 −3/4 1 −1/2

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale. La riga dipivot è la terza, mentre la colonna di pivot è laquarta. Dopo l’operazione di pivot si perviene allatabella riportata nel seguito.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

239Ricerca Operativa

Tagli di Gomory

0 0 2/3 0 1/3 −2/31 0 1 0 0 10 1 1/3 0 −1/3 5/30 0 1/3 1 −4/3 2/3

La soluzione ottima del rilassato continuo di P0 (conil vincolo addizionale) ha ancora x2 frazionaria(h=2). B={1,2,4} → t=2; N={3,5}. Il taglio di Gomory è:

⎣ ⎦( ) ⎣ ⎦( ) ⎣ ⎦225252532323 bbxaaxaa −≥−+−

1351

310

31

53 −≥⎟⎠⎞

⎜⎝⎛ +−+⎟

⎠⎞

⎜⎝⎛ − xx

32

32

31

32

32

31

65353 −=+−−→≥+ xxxxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

240Ricerca Operativa

Tagli di Gomory

Introducendo il vincolo addizionale (taglio diGomory) la precedente tabella si trasforma nelseguente modo:

0 0 2/3 0 1/3 0 −2/31 0 1 0 0 0 10 1 1/3 0 −1/3 0 5/30 0 1/3 1 −4/3 0 2/30 0 −1/3 0 −2/3 1 −2/3

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale. La riga dipivot è la quarta, mentre la colonna di pivot è laquinta.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

241Ricerca Operativa

Tagli di GomoryDopo l’operazione di pivot si perviene alla tabellariportata nel seguito.

0 0 1/2 0 0 1/2 −11 0 1 0 0 0 10 1 1/2 0 0 −1/2 20 0 1 1 0 −2 20 0 1/2 0 1 −3/2 1

La soluzione ottima del rilassato continuo di P0 (con idue vincoli addizionali) ha componenti intere →criterio di arresto soddisfatto.L’ottimo è quindi rappresentato da [x1

* x2*]T=[1 2]T;

il suo valore di funzione obiettivo è 1.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

242Ricerca Operativa

Tagli di Gomory

Per chiarire meglio il concetto di taglio è utilevedere graficamente come l’algoritmo ha risolto ilproblema P0.

Occorre, a tale proposito, esprimere i vincoliaggiunti alla formulazione del rilassato di P0 infunzione delle variabili decisionali x1 e x2.

x1+ x3=1 → x3=1− x1

−x1 +4x2−x4=5 → x4=−x1 +4x2−5

21

43

41

543 −=+−− xxx

21435 3443

41

21 xxxxx +−−=++−=

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

243Ricerca Operativa

Tagli di Gomory

Primo taglio di Gomory

Secondo taglio di Gomory

43 21

43

41

2143 ≥+−→≥+ xxxx

32 32

32

31

2153 ≥+−→≥+ xxxx

Ottimo del rilassato continuo di P0

Ottimo del rilassato continuo di P0 con vincolo addizionale (primo taglio)

Ottimo del rilassato continuo di P0 con due vincoli addizionali (primo taglio + secondo taglio)→ ottimo di P0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

244Ricerca Operativa

s.v.

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Tagli di GomoryEsempio 2Sia dato il seguente problema di PLI

Max x1 +x2

2x1 ≤ 3 (P0)2x2 ≤ 3

x1, x2 ≥ 0x1, x2 int.

Rilassato continuo di P0 in forma standard:Min −x1 −x2

2x1 + x3 = 32x2 + x4 = 3

x1, x2 , x3, x4 ≥ 0

245Ricerca Operativa

Tagli di Gomory

Risolvendo il rilassato continuo di P0 si perviene allaseguente tabella ottima:

0 0 1/2 1/2 31 0 1/2 0 3/20 1 0 1/2 3/2

La soluzione ottima del rilassato continuo di P0 hadue componenti frazionarie. Si sceglie la prima(scelta arbitraria). h=1; B={1,2} → t=1; N={3,4}.Il taglio di Gomory è:

(poiché x3= 3−2x1 esso equivale a x1≤1)21

21

21

21

533 −=+−→≥ xxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

246Ricerca Operativa

Tagli di Gomory

Introducendo il vincolo addizionale (taglio diGomory) la precedente tabella si trasforma nelseguente modo:

0 0 1/2 1/2 0 31 0 1/2 0 0 3/20 1 0 1/2 0 3/20 0 −1/2 0 1 −1/2

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale.L’elemento di pivot è quello in posizione (3,3). Dopol’operazione di pivot si perviene alla tabellariportata nel seguito.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

247Ricerca Operativa

Tagli di Gomory

0 0 0 1/2 1 5/21 0 0 0 1 10 1 0 1/2 0 3/20 0 1 0 −2 1

La soluzione ottima del rilassato continuo di P0 conl’aggiunta del primo taglio ha una componentefrazionaria: x2=3/2 (h=2).B={1,2,3} → t=2; N={4,5}.Il taglio di Gomory è:

(poiché x4= 3−2x2 esso equivale a x2≤1)21

21

21

21

644 −=+−→≥ xxx

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

248Ricerca Operativa

Tagli di GomoryIntroducendo il vincolo addizionale (taglio diGomory) la precedente tabella si trasforma nelseguente modo:

0 0 0 1/2 1 0 5/21 0 0 0 1 0 10 1 0 1/2 0 0 3/20 0 1 0 −2 0 10 0 0 −1/2 0 1 −1/2

La tabella è nella forma canonica duale. Si puòapplicare il metodo del simplesso duale.L’elemento di pivot è quello in posizione (4,4). Dopol’operazione di pivot si perviene alla tabellariportata nel seguito.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

249Ricerca Operativa

Tagli di Gomory

0 0 0 0 1 1 21 0 0 0 1 0 10 1 0 0 0 1 10 0 1 0 −2 0 10 0 0 1 0 −2 1

La soluzione ottima del rilassato continuo di P0 (con idue vincoli addizionali) ha componenti intere →criterio di arresto soddisfatto.L’ottimo è quindi rappresentato da [x1

* x2*]T=[1 1]T;

il suo valore di funzione obiettivo è 2 (problemaoriginario di massimizzazione).

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

250Ricerca Operativa

Tagli di Gomory

Ottimo del rilassato continuo di P0

Ottimo del rilassato continuo di P0 con vincolo addizionale (primo taglio)

Ottimo del rilassato continuo di P0 con due vincoli addizionali (primo taglio +

secondo taglio)→ ottimo di P0

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

251Ricerca Operativa

s.v.

Introduzione alla teoria della dualità

Relazioni di complementarietà

Coppia primale-duale:

approfondimenti

Metodo del simplesso duale

Interpretazione dei problemi duali

Analisi di sensitività

Interpretazione delle variabili duali

all’ottimo

Programmazione Lineare Intera

Metodo di Branch & Bound

Algoritmi dei piani di taglio

Tagli di GomoryEsercizioRisolvere il seguente problema di PLI utilizzandol’algoritmo dei piani di taglio di Gomory:

Min zz = −3x1 −x2

8x1 + 4x2 ≤ 28−3x1 + 3x2 ≤ 9

x1, x2 ≥ 0x1, x2 int.

(Soluzione: x1*=3, x2

*=1, z*= − 10)