Реализация алгоритма оптимизации роя частиц в R - PullRequest
9 голосов
/ 17 октября 2010

Я проверяю простую стратегию пересечения скользящих средних в R. Вместо запуска огромного моделирования в двумерном пространстве параметров (длина краткосрочной скользящей средней, длина долгосрочной скользящей средней), я хотел бы реализоватьалгоритм оптимизации роя частиц для нахождения оптимальных значений параметров.Я просматривал сеть и читал, что этот алгоритм очень эффективен.Более того, способ работы алгоритма очаровывает меня ...

Кто-нибудь из вас, ребята, имеет опыт внедрения этого алгоритма в R?Есть ли полезные пакеты, которые можно использовать?

Большое спасибо за ваши комментарии.

Martin

1 Ответ

17 голосов
/ 17 октября 2010

Что ж, в CRAN доступен пакет под названием pso , и он действительно является оптимизатором частиц (PSO).

Я рекомендую этот пакет.

Он активно разрабатывается (последнее обновление 22 сентября 2010 г.) и соответствует эталонной реализации для PSO. Кроме того, в комплект поставки входят функции для диагностики и построения результатов.

Это, безусловно, сложный пакет, но интерфейс основной функции (функция psoptim ) прост - достаточно передать несколько параметров, которые описывают вашу проблемную область, и функцию стоимости.

Точнее, ключевые аргументы, передаваемые при вызове psoptim :

  • размеры задачи, как вектор ( п );

  • нижняя и верхняя границы для каждого переменная ( нижняя, верхняя ); и

  • функция стоимости ( fn )

В сигнатуре метода psoptim есть и другие параметры; обычно они связаны с критериями конвергенции и т. п.)

Есть ли другие реализации PSO в R?

Существует пакет R, называемый ppso для (параллельный PSO). Это доступно на R-Forge. Я ничего не знаю об этом пакете; Я скачал его и просмотрел документацию, но это все.

Кроме этих двух, ни одного, о котором я знаю. Около трех месяцев назад я искал R реализации более популярной метаэвристики. Это единственная реализация pso, о которой я знаю. Привязки R к GSL Scientific Library Gnu) имитируют алгоритм отжига, но не имеют биологически вдохновленной метаэвристики.

Другое место, где можно посмотреть, это, конечно, CRAN Task View для оптимизации. Я не нашел другой реализации PSO, кроме той, что я здесь перечислил, хотя там перечислено довольно много пакетов, и большинство из них я не проверял, кроме просмотра имени и сводки из одного предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...