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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Многокритериальная оптимизация или программирование (англ. Multi-objective optimization),[1][2] — это процесс одновременной оптимизации двух или более конфликтующих целевых функций в заданной области определения.

Задача многокритериальной оптимизации встречаются во многих областях науки, техники и экономики.

Определение[править | править исходный текст]

Задача многокритериальной оптимизации формулируется следующим образом:[3]

\min_\vec{x} \{f_1(\vec{x}), f_2(\vec x), \dots, f_k(\vec x)\},
\vec x \in S

где f_i: R^n \to R это k (k\ge 2) целевых функций. Векторы решений \vec x = (x_1, x_2, \dots, x_n)^T относятся к непустой области определения S.

Задача многокритериальной оптимизации состоит в поиске вектора целевых переменных, удовлетворяющего наложенным ограничениям и оптимизирующего векторную функцию, элементы которой соответствуют целевым функциям. Эти функции образуют математическое описание критерия удовлетворительности и, как правило, взаимно конфликтуют. Отсюда, «оптимизировать» означает найти такое решение, при котором значение целевых функций были бы приемлемыми для постановщика задачи.[4]

Эталонные точки[править | править исходный текст]

Для возможности оценки качества найденных решений обычно рассматривают такие точки в области значения целевой функции:

  • идеальная точка y^I,
  • утопическая точка y^U,
  • надир y^N.

В некоторых случаях эти точки могут быть решениями.

Идеальная точка определяется как вектор y^I = (y_1^I, \dots, y_p^I), каждая из координат которого имеет оптимальное значение соответствующей составляющей целевой функции:[5]

y_k^I = \min_{x \in X} f_k(x) = \min_{y\in Y} y_k.

Точка надир y^N = (y_1^N, \dots, y_p^N) определяется как вектор:

y^N_k = \max_{x\in X_E} y_k(x) = \max_{y\in Y_N} y_k, \qquad k = 1, \dots, p.

Утопическую точку y^U вычисляют на основе идеальной:[6]

y^U = y^I - \epsilon U,

где \epsilon > 0, U — единичный вектор.

Критерии оптимальности[править | править исходный текст]

Критерий Парето[править | править исходный текст]

Вектор решения \vec x\in S называется оптимальным по Парето, если не существует \vec x'\in S, такого, что f_i(\vec x) \le f_i(\vec x') для всех i=1, \dots, k и f_i(\vec x) < f_i(\vec x') для хотя бы одного i. Множество оптимальных по Парето решений можно обозначить как P(S). Целевой вектор является оптимальным по Парето, если соответствующий ему вектор из области определения также оптимален по Парето. Множество оптимальных по Парето целевых векторов можно обозначить как P(Z).

Множество оптимальных по Парето векторов является подмножеством оптимальных по Парето в слабом смысле векторов. Вектор \vec x'\in S является слабым оптимумом по Парето тогда, когда не существует вектора \vec x\in S такого, что f_i(\vec x) < f_i(\vec x') для всех i=1, 2, \dots, k.

Диапазон значений оптимальных по Парето решений в области допустимых значений дает полезную информацию об исследуемой задаче, если целевые функции ограничены областью определения. Нижние границы оптимального по Парето множества представлены в «идеальном целевом векторе» \vec z \in R^k. Его компоненты z_i получены путем минимализации каждой целевой функции в пределах области определения.

Множество оптимальных по Парето решений также называют Парето-фронтом (англ. Pareto-frontier).

Лексикографический порядок[править | править исходный текст]

Если одни целевые функции важнее других, критерий оптимальности можно определить по лексикографическому порядку.

Отношение лексикографического порядка <_{\mathrm{lex}} между векторами \vec a и \vec b выполняется, если a_q < b_q, где q = min \left\{k : a_k \neq b_k\right\}. То есть, первая q компонента вектора \vec a меньше компоненты вектора \vec b, а компоненты q+1 — уровни (если есть). Лексикографический порядок для случая действительных чисел является линейным.

Вектор \vec x \in X является лексикографическим решением, если не существует вектора \vec x' \in X, такого, что f(\vec x') <_{\mathrm{lex}} f(\vec x).

Поскольку отношение лексикографического порядка является линейным, можно доказать, что вектор \vec x является лексикографическим решением, если для всех \vec x' \in X выполняется:

\vec f(\vec x) <_{\mathrm{lex}} \vec f(\vec x').

Основной особенностью решений по лексикографическому порядку является существование выбора между критериями. Лексикографическая упорядоченность требует ранжирования критериев в том смысле, что оптимизация по критерию f_k возможна лишь тогда, когда был достигнут оптимум для предыдущих критериев. Это означает, что первый критерий имеет наибольший приоритет, и только в случае существования нескольких решений по этому критерию будет поиск решений по второму и остальным критериям.

Существование иерархии среди критериев позволяет решать лексикографические задачи последовательно, шаг за шагом минимизируя по каждому следующему критерию, и используюя оптимальные значения предварительных критериев как ограничения.

Скаляризация[править | править исходный текст]

Для получения оптимальных по Парето решений часто используют методы скаляризации. Поскольку целевая функция задачи многокритериальной оптимизации имеет векторные значения, ее превращают в функцию со скалярным значением. Таким образом, задача многокритериальной оптимизации сводится к задаче оптимизации с одной скалярной целевой функцией. Функция скаляризации должна удовлетворять следующим условиям.

Пусть F - функция скаляризации, что превращает векторную функцию \vec y = \vec f (\vec x) в скалярную. Если F сохраняет упорядоченность по Парето \vec y, то есть, если для произвольных \vec y^1, \vec y^2 \in \vec f(X) выполняется:

\vec y^1 \le \vec y^2 \implies F (\vec y^1 ) < F (\vec y^2),

тогда решение \vec x^0, что минимизирует F до X, является решением по Парето.[7] Если F сохраняет отношение порядка < в \vec y, то есть, если для произвольных \vec y^1, \vec y^2 \in \vec f(X) выполняется:

\vec y^1 < \vec y^2 \implies F (\vec y^1 ) < F (\vec y^2 ),

тогда решение \vec x^0, что минимизирует F до X, является слабым по Парето. Если F непрерывна на \vec y и \vec x^0 единственная точка минимума F на X, тогда \vec x^0 является решением по Парето.

Взвешенная сумма[править | править исходный текст]

F_1(\vec f(\vec x)) = w_1 f_1 (\vec x) + \dots + w_r f_r (\vec x).

Приведенная функция F_1 сохраняет упорядоченность по Парето для w > 0. Поэтому решения, минимизирующие F_1 до X для произвольных w > 0 являются оптимальными по Парето. Однако F_1 не сохраняет упорядоченность по Парето для w \geq 0, а сохраняет лишь отношение <, поэтому решения, минимизирующие F_1 на X для w \geq 0 являются слабыми по Парето.[7]

Недостатком метода взвешенных сумм в случае выпуклого множества значений целевых функций является невозможность охватить все оптимальные по Парето точки из множества Парето-фронта. В задачах комбинаторной многокритериальной оптимизации множество целевых значений не является выпуклым, поэтому метод взвешенных сумм не подходит для скаляризации целевых функций для этих задач.

Функция скаляризации Чебышёва[править | править исходный текст]

F_\infty (\vec f(\vec x)) = \max_{1\leq i \leq r} w_i f_i(\vec x).

Взвешенная функция скаляризации Чебышёва сохраняет отношения < и поэтому минимум F_\infty является слабым по Парето.[7]

Метод изменения ограничений (ε-ограничения)[править | править исходный текст]

По методу изменения ограничений одну из целевых функций оставляют в качестве целевой, а остальные превращают в ограничения. То есть, пусть f_r будет целевой, а остальные f_1, \dots, f_{r-1} представим как ограничение неравенства:

\min_x f_r(\vec x),
при условиях f_i(\vec x) \leq \varepsilon_i, i = 1, \dots, r - 1,
\vec x \in X.

Значения \varepsilon_1, \dots, \varepsilon_{r-1} могут рассматриваться как допустимые уровни для f_1, \dots, f_{r-1}..

Методы решения[править | править исходный текст]

Интерактивность[править | править исходный текст]

Часто решение задачи многокритериальной оптимизации происходит с участием эксперта — человека, который выбирает и принимает решения на основе информации, представленной системой поддержки принятия решений. Возможно участие группы из нескольких экспертов. В случае участия человека в поиске решения алгоритмы и методы называют интерактивными.[3]

Эволюционные методы[править | править исходный текст]

Упоминания о применении генетических алгоритмов для решения задачи многокритериальной оптимизации относятся к концу 1960-х [8].

Метод исследования пространства параметров[править | править исходный текст]

Метод основан на построении допустимого и Парето-оптимального множеств решений. Позволяет решать задачи проектирования, идентификации[9].

Примечания[править | править исходный текст]

  1. Steuer R.E. Multiple Criteria Optimization: Theory, Computations, and Application. — New York: John Wiley & Sons, Inc. — ISBN 047188846X
  2. Sawaragi Y. Theory of Multiobjective Optimization (vol. 176 of Mathematics in Science and Engineering). — Orlando, FL: Academic Press Inc. — ISBN 0126203709
  3. 1 2 Jürgen Branke, Kalyanmoy Deb, Kaisa Miettinen та Roman Slowinski Multiobjective Optimization: Interactive and Evolutionary Approaches (Lecture Notes in Computer Science). — Springer. — ISBN 3-540-88907-8
  4. A. Osyzka. «Multicriteria optimization for engineering design». Design Optimization (Academic Press): 193-227.
  5. (Ehrgott, c. 34)
  6. (Jürgen et al, с. XI)
  7. 1 2 3 Sequential Approximate Multiobjective Optimization Using Computational Intelligence (Vector Optimization). — Springer. — ISBN 978-3-540-88909-0
  8. R. S. Rosenberg Simulation of genetic populations with biochemical properties. — University of Michigan, 1967.
  9. Соболь И.М. Выбор оптимальных параметров в задачах со многими критериями. — М.: Дрофа, 2006. — 175 с. — ISBN 5-7107-7989-X

См. также[править | править исходный текст]

Литература[править | править исходный текст]

  • Кини Р.Л., Райфа Х. Принятие решений при многих критериях: предпочтения и замещения. — М: Радио и связь, 1981. — 560 с.
  • Matthias Ehrgott Multicriteria Optimization. — Springer. — ISBN 3-540-21398-8
  • M. Ehrgott and X. Gandibleux (2004). «Approximative Solution Methods for Multiobjective Combinatorial Optimization». TOP (Sociedad de Estadística e Investigación Operativa) 12 (1).

Ресурсы интернета[править | править исходный текст]