Upload
phungkhanh
View
229
Download
0
Embed Size (px)
Citation preview
Metodi e Modelli di Programmazione Lineare
Massimo Paolucci
DIST – Università di Genova
2
La Programmazione Lineare (LP)
Modello di programmazione matematica
• x vettore delle variabili decisionali
• X insieme delle soluzioni ammissibili
• f(x) funzione obiettivo scalare
Metodo decisionale = algoritmo di ottimizzazione
max f(x)s.t.x X R n∈ ⊆
3
LP – richiami teorici
La definizione di un modello di programmazione matematica
FormulazioneMatematica
Definizionedelle variabili
Definizionedell’obiettivo
Definizionedei vincoli
4
LP – richiami teorici
Quando sia la funzione obiettivo che le relazioni che esprimono i vincoli sono lineari si ha un problema di PL
x è il vettore nx1 delle variabili decisionali
c è il vettore nx1 dei coefficienti della funzione obiettivo
b è il vettore mx1 dei termini noti dei vincoli
A è la matrice mxn dei coefficienti dei vincoli; A=[aij], i=1,...,m, j=1,...,n
n
T0
Rx
0x
bxA
xcxmax
∈
≥==
Problema in Forma
Standard
(1)
(2)
5
LP – richiami teorici
Ipotesi nella forma standard
b≥0 ⇒ bi≥0 ∀ i=1,...,m
m<n
m=rango(A)
Qualunque problema di PL può essere trasformato in un
problema equivalente in forma standard
Un vettore x° se soddisfa i vincoli (1) è detto soluzione, se
soddisfa (1) e (2) è soluzione ammissibile
Se x∈ Rn ⇒ PL a variabili continue
Se x∈ Zn ⇒ PL a variabili intere (IP)
Se alcune variabili sono reali ed altre intere ⇒ PL mista
(MIP)
6
LP – richiami teorici
Consideriamo i risultati fondamentali nel caso
di x∈ Rn
• L’insieme dei vincoli (in generale disuguaglianze)
rappresenta un Poliedro in Rn
• Dato un problema P di PL, se il Poliedro è:
chiuso e non vuoto (Politopo) P è ammissibile con soluzioni
ottime finite
aperto e non vuoto P può essere ammissibile con soluzioni
ottime finite oppure ammissibile senza soluzione ottime finite
(illimitato, o con ottimo all’infinito)
vuoto P è non ammissibile (senza soluzioni ammissibili)
• Un poliedro è un insieme convesso i cui vertici sono
detti Punti Estremi
7
LP – richiami teorici
X Politopo
X Aperto
X Vuoto
{ } ∅≠≤∈= bxA:xX nR
X
X
X1
X2
∅=∩= 21 XXX
8
LP – richiami teorici
La soluzione ottima finita (se esiste) corrisponde ad uno o
più punti estremi del poliedro.
Tali punti estremi sono caratterizzati algebricamente dalle
soluzioni di base ammissibili
Una soluzione di base corrisponde alla scelta di m variabili
su n, ossia alla scelta di una sottomatrice B (detta Base)
mxm di A invertibile, e si calcola annullando le restanti n-m
variabili fuori base.
)1x)mn((basefuori.vardelleVettore
)1mx(basedi.vardelleVettore
x
xx
N
B
−
=
9
LP – richiami teorici
Soluzione di base
Soluzione di base ammissibile se
xx
xB bB
N=
=
−1
0
x B bB = ≥−1 0
Teorema
Dato X={Ax=b, x≥0} insieme convesso, dove A è una
matrice mxn di rango m con m<n,
xe è un punto estremo di X se e solo se xe è una
soluzione di base ammissibile.
10
LP – richiami teorici
Il numero di soluzioni di base è limitato dal massimo
numero di matrici B estraibili da A
Teorema Fondamentale della PL
Se un problema di PL ammette soluzione, allora esiste
una soluzione ammissibile di base.
Se un problema di PL ha soluzione ottima finita, allora
ha anche una soluzione di base ottima.
n
mn
m m
=−!
!(n )!
11
LP – L’algoritmo del simplesso (simplex)
Il simplesso cerca la soluzione ottima esplorando le soluzioni di base
effettuando una ricerca locale: data una soluzione di base verifica se
l’obiettivo può essere migliorato e se ciò è possibile determina una
soluzione di base migliore adiacente a quella di partenza
Geometricamente esplora la frontiera del poliedro dei vincoli (algoritmo
esterno)
X
x1
x2
A (iniziale)
f.obj
B
C
D (ottima)
12
LP – L’algoritmo del simplesso (simplex)
Problema in forma standard
Generica equazione (m equ. dei vincoli + 1 equ. obiettivo)
nn1
mnmn11m
1nn1111
nn11
Rx
0x,...,0x
bxaxa
bxaxa
.t.s
xcxcmax
∈
≥≥=++
=++
++
L
M
L
L
n
T0
Rx
0x
bxA
xcxmax
∈
≥==
m,,1,0ixyyxRj
jij0iBiK=∀−= ∑
∈
13
LP – L’algoritmo del simplesso (simplex)
Il Simplesso (in forma algebrica)1. Inizializzazione
Determinare una soluzione di base ammissibile
2. Verifica dell’ottimalità
Se y0j≥0 ∀ j∈ R allora la soluzione corrente è ottima e l’algoritmo
termina, altrimenti andare al passo 3
3. Scelta della variabile entrante in base
Scegliere una var. fuori base xk tale che y0k<0 ed andare al passo 4
4. Scelta della variabile uscente dalla base
Scegliere la variabile xBr tale che
Se yik≤0 ∀ i=1,...m, allora la soluzione del problema è illimitata (nonesiste ottimo finito), e l’algoritmo termina
=
>= ik
0i
0yM,...,1irk
0ryy
minyy
ik
14
LP – L’algoritmo del simplesso (simplex)
Il Simplesso (in forma algebrica)
5. Pivoting.
Risolvere le equazioni
ricavando xk e xBr i≠r, in funzione di xj, j∈ R-{k} e di xBr
La nuova soluzione si ottiene ponendo xj=0, j∈ R-{k} e xBr =0
Andare al passo 2.
m,,1,0ixyyxRj
jij0iBiK=∀−= ∑
∈
15
LP – L’algoritmo del simplesso (simplex)
Il TableauContiene i coeff. delle m+1 equazioni dei vincoli e f.ob. e permette di
effettuare i passi dell’algoritmo in maniera semplice
x y x y i mBi ij jj R
i+ ∑ = ∀ =∈
0 0 1, , ,K
x x x x x
x y y y
x y y y
x y y y
x y y y
B Br Bm j k
j k
B j k
Br rj rk r
Bm mj mk m
1
0 0 0 00
1 1 1 10
0
0
0 0 0
1 0 0
0 1 0
0 0 1
L L L L L
L L L L L
L L L L L
M M O M M M M M
L L L L L
M M M O M M M M
L L L L L
16
LP – L’algoritmo del simplesso (simplex)
Il Simplesso (sul tableau)
1. Inizializzazione
Costruire il tableau iniziale con una soluzione di base ammissibile
2. Verifica dell’ottimalità
Se nella riga di x0 non esistono coefficienti negativi la soluzione
corrente è ottima e l’algoritmo termina, altrimenti andare al passo 3
3. Scelta della variabile entrante in base
Scegliere una var. fuori base xk tale che y0k<0 ed andare al passo 4.
4. Scelta della variabile uscente dalla base
Se tutti i coefficienti nella colonna di xk sono yik≤0 ∀ i=1,...,m, non
esiste ottimo finito e l’algoritmo termina, altrimenti calcolare i rapporti
yi0/ yik i=1,...,m, solo per gli yik>0, e scegliere la riga r-esima associata
al rapporto più piccolo. Il coeff. yrk è il pivot
17
LP – L’algoritmo del simplesso (simplex)
Il Simplesso (sul tableau)
5. Pivoting.
Portare in base xk al posto di xBr dividendo la riga r-esima per il pivot,
quindi sottraendo la nuova riga r alle altre righe del tableau, obiettivo
incluso, dopo averla moltiplicata per il corrispondente coeff. della
colonna k. In questo modo la nuova colonna k sarà formata da tutti
coeff. nulli tranne il coeff. r-esimo uguale ad 1.
Aggiornare l’etichetta della riga r-esima con xk.
Andare al passo 2.
18
LP – L’algoritmo del simplesso (simplex)
Trasformazione dei problemi in forma standard
• Vincoli di ≤ si introducono var. di slack (scarto)
• Vincoli di ≥ si introducono var. di surplus (eccedenza)
• Variabili libere si effettua la sostituzione xj = uj – vj con uj ≥0 vj ≥0
• Termini noti negativi (bi ≤0) si cambia il segno al vincolo
• Problema di minimo si cambia segno alla f.ob. e si massimizza
(oppure si inverte la condizione di ottimalità dell’algoritmo)
0sbsxabxa iiin
1jjiji
n
1jjij ≥=+→≤ ∑∑
==
0sbsxabxa iiin
1jjiji
n
1jjij ≥=−→≥ ∑∑
==
19
LP – L’algoritmo del simplesso (simplex)
Inizializzazione
• Base iniziale formata da var. di slack Ax + Is = b
• Metodo delle due fase (Two-Phase Method)
• Metodo del Big-M
Soluzioni degeneri
• Almeno una componente di xB è nulla
• Possono causare loop nell’algoritmo (cycling)
Criteri di scelta della var. entrante
• Metodo del gradiente
• Metodo del massimo incremento
20
LP – Il problema della produzione (Product Mix)
Il problema
Determinare quali e quanti prodotti produrre (in generale, quali attività eseguire ed a quale livello) in modo da massimizzare il profitto conseguente tenendo conto della disponibilità limitata delle risorse necessarie alla produzione
• Il problema si può affrontare in generale con l’Analisi Marginale (...)
• Può essere modellato con la PL se le relazioni tecnologiche che legano prodotti e risorse possono essere approssimate in modo lineare
• Inoltre tutte le grandezze possono essere considerate deterministiche (in particolare, i ricavi dalla vendita dei prodotti)
r
x
r
x
21
LP – Il problema della produzione (Product Mix)
Formulazione ed interpretazione del problema
• Si dispone di j=1,...,m risorse produttive (ad esempio, materie prime) in quantità limitata
• La massima disponibilità delle risorse è b1,...,bm
• Si possono produrre i=1,...,n diversi prodotti utilizzando con una data tecnologia le risorse disponibili
• Sono note le quantità di risorse necessarie per produrre una unità di ciascun possibile prodotto: per produrre una unità del prodotto i-mo si utilizzano aij unità della risorsa j-ma (nell’ipotesi di linearità questo coeff. resta costante)
• Agli n prodotti sono associati i profitti unitari c1,..., cn (profitto per unitàdi prodotto, ipotizzando tutta la produzione venga venduta, ovvero chevincolando la produzione ad una domanda supposta costante e nota)
22
LP – Il problema della produzione (Product Mix)
Formulazione ed interpretazione del problema
n,...,1ix
n,...,1i0x
m,...,1jbxa
xcmax
i
i
jn
1iiij
n
1iii
=∈=≥
=≤∑
∑
=
=
R
Variabili
• xi quantità di prodotto i-mo
• continue (?) e positive
Vincoli
• la quantità totale di ogni risorsa utilizzata nella produzione non può superarela disponibilità massima
Obiettivo
• il ricavo totale della produzione
23
LP – Il problema della produzione (Product Mix)Formulazione ed interpretazione del problema• E’ un PL in forma canonica di massimizzazione
• A è detta matrice tecnologica
• All’ipotesi di condizioni deterministiche (parametri costanti) si risponde con l’Analisi di Post-ottimalità
• Esempi ed interpretazione:2 prodotti 3 risorse (simplesso sul tableau + analisi grafica nel piano dei prodotti)
Uso di pacchetti sw (Excel, Lindo, Lingo)
4 prodotti e 3 risorse
4 prodotti e 2 risorse (simplesso con sw + analisi grafica nel piano delle risorse)
n
T0
Rx
0x
bxA
xcxmax
∈
≥≤=
24
LP – Il problema della produzione (Product Mix)Esempio 1
0x,0x
2x
8xx2
6x2x
x2x3xmax
21
2
21
21
210
≥≥≤
≤+≤+
+=
(3)
(2)
(1)
x1
1 2 3 4 5 6
1
2
3
(2)
(3)
(1)A
E
D
B C
x2
x0=0
25
LP – Il problema della produzione (Product Mix)Esempio 1: Forma Standard
5,...,1i0x
2xx
8xxx2
6xx2x
x2x3xmax
i
52
421
321
210
=≥=+=++=++
+=
(3)
(2)
(1)
x1
1 2 3 4 5 6
1
2
3
(2) x4
(3) x5
(1) x3
A
E
D
B C
x2
x0=0
26
LP – Il problema della produzione (Product Mix)Esempio 1: Il tableau• Base iniziale formata dalle slack
• Il Tableau iniziale
• 1a iterazione: X1 entra ed x4 esce (dal vertice A al vertice ???; eseguire i calcoli ....)
=
=
2
8
6
x
x
x
x
5
4
3
B
210010x
801012x
600121x
000023x
xxxxx
5
4
3
0
54321
−−
27
LP – Il problema della produzione (Product Mix)Esempio 1: Il tableau
• Il Tableau dopo la prima iterazione
• 2a iterazione: X2 entra ed x3 esce (dal vertice ??? al vertice ???; eseguire i calcoli ....)
210010x
402/102/11x
202/112/30x
1202/302/10x
xxxxx
5
1
3
0
54321
−−
28
LP – Il problema della produzione (Product Mix)Esempio 1: Il tableau
• Il Tableau dopo la seconda iterazione
• Il tableau è ottimo
• La soluzione ottima
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
=
=
3/2
3/10
3/4
x
x
x
x
5
1
2*B 0
x
xx
4
3*N =
=
29
LP – Il problema della produzione (Product Mix)Esempio 1: Domande
• Cosa succede alla soluzione se il poliedro fosse aperto?Provare con
• Come si riconosce il caso di più soluzioni ottime equivalenti?Provare con
0x,0x
2x
x3xxmax
21
2
210
≥≥≤
+=
0x,0x
2x
8x2x3
6x2x
x2x3xmax
21
2
21
21
210
≥≥≤
≤+≤+
+=
30
LP – Il problema della produzione (Product Mix)
Esempio 1: Uso di software per la soluzione di PL
• Excel (Solver)
• Esempi grafici (2D) (caso di sol. illimitata e problema non amm.)
• Lindo
• Lingo (formulazione simbolica)
Esempio 2: 4 prodotti e 3 risorse
4,...,1i0x
100x15x10x4x3
120x2x3x5x7
16xxxx
x11x9x5x4xmax
i
4321
4321
4321
43210
=≥≤+++
≤+++≤+++
+++=
31
LP – Il problema della produzione (Product Mix)
Interpretazione economica• Funzione Obiettivo Curva Isoguadagno
• Vincoli Saturi (binding constraints) Risorse ScarseSlack nulleConverrebbe aumentarne la disponibilità e se sì cosa accadrebbe?
• Vincoli non saturi Risorse abbondantiSlack positiveConverrebbe aumentarne la disponibilità e se sì cosa accadrebbe?
• Domande di carattere economico/gestionale conseguenti alla soluzione:
Vi sono risorse non utilizzate? Posso diminuire lo spreco?Ci sono risorse che mi converrebbe acquisire ulteriormente? Quali e con che priorità?Di quanto ha senso aumentare la disponibilità delle risorse?Che accade se variano i ricavi per i miei prodotti, ovvero quanto è robusta la soluzione?
32
LP – L’analisi di sensitività (post-ottimalità)
L’analisi di sensitività consente di valutare gli effetti di piccole variazioni dei parametri rispetto la soluzione ottima del problema (variazioni marginali)
I casi che vedremo:
• Range di variazione della disponibilità delle risorseAumento di risorse scarseDiminuzione di risorse abbondanti
• Range di variazione dei coeff. di guadagno • Effetti causati dall’acquisizione di nuove risorse• Effetti causati da produzione diversa dall’ottimo (prodotto non
conveniente, nuovo prodotto)
Teoria necessaria: definizione di alcune grandezze e la teoria della dualità
33
LP – Definizione di alcune grandezze
Coefficienti di costo ridotto r = (rj, j∈ R)• Sono i coeff. delle variabili fuori base nella riga della f.ob. nel
tableau = y0j j∈ R
• Consideriamo un tableau in forma matriciale ed il caso in cui la base iniziale è formata da slack
bAIs
0c0x
xsTT
0 −bNBIs
0cc0x
xxsTN
TB
T0
NB
−−
bBNBIBx
bBccNBc0Bcx
xxs
111B
1TB
TN
1TB
T1TB0
NB
−−−
−−− −
34
LP – Definizione di alcune grandezze
Coefficienti di costo ridotto r = (rj, j∈ R)
• Corrispondono a
e la condizione di ottimalità è rj≥0 j∈ R
Domanda: che significato ha la presenza di almeno un rj=0 nel tableau ottimo?
I moltiplicatori del simplesso π= (πj, j∈ R)
• Corrispondono a
Osservazioni sul tableau ottimo• I moltiplicatori del simplesso sono parte degli r e si riducono agli r
corrispondenti alle slack fuori base
• Se la base iniziale era costituita da slack, le colonne delle slack all’ottimo contengono B-1
jj1T
Bj caBcr −= −
1TBBc −=π
35
LP – La Teoria della Dualità
Ad ogni problema di PL (Primale) è associato unproblema Duale
Problema Primale (P)
mnmn11m
1nn1111
nn11
bxaxa
bxaxa
.t.s
xcxcmax
≤++
≤++
++
L
M
L
L
Problema Duale (D)
nmmn1n1
1m1m111
mm11
cyaya
cyaya
.t.s
ybybmin
≥++
≥++
++
L
M
L
L
(n variabili, m vincoli) (m variabili, n vincoli)
36
Il problema D ha tante variabili quanti sono i vincolidi P e tanti vincoli quante sono le variabili di P.
In forma matriciale:
n
T
x
0x
bxA
xcmax)P(
R∈
≥≤
m
T
T
y
0y
cyA
ybmin)D(
R∈
≥≥
LP – La Teoria della Dualità
37
Forma simmetrica della dualitàregole di trasformazione
(P) (D)
max ⇒ min vincoli ≥
min ⇒ max vincoli ≤
LP – La Teoria della Dualità
38
Duale di un Primale con vincoli di uguaglianza:
n
T
x
0x
bxA
xcmax)P(
R∈
≥=
m
T
T
y
libere.vary
cyA
ybmin)D(
R∈
≥
LP – La Teoria della Dualità
Infatti: bxA = equivale a
−≤−⇒≥≤
bxAbxA
bxA
introducendo 2m variabili duali, u e ve sostituendo y= u - v si ottiene (D)
m
TT
TT
v,u
0v0u
cvAuA
)vbub(min
R∈
≥≥≥−
−
39
Forma non simmetrica della dualità: regoledi trasformazione
(P) (D)
max ⇒ min vincoli ≥
min ⇒ max vincoli ≤
vincolo = ⇒ var. libera
var. libera ⇒ vincolo =
Le trasformazioni sono reversibili: il duale del duale è il primale.
LP – La Teoria della Dualità
40
La teoria della Dualità è importante perchè:
le soluzioni di P e D sono legate tra loro
le soluzioni duali hanno un’interpretazione economica utile
per l’analisi di sensitività (post-ottimalità);
sulla teoria della dualità sono basati algoritmi, quali il
Simplesso Duale e l’Algoritmo Primale-Duale, alternativi al
Simplesso (Primale) utili per certe classi di problemi;
può in certi casi essere conveniente risolvere D al posto di P
(conviene risolvere il problema con il minor numero di vincoli)
LP – La Teoria della Dualità
41
LP – La Teoria della Dualità: risultati fondamentali
Consideriamo la coppia di problemi (P) e (D)
0x
bxA
xcmin)P( T
≥≥
0y
cyA
ybmax)D(
T
T
≥≤
1. Teorema (debole) della dualità
Siano x e y soluzioni ammissibili rispettivamente per (P) e (D),
alloraybxc TT ≥
42
Dimostrazione:
y soluzione A y c
x A y x c x
T
T T T
⇒ ≤
≥ ⇒ ≤0 ( )
x soluzione A x b
y A x y b yT T
⇒ ≥
≥ ⇒ ≥0 ( )
c x A y x x A y A x y b yT T T T T T T≥ = = ≥( ) ( )
LP – La Teoria della Dualità: risultati fondamentali
Corollario
Se (P) è illimitato ⇒ (D) non è ammissibile
Se (D) è illimitato ⇒ (P) non è ammissibile
Se (P) ha soluzione ottima finita ⇒ (D) ha soluzione ottima finita
Se (D) ha soluzione ottima finita ⇒ (P) ha soluzione ottima finita
43
2. Teorema (forte) della dualità
Se (P) e (D) ammettono soluzione ottima finita, allora per ogni ottimo x* per (P) esiste una soluzione ottima y* per (D) tale che
*T*T ybxc =
Dal Teorema della dualità forte si ricava valore della soluzione
ottima di (D) corrispondente alla soluzione ottima di (P)
1TB
T* Bcy −=
=
=
−
0
bB
x
xx1
*N
*B*
bBcxcxc 1TB
*B
TB
*T −==
*T1TB ybbBc =−
LP – La Teoria della Dualità: risultati fondamentali
44
LP – La Teoria della Dualità: risultati fondamentali
Osservazioni• La base B è ottima per (P) e per (D).
• Una base B ammissibile per (P) corrisponde ad una base ammissibile per (D) solo se B è ottima.
0bBXx 1 ≥⇒∈ −
1TB
T Bcy −=
0x0x
bxNxB
xcxcmax
NB
NB
NTNB
TB
≥≥=+
+(P) (D)
libere.vary
cNy
cBy
ybmin
TN
T
TB
T
T
≥
≥
≥≥⇒∈ −
−
TN
1TB
TB
1TBT
cN)Bc()b
cB)Bc()aYy
45
LP – La Teoria della Dualità: risultati fondamentali
Osservazioni• La base B è ottima per (P) e per (D).
• Una base B ammissibile per (P) corrisponde ad una base ammissibile per (D) sono se B è ottima.
≥
≥⇒∈ −
−
TN
1TB
TB
1TBT
cN)Bc()b
cB)Bc()aYy
0cNBc)b
cc)a
TN
1TB
TB
TB
≥−
≥
−
(vera sempre)
Rj0caBc jj1T
B ∈≥−−
sono le condizioni di ottimalità su costi ridotti di (P)
46
LP – La Teoria della Dualità: risultati fondamentali
Osservazioni
• Solo in corrispondenza dell’ottimo dalla base B
ammissibile per (P) si ottiene una soluzione ammissibile
per (D) (che è anche ottima).
• Ad una generica iterazione del simplesso dalla base di
(P) si può costruire il vettore dei moltiplicatori del
simplesso che non è soluzione di (D).
Qual è il significato economico del problema
duale? Cosa rappresentano le variabili duali?
47
LP – La Dualità: interpretazione economica
Consideriamo:
• un problema (P)
• la soluzione (non degenere)
• ed una piccola variazione ∆b>0 di b non cambia la base
ottima B
0x
bxA
xcmax T
≥≤
0x0
bB
x
xx *B
1
*N
*B* >
=
=
−
∆+=
∆+=−
0
)bb(B
x
xxx1
*N
*B
*B*
48
LP – La Dualità: interpretazione economica
Come cambia il valore dell’obiettivo?
• Varia della variazione delle risorse per il valore della
soluzione ottima duale !
• Allora y* può essere interpretato come il prezzo (valore)
marginale delle risorse (b) poichè indica qual è la
variazione dell’obiettivo (guadagno) conseguente ad
una maggior disponibilità delle risorse.
• I valori duali ottimi sono anche detti prezzi ombra
byxbBcx)bb(BcxT*
01T
B01T
B0 ∆=∆⇒∆=∆⇒∆+= −−
49
LP – La Teoria della Dualità: risultati fondamentali
Lo scarto complementare (complementary
slackness)
• Consideriamo una coppia (P), (D)
0x
bxA
xcmax T
≥≤
slackdi.varm0s
.varn0x
bsIxA
≥≥
=+
0y
cyA
ybmin
T
T
≥≥
surplusdi.varn0v
.varm0y
cvIyAT
≥≥
=−
(P)
(D)
Ad ogni variabile di (D) è associato un vincolo di (P) e quindi lacorrispondente variabile di slack e viceversa.
50
LP – La Teoria della Dualità: risultati fondamentali
Lo scarto complementare (complementary
slackness
3. Teorema della slackness complementare
Data la coppia di soluzioni x e y rispettivamente ammissibiliper (P) e (D), x e y sono ottime per (P) e (D) se e solo se
dove aj è il vettore riga j-esima di A
ai è il vettore colonna i-esima di A
n,,1i0x)cya(xv
m,,1j0y)xab(ys
iiTiii
jj
jjj
K
K
==⋅−=⋅
==⋅−=⋅
51
LP – La Teoria della Dualità: risultati fondamentali
Lo scarto complementare (complementary
slackness
• Il teorema stabilisce che
(vincolo duale saturo: vi=0)
(vincolo duale non saturo: vi>0)
(vincolo primale saturo: sj=0)
(vincolo primale non saturo: sj>0)0ybxa.d
bxa0y.c
0xcya.b
cya0x.a
jjj
jj
j
iiTi
iTii
=⇒<
=⇒>
=⇒>
=⇒>
52
LP – La Dualità: interpretazione economica
Il problema del Product Mix• Stabilire i livelli ottimi di produzione per un insieme di prodotti in
modo da massimizzare il profitto ricavato dalla loro vendita,
rispettando la disponibilità limitata delle risorse necessarie alla
produzione
0x
bxA
xcmax T
≥≤
(P)xi livello di produzione del prodotto i-mo
ci profitto per unità di prodotto i-mo
bj disponibilità della risorsa j-ma
aij quantità di risorsa j-ma necessaria per
produrre un’unità di prodotto i-mo
j-mo vincolo di (P)
jj bxa ≤ il consumo totale di risorsa j-ma non
supera la sua disponibilità massima
53
LP – La Dualità: interpretazione economica
Il duale del problema del Product Mix• Avendo scelto di vendere le risorse produttive, determinare il loro
prezzo minimo, imponendo che la loro vendita sia almeno tanto
conveniente che vendere i beni prodotti con le risorse
(D)
i-mo vincolo di (D) il valore di una unità di prodotto i-mo, calcolato
considerando le risorse necessarie per produrlo e
il loro prezzo minimo, deve superare il prezzo
unitario di vendita del prodotto stesso
0y
cyA
ybmin
T
T
≥≥
yj prezzo minimo a cui vendere la j-ma risorsa ci profitto per unità di prodotto i-mobj disponibilità della risorsa j-maaij quantità di risorsa j-ma necessaria per
produrre un’unità di prodotto i-mo
iTi cya ≥
54
LP – La Dualità: interpretazione economica
Interpretazione economica della slackness complementare
• Primale:
Il valore delle risorse (il valore ottimo delle variabili duali) è positivo
solamente quando le risorse sono utilizzate completamente (risorse
scarse), ovvero quando sono nulle le variabili di slack associate ai
vincoli corrispondenti
• Duale
Il livello di produzione dei prodotti (il valore ottimo delle variabili primali)
è positivo solamente quando il profitto unitario che si ricava dalla loro
vendità è pari a quanto si ricaverebbe vendendo le risorse necessarie
alla produzione al loro prezzo minimo (condizione di bilancio
economico), ovvero quando il surplus di guadagno unitario della
vendita delle risorse rispetto la produzione dei prodotti è nullo
0ysxabs jjj
jj =⇒−=
0vxcyav iiiTii =⇒−=
55
LP – La Dualità: interpretazione economica
Il problema della Dieta (blending)• Determinare la dieta bilanciata più economica avendo la possibilità
di acquistare n diversi cibi. Una dieta è bilanciata se soddisfa i livelliminimi giornalieri di calorie e di altri elementi nutrizionali (e.g.,proteine, calcio, ferro, vitamine). Quindi determinare la quantità che deve essere acquistata per ciascun cibo, minimizzando la spesa complessiva e soddisfacendo i livelli nutrizionali minimi
(P)
j-mo vincolo di (P)
jj bxa ≥
0x
bxA
xcmin T
≥≥
xi quantità di cibo i-mo da acquistareci costo per unità di cibo i-mobj livello minimo per l’elemento nutriz. j-moaij quantità di elemento nutrizionale j-mo
presente in una unità di cibo i-mo
la quantità complessiva dell’elemento nutriz. j-ma fornita dai cibi acquistati deve essere almeno pari al relativo livello minimo.
56
LP – La Dualità: interpretazione economica
Il duale del problema della Dieta• Volendo acquistare singolarmente gli m elementi nutrizionali (e.g.,
in pillole) per ottenere la dieta bilanciata, determinare il massimo prezzo per i singoli elementi in modo che il loro acquisto sia competitivo rispetto quello dei cibi contenenti tali elementi
(D)
i-mo vincolo di (D)
0y
cyA
ybmax
T
T
≥≤
yj prezzo massimo a cui acquistare il j-mo elemento nutriz.
ci costo per unità di cibo i-mobj livello minimo per l’elemento nutriz. j-moaij quantità di elemento nutriz. j-mo presente
in una unità di cibo i-mo
iTi cya ≤
il prezzo unitario del cibo i-mo “sintetico” (il prezzo della quantità di elementi nutriz.forniti da una unità di cibo i-imo) deve non superare il prezzo reale del cibo i-mo
57
LP – L’analisi di post-ottimalità
Consideriamo un problema di PL con soluzione ottima x* e
base ottima associata B, determinare con quali condizioni
possono variare certi coefficienti del problema lasciando
invariata la base ottima.
Considereremo tre casi:
a) variazione di un coefficiente della funzione obiettivo associato ad
una variabile fuori base (cN)
b) variazione di un coefficiente della funzione obiettivo associato ad
una variabile in base (cB)
c) variazione del termine noto di un vincolo (b)
0x
bxA
xcmax T
≥=
58
LP – L’analisi di post-ottimalità
Casi (a) e (b): variazione dei prezzi di vendita dei prodotti
• (a) – grafico nel piano dei prodotti
all’ottimo x2 è fuori base
x1
1 2 3 4 5 6
1
2
3
A
E
D
B C
x2
il coeff.angolare dell’obiettivo è2
1cc−
c1 diminuisce
c2 aumenta
E diventa sol. ottima ⇒ x2 entra in base
59
LP – L’analisi di post-ottimalità
Casi (a) e (b): variazione dei prezzi di vendita dei prodotti• (a) – analitico
Sia ck, k∈ R, il coefficiente che viene variato. Il coefficiente dicosto ridotto associato alla k-esima variabile fuori base èpositivo poichè la base è ottima e variando ck varia rk
Perchè la soluzione corrente resti ottima il nuovo valore di rk
deve rimanere positivo (altrimenti la variabile fuori baseassociata sarebbe candidata ad entrare in base)
0caycaBcr kk*
kk1T
BkT
≥−=−= −
)c(ayr̂cc kk*
kkkT
δ+−=⇒δ+←
⇒−≤δ⇒≥δ+−⇒≥ kk*
kk*
k cay0)c(ay0r̂TT
kr≤δ
60
LP – L’analisi di post-ottimalità
Casi (a) e (b): variazione dei prezzi di vendita dei prodotti
• (b) – grafico nel piano dei prodotti
all’ottimo x2 è in base
x1
1 2 3 4 5 6
1
2
3
A
E
D
B C
x2
il coeff.angolare dell’obiettivo è2
1cc−
c1 diminuisce
c2 aumenta
c1aumenta
c2 diminuisce
C diventa sol. ottima ⇒ la base cambia
D diventa sol. ottima⇒ x2 esce di base
61
LP – L’analisi di post-ottimalità
Casi (a) e (b): variazione dei prezzi di vendita dei prodotti• (b) – analitico
Sia cBi, i=1,...,m , il coefficiente che viene variato. La variazione modifica tutti gli rk delle var. fuori base che devono restare positivi perché la base non cambi
• Come si effettuano i casi (a) e (b) utilizzando il tableau ottimo?
RkcaBcr kk1T
Bk ∈−= −
iBBBB eccccii
δ+←⇒δ+←
)moi(
0
1
0
ei −
=M
M
k1T
ikk1T
Bk aBecaBcr̂ −− δ+−= i11Ti )B(Be −− =
k0a)B(rr̂ ki1
kk ∀≥δ+= −
62
LP – L’analisi di post-ottimalitàCaso (c): variazione della disponibilità delle risorse• Due possibilità
(1)aumentare le risorse scarse per migliorare l’obiettivo
(2) ridurre le risorse abbondanti lasciando invariato l’obiettivo
• (c) – grafico nel piano dei prodotti
x1
1 2 3 4 5 6
1
2
3(2) x4
(3) x5
A
E
D
B C
x2
(1) x3
b2 (scarsa) aumenta
D’L
63
LP – L’analisi di post-ottimalitàCaso (c): variazione della disponibilità delle risorse• Due possibilità
(1)aumentare le risorse scarse per migliorare l’obiettivo
(2) ridurre le risorse abbondanti lasciando invariato l’obiettivo
• (c) – grafico nel piano dei prodotti
x1
1 2 3 4 5 6
1
2
3(2) x4
(3) x5
A
E
D
B C
x2
(1) x3
b3 (abb.) diminuisce
64
LP – L’analisi di post-ottimalità
Caso (c): variazione della disponibilità delle risorse• (c) – analitico
Sia bi, i=1,...,m , il termine noto del i-mo vincolo che viene variato
A causa di tale variazione si modificano i valori delle variabili di base
• Come si effettua questa analisi usando il tableau ottimo (caso particolare)?
i11
i1
Bii )B(bB)eb(Bx̂bb −−− δ+=δ+=⇒δ+←
i1
i1 )B(eB −− = colonna i-ma di B-1
0)B(xx̂ i1
BB ≥δ+= −
i1
BB )B(xx̂ −δ+=⇒
65
LP – L’analisi di post-ottimalità
Un esempio
0x,0x
2x
8xx2
6x2x
x2x3xmax
21
2
21
21
210
≥≥≤
≤+≤+
+=
5,...,1i0x
2xx
8xxx2
6xx2x
x2x3xmax
i
52
421
321
210
=≥=+=++=++
+=
210010x
801012x
600121x
000023x
xxxxx
5
4
3
0
54321
−−
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
il tableau iniziale il tableau ottimo
66
LP – L’analisi di post-ottimalità
Un esempio
• in questo caso i coeff. ck che moltiplicano le var. fuori base sono tutti nulli, e le corrispondenti colonne ak della matrice N sono ivettori ek, i coeff. di costo ridotto nel tableau ottimo forniscono direttamente il valore dell’ottimo duale
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−B-1
=
101
021
012
B
*kk
T*k
1TBkk
1TBk yeyeBccaBcr ===−= −−
[ ]03431yT* =⇒ (... perché y3
*=0 ?)
67
LP – L’analisi di post-ottimalità
Un esempio
• Caso (a) – coeff. dell’obiettivo di una var. fuori base
variazione di c3: (inizialmente c3=0 - slack) c3 ← c3+ δ
variazione di c4: (inizialmente c4=0 - slack) c4 ← c4+ δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
31
c31
r 33 ≤≤∞−⇒≤δ⇒≤δ
34
c34
r 44 ≤≤∞−⇒≤δ⇒≤δ
68
LP – L’analisi di post-ottimalità
Un esempio• Caso (b) – coeff. dell’obiettivo di una var. in base
variazione di c1: (inizialmente c1=3) c1 ← c1+ δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
20r̂
10r̂
32
34
4
31
31
3
−≥δ⇒≥δ+=
≤δ⇒≥δ−=4c1 1 ≤≤⇒
69
LP – L’analisi di post-ottimalità
Un esempio• Caso (b) – coeff. dell’obiettivo di una var. in base
variazione di c2: (inizialmente c2=2) c2 ← c2+ δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
40r̂
0r̂
31
34
4
21
32
31
3
≤δ⇒≥δ−=
−≥δ⇒≥δ+=6c
23
2 ≤≤⇒
70
LP – L’analisi di post-ottimalità
Un esempio• Caso (b) – coeff. dell’obiettivo di una var. in base
variazione di c5: (inizialmente c5=0 - slack) c5 ← c5+ δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
40r̂
0r̂
31
34
4
21
32
31
3
−≥δ⇒≥δ+=
≤δ⇒≥δ−=
21
c4 5 ≤≤−⇒
71
LP – L’analisi di post-ottimalità
Un esempio• Caso (c) – variazione della disponibilità delle risorse
Due possibilità:
c.1) aumentare la disponibilità delle risorse scarse (b1 e b2)
c.2) diminuire l’eccesso di risorse abbondanti (b3)
• Caso (c.1)
variazione di b1: (inizialmente b1 =6) b1 ← b1 + δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−10x̂
100x̂
20x̂
32
32
5
31
310
1
32
34
2
≤δ⇒≥δ−=
≤δ⇒≥δ−=
−≥δ⇒≥δ+=
7b4 1 ≤≤⇒(NB: possibile perché il tableau contiene B-1)
72
LP – L’analisi di post-ottimalità
Un esempio• Caso (c) – variazione della disponibilità delle risorse
Due possibilità:
c.1) aumentare la disponibilità delle risorse scarse (b1 e b2)
c.2) diminuire l’eccesso di risorse abbondanti (b3)
• Caso (c.1)
variazione di b2: (inizialmente b2 =8) b2 ← b2 + δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
(NB: possibile perché il tableau contiene B-1)
20x̂
50x̂
40x̂
31
32
5
32
310
1
31
34
2
−≥δ⇒≥δ+=
−≥δ⇒≥δ+=
≤δ⇒≥δ−=
12b6 2 ≤≤⇒
73
LP – L’analisi di post-ottimalità
Un esempio• Caso (c) – variazione della disponibilità delle risorse
Due possibilità:
c.1) aumentare la disponibilità delle risorse scarse (b1 e b2)
c.2) diminuire l’eccesso di risorse abbondanti (b3)
• Caso (c.2)
variazione di b3: (inizialmente b3 =2) b3 ← b3 + δ
Interpretazione economica?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
(NB: possibile perché il tableau contiene B-1)
34
b3 ≥⇒
32
032
x̂5 −≥δ⇒≥δ+=
74
LP – L’analisi di post-ottimalità
Un esempio – Il valore delle risorse• Per i vincoli sul consumo delle risorse si ha
• Conviene aumentare le risorse scarse
• Marginalmente la f.ob. cresce del valore delle risorse (il valore delle var. duali ottime yj
*)
• Il valore delle risorse abbondanti è nullo (yj*=0)
• Conviene aumentare per prima la risorsa scarsa a cui è associatoil valore maggiore
Vincolo saturo Risorsa scarsa(slack nulla) (var.duale ottima positiva)
Vincolo non saturo Risorsa abbondante(slack positiva) (var.duale ottima nulla)
75
LP – L’analisi di post-ottimalità
Un esempio – Il valore delle risorse• Nell’esempio i valori duali si possono leggere direttamente sul
tableau ottimo
questo è caso particolare, ... perché?
3/213/13/200x
3/1003/23/101x
3/403/13/210x
3/3803/43/100x
xxxxx
5
1
2
0
54321
−−
−
76
LP – L’analisi di post-ottimalità
Esempi con software• Excel
• Lindo
77
LP – L’analisi di post-ottimalità
Osservazioni finali
• Se si diminuisce (entro i limiti calcolati) una risorsa
abbondante la soluzione non cambia
• Cosa succede se invece si scoprisse di avere una
disponibilità inferiore di una risorsa scarsa?
• Quali valutazioni possiamo fare nel caso di:
introduzione di un nuovo prodotto
variazione della tecnologia
...?
• L’analisi di post-ottimalità è un processo locale (la sua
validità è limitata ad un intorno della soluzione ottima)
78
LP – I problemi a numeri interi e misti
Molti problemi decisionali richiedono l’uso di variabili
intere per rappresentare alternative discrete
Questo tipo di problemi si chiamano combinatorici
In qualche caso può essere ragionevole “rilassare” il
problema considerando le variabili come reali
Attraverso l’uso di variabili binarie (0-1) è possibile
modellare condizioni logiche
• XA=1 si verifica l’evento A (e.g., compro il prodotto, affitto una
macchina, passo per la strada A, ...)
• XA=0 non si verifica l’evento A
• Esempi: scheduling, location problems, routing ...
79
LP – I problemi a numeri interi e misti
Esempi di formulazioni con variabili binarie
• Knapsack Problem
n possibili progetti possibili da realizzare
b budget massimo disponibile
aj investimento necessario al progetto j
cj guadagno ricavato dal progetto j
i progetti non possono essere realizzati parzialmente (o tutto o nulla)
problema: cosa finanziare per massimizzare il guadagno?
Knapsack binario
(xj=1 finanzio il progetto j)
{ } n,...,1j1,0x
bxa
xcmax
j
n
1jjj
n
1jjj
=∀=∈
≤∑
∑
=
=
B
80
LP – I problemi a numeri interi e misti
Esempi di formulazioni con variabili binarie
• Matching Problem (assegnazione)
m attività da assegnare ad n processori (macchine, persone,...)
ogni processore può eseguire una sola attività
l’attività non è interrompibile
cij costo dell’assegnazione di i a j
problema: assegnare tutte le attività a costo minimo
Matching binario
(xij=1 assegno i a j)
{ } n,...,1jm,...,1i1,0x
n,...,1j1x
m,...,1i1x
xcmin
ji
m
1iij
n
1jij
n
1jijij
m
1i
=∀=∀=∈
=∀≤
=∀=
∑
∑
∑∑
=
=
==
B
81
LP – I problemi a numeri interi e misti
Esempi di formulazioni con variabili binarie
• Trattamento di vincoli disgiuntivi (il caso del Sequencing Problem)
sequenziare un insieme di task su un singolo processore
il processore esegue un task alla volta senza interruzione
pi processing time del task i
problema: come scrivere i vincoli che garantiscono una sequenza ammissibile?
ti∈ R+, l’istante inizio esecuzione di i.
Dati due task i e j, si possono verificare due casi:
1. i precede j ⇒ tj ≥ ti + pi
2. j precede i ⇒ ti ≥ tj + pj
Sono vincoli mutuamente esclusivi (disgiuntivi) ....
82
LP – I problemi a numeri interi e misti
Esempi di formulazioni con variabili binarie
• Trattamento di vincoli disgiuntivi (il caso del Sequencing Problem)
si introduce una variabile binaria e si utilizza il big-M
in questo modo si è condizionato reciprocamente il comportamento di una variabile binaria con delle variabili continue
=iprecedej0
jprecedei1yij
ijjji
ijiij
Myptt
)y1(Mptt
−+≥
−−+≥
83
LP – I problemi a numeri interi e misti
La soluzione dei problemi a numeri interi (Integer
Programming, IP)
• I problemi IP e MIP sono generalmente difficili (NP-hard)
• In alcuni (pochi) casi la soluzione “rilassata” è intera
• In generale si possono usare tre tipi di metodi di soluzione:
1. Metodi basati su una enumerazione implicita delle soluzioni
(Branch and Bound Methods)
2. Metodi basati sull’uso di “piani di taglio” (Cutting Planes Methods)
3. Metodi specifici per particolari classi di problemi