2D оптимизация формы с помощью генетических алгоритмов - PullRequest
3 голосов
/ 13 июля 2011

Я только недавно начал изучать генетические алгоритмы и сейчас пытаюсь реализовать их в двумерной оптимизации формы в физическом моделировании. Симуляция производит один скаляр для каждой фигуры. (Думаю, это похоже на boxcar2d http://boxcar2d.com/)

2D-фигуры на самом деле представляют собой объединение нескольких 2D-субформ. Каждая подфигура сохраняется в виде списка углов / радиусов. 2D-форма затем сохраняется как список списков подформ. Это сейчас мой хромосон.

Прямо сейчас для фитнеса я, вероятно, буду использовать скаляр, полученный при моделировании. У меня вопрос, как я должен идти о процессе отбора и воспроизведения? Будет ли турнир более подходящим или я хотел бы использовать усечение в сочетании с пропорциональным отбором? Кроме того, как найти хороший коэффициент мутации / численность населения и т. Д.

извините за столько вопросов, но заранее спасибо. Я просто не знаю, с чего начать.

1 Ответ

1 голос
/ 16 июля 2011

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

Также я посоветую вам прочитать о алгоритме дифференциальной эволюции - http://en.wikipedia.org/wiki/Differential_evolution. Что касаетсямне его производительность намного быстрее чем генетический алгоритм.

...