Решение задач поиска и оптимизации проектных решений на основе гибридного подхода

Раздел III. Автоматизация проектирования

УДК 519.712.2 DOI 10.23683/2311-3103-2019-4-164-174

Л.А. Гладков, Н.В. Гладкова, С.Н. Лейба

РЕШЕНИЕ ЗАДАЧ ПОИСКА И ОПТИМИЗАЦИИ ПРОЕКТНЫХ РЕШЕНИЙ НА ОСНОВЕ ГИБРИДНОГО ПОДХОДА*

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

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

L.A. Gladkov, N.V. Gladkova, S.N. Leiba

SOLUTION OF THE PROBLEMS OF DESIGN DECISIONS SEARCH AND OPTIMIZATION ON THE BASIS OF A HYBRID APPROACH

The integrated approaches to solving optimization problems of computer-aided design of digital electronic computing equipment circuits are discuss. The relevance and importance of developing new effective methods for solving such problems is emphasized. The important direction in the development of optimization methods is the development of hybrid methods and approaches that combine the merits of various methods of computational intelligence is noted. It has been suggested that hybridization allows one to achieve a "synergistic effect" when the advantages of individual methods

* Исследование выполнено при поддержке РФФИ в рамках научных проектов: № 17-01-00627, 19-01-00715.

are mutually enhanced. The definition of mixed artificial .systems and the conditional classification of hybrid systems are given. Relationships and possibilities of mutual use of the theory of evolutionary design and multi-agent systems are considered. A hybrid approach to solving optimization problems based on a combination of evolutionary search methods, fuzzy control methods and possibilities ofparallel organization of the computational process is proposed. A modified migration operator for the exchange of information between decision populations in the process ofperforming parallel computations is proposed. The structure of the parallel hybrid algorithm has been developed. The island and buffer models of a parallel genetic algorithm to organize a parallel computing process is proposed to use. To improve the quality of the results obtained, a fuzzy logic controller in the evolution contour of expert information, which regulates the values of the parameters of the evolution process is included. A block diagram of the developed hybrid algorithm is presented. A software application is developed, a description of the architecture of the software application is given. The features of the software implementation of the proposed hybrid algorithm are considered. A brief description of the performed computational experiments confirming the effectiveness of the proposed method is presented.

Optimization design problems; multi-agent system; evolutionary design; fuzzy control; parallel computing; fuzzy logic controller.

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

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

Одной из ведущих тенденций, определяющей развитие науки стало распространение интегрированных и гибридных систем. Под гибридной искусственной системой будем понимать такую систему, которая состоит из двух или более интегрированных разнородных подсистем (разных видов), объединенных совместными действиями (хотя эти подсистемы могут иметь различную природу) [5].

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

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

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

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

С концептуальной точки зрения, создаваемые информационные системы, равно как и системы поиска и принятия решений можно классифицировать как смешанные искусственные системы, т.е. системы созданные человеком и объединяющие искусственные и естественные подсистемы [8]. Они также являются целе-ориентированными системами, т.е. системами основой функционирования которых является факторы целесообразности [9].

Модель, соответствующая уровню эволюционных систем может быть представлена следующим образом [9]:

SYS = (GN, KD, MB, EV, FC, RP),

где GN - генетическое начало (создание стартового множества решений); KD - условия существования; MB - обменные явления (эволюционные и генетические операторы); EV -развитие (стратегия эволюции); FC - функционирование; RP - репродукция.

Можно выделить два основных подхода к разработке гибридных подсистем [10-12]:

1. Использование эволюционных алгоритмов для решения проблем оптимизации и поиска в условиях нечеткой, неопределенной или недостаточной информации об объекте, параметрах и критериях решаемой задачи, разработка систем, основанных на нечетких правилах (genetic fuzzy rule-based system - GFRBS). В этом случае гибридные системы разрабатываются для обучения и настройки различных компонент системы нечетких правил, автоматической генерации базы знаний GFRBS, ее проверки и настройки выходной функции [10].

2. Использование методов, основанных на нечеткой логике для моделирования структуры и операторов эволюционных алгоритмов, для управления и адаптации параметров эволюционных алгоритмов [10, 11].

Мы будем рассматривать гибридные системы второго типа. При этом в систему вводится нечеткий логический контроллер (НЛК), который, используя опыт и знание экспертов в рассматриваемой области, позволяет осуществлять динамическое изменение параметров эволюционного алгоритма [12].

Система выработки правил на основе рассуждений и знаний, выполняет операцию логического вывода, результат которой после дефаззификации, преобразуется из нечеткого правила в управляющее воздействие. Изменение параметров алгоритма приводит к изменению процесса поиска и получению новых результатов, которые затем в блоке фаззификации из переменных состояния преобразуются в нечеткие множества [12].

С точки зрения организации структуры эволюционного поиска и оптимизации весьма перспективным является использование принципов построения много-агентных интеллектуальных организаций [1, 13, 14]. Так, один из основоположников теории генетических алгоритмов Джон Холланд [15] определял агента как искусственный организм, который существует и развивается в популяции подобных организмов, и пытается выжить в условиях конкуренции («естественного отбора») в том числе за самосовершенствования и приспособления (адаптации) к внешней

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

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

Эволюционная теория и эволюционное моделирование вместе с нечеткой логикой позволяют создать алгоритм, который определяет взаимодействие агентов. Эти агенты имеют параметры, определяемые в интервале [0, 1]; поэтому с помощью нечеткой логики мы модифицируем генетические операторы и оператор мутации в алгоритме. В результате алгоритма скрещивания агентов-родителей образуются агенты-потомки, которые в совокупности с агентами-родителями образуют семью (агентство). Для наглядного отображения агентств и общей структуры мно-гоагентной системы используются графы.

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

С точки зрения организации процесса распараллеливания можно выделить три основных группы параллельных генетических алгоритмов: глобальные одно-популяционные алгоритмы (Master-Slave GAs); однопопуляционные алгоритмы (Fine-Grained GAs); многопопуляционные алгоритмы (Coarse-Grained GAs) [3, 16]. Наибольший интерес с точки зрения решения рассматриваемых задач представляют многопопуляционные ГА. При этом основная популяция разделяется на несколько подпопуляций достаточно большого размера между которыми осуществляется обмен посредством оператора миграции. В данном случае важным моментом является простота преобразования генетического алгоритма с последовательной организацией вычислений к многопопуляционному параллельному ГА. Процесс эволюции решений внутри популяции не изменяется, добавляется лишь механизм реализации обмена между подпопуляциями.

С точки зрения организации процесса параллельных вычислений анализировались возможности наиболее популярных моделей параллельных генетических алгоритмов: островной, буферной, клеточной [3, 7, 16, 17].

При клеточной модели каждое решение (индивид) может быть представлено в виде клетки (ячейки) в некоем замкнутом пространстве, в котором каждый индивид может взаимодействовать только со своими соседями (сверху, снизу, слева, справа). Каждой ячейке пространства соответствует точно один индивид. На стар-

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

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

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

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

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

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

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

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

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

Увеличение быстродействия алгоритма достигается также за счёт использования многопоточности на локальном уровне, при расчёте значений целевых функций. Вычисление значения целевой функции каждой хромосомы выполняется в отдельном потоке. Популяция делится на S/N блоков хромосом, где S - размер популяции, N - предустановленное количество потоков расчёта целевой функции. Каждый блок содержит N хромосом. В рамках блока для каждой хромосомы в отдельном потоке запускается расчёт значения целевой функции. Затем ожидается завершение всех запущенных потоков, после чего запускается вычисление значений целевой функции хромосом следующего блока. Процесс продолжается пока не будут найдены значения целевой функции для всех хромосом.

Для регулирования частоты миграции предлагается использование нечёткого логического контроллера (НЛК), на вход которого подаются данные об эффективности эволюционного процесса [18, 19]. Гибридный оператор миграции позволяет проводить миграцию только когда это необходимо, например, при угрозе преждевременной сходимости. НЛК преобразует заданные параметры к нечеткому виду, затем на основе имеющихся в системе знаний и правил определяет управляющее воздействие и возвращает скорректированные значения контрольных параметров. Для обучения нейро-нечёткого логического контроллера используется генетический алгоритм. Результат работы модуля нечёткого управления определяется параметрами функций принадлежности входных переменных xt , o*, а также коэффициентом, используемым для вычисления выходного значения -у .

Предложенный алгоритмы был реализован в виде программного приложения. Приложение состоит из следующих модулей: алгоритмы оптимизации, модуль нечёткого управления, модуль обучения нейро-нечёткого логического контроллера, синтаксический анализатор и графический интерфейс. Алгоритмы оптимизации реализованы в виде обобщённых алгоритмов, которые могут обрабатывать различные входные данные. Модуль нечёткого управления используется для динамической настройки параметров генетического алгоритма. База правил модуля нечёткого управления считывается из файла. Модуль обучения нейро-нечёткого логического контроллера используется для получения оптимальных параметров управления генетическим алгоритмом. Синтаксический анализатор используется для считывания данных о топологии печатной платы из файла, а также для записи данных в файл. Разработанная архитектура позволяет дополнять систему новыми свойствами и моделями поведения.

Результаты экспериментов. Исследования разработанного параллельного гибридного алгоритма проводились на двух конфигурации оборудования: Intel Core(TM) i7-3630QM CPU @ 2.40 GHz, ОЗУ - 8ГБ (конфигурация 1); Intel Core(TM)2 Quad CPU Q8200 @ 2.40 GHz, ОЗУ - 4 ГБ (конфигурация 2) [20]. Во время исследования были проведены серии экспериментов для задач с числом элементов от 100 до 3000 с шагом 100. При этом такие параметры как число цепей, число итераций алгоритма, размер популяций, оставались постоянными. Результаты экспериментов в виде графиков зависимости среднего времени выполнения алгоритма от общего числа элементов представлены на рис. 2.

Рис. 2. Зависимость времени выполнения алгоритма от числа элементов

Для улучшения результатов работы и контроля управляющих параметров генетического алгоритма использовался нечёткий логический контроллер (НЛК). Время выполнения алгоритма с использованием НЛК при одинаковом количестве элементов превышает время выполнения алгоритма без НЛК не более чем на 0,5 %. В тоже время использование НЛК позволяет улучшить качество получаемых решений задачи в среднем на 25 % по сравнению последовательным ГА (при равном числе итераций) (рис. 3). Эффективность использования контроллера повышается после введения блока обучения на основе модели искусственной нейронной сети.

Рис. 3. Сравнение качества получаемых решений с использованием НЛК и без него

Заключение. Проанализировав полученные экспериментальные данные, можно сделать вывод, что использование НЛК позволяет улучшить качество получаемых решений в среднем на 25 % (для одинакового числа итераций алгоритма). Эффективность использования НЛК повышается после введения блока обучения на основе модели искусственной нейронной сети.

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

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

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

1. Рассел С., Норвиг П. Искусственный интеллект: Современный подход. - М.: Издательский дом «Вильямс», 2006.

2. Luger G.F. Artificial Intelligence. Structures and Strategies for Complex Problem Solving. -6th ed. Addison Wesley, Boston MA, 2009.

3. Кныш Д.С., Курейчик В.М. Параллельные генетические алгоритмы: Проблемы, обзор и состояние // Известия РАН. Теория и системы управления. - 2010. - № 4. - C. 72-82.

4. Хакен Г. Синергетика. - М.: Мир, 1980. - 405 с.

5. Gladkov L.A., Gladkova N.V., Legebokov A.A. Organization of Knowledge Management Based on Hybrid Intelligent Methods // Software Engineering in Intelligent Systems. Proceedings of the 4th Computer Science On-line Conference 2015 (CSOC 2015). Vol 3: Software Engineering in Intelligent Systems. - Springer International Publishing, Switzerland, 2015. - P. 107-113.

6. Хакен Г. Тайны природы. Синергетика: учение о взаимодействии. - Ижевск: ИКИ, 2003.

- 320 с.

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

8. Прангишвили И.В. Системный подход и общесистемные закономерности. - М.: СИНТЕГ, 2000. - 528 с.

9. БорисовВ.В., Круглов В.В., Федулов А.С. Нечеткие модели и сети. - М.: Горячая линия -Телеком, 2007. - 284 с.

10. Ярушкина Н.Г. Основы теории нечетких и гибридных систем. - М.: Финансы и статистика, 2004. - 320 с.

11. Herrera F., Lozano M. Fuzzy Adaptive Genetic Algorithms: design, taxonomy, and future directions // Soft Computing 7. - Springer-Verlag, 2003. - P. 545-562.

12. Gladkov L.A., Gladkova N.V., Gromov S.A. Hybrid Fuzzy Algorithm for Solving Operational Production Planning Problems // Advances in Intelligent Systems and Computing. Vol.573. Proceedings of the 6th Computer Science On-line Conference 2017 (CSOC 2017). Vol. 1: Artificial Intelligence Trends in Intelligent Systems. - Springer International Publishing, Switzerland, 2017. - P. 444-456.

13. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. - М.: Эдиториал УРСС, 2002. - 352 с.

14. Назаров В.И. Эволюция не по Дарвину: смена эволюционной модели. - М.: КомКнига, 2005. - 520 c.

15. Holland J.H. Adaptation in Natural and Artificial Systems. - Ann Arbor: The University of Michigan Press, 1975.

16. Alba E., Tomassini M. Parallelism and evolutionary algorithms // IEEE T. Evolut. Comput.

- 2002. - Vol. 6. - P. 443-461

17. ZhongyangX., Zhang Y., Zhang L., Niu S. A parallel classification algorithm based on hybrid genetic algorithm // Proc. of the 6th World Congress on Intelligent Control and Automation, Dalian, China. 2006. - P. 3237-3240

18. Гладков Л.А. Решение задач поиска и оптимизации решений на основе нечетких генетических алгоритмов и многоагентных подходов // Известия ТРТУ. - 2006. - № 8 (63).

- C. 83-88.

19. Гладков Л.А. О некоторых подходах к построению гибридных интеллектуальных систем для решения графовых задач // Новости искусственного интеллекта. - 2000. - № 3.

- С. 71-90.

20. Гладков Л.А., Лейба С.Н., Тарасов В.Б. Разработка и программная реализация гибридного алгоритма решения оптимизационных задач автоматизированного проектирования // Программные продукты и системы. - 2018. - Т. 31, № 3. - С. 569-580.

REFERENCES

1. Rassel S., Norvig P. Iskusstvennyy intellekt: Sovremennyy podkhod [Artificial intelligence: a Modern approach]. Moscow: Izdatel'skiy dom «Vil'ms», 2006.

2. Luger G.F. Artificial Intelligence. Structures and Strategies for Complex Problem Solving. 6th ed. Addison Wesley, Boston MA, 2009.

3. Knysh D.S., Kureychik V.M. Parallel'nye geneticheskie algoritmy: Problemy, obzor i sostoyanie [Parallel genetic algorithms: Problems, review and status], Izvestiya RAN. Teoriya i sistemy upravleniya [Izvestiya RAS. Theory and control systems], 2010, No. 4, pp. 72-82.

4. Khaken G. Sinergetika [Synergetics]. Moscow: Mir, 1980, 405 p.

5. GladkovL.A., GladkovaN.V., LegebokovA.A. Organization of Knowledge Management Based on Hybrid Intelligent Methods, Software Engineering in Intelligent Systems. Proceedings of the 4th Computer Science On-line Conference 2015 (CSOC 2015). Vol 3: Software Engineering in Intelligent Systems. Springer International Publishing, Switzerland, 2015, pp. 107-113.

6. Khaken G. Tayny prirody. Sinergetika: uchenie o vzaimodeystvii [Secret of nature. Synergetics: the doctrine of interaction]. Izhevsk: IKI, 2003, 320 p.

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

8. Prangishvili I.V. Sistemnyy podkhod i obshchesistemnye zakonomernosti [System approach and system-wide regularities]. Moscow: SINTEG, 2000, 528 p.

9. Borisov V.V., Kruglov V.V., FedulovA.S. Nechetkie modeli i seti Fuzzy models and networks [Fuzzy models and networks]. Moscow: Goryachaya liniya - Telekom, 2007, 284 p.

10. Yarushkina N.G. Osnovy teorii nechetkikh i gibridnykh system [Fundamentals of fuzzy and hybrid systems theory]. Moscow: Finansy i statistika, 2004, 320 p.

11. Herrera F., Lozano M. Fuzzy Adaptive Genetic Algorithms: design, taxonomy, and future directions, Soft Computing 7. Springer-Verlag, 2003, pp. 545-562.

12. Gladkov L.A., Gladkova N.V., Gromov S.A. Hybrid Fuzzy Algorithm for Solving Operational Production Planning Problems, Advances in Intelligent Systems and Computing. Vol. 573. Proceedings of the 6th Computer Science On-line Conference 2017 (CSOC 2017). Vol. 1: Artificial Intelligence Trends in Intelligent Systems. Springer International Publishing, Switzerland, 2017, pp. 444-456.

13. Tarasov V.B. Ot mnogoagentnykh sistem k intellektual'nym organizatsiyam: filosofiya, psikhologiya, informatika [From multi-agent systems to intelligent organizations: philosophy, psychology, computer science]. Moscow: Editorial URSS, 2002, 352 p.

14. Holland J.H. Adaptation in Natural and Artificial Systems. Ann Arbor: The University of Michigan Press, 1975.

15. Nazarov V.I. Evolyutsiya ne po Darvinu: smena evolyutsionnoy modeli [Evolution is not Darwinian: the evolutionary change model]. Moscow: KomKniga, 2005, 520 p.

16. Alba E., Tomassini M. Parallelism and evolutionary algorithms, IEEE T. Evolut. Comput., 2002, Vol. 6, pp. 443-461

17. ZhongyangX., Zhang Y., Zhang L., Niu S. A parallel classification algorithm based on hybrid genetic algorithm, Proc. of the 6th World Congress on Intelligent Control and Automation, Dalian, China. 2006, pp. 3237-3240

18. Gladkov L.A. Reshenie zadach poiska i optimizatsii resheniy na osnove nechetkikh geneti-cheskikh algoritmov i mnogoagentnykh podkhodov [Solution of problems of search and optimization of solutions based on fuzzy genetic algorithms and multi-agent approaches], Izvestiya TRTU [Izvestiya TSURE], 2006, No. 8 (63), pp. 83-88.

19. Gladkov L.A. O nekotorykh podkhodakh k postroeniyu gibridnykh intellektual'nykh sistem dlya resheniya grafovykh zadach [On some approaches to the construction of hybrid intelligent systems for solving graph problems], Novosti iskusstvennogo intellekta [Artificial intelligence news], 2000, No. 3, pp. 71-90.

20. Gladkov L.A., Leyba S.N., Tarasov V.B. Razrabotka i programmnaya realizatsiya gibridnogo algoritma resheniya optimizatsionnykh zadach avtomatizirovannogo proektirovaniya [Development and software implementation of a hybrid algorithm for solving optimization problems of computer-aided design], Programmnye produkty i sistemy [Software products and systems], 2018, Vol. 31, No. 3, pp. 569-580.

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

Гладков Леонид Анатольевич - Южный федеральный университет; e-mail: leo_gladkov@mail.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371625; кафедра САПР; доцент.

Гладкова Надежда Викторовна - e-mail: nadyusha.gladkova77@mail.ru; кафедра САПР; старший преподаватель.

Лейба Сергей Николаевич - e-mail: lejba.sergej@mail.ru; кафедра САПР; аспирант.

Gladkov Leonid Anatol'evich - Southern Federal University; e-mail: leo_gladkov@mail.ru; 44, Nekrasovskiy lane, Taganrog, 347928, Russia; phone: +78634371625; CAD department; associated professor.

Gladkova Nadezhda Viktorovna - e-mail: nadyusha.gladkova77@mail.ru; CAD department; senior teacher.

Leiba Sergey Nikolaevich - e-mail: lejba.sergej@mail.ru; CAD department; postgraduate student.

УДК 004.896 Б01 10.23683/2311-3103-2019-4-174-186

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

ПАРАЛЛЕЛЬНО ПОСЛЕДОВАТЕЛЬНЫЙ БИОИНСПИРИРОВАННЫЙ АЛГОРИТМ ПОСТРОЕНИЯ МИНИМАЛЬНОГО ДЕРЕВА ШТЕЙНЕРА*

Рассматривается параллельно последовательный подход к построению минимального дерева Штейнера. Разработанный алгоритм базируются на общем подходе, заключающимся на декомпозиции связывающей сети и представлении ее в виде совокупности двух-терминальных соединений. Для цепи ti на множестве вершинXI, \Х\=п1 графа О с помощью алгоритма Прима строится минимальное связывающее дерево К=={г,к^=1, 2, ..., п-.1}. Для каждого ребра г1кеЯ1 формируется маршрут з^, связывающий на графе О пару вершин, соответствующих ребру гкк. Каждому маршруту соответствует множество Г^ц) ребер графа О. Задача построения минимального дерева Штейнера сводится к задаче построения и выбора s-маршрута зкк на графе О, для каждого ребра гкк. Для каждого агента, расположенного в вершине р,, задаются координаты вершины Pj к которой прокладывается s-маршрут и определяются возможные направления его перемещения по ребрам ортогонального графа О=(¥,Е), обеспечивающие построение з-маршрута минимальной длины. Качество маршрута, построенного агентом, будет определяться наличием общих участков с маршрутами, построенными другими агентами кластера. Чем больше в составе маршрута общих участков с маршрутами, построенными другими агентами кластера, тем меньше суммарная длина ребер минимального дерева Штейнера. Декомпозиция задачи в рамках параллельно-последовательного подхода позволили избежать проблемы очередности прокладки маршрутов и организовать систему коллективной адаптации с высокой степенью целесообразного поведения и сходимости. Особенностью представленного муравьиного алгоритма построения минимального дерева Штейнера является то, что муравьиная колония разбита на кластеры и поиск конкретного решения задачи осуществляется популяцией кластеров муравьев. Задача построения муравьями каждого кластера Ла дерева Штейнера сводится к задаче построения и выбора в графе О совокупности Ма з-маршрутов, покрывающих минимальное дерево Штейнера. В отличие от канонической парадигмы муравьиной колонии, предложена модифицированная жадная стратегия построения ориентированного маршрута на модели представления решения. Концепция коллективной адаптации (адаптивного поведения) кластера агентов, используемая в

*

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