Задача многокритериальной оптимизации. Multiobjectivization — различия между версиями
(→Источники) |
(→Задача многокритериальной оптимизации) |
||
Строка 5: | Строка 5: | ||
== Задача многокритериальной оптимизации == | == Задача многокритериальной оптимизации == | ||
− | Задача многокритериальной оптимизации | + | === Постановка задачи === |
− | : <math> | + | {{Определение |
− | : <math> | + | |definition= |
− | где <math> | + | '''Задача многокритериальной оптимизации:''' |
+ | :<math>maximize \{f(x) = (f_1(x),\dots,f_K(x))\}</math> | ||
+ | :<math> x \in X</math> | ||
+ | где <math> f(x) : X \rightarrow R^K</math> - целевая вектор-функция, где <math>K \ge 2</math> | ||
+ | }} | ||
+ | Так как не существует единого решение, которое было бы максимальным для всех целевых функций, вместо него можно искать множество <math>X^* \subseteq X </math> множество Парето оптимальных значений. | ||
+ | === Множество Парето оптимальных значений === | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | ''' Множество Парето оптимальных значений: ''' | ||
+ | :<math>\forall x^* \in X^* \not\exists x \in X </math>:<math>x \succ x^*</math>, где <math>x \succ x^* \Leftrightarrow (\forall i \in 1..K, (f_i(x) \ge f_i(x^*))\land (\exists i \in 1..K, f_i(x) > f_i(x^*)))</math> | ||
+ | }} | ||
+ | Выражение <math>x \succ x^*</math> означает, что <math>x</math> ''доминирует над'' <math>x^*</math>. | ||
+ | Решения в Парето оптимальном множестве также являются эффективными или допустимыми. | ||
− | + | {{Определение | |
+ | |definition= | ||
+ | Для двух решений <math>x</math> и <math>x'</math> говорят <math>x \sim x'</math> тогда и только тогда, когда <math>\exists i \in 1..K \colon f_i(x) > f_i(x') \land \exists j \in 1..K, j \ne i \colon f_j(x') > f_j(x)</math> - такую пару решений называют '''несравнимой''' | ||
+ | }} | ||
== Критерий оптимальности == | == Критерий оптимальности == |
Версия 01:47, 19 июня 2012
Содержание
Определение
Мультикритериальная оптимизация - это процесс одновременной оптимизации двух или более конфликтующих целевых функций в заданной области определения.
Задача многокритериальной оптимизации
Постановка задачи
Определение: |
Задача многокритериальной оптимизации:
|
Так как не существует единого решение, которое было бы максимальным для всех целевых функций, вместо него можно искать множество
множество Парето оптимальных значений.Множество Парето оптимальных значений
Определение: |
Множество Парето оптимальных значений:
|
Выражение
означает, что доминирует над . Решения в Парето оптимальном множестве также являются эффективными или допустимыми.
Определение: |
Для двух решений | и говорят тогда и только тогда, когда - такую пару решений называют несравнимой
Критерий оптимальности
Перечислим основные критерии оптимальности
Критерий Парето
Вектор решения
- оптимальный по Парето, если : для всех и для хотя бы одного .- множество оптимальных по Парето решений.
Целевой вектор является оптимальным по Парето, если соответствующий ему вектор из области определения также оптимален по Парето.
- множество оптимальных по Парето целевых векторов.
Множество оптимальных по Парето векторов является подмножеством оптимальных по Парето в слабом смысле векторов. Вектор
является слабым оптимумом по Парето тогда, когда не существует вектора такого, что для всех .Множество оптимальных по Парето решений также называют Парето-фронтом.
Парето-фронт не может быть вычислен за полиномиальное время
Лексикографический порядок
Если одни целевые функции важнее других, критерий оптимальности можно определить по лексикографическому порядку.
Отношение лексикографического порядка
между векторами и выполняется, если , где . То есть, первая компонента вектора меньше компоненты вектора , а компоненты — уровни (если есть). Лексикографический порядок для случая действительных чисел является линейным.Вектор
является лексикографическим решением, если не существует вектора , такого, что .Поскольку отношение лексикографического порядка является линейным, можно доказать, что вектор
является лексикографическим решением, если для всех выполняется:Получение оптимальных по Парето решений
Для получения оптимальных по Парето решений используют методы скаляризации. Целевую функцию задачи многокритериальной оптимизации превращают в функцию со скалярным значением.
Функция скаляризации должна удовлетворять следующим условиям.
Пусть
- функция скаляризации. Если для выполняется:тогда решение
, что минимизирует до , является решением по Парето. Если сохраняет отношение порядка в , то есть, если для произвольных выполняется:тогда решение
, что минимизирует до , является слабым по Парето. Если непрерывна на и единственная точка минимума на , тогда является решением по Парето.Метод взвешенных множителей
Недостатки: невозможность охватить все оптимальные по Парето точки из множества Парето-фронта. В задачах комбинаторной многокритериальной оптимизации множество целевых значений не является выпуклым, поэтому метод взвешенных сумм не подходит для скаляризации целевых функций для этих задач.
Функция скаляризации Чебышева
Взвешенная функция скаляризации Чебышева сохраняет отношения
и поэтому минимум является слабым по Парето.Метод ограничений
В качестве решения задачи принимают компромиссное решение.
Компромиссное решение - эффективное решение, которое обеспечивает одинаковые минимальные взвешенные относительные потери по всем критериям одновременно. Если
- вес нормализованного критерия , то величина , где - компромиссное решение, будет постоянна для всех критериев.Описание алгоритма
- Задаем вектор предпочтений ;
- Заменяем все критерии одним ;
- К системе ограничений добавляем неравенства для каждого из критериев, где - вес нормализованного критерия ;
- Решаем полученную однокритериальную задачу симплекс-методом