Обзор методов роя частиц для задачи глобальной оптимизации (Particle Swarm Optimization)
# 03, март 2009
авторы: Карпенко А. П., .Селиверстов Е. Ю.
Рассматривается метод роя частиц для задачи глобальной многопараметрической оптимизации (PSO), а также известные последовательные и параллельные модификации этого метода.
Ключевые слова: глобальная оптимизация, метод PSO, метод роя частиц
http://technomag.edu.ru/doc/116072.html
УДК 519.6
МГТУ им. Н.Э. Баумана, 105005, Москва, 2-я Бауманская ул., д.5.
1. Введение
Среди задач непрерывной конечномерной оптимизации самым важным с практической точки зрения и, одновременно, самым сложным является класс задач глобальной условной оптимизации. Методы решения задач этого класса можно разделить на две большие группы:
• методы сведения задачи глобальной условной оптимизации к задаче глобальной безусловной оптимизации с помощью штрафных или барьерных функций;
• методы, специально сконструированные для решения задачи глобальной условной оптимизации.
Рассматриваемый в работе метод роя частиц относится к методам первой группы и, таким образом, предназначен для решения задач глобальной безусловной оптимизации.
Методы решения задачи глобальной безусловной оптимизации делятся на детерминированные методы, стохастические методы и эвристические методы [1].
Эвристические методы являются относительно новыми и быстро развивающимися методами. Среди этих методов выделяются эволюционные и поведенческие (имитационные) методы.
Поведенческие методы решения задачи глобальной безусловной оптимизации основаны на моделировании коллективного поведения самоорганизующихся живых или неживых систем. Взаимодействующие элементы этих систем, в общем случае, называются агентами. Ключевыми идеями поведенческих методов являются децентрализованность, взаимодействие агентов, простота поведения агентов.
Известность получили следующие поведенческие методы решения задачи глобальной безусловной оптимизации: метод поведения пчёл; метод колонии муравьев; рассматриваемый в данной работе метод роя частиц.
В методе оптимизации роем частиц (particle swarm optimization - PSO) агентами являются частицы в пространстве параметров задачи оптимизации. В каждый момент времени (на каждой итерации) частицы имеют в этом пространстве некоторое положение и вектор скорости. Для каждого положения частицы вычисляется соответствующее значение целевой функции, и на этой основе по определенным правилам частица меняет свое положение и скорость в пространстве поиска.
В основу метода PSO положена социально-психологическая поведенческая модель толпы. Существует несколько разновидностей метода. Например, в каноническом методе роя частиц, предложенном в 1995 году в работе Kennedy, Eberhart [2], на каждой итерации при определении следующего положения частицы учитывается информация о наилучшей частице из числа «соседей»' данной частицы, а также информация о данной частице на той итерации, когда этой частице соответствовало наилучшее значение целевой функции. Модификация канонической модели FIPS учитывает значения целевой функции, соответствующие всем частицам роя; в некоторых моделях частицы группируются в несколько роев и т.д.
Большинство известных методов роя частиц являются последовательными. Параллельных методов известно немного, и все они появились после 2004 года. В работе рассмотрены, как последовательные, так и параллельные методы PSO.
Основным стимулом для подготовки данной работы явилось почти полное отсутвие русскоязычных исследований и публикаций по методу роя частиц.
2. Канонический метод роя частиц
Рассмотрим задачу глобальной безусловной минимизации целевой функций Ф(Х) в п -мерном арифметическом пространстве Rn :
штФ(Х) = Ф(Х). (1)
XЕ Rn
Множество частиц обозначим Г = [Р, 1 е [1: N]}, где N - количество частиц в рое
(размер популяции). В момент времени t = 0,1,2... координаты частицы Р, определяются
вектором Х1Л = ^и,^ х, ,, ,2,..., хгЛ,п), а ее скорость - вектором VlЛ = (vl,tл, vlЛЛ,..., у1Л,п ). Начальные координаты и скорости частицы Р равны Х10 = X0, У1,0 = V10, соответственно.
Итерации в каноническом методе PSO выполняются по следующей схеме:
1 = хи + Vi,t +1; (2)
VI,,,, = а Уи + и[0,Р ]в (х‘, - X1,)+ и[0,у]в [х„-Хи). (3)
Здесь и[а, Ь] представляет собой п -мерный вектор псевдослучайных чисел, равномерно распределенных в интервале [а, Ь]; в - символ покомпонентного умножения
векторов; ХЬЛ - вектор координат частицы Р с наилучшим (в смысле (1)) значением целевой
функции Ф(Х) за все время поиска; хg, - вектор координат соседней с данной частицы с
наилучшим за время поиска значением целевой функции Ф(Х); а, Р, у - свободные параметры алгоритма.
Пересчет координат частиц по формулам (2), (3) может происходить по синхронной схеме (обновление координат частиц выполняется только после определения текущих скоростей всех N частиц) или по асинхронной схеме (расчет новых координат части производится до завершения указанных вычислений).
В процессе итераций вектор Xbt образует, так называемый, собственный путь (private guide) частицы р, а вектор Xg,, - локальный путь (local guide) этой частицы.
Свободный параметр а определяет «инерционные» свойства частиц (при а < 1 движение частиц, очевидно, замедляется). Рекомендуемое значение параметра а равно
0.7298. В процессе оптимизации может быть эффективным постепенное уменьшение коэффициента а от 0.9 до 0.4. При этом большие значения параметра обеспечивают широкий обзор пространства поиска, а малые - точную локализацию минимума целевой функции. Рекомендуемые значения свободных параметров Р, У равны 1.49618.
Важнейшим понятием в методе PSO является понятие соседства частиц, которое определяется соответствующей топологией соседства. В силу важности этого понятия, оно рассмотрено в самостоятельном разделе (см. раздел 5).
Второй компонент в формуле (3) называется «когнитивным» компонентом (по социальной аналогии) и формализует тенденцию частицы вернуться в положение с минимальным значением целевой функции. Третий компонент в формуле (3) называется «социальным» компонентом. Компонент отражает влияние на данную частицу ее соседей.
Вместо формулы (3) часто используют ее вариант
Коэффициент a в этом случае называется ограничивающим фактором (restriction factor),
Рекомендуемые значения параметров Р, У в этом случае равны 2.05, а их оптимальные значения определяются классом целевой функции Ф(Х) [3].
(4)
j = U[0,р ] + U[0,g],
U[0,р ]8 Xb + U[0,g] e Xg,
Y‘, = ---------------------------------------
3. Метод роя частиц с полной информацией (FIPS)
Метод роя частиц с полной информацией FIPS (fully informed particle swarm) предложен в работах [4], [5] и представляет собой обобщение канонического метода PSO.
В основе метода FIPS лежит наблюдение, что поведение особи определяется не только наиболее успешным соседом, но и всей совокупностью соседей. Таким образом, основное отличие метода FIPS от канонического метода PSO состоит в том, что в методе FIPS учитывается влияние на данную частицу всех соседних частиц. Ясно, что при этом различные топологии соседства частиц, существенно влияют на процесс оптимизации. В формуле (3) в
данном случае исчезает необходимость в слагаемом, содержащем вектор Xg,t, т.е. «локальный путь» частицы в данном случае не существует.
В итерационной схеме метода FIPS координаты частиц определяются по формуле (2) , а их скорости по формуле (4), в которой следующим образом изменяется только схема
вычисления члена Ytgt:
Здесь Ni - множество номеров частиц, являющихся соседями частицы Р (в смысле используемой топологии соседства);
Ni - количество элементов во множестве N1 .
Метод обычно показывает лучшую сходимость, чем канонический метод PSO. Основной проблемой при использовании метода FIPS является сильное влияние на его эффективность топологии пространства соседства. Особенностью метода является тенденция
(5)
его сходимости к центру начального положения частиц X0, 1 е [1: N. В этой связи
рекомендуется использовать асимметричное начальное расположение частиц.
3.1. Метод FIPS с весами
Метод FIPS с весами (weighted FIPS) является модификацией канонического метода и заключается в добавлении весов в последнее слагаемое уравнения (4). При соответствующем выборе весов, такая модификация позволяет усилить влияние тех соседних частиц, которые имеют лучшие значения целевой функции. Итерационная формула (4) для метода FIPS с весами имеет вид
V , I tw(k,t){/[0,g]«(Xl - X,,)
i,t
I kW(kt)
k e N i, (7)
где w(k, t) - скалярный весовой множитель, в общем случае меняющийся со временем, который определяет влияние на данную частицу k-ой соседней частицы.
В качестве веса w(k, t) чаще всего используют величину, обратную значению целевой функции 0(Xk,t) (напомним, что рассматривается задача минимизации этой функции):
п ч 1
w(k, t) = ----- (8)
Ф( Xk,,). (8)
В роли весов w(k, t) могут использоваться и другие величины, например, расстояние между частицами.
3.2. Ранжированный метод FIPS
Как отмечалось выше, имеет место нестабильность метода FIPS, обусловленная сильным влиянием на рассматриваемую частицу топологии соседства частиц. Кроме того, при использовании в качестве весов величин (8) может проявляться следующий эффект. На поздних итерациях, когда основные улучшения целевой функции произведены и все частицы находятся в окрестности локального минимума, имеют место близкие значения целевой
функции, соответствующие всем частицам. Поэтому и значения весов w(k, t) для всех k e Ni
оказываются близкими. В результате поиск замедляется или даже останавливается, так что применение в качестве весов значений (8) теряет смысл. Ранжированный метод FIPS (ranked FIPS) [6] позволяет преодолеть данный недостаток.
Идея ранжированного метода FIPS состоит в отказе от использования весов, построенных на основе значений целевой функции. Вместо этого веса , і), k є Nі
заменяются рангами г1{, которые определяются по следующему правилу:
Отметим, что в соответствии с этим правилом вес наилучшей частицы в рое равен 0.5. Таким образом, в ранжированном методе FIPS формула (3) принимает вид
Ранжированный метод FIPS обеспечивает также меньшее влияние на данную частицу топологии соседства частиц, так что увеличение количества частиц во множестве соседних частиц не оказывает отрицательного влияния на эффективность поиска.
Метод роя частиц, основанный на отношении «значение - расстояние» FDR PSO (fitness-distance ratio based PSO), предложен в работе [7]. Метод отличается от канонического PSO учетом влияния нескольких окружающих частиц. Заметим, что метод FIPS имеет такое же принципиальное отличие от канонического метода PSO. Однако в методе FDR PSO учет влияния соседних частиц реализуется иначе, чем в методе FIPS.
В методе FDR PSO используется модифицированный канонический итерационный процесс (2), (3). Суть модификации заключается в добавлении в формулу (3) еще одного слагаемого, равного
rk = 2rk+1; 1 krk =1; ф(хк)< ф(хк+1).
(9)
4. Метод роя частиц, основанный на отношении «значение -расстояние» (FDR PSO)
(11)
где § - свободный параметр метода.
Таким образом, в методе FDR-PSO скорости частиц определяются по формуле
Уи,, = « Уи + *,и[0,Р ]в (х‘, - хи)+ кМ[0,1]в (х„, - Хи)+ к,Щ),§]в (X,,, - Х„), (12)
где k^k2, k3 - свободные параметры, XqJ - вектор координат некоторой частицы Pq e P, определяемой по следующим правилам:
• частица Pq является соседней с частицей Pi;
• частице Pq соответствует лучшее значение целевой функции Ф(Х) по сравнению со всеми соседними частицами.
Введем в рассмотрение функцию FDR[Хj, Xi) положений частиц P., Pi из популяции P:
fdr( Х Х ) Ф(Х,)-Ф(^)
FDR\Xj ■ XiH X - Xj ■ (13)
где I* || - некоторая векторная норма.
Тогда частица, наилучшим образом удовлетворяющая сформулированным правилам, доставляет минимум функции FDR :
FDR(Xq,Xi)= maxfdr(x.■X,), .e Ni.
j
Рекомендованные в работе [7] значения параметров k1, k 2, k3 равны 1, 1, 2, соответственно. Экспериментально показано, что метод малочувствителен к значениям этих параметров - даже их обнуление не приводит к существенному ухудшению скорости сходимости метода. Основной вклад в скорость сходимости метода обеспечивает компонент
(11).
Отметим, что в том виде, в котором метод FDR PSO рассматривается в работе [7], случайные коэффициенты U [a, b] не используются, что эквивалентно принятию U [a, b] = const = 1. Однако в той же работе указывается, что в качестве этих коэффициентов имеет смысл использовать случайные величины, равномерно распределенные в одинаковом диапазоне [0, 2.05].
5. Топологии соседства частиц
Эффективность метода PSO в значительной мере зависит от топологии соседства частиц (population topology, neighbourhood topology, swarm topology, sociometry). Топология соседства определяется неориентированным графом, вершины которого соответствуют частицам роя, а ребра связывают непосредственных соседей.
В вычислительной практике чаще всего используются следующие топологии соседства частиц [8]:
• клика (gbest-топология - глобально оптимальная топология);
• кольцо (lbest-топология - локально оптимальная топология);
• двумерный тор (топология фон Неймана) - двумерный тор;
• кластерная топология.
В топологии «клика»» (полносвязном графе) соседями каждой из частиц Pi, i е [1, N] являются остальные (N - 1) частицы. Диаметр полносвязного графа равен единице [9].
В топологии «кольцо» соседями каждой из частиц Pi являются 2 частицы. Например, в графе, приведенном на Рис. 1, соседями частицы Р3 являются частицы P2, Р4. Диаметр
соответствующего графа равен ~ N^2 .
Рис. 1. Топологии соседства частиц «кольцо»: N = 20
В топологии «двумерный тор» соседями каждой из частиц Р, і є [1, N] являются 4 частицы. Например, в графе, приведенном на Рис. 2, соседями частицы Р3 являются частицы Р2, Р4.Р8, Р18. Если граф типа «двумерный тор» построен на основе т х т решетки, то диаметр этого графа равен 2|"т /2] , где [*] - символ ближайшего целого меньшего; N =
m2
Рис. 2. Топологии соседства частиц «двумерный тор»: N = 20
В кластерной топологии граф имеет в качестве узлов клики из Cclicue узлов. Клики числом Nclicue объединяются в полносвязный граф, ребра которого связаны с теми узлами в кликах, степени которых равны (Cclicue - 1). Очевидно, что диаметр такого графа равен 3. Соседями каждой из частиц P, і є [1, N], являются Cclicue частиц. К примеру, в графе, приведенном на Рис. 3, Nclicue = 4 , Cclicue = 5 , диаметр равен 3, соседями частицы P3 являются 5 следующих частиц: P, P2, P4 P5, P15.
Диаметр графа, соответствующего используемой роем топологии соседства частиц, определяет скорость распространения информации в рое. Поэтому в рое с топологией соседства «клика» лучшее значение целевой функции, достигнутое той или иной частицей, сразу становится известным всем остальным частицам роя. Из числа рассмотренных топологий самую низкую скорость распространения информации обеспечивает топология «кольцо». Промежуточные значения скорости распространения информации достигаются в роях, обладающих топологий соседства частиц «двумерный тор» и кластерной топологией.
Известно значительное количество исследований эффективности и сходимости метода PSO и его модификаций при различных топологиях соседства частиц [4], [5], [8], [10].
Результаты исследований показывают, что топология типа «клика» применима для поиска минимума функции Ф(Х) с малыми градиентами. Топология обеспечивает высокую эффективность, но может привести к преждевременной сходимости метода к некоторому локальному минимуму функции Ф(Х) .
Напротив, топология типа «кольцо» эффективна при оптимизации сложных многоэкстремальных целевых функций. Это обстоятельство обусловлено тем, что частицы роя, принадлежащие «далеким» частям кольца, слабо связаны друг с другом и могут эффективно исследовать различные области пространства поиска. Топология обеспечивает слабое «притяжение» частиц локальными минимумами целевой функции и позволяет избежать преждевременной сходимости.
Топология «двумерный тор» и кластерная топология обладают промежуточными свойствами. Они обеспечивают высокую вероятность локализации глобального минимума целевой функции и достаточно высокую эффективность поиска.
Эффективность метода PSO в значительной степени зависит от размера популяции N . Эта зависимость может иметь различный характер для различных топологий соседства частиц.
Для топологии «клика» и большого размера популяции канонический метод PSO может привести к ранней сходимости. В тех же условиях в методе FIPS большая популяция может охватывать несколько локальных минимумов целевой функции, и значительное количество частиц могут колебаться между этими минимумами. Такие же колебания частиц возможны и в каноническом методе PSO.
Топология «кольцо» более устойчива к большому размеру популяции, так как среди рассмотренных топологий является наименее связной и обеспечивает самую низкую скорость передачи информации.
С точки зрения эффективности метода PSO при больших популяциях в качестве универсальной топологии рекомендуется использовать топологию «двумерный тор», которая обеспечивает достаточно высокую эффективность любого из рассмотренных методов.
6. Методы, использующие динамические топологии соседства частиц
Рассмотренные методы PSO используют статические топологии соседства частиц, т.е. соседство частиц для заданного роя задается до начала итераций и во время итерационного процессе не меняется. Наряду с этим известно значительное количество методов PSO, использующих топологии соседства частиц, которые меняются в процессе итераций -динамические топологии соседства.
6.1. Метод роя частиц с организацией в клубы
Метод роя частиц с организацией в клубы СВ PSO (clubs-based PSO) предложен в работе [11]. Суть метода состоит в следующем. Частицы роя образуют динамические группы,
называемые клубами. Каждая частица может входить в несколько клубов. В процессе итераций частица может мигрировать между клубами. Соседними частицами считаются частицы из одного клуба. Скорости частиц определяются по формулам (2), (3) канонического метода PSO.
Количество клубов Mt, в которые входит частица P, называется уровнем вхождения частицы в клубы (membership level). В начальный момент времени каждая из частиц случайным образом распределяется по Ncl клубам, где Ncl - так называемый стандартный
уровень вхождения в клубы. При росте величины Ncl скорость сходимости метода CB PSO возрастает. Обычно ограничиваются выбором уровня вхождения в пределах 4 - 15.
В методе CB PSO на каждой итерации оптимизационного процесса находят частицы Pbest и Pworse с наилучшим и наихудшим значениями целевой функции, соответственно. Частица Pbest исключается из произвольного клуба, к которому она принадлежит, а частица
Pworse - включается в произвольный клуб. Каждые rr итераций для частиц, не являющихся наилучшими или наихудшими в клубе, производится изменение их уровней вхождения в клубы в направлении стандартного уровня вхождения.
Такой прием улучшает стабильность метода и равномерность распределение частиц по клубам.
На параметр Mt накладывается ограничение Mt е [Mmin, Mmax], так что каждая из
частиц P, i е [1: N] во всех случаях входит не менее чем в Mmin и не более чем в Mmax клубов. Величина Mmax не должна быть меньше N, чтобы частица могла состоять в разных клубах. В работе [11] для роя из 20 частиц используются значения Mmin = 5 , Mmax = 33 .
Исключение частицы Pbest из клуба имеет целью предотвратить преждевременную сходимость метода, так как эта частица оказывает сильное влияние на соседние частицы в клубе. Включение частицы Pworse в некоторый другой клуб позволяет увеличить количество соседних с нею частиц. Так как частицы в новых клубах в общем случае не хуже частиц, находящихся в исходном клубе, то это дает возможность частице Pworse улучшить значение целевой функции.
Как отмечалось выше, в методах PSO, основанных на статической топологии соседства частиц, ранняя сходимость является типичной проблемой. Причина этого эффекта заключается в том, что частица, нашедшая какой-либо локальный минимум целевой функции, оказывает сильное и постоянное влияние на соседние частицы, стремящееся локализовать эти частицы в окрестности того же локального минимума. В результате уменьшается вероятность того, что эти частицы могут исследовать другие возможные локальные минимумы. В методе CB PSO эта проблема решается путем исключения из числа соседей наиболее успешных частиц. При этом на ранних стадиях поиска частицы имеют довольно мало соседей, и нахождение отдельных локальных минимумов слабо влияет на остальные частицы.
В работе [11] показано, что метод CB PSO по сравнению с каноническим методом PSO дает лучшие результаты с точки зрения сходимости и выхода из локальных минимумов целевой функции, как для топологии соседства «клика», так и для топологии «кольцо».
6.2. Метод роя частиц со стереотипированием
Метод роя частиц со стереотипированием (PSO with stereotyping) предложен в работе
[12]. Основная идея метода состоит в статическом разделении частиц по фиксированному количеству кластеров. Критерием разделения является геометрическая близость частиц в пространстве параметров Rn. В качестве центра кластера используется геометрический центр
координат частиц, образующих этот кластер. В формулах вычисления скорости частицы P, i е [1: N] ее собственные координаты заменяются координатами центра кластера, которому принадлежит эта частица. Например, в формуле вычисления скоростей частиц для
канонического метода PSO (3) указанным образом заменяется компонент Xt,t.
Метод может быть скомбинирован, как с каноническим методом PSO, так и с его модификацией FIPS.
6.3. Метод роя частиц с дополнением графа соседства частиц
Метод PSO с дополнением графа соседства частиц DS PSO (dynamic sociometry PSO) предложен и исследован в работах [13], [14], [15]. Метод реализует технику так называемого «перехода от обзора к поиску» (switch from exploration to exploitation).
Как отмечалось выше, разреженные графы соседства частиц обеспечивают высокую эффективность при обзоре, а плотные графы - при поиске. Идея метода DS PSO состоит в следующем. На начальных итерациях оптимизации используется сильно разреженный граф соседства частиц. Через фиксированное количество итераций к в этот граф регулярным или случайным образом добавляется новое ребро. Например, в топологии соседства частиц «кольцо» после каждых к итераций в текущий граф соседства частиц добавляется ребро
(Р], Р] +,). В результате, в конце концов, при достаточном количестве итераций получается граф соседства типа «клика».
Допустим, что в рое N частиц, предполагается решение задачи за I итераций и получить полносвязную топологию требуется после выполнения 0.81 итераций. Тогда добавлять ребро в текущий граф соседства частиц следует (№ - 2) раз, т. е. каждые
к = -°^- (15)
N - 2
итераций.
На ранних стадиях поиска метод DS PSO реализует стратегию глобального исследования пространства параметров (обзор), а на поздних стадиях - производит уточнение полученных результатов (поиск).
7. Многороевые методы
Все рассмотренные методы PSO, как со статической, так и с динамической топологией соседства частиц, использовали один рой. Известны также методы, использующие несколько роев и миграцию частиц между ними.
7.1. Многороевый метод с миграцией частиц
Многороевый метод с миграцией частиц MPSO (PSO with migration) предложен в работе [6]. Идея метода состоит в формировании нескольких роев частиц (subswarms) и организации миграции частиц между роями. При этом каждый из роев использует, вообще говоря, свои значения свободных параметров и свою топологию соседства частиц. При
переходе частицы из одного роя в другой, топология соседства взаимодействующих роев не меняется. Метод является адаптивным и может применяться при неполных знаниях о минимизируемой функции Ф(Х). Напомним, что для метода FIPS, например, топология соседства частиц должна выбираться в зависимости от класса функции соответственно эмпирически полученным рекомендациям.
В простейшем случае миграция частиц между роями осуществляется через фиксированное количество итераций к . Для каждого из роев St на основе текущих значений целевой функции Ф(Х) вычисляется значение функции оптимальности этого роя Y (St),
равное значению функции Ф(Х) для лучшего собственного пути в рое St. Таким образом, функция оптимальности роя отражает наилучшие достижения частиц в рое.
Каждые к итераций осуществляется переход одной частицы из роя с минимальным значением функции Y в рой с максимальным значением этой функции. Здесь к - свободный параметр метода. В работе [6] использовалось значение к = 60 .
7.2. Модифицированный многороевый метод с миграцией частиц
Схема модифицированного метода MPSO имеет следующий вид [6].
1). Для каждой пары роев St, Sj через каждые к итераций вычисляется отношение значений их модифицированных функций оптимальности Y (St), Y (S;.)
R( S • Sj •= R',j = f|r) (16)
2). Находится множество роев ^к }, для которых справедливо неравенство Ri,j > Rum.
3). Каждому из роев ^к } назначается штрафной балл Вк (penalty).
4). Из числа роев ^к} определяется новое множество роев {S *} таких, что для каждого из них имеет место неравенство Вк > Blim .
5). Рои множества {S *} сортируются по возрастанию их штрафных баллов.
6). Из каждого из роев отсортированного множества *} (кроме последнего роя) мигрирует произвольно выбранная частица в следующий по порядку рой.
Назначение функции ¥ * ^г) состоит в классификации множества роев на «успешные» и «неуспешные». В качестве этой функции может использоваться относительное улучшение функции оптимальности за некоторое количество итераций d :
¥ *^г) = ¥ * ^г) (17)
В модифицированном методе MPSO параметры Rlim, Вш, d являются свободными.
Для тестирования метода авторы применяли Rlim = 2, ВЦт = 60, d = 200. Возможна оптимизация этих параметров для конкретных классов целевых функций.
8. Параллельные методы роя частиц
Идеи, лежащие в основе метода PSO, дают основания надеяться на существование
эффективных параллельных аналогов метода. Действительно, известно значительное количество хорошо масштабируемых параллельных методов PSO. Сразу заметим, что в своей массе параллельные методы алгоритмически отличаются от последовательных аналогов.
Для генетических методов, гораздо более исследованных по сравнению с методами PSO, выделяется три следующих класса параллельных методов [16]:
• методы, основанные на глобальной модели параллелизма;
• миграционные методы, основанные на островной модели параллелизма;
• методы, основанные на диффузной модели параллелизма.
По аналогии с этой классификацией, для PSO выделяется три рассматриваемых ниже группы параллельных методов [17].
8.1. Методы, основанные на глобальной модели параллелизма
Параллельные методы PSO, относящиеся к данной группе методов, представляют собой параллельные аналоги рассмотренных выше последовательных методов. Эти методы используют параллелизм по данным и ориентированы на организацию параллельных вычислений по типу «master - slave». Мастер-процесс выполняет работу по поиску глобального минимума целевой функции Ф(Х), а подчиненные процессы производят вычисления значений целевой функции, а также скоростей и координат частиц.
Рабочие процессы после каждой итерации отсылают мастер-процессу значения полученных координат частиц и их скоростей, а также соответствующие значения целевой функции. Перед каждой итераций рабочие процессы получают от мастер-процесса координаты «лучших» частиц. Мастер-процесс на основе данных, полученных от рабочих процессов, вычисляет координаты «лучших» частиц и посылает их рабочим процессам.
Параллельные вычисления в методах данного класса могут быть, как синхронными, так и асинхронными.
Достоинство методов, основанных на глобальной модели параллелизма, состоит в использовании информации о глобально «лучших» частицах. Результат оптимизации при использовании данных методов получается точно таким же, как при аналогичных последовательных вычислениях. Недостатком методов являются большие накладные расходы на коммуникации (при большом диаметре коммуникационной сети).
8.2. Методы, основанные на островной модели параллелизма
Методы данного класса используют параллелизм по данным и ориентированы на реализацию на кластерных вычислительных системах. Весь рой из N частиц делится на m островов (по количеству процессоров в системе) и частицы, принадлежащие каждому из островов, обрабатываются на своем процессоре. После каждых к независимых итераций, острова обмениваются между собой лучшими частицами (в соответствие с используемой топологией соседства частиц).
При большом к метод имеет малые коммуникационные расходы, но недостаточно эффективно использует информацию о лучших частицах из других островов. Существуют различные стратегии замещения частиц в островах [18].
8.3. Методы, основанные на диффузной модели параллелизма
Методы этого класса можно считать частным случаем методов, основанных на островной модели параллелизма (когда количество частиц N равно количеству островов m и, тем самым, количеству используемых процессоров вычислительной системы).
Основная идея диффузных методов состоит в том, что «лучшие» частицы определяются параллельно и только среди соседних частиц (в смысле используемой топологии соседства частиц). Для этого на каждой итерации процессор, на котором
обрабатывается частица P, получает от всех тех процессоров, на которых обрабатываются частицы, соседние с данной, их координаты, скорости и соответствующие значения целевой функции Ф(Х) . Такие коммуникации выполняются параллельно всеми N процессорами.
Коммуникационные расходы в диффузной модели напрямую определяются используемой топологией соседства частиц и являются высокими в случае, если соответствующий граф имеет высокую связность. Методы данного класса обеспечивает высокую производительность только при невысокой связности указанного графа и/или высокой вычислительной сложности целевой функции.
В целом, метод ориентирован на массивно-параллельные вычислительные системы с сильно связными (например, гиперкуб или двумерный тор) и быстрыми коммуникационными сетями.
8.4. Параллельный синхронный метод
Параллельный синхронный метод предложен в работе [19] (в этой работе метод называется parallel PSO method). Метод реализует глобальную модель параллелизма, при которой параллельно вычисляются лишь значения целевой функции.
На каждой итерации мастер-процессор рассылает по рабочим процессорам текущие координаты частиц и ожидает возвращения соответствующих значений целевой функции Ф(Х). Текущая итерация завершается только после того, как мастер-процессором будут
получены значения целевой функции от всех рабочих процессоров (т.е. используется глобальная барьерная синхронизация). Обновление состояния роя (скоростей и координат частиц) происходит только после получения мастер-процессором указанной информации обо всех частицах роя. В методе используется статическая балансировка загрузки процессоров.
Условиями высокой производительности параллельного синхронного метода являются гомогенность вычислительной системы, одинаковое время вычисления значений целевой функции в любой точке пространства параметров, а также равномерное распределение вычислений по процессорам системы. Обеспечить выполнение всех этих условий обычно не удается. Так, часто приходится использовать гетерогенные вычислительные системы, в реальных оптимизационных задачах вычислительная сложность целевой функции Ф(Х) зависит от значений компонентов вектора варьируемых параметров X.
8.5. Параллельный асинхронный метод
Параллельный асинхронный метод PAPSO (parallel asynchronous PSO) предложен в работах [20], [21]. Метод также реализует глобальную модель параллелизма.
В отличие от синхронного метода, в этом случае мастер-процессор получает данные от рабочих процессоров не после глобальной синхронизации, а в любой момент времени по мере готовности этих данных. На основе полученной информации мастер-процессор обновляет скорости и координаты соответствующих частиц роя и немедленно возвращает их свободным рабочим процессорам для продолжения итераций.
Метод реализует динамическую балансировку загрузки процессоров. Номера необработанных частиц хранятся в очереди FIFO. Мастер-процесс обновляет координаты и скорость первой частицы из этой очереди и посылает первому свободному процессору.
8.6. Сравнение эффективности синхронного и асинхронного методов
Применение асинхронного метода оправдано, когда вычисление целевой функции Ф(Х) при разных значениях вектора X происходит за различные промежутки времени, т.е. когда вычислительная сложность этой функции переменна.
В работе [20] исследовано влияние дисперсии вычислительной сложности целевой функции и гетерогенности вычислительной системы на ускорение и эффективность
синхронного и асинхронного методов. Вычислительная сложность функции Ф(Х) полагалась случайной величиной с заданным законом распределения и моделировалась с помощью соответствующих временных задержек.
Исследование показало, что при увеличении дисперсии вычислительной сложности функции Ф(Х) от нуля (что эквивалентно постоянной вычислительной сложности) эффективность синхронного метода линейно падает. Асинхронный метод на малом количестве процессоров (менее 15) показывает в этих условиях низкую эффективность, но при дальнейшем увеличении количества процессоров эффективность метода асимптотически возрастает до 93 процентов. Такая зависимость эффективности от количества процессоров не является типичной для параллельных вычислений и объясняется малой долей коммуникаций в процессе вычислений, а также распределением их по времени (в отличие от единовременных коммуникаций в синхронном методе). Вариации вычислительной сложности целевой функции практически не оказывают влияния на эффективность асинхронного метода. Указанные достоинства асинхронного метода обуславливают его высокую эффективность при использовании сильно гетерогенных кластерных вычислительных систем.
Таким образом, метод PAPSO неэффективен при малом количестве процессоров, но обеспечивает высокую эффективность при большом количестве процессоров (вплоть до N). Для обеспечения эффективной работы асинхронного метода при бо льшем N количестве процессоров, необходимо распараллеливать вычисление значений целевой функции Ф(Х) .
Важно отметить, что при параллельной реализации одного и того же метода PSO в синхронном и асинхронном вариантах, при прочих равных условиях, результаты оптимизации могут быть различными.
9. Тестовые функции
Для тестирования метода PSO чаще всего применяют перечисленные ниже функции.
1). Функция Экли (Ackley)
Ф(Х) = £ (в"02 д/x2 + x2 j + 3(cos2x; + sin2xi+ j)) - (см. Рис. 4).
i= 1
2). Функция Химмельблау (ИшшеШаи)
Ф(Х) = (х2 + х2 - 11)2 + (х1 + х22 - 7)2 - см. Рис. 5.
3). Функция Растригина (Rastrigin)
Ф(Х) = £ (х22 - 10со$2я хг + 10) - см. Рис. 6.
i= 1
Рис. 5. Поверхность и линии уровня функции Химмельблау
4). Функция Розенброка (Rosenbrock)
Ф(х) = X (100(xi+1 - x2)2 + (xi - 1) 2) - см. Рис. 7.
i= 1
5). Функция Шекеля (Shekel)
Ф(Х) =Х '
Для тестирования метода PSO широко применяются также пакеты тестовых функций CES [22].
2 2 -2 -1.5 -1 -05 0 0.5 1 1.5 2
x x
° X
о
Рис. 7. Поверхность и линии уровня функции Розенброка: n = 2
Литература
1. T. Weise. Global Optimization Algorithms - Theory and Application: Ph.D Thesis. -University of Kassel, 2008.
2. J Kennedy, R Eberhart. Particle swarm optimization. // Proceedings of IEEE International conference on Neural Networks. - 1995, pp. 1942 - 1948.
3. X. Li, A. P. Engelbrecht. Particle swarm optimization: an introduction and its recent developments. // Proceedings of the 2007 GECCO conference companion on Genetic and evolutionary computation. - London, ACM, 2007, pp. 3391 - 3414.
4. R. Mendes, J. Kennedy, J. Neves. The fully informed particle swarm: Simpler, maybe
better. // IEEE Transactions on Evolutionary Computation. - 2004, v. 8, pp. 204 - 210.
5. R. Mendes, J. Kennedy, J. Neves. Watch thy neighbor or how the swarm can learn
from its environment. // Proceedings of the Swarm Intelligence Symposium 2003. - IEEE, 2003, pp. 88 - 94.
6. J. Jordan, S. Helwig, R. Wanka. Social interaction in particle swarm optimization, the
ranked FIPS, and adaptive multi-swarms. // Proceedings of the 10th annual conference on Genetic
and evolutionary computation. - Atlanta, USA, ACM, 2008, pp. 49 - 56.
7. K. Veeramachaneni, Th. Peram, Ch. Mohan, L. A. Osadciw. Optimization Using
Particle Swarm with Near Neighbor Interactions. // Lecture Notes Computer Science. - Springer Verlag, 2003.
8. J. Kennedy, R. Mendes. Population structure and particle swarm
performance. // Proceedings of the 2002 Evolutionary Computation Congress. - Washington, IEEE Computer Society, pp. 1671 - 1676.
9. B. B. Воеводин, Вл. B. Воеводин. Параллельные вычисления. - БХВ-Петербург,
2002.
10. J. Kennedy, R. Mendes. Neighborhood topologies in fully informed and best-of-
neighborhood particle swarms. // Systems, Man, and Cybernetics. - 2006, v. 36, pp. 515—519.
11. W. Elshamy, H. M. Emara, A. Bahgat. Clubs-based Particle Swarm Optimization. //
Swarm Intelligence Symposium. - 2007, pp. 289 - 296.
12. J. Kennedy. Stereotyping: improving particle swarm performance with cluster
analysis. // Proceedings of the 2000 Congress on Evolutionary Computation. - 2002, v.2, pp. 1507— 1512.
13. P. N. Suganthan. Particle swarm optimizer with neighborhood operator. // Proceedings of the 1999 Congress on Evolutionary Computation. - 1999, v.3, pp. 19581962.
14. M. Richards, D. Ventura. Dynamic Sociometry in Particle Swarm Optimization. // Proceedings of the Joint Conference on Information Sciences. - 2003, pp. 1557— 1560.
15. A. S. Mohais, R. Mendes, Ch. Ward, Ch. Posthoff. Neighborhood Re-structuring in Particle Swarm Optimization. // Proceedings of the Australian Conference on Artificial Intelligence. - 2005, pp. 776-785.
16. M. Dorigo, V. Maniezzo. Parallel Genetic Algorithms: Introduction and Overview of Current Research. // Parallel Genetic Algorithms: Theory and Applications. / Ed. by J. Stenders. -Amsterdam, IOS Press, 1992.
17. M. Belal, T. El-Ghazawi. Parallel Models for Particle Swarm Optimizers. // International Journal of Intelligent Computing and Information Sciences. - 2004, v. 1, pp. 100-111.
18. Shu-Chuan Chu, Jeng-Shyang Pan. Intelligent Parallel Particle Swarm Optimization Algorithms. // Parallel Evolutionary Computations. - Springer Berlin, Heidelberg, 2006, v. 22, pp. 159-175.
19. J. F. Schutte, J. A. Reinbolt, B. J. Fregly, R. T. Haftka, A. D. George. Parallel global optimization with particle swarm algorithm. // Journal of Numerical Methods in Engineering. -2004, v. 61, pp. 2296—2315.
20. B. Koh, A. D. George, R. T. Haftka, B. J. Fregly. Parallel asynchronous particle
swarm optimization. // International Journal for Numerical Methods in Engineering. - 2006,
v. 67(4), pp. 578—595.
21. G. Venter, J. Sobieszczanski-sobieski. A parallel particle swarm optimization algorithm accelerated by asynchronous evaluations. // Journal of Aerospace Computing, Information, and Communication. - 2006, v. 3, pp. 123 - 137.
22. K. Tang, X. Yao, P. N. Suganthan, C. MacNish, Y. P. Chen, C. M. Chen, Z. Yang.
Benchmark Functions for the CEC'2008 Special Session and Competition on Large Scale Global Optimization. - Nature Inspired Computation and Applications Laboratory, USTC, China, 2007.