Оптимизация роя частиц: что означает значение gBest?

Я разрабатываю симулятор оптимизации роя частиц для MATLAB, и у меня есть сомнения по поводу локальной позиции gBest.

Как я понял, читая об алгоритме, значение gBest определяет глобальное лучшее значение, которое КОГДА-ЛИБО было обнаружено частицами. Однако я увидел в довольно сносной реализации, что разработчик считал gBest лучшим значением, с которым сталкиваются частицы в ТЕКУЩЕМ поколении.

Я неправильно понял основы алгоритма PSO? Был ли разработчик неправ в своей реализации или это был просто другой подход?

Заранее спасибо, Виктор.


person Víctor    schedule 27.01.2016    source источник


Ответы (1)


Существует множество способов точной настройки PSO , но классический алгоритм PSO использует gBest в качестве наиболее известной позиции роя, поэтому это не только текущая итерация. В вашем алгоритме вы должны реализовать какую-то память, чтобы вычислить дельту, используемую при обновлении скорости:

дельта

Обратите внимание, что я назвал pbest наиболее известной позицией частицы, а sbest - наиболее известной позицией роя (ваш gBest). c1 и c2 — уровни уверенности в самой частице и в рое.

person brodoll    schedule 28.01.2016