Модифицированные механизмы перемещения роя частиц (агентов) в аффинном пространстве с целочисленными параметрами

Раздел III. Эволюционное моделирование и биоинспирированные алгоритмы

УДК 004.896 DOI 10.23683/2311-3103-2018-4-121-136

Б.К. Лебедев, О.Б. Лебедев, Е.О. Лебедева

МОДИФИЦИРОВАННЫЕ МЕХАНИЗМЫ ПЕРЕМЕЩЕНИЯ РОЯ ЧАСТИЦ (АГЕНТОВ) В АФФИННОМ ПРОСТРАНСТВЕ С ЦЕЛОЧИСЛЕННЫМИ

ПАРАМЕТРАМИ*

Предложена композитная архитектура многоагентной системы бионического поиска для решения комбинаторных задачи на основе интеграции роевого интеллекта и генетической эволюции. Интеграция метаэвристик популяционных алгоритмов обеспечивает более широкий обзор пространства поиска и более высокую вероятность локализации глобального экстремума задачи. Связующим звеном такого подхода является единая структура данных, описывающая в виде хромосомы решение задачи. В отличие от канонической парадигмы роя частиц гибридные алгоритмы в качестве моделей для представления решений используют широкий диапазон графовых структур (маршрут, дерево, двудольный граф, паросочетание, внутреннеустойчивое множество и т.д.). Такой подход является эффективным способом поиска рациональных решений для задач оптимизации, допускающих интерпретацию решений в виде различного рода графовых структур. В работе описывается модифицированная парадигма роя частиц, обеспечивающая, в отличие от канонического метода, возможность поиска решений в аффинном пространстве позиций с целочисленными значениями параметров. Рассмотрены механизмы перемещения частиц в аффинном пространстве для уменьшения веса аффинных связей. Описываются операторы направленной мутации, суть которых заключается в изменения целочисленных значений генов в хромосоме. Анализ существующих методов и алгоритмов решения комбинаторных задач показал, что в качестве структуры данных, несущих информацию о решении, чаще всего используются списки, фактически являющимися интерпретациями решений. Разработанные структуры пространства поиска и позиций позволяют отображать: Списки, элементы которых могут иметь два значения 0 или 1; Списки, содержащие фиксированные числа нулей и единиц; Списки с фиксированной суммой значений элементов; Списки, описывающие структуру бинарного дерева; Списки, задающие последовательность элементов. Разработанные структуры позиций (хромосом) ориентированы на интеграцию роевого интеллекта и генетической эволюции. В ряде алгоритмов качестве структуры данных используется кодированное представление списков. Переход от кодированного представления к списку производится с помощью декодера. Разработаны новые структуры хромосом для представления решений и методы декодирования. Эксперименты показали, что качество решений, полученных гибридным алгоритмом на 10-15 % лучше, чем у генетического и роевого алгоритмов. Вероятность получения глобального оптимума составила 0.9. Общая оценка временной сложности при любом подходе к гибридизации не превышает оценки временной сложности генетического алгоритма и лежит в пределах О(п2 ) - О(п3).

Рой частиц; генетическая эволюция; аффинное пространство; целочисленные параметры; структуры позиций; оператор направленной мутации; механизмы перемещения частиц; интеграция; гибридизация.

* Работа выполнена при финансовой поддержке РФФИ (проект № 18-07-00737).

B.K. Lebedev, O.B. Lebedev, E.O. Lebedeva

MODIFIED MECHANISMS OF MOVEMENT OF PARTICLE SWARM

(AGENTS) IN AFFINE SPACE WITH INTEGRATED PARAMETERS

The composite architecture of the multi-agent bionic search system is proposed to solve combinatorial problems based on integration of swarm intelligence and genetic evolution. Integration of metaheuristics ofpopulation algorithms provides a broader overview of the search space and a higher probability of localization of the problem's global extremum. The connecting link of this approach is a unified data structure describing the solution of the problem in the form of a chromosome. Unlike the canonical paradigm of a swarm ofparticles, hybrid algorithms use a wide range of graph structures (routes, tree, bipartite graph, matching, maximal independent set, etc.) as models for representing solutions. Such an approach is an effective way of finding rational solutions for optimization problems that allow the interpretation of solutions in the form of various graph structures. The paper describes a modified paradigm of particle swarm that provides, unlike the canonical method, the possibility of finding solutions in the affine space of positions with integer parameter values. Mechanisms for moving particles in affine space to reduce the weight of affine bonds are considered. Operators of directed mutation are described, the essence of which is to change the integer values ofgenes in the chromosome. An analysis of existing methods and algorithms for solving combinatorial problems has shown that the list of data that are actually interpretations of solutions is used most often as the data structure carrying information about the solution. The developed structures of search space and positions allow displaying: 1. Lists, the elements of which can have two values 0 or 1; 2. Lists containing fixed numbers of zeros and ones; 3. Lists with a fixed sum of the values of the elements; 4. Lists describing the structure of a binary tree; 5. Lists specifying the sequence of elements. The developed position structures (chromosomes) are focused on the integration of swarm intelligence and genetic evolution. In a number of algorithms, the coded representation of lists is used as the data structure. The transition from the encoded view to the list is performed using the decoder. New chromosome structures have been developed to represent solutions and decoding methods. Experiments have shown that the quality of the solutions obtained by the hybrid algorithm is 10 to 15 % better than the genetic and swarm algorithms. The probability of obtaining a global optimum is 0.9. The overall estimate of time complexity for any hybridization approach does not exceed the estimate of the time complexity of the genetic algorithm and lies within the range O (n2) - O (n3).

Particle swarm; genetic evolution; affine space; integer parameters; position structures; directed mutation operator; particle transport mechanisms; integration, hybridization.

Введение. В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений. Результатом непрекращающегося поиска наиболее эффективных методов стало использование бионических методов и алгоритмов интеллектуальной оптимизации, базирующихся на моделировании коллективного интеллекта [1, 2]. Анализ методов решения сложных прикладных задач показывает, что применение любого одного алгоритма оптимизации (как классического, так и популяционного) далеко не всегда приводит к успеху. В связи с этим, в настоящее время одним из основных путей повышения эффективности методов для решения задач глобального поиска является разработка гибридных алгоритмов [3]. В гибридных алгоритмах преимущества одного алгоритма могут компенсировать недостатки другого. Интеграция метаэвристик популяционных алгоритмов обеспечивает более широкий обзор пространства поиска и более высокую вероятность локализации глобального экстремума задачи [4].

Предлагается композитная архитектура многоагентной системы бионического поиска на основе роевого интеллекта и генетической эволюции [5]. Первый и наиболее простой подход к гибридизации заключается в следующем. С начала поиск решения осуществляется генетическим алгоритмом. Затем на основе популяции, полученной на последней итерации генетического поиска, формируется по-

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

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

Метод роя частиц (Particle Swarm Optimization, PSO) является методом стохастической оптимизации в чем-то схожим с эволюционными алгоритмами. Этот метод моделирует не эволюцию, а ройное и стайное поведение животных [6]. В отличие от популяционных методов PSO работает с одной статической популяцией, члены которой постепенно улучшаются с появлением информации о пространстве поиска. Данный метод представляет собой вид направленной мутации (idirected mutation). Решения в PSO мутируют в направлении наилучших найденных решений. Частицы никогда не умирают (т.к. нет селекции).

Рассмотрим каноническую парадигму метода PSO, разработанную Джеймсом Кеннеди (James Kennedy) и Расселом Эберхартом (Russell Eberhart) [7]. Метод PSO работает в в многомерных, вещественных, метрических пространствах. Многомерное пространство поиска населяется роем частиц. Каждой частице соответствует некоторое решение. Основу поведения роя P={pi\i=1,2,... ,n} частиц составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Каждая частица pi: размещается в точке (позиции) xi многомерного пространства поиска, связана и может взаимодействовать со всеми частицами роя, она тяготеет к лучшему решению роя. Процесс поиска решений итерационный и заключается в перемещении частиц на каждой итерации в новые позиции.

По аналогии с эволюционными стратегиями, рой частиц можно трактовать как популяцию, а частицу как индивида. Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска с методами роя частиц [8]. Связующим звеном такого подхода является структура данных, описывающая решение задачи. В генетических алгоритмах генотип решения представляется в виде хромосомы. При решении комбинаторных задач гены в хромосомах имеют, как правило, целочисленные значения. [5]. Положение частицы в пространстве поиска (позиция) является эквивалентом генотипа в эволюционных алгоритмах. Если в качестве описания состояния частицы используется хромосома, то число параметров, определяющих положение частицы в пространстве решений должно быть равно числу генов в хромосоме. Значение каждого гена откладывается на соответствующей оси пространства решений. В этом случае возникают некоторые требования к структуре хромосомы, значениям генов, операторам перемещения частиц и пространству поиска.

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

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

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

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

Это не позволяет напрямую использовать каноническую парадигму роя частиц (например, задача направленной мутации одного дерева в направлении другого, с формальной точки зрения, является весьма нетривиальной).

В связи с этим актуальной является разработка модернизированной структуры пространства поиска, структуры данных для представления решений и позиций, модернизированных механизмов перемещения частиц в пространстве поиска. Исследования показали, что структуры данных для представления позиций и механизмы перемещения частиц в пространстве поиска связаны, но зависят от структуры данных для представления интерпретаций решений.

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

Аффинное пространство поиска. Пусть имеется линейное векторное пространство (ЛВП), элементами которого являются «-мерные точки (позиции). Каждым любым двум точкам р и д этого пространства однозначным образом сопоставим единственную упорядоченную пару этих точек, которую в дальнейшем будем называть геометрическим вектором (вектором). р,д£У(р,д) - геометрический вектор (упорядоченная пара).

Совокупность всех точек ЛВП, пополненная геометрическими векторами, называют точечно-векторным или аффинным пространством. Аффинное пространство является «-мерным, если соответствующее ЛВП так же является «-мерным.

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

Специальная релаксационная процедура перехода зависит от вида структуры данных (хромосомы): вектор, матрица, дерево и их совокупности, являющейся интерпретацией решений.

Лучшие частицы с точки зрения целевой функции объявляется «центром притяжения». Векторы перемещения всех частиц в аффинном пространстве устремляются к этим центрам.

Переход возможен с учетом степени близости к одному базовому элементу либо к группе соседних элементов и с учетом вероятности перехода в новое состояние.

Для того, чтобы избежать при описании популяции (роя) путаницы будем в дальнейшем каждую хромосому, описывающую i-е решение популяции обозначать как Hi(t)={gil\l=1,2,.,n}. Причем каждая Hi(t) имеет описанную выше структуру. В нашем случае позиция xfi) соответствует решению, задаваемому хромосомой H(t), т.е. x(t) = H,(t)={g,, \l=1,2,... ,n}. Аналогично x'/t) = H*(t)={g*a \l=1,2, ...,n}, x*(t) = Н (t) ={g l\l=1,2, ...,n}. Число осей в пространстве решений равно числу n генов в хромосомах Hi(t), Hi (t), Hi (t) Точками отсчета на каждой оси l являются целочисленные значения генов.

Поиск методом роя частиц. В эвристических алгоритмах роевого интеллекта многомерное пространство поиска населяется роем частиц [7]. В процессе поиска методом роя частиц каждая частица перемещается в новую позицию. Новая позиция в канонической парадигме роя частиц определяется как

Xi

где vi(t+1) скорость перемещения частицы из позиции xi(t) в позицию xi(t+1). Начальное состояние определяется, как xi(0), vi(0) [1].

Приведенная формула представлена в векторной форме. Для отдельного измерения j пространства поиска формула примет вид

xr]

где xj(t) - позиция частицы pi в измерении j, Vj(t+1) - скорость частицы pi измерении j.

Введем обозначения:

♦ xi(t) - текущая позиция частицы, f(t) значение целевой функции частицы pi в позиции xi(t);

♦ x i(t) - лучшая позиция частицы pi, которую она посещала с начала первой итерации, а f (t) - значение целевой функции частицы pt в этой позиции (лучшее значение с момента старта жизненного цикла частицы pi);

♦ x (t) - позиция частицы роя с лучшим значением целевой функции f (t) среди частиц роя в момент времени t.

Тогда скорость частицы pi на шаге (t+1) в измерении j вычисляется как

Vj

где rnd(0,1) - случайное число на интервале (0,1), (w, k1 , k2 - некоторые коэффициенты.

Скорость vi(t+1) рассматривается как средство изменения решения.

В отличие от канонического метода роя частиц, в нашем случае скорость vi(t+1) не может быть представленной в виде аналитического выражения с вещественными значениями переменных. Если в качестве позиции используется хромосома, то число параметров, определяющих положение частицы в пространстве решений (позицию) должно быть равно числу генов в хромосоме. Значение каждого гена откладывается на соответствующей оси пространства решений. В этом случае возникают некоторые требования к структуре хромосомы и значениям генов. Значения генов должны быть дискретными и независимыми друг от друга. В качестве аналога скорости vi(t+1) выступает оператор направленной мутации (ОНМ), суть которого заключается в изменения целочисленных значений генов в хромосоме H(t). Перемещение частицы pi в новую позицию означает переход от хромосомы Hi(t) к новой - H(t+1) c новыми целочисленными значениями генов gil, полученными после применения ОНМ.

По аналогии с каноническим методом роя частиц позицию х (У будем называть когнитивным центром притяжения, а позицию х (0 - социальным центром притяжения. Когнитивный центр выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы. Благодаря социальному центру частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами.

Как уже указывалось выше, позиции задаются хромосомами. Позициям х(0, х(), х ¡(1) хс() соответствуют хромосомы Н (()=^ (Щ1=1, 2, ..., «},

Щ1)=ШЩ=1,2,-, «}, Н'^)={^()\1=1, 2, ..., «} Н'(¡)={^сй(()\1=1, 2, ..., «}.

В качестве оценки степени близости между двумя позициями х() и х() будем использовать величину расстояния (вес аффинной связи) между хромосомами Н() и Н().

Целью перемещения хромосомы Н() в направлении хромосомы Н() является сокращении расстояния между ними.

Для учета одновременного тяготения частицы р, к лучшей к позиции х (0, среди частиц роя в момент времени I, и к лучшей позиции х () частицы р, которую она посещала с начала первой итерации, формируется виртуальный центр (позиция) притяжения хс() частицы р¡. Формирование виртуальной позиции хс() осуществляется путем применения процедуры виртуального перемещения из позиции х ¡ф в виртуальную позицию хс() по направлению к позиции х . После определения центра притяжения хс() частица р, перемещается в направлении виртуальной позиции хс() из позиции х() в позицию х^+1).

После перемещения частицы р, в новую позицию х^+1) виртуальная позиция хс() исключается.

Локальная цель перемещения частицы р, - достижение ею позиции с наилучшим значением целевой функции. Глобальная цель роя частиц - формирование оптимального решения задачи.

Механизмы перемещения роя частиц в аффинном пространстве. Рассмотрим модификации аффинного пространства поиска, структуры позиций и механизмы перемещения частиц для различных типов списков.

1. Списки, элементы которых могут иметь два значения 0 или 1.

В ряде задач решение представляется в виде совокупности фрагментов, каждый из которых может быть реализован в одном из двух вариантов. В этом случае решение полностью определяется списком, элементы которого могут иметь два значения 0 или 1.

Пространство поиска включает число осей равное числу элементов списка (число генов в хромосоме). Каждой позиции элемента в списке соответствует ось (номер оси). На каждой оси X, две точки отсчета - х,1= 0, х2= 1.

Хромосома, описывающая решение, имеет следующую структуру: Н(0=^ц(0\1=1, 2, ..., «}. Каждый ген gй(f) несет информацию о варианте фрагмента. Если gi1=1, то выбран первый вариант соответствующего фрагмента. Если gil(f) =0, то выбран второй вариант соответствующего фрагмента.

Например: Список М= <1,0,0,1,0 ,0, 1> представляется в виде позиции в пространстве поиска

Н={x12, х21 х3Ь x42, х51 х6Ь х?2}.

Подобные списки лежат в основе интерпретаций решений в задачах символьной регрессии [9], трассировки [10] и в ряде других задач.

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

Введем определение лотереи. Простой лотереей Ь(у],р,у2) назовем вероятностное событие, имеющее два возможных исхода у] и у2, вероятности наступления которых обозначим соответственно через р и (1-р).

Для формирования новой позиции Н^+1) (позиции х(0+]) последовательно просматриваются (начиная с первого) локусы хромосом Н(() и Н() и сравниваются соответствующие им гены.

Если на шаге I значения генов равны, т.е.

ga

Если же gil(t) не равно gz¡(t), то гену gil(t+]) присваивается значение, определяемое лотереей Ь, т.е.

gl¡

Параметр р зависит от расстояния Хемминга между позициями Н(() и Н() и определяется как

р=а-З^/п,

где а - коэффициент, п-число генов в хромосоме. Таким образом, чем больше расстояния Хемминга между позициями Н() и Н(), тем больше вероятность, что значением gl¡(t+]) будет значение gz¡(t).

Пример. Пусть Н/0 =<1,0,0,1,1,0,0,0,1>, Н,(Г) =<0,1,0,0,1,0,1,0,0>.

Значения генов не совпадают в 1,2,4,7,9 локусах, 8^(^=5. Пусть с некоторой вероятностью в Н() мутировали 2, 4 и 7 гены. В результате направленной мутации

Н^+1) =<0,0,0,1,1,0,0,0,0>. Б^+])=2.

2. Списки, содержащие фиксированные числа нулей и единиц.

Для некоторых задач решение полностью определяется списком М = <0, ], ],

0, 0, ]>, составленным из нулей и единиц с фиксированным числом нулей - п0 и числом единиц - п]. С помощью списка М можно для некоторое множество А, мощность которого IА | = п0 + п] , разбить на два подмножества А] и А2 такие, что

\А] | = п0, а|А21 = п].

Подобные списки лежат в используются как интерпретации решений в задачах построения кратчайших связывающих сетей [11], разбиения [12], кластеризации [13] и др.

Для кодирования списка М используется опорный список нулей О=(о{ 11=1, 2, ..., п0}. На базе опорного списка нулей О формируется множество позиций Б=(й\1=1, 2, ..., (п0 + ])} (рис. 1), в которых могут располагаться единицы, образующие совместно с нулями список М.

Если число нулей п0ь то число позиций списка Б равно п0+ ](см. рис. 1).

Каждая из п] единиц может быть расположена в любой из позиций е Б.

Допустимому варианту распределения единиц по позициям Б опорного списка нулей, соответствует список М. Распределение единиц по позициям опорного списка нулей задается с помощью списка Q, размер которого равен п], а значением элемента списка Q является число, лежащее в диапазоне от ] до (п0 + ]). Таким образом, список Q является кодом (интерпретацией) списка М.

Например:

Пусть п] = 4, п0 = 4, Q = <4, 3, 3, 1>. Тогда Б=< 0 , 0 , 0 , 0 >. М* = < 1, 0, 0, 1,

1, 0, 1, 0> (см. рис. 1).

=>10011010

1 2 3 4 5

Рис. 1. Декодирование списка Q

Отметим, что порядок взаимного расположения элементов в списке Q не имеет значения, важно только, какие значения имеют элементы списка Q.

Хромосома, описывающая решение, имеет следующую структуру: Hi(t)={gu(t)\l=1, 2, ..., n1}. Значение гена gil(t) равно значению соответствующего элемента списка Q.

Пространство поиска включает число осей, равное числу элементов списка Q (числу генов в хромосоме H(t)) и соответственно числу единиц в списке М. Каждой позиции элемента в списке Q соответствует ось (номер оси). Точками отсчета на каждой оси Xt являются целые числа в интервале от 1 до (n0 +1).

Например:

Пусть список Q = <4, 3, 3, 1> является интерпретацией (кодом) списка

М =< 1 0 0 1 1 0 1 0 >.

Список Q представляется в виде позиции H={x14, x23, x33, x41}.

Перемещение частицы pt из позиции H(t) в позицию H(t+1) под воздействием притяжения к позиции Hz(t) осуществляется путем применения оператора направленной мутации (ОНМ) к Н/t) следующим образом.

В качестве оценки степени близости между двумя позициями H(t) и Hz(t) будем использовать величину Siz расстояния между хромосомами Н() и Hz(t):

Суть процедуры перемещения, реализуемой ОНМ, заключается в изменения разности между значениями каждой пары генов g, gzl) двух хромосом, l= 1, 2, ..., n.

Последовательно просматриваются (начиная с первого) локусы хромосом Hi(t) и Hz(t), и сравниваются соответствующие им гены. Если в ходе последовательного просмотра локусов в текущем локусе l выпадает с вероятностью P событие «мутация», то ген gil(t)eHi(f) мутирует.

Пусть Riz(t) - число локусов в хромосомах H(t) и Hz(t), в которых значения генов gil(t) eHfi) и gzl eHz(t) не совпадают.

Вероятность мутации Р зависит от числа Riz(t) несовпадений между позициями, и определяется следующим образом:

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

Простой лотереей Ь(1, р, 0) назовем вероятностное событие, имеющее два возможных исхода 1 и 0, вероятности наступления которых обозначим соответственно через р и (1-р). Другими словами с вероятностью р лотерея Ь(1, р, 0)=1, а с вероятностью (1-р) лотерея Ь(1, р, у2)= 0, Значения генов новой позиции частицы р, в результате мутации определяются как:

n

P=a-Riz(t) / n,

g,(t+1)= ga(t), если fe(t) = gzl(t));

gl¡(t+])= gl¡(t)+ Ь(1, р, 0), если <gг¡(t));

gl¡

Пример. Пусть, п] = 5, п0 = 7, Н(() =<1,2,4,8,8>, М(() =<1,0,1,0,0,1,0,0,0,0,1,1>,

Н/0 =<3,3,4,7,8>, М()=<0,0,1,1,0,1,0,0,0,1,0,1>, 8()=4.

Пусть с некоторой вероятностью в Н() мутировали гены в 1 и 4 локусах. В результате направленной мутации

Н^+1) =<2,2,4,7,8>, ЫА+]) =<0,1,1,0,0,1,0,0,0,1,0,1>, 8(Г+])=2.

3. Списки, с фиксированной суммой значений элементов.

Пусть имеется список М=(ш^=1,2,...,пт}, с фиксированной суммой значений элементов W=YJj(Шj).

Подобные списки лежат в основе интерпретаций решений в задачах покрытия [14], распределения ресурсов [15, 16] и др.

Хромосома H=(gl\¡=1,2,..., (пт -1)} представляет собой совокупность (пт - 1)} генов gl, значения которых могут изменяться в пределах диапазона, определяемого параметром W:

g¡ еН, 0<^<8.

Процесс перехода от хромосомы Н к списку осуществляется следующим образом. Сначала гены упорядочиваются по возрастанию их значений, то есть, если gl еН и gl+] еН, то gl+]¿gl . Значения gl в пределах от 0 до W рассматриваются в качестве координат опорных точек на отрезке длиной W (от 0 до W), разбивающих отрезок на интервалы. Длина интервала между двумя соседними опорными точками и есть величина соответствующего элемента Шj списка М, при этом сумма значений элементов списка М равна W.

Например.

Пусть имеется хромосома Н={8, 12, 16 , 25}, 8=30. На отрезке длиной W наносятся опорные точки с координатами <0, 8, 12, 16, 25, 30>, разбивающими отрезок на интервалы длиной <8, 4, 4, 9, 5>. Эти значения являются значениями списка М.

Пространство поиска включает число осей равное числу генов в хромосоме Н(?). Каждому гену в хромосоме Н() соответствует ось (номер оси). Точками отсчета на каждой оси Х1 являются целые числа в интервале от 0 до W.

Механизмы перемещение частиц в пространстве поиска полностью совпадают с описанными выше механизмами перемещение частиц - списков, содержащих фиксированные числа нулей и единиц.

4. Списки, описывающие структуру бинарного дерева.

Структуру бинарного дерева можно задать, используя "польскую запись" [17] - список М, элементы которого могут иметь два значения 0 или 1, где элемент типа 0 соответствует листьям дерева, а элемент типа 1 - соответствует внутренним вершинам дерева (точкам ветвления). Список М, содержит фиксированное число нулей и единиц. Обозначим через п0 - число элементов "польской записи" типа 0, а через п] - число элементов типа 1. Для "польской записи", описывающей бинарное дерево, всегда выполняется равенство п0=п]+1, п0+ п]= \М\.

"Польская запись" формируется аналогично рассмотренному выше списку, содержащему фиксированное число нулей и единиц. На первом этапе формируется опорный список нулей О. Пронумеруем множество позиций Б=<Ь1\1=1,2, ...,п]>, размещенных между элементами 0 в опорном списке нулей О, как показано на рис. 2.

00 1 0 2 0 3 0 4 0...«-Ц 0 т Рис. 2. Формирование множества позиций в опорном списке нулей

Допустимым вариантам распределения «1 единиц по позициям В опорного списка нулей О соответствуют всевозможные списки М. Распределение единиц по позициям множества В задается с помощью списка Q=<qi\i=1,2, ... ,«1>. д,- номер, в диапазоне от /' до «1, позиции в списке В, в которую помещается единица. Таким образом, список Q является кодом (интерпретацией) списка М.

Отметим основные свойства "польской записи". На размещение единиц в позициях опорного множества нулей накладываются ограничения.

Если в "польской записи" провести справа от элемента 1 сечение, то слева от сечения число элементов типа 0 больше числа элементов типа 1 , по крайней мере, на единицу.

Первый элемент типа 1 в "польской записи" (при просмотре слева направо) может появиться только после двух элементов типа 0.

Максимальное число элементов типа 1, которое может появиться в позиции, равно номеру позиции. Если польское выражение соответствует вышеперечисленным свойствам, то ему соответствует бинарное дерево.

Процесс восстановления дерева по польскому выражению достаточно прост. Последовательно слева направо просматривается "польская запись", и отыскиваются элементы типа 1, соответствующие внутренним вершинам дерева. Каждая такая вершина объединяет два ближайших подграфа, расположенных в "польской записи" слева от элемента типа 1 и образованных на предыдущих шагах.

Подобные списки лежат в основе интерпретаций решений в задачах планирования [17, 18].

"Польской записи" М=<0 0 1 0 0 0 1 1 1> соответствует дерево, представленное на рис. 3.

Рис. 3. Дерево, соответствующее "польской записи" М=<0 0 1 0 0 0 1 1 1>

Список Q представляется в виде хромосомы Н=^^=1,2,..,«]}. В результате декодирования хромосомы Н строится "польская запись". Число генов в хромосоме равно «1, т.е. числу единиц в "польской записи", «1- Значение гена gi колеблется в пределах от /' до «1 , т.е. . Значение гена указывает номер позиции в "польской записи", в которую необходимо поместить единицу.

Например: пусть для «0=5, «1=4 имеется хромосома Н=<2,2,4,4>. "Польская запись", соответствующая этой хромосоме, имеет вид: М=<0 0 0 1 1 0 0 1 1 >.

Пространство поиска включает число осей равное числу элементов списка Q (число генов в хромосоме Н()). Число элементов списка Q равно числу единиц в списке М. Каждой позиции элемента в списке Q соответствует ось (номер оси). Точками отсчета на каждой оси X, являются целые числа в интервале от /' до «1.

Например:

Пусть п0=5, п]=4. Х]=<х]], х]2, х]3, х]4>=<1, 2, 3, 4>,Х2=<х2], х22, х23> = <2, 3, 4>, Х3=< х3], х32>=< 3, 4>, Х4=< х4]>=<4>.

Пусть список Q = <1,3,3,4> является кодом спискаМ =< 0 0 1 0 0 1 1 0 1>.

Список Q представляется в виде позиции Н={х]], х22, х3], х4]}.

Механизмы перемещение частиц в пространстве поиска полностью совпадают с описанными выше механизмами перемещение частиц - списков, содержащих фиксированные числа нулей и единиц.

5. Списки, задающие последовательность элементов.

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

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

Хромосома, описывающая решение, имеет следующую структуру: Н^)=^ц^)\1=1, 2, ..., п}. Значение гена gil(t) равно значению соответствующего элемента списка М.

Пусть в качестве базового списка используется список Б=<1, 7, 21, 4, 8, 18>. \Б\ =6. Пространство поиска X включает 6 осей: X] - X?, в соответствии с числом элементов списка. Каждая ось соответствует позиции списка. Точками отсчета ху на оси

Х1 =< х1у\]=1,2,.. ,,6> являются упорядоченные значения элементов списка В, X =< хи= 1, х2=7, х3=21, х14= 4, х15= 8, х16=18>= < 1, 7, 21, 4, 8, 18>.

Например: Список Mi = <21,8, 7, 1, 8, 4, 18> представляется в виде позиции

Н=(хп, х25, х32, х4], х54, х66,}.

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

Суть процедуры перемещения, реализуемой ОНМ, заключается в изменения взаимного расположения элементов в списке. Частица р1 перемещается из позиции Н() в направлении позиции в новую позицию Н^+1) с новым взаимным расположением элементов в списке.

Введем характеристику, отражающую степень различия между позициями Н() и Н(). Для этого произведем сравнение взаимного расположения элементов у всех возможных пар в сравниваемых позициях Н() и Н(). Пусть 8^) - число пар, у которых взаимное расположение элементов в сравниваемых позициях Н() и Н() не совпадает.

Чем больше 8^(0, тем больше различие между Н() и Н(), и наоборот, чем меньше 8^), тем различие меньше. Тяготение частицы р1 в позиции Н() к лучшей позиции Н(), выражается в стремлении уменьшения различия между Н(^ и Н(), то есть уменьшения показателя 8^). Будем считать, чем меньше различие между Н() и Н(), тем ближе позиция Н(), к лучшей позиции Н().

Модификация позиции Hi(t), то есть переход к позиции Hi(t+1), производится путём выборочных групповых парных перестановок соседних элементов в позиции Hi(t). Модификация позиции Hi(t) выполняется за два такта.

На первом такте формируется множество D1 непересекающихся пар элементов в позиции Hi(t) таких у которых индекс l-нечетное число: P1=((gn(t), gn+1(t))\l=1,3,5,...}. Подсчитывается число пар Siz(t) в множестве D1, у которых взаимное расположение элементов пары в позиции Hi(t) не совпадает с взаимным расположением этих элементов в позиции Hz(t). Принимается решение о перестановке элементов каждой такой пары в позиции Hi(t), вычисляются показатели Sik(t) и осуществляется модификация Hi(t).

На втором такте формируется множество D2 непересекающихся пар элементов в позиции H(t) у которых индекс l - четное число: D2=((ga(t), gil+1(t))\l=2,4,6,...}. Подсчитывается число пар Siz(t) в множестве D2, у которых взаимное расположение элементов пары в позиции Hi(t) не совпадает с взаимным расположением этих элементов в позиции Hz(t). Принимается решение о перестановке элементов каждой такой пары в позиции Hi(t), вычисляются показатели Sk(t) и формируется позиция H/t+1).

Перестановка выполняется с вероятностью

Р=а- Siz(t) / n,

где n - число пар в множестве D.

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

Пример работы процедуры перемещения.

Пусть позиции Hi(t) и Н/^имеют вид:

Hz(t)=(1,10,2,3,8}, H(t)=(1,3,2,10,8}.

На первом такте формируется множество пар D1=(1,3), (2,10). Взаимное расположение элементов пары (1,3) в Hi(t) и Hz(t) совпадают, пары (2,10) - нет. Отсюда Siz(t)=1. Переставляются в Hi(t) местами элементы пары (2,10). Hi(t+1)=(1,3,10,2,8}.

На втором такте формируется множество пар D2=(3,10), (2,8). Взаимное расположение элементов пары (10,8) в Hi(t+1) и Hz(t) совпадают, пары (2,10)- нет. Отсюда Siz(t)=1. Переставляются в Hi(t+1)местaми элементы пары (3,2). Hi(t+2) = (1,3,10,2,8}.

Экспериментальные исследования. На основе рассмотренной гибридной парадигмы разработана программа разбиения ГЕН-РОЙ РАЗБ. Для написания программы ГЕН-РОЙ РАЗБ был использован язык C++ в среде Microsoft Visual Studio 2010 для ОС Windows.Тестирование проводилось на ЭВМ с процессором Intel Core 2 Duo T6600 2200 МГц, 4 Гб ОЗУ под управлением операционной системы Windows 7.

Для проведения экспериментов программы ГЕН-РОЙ РАЗБ была использована процедура синтеза контрольных примеров с известным оптимумом Faai по аналогии с известным методом BEKU (Partitioning Examples with Tight Upper Bound of Optimal Solution) [20]. Оценкой качества служит величина F^/F - «степень качества», где F - оценка полученного решения.

На основе результатов экспериментальных исследований была построена средняя зависимость степени качества от числа итераций (рис. 4).

Fonm/F

20 40 60 80 100 130 150

Рис. 4. Зависимость степени качества алгоритма ГЕН-РОЙ РАЗБ от числа

итераций

Исследования показали, что число итераций, при которых алгоритм находил лучшее решение лежит в пределах 120-135. Алгоритм сходится в среднем на 130 итерации. В результате проведенных исследований установлено, что качество решений у гибридного алгоритма на 10-12 % лучше качества решений генетического и роевого алгоритмов по отдельности. Эксперименты показали, что увеличение популяции М больше 120 нецелесообразно, т.к. это не приводит к заметному изменению качества. Вероятность получения глобального оптимума составила 0,96. В среднем результат, полученный предложенным алгоритмом на 130-й итерации, отличается от точного на 0.15 процента. В среднем запуск программы обеспечивает нахождения решения, отличающегося от оптимального менее, чем на 2 %. Временная сложность алгоритма при фиксированных значениях M - размер популяции и T - число итераций лежит в пределах О(п). Общая оценка временной сложности лежит в пределах 0(n2)- 0(n3).

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

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

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

Разработанные структуры пространства поиска и позиций позволяют отображать: Списки, элементы которых могут иметь два значения 0 или 1; 2. Списки, содержащие фиксированные числа нулей и единиц; Списки с фиксированной суммой значений элементов; Списки, описывающие структуру бинарного дерева;

Списки, задающие последовательность элементов. Эксперименты показали, что качество решений, полученных гибридным алгоритмом на 10-15 % лучше, чем у генетического и роевого алгоритмов. Вероятность получения глобального оптимума составила 0.9. Общая оценка временной сложности при любом подходе к гибридизации не превышает оценки временной сложности генетического алгоритма и лежит в пределах 0(n2) - 0(n3).

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой: учеб. пособие. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. - 448 с.

2. Wang X. Hybrid nature-inspired computation method for optimization: Doctoral Dissertation.

- Helsinki University of Technology, TKK Dissertations, Espoo 2009. - 161 p.

3. Raidl G.R. A Unified View On Hybrid Metaheuristics. In: Lecture Notes In Computer Science, 2006. - Springer, Verlag. - P. 1-12.

4. Лебедев Б.К., Лебедев О.Б. Распределение ресурсов на основе гибридных моделей роевого интеллекта // Научно-технический вестник информационных технологий, механики и оптики. - 2017. - Т. 17, № 6. - С. 1063-1073.

5. Лебедев Б.К., Лебедев О.Б., Лебедев В.Б. Гибридизация роевого интеллекта и генетической эволюции на примере размещения // Программные продукты, системы и алгоритмы. - 2017. - № 4.

6. Clerc M. Particle Swarm Optimization. ISTE, London, UK, 2006.

7. Kennedy J., Eberhart R. C. Particle swarm optimization // In Proceedings of IEEE International Conference on Neural Networks. - 1995. - P. 1942-1948.

8. Blum C., Roli A. Metaheuristics in combinatorial optimization: overview and conceptual comparison // ACM computing surveys. - 2003. - No. 35. - P. 268-308.

9. Лебедев Б.К., Лебедев О.Б. Гибридный биоинспирированный алгоритм решения задачи символьной регрессии // Известия ЮФУ. Технические науки. - 2015. - № 6 (167).

- С. 28-41.

10. Емельянов В.В, Курейчик В.М, Курейчик В.В. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003. - 412 с.

11. Лебедев В.Б. Построение кратчайших связывающих сетей на основе роевого интеллекта // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 37-44.

12. Лебедев Б.К., Лебедев О.Б., Лебедева Е.М. Меметический алгоритм разбиения // Вестник Ростовского государственного университета путей сообщения. - 2017. - № 2 (62).

- С. 136-145.

13. Лебедев Б.К., Лебедев О.Б., Лебедева Е.М. Разбиение на классы методом альтернативной коллективной адаптации статья // Известия ЮФУ. Технические науки. - 2016. - № 7 (180). - С. 89-101.

14. Курейчик, В.В., Полупанов А.А. Обзор эволюционных методов оптимизации на основе роевого интеллекта // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 7-12.

15. Sha D.Y. and Cheng-Yu. A hybrid particle swarm optimization for job shop scheduling problem // Computers & Industrial Engineering. - 2006. - P. 791-808.

16. Лебедев Б.К., Лебедев О.Б., Лебедева Е.М. Распределение ресурсов на основе гибридных моделей роевого интеллекта // Научно-технический вестник информационных технологий, механики и оптики. - 2017. - Т. 17, № 6. - С. 1063-1073.

17. Лебедев Б.К., Лебедев О.Б. Лебедева Е.М..Модернизированный муравьиный алгоритм синтеза идентифицированного дерева гильотинного разреза при планировании СБИС // Известия ЮФУ. Технические науки. - 2017. - № 7 (192). - С. 15-28.

18. Гладков Л.А., Курейчик В.В., Курейчик В.М., Сороколетов П.В. Биоинспирированные методы в оптимизации: монография. - М.: Физматлит, 2009. - 384 с.

19. Лебедев Б.К., Лебедев О.Б. Лебедева Е.О. Роевой алгоритм планирования работы многопроцессорных вычислительных систем // Инженерный вестник Дона. - 2017. - № 3.

20. Cong J., Romesis M., and Xie M. Optimality, Scalability and Stability Study of Partitioning and Placement Algorithms // Proc. of the International Symposium on Physical Design.

- Monterey, CA, April 2003. - P. 88-94.

REFERENCES

1. Karpenko A.P. Sovremennye algoritmy poiskovoy optimizatsii. Algoritmy, vdokhnovlennye prirodoy: ucheb. posobie [Modern algorithms of search optimization. Algorithms inspired by nature: a tutorial]. Moscow: Izd-vo MGTU im. N.E. Baumana, 2014, 448 p.

2. Wang X. Hybrid nature-inspired computation method for optimization: Doctoral Dissertation. Helsinki University of Technology, TKK Dissertations, Espoo 2009, 161 p.

3. Raidl G.R. A Unified View on Hybrid Metaheuristics. In: Lecture Notes In Computer Science, 2006. Springer, Verlag, pp. 1-12.

4. Lebedev B.K., Lebedev O.B. Raspredelenie resursov na osnove gibridnykh modeley roevogo intellekta [Distribution of resources on the basis of hybrid models of swarm intelligence], Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki [Scientific and Technical Herald of Information Technologies, Mechanics and Optics], 2017, Vol. 17, No. 6, pp. 1063-1073.

5. Lebedev B.K., Lebedev O.B., Lebedev V.B. Gibridizatsiya roevogo intellekta i geneticheskoy evolyutsii na primere razmeshcheniya [Hybridization of swarm intelligence and genetic evolution using the example of placement], Programmnye produkty, sistemy i algoritmy [Software products, systems and algorithms], 2017, No. 4.

6. Clerc M. Particle Swarm Optimization. ISTE, London, UK, 2006.

7. Kennedy J., Eberhart R.C. Particle swarm optimization, In Proceedings of IEEE International Conference on Neural Networks, 1995, pp. 1942-1948.

8. Blum C., Roli A. Metaheuristics in combinatorial optimization: overview and conceptual comparison, ACM computing surveys, 2003, No. 35, pp. 268-308.

9. Lebedev B.K., Lebedev O.B. Gibridnyy bioinspirirovannyy algoritm resheniya zadachi simvol'noy regressii [Hybrid bioinspiral algorithm for solving the problem of symbolic regression], Izvestiya YUFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2015, No. 6 (167), pp. 28-41.

10. Emel'yanov V.V, Kureychik V.M, Kureychik V.V. Teoriya i praktika evolyutsionnogo modelirovaniya [Theory and practice of evolutionary modeling]. Moscow: Fizmatlit, 2003, 412 p.

11. Lebedev V.B. Postroenie kratchayshikh svyazyvayushchikh setey na osnove roevogo intellekta [Construction of the shortest connecting networks on the basis of swarm intelligence], Izvestiya YUFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2011, No. 7 (120), pp. 37-44.

12. Lebedev B.K., Lebedev O.B., Lebedeva E.M. Memeticheskiy algoritm razbieniya [The Memetic Algorithm of Partitioning], Vestnik Rostovskogo gosudarstvennogo universiteta putey soobshcheniya [Bulletin ofthe Rostov State Transport University], 2017,No. (62), pp. 136-145.

13. Lebedev B.K., Lebedev O.B., Lebedeva E.M. Razbienie na klassy metodom al'ternativnoy kollektivnoy adaptatsii stat'ya [Splitting into classes by the method of alternative collective adaptation article], Izvestiya YUFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2016, No. 7 (180), pp. 89-101.

14. Kureychik, V.V., Polupanov A.A. Obzor evolyutsionnykh metodov optimizatsii na osnove roevogo intellekta [Overview of evolutionary optimization techniques based on swarm intelligence], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2011, No. 7 (120), pp. 7-12.

15. Sha D.Y. and Cheng-Yu. A hybrid particle swarm optimization for job shop scheduling problem, Computers & Industrial Engineering, 2006, pp. 791-808.

16. Lebedev B.K., Lebedev O.B., Lebedeva E.M. Raspredelenie resursov na osnove gibridnykh modeley roevogo intellekta [Distribution of resources on the basis of hybrid models of swarm intelligence], Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki [Scientific and Technical Herald of Information Technologies, Mechanics and Optics], 2017, Vol. 17, No. 6, pp. 1063-1073.

17. Lebedev B.K., Lebedev O.B. Lebedeva E.M. Modernizirovannyy murav'inyy algoritm sinteza identifitsirovannogo dereva gil'otinnogo razreza pri planirovanii SBIS [A modernized ant algorithm for the synthesis of the identified guillotine tree tree in the course of VLSI planning], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2017, No. 7 (192), pp. 15-28.

18. Gladkov L.A., Kureychik V.V., Kureychik V.M., Sorokoletov P.V. Bioinspirirovannye metody v optimizatsii: monografiya [Bioinspired methods in optimization: monograph]. Moscow: Fizmatlit, 2009, 384 p.

19. Lebedev B.K., Lebedev O.B. Lebedeva E.O. Roevoy algoritm planirovaniya raboty mnogoprotsessornykh vychislitel'nykh sistem [Swarm algorithm for planning the work of multiprocessor computer systems], Inzhenernyy vestnik Dona [Engineer's Herald of the Don], 2017, No. 3.

20. Cong J., Romesis M., and Xie M. Optimality, Scalability and Stability Study of Partitioning and Placement Algorithms, Proc. of the International Symposium on Physical Design. Monterey, CA, April 2003, pp. 88-94.

Статью рекомендовал к опубликованию д.т.н., профессор А.Г. Коробейников.

Лебедев Борис Константинович - Южный федеральный университет; e-mail: lebedev.b.k@gmail.com; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 89282897933; кафедра систем автоматизированного проектирования; профессор.

Лебедев Олег Борисович - e-mail: lebedev.ob@mail.ru; тел.: 89085135512; кафедра систем автоматизированного проектирования; доцент.

Лебедева Екатерина Олеговна - e-mail: lebedev.ob@mail.ru; тел.: 89289591426; кафедра систем автоматизированного проектирования; магистрант.

Lebedev Boris Konstantinovich - Southern Federal University; e-mail: lebedev.b.k@gmail.com; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +79282897933; the department of computer aided design; professor.

Lebedev Oleg Borisovich - e-mail: lebedev.ob@mail.ru; phone: +79085135512; the department of computer aided design; associate professor.

Lebedeva Ekaterina Olegovna - e-mail: lebedev.ob@mail.ru; phone: +79289591426; the department of computer aided design; graduate student.

УДК 681.3.06 Б01 10.23683/2311-3103-2018-4-136-145

Д.Ю. Запорожец, Д.В. Заруба ПАРАЛЛЕЛЬНЫЙ ПОПУЛЯЦИОННЫЙ АЛГОРИТМ*

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

решение было получено. Алгоритм ожидает окончания всех потоков. Далее производится

*

Работа выполнена при финансовой поддержке гранта Президента Российской Федерации для государственной поддержки молодых российских ученых - кандидатов наук № МК-92.2017.8.