В настоящее время я использую следующую библиотеку для запуска стратегии оптимизации CMA-ES в Python , как описано здесь :
pip3 install cma
Библиотека проста виспользовать и позволяет указать случайное начальное число, а также список функций.Тем не менее, он, похоже, плохо оптимизирован для производительности.
Для тестовой функции Розенброка с векторизованным вводным вводом и большим размером населения (2048 в этом тесте) только 0,5% времени уходит на наши результатыоценка функции (1,5%, если включить преобразование списка, который она возвращает в массив np).Кроме того, и, что наиболее важно для более значимых (дорогих) фитнес-функций, иногда возникают «скачки отставания», при которых поколение будет запускаться примерно в 200 раз медленнее без видимой причины.
Существует ли библиотека Python3, которая используетэффективная реализация NMA или CMA-ES?