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

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Многокритериальная оптимизация (также многокритериальное программирование, англ. 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]