Какую библиотеку генетического алгоритма/программирования вы используете?
Что вы используете 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.