Реализация алгоритма оптимизации роя частиц в 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, кроме того, что я прочитал здесь, хотя там есть довольно много пакетов, и большинство из них я не проверял, кроме как глядя на имя и резюме одного предложения.