Многокритериална оптимизация

From Systems analysis wiki
Jump to navigation Jump to search

Многокритериална оптимизация (също многокритериално програмиране, англ. multi-objective optimization, multi-criteria optimization) — това е раздел на математическата оптимизация, изучаващ задачи за едновременна оптимизация по две или повече целеви функции (критерии), които, като правило, си противоречат помежду си[1][2]. Формално задачата се записва като минимизация на векторна целева функция върху множеството от допустими решения.

Определение и терминология

Задачата за многокритериална оптимизация в общ вид се записва по следния начин: minxS{f1(x),f2(x),,fk(x)} където Sn — непразно множество от допустими решения, а fi:S — целеви функции (k2)[3]. Векторът f(x)=(f1(x),,fk(x)) се нарича целеви вектор.

За разлика от скаларната оптимизация, в многокритериалната постановка обикновено не съществува единствено решение, което едновременно подобрява стойностите на всички критерии. Затова класическото понятие за оптимум се обобщава чрез концепцията за оптималност по Парето[4].

  • Решение на Парето (Парето-оптимално или ефективно решение): допустимо решение x*S, за което не съществува друго решение xS, такова че fi(x)fi(x*) за всички i=1,,k, и при това fj(x)<fj(x*) поне за един индекс j[3][4]. С други думи, решението е Парето-оптимално, ако стойността на нито един критерий не може да бъде подобрена, без да се влоши поне един друг критерий.
  • Фронт на Парето (или множество на Парето): множеството от всички целеви вектори, съответстващи на Парето-оптимални решения.
  • Слабо Парето-оптимално решение: решение x*S, за което не съществува друго решение xS, такова че fi(x)<fi(x*) за всички i.

Ключови свойства и теореми

  • Теорема за претеглената сума: В изпъкнали задачи (където всички функции fi(x) и множеството S са изпъкнали) всяко Парето-оптимално решение x* е решение на скаларна задача за минимизация на претеглена сума от критерии minxSi=1kwifi(x) за някакъв набор от неотрицателни тегла wi0. Въпреки това, в неизпъкнали задачи този метод може да не намери някои части на фронта на Парето[5][6].
  • Условия за оптималност на Каруш-Кун-Тъкър (ККТ): Необходимите условия за оптималност за гладки задачи се обобщават за многокритериалния случай. В точката на Парето-оптимума съществува ненулев набор от неотрицателни множители (тегла), при които градиентите на целевите функции и активните ограничения са линейно зависими[7].
  • Свойства на множеството от решения: Парето-фронтът притежава редица важни качествени характеристики. Границата му е определена от идеалната точка (съставена от поелементните минимуми на всички критерии) и точката надир (от поелементните максимуми върху фронта)[7].

Примери

  • Линейна задача: Минимизиране на f1(x)=x1 и f2(x)=x2 при ограничение x1+x21, x1,x20. Тук подобряването на един критерий (например увеличаването на x1) неизбежно води до влошаване на друг (намаляване на x2). Множеството от Парето-оптимални решения е отсечка от правата x1+x2=1.
  • Неизпъкнала задача: Минимизиране на f1(x)=x2 и f2(x)=(x2)2 върху отсечката [0,2]. Парето-фронтът е неизпъкнал. Методът на претеглените суми с положителни тегла няма да може да намери решения вътре в тази отсечка (например в точката x=1), тъй като линейната комбинация от критерии ще достига минимум само в крайните точки x=0 или x=2[8].

Свързани понятия и приложения

Многокритериалната оптимизация е тясно свързана с многокритериалното вземане на решения (MCDM), което изучава избора на най-добра алтернатива, отчитайки предпочитанията на лицето, вземащо решения. Основните методи за преобразуване на многокритериалната задача в скаларна (скаларизация) включват:

  • Метод на претеглените суми.
  • Метод на ε-ограниченията: Оптимизира се един критерий, а останалите се превръщат в ограничения от вид fi(x)εi. Този метод е в състояние да намира решения върху неизпъкнали участъци на фронта[9].

Многокритериалната оптимизация намира широко приложение в инженерното проектиране, икономиката (например оптимизация на портфейл), управлението и екологията.

Вижте също

  • Оптималност по Парето
  • Векторна оптимизация
  • Теория на вземането на решения
  • Системи за подпомагане вземането на решения
  • Изследване на операциите

Бележки

  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]