Multikriteriell optimering

From Systems analysis wiki
Jump to navigation Jump to search

Multikriteriell optimering (även multikriteriell programmering, eng. multi-objective optimization, multi-criteria optimization) — är en gren av matematisk optimering som studerar problem med simultan optimering av två eller flera målfunktioner (kriterier), vilka i regel står i konflikt med varandra[1][2]. Formellt formuleras problemet som minimering av en vektoriell målfunktion på mängden av tillåtna lösningar.

Definition och terminologi

Problemet med multikriteriell optimering skrivs i allmän form på följande sätt: minxS{f1(x),f2(x),,fk(x)} där Sn är en icke-tom mängd av tillåtna lösningar, och fi:S är målfunktionerna (k2)[3]. Vektorn f(x)=(f1(x),,fk(x)) kallas målvektor.

Till skillnad från skalär optimering finns det i en multikriteriell formulering vanligtvis ingen enskild lösning som förbättrar värdena för alla kriterier samtidigt. Därför generaliseras det klassiska begreppet optimum med hjälp av konceptet Pareto-optimalitet[4].

  • Pareto-lösning (Pareto-optimal eller effektiv lösning): en tillåten lösning x*S för vilken det inte finns någon annan lösning xS sådan att fi(x)fi(x*) för alla i=1,,k, och samtidigt fj(x)<fj(x*) för åtminstone ett index j[3][4]. Med andra ord är en lösning Pareto-optimal om inget kriterievärde kan förbättras utan att försämra minst ett annat kriterium.
  • Pareto-front (eller Pareto-mängd): mängden av alla målvektorer som motsvarar Pareto-optimala lösningar.
  • Svagt Pareto-optimal lösning: en lösning x*S för vilken det inte finns någon annan lösning xS sådan att fi(x)<fi(x*) för alla i.

Viktiga egenskaper och satser

  • Sats om viktad summa: I konvexa problem (där alla funktioner fi(x) och mängden S är konvexa) är varje Pareto-optimal lösning x* en lösning till det skalära minimeringsproblemet med viktad summa av kriterier minxSi=1kwifi(x) för någon uppsättning icke-negativa vikter wi0. I icke-konvexa problem kan denna metod dock misslyckas med att hitta vissa delar av Pareto-fronten[5][6].
  • Karush-Kuhn-Tucker (KKT) optimalitetsvillkor: De nödvändiga optimalitetsvillkoren för glatta problem generaliseras till det multikriteriella fallet. I en Pareto-optimal punkt finns det en icke-noll uppsättning icke-negativa multiplikatorer (vikter) för vilka gradienterna av målfunktionerna och de aktiva bivillkoren är linjärt beroende[7].
  • Egenskaper hos lösningens mängd: Pareto-fronten besitter ett antal viktiga kvalitativa egenskaper. Dess gräns begränsas av idealpunkten (sammansatt av elementvisa minima för alla kriterier) och nadirpunkten (av elementvisa maxima på fronten)[7].

Exempel

  • Linjärt problem: Minimera f1(x)=x1 och f2(x)=x2 med bivillkoret x1+x21, x1,x20. Här leder förbättring av ett kriterium (t.ex. ökning av x1) oundvikligen till försämring av ett annat (minskning av x2). Mängden av Pareto-optimala lösningar är ett linjesegment x1+x2=1.
  • Icke-konvext problem: Minimera f1(x)=x2 och f2(x)=(x2)2 på intervallet [0,2]. Pareto-fronten är icke-konvex. Metoden med viktade summor med positiva vikter kan inte hitta lösningar inuti detta intervall (t.ex. i punkten x=1), eftersom linjärkombinationen av kriterier uppnår sitt minimum endast i ändpunkterna x=0 eller x=2[8].

Relaterade begrepp och tillämpningar

Multikriteriell optimering är nära besläktad med multikriteriellt beslutsfattande (MCDM), som studerar valet av det bästa alternativet med hänsyn till beslutsfattarens preferenser. De viktigaste metoderna för att omvandla ett multikriteriellet problem till ett skalärt (skalering) inkluderar:

  • Metoden med viktad summa.
  • Metoden med ε-begränsningar: Ett kriterium optimeras medan övriga omvandlas till bivillkor av typen fi(x)εi. Denna metod kan hitta lösningar på icke-konvexa delar av fronten[9].

Multikriteriell optimering har bred tillämpning inom teknisk konstruktion, ekonomi (t.ex. portföljoptimering), förvaltning och miljövård.

Se även

  • Pareto-optimalitet
  • Vektoroptimering
  • Beslutsteori
  • Beslutsstödssystem
  • Operationsanalys

Noter

  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]