Решение многокритериальных задач.
Решением многокритериальных задач должна быть парето-оптимальная область. Следовательно, цель генетического алгоритма распределить популяцию особей таким образом, чтобы покрыть ею парето-оптимальную область.
Проблема.
Цель
Построить метод селекции, направленный на равномерное (в евклидовом пространстве параметров) покрытие Парето - оптимальной области нужным количеством недоминируемых особей.
Метод.
1.Использовать параметр - радиус, задаваемый вручную, и очерчивающий окрестность решения, так чтобы "соседи" этого решения, попавшие в эту окрестность, не "выживали" при отборе. Плюсы: простота реализации. Минусы: сложно вычислить такой радиус, чтобы оставить нужное количество особей; радиус будет меняться на каждом поколении.
![]() |
![]() |
![]() |
На рисунке представлен алгоритм выделения точек для равномерного покрытия. Было 16 решений, осталось - 8.
2. Автоматизировать процесс вычисления радиуса, исходя из текущего количества решений и их расположения.
Алгоритм
Замечание. n - размер популяции. Процесс может зациклится, если k решений совпадают и k>n или слишком велика плотность особей в парето-оптимальной области (сложно определить R, поскольку величина колебания R не поддается машинной арифметике). Поэтому нужно предварительно проверить эти условия.
Тестовые задачи
Задача ╪1. Размерность = 1. На рисунке показано распределение 20 особей после 200 оценок целевых функций |
|
Задача ╪2. Размерность = 2. На рисунке показано распределение 500 особей после 2000 оценок целевых функций |
|
Задача ╪3. Размерность = 2. На рисунке показано распределение 200 особей после 2000 оценок целевых функций |
|
Исаев Сергей
e-mail: sergey.isaev @ mailcity.com
web: http://www.chat.ru/~saisa