Задача многокритериальной оптимизации. Multiobjectivization — различия между версиями
(→Задачи) |
(→Задачи) |
||
Строка 76: | Строка 76: | ||
:<math>\sum^{N-1}_{i=1} d(C_{\pi(i)},C_{\pi(i+1)})+d(C_{\pi(N)},C_{\pi(1)})</math> | :<math>\sum^{N-1}_{i=1} d(C_{\pi(i)},C_{\pi(i+1)})+d(C_{\pi(N)},C_{\pi(1)})</math> | ||
− | + | Применяя к этой задаче мультиобъктивизацию, нужно разбить её на подзадачи. TSP – является <math>NP</math>-сложной именно потому, что нет хорошего разложения этой задачи. | |
+ | Тем не менее задачу можно разбить на две или больше подтуров, каждый из которых мы можем минимизировать. | ||
+ | |||
+ | Представим подтуры в виде двух городов. Тогда наша задача примет вид: | ||
− | |||
:<math>minimize\{f(\pi,a,b) = (f_1(\pi,a,b),f_2(\pi,a,b))\}</math> | :<math>minimize\{f(\pi,a,b) = (f_1(\pi,a,b),f_2(\pi,a,b))\}</math> | ||
::'''where'''<math>f_1(\pi,a,b)=\sum^{\pi^{-1}(b)-1}_{i=\pi^{-1}(a)} d(C_{\pi(i)},C_{\pi(i+1)})</math> | ::'''where'''<math>f_1(\pi,a,b)=\sum^{\pi^{-1}(b)-1}_{i=\pi^{-1}(a)} d(C_{\pi(i)},C_{\pi(i+1)})</math> | ||
::'''and''' <math>f_2(\pi,a,b)=\sum^{N-1}_{i=\pi^{-1}(b)} d(C_{\pi(i)},C_{\pi(i+1)}) + \sum^{\pi^{-1}(a)-1}_{i=1} d(C_{\pi(i)},C_{\pi(i+1)}) </math> <math>+ d(C_{\pi(N)},C_{\pi(1)})</math>, | ::'''and''' <math>f_2(\pi,a,b)=\sum^{N-1}_{i=\pi^{-1}(b)} d(C_{\pi(i)},C_{\pi(i+1)}) + \sum^{\pi^{-1}(a)-1}_{i=1} d(C_{\pi(i)},C_{\pi(i+1)}) </math> <math>+ d(C_{\pi(N)},C_{\pi(1)})</math>, | ||
− | где <math>a</math> и <math>b</math> – два города, указанных ''априори''. | + | где <math>a</math> и <math>b</math> – два города, указанных ''априори''. Если <math>\pi (a) < \pi (b)</math>, меняем их местами. |
Предполагается, что <math>a</math> и <math>b</math> выбраны произвольно. | Предполагается, что <math>a</math> и <math>b</math> выбраны произвольно. |
Версия 14:40, 20 июня 2012
Содержание
Введение
В данной статье рассматривается многокритериальная оптимизация, её задача. Рассматривается понятие Парето-фронт - множество Парето оптимальных значений. Также рассматривается задача коммивояжера и предлагается её решение с помощью генетического алгоритма с "жадной" стратегией.
Задача многокритериальной оптимизации
Постановка задачи
Определение: |
Задача многокритериальной оптимизации:
|
Так как не существует единого решение, которое было бы максимальным для всех целевых функций, вместо него можно искать множество
множество Парето оптимальных значений.Множество Парето оптимальных значений
Определение: |
Множество Парето оптимальных значений:
|
Выражение
означает, что доминирует над .Говорят, что
доминирует над . по Парето, если не хуже по всем критериям и хотя бы по одному критерию превосходит . В таком случае в выборе нет смысла, т.к. по всем параметрам не уступает, а по каким-то и превосхожит . Если рассматривать всего два критерия то на рис. 1 показана область пространства, доминируемая данным решением А. Эта область «замкнута»: элементы на ее границе также доминируемы А
Определение: |
Для двух решений | и говорят тогда и только тогда, когда – такую пару решений называют недоминируемой
На рис. 2 показана граница Парето для возможных решений в двухкритериальном пространстве
Множество Парето оптимальных недоминируемых решений называется Парето фронтом.
Multi-objectivization
Суть метода мульти-объективизации заключается в разбитии сложной задачи с одной целевой функцией на несколько подзадач, найти для каждой подзадачи решение и выбрать оптимальное решение.
Для выполнения оптимизации многокритериальной задачи мы должны добавить в целевую функцию новые параметры, либо должны добавить новые целевые функции.
Сложность этой процедуры заключается в разложении проблемы на ряд мелких независимых между собой подпроблем.
Алгоритмы
Hill-Climbers
Определение: |
Hill-Climbers – Итеративный алгоритм, который начинается с произвольного решения проблемы, а затем пытается найти лучшее решение, постепенно изменяя его. Если изменения позволяют найти лучшее решение, алгоритм сохраняет его и повторяет и повторяет своё выполнение до тех пор, пока лучшие решения не могут быть найдены |
Initialization: | Init_pop |
Main Loop: |
if if | Rand_mem , Rand_mem
Termination: | return Best |
Задачи
Задача коммивояжера (TSP)является наиболее известно из всего класса
-сложных задач. Формулируется задача следующим образом:Задано
– множество городов и для каждой пары задано расстояние. Наша цель – найти цепь из городов, минимизирующую величину:Применяя к этой задаче мультиобъктивизацию, нужно разбить её на подзадачи. TSP – является
-сложной именно потому, что нет хорошего разложения этой задачи. Тем не менее задачу можно разбить на две или больше подтуров, каждый из которых мы можем минимизировать.Представим подтуры в виде двух городов. Тогда наша задача примет вид:
- where
- and ,
где
и – два города, указанных априори. Если , меняем их местами.Предполагается, что
и выбраны произвольно.Источники
- Википедия: Многокритериальная оптимизация
- Knowles J., Watson R., Corne D. Reducing Local Optima in Single-Objective Problems by Multi-objectivization
- Wikipedia: Multiobjective optimization
- Wikipedia: Hill climbing
- Гладков Л.А., Курейчик В.В., Курейчик В.М. "Генетические алгоритмы. Учебное пособие"