Upload
duongkhanh
View
230
Download
0
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)