2012-04-19 5 views
0

Почему NSGA II (Multiobjective Optimization) всегда выбирает BOTH граничные точки в части распределения толщины и расстояния между алгоритмами? Я понимаю, что на каждой итерации он выбирает решение с наилучшим значением одного из значений многоцелевой функции, но почему он выбирает решение с наихудшим значением? Для меня кажется, что эти алгоритмы пытаются максимально расширить фронт Парето (или активно искать пространство решений).Почему NSGAII (alg for Multiobjective Optimization) всегда выбирает BOTH граничные точки в части распределения толщины и расстояния между алгоритмами?

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.4257

псевдокода страница 5

293 цитат так NSGA II является очень популярным алгоритмом многокритериальной оптимизации, так что я думаю, что мой вопрос не слишком специфичен.

ответ

1

Вы должны понимать, что наихудшее значение для одной цели (в случае с двумя целями) дает лучшее значение во второй цели по определению фронта Парето.

Этот список недоминируемых решений сортируются в соответствии с первой целью (минимизации)

(0, 5), (1, 4), (2, 3), (3, 2), (4, 1), (5, 0) 

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

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

Три (и более) объективных случая менее очевидны, но по-прежнему верны.