Ottimizzazione multicriterio

From Systems analysis Wiki
Jump to navigation Jump to search

Ottimizzazione multicriterio (anche programmazione multicriterio, ingl. multi-objective optimization, multi-criteria optimization) — è una branca dell'ottimizzazione matematica che studia i problemi di ottimizzazione simultanea rispetto a due o più funzioni obiettivo (criteri), che, di norma, sono in conflitto tra loro[1][2]. Formalmente il problema è formulato come minimizzazione di una funzione obiettivo vettoriale sull'insieme delle soluzioni ammissibili.

Definizione e terminologia

Il problema di ottimizzazione multicriterio nella forma generale è scritto come segue: minxS{f1(x),f2(x),,fk(x)} dove Sn — è un insieme non vuoto di soluzioni ammissibili, e fi:S — sono le funzioni obiettivo (k2)[3]. Il vettore f(x)=(f1(x),,fk(x)) è detto vettore obiettivo.

A differenza dell'ottimizzazione scalare, nella formulazione multicriterio di norma non esiste un'unica soluzione che migliori simultaneamente i valori di tutti i criteri. Pertanto, il classico concetto di ottimo viene generalizzato mediante il concetto di ottimalità di Pareto[4].

  • Soluzione di Pareto (soluzione Pareto-ottimale o efficiente): una soluzione ammissibile xS, per la quale non esiste un'altra soluzione xS tale che fi(x)fi(x) per tutti i=1,,k, e inoltre fj(x)<fj(x) per almeno un indice j[3][4]. In altre parole, una soluzione è Pareto-ottimale se nessun valore di criterio può essere migliorato senza peggiorare almeno un altro criterio.
  • Fronte di Pareto (o insieme di Pareto): l'insieme di tutti i vettori obiettivo corrispondenti alle soluzioni Pareto-ottimali.
  • Soluzione debolmente Pareto-ottimale: una soluzione xS, per la quale non esiste un'altra soluzione xS tale che fi(x)<fi(x) per tutti i.

Proprietà chiave e teoremi

  • Teorema della somma pesata: Nei problemi convessi (dove tutte le funzioni fi(x) e l'insieme S sono convessi) qualsiasi soluzione Pareto-ottimale x è soluzione del problema scalare di minimizzazione della somma pesata dei criteri minxSi=1kwifi(x) per un certo insieme di pesi non negativi wi0. Tuttavia, nei problemi non convessi questo metodo potrebbe non trovare alcune parti del fronte di Pareto[5][6].
  • Condizioni di ottimalità di Karush-Kuhn-Tucker (KKT): Le condizioni necessarie di ottimalità per problemi regolari sono generalizzate al caso multicriterio. In un punto di ottimo di Pareto esiste un insieme non nullo di moltiplicatori (pesi) non negativi per i quali i gradienti delle funzioni obiettivo e dei vincoli attivi sono linearmente dipendenti[7].
  • Proprietà dell'insieme delle soluzioni: Il fronte di Pareto possiede una serie di importanti caratteristiche qualitative. Il suo confine è delimitato dal punto ideale (composto dai minimi elemento per elemento di tutti i criteri) e dal punto nadir (composto dai massimi elemento per elemento sul fronte)[7].

Esempi

  • Problema lineare: Minimizzare f1(x)=x1 e f2(x)=x2 con il vincolo x1+x21, x1,x20. Qui il miglioramento di un criterio (ad esempio, l'aumento di x1) porta inevitabilmente al peggioramento dell'altro (riduzione di x2). L'insieme delle soluzioni Pareto-ottimali è il segmento di retta x1+x2=1.
  • Problema non convesso: Minimizzare f1(x)=x2 e f2(x)=(x2)2 sul segmento [0,2]. Il fronte di Pareto è non convesso. Il metodo delle somme pesate con pesi positivi non riesce a trovare soluzioni all'interno di questo segmento (ad esempio, nel punto x=1), poiché la combinazione lineare dei criteri raggiunge il minimo solo nei punti estremi x=0 o x=2[8].

Concetti correlati e applicazioni

L'ottimizzazione multicriterio è strettamente legata al processo decisionale multicriterio (MCDM), che studia la scelta della migliore alternativa tenendo conto delle preferenze del decisore. I principali metodi di trasformazione del problema multicriterio in uno scalare (scalarizzazione) includono:

  • Metodo della somma pesata.
  • Metodo dei vincoli ε: Si ottimizza un criterio, mentre gli altri vengono trasformati in vincoli della forma fi(x)εi. Questo metodo è in grado di trovare soluzioni nelle parti non convesse del fronte[9].

L'ottimizzazione multicriterio trova ampia applicazione nella progettazione ingegneristica, nell'economia (ad esempio, ottimizzazione del portafoglio), nella gestione e nell'ecologia.

Vedi anche

  • Ottimalità di Pareto
  • Ottimizzazione vettoriale
  • Teoria delle decisioni
  • Sistemi di supporto alle decisioni
  • Ricerca operativa

Note

  1. "Многокритериальная оптимизация". Википедия. [1]
  2. Трифонов А. Г. Многокритериальная оптимизация. Matlab Exponenta. [2]
  3. 3.0 3.1 "Multi-objective optimization". Encyclopedia of Mathematics. [3]
  4. 4.0 4.1 Ehrgott, M. (2012). Vilfredo Pareto and Multi-objective Optimization. Documenta Mathematica, Extra Volume ISMP, 447–453. [4]
  5. Соболь И. М., Статников Р. Б. (2006). Выбор оптимальных параметров в задачах со многими критериями (2-е изд.). Дрофа.
  6. Marler, R. T., & Arora, J. S. (2010). The weighted sum method for multi-objective optimization: new insights. Structural and Multidisciplinary Optimization, 41(6), 853-862. [5]
  7. 7.0 7.1 Miettinen, K. (1998). Nonlinear Multiobjective Optimization. Kluwer Academic Publishers.
  8. Ehrgott, M. (2005). Multicriteria Optimization (2nd ed.). Springer-Verlag.
  9. Mavrotas, G. (2009). Effective implementation of the ε-constraint method in Multi-Objective Mathematical Programming problems. Applied Mathematics and Computation, 213(2), 455-465. [6]