Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 866 / 193 | Длительность: 22:10:00
Лекция 5:

Генетические алгоритмы многокритериальной оптимизации

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >

5.3. Ранжирование по Парето

Метод ранжирования по Парето с применением ГА впервые был предложен Голдбергом [2]. Его суть в следующем: сначала присваивается ранг 1 всем недоминируемым особям, которые удаляются из дальнейшего рассмотрения. Далее среди оставшихся особей находятся недоминируемые, которым присваивается ранг 2. Этот процесс продолжается до тех пор, пока не ранжируется вся популяция. Пример представлен на рис.5.5 для простого случая минимизации относительно двух целевых функций.

Ранжирование по Голдбергу

Рис. 5.5. Ранжирование по Голдбергу

Этот подход получил развитие в последующих работах, например, в [6] предложен метод moGA, где ранг особи соответствует числу особей в текущей популяции, над которыми она доминирует. В этом случае всем недоминируемым особям присваивается ранг 1, а остальным особям присваивается ранг так, как указано выше. На рис.5.6 приведен иллюстративный пример данного метода.

Кроме этого, ранжирование применяется в недоминируемом ГА сортировки [7] nsGA (non dominated sorting genetic algorithm). В этом методе недоминируемым решениям, составляющим фронт, присваивается фиктивные значения фитнесс-функции. Такие решения разделяются согласно этим значениям (производится разделение по фенотипу по векторам решений) и игнорируются в дальнейшем процессе классификации. В конце процедуры фиктивным значениям присваиваются значения, меньшие чем самое малое разделенное значение фитнесс-функции в текущем недоминируемом фронте.

Ранжирование в moGA

Рис. 5.6. Ранжирование в moGA

Далее выделяется следующий фронт, и процедура повторяется до тех пор, пока все особи популяции не классифицируются. На рис.5.7 представлен пример для этого метода.

Пример ранжирования в методе nsGA

Рис. 5.7. Пример ранжирования в методе nsGA

5.4. Метод взвешенной функции

Этот подход является одним из самых популярных и естественным развитием классических методов оптимизации, где новая "общая" целевая функция строится из отдельных целевых функций в виде взвешенной суммы.

F(x)=\sum_{i=1}^k w_i f_i(x),\text{ где веса }w_i\in [0,1]\text{ и }\sum_{i=1}^k w_i=1.

Здесь каждой целевой функции f_i(x) присваивается свой вес w_i и задача сводится к скалярному случаю. При этом различные веса w_i дают разные решения в смысле Парето.

5.4.1. Генетический алгоритм со случайными весами

В сочетании с ГА данный поход (random-weight genetic algorithm ) rwGA впервые использован [2] для получения переменного направления поиска фронта Парето. Обычно используется два вида поиска в пространстве целей (критериев): 1) постоянное направление поиска; 2) кратное направление поиска, которые схематически показаны на рис.5.8.

Постоянное и кратное направления поиска в пространстве целей

Рис. 5.8. Постоянное и кратное направления поиска в пространстве целей

При фиксированных весах в данном подходе ГА отражает тенденцию постоянного направления поиска, в то время как использование случайных весов в ГА отражает тенденцию переменного направления поиска, более приспособленной для поиска фронта решений. В rwGA каждой цели f_k(x) присваивается вес w_k=\frac{r_k}{\sum_{j=1}^q r_j}, где r_j–случайные положительные числа из отрезка [0,1] и q – число целевых функций. Скалярное значение фитнесс-функции вычисляется путем суммирования взвешенных значений целевых функций. Для паралельного поиска кратных решений веса не фиксируются, что дает возможность ГА искать весь фронт по всем направлениям. Укрупненный алгоритм представлен ниже в виде псевдокода.


5.4.2. Эволюционный алгоритм на основе "силы" Парето

В [7] предложен "Strength Pareto Evolutionary Algorithm"(spEA), в котором удачно сочетаются некоторые черты многокритериальных ГА, рассмотренных ранее. Здесь вычисление значений фитнесс-функции выполняется в два этапа. Во-первых, ранжируются особи во внешнем недоминируемом множестве P' популяции. Каждому решению i\in P' присваивается вещественное значение s\in [0,1], называемое "силой", которое пропорционально числу особей j\in P популяции для которых i>j. Обозначим через n число особей в P, которые покрываются i, и N - мощность популяции. В этих обозначениях "сила" s определяется следующим образом: s_i=\frac{n}{N+1}. Тогда значение фитнесс-функции f_i для i-ой цели равна ее "силе" - f_i=s_i. Таким образом оцениваются особи популяции P. На этой основе значение фитнесс-функции особи j\in P вычисляется путем суммирования "сил" всех внешних недоминируемых решений i\in P', которые покрывают j. Тогда значение фитнесс-функции

f_j=1+\sum_{i\in (i\succ j)} s_i
, где f_j\in[1,N). На рис.5.9 представлен иллюстративный пример для случая максимизации с двумя целями для этого метода (spEA). Укрупненный алгоритм в виде псевдокода дан ниже.


Пример метода spEA для случая максимизации

Рис. 5.9. Пример метода spEA для случая максимизации
< Лекция 4 || Лекция 5: 123456 || Лекция 6 >