Интернет-журнал «Науковедение» ISSN 2223-5167 https://naukovedenie.ru/
Том 9, №6 (2017) https ://naukovedenie. ru/vo l9-6.php
URL статьи: https://naukovedenie.ru/PDF/46TVN617.pdf
Статья опубликована 21.12.2017
Ссылка для цитирования этой статьи:
Карпенко А.П. Основные сущности популяционных алгоритмов глобальной оптимизации. Опыт систематизации // Интернет-журнал «НАУКОВЕДЕНИЕ» Том 9, №6 (2017) https://naukovedenie.ru/PDF/46TVN617.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.
Работа поддержана проектом РФФИ 16-07-00287
УДК 519.6
Карпенко Анатолий Павлович
НОУ ВПО «Московский государственный Баумана», Россия, Москва1
Зав. кафедрой Доктор физико-математических доцент E-mail: [email protected] РИНЦ: https://elibrary.ru/author_profile.asp?id=338847
Основные сущности популяционных алгоритмов глобальной оптимизации. Опыт систематизации
Аннотация. В популяционных алгоритмах (population algorithms) глобальной оптимизации, во-первых, число кандидатов в решение (особей) больше единицы. Во-вторых, на каждой из итераций популяционного алгоритма перемещаются либо все особи, исключая, возможно, лишь некоторые из них (например, «лучшие» особи), либо некоторое число особей, превышающее единицу. В разных публикациях популяционные алгоритмы (П-алгоритмы) глобальной оптимизации называют поведенческими, интеллектуальными, метаэвристическими, вдохновленными (инспирированными) природой, роевыми, многоагентными и т. д.
Рассматриваем П-алгоритмы глобальной непрерывной оптимизации. В связи большим и постоянно увеличивающимся числом таких алгоритмов актуальной является проблема систематизации их выразительных средств. В статье выполнен анализ одной из составляющих этой проблемы - проблемы систематизации сущностей П-алгоритмов.
Представляем постановку задачи глобальной непрерывной оптимизации и общую схему П-алгоритмов ее решения. Выделяем следующие основные сущности: свободные параметры, пространство соседства, особь, популяция и объединение особей, окрестность особи и другие. Раскрываем суть этих сущностей, представляем их характеристики, приводим варианты использования в различных П-алгоритмах.
Ключевые слова: глобальная оптимизация; популяционный алгоритм; метаэвристический алгоритм; особь; популяция; пространство соседства
1 105005, Россия, Москва, 2-я Бауманская ул., д. 5, каф. РК6 Страница 1 из 27 https://naukovedenie.ru 46tvn617
Интернет-журнал «НАУКОВЕДЕНИЕ» Том 9, №6 (ноябрь - декабрь 2017)
https://naukovedenie.ru [email protected]
Введение
Особенностями задач глобальной оптимизации, возникающих в настоящее время во многих приложениях, являются нелинейность, недифференцируемость, многоэкстремальность (мультимодальность), овражность, отсутствие аналитического выражения (плохая формализованность) и высокая вычислительная сложность оптимизируемых функций, высокая размерность пространства поиска, сложная топология области допустимых значений и т. д.
Различают траекторные и популяционные алгоритмы поисковой глобальной оптимизации. Траекторные алгоритмы (single-state algorithms) предполагают обновление на каждой итерации положения лишь одного кандидата в решение задачи. При этом общее число кандидатов может быть большим единицы, и на разных итерациях могут перемещаться разные кандидаты. В популяционных алгоритмах (population algorithms), во-первых, число кандидатов (особей) больше единицы, а, во-вторых, на каждой из итераций перемещаются либо все особи, исключая, возможно, лишь некоторые из них (например, «лучшие» особи), либо, по меньшей мере, некоторое число особей, превышающее единицу. В разных публикациях популяционные алгоритмы глобальной поисковой оптимизации (П-алгоритмы) называют поведенческими, интеллектуальными, метаэвристическими, вдохновленными (инспирированными) природой, роевыми, многоагентными и т. д. [1].
Известны многочисленные примеры успешного решения с помощью П-алгоритмов сложных практических задач глобальной оптимизации, например, задач автоматизированного проектирования, синтеза сложных химических соединений, оптимального управления динамическими системами. П-алгоритмы также успешно используются в алгоритмах многокритериальной оптимизации, предполагающих предварительное построение некоторой аппроксимации множества (фронта) Парето соответствующей задачи многокритериальной оптимизации.
Популяционные алгоритмы (П-алгоритмы) многочисленны и весьма разнообразны. Так в книге [2] представлено более 130 таких алгоритмов. Продолжают появляться новые П-алгоритмы. Многообразие П-алгоритмов порождает проблему обобщения и систематизации их сущностей, базовых принципов, используемых операторов и т. д. (см., например, фундаментальные работы [3, 4]). Данная работа посвящена одному из аспектов этой проблемы - проблеме систематизации основных сущностей П-алгоритмов.
Приводим постановку задачи глобальной оптимизации и общую схему П-алгоритмов ее решения. Выделяем следующие основные сущности: свободные параметры, пространство соседства, особь, популяция и объединение особей, окрестность особи и другие. Раскрываем суть этих сущностей, представляем их характеристики, приводим варианты использования в различных П-алгоритмах.
Все П-алгоритмы, которые упоминаются в работе, можно найти в [1, 2]. Приводим также ссылки на оригинальные работы, посвященные этим алгоритмам.
1. Постановка задачи глобальной оптимизации и П-алгоритмы ее решения
Постановка задачи
Рассматриваем детерминированную задачу глобальной безусловной минимизации
min f (X) = f (X *) = f * (1)
X eR
mi
где: | X | - размерность вектора варьируемых параметров
X = (х, I е [1: |Х|]); /(X) 1 * /*
- целевая функция (Ц-функция) со значениями в пространстве Я ; X , / - искомые оптимальные решение и значение Ц-функции соответственно.
Полагаем, что поиск решения задачи (1) начинается в -мерном параллелепипеде
^ X = {XIX "< X < X+}, где X-= (л~, I е [1: X]), X+= (х+, i е[1: X]) - его
нижняя и верхняя границы. Другими словами, полагаем, что в этой области осуществляется инициализация популяции.
Рассматриваем также аналогичную задачу глобальной условной минимизации
ш1и Г(X) = Г (X *) = /* (2)
XеПсЯт ,
где: {X | Г( X) > 0}
- выпуклое множество допустимых значений вектора X;
Г(X) _ (X^ J е [1: 1Г1]) - ограничивающая вектор-функция; неравенство понимается покомпонентно.
Испытанием называют операцию однократного вычисления значений Ц-функции I ( X ) и ограничивающих функций
Г( X)
, а также, быть может, производных указанных функций в некоторой допустимой точке X . Особенность задач оптимизации, представляющих практический интерес, состоит в том, что каждое испытание может требовать больших затрат компьютерного времени.
Приближение к решению задачи (кандидата в решение) называем особью и обозначаем
е 5. Особь определяют ее вектор состояния ? ~ ?() и соответствующее значение
фитнесс-функции (Ф-функции) = (), называемой приспособленностью особи. Здесь I -
текущий номер итерации (поколения эволюции популяции). Полагаем, что Ф-функция $( X),
как и Ц-функция Г (X) , подлежит минимизации.
Популяция (субпопуляция) есть совокупность особей
5 = , I е [1: |5|]}
. Число особей
|5| в популяции (размер популяции) является свободным параметром П-алгоритма и может, вообще говоря, меняться в процессе эволюции популяции. Отличие субпопуляции от (одиночной) популяции заключается в том, что особи субпопуляции коммутируют (обмениваются данными) с особями других субпопуляций данной мультипопуляции. Субпопуляции эволюционируют, по меньшей мере, на логическом уровне параллельно. Подавляющее большинство П-алгоритмов в их канонической форме использует одиночные популяции.
Процессом эволюции особи е 5 называем последовательность шагов ее эволюции (шагов поиска) в течение [0: П
поколений (в течение всего итерационного процесса), то есть,
цепочку ее состояний
VI(0), VI (1),...,?;«),...,V (О . Здесь ? - номер последнего поколения (итерации). Аналогично определяются процессы эволюции популяции 5 и мультипопуляции.
Общая схема П-алгоритма имеет следующий вид.
Интернет-журнал «НАУКОВЕДЕНИЕ» Том 9, №6 (ноябрь - декабрь 2017)
https://naukovedenie.ru [email protected]
1) Инициализируем алгоритм. Задаем начальное значение счетчика числа итераций
г = 0, начальные состояния особей V (0), I е1: Я
то есть генерируем
начальную популяцию, а также задаем значения свободных параметров алгоритма.
2) Выполняем, вообще говоря, свои для каждой из составляющих текущего вектора V, = V, (г) эволюционные операторы данного П-алгоритма, в результате чего особь приобретает новое положение в области поиска X (г+1) = X
, новую
скорость \(г +1) = Д^! и новое ускорение ДХ1(г +1) = Д2Х!; 1 е [1:И].
3) Проверяем выполнение условий завершения эволюционного процесс. Если эти условия не выполнены, полагаем г = г + 1 и возвращаемся к шагу 2. В противном случае, принимаем лучшее из найденных положений особей в качестве приближенного решения задачи.
С достаточно общей точки зрения эволюцию особи в ходе итераций определяет функция (эволюционный оператор, эволюционная формула) вида
V!+1 = ф;, /(X]), г(х;), . е [1: Я], г е [1: г]), I е [1: |Я|], г +1 < £. (3)
Смысл формулы (3) заключается в том, что новое состояние особи определяют, вообще говоря, все предыдущие состояния всех особей популяции, включая данную особь, а также соответствующие значения Ц- и ограничивающих функций.
В П-алгоритмах оператор (3) является стохастическим, то есть включает в себя один или несколько параметров, которые на различных итерациях принимают случайные значения с заданными законами распределения. Если популяция является неоднородной (типизированной), то итерационная формула (3) может быть различной для разных типов особей (п.4). Если процесс эволюции популяции включает в себя микрошаги (см. ниже), то ее эволюционная формула представляет собой последовательность эволюционных операторов вида (3). В многостадийном П-алгоритме [1] на каждой из стадий используются свои эволюционные оператора, которые в качестве исходных данных для последующей стадии используют данные предыдущей или предыдущих стадий.
В качестве приближенного решения задачи оптимизации принимаем вектор X , который определяет равенство
/* = Г(X*) = ш1п (Х1) г е[1:1] I е [0: |Я|]. (4)
Классификация П-алгоритмов
П-алгоритмы могут быть классифицированы на основе большого числа классификационных признаков.
Природные прототипы. Среди П-алгоритмов выделяем следующие классы алгоритмов: эволюционные алгоритмы, включая генетические; алгоритмы, вдохновленные живой природой; алгоритмы, вдохновленные неживой природой; алгоритмы, инспирированные человеческим обществом; прочие алгоритмы [1]. Заметим, что в работе [2] использована боле детальная классификация, выделяющая алгоритмы вдохновленные биологией (Biology-based
Algorithms), физикой (Physics-based Algorithms), химией (Chemistry-based Algorithms), математикой (Mathematics-based Algorithms).
Уровень гибридизации. Различаем простые (не композиционные) и композиционные П-алгоритмы. К простым относим П-алгоритмы, которые либо не используют гибридизацию, либо используют лишь низкоуровневую гибридизацию вложением, когда имеет место сращивание гибридизируемых алгоритмов так, что, по сути, ее результатом является новый алгоритм, который не может быть декомпозирован на составляющие его алгоритмы [1]. К композиционным, полагаем, принадлежат П-алгоритмы, построенные на основе всех способов гибридизации, исключая низкоуровневую гибридизацию вложением.
Число предыдущих учитываемых итераций. В ситуации, когда при вычислении состояния V (t +1), i е[1: \S\]
учитывают информацию только об одной (предыдущей) итерации, П-алгоритм называется одношаговым. Если при вычислении этого состояния учитывается информация не более чем о r > 1 предыдущих итерациях, то П-алгоритм называется многошаговым (точнее, r -шаговым) или алгоритмом с памятью.
Тип итераций. Различаем П-алгоритмы с простыми и составными итерациями. В первом случае на каждой из итераций эволюционный оператор (либо их некоторая совокупность) используется однократно. Во втором случае каждая итерация состоит из нескольких итерационных микрошагов. Например, в алгоритме бактерий BFO (Bacterial Foraging Optimization) на каждой итерации выполняется три шага - хемотаксис, репродукция, ликвидация и рассеивание [5].
Основные обозначения и определения
Для сущностей П-алгоритмов используем общее обозначения вида
5 (Arg5, P5) = s|A5 (Arg5, P5)
где: A5 - алгоритм или совокупность алгоритмов, определяющих сущность 5; Arg
- набор аргументов этого алгоритма; P5 - набор свободных параметров, используемых сущностью 5. Там, где это не вызывает опасности неверного чтения, опускаем в записях
Arg5 , P5 указание на принадлежность к сущности 5 и определяем эту сущность в виде
5 (Arg, P) = 5 A5 (Arg, P).
На этапе инициализации П-алгоритма осуществляется инициализация его сущностей,
A5
заключающаяся в задании (начальных) значений аргументов алгоритма и/или
инициализации значений его свободных параметров.
С каждой из сущностей П-алгоритма может быть связана одна или несколько характеристик этой сущности, в общем виде обозначаемая как
Feature (Н, ArgFeature, PFeature) = Feature AFeatureН(ArgFeature, PFeature) Различаем две группы характеристик сущности: величины, использованные при
t xFeatureH \
определении этой сущности; вычисляемые (с помощью алгоритма A ) характеристики.
Различаем также статические и динамические характеристики. Статическими называем
4Feature.Е/ л___Feature r>Feature^
л Feature "
характеристики, которые определяет «статическим» алгоритм A , то есть алгоритм,
который не изменяется в процессе эволюции популяции на протяжении всего поиска - до окончания завершения итерационного процесса. Напротив, динамическими объявляем характеристики сущности, значения которых меняются в процессе эволюции популяции
л Feature "
вследствие эволюции алгоритма A .
Эволюция алгоритма A в процессе поиска (итерационного процесса) может являться следствием наличия в алгоритме свободных динамических параметров (п.2), а также следствием прямой зависимости алгоритма от номера итерации t. Кроме того, «динамичность» сущностей может быть обусловлена их однократной или многократной «переинициализацией». Например, модификация COAC (Continuous Orthogonal Ant Colony) муравьиного П-алгоритма использует варианты такой инициализации, которые составляют суть процедуры модуляции [6].
Подчеркнем следующее обстоятельство. Характеристики каждой из сущностей П-алгоритма могут менять свои значения в силу эволюции популяции в процессе поиска. В этом смысле любая из сущностей может рассматриваться как динамическая. Мы, однако, рассматриваем как динамические только те сущности, значения характеристик которых
меняются вследствие изменения алгоритма A" в процессе эволюции популяции.
Соответственно классификации характеристик сущностей на статические и динамические, все сущности разделяем на статические и динамические. Выделяем динамические неадаптивные (программные) и динамические адаптивные сущности, частным случаем которых являются динамические сущности, управляемые событиями в эволюции популяции [1].
2. Свободные параметры
Одной из важных особенностей П-алгоритмов является наличие в них свободных параметров, значения которых, в конечном счете, лицо, принимающее решения, (ЛПР) устанавливает, исходя из своих предпочтений и/или особенностей исходной оптимизационной задачи. Свободные параметры могут быть бинарными, дискретными, натуральными, целыми, вещественными и комплексными. Практически во всех П-алгоритмах свободным параметром
является размер популяции |Я|. Как правило, авторы П-алгоритмов предлагают свои рекомендованные значения свободных параметров этих алгоритмов.
В качестве общего обозначения набора свободных параметров П-алгоритма используем
P ( P ) = P
Ар (Р)
лР
, где А - алгоритм или правила определения значений компонентов
набора параметров P; P - набор свободных мета-параметров алгоритма AP, то есть вспомогательных свободных параметров, которые определяют значения основных свободных параметров P (см. ниже).
Значения компонентов набора P ЛПР может определять непосредственно или опосредованно (алгоритмически), задавая, например, диапазон возможных значений того или иного параметра и указывая, что конкретное значение этого параметра должно быть равномерно случайно распределено в указанном интервале. В первом случае используем
обозначение P P Adm (от англ. Decision-Maker), а во втором - P P
AAlg
Очевидно, возможно комбинированное определение компонентов набора Р , когда часть этих компонентов ЛПР определяет непосредственно, часть - алгоритмически. Пусть,
например, P = {a, h}. Тогда возможна запись вида
a =
AP h =
adm h =
AP
AAlg
Разделяем свободные параметры на статические и динамические. Значения статических свободных параметров остаются постоянными на протяжении всего поиска, то есть, до завершения процесса эволюции популяции (итерационного процесса). Динамические свободные параметры П-алгоритма изменяют свои значения в процессе поиска (обычно, по простым, но эффективным правилам). Значительным стимулом для использования динамических параметров является тот факт, что применение даже простого правила варьирования значений этих параметров часто дает существенный выигрыш в эффективности алгоритма по сравнению с использованием оптимальных статических значений. Свободные мета-параметры всех классов параметров являются, как правило, статическими.
2.1 Статические свободные параметры
Значения статических свободных параметров ЛПР может назначать непосредственно на этапе инициализации П-алгоритма, либо задавать опосредованно с помощью того или иного
Р (Р) = Р
правила, так что в этом случае имеем соответственно.
AAlg(P) „™ p (P) = PADM (P)
или
Инициализацию значений статических свободных параметров (а также начальных значений динамических свободных параметров) реализуют на основе их значений или диапазонов значений, рекомендованных авторами соответствующего П-алгоритма. Эти рекомендации могут быть заданы в двух формах:
• фиксированные значения или интервалы значений;
• функциональные зависимости этих значений от параметров исходной задачи оптимизации и/или от значений других свободных параметров алгоритма, переменных состояния популяции, характеристик особей и их объединений и т. д.
Примером фиксированных рекомендованных значений статических свободных
- h - h - h параметров являются значения весов инерционной hi, когнитивной hc и социальной hs
составляющих скорости особей в каноническом алгоритме роя частиц PSO (Particle Swarm Optimization), равные hi = 0,7298, hc = hs = 1,49618 [7]. Фиксированные интервалы значений свободных параметров, рекомендуют, например, авторы алгоритма поиска гармонии HS
(Harmony Search) для размера популяции |S|, вероятности £h случайного выбора (random
selection) из памяти гармоний, вероятности изменения шага (Pitch Adjusting Rate, PAR):
S < 50; 4 = 0,7 ■ 0,95; = 0,1 ■ 0,5 [8].
В качестве примера определения значений статических свободных параметров в форме функциональной зависимости от значений параметров задачи приведем определение размера популяции в муравьином алгоритме CACO (Continuous Ant Colony Optimization) [9]:
SI = |S|+(1 - exp(- 0,1 ))+ 5.
Здесь: |S| - максимально допустимый размер популяции (свободный мета-параметр).
Если рекомендации авторов П-алгоритма даны в форме интервалов возможных значений свободных параметров, то эти значения, во-первых, могут назначаться ЛПР в указанных интервалах, исходя из его неформальных соображений, например, на основе предыдущего опыта эксплуатации данного П-алгоритма. Во-вторых, могут быть использованы случайные значения параметров в тех же интервалах. При этом, как правило, используют равномерные законы распределения. Например, в алгоритме летучих мышей BI (Bat-Inspired),
начальные значения частот mi , громкостей ai и частот повторения импульсов ri
полагают равномерно распределенными в заданных интервалах ], [a ; a ], [0; 1]
[10].
2.2 Динамические свободные параметры
Свободные динамические параметры требуют, во-первых, задания правил инициализации своих начальных значений. Во-вторых, для этих параметров должны быть определены законы изменения их значений в процессе поиска. На этом основании полагаем, что алгоритм AP в определении динамических параметров P — P (t) представляет собой
лР ( xP.init xP.evol) aP init a P evol
совокупность двух алгоритмов, то есть A — {A , A } , где алгоритмы A . , A реализуют решение первой и второй из указанных задач соответственно.
На значения динамических параметров могут накладываться разного рода ограничения. Область допустимых значений набора динамических свободных параметров в общем виде
обозначаем
Dp
. Обычно используют двухсторонние ограничения на значения параметров вида
Р — Р — Р , где Р ^ Р - нижняя и верхняя границы допустимых значений параметра
— +
p е Р соответственно. Величины Р ' Р являются свободными мета-параметрами П-
алгоритма: {Р ' Р } е Р. Например, алгоритм оптимизации косяком рыб FSS (Fish School Search) использует такую характеристику особи si как ее вес Wi [11], и ограничения на значения этой характеристики имеют вид 1 — wi — w , так что свободными мета-параметрами
w~= 1; w+; i е [1: |S|].
1>I 7 - ■ " lyfl
являются величины
Динамические детерминированные свободные параметры
Динамические неадаптивные (программные) параметры. В П-алгоритмах используют
лР.еуо1
простые алгоритмы А программного изменения значении этих параметров, которые обычно определяют монотонно убывающие или возрастающие линейные или нелинейные непрерывные или ступенчатые функции текущего номера итерации t.
Пусть, например, речь идет о генетическом алгоритме и операторе гауссовой мутации
вида
Х- • — x
1, J
i,J + #i(0, с) i е [1: |S|], J е [1: |X|], (5)
где: величина 7 (шаг мутации) является свободным параметром алгоритма. Известное неадаптивное эвристическое правило изменения этой величины определяет формула
((t) = 1 - 0,9 ^
(6)
в соответствии с которой с ростом числа итераций t шаг мутации линейно уменьшается
/V
с единицы при ^ = 0 до 0,1 в конце итераций при ^ = ^ [12]. Таким образом, в данном случае
APevo1 (P)
величину 0,9.
алгоритм
определяет формула (6), и свободным мета-параметром можно считать
Если значения некоторого свободного параметра Р должно линейно уменьшаться
[ p+; p- ] ([ p-; p+])
, то правило
(увеличиваться) с ростом числа итераций t в диапазоне
АР-еУо1 ( р- р + )
изменения значений этого параметра, то есть (алгоритм имеет, очевидно, вид
p(t) = p p
f + -Л с p - p
t
p(t) = p'
f -p - p
t
+ Л Л
t
J J
Неадаптивное рекуррентное правило изменения значений некоторого свободного параметра Р можно определить формулой вида
p' = p(t +1) = b p. p(0) = p0, b e (0; 1); {p0, b} e P.
Динамические адаптивные параметры. Примером адаптивного динамического правила
APevo1 (t с )
изменения значения свободного параметра ( (алгоритм ^ a' т') в операторе
гауссовой мутации (5) является правило Уь Рехенберга (I. Rechenberg) [13], которое может быть записано в виде следующей ступенчатой функции:
• если номер текущий итерации t кратен периоду адаптации ta, то
((t) =
( (t - ta )
с,„
( (t - ta ) Ст
((t - ta ),
< /5 =
rns > /5:
= /5;
(7)
• в противном случае ) = 1.
Здесь: ^я - средняя относительная доля успешных мутаций, измеренная на основе результатов эволюции популяции в течение ^а поколений (свободный мета-параметр); ст е С0,817;1,0] - заданная константа (свободный мета-параметр). Успешной называется мутация, порождающая потомка лучшего, чем родитель. Ситуацию, когда величина ^я
<
отклоняется от своего значения, равного Уь , можно интерпретировать как событие в эволюции популяции.
Стохастические динамические свободные параметры
Динамические неадаптивные параметры. Значения стохастических динамических неадаптивных параметров могут быть получены следующими путями:
• генерация последовательности случайных чисел, подчиненных требуемому закону распределения;
• генерация хаотичной последовательности;
• рандомизация соответствующей детерминированной зависимости. Например, случайное неадаптивное изменение параметра ре Р может быть
АРеУ° ( р ) лР.еуо1 / ч
выполнено по следующим правилам (алгоритмы ■гхит/огт\У 0 /, Апогт (р0,и) соответственно):
Р= Ро + 1 /2 , р' = р0 +а N(0;1).
Здесь: р0, а - свободные мета-параметры;
и [0; 1] - случайное вещественное число,
равномерно распределенное в интервале [0;1]; N[0;1] - аналогичное число, распределенное по нормальному закону с нулевым математическим ожиданием и единичным среднеквадратичным отклонением.
Динамические адаптивные параметры. Значения стохастических динамических адаптивных параметров получают путем рандомизации соответствующих детерминированных зависимостей. Например, можно предложить стохастический вариант правила Уь Рехенберга
(7)
а(г) = N (0; Р)
а (< - <а )
Ст
а - ta ) Ст
- и),
Ш < /5
Ш > /5
ш.
= 1
где:
: Ре Р.
5
3. Пространства соседства особей и объединений особей
О соседстве особей и объединений особей (п.5) можно говорить в терминах следующих пространств соседства: фитнесс-пространство рф ; пространство поиска Рх ; топологическое пространство . Элементами этих пространств являются, соответственно, значения Ф-функции (р(. X), компоненты вектора варьируемых параметров х и сами особи
,' е [1: И ].
Таким образом, пространство ^Ф является одномерным непрерывным,
RX - lXl -мерным непрерывным, а пространство RT имеет мощность, равную
пространство Rx - X I -мерным непрерывным, а пространство RT является дискретным и
V V £ ^ I?
Отношение (непосредственного) соседства особей ] в пространстве Яа
N (Яа )
записываем в виде ^ я I; а £ {Ф, Х, . Аналогично, тот факт, что объединения особей
N (Яа )
г Г т> С < ъ С С1 С1 _
' являются соседями в пространстве Яа, записываем как г ^ ; г— ° .
Алгоритмы, определяющие пространства соседства особей и их объединений, обычно строят
на основе метрик близости вида ^Яа , SJ ) , ^Яа , Г} ) соответственно.
По общему правилу различаем статические и динамические пространства соседства. В первом случае указанные метрики не изменяются в процессе эволюции популяции, а во втором случае - программно или адаптивно изменяются с ростом номера поколения.
3.1 Пространства соседства особей
Общее определение пространства соседства особей имеет вид
Space^ (Arg, P) = SpaceK\ASpaceR (Arg, P), „ e {Ф, X, T}.
Алгоритм
ASpace.
a, построенный на основе метрики близости i' j .
определяет выражение
N (Ra)
s ^ sj MRa (S, sj) < b i, j e [1: |S|], i Ф j,
где: b - свободный параметр.
Статические пространства соседства
Фитнесс-пространство Яф = я . Простейшая метрика близости VЯф (V, ^ ) особей
s s
l' J в этом пространстве имеет вид
Рщ,(si' sj) = abs ((Xi)- ((XJ)), i, J e [1: S ], i * J.
Вместо функции ((X) в определении метрики может быть использована
аддитивная свертка этой функции с одной или несколькими вспомогательными функциями.
Примером метрики (Sl, SJ), определенной более сложно, является метрика, используемая алгоритмом динамических сеток VMO (Variable Mesh Optimization) [14]:
uR (sl, s7-) =-1-e [0;1]
МЯф(l'J) 1 + ((Xi)-((Xt) [;]
Легко видеть, что если
к х) <<к х}.)
, то (' Х] ) ~ 0, и наоборот, если
(р(х Хг) X;), то МКф (х-,х,) -1.
Пространство поиска Рх = ^ У В качестве метрики близости ^' ) особей ] в этом пространстве чаще всего используют евклидово расстояние II не между особями:
Mry (si, sf) = м» (X, X) =
e, i, j е [1: |S|], i Ф j.
Известно значительное число других функций, которые могут быть использованы в качестве метрики близости ' ) :
манхеттоновское расстояние
X, X
1
M
аналогичное расстояние
X,, Xj
X
M и другие [1].
Приведем в качестве примера алгоритм поиска системой зарядов CSA (Gravitational
r
Search Algorithm) [15]. Расстояние i,j
r ; = L (s , S;) Si , Si
i,j ^RXy n j/ между частицами i' j в этом алгоритме
определяет выражение
r ■ =
'h j
Xi - Xj
E
Xi - X j 2
x
ib
+ s
E
i, j е [1: |S|], i ф j,
где: положительная малая константа S (свободный параметр) введена для того, чтобы избежать сингулярности; X ib - текущее положение лучшей особи популяции.
Топологическое пространство RT определяет топология соседства особей
(neighborhood topology), которую задает неориентированный граф соседства NG (S). Вершины этого графа соответствуют особям популяции, а ребра связывают непосредственных соседей. В алгоритме роя частиц PSO, например, используют топологии соседства клика, кольцо, двумерный тор, кластерная топология [1].
Метрику близости Lrt (Si, Sj) особей Si, Sj, i, j е [1: lSl], i ф j в пространстве RT
определяют как расстояние между соответствующими вершинами графа NG (S), то есть как
s. s ■
минимальное число ребер, соединяющих вершины i j этого графа. Поэтому максимальное значение этой метрики для данной топологии соседства равно, очевидно, диаметру графа
NG (S).
Динамические пространства соседства
По общему правилу, «динамичность» каждого из пространств соседства , ^ е {Ф, х, может быть обусловлена эволюций метрики №ка вследствие наличия в
функции Мя а( ) свободных динамических параметров или вследствие прямой зависимости этой функции от номера итерации ? .
Пусть, например, в пространстве Яа определены статические метрики соседства
1 2
Мяа (' ), ' ). Тогда динамическое неадаптивное пространство соседства можно
определить с помощью динамической метрики вида
(si, sj ) = <
(si, SJ), t — tadapt, • • ri I oh •
" i, J e [1: \S\], i * J
(si, SJ X инач^
Здесь: tadapt e (0; 0 - номер итерации, на которой изменяется пространство соседства (свободный параметр).
Динамическое адаптивное пространство соседства можно определить использованием какой-либо из характеристик популяции, например, с помощью метрики ее разнообразия
pdiv(S), которой может служить текущий диаметр d(S) популяции в пространстве RX . С
использованием метрик PRa (Si, SJ), (Si, SJ) и метрики pdiv(S) это пространство определяет динамическая адаптивная метрика вида
(si, st) =
MRa (si, SJ X Mdiv(S) — d , . • Г1 ich . .
2" \ i, J e [1: S ], i * J,
MrAsi, s,-X иначе,
где: й' е Р.
Топологическое пространство ЯТ становится динамическим при использовании программно или адаптивно изменяющейся топологии соседства [1].
3.2 Пространства соседства объединений особей
Метрики Мяа (°г' О ]), в отличие от аналогичных метрик для пространств соседства особей, оперируют не с переменными состояния и характеристиками особей, но с состояниями
характеристиками их объединений; а е {Ф, Х, Т}, Ог, ОI е ^.
и
Статические пространства соседства объединений особей
Фитнесс-пространство ЯФ. В качестве метрики близости объединений особей / • / - 1 ■
г , ] в этом пространстве может быть использована метрика
Мяф (О, О]) = аЬя (ф(Хг) - (X]), г, ] е [1: |О|], г ф ] (8)
хк =
где:
1 ы
А х1 _. .
\0к\ I=1 , к =] - центры «тяжести» указанных объединений соответственно, с которыми (центрами тяжести), вообще говоря, не обязательно ассоциируются какие-либо особи этих объединений.
Как и в аналогичной метрике близости особей, вместо функции (р(х) здесь может использоваться аддитивная свертка этой функции с одной или несколькими вспомогательными функциями. С содержательной точки зрения малое значение метрики (8) означает близость
значений Ф-функции (р(х) в центрах «тяжести» объединений особей - , ] . Для того чтобы избежать вычисления значений функции
ср( х ) в точках -' ],
х- х ■
вместо этих точек могут быть использованы положения -' ] ближайших к ним особей соответствующих объединений, то есть можно принять
х. = х = шп х - х
- 1 1 1
х, = х = шт
] ]к 1
х - х,
I е [1: О] ]
где: 1Н1 - некоторая векторная норма пространства Ях . Другим примером метрики (01' О] ) может служить функция
(О, О) = аЪв (Щ(О-) - Щ(О])), ] е [1: |О|], - ф ], 1 Ок|
Ш) = Кх)
где: |°к| 1=1 - среднее по объединению Ок значение Ф-функции;
к = ] .
Пространство поиска Ях. Метрика близости
мЯх (О, О)
объединений особей
О- О Я К
»' ] в пространстве х может быть построена на основе евклидова расстояния между
центрами «тяжести» этих объединений:
Мях , О] ) =
х,х]
е
-,] е [1: \О], - ф ] .
Можно предложить ряд аналогичных метрик, основанных на других нормах векторов в но тому
х , х\
пространстве . Подобно тому, как было показано выше, вместо точек х' х] могут быть
использованы положения " " ]к ближайших к ним особей соответствующих объединений.
Топологическое пространство ЯТ. По аналогии с таковым пространством особей, пространство объединений особей определяет их топология соседства, которой соответствует
граф соседства , Мерой близости (О-' О]) объединений 0' О]'
] е [1: \°\]' - ф ] в указанном пространстве является минимальное число ребер указанного
О о
графа, соединяющих его вершины -' ] .
Динамические пространства соседства объединений особей
Как и в случае динамических пространств соседства особей, «динамичность» пространства соседства объединений особей может быть обеспечена за счет эволюций
соответствующей функции №ка в процессе поиска вследствие наличия в ней свободных динамических параметров или вследствие прямой зависимости этой функции от номера итерации t.
4. Особи
Как мы отмечали в п. 1, особью ,
е[1: |S| ]
называется приближение к решению задачи (кандидат в решение). Состояние особи в общем случае определяют векторы ее
положения X i, скорости AXi и ускорения А X i, так что, вообще говоря, вектор состояния этой особи равен
V = X ^AX. , i е [1: |S|], \Vt\ = 3 |X|.
Области допустимых значений составляющих AXi, А Xi по аналогии с множеством ^ X обозначаем
Пду = (AX | AX " <AX < AX+}, Па2х = (А2 X | А2 X- < А2 X < А X+}.
Основной характеристикой особи , определяющей ее «качество», является значение
Ф-функции Vi = (Р( Xi) . Кроме того, в число характеристик особи могут входить следующие
величины: текущая «успешность» особи (лучшее достигнутое за время [0; t ] значение Ф-функции, среднее этих значений, средне квадратичное отклонение и т. д.); признак того, являлся ли на итерации t данная особь глобально лучшей (худшей); аналогичный признак лучшей (худшей) особи в ее некоторой текущей окрестности (п.6); «вес» особи (например, в алгоритме FSS [11] или в алгоритме GSA [15]) и т. д.
Выделяем характеристику
tipe ( st)
особи si, называемую типом, которая определяет особенности эволюции этой особи. Тип особи может определять также ее принадлежность к тому или иному объединению особей (п.5). Например, в алгоритме колонии пчел BA (Bees Algorithm) [16] различают рабочих пчел (worker bees), пчел-разведчиков (scout bees) и пчел-наблюдателей (onlooker bees); в муравьином алгоритме CACO [9] выделяют муравьев, предназначенных для глобального и локального поиска. И так далее.
Различаем характеристики особи, основанные на ее текущих состояниях и на ее следе
[1].
Характеристики, основанные на текущих состояниях особи
Значения данных характеристик могут быть определены на основе «самооценки» особи и на основе оценки данной особи другой особью или особями.
Основной самооценкой особи si является ее приспособленность ^ = (Р(. Xi). Относительное качество особи определяет ее такая характеристика, как ранг, который равен ее номеру в списке всех особей популяции, отсортированных в порядке убывания их текущих
приспособленностей. Особь с большим рангом является более успешной по сравнению с особью, имеющей меньший ранг (напомним, что имеется в виду минимизации Ф-функции).
Оценку данной особи другой особью определяется привлекательность (attractiveness).
В пространстве Ra e , RX , RT} алгоритм AAttact's, вычисляющий привлекательность
т, Sj ) = fi, j особи j для особи si, в общем случае определяет функция вида
A j = (S,s j)), i, j e [1: \S\ ], i ф j,
где: (s, Sj) - некоторая метрика расстояния между особями s, Sj в пространстве
Ra . В алгоритме светлячков FA (Firefly Algorithm) [17], например, в качестве привлекательности используют функции
bo
P(r, j) = bo exp (- b| rbj), P(rL j) = 1 + bi r2 , b2 > 1, где: Г, j = VRr (si, sj) = ASx(Xi, Xj)
xj - Xi
Характеристики, основанные на следе особи также разделяем на «самооценочные» и внешние.
В качестве характеристик первого сорта могут быть использованы минимальные, максимальные, средне взвешенные и среднеквадратичные отклонения указанных выше
самооценок особи si во всех точках ее следа. В П-алгоритмах часто используют характеристику особи вида
t
Z = Z (t) = Z b,P, (t) i e [1: Is I ] (9)
T=t -at, • L I lJ
1 5 5
которая называется текущим здоровьем (health) особи si. Можно сказать, что эта величина представляет собой самооценку успешности особи в процессе ее эволюции в течение
Ati итераций. Таким образом, например, определяют состояние здоровья бактерии в бактериальном алгоритме [5]. В муравьином алгоритме COAC в качестве весовых
коэффициентов Ьт логично использовать количество феромона 6(t, т) [6].
Вместо величин Pi (t) в формуле (9) могут использоваться соответствующие нормализованные приращения приспособленности особи, так что эта формула приобретает вид
t
Х-=Х'(t) = ЛbTAPP(T), i e[1: SI],
где
a ~ , ч P (t) - P (t -1)
Ap(t) = Г' , ' (10)
max (P (т), Pi (t- 1)).
На основе подобной оценки здоровья особи si вычисляют, например, ее вес в операторе кормления (feeding) алгоритма FSS [11].
Нормализация разности приспособленностей (i(о) -( (О-1) в формуле (10) может быть выполнена и иными способами. Например, в эволюционном операторе инстинктивно-коллективного плавания того же алгоритма FSS используют нормализацию вида
A(о) = (i (0 (о- 1) , j e[1: S]
(( ' z(pj О)-( о-1))' J [ ||]
J .
В муравьином алгоритме COAC [9] здоровье особи (там эта величина называется слабостью (weakness) или возрастом (age) особи) вычисляют по правилу
, Х + AX, (>(,
X = 1 Л
[Х, - Ax, иначе.
Другими словами, здоровье особи повышают на величину Ax (свободный параметр
У
алгоритма), если ее новое положение X i увеличивает приспособленность особи. В противном случае, здоровье уменьшают на ту же величину. По общим принципам, величина AX может меняться с ростом номера итерации и может быть различной для разных особей (например, особей разного типа). Положительные и отрицательные приращения здоровья особи могут быть различными по абсолютной величине.
Характеристики, основанные на внешней оценке особи Si, могут быть построены по аналогичным схемам. Например, возможна оценка здоровья данной особи с точки зрения особи s
j вида
t
xj = х,j (t) = s brpi,j о) . г1 loh
T=t-At, • i e [1: S ]
5. Популяция и объединения особей
Популяция представляет собой совокупность (объединение) 1Я1 особей Я = &, г е [1: |Я|]}.
Некоторые П-алгоритмы используют ограничения снизу и сверху
Ишт | ^|шах I
, Р1 на размер популяции, которые, как и величина Р1, являются свободными
параметрами П-алгоритма. Состояние
У(Я) популяции S определяет набор состояний ее
особей: У(Я) = {V(V), г е [1: |Я|]}.
Популяция (субпопуляция) может включать в себя некоторое число объединений особей. С другой стороны, особь можно считать частным случаем объединения особей (когда мощность этого объединения равна единице).
Объединение особей, определенное в пространстве Яа , задает выражение вида
ит^(Я, Р) = Шюпяа\ АитопЯа (Я, Р) — Я а е {^, Ях, ЯТ}. О1)
п литоп.Я,у „
Здесь: А а - детерминированный или стохастический алгоритм, задающий правила вхождения особей в данное объединение. Максимальное расстояние между особями,
образующими объединение UnionRa, в используемой метрике пространства Ra
называется диаметром этого объединения, а половина этой величины - радиусом объединения.
Отметим, что определение (11) не требует, чтобы каждая данная особь входила только в одно объединение, так что объединения могут пересекаться. Например, в клубном алгоритме роя частиц (Clubs-Based PSO) [1] каждая особь популяции S может входить одновременно в несколько клубов.
, /-^init.Union.Ra / гч т-)\ч
На этапе инициализации популяции (с помощью оператора вида O (S, P) )
осуществляется инициализация используемых П-алгоритмом объединений особей, включая определение значений их свободных параметров (вообще говоря, разных для разных объединений). В некоторых П-алгоритмах особи, входящие в данное объединение, называются соседями (neighbors).
Различаем статические и динамические объединения особей. Статическое объединение не меняет состав особей, включенных в него, на протяжении всей эволюции популяции, то есть
на всех итерациях t е [t0 • ^]. Напротив, состав динамического объединения меняется в процессе поиска. Полагаем, что объединение является динамическим только в том случае, если
„ aUnion.R„ / о г>\
его состав меняется вследствие изменения в процессе итераций алгоритма A a (S, P) .
Объединение особей UnionRa может быть построено на основе окрестности некоторой особи si е S (п. 6) по следующему правилу:
UnionRa(S,р) = fy е S|sij е AreaRa (s,,P)} с S, a e R, Rx, RT}.
Обычно, алгоритм AUnionRa, осуществляющий отбор особей в объединение
UnioURa (S,р), основан на близости этих особей в некоторой метрике ^Ra пространства
Ra е {RФ, RX, RT } . Так, для любого из пространств R€>, RX, RT объединение особей можно определить правилом
si2}eUnionRa (S> di> di)\ MRa (V si2) e[di; d2], s^ , sh e S, (12)
где: di , d2 - свободные параметры объедения; di < d2. При этом алгоритм
A (S5 P) определяется неравенством ^Ra (sii' s,2 ) e [di' d2], так что P = {di, d2} .
Вообще говоря, для формирования объединения UnionRa (S' P), Ra е {Rf , RX, RT } могут быть использованы любые из алгоритмов селекции [1].
Объединение особей может быть определено как пересечение объединений, определенных в разных пространствах. Пусть, например, тем или иным образом определены
. Union„ (S, PRФ ) Unionр (S, PRx ) UnionR (S, PRt ) T
объединения ^v ' 7, rx y ' 7, rt v ' 7. Т огда мыслимо
объединение вида
UnionR aR лr (S, P) = Union (S, PRf ) n UnionR (S, PRx ) n UnionR (S, PRt )
Объединения особей могут быть построены с помощью комбинированных алгоритмов
Anton-Ra , которые кроме метрики близости pRa используют и другие условия. Например, в алгоритме оптимизации роем светлячков GSO (Glowworm swarm optimization) [18] светлячок
sj считается соседом светлячка si, i,J e [1: lSl], i * J при выполнении следующих двух условий: евклидово расстояние между этими светлячками не превышает текущий радиус
Г " l V ■ 1
окрестности i ; текущий уровень j светимости светлячка j превышает этот же уровень li
V- li > l светлячка vi, то есть J i .
Создать объединение особей в пространствах RФ, rx , RT можно путем кластеризации особей на основе их близости в этих пространствах. Примером создания объединений особей по такой схеме является алгоритм роя частиц со стереотипированием (объединение особей здесь называется кластером) [1].
В качестве характеристики объединения особей могут быть использованы характеристики, построенные на основе соответствующих характеристик особи. Наряду с этим у объединения особей могут быть определены характеристики, не вытекающие из характеристик особей, входящих в данное объединение.
Статические объединения
Фитнесс-пространство ЯФ. Кроме правил вида (12), статическое объединение особей в пространстве ЯФ можно определить с помощью условия
е ипгопяф (Я' Ь1' Ь2 ) Ь1 — ((% ) — Ь2 е Я
Здесь: Ь1> Ь2 - свободные вещественные параметры объедения, удовлетворяющие
тшп <Ъ < /71 шах .^шт „шах
условию ( — Ь1 ^ Ь2 —( ; ( , ( - текущие минимальное и максимальное
значения приспособленности особей популяции Я . Алгоритм Аип'опЯа (Я, Р) в данном случае
Ь — (() — Ь2 р = {й й }
определяет неравенство 1 г] 2; Р = {й1, й2} .
Пространство поиска Ях . Формула (12) в этом пространстве обычно имеет вид
Ц , ^ } е ипгопя„ (Я, й) X, , Хн —й я , я е Я (13)
Е ,12
где: й - свободный вещественный параметр. Кроме евклидовой метрики возможно применение любых иных метрик расстояния в этом пространстве.
Примером использования объединений в пространства ЯХ является упомянутый выше алгоритм роя частиц со стереотипированием, в котором используется евклидова метрика близости особей.
Топологическое пространство ят . Поскольку метрика Мят (^г' ) близости особей я- я ■ /?
г' ] в пространстве ЯТ имеет смысл расстояния между соответствующими вершинами
графа соседства (Я), объединение особей в этом пространстве представляет собой подграф графа (Я), который определяет формула вида
К , } е итопКт (Я, а^ цКт (^ , ^ ) < а, sh , sh е Я, (14)
где: d- свободный параметр - радиус объединения иПопкт ' а) .
Динамические объединения
По общему правилу «динамичность» объединения особей UnionRa (S' может быть
дитопКа (S P)
обусловлена эволюцией алгоритма ( ' ' в процессе поиска вследствие наличия в
этом алгоритме свободных динамических параметров, а также следствием прямой зависимости алгоритма от номера итерации t. В процессе итераций П-алгоритма особи популяции S могут входить в и выходить из динамических объединений. Динамическое объединение особей в
пространстве RT использует, например, тасующий алгоритм лягушек SFL (Shuffled Frog-Leaping Algorithm), в котором объединения называются мемеплексами [19]. «Динамичность» объединений в этом алгоритме обусловлена использованием процедуры тасования (shuffling procedure) особей.
Характеристики объединений, основанные на характеристиках особей
Характеристики данного класса по аналогии с п. 4 разделяем на характеристики, использующие «самооценки» и внешние оценки.
Характеристики первого сорта представляют собой, например, минимальные, максимальные, средне взвешенные и среднеквадратичные отклонения указанных самооценок
особей данного объединения. Например, в качестве характеристики объединения особей может быть использована величина
= тах ((х ), у е [1: 1]
у
- лучшее значение Ф-функции, достигнутое особями объединения (алгоритм
Важные характеристики объединения могут быть получены на основе следов особей этого объединения. Так на этой основе может быть вычислена текущая скорость улучшения
качества объединения
( =(**(') "(гс - 1)
или аналогичная величина текущего ускорения
ар** (а/) = ) -о -а/))
а? ; А/ > 1 .
Характеристики, основанные на внешних оценках особей данного объединения ,
П С ( т
могут представлять собой оценки одной особи Л ^ 1 и оценки всех особей объединения
^]' 1 1. И в том и в другом случае в качестве характеристик объединения особей могут быть использованы минимальные, максимальные, средне взвешенные и среднеквадратичные отклонения указанных оценок. Пусть, например, известны привлекательности
>]к ' 11 е [1' Р всех особей объединения для особи $ ]к е . Тогда в качестве
искомой характеристики объединения может быть использована средняя
привлекательность особей этого объединения для особи е 1, равная
к ^ = к ^ Г1 .
N Ч е[1'
Характеристики объединения, не основанные на характеристиках особей
Примером характеристик такого сорта, которая широко используется для оценки качества популяции (субпопуляции) и управления ею, является характеристика разнообразия популяции (population variance). Меры разнообразия популяции S могут строиться на основе
оценки дисперсии соответствующих решений по каждому из \X\ измерений пространства поиска:
\S\( _ Y2 lSl
MX,j - xj J I X,
i, J
v (S) = ^-n- x.. = -=1
И , 1 И , 1е [1' IX].
В муравьином алгоритме COAC используются следующие характеристики особей, принадлежащих данной окрестности (региону): вектор координат наиболее активной феромонной точки региона; соответствующее количество феромона; наилучшее значение фитнесс-функции активных феромонных точек региона; ранг региона; общее число посещений муравьями данной окрестности [6].
6. Окрестности особи
Окрестностью особи е И в пространстве а е {Ф, Х, Т} (-окрестностью этой особи), называем область этого пространства, элементы которой в некотором смысле
близки к положению особи в этом пространстве. В П-алгоритмах обычно используют
окрестности в пространстве Рх. Мы, однако, рассматриваем также окрестности особи в
пространствах , .
Аналогично определяем окрестность объединения особей ^ И в пространстве
а е {Ф, Х, Т} ( Ра -окрестность этого объединения).
П-алгоритмы используют не единичные окрестности и объединения особей, но наборы этих сущностей, каждый из которых определяется правилами его создания (инициализации) и правилами эволюции (если эта сущность является динамической). Мощности этих наборов
являются обычно свободными параметрами П-алгоритма. Используемые П-алгоритмом окрестности могут пересекаться.
Окрестность особи в пространстве определяем в виде
Агеа^(,,,р) = АГгак\ (,,, р)с Яа, ае{ф, п
где: AAreaRа - алгоритм, определяющий окрестность; P - набор свободных
параметров, используемых алгоритмом AAreaR . Вектор параметров P обязательно включает в себя параметр или параметры, которые определяют размеры окрестности. Называем эти
параметры радиусами окрестности. Особь si называется центральной собью окрестности
AreaRa (s' P). В разных П-алгоритмах окрестность особи называют по-разному, например, в
муравьином алгоритме COAC RX -окрестность называется регионом поиска [6].
На этапе инициализации популяции осуществляется инициализация каждой из используемых П-алгоритмом окрестностей. Эта процедура включает в себя определение центральных особей окрестностей и, по общему правилу, определение значений свободных параметров окрестностей (вообще говоря, разных для разных окрестностей). Например, в том же муравьином алгоритме COAC координаты центров окрестностей являются случайными,
равномерно распределенными в области поиска ^X .
По общим правилам, радиусы окрестностей и другие свободные параметры алгоритма
4 Area.R„ г
A а могут быть детерминированными или случайными с заданными законами распределения, стационарными или динамическими (программными или адаптивными). Например, в том же алгоритме COAC эти радиусы есть случайные величины, равномерно распределенные в заданном интервале.
т^ лArea.R„
Если алгоритм A а является статическим, то соответствующую окрестность
Area„ (s, R) ^ AArea.Ra
Rax 1 7 называем статической окрестностью. В случае если алгоритм A эволюционирует в процессе поиска, например, вследствие изменения значений его
динамических свободных параметров, то окрестность Ra называется
динамической окрестностью. В П-алгоритме COAC, например, одной из причин эволюции окрестностей является адаптивность радиусов этих окрестностей [6].
Статические окрестности особи
Обычно , , - окрестности особи определяют с помощью правила вида
Агеакф > г) = {Ф е Я1 I Мкф (Ф > Ф) < г }, (15)
АтеаКх (8,, г) = {X е | ^ (X,, X) < г }, (16)
Агеакт (8, г) = Ц- е ^ 1 Мкт (8,88]) < г } (17)
соответственно, где: ^Ra - некоторая метрика близости в пространстве Ra ; r - радиус окрестности (свободный параметр). Алгоритму AreaRa (Si, P) здесь соответствует формула вида J .
тт - Area„ (s, r) Area„ (s, r) Area„ (s, r)
Центрами окрестностей Кфк ', Rxy ', f > называют
величину
ф( xt) , точку Xi и особь si соответственно. Центры окрестностей rea^ (Si, r) , AreaRx (Si, r) могут не ассоциироваться с текущим положением особи. Так, в некоторых П-
Area„ (X, P) X fQ
алгоритмах говорят об окрестности Rx v ' ' одной из точек x f Qx , например,
некоторой точки следа особи [1].
Фитнесс-пространство RФ. В качестве метрики
целесообразно использовать
функцию вида
Мцф (Ф, Ф) = abs (Ф -ф). (18)
В этом случае формула (15) определяет, очевидно, числовой отрезок в пространстве R . Вместо Ф-функции
ф( x)
может быть использована Ц-функция либо ее какие-либо
преобразования.
Пространство поиска Rx. Если метрика ^Rx построена на основе евклидова
расстояния между точками пространства Rx , то неравенство ^Rx (x' x) < r определяет
шар в этом пространстве с центром в точке xi. Таким образом, например, определена окрестность в светлячковом П-алгоритме GSO [18].
Примером статической RX -окрестность особи si является окрестность особи (делегата)
sj, j f [1' 1^1] в алгоритме стохастического диффузионного поиска SDS, которую определяет выражение
AreaRx (Si, b) = d(xt) = {x eQx | xj < Xj < x", j e [1: \x\]},
где:
xl = max ((x;- - 0,5 b (x+ - x-), x-), x" = min ((x;- + 0,5 b(x+ - x-), x+). b - свободный параметр [20].
Поскольку пространство Rx является многомерным, возможно определение Rx -окрестности особи si с помощью набора правил вида
(^ (xt, x) < ri) Л.... Л (^ (xt, x) < rx|)
где: Г\х\ - радиусы окрестности; (Xi' X) abs (Xi,J Xj); J E [1 • |XP.
Легко видеть, что так определенная окрестность AreaRx(Si'P) представляет собой параллелепипед
{(x,J - \j ) < Xj < (x,J + \j), J e [1 • |X|]} E RX'
Таким образом, например, определена окрестность особи si в муравьином алгоритме COAC [6].
Топологическое пространство RT . Приведем следующий пример. Пусть пространство
RT определяет топология соседства типа кольцо (граф соседства которой (S) представляет собой кольцо) [1] и задан радиус окрестности r, удовлетворяющий условию
2r < |S|. Тогда, например, окрестность AreaRT (Sl' r) образуют особи s2, s3,-',sr+1;
S|SI, SISI-1,''',s|s|-r+1, то есть все особи, расстояние которых в графе (S) от особи si не превышает r.
Динамические окрестности особи
Динамические окрестности особи порождают, прежде всего, их динамические радиусы.
В светлячковом алгоритме GSO, к примеру, используются динамические RX -окрестности особи, изменяющиеся вследствие изменения радиуса окрестности по правилу
r' = min (b0, max (ü, r + b (m - |Area(s )|))) e S
h
где: b0 - минимально допустимый радиус окрестности; m - желательное число соседей; b1 >ü - весовой коэффициент; \Area (si^ - число особей во множестве соседей, определяемом окрестностью Area(si) особи si [18].
Характеристики окрестности особи
В качестве характеристики окрестности особи могут быть, очевидно, использованы характеристики объединения особей, которое формирует данная окрестность (п.5). К характеристикам собственно окрестности особи можно отнести свободные параметры, которые определяют эту окрестность и, прежде всего, радиусы окрестности. Более содержательными являются характеристики, которые определяют форму окрестности, ее абсолютный и относительный объемы, асимметрию относительно центральной особи и т. д.
Если в фитнесс-пространстве RФ используется метрика вида (15), то характеристикой
Area„ (s, r) ~
окрестности г' ' является величина r. Эта же величина может быть использована в
качестве характеристики для метрики ^ф ' ^ = abs ^ и любых иных метрик, основанных на каких-либо преобразованиях Ф-функции.
Интернет-журнал «НАУКОВЕДЕНИЕ» Том 9, №6 (ноябрь - декабрь 2017)
https://naukovedenie.ru [email protected]
Более широкий набор характеристик можно предложить для окрестности особи в
пространстве поиска Ях . Так, при использовании любой из метрик , кроме радиуса или
радиусов, характеристикой окрестности ЛгеаКх (^' Р) является ее объем. Если окрестность отлична от шара, то в качестве ее характеристики может быть использовано отношение максимального и минимального размеров этой окрестности и т. д.
о Яг Лгеа„ (, г)
В топологическом пространстве ЯТ характеристикой окрестности Ят у '' '
может служить число особей популяции S, принадлежащих этой окрестности. Заметим, что это
число определяется не только радиусом окрестности г, но и используемой топологией
соседства особей.
Заключение
В силу ограниченности размера статьи, за ее пределами остались такие сущности, как след особи, каналы связей и «тоннели» между особями и их объединениями, события в популяции и другие. По той же причине в работе не представлены сущности мультипопуляционных алгоритмов, являющиеся специфичными для этих алгоритмов.
Обобщение и классификация П-алгоритмов требует еще рассмотрения их базовых операций, поисковых операторов, моделей особей, методов гибридизации, адаптации и метаоптимизации, а также некоторых других выразительных средств, используемых при синтезе П-алгоритмов.
ЛИТЕРАТУРА
1. Карпенко А. П. Современные алгоритмы поисковой оптимизации. Алгоритмы вдохновленные природой. М.: Издательство МГТУ им. Н. Э. Баумана, 2014. 446 с.
2. Bo Xing, Wen-Jing Gao. Innovative Computational Intelligence: A Rough Guide to 134 Clever Algorithms. - Springer International Publishing Switzerland, 2014. - 451 P.
3. Evolutionary Computation. 1. Basic Algorithms and Operators / Edited by Thomas B
a ck, David B. Fogel and Zbignew Michalevich. - Institute of Physics Publishing, Bristol and Philadelphia, 2004. - 339 P.
4. Evolutionary Computation. 2. Advanced Algorithms and Operators / Edited by Thomas
B a ck, David B. Fogel and Zbignew Michalevich. - Institute of Physics Publishing, Bristol and Philadelphia, 2004. - 339 P.
5. Swagatam Das, at. al. Bacterial Foraging Optimization Algorithm: Theoretical Foundations, Analysis, and Applications / Foundations of Computational Intelligence. Global Optimization. - Springer Berlin Heidelberg, 2009, Vol. 3. - P. 23-55.
6. Hu X. M., Zhang J., Li Y. Orthogonal methods based ant colony search for solving continuous optimization problems // Journal of Computer Science and Technology, 2008, No. 23(1). - P. 2-18.
7. Pedersen M. E. H., Chipperfield A. J. Simplifying Particle Swarm Optimization / Applied Soft Computing, 2010, Vol. 10, Issue 2, March 2010. - P. 618-628.
8. Geem Z. W. (Ed.). Music-Inspired Harmony Search Algorithm: Theory and Applications, Studies in Computational Intelligence. - Springer, 2009. - 206 P.
9. J. Dreo, P. Siarry. Continuous interacting ant colony algorithm based on dense heterarchy // Future Generation Computer Systems, 2004, No. 20, P. 841-856.
10. Yang, X.-S. Bat algorithm: literature review and applications. International Journal of Bio-Inspired Computation, 2013, No. 5. - P. 141-149.
11. Carmelo J. A. Bastos Filho, at.al. Fish School Search / Nature-Inspired Algorithms for Optimisation. - Springer-Verlag Berlin Heidelberg, 2009. - P. 261-277.
12. Курейчик В. М. Генетические алгоритмы и их применение. Научное издание. -Издательство ТРТУ, 2002. - 242 C.
13. Скобцов Ю. А., Федоров Е. Е. Метаэвристики: монография. - Донецк: Изд-во «Ноулидж» (Донецкое отделение), 2013. - 426 с.
14. Amilkar Puris, at al. Variable mesh optimization for continuous optimization problems // Soft Computing, 2012, Vol. 16, Issue 3. - P. 511-525.
15. Rashedi E., Nezamabadi H., Saryazdi S. GSA: A Gravitational Search Algorithm / Information Sciences, 2009, Vol. 179, Issue 13. - P. 2232-2248.
16. Pham D. T., Castellani M. A comparative study of the bees algorithm as a tool for function optimization // Cogent Engineering, 2015, Vol. 2(1). - P. 1-28.
17. Xin-She Yang. Firefly Algorithms for Multimodal Optimization / Lecture Notes in Computer Science. Stochastic Algorithms: Foundations and Applications. - SpringerVerlag Berlin Heidelberg, 2009. - P. 169-178.
18. Krishnanand K. N., Ghose D. Glowworm swarm optimization for simultaneous capture of multiple local optima of multimodal functions // Swarm Intelligence, 2009, Vol. 3, Issue 2. - P. 87-124.
19. Bozorg-Haddad O., Solgi M., Loaiciga H. A. Shuffled Frog-Leaping Algorithm / Meta-Heuristic and Evolutionary Algorithms for Engineering Optimization, Wiley Online Library, 2017, DOI: 10.1002/9781119387053.ch11.
20. Bishop J. M., Torr P. The Stochastic Search Network / Neural Networks for Images, Speech and Natural Language. - New York, Chapman & Hall. 1992. - P. 370-387.
Karpenk Anatoly Pavlovich
Bauman Moscow state technical university, Russia, Moscow
E-mail: [email protected]
The main essentials of population-based algorithms of global optimization. Systematization experience
Abstract. In population algorithms of global optimization, the number of candidates to a solution (individuals) is greater than one. At each of the iterations of the population algorithm, either all the individuals move, excluding, perhaps, only some of them (for example, "best" individuals) or a certain number of individuals exceeding one. In different publications, population algorithms (P-algorithms) of global optimization are called behavioral, intellectual, meta-heuristic, inspired nature, swarms, multiagents, etc.
We consider P-algorithms for global continuous optimization. In connection with the large and constantly increasing number of such algorithms, the problem of systematizing their expressive means is topical. The article analyzes one of the components of this problem - the problem of ordering the essentials of P-algorithms.
We represent the formulation of the problem of global continuous optimization and the general scheme of P-algorithms for its solution. We distinguish the following basic essentials: free parameters, the neighborhood space, the individual, the population and association of individuals, the area of the individual, and others. We reveal the essence of these essentials, present their characteristics, give variants of use in various P-algorithms.
Keywords: global optimization; population algorithm; meta-heuristic algorithm; individual; population; neighborhood space