NSGA-2 многокритериального генетического алгоритма. Кто-нибудь может дать мне "простое объяснение"?

Я работаю над генетическим алгоритмом.

есть две цели, и каждый из них имеет свои собственные значения пригодности (fv1,fv2).

Я знаю, как работают генетические алгоритмы поколений(SGE) и стационарных(SS).

Я пытаюсь понять, как работают NSGA-2 и SPEA-2 (я использую реализацию библиотеки java JCLEC), в частности:

  • что такое "внешнее население" и как его следует оценивать
  • что разница с SS и SGE однообъективный алгоритм (часть от того, что каждый человек имеет только одно значение пригодности)

в случае, если кто работает с библиотекой JCLEC эти параметры настройки:

  • внешнее население: 1000
  • k-значение: 10
  • другие атрибуты такие же SS и SGE (населени-размер:100 , кроссовер: кроссовер MPX etc..)

2 ответов


вот объяснение для NSGA-II

  1. во-первых, он случайным образом инициализирует населения.
  2. хромосомы сортируются и помещаются в фронты на основе Парето, не доминирующих наборов. Внутри фронта Парето хромосомы ранжируются по евклидову между растворами или I-dist (термин, используемый в NSGA-II) . Как правило, решения, которые находятся далеко (не переполнены) от других решений, получают более высокое предпочтение при выборе. Это делается для того, чтобы сделать различных решение N установите и избегайте переполненного набора решений.
  3. лучшие N (популяционные) хромосомы выбираются из текущей популяции и помещаются в брачный пул
  4. в брачный пул, выбор турнира, пересечение и спаривание делается.
  5. совокупный пул и текущая популяция объединены. Полученный набор сортируется, и лучшие N хромосом попадают в новую популяцию.
  6. переходите к Шагу 2, Если максимальное число поколений достигнутый.
  7. набор решений является самым высоким рангом Парето не доминирует набор из последней популяции.

Я рекомендую прочитать статьи по этим алгоритмам, которые объясняют функциональность довольно хорошо:

  • Деб, Пратаб, Агарвал, Мейариван. Быстрый и элитарии многокритериальный генетический алгоритм NSGA-II степени. IEEE сделки на эволюционных вычислениях 6(2), стр. 182-197, 2002.
  • Zitzler, Laumanns, Thiele. SPEA2: улучшение силы эволюционного алгоритма Парето. Технический отчет (TIK-103), Швейцарский федеральный технологический институт (ETH), 2001.

Я уверен, что вы можете найти PDF этих публикаций в интернете.

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

есть еще многокритериальной алгоритмов, таких как пропасть и PAES.