фитнес-функция и отбор для генетического алгоритма - PullRequest
3 голосов
/ 18 июля 2011

Я пытаюсь спроектировать нелинейную функцию пригодности, в которой я максимизирую переменную A и минимизирую переменную B. Проблема заключается в том, что максимизация A намного важнее при однозначных значениях, почти логарифмическая. B нужно минимизировать, и в отличие от A он становится менее важным, когда он маленький (меньше единицы), и более важным, когда он больше (> 1), поэтому экспоненциальный спад.

Основная цель - оптимизировать A, так что я думаю, что аналогом является A = прибыль, B = затраты

Должен ли я стремиться к тому, чтобы все было позитивно, чтобы я мог использовать выбор колеса рулетки, или лучше использовать систему ранга / торунации? Цель моего алгоритма - оптимизация формы.

Спасибо

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

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

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

Вам также необходимо убедиться, что операторы мутации и кроссовера также настроены правильно. При любом новом применении эволюционных алгоритмов часть проблемы состоит в попытке определить оптимальный набор параметров для проблемной области ... вот где это становится действительно интересным !!

0 голосов
/ 21 июля 2011

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

...