Реализация алгоритма оптимизации роя частиц в R

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

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

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

Мартин

1 ответов


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

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

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

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

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

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

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

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

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

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

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

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

другое место, чтобы посмотреть, конечно, CRAN Задачи для Оптимизация. Я не нашел другой реализации PSO, кроме того, что я прочитал здесь, хотя там есть довольно много пакетов, и большинство из них я не проверял, кроме как глядя на имя и резюме одного предложения.