Обсуждение статьи "Популяционные алгоритмы оптимизации: Рой частиц (PSO)"

 

Опубликована статья Популяционные алгоритмы оптимизации: Рой частиц (PSO):

В данной статье рассмотрим популярный алгоритм "Рой Частиц" (PSO — particle swarm optimisation). Ранее мы обсудили такие важные характеристики алгоритмов оптимизации как сходимость, скорость сходимости, устойчивость, масштабируемость, разработали стенд для тестирования, рассмотрели простейший алгоритм на ГСЧ.

Поскольку мы используем одну и ту же схему построения алгоритмов, что и в первой статье цикла (и в дальнейшем продолжим это делать), описанную на рис.2, то нам не составить труда подключить алгоритм к тестовому стенду.

Запустив стенд, мы увидим анимации, подобные тем, что показаны ниже. В данном случае мы хорошо видим, как ведет себя рой частиц. Рой ведет себя действительно как рой в природе. По тепловой карте функции он перемещается в виде плотного облака.

Напомню, что черным кружком обозначен глобальный оптимум (max) функции, а черной точкой - лучшие усредненные координаты алгоритма поиска, полученные на момент текущей итерации. Поясним откуда берутся усредненные значения. Тепловая карта двумерная по координатам, а оптимизируемая функция может включать сотни переменных (измерений) - поэтому результат, усредненный по координатам.

n1

n2

n3

Как видим на анимации, тесты показали, что PSO достаточно хорошо справляется c гладкой первой функцией, но только при оптимизации двух переменных, с увеличением размерности пространства поиска, эффективность алгоритма резко падает, особенно это заметно на второй и дискретной третьей функциях. Результаты заметно хуже, чем у случайного алгоритма, описанного в предыдущей статье. К результатам мы еще вернёмся и подробно обсудим их при формировании сравнительной таблицы результатов.

Автор: Andrey Dik

Причина обращения: