Sei sulla pagina 1di 32

Programmazione lineare multiobiettivo

Dipartimento di Scienze Statistiche


Lavinia Amorosi
E-mail: lavinia.amorosi@uniroma1.it

1
Un esempio di PLMO

Blackstone Mining gestisce due miniere di carbone nel sud-ovest della Virginia.
La. produzione mensile in ciascuna miniera riassunta come segue:

Tipo di carbone Wythe Mine Giles Mine


Alta qualit 12 (t) 4 (t)
Media qualit 4 (t) 4 (t)
Bassa qualit 10 (t) 20 (t)
Costo mensile $40,000 $32,000
Acqua inquinata prodotta 3000 (l) 5000 (l)
Incidenti mortali 0.20 0.45

2
Un esempio di PLMO

Blackstone ha bisogno di produrre almeno 48 tonnellate in pi di carbone di alta


qualit, almeno 28 tonnellate in pi di carbone di media qualit e almeno 100
tonnellate in pi di carbone di bassa qualit nel prossimo anno.

Variabili Decisionali

X1= numero di mesi in cui programmare un turno di lavoro nella miniera della
contea di Wythe

X2 = numero di mesi in cui programmare un turno di lavoro nella miniera della


contea di Giles

3
Un esempio di PLMO

Vincoli del problema

Carbone di alta qualit richiesto


12 X1 + 4 X2 48

Carbone di media qualit richiesto


4 X1 + 4 X2 28
Il problema caratterizzato
Carbone di bassa qualit richiesto da tre obiettivi
10 X1 + 20 X2 100

Vincoli di non negativit


X1, X2 0

Funzioni obiettivo

Min: $40000 X1 + $32000 X2 } Costi di produzione


Min: 3000 X1 + 5000 X2 } Acqua inquinata
Min: 0.20 X1 + 0.45 X2 } Incidenti

4
Formalizzazione matematica

Un problema di programmazione lineare multiobiettivo formalizzato nel modo


seguente:

max/min Cx = max/min (c1x, c2x,,cpx)


Ax=b
x 0

dove C Rpxn la matrice dei coefficienti dei p obiettivi del problema, A Rmxn
la matrice dei coefficienti dei vincoli che definiscono la regione ammissibile del
problema e b Rm il vettore dei termini noti associati ai vincoli.

5
Osservazioni

In generale in un problema di ottimizzazione multi-obiettivo non esiste una


soluzione che ottimizza tutti gli obiettivi.

Si dovr definire linsieme delle soluzioni a cui si interessati

Si dovranno sviluppare metodi ad hoc per determinare tali soluzioni

6
Nuovo concetto di soluzione "ottima"
Assunzione
Consideriamo un problema di minimo

Definizione (Dominanza di Pareto)


Una soluzione ammissibile x X dominata da unaltra soluzione ammissibile x X se
Cx Cx con una disuguaglianza stretta per almeno uno dei p obiettivi.

Definizione (Efficienza o Pareto Ottimalit)


Una soluzione ammissibile x* X efficiente o Pareto ottima se non esiste unaltra
soluzione x X tale che Cx Cx* con una disuguaglianza stretta per almeno uno dei
p obiettivi. Il corrispondente vettore y* = Cx* definito non dominato.

Definizione (Efficienza debole)


Una soluzione ammissibile x* X debolmente efficiente se non esiste unaltra soluzione x
X tale che Cx < Cx*. Il corrispondente vettore y* definito debolmente non dominato.

Definizione (Spazio delle decisioni)


Linsieme delle soluzioni ammissibili X= {x Rn: Ax=b, x 0} definito spazio delle
decisioni.

7
Nuovo concetto di soluzione "ottima"

Definizione (Spazio degli obiettivi)


Linsieme dei vettori Y={Cx : x X} definito spazio delle decisioni e contiene tutti i punti
associati a soluzioni ammissibili tramite la funzione lineare definita dai p obiettivi.

Definizione (Soluzione estrema efficiente)


Una soluzione efficiente che definisce un punto estremo di conv(Y) chiamata soluzione
estrema efficiente.

Definizione (Insieme completo di soluzioni efficienti)


Due soluzioni ammissibili x ed x sono chiamate equivalenti se Cx = Cx.
Un insieme completo XE un insieme completo di soluzioni efficienti tale che tutti gli
x X \ XE o sono non efficienti o equivalenti ad almeno un x XE.

Definizione (Frontiera di Pareto o non dominata)


Linsieme dei vettori non dominati YN chiamato frontiera di Pareto o non dominata.

8
Esempio Ottimi di Pareto

9
Esempio

Sia dato il seguente problema:

10
Esempio (Spazio delle decisioni)

La regione ammissibile rappresentata in figura:

Il perimetro del poligono X la spezzata che unisce ordinatamente il punti O,A,B,


C,D,E,F.

11
Esempio (Spazio degli obiettivi)
Lo spazio degli obiettivi rappresentato in figura:

Il perimetro del poligono Y la spezzata che unisce ordinatamente i punti O,A,B,C,D


,E,F. La frontiera Pareto efficiente la spezzata che unisce ordinatamente i
punti B,C,D,E.

12
Teorema fondamentale della PLMO:
Teorema di Geoffrion
Sia dato linsieme

E si consideri il problema di PL P() definito come segue:

x* S (regione ammissibile) Pareto ottima se e solo se esiste un vettore


tale che x* soluzione ottima di P() .

13
Programmazione lineare intera multiobiettivo
Un problema di programmazione lineare intera multiobiettivo formalizzato nel modo
seguente:

max/min Cx= max/min (c1x, c2x,,cpx)

Ax=b
x 0 x Zn

Nel caso discreto, esistono soluzioni efficienti che non sono ottime per nessuna somma
pesata degli obiettivi e che corrispondono a punti nello spazio degli obiettivi che non si
trovano sulla frontiera di conv(Y) ma al suo interno. Tali soluzioni sono chiamate
soluzioni efficienti non supportate, mentre le rimanenti soluzioni efficienti vengono chiamate
supportate. Linsieme delle soluzioni efficienti supportate indicato con XSE mentre linsieme
delle soluzioni efficienti non supportate indicato con XNE = XE \ XSE.
Le loro immagini nello spazio degli obiettivi sono indicate rispettivamente con YNN e YSN.

Nota: Solitamente ci sono pi soluzioni efficienti non supportate che supportate e queste
contribuiscono notevolmente alla difficolt di risoluzione del problema.

14
Esempio (Punti non dominati supportati e non supportati)

15
Metodi risolutivi per la PLMO

Sulla base del ruolo che il decisore ha nel processo risolutivo possiamo distinguere i metodi
risolutivi in tre categorie:

Metodi a priori: il decisore specifica le sue preferenze prima che abbia inizio il
processo risolutivo. In base alle informazioni avute dal decisore la ricerca si indirizza
verso la soluzione migliore senza dover necessariamente generare tutti gli ottimi di
Pareto.

Metodi a posteriori: tutto linsieme Pareto efficiente viene generato e


allinterno di questo il decisore sceglie la soluzione per lui migliore.

Metodi interattivi: il decisore specifica le sue preferenze mano a mano che il


processo risolutivo procede, eventualmente scartando alcune soluzioni efficienti trovate
e guidando in tal modo il processo stesso verso la soluzione per lui pi soddisfacente.

16
Scalarizzazione

Una scalarizzazione un problema singolo obiettivo ottenuto dal problema


multioiettivo originario aggiungendo variabili e/o parametri, che solitamente risolto
iterativamente al fine di determinare alcuni sottoinsiemi di soluzioni efficienti per il
problema multiobiettivo considerato. Indipendentemente dalla natura continua o
discreta del problema, ci sono alcune propriet desiderabili che una scalarizzazione
dovrebbe soddisfare:

Correttezza: questa propriet garantisce che le soluzioni ottime del problema


singolo obiettivo siano (debolmente) efficienti per il problema multiobiettivo
originario.

Completezza: questa propriet assicura che risolvendo iterativamente il problema


singolo obiettivo, tutte le soluzioni efficienti possono essere generate.

Risolvibilit: la scalarizzazione non dovrebbe essere pi difficile della versione


singolo obiettivo del problema originario (da un punto di vista pratico e teorico).

Linearit: la scalarizzazione deve essere lineare.

17
Tecniche di scalarizzazione pi comuni

Metodo dei pesi

Metodo -constrained

Metodo del compromesso

Metodo di ranking

Metodo -constrained elastico

18
Il metodo dei pesi

Nel metodo dei pesi viene risolto iterativamente il seguente problema


singolo obiettivo:

min TCx
Ax = b
x 0 (integer)

dove Rp tale che 0 j 1 j=1,...,p e eT =1. Variando i pesi


possibile generare tutte le soluzioni efficienti (supportate). Il principale
vantaggio di questo metodo che per ogni Rp il problema difficile
esattamente come la sua versione singolo obiettivo. Tale metodo non
in grado di generare le soluzioni non supportate.

19
Il metodo -constrained

Si tratta di un altro metodo mediante il quale possibile generare tutte le


soluzioni efficienti, e che consiste nel mantenere solo uno dei p obiettivi,
diciamo lobiettivo i-esimo, e trasformando gli altri (p-1) obiettivi in vincoli
nel modo seguente:

min Cix
Ax = b
Ckx k ki
x 0 (integer)

Tutte le soluzioni efficienti possono essere generate specificando


opportunamente i termini noti k. Lo svantaggio di questo metodo la
presenza di vincoli aggiuntivi (vincoli di knapsack) che rendono il problema
pi difficile da risolvere.

20
Il metodo del compromesso
Un altro metodo noto mediante il quale possibile generare tutte le soluzioni efficienti,
consiste nel minimizzare la distanza da un punto ideale yI. Tale punto viene calcolato
determinando il minimo (o il massimo) di ciascun obiettivo preso singolarmente:

yjI= min Cjx


Ax = b
x 0 (integer)

Solitamente la distanza utilizzata la norma di Chebychev e dil problema diventa


quindi:

min (max j | yj - yjI |)


Ax = b
x 0 (integer)

Anche questo metodo da un punto di vista teorico in grado di generare tutte le


soluzioni efficienti, ma oneroso e per questo poco utilizzato nella pratica.

21
Il metodo di ranking

Si tratta di un approccio utilizzato per problemi biobiettivo. Viene definito il Nadir Point
nel modo seguente:

yjN =min{yj(x): yi(x)=yiI, j=1,2: ij}


Ax=b
x 0 (integer)

Il punto ideale yI=(y1I. y2I) ed il Nadir Point yN=(y1N,y2N) definiscono un lower e un upper
bound sui valori degli obiettivi corrispondenti a soluzioni efficienti. Partendo quindi da
una soluzione x tale che y1(x)=y1I, e trovando la seconda soluzione migliore, la terza
migliore e cos via (rispetto al primo obiettivo) fino a quando il valore del primo obiettivo
non coincide con y1N, possibile generare lintero insieme di soluzioni efficienti.

22
Il metodo -Constrained Elastico
Tale metodo una variante del metodo -constrained in cui i vincoli di tipo
knapsack sono resi elastici per poter risolvere pi agevolmente il problema.
Infatti sono ammesse violazioni degli upper bound (o lower bound) sui valori delle
funzioni obiettivo introducendo una penalit associata a tali violazioni.
Il problema scalarizzato ottenuto il seguente:

min Cjx +

Ax = b
Ckx + lk sk = k kj
sk, lk 0 kj
x 0 (integer)

I parametri del modello sono le penalit k ed i termini noti dei vincoli di knapsack k..
Due insiemi di variabili sono introdotti rispetto al problema orginario: le variabili slack
lk e surplus sk per trasformare i vincoli in vincoli di uguaglianza.

23
Il metodo -Constrained Elastico

Osservazioni

Questo metodo in grado di generare tutte le soluzioni efficienti e, se applicato in


modo appropriato, riduce la complessit del problema scalarizzato, infatti tale approccio
mantiene il pi possibile la struttura del problema originario senza distruggerla come il
metodo -constrained.

Tale metodo contiene come casi particolari il metodo -constrained ed il metodo


dei pesi.

24
Esempio Knapsack Bi-obiettivo (1/6)

25
Esempio Knapsack Bi-obiettivo (2/6)

26
Esempio Knapsack Bi-obiettivo (3/6)

27
Esempio Knapsack Bi-obiettivo (4/6)

28
Esempio Knapsack Bi-obiettivo (5/6)

29
Esempio Knapsack Bi-obiettivo (6/6)

30
Esempio Knapsack Bi-obiettivo (1/2)

31
Esempio Knapsack Bi-obiettivo (2/2)

32