Какую библиотеку генетического алгоритма/программирования вы используете?

Что вы используете GA/GP lib и почему?

Ответы

Ответ 1

Моя собственная, потому что это проще всего настроить:)

РЕДАКТИРОВАТЬ: Были некоторые недавние опросы, поэтому я решил, что стоит обновить этот ответ. Прошло уже 8 лет с тех пор, как я изначально ответил на это, и с тех пор стало доступно больше библиотек. Я бы больше не предлагал развернуть свой собственный код. Вместо этого, я бы нашел библиотеку с открытым исходным кодом на выбранном вами языке и возвратился к ней.

например. Jenetics, если вы используете Java, DEAP для python и GeneticSharp для С#.

Ответ 2

Я закончил два исследовательских проекта на уровне выпускников, используя генетические алгоритмы для автоматического проектирования электродвигателей.

Для первого проекта я использовал EO Evolutionary Computation Framework, который основан почти исключительно на программировании шаблонов на С++. Он очень мощный, но требует (IMO) большой концентрации, чтобы расширить его из-за метасимвола шаблонов и соответствующих сообщений об ошибках от компилятора.

Для второго проекта я портировал все на Open BEAGLE EC Framework, который основан на наследовании С++ вместо шаблонов. Он также имеет очень полную систему на основе XML для управления параметрами и хранения вех и результатов. Мне было гораздо легче расширить и адаптироваться к моим конкретным потребностям (в основном смешанные целочисленные и плавающие параметры дизайна с производственными допусками).

Я также кратко использовал Open BEAGLE в простом эксперименте по генетическому программированию, и он также оказался прост в использовании.

Ответ 3

Если вы используете Python, pyevolve прост в использовании. Я использовал его с успехом. http://pyevolve.sourceforge.net/

Ответ 4

Отъезд ECJ

Ответ 5

Я играл с TinyGP, чтобы понять, как реализовать свою собственную GP-систему. Раньше это было написано на C, но переписано на Java. Поскольку он очень мал, его легко адаптировать для использования на С++/D.

Ответ 6

Я разработал свою собственную библиотеку openGA.

Эта библиотека предназначена для решения:

  • Одиночные объективные проблемы.
  • Многоцелевые (и многие объективные) проблемы (метод NSGA-III).
  • Интерактивные проблемы с GA.

Эта библиотека позволяет нам использовать шаблоны С++ для определения вашей собственной конструкции хромосом.

Коды доступны на Github. Публикация находится на smc2017, и ее руководство пользователя доступно на моем researchgate.