Задача многокритериальной оптимизации. Multiobjectivization — различия между версиями
(→Задачи) |
(→Псевдокод) |
||
Строка 50: | Строка 50: | ||
}} | }} | ||
− | + | ||
− | < | + | {| |
− | + | |''Initialization:''||<math>P \leftarrow \emptyset </math><br/>'''Init_pop'''<math>(P)</math> | |
− | + | |- | |
− | + | |''Main Loop:''||<math>x_1 \leftarrow </math>'''Rand_mem'''<math>(P)</math>,<math>x'_2 \leftarrow </math>'''Rand_mem'''<math>(P)</math><br/> | |
− | + | <math>x'_1 \leftarrow </math>'''Mutate'''<math>(P)</math>,<math>x_2 \leftarrow </math>'''Mutate'''<math>(P)</math><br/> | |
− | + | '''if'''<math>(H(x_1,x'_1)+H(x_2,x'_2) > H(x_1,x'_2)+H(x_2,x'_1))</math><br/> | |
− | + | :'''Swap'''<math>(x_1,x'_2)</math><br/> | |
− | + | '''if''' <math>f(x'_1) > f(x_1)</math><br/> | |
− | + | : <math>P \leftarrow P \cup x'_1 \setminus x_1</math><br/> | |
− | + | '''if''' <math>f(x'_2) > f(x_2)</math><br/> | |
− | + | : <math>P \leftarrow P \cup x'_2 \setminus x_2</math> | |
− | + | |- | |
− | + | |''Termination:''||'''return Best'''<math>(P)</math> | |
− | + | |} | |
− | |||
− | </ | ||
== Задачи == | == Задачи == |
Версия 12:05, 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 ,
где
и – два города, указанных априори.Предполагается, что
и выбраны произвольно.