Optymalizacja wielokryterialna

From Systems analysis Wiki
Jump to navigation Jump to search

Optymalizacja wielokryterialna (także programowanie wielokryterialne, ang. multi-objective optimization, multi-criteria optimization) — to dział optymalizacji matematycznej zajmujący się zagadnieniami jednoczesnej optymalizacji według dwóch lub więcej funkcji celu (kryteriów), które z reguły są ze sobą sprzeczne[1][2]. Formalnie zadanie zapisywane jest jako minimalizacja wektorowej funkcji celu na zbiorze rozwiązań dopuszczalnych.

Definicja i terminologia

Zadanie optymalizacji wielokryterialnej w ogólnej postaci zapisuje się następująco: minxS{f1(x),f2(x),,fk(x)} gdzie Sn — niepusty zbiór rozwiązań dopuszczalnych, a fi:S — funkcje celu (k2)[3]. Wektor f(x)=(f1(x),,fk(x)) nazywany jest wektorem celu.

W odróżnieniu od optymalizacji skalarnej, w sformułowaniu wielokryterialnym zazwyczaj nie istnieje jedyne rozwiązanie poprawiające wartości wszystkich kryteriów jednocześnie. Dlatego klasyczne pojęcie optimum uogólnia się przy użyciu koncepcji optymalności w sensie Pareto[4].

  • Rozwiązanie Pareto (rozwiązanie Pareto-optymalne lub efektywne): rozwiązanie dopuszczalne xS, dla którego nie istnieje inne rozwiązanie xS takie, że fi(x)fi(x) dla wszystkich i=1,,k, przy czym fj(x)<fj(x) dla przynajmniej jednego indeksu j[3][4]. Innymi słowy, rozwiązanie jest Pareto-optymalne, jeśli żadnego kryterium nie można poprawić bez pogorszenia co najmniej jednego innego kryterium.
  • Front Pareto (lub zbiór Pareto): zbiór wszystkich wektorów celu odpowiadających rozwiązaniom Pareto-optymalnym.
  • Słabo Pareto-optymalne rozwiązanie: rozwiązanie xS, dla którego nie istnieje inne rozwiązanie xS takie, że fi(x)<fi(x) dla wszystkich i.

Kluczowe właściwości i twierdzenia

  • Twierdzenie o ważonej sumie: W zadaniach wypukłych (gdzie wszystkie funkcje fi(x) oraz zbiór S są wypukłe) każde rozwiązanie Pareto-optymalne x jest rozwiązaniem skalarnego zadania minimalizacji ważonej sumy kryteriów minxSi=1kwifi(x) dla pewnego zestawu nieujemnych wag wi0. Jednak w zadaniach niewypukłych metoda ta może nie znaleźć niektórych części frontu Pareto[5][6].
  • Warunki optymalności Karusha-Kuhna-Tuckera (KKT): Warunki konieczne optymalności dla gładkich zadań uogólnia się na przypadek wielokryterialny. W punkcie Pareto-optimum istnieje niezerowy zestaw nieujemnych mnożników (wag), dla których gradienty funkcji celu i aktywnych ograniczeń są liniowo zależne[7].
  • Właściwości zbioru rozwiązań: Front Pareto posiada szereg ważnych cech jakościowych. Jego granica wyznaczona jest przez punkt idealny (złożony z elementarnych minimów wszystkich kryteriów) oraz punkt nadir (z elementarnych maksimów na froncie)[7].

Przykłady

  • Zadanie liniowe: Minimalizować f1(x)=x1 i f2(x)=x2 przy ograniczeniu x1+x21, x1,x20. Tutaj poprawa jednego kryterium (np. zwiększenie x1) nieuchronnie prowadzi do pogorszenia drugiego (zmniejszenia x2). Zbiór rozwiązań Pareto-optymalnych stanowi odcinek prostej x1+x2=1.
  • Zadanie niewypukłe: Minimalizować f1(x)=x2 i f2(x)=(x2)2 na odcinku [0,2]. Front Pareto jest niewypukły. Metoda ważonych sum z dodatnimi wagami nie będzie w stanie znaleźć rozwiązań wewnątrz tego odcinka (np. w punkcie x=1), ponieważ liniowa kombinacja kryteriów będzie osiągać minimum jedynie w punktach skrajnych x=0 lub x=2[8].

Pojęcia pokrewne i zastosowania

Optymalizacja wielokryterialna jest ściśle powiązana z wielokryterialnym podejmowaniem decyzji (MCDM), które zajmuje się wyborem najlepszej alternatywy z uwzględnieniem preferencji osoby podejmującej decyzję. Podstawowe metody przekształcania zadania wielokryterialnego w skalarne (skalaryzacji) obejmują:

  • Metodę ważonych sum.
  • Metodę ograniczeń ε: Optymalizowane jest jedno kryterium, a pozostałe przekształcane są w ograniczenia postaci fi(x)εi. Metoda ta jest w stanie znajdować rozwiązania na niewypukłych odcinkach frontu[9].

Optymalizacja wielokryterialna znajduje szerokie zastosowanie w projektowaniu inżynierskim, ekonomii (np. optymalizacja portfela), zarządzaniu i ekologii.

Zobacz też

  • Optymalność w sensie Pareto
  • Optymalizacja wektorowa
  • Teoria podejmowania decyzji
  • Systemy wspomagania decyzji
  • Badania operacyjne

Przypisy

  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]