Extended Summary of “An Algorithm for Solving Multicriteron Linear Programming Problems with Examples”
1. Extended Summary of “An Algorithm for Solving
Multicriteron Linear Programming Problems with
Examples”
Relatore:
Ch.mo Prof. Lorenzo Castelli
Tesi di Laurea di:
Matteo ZORZUT
IN0500470
17/11/2021
In riferimento a:
Belenson, Sheldon M., and Kailash C. Kapur, “An algorithm for solving multicriterion linear programming problems with
examples”, Journal of the Operational Research Society 24.1 (1973): 65-77
2. 17/11/2021 Matteo ZORZUT
Indice dei contenuti
1. Introduzione
2. Programmazione lineare multicriterio
3. Approccio “Two person - zero sum game”
3.1 Normalizzazione della matrice di payoff
4. Preferenze nel decisore
5. Riassunto del metodo di soluzione
6. Esempio
7. Conclusione
3. 17/11/2021 Matteo ZORZUT
1. Introduzione
Azienda di produzione:
●
Diversi obiettivi, possibili conflitti
Dipartimento Obiettivo
Budget Minimizzare costo
Controllo qualità Minimizzare scarti
Controllo produzione Massimizzare produzione
●
Obiettivi modellizzabili da funzioni
lineari
●
Eventuali vincoli lineari
Programmazione lineare multicriterio
4. 17/11/2021 Matteo ZORZUT
2. Programmazione lineare multicriterio
max f 1 (x̄)=c̄
1
x̄
max f 2 (x̄)=c̄2
x̄
⋮
max f p (x̄)=c̄
p
x̄
con vincoli:
A x̄ =b̄ ,
x̄ ⩾0 .
●
Soluzione efficiente: soluzione in cui qualsiasi funzione obiettivo non può
essere migliorata senza deteriorare una o più altre funzioni obiettivo
Teorema 1
Se è soluzione efficiente, allora esiste un vettore dei pesi (normalizzato
e ciascuno ) tale che risolve:
x̄∗
λ̄∗
⩾0
x̄∗
max f p+ 1 (x̄)=∑
k =1
p
λk
∗
c̄k
x̄
●
Soluzione adeguatamente efficiente: soluzione efficiente dove esiste un tale che :
per qualche tale che quando
Teorema 2
è una soluzione adeguatamente efficiente se e solo se esiste un vettore dei pesi (come prima)
tale che risolve:
f k (x̄)−f k (x̄
∗
)
f l (x̄∗
)−f l (x̄)
⩽ M
M ∀ k
l f l (x̄)<f l (x̄
∗
) f k (x̄)>f k (x̄
∗
)
x̄∗
λ̄∗
x̄∗
max f p+ 1 (x̄)=∑
k =1
p
λk
∗
c̄k
x̄
5. 17/11/2021 Matteo ZORZUT
3. Approccio “Two person – zero sum game”
●
Elemento = guadagno del Giocatore 1
quando si utilizzano le strategie S1k e S2l
●
Payoff previsto:
Matrice di payoff
Giocatore 2
S21 (P= ) S22 (P= )
Giocatore
1
S11 (P= ) 2 -3
S12 (P= ) -2 1
f kl
λ1
λ2
μ1 μ2
P=∑
k =1
p
∑
l=1
p
f kl λk μl
●
Soluzione / equilibrio:
(con P0 e P0
valori
minimo e massimo di P)
min
( 1
P0
)=∑
k =1
p
rk
con vincoli:
∑
k =1
p
f kl rk ⩾1 ,
rk ⩾0
o
max
( 1
P0 )=∑
l=1
p
sl
con vincoli:
∑
l=1
p
f kl sl ⩽1 ,
sl ⩾0
All’ottimalità, il payoff ottimale:
, inoltre
e
P0 =P
0
= P
∗
λk
∗
=rk
∗
P∗
μl
∗
= sl
∗
P∗
●
Nel programma lineare multicriterio,
●
Trovando la soluzione del gioco, si ottengono i pesi che, grazie al Teorema 2, verranno usati
per ottenere la soluzione efficiente (miglior compromesso tra i diversi obiettivi)
f kl =f k (x̄
∗l
)
λk
∗
6. 17/11/2021 Matteo ZORZUT
3.1 Normalizzazione della matrice di payoff
●
Funzioni con ordini di grandezza diversi? Normalizzazione
●
Nuovi elementi della matrice di payoff: , con il valore massimo di
●
Risolvendo il problema con le funzioni normalizzate, si ottengono i relativi pesi ottimali , per trovare
il punto efficiente:
●
Con , otteniamo un vettore dei pesi per il problema non normalizzato:
●
Otteniamo quindi come problema originale:
●
Soluzione identica per e ? Sì, perché
●
Cosa fare se per qualche k si ha per ogni l ? O se ? Aggiungere una costante K
●
Se , allora , altrimenti
●
Si ha quindi , e come elementi della matrice normalizzata
Mk
f k
f 'kl =
f kl
Mk
λ'k
max f 'p+ 1 (x̄)=∑
k =1
p
λ'k f 'k (x̄) =∑
k =1
p
λ'k
Mk
f k (x̄)
nk =λ'k / Mk λk
∗
=nk / ∑
k = 1
p
nk
max f p+ 1 (x̄)=∑
k = 1
p
λk
∗
f k (x̄)
x̄
∗ p +1
f ' p+ 1 (x̄) f p+ 1 (x̄) f 'p+ 1 (x̄)=∑
k =1
p
nk [f p +1 (x̄)]
f kl ⩽0 Mk =0
∃ k : f kl ⩽0 ∀ l K =−min
k , l
f kl K =0
Mk =max
l
f kl + K f 'kl =
f kl + K
Mk
7. 17/11/2021 Matteo ZORZUT
4. Preferenze nel decisore
●
Se un eventuale decisore non è soddisfatto dalla soluzione trovata?
●
Ulteriore compromesso tra le funzioni obiettivo:
●
Scelta l’obiettivo meno favorito, si vuole trovare tale che:
e per qualche
●
Di preciso, nella matrice di payoff si sostituisce con
(e i relativi valori), trovando la soluzione del nuovo gioco
f α (x̄) x̄
∗ p +2
f α (x̄
∗ p +2
)< f α (x̄
∗ p +1
) f k (x̄
∗ p +2
)> f k (x̄
∗ p +1
) k ≠α
x̄∗α
x̄
∗ p +1
x̄
∗ p +2
… …
⁞
⁞
x̄
∗1
f 1 (x̄)
f α (x̄)
x̄
∗α p +1
●
Se non soddisfa il decisore, allora si considera la
funzione meno favorita e:
x̄
∗ p +2
f β (x̄)
●
se non è stata considerata precedentemente, si sostituisce con
●
altrimenti, si sostituisce con
●
Procedimento ripetibile al massimo volte
x̄
∗ p +2
x̄
∗β
x̄
∗ p +2
x̄
∗ β
x̄
∗ p +1
p
8. 17/11/2021 Matteo ZORZUT
5. Riassunto del metodo di soluzione
1) Dato un problema di programmazione lineare
multicriterio, risolvere singolarmente le funzioni obiettivo;
2) Creare la matrice di payoff;
A) Qualche soluzione soddisfa il decisore?
Sì: problema risolto.
No: continuare con 3).
3) Determinare ;
4) Determinare e riempire la matrice di payoff
normalizzata;
5) Risolvere il “two person-zero sum game” per ottenere il
miglior vettore dei pesi ;
6) Costruire il vettore dei pesi ottimale relativi al
problema lineare originale;
7) Trovare la soluzione efficiente del problema con un
singolo obiettivo composto dalle funzioni pesate;
A) Questa soluzione è già stata considerata?
Sì: non esiste una soluzione soddisfacente.
No: continuare con 7B).
B) Questa soluzione è soddisfacente?
Sì: problema risolto.
No: continuare con 8).
8) Data la funzione meno favorita, sostituire con
e risolvere di nuovo 3) - 7), ottenendo
A) Questa soluzione è già stata considerata?
Sì: data la successiva funzione meno favorita,
sostituire con e continuare con 9).
No: continuare con 8B).
B) Questa soluzione è soddisfacente?
Sì: problema risolto.
No: sostituire con , continuare con 9).
9) Ripetere 8) massimo volte, trovando una soluzione o
non soddisfando mai il decisore.
K
Mk
λ'
λ∗
x̄∗ p +1
fα x̄
∗α
x̄∗ p +1
x̄∗ p +2
f β
x̄∗ β
x̄∗ p +2
x̄∗ β
x̄∗ p +1
p
9. 17/11/2021 Matteo ZORZUT
6. Esempio
max f 1 (x̄)=− x1
max f 2 (x̄)=0.1 x1 +0.2 x2
con vincoli:
− x1 + x2⩽0 ,
x1 + x2 ⩽7 ,
x1 ⩽5 ,
x2 ⩽3 ,
x1 , x2 ⩾0 .
0 -4
0.2 1
1) Ottimi delle singole funzioni:
2) Tabella di payoff:
3) Costante:
x̄1
∗
=(0 , 1) , x̄2
∗
=(4 , 3)
x̄1
∗
x̄2
∗
f 1 (x̄)
f 2 (x̄)
‖f kl‖
K =4
4) Tabella di payoff normalizzata,
con :
M1 =4 , M2 =5
1 0
1
x̄1
∗
x̄2
∗
f '1 (x̄)
f '2 (x̄)
‖f 'kl‖
21
25
5) Ottenimento dei pesi:
6) Calcolo pesi per il problema non normalizzato:
7) Risoluzione della funzione obiettivo finale:
λ̄ '1 = 4
29
, λ̄ '2 = 25
29
n1 = 1
29
, n2 = 5
29
, ∑k =1
p
nk = 6
29
⇒ λ1
∗= 1
6
, λ2
∗= 5
6
max f 3 (x̄)=λ1
∗ f 1 (x̄)+λ2
∗ f 2 (x̄)=− 1
12
x1 + 1
6
x2
x̄3
∗
=(2 , 3) , e quindi f 1 (x̄3
∗
)=−2 , f 2 (x̄3
∗
)=0.8
10. 17/11/2021 Matteo ZORZUT
7. Conclusione
●
Facilmente implementabile
●
Matematicamente concisa
●
Facilmente applicabile
●
Flessibile
Problema di
programmazione
lineare multicriterio
Two person-zero sum
game
Risoluzione problema
con funzioni pesate
Miglior vettore
dei pesi
Migliore
soluzione
Decisore non soddisfatto, ricerca di un compromesso
(al massimo p volte)