Ottimizzazione Multi Obiettivo

Documenti analoghi
Ottimizzazione Multi Obiettivo

5.5 Metodi generali per la soluzione di problemi

LA PROGRAMMAZIONE MATEMATICA (p.m.)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

3.4 Metodo di Branch and Bound

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

Branch-and-bound per KNAPSACK

Parte V: Rilassamento Lagrangiano

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Algoritmo di Branch & Bound

Possibile applicazione

Geometria della programmazione lineare

Problemi di Flusso: Il modello del Trasporto

Programmazione Lineare

Prerequisiti didattici

Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

2.6 Calcolo degli equilibri di Nash

Il modello duale. Capitolo settimo. Introduzione

10 - Applicazioni del calcolo differenziale

5.3 Metodo dei piani di taglio

LA TEORIA DELL OFFERTA. Tecnologia e costi di produzione

ESERCIZI SVOLTI DI PROGRAMMAZIONE LINEARE TOMO G PAG 421 E SEGUENTI

Esercizi di ottimizzazione vincolata

Il metodo dei Piani di Taglio (Cutting Planes Method)

1) Applicando la definizione di derivata, calcolare la derivata in x = 0 delle funzioni: c) x + 1 d)x sin x.

2. ALGORITMO DEL SIMPLESSO

Introduzione alla programmazione lineare

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO

Rilassamento Lagrangiano

Ottimizzazione marginale

Esercizio 10.1 Pagina 1 di 2 ESERCIZIO 10.1

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

2. I numeri reali e le funzioni di variabile reale

ESERCITAZIONE: ESPONENZIALI E LOGARITMI

Rilassamento Lagrangiano

IL METODO DEL SIMPLESSO

Condizione di allineamento di tre punti

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Microeconomia - Problem set 4 - soluzione

DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:

Massimi e minimi vincolati

L efficienza e la valutazione delle performance Concetti ed introduzione alla D.E.A.

Punti nel piano cartesiano

Esercitazione 6 - Soluzione

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di

Soluzione grafica di problemi PM in 2 variabili

1.1 Coordinate sulla retta e nel piano; rette nel piano

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

ESERCITAZIONE 3: Produzione e costi

ECONOMIA APPLICATA ALL INGEGNERIA (Docente: Prof. Ing. Donato Morea)

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Il metodo del simplesso

LE EQUAZIONI DIFFERENZIALI DEL PRIMO ORDINE

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Anno 2. Equazioni di secondo grado

Funzioni derivabili (V. Casarino)

Massimo e minimo limite di successioni

L ALGORITMO DEL SIMPLESSO REVISIONATO

UNITÀ DIDATTICA 2 LE FUNZIONI

ESERCIZI MATEMATICA GENERALE - Canale III

Analisi Matematica 1 e Matematica 1 Geometria Analitica: Rette

Algoritmi di Ricerca

Funzioni elementari: funzioni potenza

FUNZIONE DI UTILITÀ CURVE DI INDIFFERENZA (Cap. 3)

Problemi di flusso a costo minimo

La teoria del consumo

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

1 Funzioni reali di una variabile reale

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

LO STUDIO DI FUNZIONE ESERCIZI CON SOLUZIONI

Matematica Capitolo 1. Funzioni. Ivan Zivko

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

ANALISI MATEMATICA PER IL CdL IN INFORMATICA ESERCIZI SULLE DISEQUAZIONI

Modelli di Ottimizzazione: definizione formale

1 Il metodo dei tagli di Gomory

PROBLEMI DI SCELTA dipendenti da due variabili d azione

1.4 Geometria analitica

Esercizi su ottimizzazione vincolata

Transcript:

Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo La Programmazione Matematica classica, lineare (PL) o intera (PLI), tratta problemi caratterizzati da una unica e ben definita funzione obiettivo. I problemi di ottimizzazione reali, invece, presentano tipicamente vari obiettivi Calcolo di percorsi: Tempo di percorrenza totale Costi totali (pedaggio, carburante, inquinamento,...) Qualità delle strade (accesso ai veicoli pesanti,...) Rischiosità (incidenti, esposizione al rischio per i residenti,...) Rilevanza paesaggistica...... Portfolio : scelta di investimenti (o progetti) Profitto Durata Rischio (misurato secondo diversi parametri)... Scheduling: Costo totale Makespan (istante di fine operazioni) Tardiness (ritardi nelle consegne)...

Ottimizzazione Multi Obiettivo 2 I metodi algoritmici per la PL e la PLI trovano una o più soluzioni che minimizzano (o massimizzano) una data funzione obiettivo In generale, in un problema multi-obiettivo non esiste una soluzione che ottimizza tutti gli obiettivi! Per affrontare i problemi multi-obiettivo occorre dunque: definire l insieme di soluzioni a cui siamo interessati sviluppare metodi ad hoc per determinare tali soluzioni I metodi multi-obiettivo si basano generalmente sui metodi mono-obiettivo, o su loro varianti, eventualmente iterate più volte Ovviamente, il fatto di dover fornire un insieme di soluzioni, potenzialmente esteso, complica notevolmente la difficoltà Nel seguito ci concentriamo sui problemi di PLI multi-obiettivo, con obiettivi di massimo/minimo, e variabili intere/binarie; il generico problema avrà la seguente forma: dove max/min (z 1,z 2,...,z p ) = (c T 1x,c T 2x,...,c T px) Ax = b x intero/binario p è il numero di obiettivi z k = c T kx è la k-esima funzione obiettivo

Ottimizzazione Multi Obiettivo 3 Esempio Un azienda produce tre tipi di oggetti P j, j = 1,2,3. Nella tabella sono riportati, per ogni unità di prodotto, il profitto unitario, le ore di lavoro necessarie, la quantità di materia prima utilizzata e il livello di inquinamento generato profitto unitario ore lavoro materia prima inquinamento P 1 10 4 3 10 P 2 9 3 2 6 P 3 8 2 2 3 L azienda ha a disposizione mano d opera per 1300 ore di lavoro e 1000 unità di materia prima L azienda ha due obiettivi: massimizzare il profitto minimizzare il livello di inquinamento p = 2: problema bi-obiettivo, o più comunemente bi-criterio

Ottimizzazione Multi Obiettivo 4 Per formulare il problema introduciamo le varibili x j, j = 1,2,3: x j rappresenta le unità di P j prodotte Modello matematico (trasformiamo la massimizzazione del profitto c T 1x in minimizzazione di c T 1x): min (z 1,z 2 ) = ( 10x 1 9x 2 8x 3, 10x 1 +6x 2 +3x 3 ) 4x 1 +3x 2 +2x 3 1300 3x 1 +2x 2 +2x 3 1000 x 1,x 2,x 3 0,intero Soluzione ottenuta massimizzando singolarmente il profitto ( z 1 ): z 1 = 4300 z 2 = 2400 x 1 = 0, x 2 = 300, x 3 = 200 Soluzione ottenuta minimizzando singolarmente l inquinamento (z 2 ): z 1 = 0 z 2 = 0 x 1 = 0, x 2 = 0, x 3 = 0 Come spesso accade nei problemi multi-obiettivo, le due soluzioni sono in netto contrasto tra loro!

Ottimizzazione Multi Obiettivo 5 Definizioni Dominanza: date due soluzioni ammissibili x e x in un problema di minimo, x domina x se: 1. c T i x ct i x i = 1,...,p T 2. k {1,...,p} : ck x < ct k x in un problema di massimo, x domina x se: 1. c T i x ct i x i = 1,...,p T 2. k {1,...,p} : ck x > ct k x Ottimo di Pareto una soluzione ammissibile x è un ottimo di Pareto, o soluzione efficiente, se non esiste nessuna soluzione ammissibile x che domina x Insieme Efficiente: è l insieme delle soluzioni efficienti A partire da una soluzione efficiente, si può migliorare un obiettivo solo peggiorandone un altro Spazio dei Criteri: a ogni soluzione x corrisponde un punto z(x) = (z 1,z 2,...,z p ) = (c T 1x,c T 2x,...,c T px) nello spazio dei criteri (di dimensione p); notare che lo stesso punto può corrispondere a diverse soluzioni Punto Non-Dominato: un punto nello spazio dei criteri si dice non-dominato se corrisponde ad una soluzione efficiente Frontiera di Pareto: è l insieme dei punti non dominati

Ottimizzazione Multi Obiettivo 6 Esempio: caso bi-criterio (problema di massimo) z 2 z 1 ogni punto domina il quadrante a sinistra e in basso 16 punti nello spazio dei criteri la frontiera di Pareto è composta da 4 punti non-dominati l insieme efficiente contiene almeno 4 soluzioni efficienti Proprietà: nel caso bicriterio i punti della frontiera di Pareto possono essere ordinati equivalentemente da sinistra a destra, cioè per z 1 crescente dal basso verso l alto, cioè per z 2 decrescente Nessuna proprietà analoga vale se p > 2

Ottimizzazione Multi Obiettivo 7 Ricordiamo che l inviluppo (o involucro) convesso di un insieme di punti è il minimo poliedro che contiene tali punti; nel caso bicriterio è un poligono convesso Denotiamo con S l inviluppo convesso dei punti dello spazio dei criteri corrispondenti a soluzioni ammissibili I punti della frontiera di Pareto, e analogamente le soluzioni efficienti, possono essere partizionati in: supportati: giacciono sulla superficie esterna di S non supportati: giacciono all interno di S Un punto supportato si dice estremo se è un vertice di S Esempio: caso bicriterio S estremo supportato non estremo dominato z 2 z 2 minimo massimo z 1 z 1 Osservazione: è facile convincersi che se esiste una sola soluzione efficiente questa è estrema, altrimenti esistono almeno due soluzioni estreme

Ottimizzazione Multi Obiettivo 8 Metodi Risolutivi Tipicamente, lo scopo è individuare uno specifico ottimo di Pareto Questo può tuttavia richiedere di generare tutta la frontiera (ammesso che ci si riesca) o un suo sottoinsieme Si assume l esistenza di un decisore in grado di selezionare o caratterizzare la soluzione considerata migliore In base al ruolo svolto dal decisore nella strategia di soluzione del problema, i metodi risolutivi possono essere classificati in tre categorie Metodi a posteriori, nei quali si genera tutto l insieme efficiente, al cui interno il decisore sceglie la soluzione per lui migliore Metodi a priori, nei quali 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 interattivi, nei quali 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 Noi vedremo esempi delle prime due categorie; i metodi interattivi sono più complicati, ma in sostanza sfruttano le stesse tecniche

Ottimizzazione Multi Obiettivo 9 Algoritmo ε constrained Si tratta di un metodo a posteriori. Si seleziona una funzione obiettivo k e la si ottimizza, mentre le altre funzioni (h = 1,...,p, h k) vengono trasformate in vincoli, limitando opportunamente i loro valori In dettaglio, consideriamo un problema di minimo: min (z 1,z 2,...,z p ) = (c T 1x,c T 2x,...,c T px) Ax = b x 0, intero Scelto k {1,...,p} definiamo per ogni altra funzione obiettivo h k un upper bound ε h ; il problema (mono-obiettivo) risultante è: min c T k x c T h x ε h h = 1,...,p, h k Ax = b x 0, intero La soluzione ottima del problema mono-obiettivo non è necessariamente un ottimo di Pareto del problema multi-obiettivo; tuttavia, risolvendo iterativamente con valori ε i opportunamente aggiornati, è possibile generare tutta la frontiera di Pareto Come vedremo, il metodo risulta particolarmente semplice e intuitivo nel caso bicriterio; per p > 2 la scelta dei valori ε h è più complicata Nota: nei problemi di massimo si usano lower bound (c T h x ε h)

Ottimizzazione Multi Obiettivo 10 Algoritmo ε constrained Esempio: Knapsack Bi-Obiettivo Consideriamo una applicazione in campo finanziario Sia dato un insieme di n possibili investimenti; ogni investimento j richiede un esborso in denaro w j, assicura un profitto p j e ha un indice di sicurezza o affidabilità (inversamente proporzionale al rischio) s j ; sia dato inoltre un budget massimo W per l esborso totale L obiettivo è quello di selezionare un insieme di investimenti, il cui esborso totale non ecceda W, cercando di massimizzare il profitto totale e la sicurezza totale Si consideri il caso in cui n = 14, W = 100 e i dati sono quelli nella tabella sottostante j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 w j 16 18 21 9 7 23 14 38 16 41 13 26 31 22 p j 23 13 53 2 2 8 33 43 13 13 10 11 31 30 s j 34 44 14 22 11 28 9 7 27 9 15 6 16 10 Determiniamo la frontiera di Pareto con il seguente metodo ε-constrained: 1. Risolviamo un problema di knapsack massimizzando il profitto; siano P ed S il profitto e la sicurezza ottenuti 2. massimizziamo nuovamente il profitto, ma imponendo come vincolo che la sicurezza totale sia maggiore o uguale a S +1 3. iteriamo aggiornando il vincolo sulla sicurezza con l ultimo valore S ottenuto, fino a quando il modello risulta non ammissibile

Ottimizzazione Multi Obiettivo 11 Iterazione 1: risolviamo il problema di zaino max p T x w T x 100 x j {0,1} j = 1,...,14 ottenendo profitto massimo P= 159 e sicurezza S = 40, con gli investimenti: 3, 7, 8, 14 Iterazione 2: risolviamo il modello max p T x w T x 100 s T x LB S x j {0,1} j = 1,...,14 (1) con LB S = S+1 = 41, dove S è il valore di sicurezza ottenuto all iterazione precedente; in questo modo otteniamo i nuovi valori P = 154 e S = 105, con gli investimenti: 1, 3, 5, 7, 9, 14 Iterazione 3: risolviamo il modello (1) con LB S = 106, ottenendo P= 154 e S = 122, con gli investimenti: 1, 2, 3, 5, 7, 14 Notare che P è rimasto invariato! Iterazione 4: risolviamo il modello (1) con LB S = 123, ottenendo P= 154 e S = 133, con gli investimenti: 1, 2, 3, 4, 7, 14 Notare che P è rimasto di nuovo invariato! Iterazione 5: risolviamo il modello (1) con LB S = 134, ottenendo P= 145 e S = 143, con gli investimenti: 1, 2, 3, 7, 9, 11 Iterazione 6: risolviamo il modello (1) con LB S = 144, ottenendo P= 137 e S = 150, con gli investimenti: 1, 2, 3, 4, 7, 9

Ottimizzazione Multi Obiettivo 12 Iterazione 7: risolviamo il modello (1) con LB S = 151, ottenendo P=116 e S = 167, con gli investimenti: 1, 2, 3, 4, 5, 9, 11 Iterazione 8: risolviamo il modello (1) con LB S = 168, ottenendo P=69 e S = 170, con gli investimenti: 1, 2, 4, 6, 9, 11 Iterazione 9: risolviamo il modello (1) con LB S = 171, e non otteniamo nessuna soluzione ammissibile: il metodo termina Le coppie (P, S) generate dall algoritmo sono: (159, 40), (154, 105), (154, 122), (154, 133), (145, 143), (137, 150), (116, 167), (69, 170) Il grafico dei punti corrispondenti a queste coppie è il seguente 180 Grafico dei risultati 160 140 120 100 80 60 40 20 0 60 90 120 150 Come risulta evidente dal grafico, l insieme di coppie ottenuto non è la frontiera di Pareto, perché contiene le due soluzioni (154,105) e (154, 122) dominate dalla soluzione (154, 133)

Ottimizzazione Multi Obiettivo 13 Il grafico della frontiera di Pareto si ottiene eliminando le due soluzioni dominate; in sostanza, tra tutte le soluzioni con valore di profitto P = 154, si mantiene solo quella non dominata (154,133) 180 Frontiera di Pareto 160 140 120 Sicurezza S 100 80 60 40 20 60 70 80 90 100 110 120 130 140 150 160 Profitto P Osservazione: l eventualità di generare soluzioni dominate dipende non solo dal modello che si sta risolvendo, ma anche dal solutore impiegato. Nel nostro esempio, un diverso solutore avrebbe potuto generare la soluzione non dominata (154, 133) già all iterazione 2 (rendendo quindi superflue le iterazioni 3 e 4)

Ottimizzazione Multi Obiettivo 14 Scalarizzazione ( metodo dei pesi ) Si tratta di un metodo a priori. Il decisore assegna a ciascun obiettivo un peso (positivo) che ne riflette la rilevanza sulla scelta Dunque ad ogni funzione obiettivo c i si associa un moltiplicatore λ i > 0, ottenendo la funzione obiettivo p z λ (x) = λ T (z 1,z 2,...,z p ) = λ i c T i x come somma pesata (con pesi λ) delle p funzioni obiettivo Dato il problema: i=1 min (z 1,z 2,...,z p ) = (c T 1x,c T 2x,...,c T px) Ax = b x 0,intero si ottiene il problema singolo obiettivo ( scalare ) min z λ (x) = p i=1 λ ic T i x Ax = b x 0,intero (e analogamente per un problema di massimo) Teorema (Geoffrion, 1968) Ogni soluzione ottima del problema scalare è una soluzione efficiente supportata del problema multiobiettivo

Ottimizzazione Multi Obiettivo 15 Scalarizzazione: Esempio (Knapsack Bi-Obiettivo) Consideriamo il problema di zaino bi-obiettivo definito in precedenza per l applicazione in campo finanziario Un decisore abbastanza propenso al rischio potrebbe assegnare peso λ P = 2 all obiettivo profitto, e peso λ S = 1 all obiettivo sicurezza Il problema singolo obiettivo risultante è il seguente: max λ P p T x+λ S s T x = 14 j=1 (2p j +s j )x j w T x 100 x j {0,1} j = 1,...,14 Il valore ottimo è 441 (ottenuto con gli investimenti 1, 2, 3, 4, 7, 14) e corrisponde alla soluzione efficiente con P = 154 e S = 133 trovata all iterazione 4 del metodo ε-constrained Un decisore decisamente avversio al rischio potrebbe invece assegnare pesi λ P = 1 e λ S = 3, ottenendo il problema: max λ P p T x+λ S s T x = 14 j=1 (p j +3s j )x j w T x 100 x j {0,1} j = 1,...,14 Il valore ottimo è 617 (ottenuto con gli investimenti 1, 2, 3, 4, 5, 9, 11) e corrisponde alla soluzione efficiente con P = 116 e S = 167 trovata all iterazione 7 del metodo ε-constrained