Генетические алгоритмы — это класс алгоритмов поиска

advertisement
Северцев Н.А., Дивеев А.И., Киселев А.В.
ОСНОВНЫЕ МЕТОДЫ ПОВЫШЕНИЯ КАЧЕСТВА РАБОТЫ ГЕНЕТИЧЕСКОГО АЛГОРИТМА
ДЛЯ РЕШЕНИЯ МНОГОКРИТЕРИАЛЬНОЙ ЗАДАЧИ КОММИВОЯЖЕРА
В докладе освещены основные моменты проектирования алгоритма, влияющие на достоверность и качество решений многокритериального генетического алгоритма.
Генетические алгоритмы — это класс алгоритмов поиска, построенные на идее, сходной с принципами естественного отбора в генетике. Они объединяют в себе принцип сохранения наиболее перспективных решений и
структурированный обмен информацией, в котором присутствует элемент случайности.
По аналогии с живой природой поисковое пространство решений задачи в генетическом алгоритме представляется в виде множества вариантов решения – особей или генотипов. Каждая особь представляется
символьной строкой, которую часто ассоциируют с хромосомным набором, и которая содержит закодированный вариант решения задачи.
Генетический алгоритм имеет целью нахождения таких особей, которые обладают наилучшим «генетическим материалом». Качество каждой отдельной особи (решения) измеряется при помощи целевой функции,
которая называется функцией приспособленности или фитнес-функцией (fitness function)[2].
Часть поискового пространства, с которой работает генетический алгоритм на конкретном этапе,
называется популяцией. Популяция, в одном цикле генетического алгоритма, называется поколением.
Генетический алгоритм в общем случае состоит из следующих этапов:
Инициализация
Создание исходной популяции.
Выбирается способ кодирования решения в хромосоме, размер популяции, фитнес функция, определяющая
качество каждой особи.
Поколение (повторяется заданное количество раз)
Выбор особей для скрещивания.
Задается алгоритм выбора хромосом для скрещивания (случайный выбор, определяемый функцией приспособленности, комбинированный)
Скрещивание.
Задается алгоритм порождения новых хромосом.
Мутация.
Определяется способ и частота возникновения мутации – случайное
изменение
хромосомного
набора особи.
Включение особей в новое поколение.
Определяется способ формирования нового поколения из
объединенного множества «родителей» и
«потомков».
Выбор решения
Вывод оптимальных решений
Несмотря на простоту, генетический алгоритм достаточно хорошо зарекомендовал себя как достаточно
общий, робастный и мощный метод поиска[3]. В последнее время отмечается стабильный интерес к области
многокритериального генетического алгоритма, как к механизму быстрого и качественного решения многокритериальных и многообъектных задач.
Многокритериальная оптимизация.
Рассмотрим задачу оптимизации независимых k критериев, которые в данном примере должны быть минимизированы. Будем считать, что решение поставленной задачи будет выражаться вектором решений
 x1, x2 ,
, xk  в пространстве решений X . Функция f : X  Y определяет качество (приемлемость) отдельно
взятого решения вектором оценки
 y1, y2 ,
, yk  в пространстве оценок Y .
Пусть пространство оценок – это множество реальных чисел, т.е. Y  , и цель оптимизации – минимизация единственного критерия. В таком однокритериальном случае решение x1  X
если
 
y1  y 2 , где y1  f x1
и
 
лучше решения x 2  X ,
y 2  f x 2 . Хотя могут существовать несколько оптимальных решений, они
будут определены одной и той же оценкой в пространстве Y .
В многокритериальном случае, когда Y k
сложным.
и k  1 , сравнение двух решений x1 и x 2 является более
1
Применяя известную концепцию Парето доминирования, можно сказать, что вектор оценки y доминирует
2
вектор y
y
1

y 2 , если не одна из компонент
зации) соответствующей компоненты вектора
y
y
2
2
1, y 2 ,
является меньше. Тогда можно сказать, что решение
x
1

x 2 , если
 
f x1
доминирует
 

, y1k  y1 не является больше (в задаче миними-
1
1
1, y 2 ,

, y 2 k  y 2 и хотя бы одна из компонент вектора y1
1
x
лучше решения
x 2 , т. е. x1 доминирует x 2
f x 2 . В многокритериальной задаче оптимальные решения, т.е. реше-
ния, которые не доминируются никакими другими решениями, могут соответствовать разным векторам оценки, и может существовать множество оптимальных векторов, образующих оптимальную границу возможных
решений. Множество оптимальных решений называется множеством Парето
X *  X , которому соответствует
Парето граница в пространстве оценок Y  Y .
Поиск Парето множества во многих приложениях довольно трудная с вычислительной точки зрения задача, которая часто не выполнима, из-за сложности или отсутствия точных методов, которые бы покрывали
все пространство решений. В последнее время активно развиваются стратегии, основанные на случайном
поиске, такие как генетический алгоритм, метод запретов, метод моделируемого отжига, муравьиный алгоритм: данные алгоритмы обычно не гарантируют нахождение точного оптимального множества, но пытаются найти его хорошее приближение, т.е. множество решений, векторы оценок которого не очень далеки от
оптимальной (Парето) границы.
Многие стохастические алгоритмы изначально были разработаны для однокритериальной оптимизации и
поэтому осуществляют поиск только одного решения. Генетический алгоритм, даже для поиска однокритериального решения использует сразу множество решений, что позволяет легко адаптировать его для многокритериальной задачи.
Особенности многокритериального генетического алгоритма:
*
Цель – получить Парето множество – сама по себе многокритериальна. Многокритериальный генетический алгоритм должнен получить максимальное приближение множества найденных решений к истинной Парето границы, в то же время сохраняя и стимулируя разнообразие находимых решений, для адекватного
(полного) представления всей Парето границы.
Первая задача главным образом связана с выбором целевых функций для заданных критериев и процедуры селекции перспективных решений.
Вторая задача – в общем случае также связана с процедурой селекции, в которой необходимо избежать
ситуации отбора большого количества особей имеющих бесперспективные одинаковые или очень близкие
значения фитнес функций.
И, наконец, аспект, который связан как с первой так и второй задачей – необходимо гарантировать,
чтобы недоминируемые (лучшие) решения защищены от исчезновения из популяции.
Задание фитнес функции
В отличие от однокритериальной оптимизации, где в большинстве случаев значение критерия из постановки задачи это также и критерий отбора наилучших решений для следующей популяции, в многокритериальном генетическом алгоритме фитнес функция и критерии оптимальности решений зачастую не совпадают.
Можно выделить три основные стратегии назначения фитнес функции для многокритериального алгоритма
(рис. 1):
Рис. 1. Варианты назначения фитнес функции
основанная на определении так называемых коэффициентов относительной важности для каждого критерия и сведение многокритериальной задачи к однокритериальной. В ходе выполнения генетического алгоритма эти параметры систематически варьируются, чтобы на выходе получить множество недоминирующих
решений[4].
основанная на переключении целевой функции, т.е. селекция производится по пригодности особей относительно каждого из критериев в отдельности. В ходе работы генетического алгоритма во время каждой
процедуры селекции сначала определяется один из критериев (каждый раз разный), по оптимальности к
которому в данной селекции будут выбираться особи в следующее поколение.
основанная на принципе Эджворта-Парето, где селекция определяется не значениями критериев задачи,
а отношением доминирования каждой особи к остальным особям в популяции. Существуют три основных способа оценки качества особей:
ранг доминирования: фитнес функция каждой особи определяется числом особей, которые доминируют
данное решение[5].
число доминирования: фитнес функция каждой особи определяется числом особей, которые данная особь
доминирует.
глубина доминирования: пространство поиска условно разделяется на несколько фронтов (ниш), которые ведут поиск оптимальных решений внутри своей отдельной ниши и, как правило, не пересекаются с
остальными.[6, 7].
Существуют и смешанные методы, использующие достоинства нескольких методов. В частности Зитзлер в
алгоритмах SPEA [8] и SPEA2[9] предложил фитнес функцию, основанную на ранжировании особей и глубине
доминирования.
Поддержка разнообразия
Если решения в популяции имеют одинаковые значения фитнес-функции, которые не меняются в процессе
скрещивания и селекции, то популяция стремиться выродиться в одно из этих решений. Такая ситуация
также возможна и в биологической популяции и носит название «дрейф генов»[10].
Дрейф генов - это случайное повышение частоты появление особей с одинаковыми фитнес функциями в
процессе скрещивания нескольких особей, имеющих однотипные или одинаковые участки хромосом. Наиболее
частым последствием дрейфа генов является обеднение генетического разнообразия внутри популяций за
счет фиксации одних хромосом и утраты других. Мутация и кроссовер уже не могут дать никаких значительных селекционных преимуществ потомкам в сравнении со своими родителями, так как потомки либо
хуже, либо идентичны своим родителям.
В ходе эволюции популяций дрейф генов взаимодействует с другими факторами эволюции, прежде всего
с естественным отбором. Соотношение вкладов этих двух факторов зависит как от критериев отбора, так
и от численности популяций. При высокой интенсивности отбора и высокой численности популяций влияние
случайных процессов на динамику формирования одинаковых генов в популяциях становится пренебрежимо
малым. Наоборот, в малых популяциях при небольших различиях по приспособленности между хромосомами
дрейф генов приобретает решающее значение. В таких ситуациях менее адаптивный генотип может зафиксироваться в популяции, а более адаптивный может быть утрачен.
Конечным результатом дрейфа генов является полное устранение разнообразия хромосом из популяции и
закрепление (фиксация) в ней множества одинаковых хромосом. Чем чаще тот или иной генотип встречается в популяции, тем выше вероятность его фиксации вследствие дрейфа генов.
Чтобы избежать вырождения популяции, нужно постоянно контролировать численность отдельных хромосом и поощрять разнообразие особей.
Большинство многокритериальных генетических алгоритмов пытаются поддерживать разнообразие внутри
множества решений, внедряя различные механизмы контроля численности решений внутри какой-нибудь области пространства поиска. Проблема поддержания разнообразия в многокритериальных генетических алгоритмах тесно связана с вероятностными функциями плотности в статистике и поэтому генетические методы
могут быть условно классифицированы на методы, используемые в статистике[11] (рис. 2):
рис. 2. Методы оценки многообразия решений
Фонсека и Флеминг в 1995 году заметили схожесть между заданием коллективной фитнес функции и
ядерной оценки плотности (Епанечников В. А.), использующейся в статистике, и предложили так называемые ядерные методы, вычесления плотности решения, когда плотность зависит от всех особей в популяции.
Метод ближайшего соседа – использует расстояние до k -го ближайшего решения как оценку плотности
решений в окрестности рассматриваемой точки (решения).
Метод гистограмм – использует гиперсетку для определения ближайших решений в окрестности. Плотность решений вокруг рассматриваемого решения определяется просто как количество точек внутри клетки, где расположено рассматриваемое решение.
Элитизм
Концепция элитизма поднимает проблему потери хороших особей (решений) во время оптимизационного
процесса вследствие случайных процессов. Существуют несколько способов решать эту проблему – соединять популяцию родителей и популяцию потомком, и из объединенного множества выбирать особи для нового поколения. Также можно ввести дополнительную популяцию, так называемый архив, где будут храниться
оптимальные особи, копируемые из основной популяции.
Архив может выполнять не только функцию «хранилища генотипов», но и активно участвовать в процессе отбора (рис 3).
рис. 3. Методы поддержания элитизма
В обеих приведенных концепциях элитизма нужно определить по каким признакам/критериям нужно отбирать/помещать в архив перспективные особи. Обычно снова используют принцип Парето доминирования. В
случае если поддерживается архив, то он содержит в себе текущее (актуальное) приближение к Парето
границе, т.е. доминируемые решения из архива удаляются.
Можно также использовать дополнительные рычаги управления архивом: например информация по плотности решений, время, жизни особей в архиве, и т.д. Одним из новых, но перспективных методов сохранения представительной выборки оптимальных решений является метод, основанный на принципе  доминирования, которой был одновременно предложенн Евтушенко с Потаповым (1987), Рейтером (1990) и
Рухе с Фрухвиртом (1990). Метод позволяет получить приближенное оптимальное множество с заданным
количеством элементов, путем наложения гиперсетки на множество решений и выборе только одного решения из каждой клетки.
ЛИТЕРАТУРА
1. E. Zitzler, M. Laumanns, S. Bleuler, A Tutorial on Evolutionary Multiobjective Optimization,
Workshop on Multiple Objective Metaheuristics (MOMH 2002), Springer-Verlag, Berlin, Germany, 2004
2. Holland J. H. Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan
Press, 1975. 183 p.
3. T. Back, U. Hammel, and H.-P. Schwefel. Evolutionary computation: Comments on the history and
current state. IEEE Transactions on Evolutionary Computation, 1(1):3–17, 1997.
4. P. Hajela and C.-Y. Lin. Genetic search strategies in multicriterion optimal design. Structural Optimization, 4:99–107, 1992.
5. C. M. Fonseca and P. J. Fleming. Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization. In S. Forrest, editor, Proceedings of the Fifth International
Conference on Genetic Algorithms, pages 416–423, San Mateo, California, 1993. Morgan Kaufmann.
6. N. Srinivas and K. Deb. Multiobjective optimization using nondominated sorting in genetic algorithms. Evolutionary Computation, 2(3):221–248, 1994.
7. K. Deb, S. Agrawal, A. Pratap, and T. Meyarivan. A fast elitist non-dominated sorting genetic
algorithm for multi-objective optimization: NSGA-II. In M. Schoenauer et al., editors, Parallel
Problem Solving from Nature (PPSN VI), pages 849–858, Berlin, 2000. Springer.
8. E. Zitzler, M. Laumanns, and L. Thiele. SPEA2: Improving the strength pareto evolutionary algorithm for multiobjective optimization. In K. Giannakoglou, D. Tsahalis, J. Periaux, K. Papailiou,
and T. Fogarty, editors, Evolutionary Methods for Design, Optimisation, and Control, pages 19–26,
Barcelona, Spain, 2002. CIMNE.
9. E. Zitzler and L. Thiele. Multiobjective evolutionary algorithms: A comparative case study and
the strength pareto approach. IEEE Transactions on Evolutionary Computation, 3(4):257–271, 1999.
10. De Jong K.A. Analysis of the behavior of class of genetic adaptive systems, PhD thesis – University of Michigan, Ann Arbor, 1975.
11. B. W. Silverman. Density estimation for statistics and data analysis. Chapman and Hall, London, 1986.
Download