Научная статья на тему 'РАЗРАБОТКА МОДИФИЦИРАВАННЫХ МЕТОДОВ И МОДЕЛЕЙ ПОИСКОВОЙ АДАПТАЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ПЛАНИРОВАНИЯ СБИС'

РАЗРАБОТКА МОДИФИЦИРАВАННЫХ МЕТОДОВ И МОДЕЛЕЙ ПОИСКОВОЙ АДАПТАЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ПЛАНИРОВАНИЯ СБИС Текст научной статьи по специальности «Математика»

CC BY
34
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЛАНИРОВАНИЕ СБИС / РОЕВОЙ ИНТЕЛЛЕКТ / ОПТИМИЗАЦИЯ / МУРАВЬИНЫЙ АЛГОРИТМ / АДАПТИВНОЕ ПОВЕДЕНИЕ

Аннотация научной статьи по математике, автор научной работы — Лебедев Олег Борисович, Жиглатый Артемий Александрович, Лебедева Екатерина Олеговна

В работе для решения задачи планирования СБИС разработан поисковый алгоритм на основе модифицированного метода муравьиной колонии. Задача формирования плана СБИС сводится к задаче формирования соответствующего польского выражения. Разработанный метод синтеза польского выражения включает построение дерева разрезов, выбор типов разрезов (H или V), идентификацию и ориентацию модулей. Эволюционирующая популяция разбита на пары агентов. Каждый член популяции - пара агентов, работающих совместно. При этом конструктивные алгоритмы A1 и A2, используемые агентами пары различаются. Задача, решаемая алгоритмом А1, формулируется как задача поиска взаимно однозначного отображения Fk=M*→P множества модулей M c выбранными ориентациями, |M*|=|M| в множество P позиций шаблона Sh. Фактически решение заключается в выборе на графе G1 подмножества ребер E*1ÎE1, входящих в соответствующее отображение Fk. В алгоритме A2 в качестве модели пространства поиска решений для выбора типа, последовательности и места расположения разрезов в шаблоне Sh разработан граф G2=(X, E2). X={(x1i,x2i)|i=1,2,…,n} множество вершин графа G2, соответствует множеству P потенциальных позиций шаблона Sh для возможного размещения в них имен символов разрезов. Каждая потенциальная позиция piÎP шаблона Sh моделируется двумя альтернативными вершинами (x1i,x2i). Выбор при размещении разрезов вершины x1i указывает на то, что в позицию pi помещен разрез типа V, выбор вершины x2i - указывает на то, что в позицию pi помещен разрез типа H. Каждая итерация l общего алгоритма включает начальный и три основных этапа. Начальный этап заключается в следующем. Обнуляются матрицы ко-эволюционной памяти КЭП*1 и КЭП*2. На первом этапе каждая пара агентов dk=(a1k, a2k): - конструктивными алгоритмами A1 и A2 синтезирует свое решение Wk=(E1k*,Sk); - формируется польское выражение Shk, соответствующее решению Wk; - на базе Shk формируется дерево разрезов Tk; - на базе Tk формируется план Rk и рассчитывается оценка решения Fk; - агенты откладывают (добавляют) феромон в ячейки матриц коллективной эволюционной памяти КЭП*1 и КЭП*2, соответствующие ребрам решения Wk=(E1k*,Sk) в графах поиска решений G1 и G2 в количестве пропорциональном оценке решения Fk. На втором этапе феромон, накопленный в КЭП*1 и КЭП*2 агентами популяции на итерации l, добавляется в КЭП1 и КЭП2. На третьем этапе осуществляется испарение феромона на ребрах графов G1 и G2. Тестовые испытания подтвердили эффективность предложенного метода. Временная сложность алгоритма, полученная экспериментальным путем, совпадает с теоретическими исследованиями и для рассмотренных тестовых задач составляет О(n2).

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Лебедев Олег Борисович, Жиглатый Артемий Александрович, Лебедева Екатерина Олеговна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF MODIFIED METHODS AND MODELS OF SEARCH ADAPTATION FOR SOLVING THE PROBLEM OF PLANNING VLSI

In this work, to solve the VLSI planning problem, a search algorithm has been developed based on a modified ant colony method. The task of forming a VLSI plan is reduced to the task of forming the corresponding Polish expression. The developed method for the synthesis of the Polish expression includes the construction of a tree of cuts, the choice of the types of cuts (H or V), identification and orientation of modules. The evolving population is split into pairs of agents. Each member of the population is a pair of agents working together. In this case, the constructive algorithms A1 and A2 used by the agents of the pair are different. The problem solved by Algorithm A1 is formulated as the problem of finding a one-to-one mapping Fk=M*→P of the set of modules M with selected orientations, |M*|=|M| to the set P of positions of the template Sh. In fact, the solution consists in choosing on the graph G1 a subset of edges E*1ÎE1 included in the corresponding mapping Fk. In Algorithm A2, the graph G2=(X, E2) is developed as a model of the search space for solutions for choosing the type, sequence and location of cuts in the pattern Sh. X={(x1i,x2i)|i=1,2,…,n} the set of vertices of the graph G2, corresponds to the set P of potential positions of the template Sh for the possible placement of the names of the cut symbols in them. Each potential position piÎP of the template Sh is modeled by two alternative vertices (x1i,x2i). The choice of the vertex x1i when placing the cuts indicates that a cut of type V is placed in position pi, the choice of vertex x2i indicates that a cut of type H is placed in position pi. Each iteration l of the general algorithm includes an initial and three main stages. The initial stage is as follows. Co-evolutionary memory matrices are ified CEM*1 and CEM*2 are reset to zero. At the first stage, each pair of agents dk=(a1k,a2k): - with constructive algorithms A1 and A2 he synthesizes his solution Wk=(E1k*,Sk); - the Polish expression Shk is formed, corresponding to the solution Wk; - on the basis of Shk, a tree of sections Tk is formed; - on the basis of Tk, the plan Rk is formed and the estimate of the solution Fk is calculated; - agents deposit (add) the pheromone to the cells of the collective evolutionary memory (CEM) matrices CEM*1 and CEM*2 corresponding to the solution edges Wk=(E1k*,Sk) in the solution search graphs G1 and G2 in an amount proportional to the solution estimate Fk. At the second stage, the pheromone accumulated in CEM*1 and CEM*2 by agents of the population at iteration l is added to CEM 1 and CEM2. At the third stage, the pheromone is evaporated on the edges of the graphs G1 and G2. Tests have confirmed the effectiveness of the proposed method. The time complexity of the algorithm, obtained experimentally, coincides with theoretical studies and it is O(n2) for the considered test problems.

Текст научной работы на тему «РАЗРАБОТКА МОДИФИЦИРАВАННЫХ МЕТОДОВ И МОДЕЛЕЙ ПОИСКОВОЙ АДАПТАЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ПЛАНИРОВАНИЯ СБИС»

18. Tomashevskaya V.S., Yakovlev D.A. Uslovie additivnosti informatsionno-spravochnogo kioska na osnove vremeni zagruzki stranits [The condition of the additivity of the information and reference kiosk based on the page load time], Rossiyskiy tekhnologicheskiy zhurnal [Russian Technological Journal], 2020, Vol. 8, No. 1 (33), pp. 27-33.

19. Shemonchuk D.S. Polnota i tochnost' mul'timedia kontenta dlya sushchestvenno intensifitsirovannykh mul'timedia sistem [Completeness and accuracy of multimedia content for significantly intensified multimedia systems], Informatsionnye sistemy i tekhnologii [Information systems and technologies], 2009, No. 3\53 (564), pp. 35-42.

20. Shemonchuk D.S. Razrabotka i issledovanie metodov i sredstv uluchsheniya funktsionala mul'timediynykh portal'nykh ustroystv v sfere upravleniya obrazovatel'nymi protsessami: diss. ... kand. tekhn. nauk [Development and research of methods and means for improving the functionality of multimedia portal devices in the field of educational process management: cand. of eng. sc. diss.]. Moscow, 2009, 155 p.

Статью рекомендовал к опубликованию к.т.н. В.А. Холопов.

Жуков Николай Кириллович - Институт космических исследований РАН (ИКИ РАН), Российская академия наук; e-mail: nzhukov@romance.iki.rssi.ru, Москва, Россия; тел.: 89851378683.

Мордвинов Владимир Александрович - МИРЭА - Российский Технологический университет; e-mail: mordvinov@mirea.ru; Москва, Россия; кафедра инструментального и прикладного программного обеспечения; к.т.н.; профессор.

Русляков Алексей Александрович - e-mail: ruslyakov@mirea.ru; кафедра инструментального и прикладного программного обеспечения; ассистент.

Zhukov Nikolai Kirillovich - Space Research Institute RAS (IKI RAS), Russian Academy of Sciences; e-mail: nzhukov@romance.iki.rssi.ru; Moscow, Russia; phone: +79851378683.

Mordvinov Vladimir Alexandrovich - MIREA - Russian Technological University; e-mail: mordvinov@mirea.ru; Moscow Russia; the department of instrumental and applied software; cand. of eng. sc.; professor.

Ruslyakov Alexey Alexandrovich - e-mail: ruslyakov@mirea.ru; the department of instrumental and applied software; assistant.

УДК 004.896 DOI 10.18522/2311-3103-2021-5-176-192

О.Б. Лебедев, А.А. Жиглатый, Е.О. Лебедева

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

СБИС*

В работе для решения задачи планирования СБИС разработан поисковый алгоритм на основе модифицированного метода муравьиной колонии. Задача формирования плана СБИС сводится к задаче формирования соответствующего польского выражения. Разработанный метод синтеза польского выражения включает построение дерева разрезов, выбор типов разрезов (H или V), идентификацию и ориентацию модулей. Эволюционирующая популяция разбита на пары агентов. Каждый член популяции - пара агентов, работающих совместно. При этом конструктивные алгоритмы A1 и A2, используемые агентами пары различаются. Задача, решаемая алгоритмом А1, формулируется как задача поиска взаимно однозначного отображения Fk=M*^P множества модулей М с выбранными ориентациями, \М*\ = \М\ в множество Р позиций шаблона Бк. Фактически решение заключается в выборе на графе 01 подмножества ребер Е 1 еЕ1, входящих в соответст-

* Работа выполнена при финансовой поддержке гранта РФФИ № 20-07-00260 А. 176

вующее отображение Fk. В алгоритме A2 в качестве модели пространства поиска решений для выбора типа, последовательности и места расположения разрезов в шаблоне Sh разработан граф G2=(X, E2). X={(x1 i,x2)\i=1,2,...,n} множество вершин графа G2, соответствует множеству P потенциальных позиций шаблона Sh для возможного размещения в них имен символов разрезов. Каждая потенциальная позиция p^P шаблона Sh моделируется двумя альтернативными вершинами (x1,x2). Выбор при размещении разрезов вершины x1t указывает на то, что в позицию pt помещен разрез типа V, выбор вершины x2t - указывает на то, что в позицию pt помещен разрез типа H. Каждая итерация l общего алгоритма включает начальный и три основных этапа. Начальный этап заключается в следующем. Обнуляются матрицы ко-эволюционной памяти КЭП 1 и КЭП*2. На первом этапе каждая пара агентов dk=(a1h a2k): - конструктивными алгоритмами A1 и A2 синтезирует свое решение Wk=(E1k ,Sj); - формируется польское выражение Shk, соответствующее решению Wk; - на базе Shk формируется дерево разрезов Tk; - на базе Tk формируется план Rk и рассчитывается оценка решения Fk; - агенты откладывают (добавляют) феромон в ячейки матриц коллективной эволюционной памяти КЭП 1 и КЭП 2, соответствующие ребрам решения Wk=(E1k ,Sk) в графах поиска решений G1 и G2 в количестве пропорциональном оценке решения Fk. На втором этапе феромон, накопленный в КЭП 1 и КЭП 2 агентами популяции на итерации l, добавляется в КЭП1 и КЭП2. На третьем этапе осуществляется испарение феромона на ребрах графов G1 и G2. Тестовые испытания подтвердили эффективность предложенного метода. Временная сложность алгоритма, полученная экспериментальным путем, совпадает с теоретическими исследованиями и для рассмотренных тестовых задач составляет О(п2).

Планирование СБИС; роевой интеллект; оптимизация; муравьиный алгоритм; адаптивное поведение.

O.B. Lebedev, A.A. Zhiglatiy, E.O. Lebedeva

DEVELOPMENT OF MODIFIED METHODS AND MODELS OF SEARCH ADAPTATION FOR SOLVING THE PROBLEM OF PLANNING VLSI

In this work, to solve the VLSI planning problem, a search algorithm has been developed based on a modified ant colony method. The task offorming a VLSI plan is reduced to the task of forming the corresponding Polish expression. The developed method for the synthesis of the Polish expression includes the construction of a tree of cuts, the choice of the types of cuts (H or V), identification and orientation of modules. The evolving population is split into pairs of agents. Each member of the population is a pair of agents working together. In this case, the constructive algorithms A1 and A2 used by the agents of the pair are different. The problem solved by Algorithm A1 is formulated as the problem offinding a one-to-one mapping Fk=M*^P of the set of modules M with selected orientations, \M*\=\M\ to the set P ofpositions of the template Sh. In fact, the solution consists in choosing on the graph G1 a subset of edges E 1 eE1 included in the corresponding mapping Fk. In Algorithm A2, the graph G2=(X, E2) is developed as a model of the search space for solutions for choosing the type, sequence and location of cuts in the pattern Sh. X={(x1i,x2)\i=1,2,...,n} the set of vertices of the graph G2, corresponds to the set P ofpotential positions of the template Sh for the possible placement of the names of the cut symbols in them. Each potential position pieP of the template Sh is modeled by two alternative vertices (x1i,x2). The choice of the vertex x1i when placing the cuts indicates that a cut of type V is placed in position p, the choice of vertex x2t indicates that a cut of type H is placed in position pi. Each iteration l of the general algorithm includes an initial and three main stages. The initial stage is as follows. Co-evolutionary memory matrices are nullified CEM*1 and CEM*2 are reset to zero. At the first stage, each pair of agents dk=(a1k,a2k): - with constructive algorithms A1 and A2 he synthesizes his solution Wk=(E1k ,Sk); - the Polish expression Shk is formed, corresponding to the solution Wk; - on the basis of Shk, a tree of sections Tk is formed; - on the basis of Th the plan Rk is formed and the estimate of the solution Fk is calculated; - agents deposit (add) the pheromone to the cells of the collective evolutionary memory (CEM) matrices CEM 1 and CEM 2 corresponding to the solution edges Wk=(E1k ,Sk) in the solution search graphs G1 and G2 in an amount proportional to the solution estimate Fk. At the second stage, the pheromone accumulated in CEM 1 and CEM 2 by agents of the population at iteration l is added to CEM 1 and CEM2. At the third stage,

the pheromone is evaporated on the edges of the graphs G1 and G2. Tests have confirmed the effectiveness of the proposed method. The time complexity of the algorithm, obtained experimentally, coincides with theoretical studies and it is O(n ) for the considered test problems.

VLSI planning; swarm intelligence; optimization; ant algorithm; adaptive behavior.

Введение. В связи с уменьшением топологических размеров, повышением степени интеграции СБИС и сокращением сроков проектирования возникают принципиально новые требования к средствам проектированию СБИС [1, 2].

При проектировании больших систем часто топологическая схема требуется уже на ранних стадиях проектирования, хотя еще не были спроектированы все модули, т.е. не вся информация обо всех модулях имеется в наличии, часть этой информации может оказаться неточной. Планирование - это ранняя фаза проектирования СБИС. Оно дает информацию о приблизительных значениях площади, задержки, мощности и других рабочих характеристиках [1-4]. Задача планирования СБИС заключается в размещении на поле кристалла модулей, полученных на этапе разбиения, имеющих заданную площадь и не имеющих фиксированных размеров. Модули и кристалл имеют форму прямоугольников. При планировании решаются сразу две задачи: определяется взаимно расположение блоков друг относительно друга, т.е. их размещение, а также фиксируются размеры каждого блока. В результате планирования строится план кристалла, представляющий собой охватывающий прямоугольник, разделенный горизонтальными и вертикальными сегментами на неналагающиеся друг на друга прямоугольники, в которые следует поместить соответствующие модули [3, 4].

Основные проблемы задачи планирования кристалла СБИС - это проблема поиска подхода к представлению решения (плана) и проблема построения оптимизационной процедуры поиска решения.

Основные критерии оптимизации [1, 2, 5-7]: площадь кристалла; длина проводников; временные задержки; энергопотребление; температура. Основной целью оптимизации является минимизация общей площади кристалла [1, 2, 5].

Анализ существующих подходов к решению поставленной задачи показал, что удачными являются подходы, основанные на методах эволюционного моделирования. В последнее время для решения различных «сложных» задач, к которым относятся и задачи планирования всё чаще используются способы, основанные на применении биоинспирированных моделей [5,8,9]. В работе для решения задачи планирования разработан поисковый алгоритм на основе метода муравьиной колонии. Задача формирования плана СБИС сводится к задаче формирования соответствующего польского выражения. Разработанный метод синтеза польского выражения включает построение на основе шаблона дерева разрезов, выбор типов разрезов (H или V), идентификацию и ориентацию модулей.

1. Постановка задачи планирования. Проблема планирования формулируется следующим образом [1, 2]. Имеется множество модулей M={mi\i=1,2,...,n}. Каждый модуль характеризуется тройкой <Sili,ti>, где St - площадь модуля, а параметры li и ti задают нижнюю и верхнюю границу значения ht/w,, т.е.

где И, - это высота модуля, wi - ширина модуля [1,2,5]. План для множества модулей М представляет собой прямоугольник Я, разрезанный вертикальными и горизонтальными линиями на множество прямоугольников блоков Б=(Ь^=1,2,...,п}, в каждом из которых помещается соответственно модуль т, [8].

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

li < h /wi < ti,

(1)

Si < Xi ■yi, hi < y,, w, < Xi

(2)

Будем считать, что связи между модулями ти ту связывают центры соответствующих прямоугольников ЬI и Ьу [6-11]. Обозначим через длину связей между тI и ту а через су - стоимость связей. Тогда критерий оптимизации при планировании имеет вид:

п п

Р = Ех,-у, + ^0,^,

1=1 У=1

при соблюдении ограничений (1), (2). Константа управляет относительной важностью общей площади и взвешенной длиной связей [3,6,8,11,12]. Основная цель оптимизации - минимизация общей площади плана 5Г, при соблюдении ограничений (1), (2).

Принято разбивать все множество структур плана на два класса: гильотинный и не гильотинный. Гильотинная структура может быть получена путем рекурсивного деления прямоугольника на две части горизонтальными и/или вертикальными разрезами. В качестве плана кристалла в работе используется структура, полученная путем рекурсивного использования «гильотинного разреза», т.е. последовательного разрезания прямоугольников на две части [8]. Для описания плана используются два способа: геометрическое и символьное.

Геометрическим описанием является дерево разрезов. На рис.1.а представлен план, а на рис. 1,Ь - соответствующее ему бинарное дерево «гильотинного разреза» ВЯ=(0, Е), В={й\\1=1,2,...,2п-1}, Е^ ВхВ, листьями которого являются вершины, соответствующие прямоугольникам с размещенными в них модулями, а внутренние вершины соответствуют разрезам: V - вертикальный, Н - горизонтальный. На дереве висячие вершины (листья дерева), соответствующие прямоугольникам с размещенными в них модулями, помечены именами модулей, которые входят в эти прямоугольники, цифрами помечены внутренние вершины, соответствующие разрезам, причем V - вертикальный разрез, а Н - горизонтальный разрез. На основе этой информации геометрическое представление и метризация плана осуществляется путем последовательной бинарной свертки прямоугольников (блоков Ьц) по дереву разрезов, начиная от листьев дерева [11]. Процесс бинарной свертки представляет собой слияние смежных прямоугольников Ьу и Ьу, формирование прямоугольника Ь^ определение его размеров и новых размеров для Ьи Ьу.

Каждой внутренней вершине дерева разрезов будет соответствовать блок Ьу (прямоугольник), полученный в результате бинарной свертки поддерева, имеющего корнем эту внутреннюю вершину. Размеры блоков и описывающего прямоугольника Я плана определяются путем последовательной свертки блоков по дереву разрезов, исходя из размеров модулей, помещаемых в эти блоки [6, 8]. На рис. 1,с представлен план после свертки.

а Ь с

Рис. 1. а — план гильотинного разреза; Ь — дерево гильотинного разреза; с — план с размещенными в блоках модулями

Введём алфавит А={М, Г^}.Символьное представление структуры дерева разрезов можно задать, используя на базе алфавита А польское выражение для бинарного дерева [6, 8, 11], где множество модулейМ={т^=1,2 ...,пМ} соответствует листьям дерева разрезов (блокам Ь,), а множество ТЯ={Н, V} - соответствует разрезам. Польское выражение для дерева с идентифицированными вершинами, представленного на рис.1.Ь, имеет вид: Б=<т2 Vт3 т4 VН т5 т6 Н т7 т8 т9 Н V Н V >. Процесс восстановления дерева по польскому выражению достаточно прост [6]. Последовательно слева направо просматривается польское выражение, и отыскиваются буквы Н или V, соответствующие разрезам. Каждый такой разрез объединяет два ближайших образованных на предыдущих шагах подграфа, расположенных в польской записи слева от буквы Н или V. Проиллюстрируем процесс свертки с помощью скобок:

Б=((т1 т2 V) (т3 т4 V) Н) (т5 т6 Н) (т7 (т8 т9 Н) V) Н) V.

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

Свойства (ограничения) польского выражения:

1. Для каждого модуля mi возможны два способа (две ориентации (01 или 02) размещения в прямоугольнике.

2. В состав выражения входят по одному разу все элементы множества М={тЦ=1, 2, ..., пМ} с одной из меток - О1, либо О2,.

3. Для дерева разрезов всегда выполняется равенство пМ=пЯ + 1.

4. Если в польском выражении провести справа от буквы Н или V сечение, то слева от сечения число элементов, принадлежащих множеству М, больше числа элементов, соответствующих разрезам, минимум, на единицу.

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

Назовем польское выражение Б, построенное на базе алфавитаA={М,TR} легитимным, если оно удовлетворяет вышеперечисленным ограничениям 1-4. Таким образом, легитимное выражение Б является символьным представлением решения задачи планирования.

2. Построение методом муравьиной колонии плана СБИС с размещением и выбором типов разрезов, размещением и ориентацией модулей. Задача формирования плана СБИС сводится к задаче формирования соответствующего польского выражения. Предварительно формируется шаблон позиций польского выражения в виде вектора Бк=<о о 21 о 22 о 23 о 24 ... о 2п>. Знаки типа (о) пронумерованы и соответствуют позициям для размещения в них имен модулей (листьев дерева). Между знаками (о) расположены пронумерованные зоны позиций <г122 2324 ••• 2п>, для размещения в них имен внутренних вершин дерева (разрезов). Число потенциальных позиций п2 в зоне равно номеру , зоны. Позиции р,, предназначенные для размещения в них разрезов, объединены в общий список Р=<рЦ=1,2,... ,пр> и пронумерованы, в соответствии с их расположением в шаблоне Бк.

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

польского выражения базируется на парадигме муравьиного алгоритма и включает построение дерева разрезов, выбор типов разрезов (Н или V), идентификацию и ориентацию модулей. Для геометрической интерпретации плана выполняется процедура свертки [6-11].

Ядром муравьиного алгоритма является конструктивный алгоритм, с помощью которого каждый член популяции на каждой итерации находит решение задачи. В работе, в отличие от канонической парадигмы МА, эволюционирующая популяция разбита на пары агентов. Каждый член популяции - пара агентов, работающих совместно. Задача планирования решается каждой парой агентов двумя конструктивными алгоритмами. При этом конструктивные алгоритмы А1 и А2, используемые агентами пары различаются. Алгоритм А1 решает задачу выбора взаимного расположения и ориентации модулей в польском выражении. Алгоритм А2 решает задачу выбора последовательности, расположения и типа разрезов в польском выражении. Для решения задачи планирования, в отличие от канонической парадигмы МА [6, 8, 11] , в качестве модели пространства поиска решений используются два графа 01 и 02.

Полный двудольный граф 01=((М1иМ2)иР,Е1) (рис. 2) используется алгоритмом А1 в качестве модели пространства поиска решений при размещении модулей в множестве позиций шаблона 8к и выборе ориентации модулей. (М1иМ2) - множество вершин графа 01, соответствующих множеству модулей (первая доля графа); М1={т1^=1,2,... ,п+1}, М2={т2^=1,2,... ,п+1}. Вершины графа 01 объединены в альтернативные пары т=(т11,т2). Вершина т11 соответствует модулю в первой ориентации, т21 - во второй. Р={руЦ=1,2,... ,п} множество вершин графа 01, соответствующих множеству позиций шаблона 8к для размещения в них имен модулей (листьев дерева). Если модуль mi размещается в первой ориентации, то он обозначается, как т1,, а ребро, обозначается как (т1,р]). Если модуль mi размещается во второй ориентации, то он обозначается, как т2, а ребро обозначается, как (т2,ру). Е1 множество ребер, связывающих множество вершин (М1иМ2) с множеством вершин Р.

Задача, решаемая алгоритмом А1, формулируется как задача поиска взаимно однозначного отображения ¥=М ^Р на графе 01 (множества модулей М сМЮМ2 с выбранными ориентациями, \М \ =\М\ во множество Р позиций шаблона 8к. Фактически решение заключается в выборе на графе 01 подмножества ребер Е1 еЕ1, входящих в соответствующее отображение

Р1 Р2 Рп+1

Рис. 2. Граф G1 поиска решений при размещении и выборе ориентации модулей

В качестве коллективной эволюционной памяти (КЭП) алгоритмом А1 используется матрица КЭП1, в которой для каждого ребра хранятся две интегральные оценки степени пригодности 8у(01) и дуО?), в зависимости от ориентации модуля (рис. 3).

В столбце Зу(01) таблицы КЭП1 откладывается количество феромона, соответствующее степени пригодности ребра (т1,,ру). В столбце З,у(02) откладывается количество феромона, соответствующее степени пригодности ребра (т2,,ру).

Позиции

р1 р2 рз р4 р5

модуль степени степени степени степени степени

пригодности Зу пригодности Зу пригодности Зу пригодности Зу пригодности Зу

jOi) jO2) Sj(Oi) jO2) Sj(Oi) Sj(O2) Sj(Oi) Sj(O2) Sj(Oi) ty(O2)

mi

m2

m„

Рис. 3. Матрица коллективной эволюционной памяти КЭП1

В алгоритме А2 в качестве модели пространства поиска решений для выбора типа, последовательности и места расположения разрезов в шаблоне Бк разработан граф 02=(Х, Е2) (рис. 4). Х={(х1, х2)^=1,2,...,п} множество вершин графа 02, соответствует множеству Р потенциальных позиций шаблона Бк для возможного размещения в них символов разрезов. Каждая потенциальная позиция р, еР шаблона Бк моделируется двумя альтернативными вершинами (х1, х2). Выбор при размещении разрезов вершины х1, указывает на то, что в позицию помещен разрез типа V, выбор вершины х2, - указывает на то, что в позицию помещен разрез типа Н. Граф 02 отображается на плоскости в виде многостадийной структуры, разбитой на зоны, включающие пары вершин (рис. 4). На рис. 4 представлен граф 02, построенный для пяти зон.

Рис. 4. Модель пространства поиска решений для выбора типа, последовательности и места расположения разрезов в шаблоне Sh

На рис. 5 представлены идентификаторы вершин графа 02.

Зона 1 2 3

Позиция 1 1 2 1 2 3

Разрез V н V н V Н V Н V н V н

Идентификатор 11V 11Н 21V 21Н 22V 22Н 31V 31Н 32V 32Н 33V ззн

Лэ Вершины 1 2 3 4 5 б 7 S 9 10 11 12

Опорные вершины 1 3 7

Зона 4 5

Позиция 1 2 3 4 1 2 3 4 5

Разрез V н V Н V Н V Н V Н V Н V Н V Н V Н

Идентификатор 41V 41Н 42V 42Н 43 V 43Н 44 V 44Н 51V 51Н 52V 52Н 53 V 53Н 54V 54Н 55V 55Н

Лг Вершины 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Опорные вершины 13 23

Рис. 5. Матрица идентификаторов графа 02

Каждая позиция pi в зоне шаблона БИ моделируется парой вершин, на плоскости расположенных одна над другой. Верхняя вершина пары соответствует состоянию позиции, при котором в нее помещается разрез типа V, нижняя вершина пары соответствует состоянию позиции, при котором в нее помещается разрез типа Н. В соответствии со структурой шаблона БИ в зоне 2{ располагается i пар вершин, являющиеся кандидатами для размещения в них разрезов. В работе используется упорядоченная идентификация вершин. Вершины проиндексированы в том же порядке в каком соответствующие им позиции расположены в шаблоне БИ. Множество вершин X разбито на подмножества в зависимости от того в какой зоне шаблона БИ расположены потенциальные позиции, соответствующие вершинам.

Для отображения взаимного пространственного расположения вершин графа, зоны и вершины в зонах расположены на плоскости в линейку, в соответствии с расположением позиций шаблона БИ на плоскости для размещения в них символов разрезов.

Вершины первой пары в каждой зоне называются опорными. На рис. 4 опорные вершины выделены кружками.

Ориентированные ребра, связывающие вершины графа, формируются следующим образом.

Стартовая вершина О маршрута Б связана ориентированными ребрами (на рис. 4 слева направо) со всеми опорными вершинами.

Каждая опорная вершина связана ориентированными ребрами (на рис.4 слева направо) со всеми опорными вершинами, расположенными на рис.4 справа.

Каждая вершина зоны 2^ (опорная или простая) связана ориентированными ребрами (на рис.4 слева направо) с первой (опорной) парой вершин в зоне

Каждая вершина зоны 2, (опорная или простая) связана с соседней справа парой простых вершин зоны 2{ ориентированными ребрами (на рис.4 слева направо).

Алгоритмом А2 решается задача построения маршрута Б на графе 02, начинающегося со стартовой вершины О и включающего вершины, соответствующие позициям на шаблоне БИ для размещения в них разрезов, с указанием типа, в том порядке, в котором они расположены в шаблоне БИ.

В качестве коллективной эволюционной памяти (КЭП2) алгоритма А2 служит матрица смежности графа 02. Значением элемента х^ матрицы смежности графа 02 является степень пригодности ребра, связывающего вершины Х1 и х^ Степень пригодности ребра определяется количеством отложенного феромона на ребре.

1IV 11Н 2IV 21Н 22У 22Н 31V 31Н 32У 32Н ЗЗУ ЗЗН

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

11У X X

11Н X X

2IV X X

21Н X X

22У X X

22Н X X

31У X X

31Н X X

32У X X

32Н X X

ЗЗУ X X

ззн X X

Рис. 6. Матрица смежности графа 02, используемая в качестве коллективной эволюционной памяти (КЭП2)

Процесс поиска решений итерационный. Эволюционирующая популяция разбита на пары агентов. Каждый член популяции - пара агентов, работающих совместно. При этом конструктивные алгоритмы A1 и A2, используемые агентами пары различаются. Алгоритмы разработаны на основе метода муравьиной колонии. Каждая итерация l общего алгоритма включает начальный и три основных этапа.

Начальный этап. Обнуляются вспомогательные матрицы КЭП 1 и КЭП 2.

На первом этапе каждая пара агентов dk=(a1h а2к):

♦ конструктивными алгоритмами A1 и A2 на базе графов G1 и G2 и коллективной эволюционной памяти - матриц КЭП1 и КЭП2 синтезирует свое собственное решение Wk=(E1k*,Sk);

♦ формируется польское выражение Shk, соответствующее решению Wk;

♦ на базе Shk формируется дерево разрезов Tk;

♦ на базе Tk формируется план Rk и рассчитывается оценка решения Fk.;

♦ агенты пары dk=(a1k, a2k) откладывают (добавляют) феромон в ячейки вспомогательных матриц коллективной эволюционной памяти КЭП 1 и КЭП 2, соответствующие ребрам решения Wk=(E1k ,Sk) в графах поиска решений G1 и G2 в количестве пропорциональном оценке решения Fk.

На втором этапе после построения всеми парами агентов решений Wk феромон, накопленный в КЭП 1 и КЭП 2 агентами популяции на итерации l добавляется в КЭП1 и КЭП2.

На третьем этапе осуществляется испарение феромона на ребрах графов G1 и G2 (в КЭП1 и КЭП2).

В работе используется циклический (ant-cycle) метод муравьиных систем. В этом случае феромон откладывается в матрицы КЭП1 и КЭП2 после полного формирования всеми агентами решений на текущей итерации. Для накопления феромона, откладываемого агентами за одну итерацию, используются вспомогательные дублирующие матрицы КЭП 1 и КЭП*2. Другими словами в процессе выполнения итерации агенты по очереди откладывают феромон в КЭП 1 и КЭП*2, а после завершения итерации феромон, накопленный агентами в КЭП 1 и КЭП*2, откладывается в КЭП1 и КЭП2.

Отметим, что оценка решения задачи планирования вычисляется после полного формирования решения W=(E1 ,S) парой агентов dk=(a1k, a2k) и последующей свертке дерева разрезов [1].

На начальном этапе всем элементам матриц памяти КЭП1 и КЭП2 присваивается значение 0=£/е, где s=\E\.

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

С помощью первого конструктивного алгоритма А1 решается задача выбора ориентации и назначения множества модулей M=(ml\i=1,2,...,n+1j в множество позиций P={pj\j=1,2,...,n} шаблона Sh. Поиск решения осуществляется первыми агентами a1k каждой пары dk=(a1h a2k) на графе G1. Задача сводится к поиску на полном двудольном графе G1=((M1UM2)UP,E1) с использованием КЭП1 взаимно однозначного соответствия между множествами вершин M и P. Формируемое соответствие между M и P описывается множеством ребер E1 aE1.

Основные ограничения формируемого множества ребер E1 , заключаются в следующем:

♦ каждое ребро (т, pj) eE1 , с одной стороны, инцидентно только одной вершине mteM, с другой стороны - инцидентно одной и только одной вершине

PjeP;

♦ формирование каждым агентом а1к множества ребер Е1 осуществляется последовательно по шагам на базе множества Е1 ребер полного двудольного графа 01 (пошагово).

В памяти агента а1к имеется:

♦ список вершин М1кеМ, уже размещенных в позициях Р1к(0 аР;

♦ список вершин М2() еМ, оставшихся неразмещенными, М1кфиМ2к(1) =М;

♦ список свободных позиций Р2()аР, Р^^Р^) =Р.

♦ З() - количество феромона, на каждом ребре (т, ру) графа 01.

В зависимости от ориентации модуля - 01 или 02 каждому ребру (т1,, ру) соответствует оценка степени пригодности Зуу(01), ребру (т2, ру) - Зуу(02),

Приводится в начальное состояние память агента а1к:

М1к(1)=0; М2к(1)=М; Р1к(1)=0; Р2к(1)=Р; Е1*к(1)=0.

Формирование агентом а1к решений Е1 к производится на множестве ребер Е1 графа 01=(МиР,Е1).

На шаге / формируется:

♦ множество вершин М1к($ еМ, уже размещенных в позициях Р1к(^ аР;

♦ множество вершин М2ф) еМ,оставшихся неразмещенными, М1к(Г)иМ2к(Г)=М;

♦ список свободных позиций Р2()аР, Р^^Р^) =Р.

Для каждой пары вершин т,еМ2() определяется набор ребер \иО\ = \Р2к(()\, связывающих т, с вершинами множества Р2кф. Пусть и1() - множество ребер (т1,, ру), инцидентных вершине т1, а и2() - множество ребер (т2, ру), инцидентных вершине т2.

На основе данных КЭП1 для каждой вершины mi подсчитываются суммарное количества феромона ф1кь размещенного на ребрах вуеП1А), и ф2кь размещенного на ребрах вуеи2(): ф1ы=1у-З1у(01)\вуе1Л(г), ^^у^^вуеи2().

Для каждой вершины т, подсчитываются общее суммарное количество феромона Ок1= ф1ц + ф2ы.

Среди вершин mi еМ2кф отыскивается вершина та с максимальным значением Qki.

Если (ф1ы)тах>(ф2к,)тах, то агент а1к среди ребер и1а(г)си{г), инцидентных выбранной вершине та, с вероятностью ¥а(1)=Зау(01)(1)/ф1к1 выбирает ребро вау=(т1а ру), которое включается в формируемое агентом а1к множество ребер

Е1к*(Г+1).

Если (ф2ка)тах>(ф1к)тах, то агент а2к среди ребер Ша(г)си(г), инцидентных выбранной вершине та, с вероятностью ¥()=Зау(02)(1)/ф1к, выбирается ребро вау=(т200 ру), которое включает в формируемое агентом а1к множество ребер

Е1к* (Г+1).

Далее, выполняются постпроцедуры.

Е1к*(Г+1)=Е1к*(Г+1)ива].

М1к(Г+1) =М1к(Г) ита; М2к(Г+1) =М2к \ та. Р1к(Г+1)=Р1кЧ>/; Р2к(1+1)=Р2к \ ру.

Переход к следующему шагу.

Процесс формирования агентом а1к множества Е1к завершается при

М2к(О=Р2к(О=0

4. Второй конструктивный алгоритм А2. Второй конструктивный алгоритм А2 решает задачу выбора типа разреза, зоны на шаблоне Бк и места в зоне для размещения в нем разреза.

Поиск решения осуществляется вторыми агентами а2к каждой пары ёк=(а1ь а2к) на разработанной модели (граф 02) пространства поиска решений, учитывающей специфику решаемой задачи.

Задача сводится к поиску на графе 02=(Х,Е2), с использованием КЭП2, маршрута Бк, включающего вершины, соответствующие позициям на шаблоне БИ, для размещения в них разрезов, с указанием типа, в том порядке, в котором они расположены в шаблоне БИ.

Формирование каждым агентом а2к маршрута Бк осуществляется на графе 02 последовательно по шагам (пошагово), начиная с начальной вершины О.

Агенты обладают памятью. Вершины графа 02 могут находиться в одном из двух состояний - активном и пассивном, которое меняется в процессе построения маршрута. Для отображения состояния вершин используется массив &={в Ц=1,2, ...,п} текущего состояния вершин графа 02. Если 0=1, то вершина х, в активном состоянии и может служить кандидатом для размещения в ней разрезов, если 6=0, то вершина х, в пассивном состоянии и не является кандидатом для размещения в ней разреза. На каждом шаге / в памяти агента а2к хранится:

♦ число зон и разрезов N формируемого польского выражения;

♦ число N и список разрезов (вершин графа 02), уже вошедших в состав формируемого маршрута Б();

♦ последняя вершина епй(1-1) вошедшая в состав маршрута Б(-1) на шаге 1);

♦ параметры вершины епё(и1): 2е - номер зоны, в которой размещена вершина впё(и1), те - тип вершины епё(и1): те=1 - опорная или те=0 простая вершина;

Приводится в начальное состояние память агента а2к:

Элементы массива &={6 1=1,2,...,п} приводятся в активное состояние, т.е. (Ы)[ 6, =1]; фиксируется: число зон и разрезов Ы2; 1=0; N($=0; Б()=0; епёф=О;

2е=0; Те=0.

Первой процедурой на шаге ( формируется список ребер ике графа 02, которые исходят из вершины епй(1-1) и входят в находящиеся в активном состоянии вершины множества Хке.

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

Формирование хКе, производится в соответствии со структурой графа 02, описанной выше (см. рис. 4). В ХКке включаются:

1) все, если такие есть, опорные вершины, входящие в Хке;

2) ближайшая в зоне 2е к вершине епй(1-1) пара простых вершин, если такая есть.

Далее, среди ориентированных ребер, входящих в вершины множества хКе,

выбирается ребро етах,, на котором в графе 02 отложено максимальное количество феромона и вершина хтах, в которую входит ребро етах. Ребро включается в маршрут Б(). Выполнение постпроцедуры: N/^=N0+1; Б()=Б(-1) иетах.

Фиксация последней вершины епйф, вошедшей в состав маршрута Б() на шаге (I) и ее параметров: 2е, те.

Во всех зонах последняя в активном состоянии пара простых вершин переходит в пассивное состояние. Переход к следующему шагу.

Процесс формирования агентом а2к маршрута Бк. завершается после распределения по позициям всех разрезов.

После построения агентами пары ёк=(а1к, а2к) решения Ж=(Е1 ,Бк), оно последовательно трансформируется в польскую запись, дерево разрезов, а затем алгоритмом свертки в план Кк(1) для которого рассчитывается оценка решения Ек(1)..Оценки, полученные всеми агентами на одной итерации суммируются и вносятся в матрицы коллективной эволюционной памяти. После испарения феромона в матрицах КЭП выполняется следующая итерация МА.

5. Эволюционный алгоритм планирования.

1. Задается число модулей и их геометрические параметры.

2. Задается критерий оптимизации.

3. В соответствии с исходными данными формируются шаблон позиций польского выражения в виде вектора БИ=<о о ¡_ о 2 о з о 4... о пд>.

4. В соответствии с исходными данными формируются две модели пространства поиска решений: два графа поиска решений 01 и 02.

5. Задаются значения управляющих параметров.

6. Задается число пар агентов N в популяции.

7. Задается число итераций - N

8. Формируются матрицы коллективной эволюционной памяти КЭП1 и КЭП2. На всех ребрах исходных графов поиска решений 01 и 02 (в соответствующих ячейках КЭП1 и КЭП2) откладывается начальное количество феромона.

9. 1=1. (I - номер итерации)

10. Обнуление элементов матриц КЭП 1 и КЭП*2.

Начало работы 1 конструктивного алгоритма А1.

11. 7. к=1. (к - номер агента).

12. Формируются начальные значения параметров памяти для агента а1к популяции 2!. 1=0. Ы1к(1)=0. М2()=М. Р1()=0. Р2()=Р. Е1к(Г)=0.

13. (=(+1. А - номер шага).

14. Для каждой пары вершин mieM2k(t) определяется набор ребер

\ иА)\ = \Р2к(^\, связывающих mi с вершинами множества Р2кф. Пусть и1() - множество ребер (т1,, р) инцидентных вершине т1, а П2() - множество ребер (т2, ру), инцидентных вершине т2,.

15. На основе данных КЭП1 для каждой вершины т, подсчитываются суммарное количества феромона ф1к, размещенного на ребрах вуеП1А), и ф2к, размещенного на ребрах ереП2^): ф^^^дуО^ецет^), ф2к1=^- дуО^вует^).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

16. Для каждой вершины т, подсчитываются общее суммарное количество феромона Оы=ф1ы + ф2ы.

17. Среди вершин тееМ2к(^ отыскиваются вершина та с максимальным значением Дк,.

18. Если (ф1ка)тах>(ф2к)тах, то агент а1к с вероятностью ¥а(У=да/О1)(У/ф1к, включает ребро еау=(т1фру), инцидентное вершине та, в формируемое агентом множество Е1к ^+1).

Если (ф2ка)тах>(ф1к)тах, то агент а2к с вероятностью ¥а($=да/О2)(^/ф2ы включает ребро еау=(т2а, ру), инцидентное вершине та, в формируемое агентом множество Е1кА+1).

19. Выполнение постпроцедур после шага t.

Е1к*р+1)=Е1к*р+1)ие0

М^+1) =М1() ита, М2к^+1) =М2к\та. Р^+1)=Р1к ир;, Р2к^+1)=Р2кр:

20. Если М2ф+1)=0, т.е все модули получили назначение и ориентацию агентом А1к, то переход к 21 (алгоритму А2), иначе переход к 14. Переход к следующему шагу.

Процесс формирования агентом а1к множества Е1к завершается при

М2кф=Р2кф=0.

21. Начало работы 2 конструктивного алгоритма.(2й агент а2к).

22. Формируются начальные значения параметров памяти для агента а2к популяции 21. Фиксируется: число зон и разрезов N. t=0. N=0. Бк^-1)=0. епёф =0., 2е, те.

Все элементы массива &={6^=1,2, ...,п} приводятся в активное состояние, т.е.

(У,)[6,=1].

23. t=t+1. (t - номер шага).

24. Формируется список ребер Uke(t) графа G2, исходящих из вершины end(t-l) и список находящихся в активном состоянии вершин множества Xe, в которые входят ребра списка Uke(t).

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

26. Среди ребер, входящих в вершины множества xKke(t) выбирается ребро emax, на котором в графе G2 отложено максимальное количество феромона, Это ребро включается в маршрут Sk(t).

27. Выполнение постпроцедур после шага t. Nr=Nr+1. Sk(t)=Sk(t-1)uemax.

Фиксация последней вершины end(t), вошедшей в состав маршрута Sk(t) на

шаге (t) и ее параметров: ze, Te. Во всех зонах последняя в активном состоянии пара простых вершин переходит в пассивное состояние.

28. Если Nr < Nz, то переход к 19 (алгоритму A2) , иначе переход к 24.

29. Формируется польское выражение Shk(l), соответствующее решению Wk(l)=(E1k ,Sk), полученному парой агентов dk=(a1k, a2k).

30. На базе Wk формируется дерево разрезов Tk(l).

На базе Tk(l) алгоритмом свертки формируется план Rk(l) и рассчитывается оценка решения Fk(l). Расчет количества феромона пропорционального оценке

Fk(l) Tk(l)= Q/Fk(l).

31. Агенты откладывают (добавляют) феромон в ячейки матриц коллективной эволюционной памяти КЭП 1 и КЭП*2, соответствующие ребрам решения Wk=(E1k,Sk) в графах поиска решений G1 и G2 в количестве пропорциональном оценке решения Fk(l)..

32. Если k<Na, то k=k+1 и переход к 12, иначе переход к 33.

33. Сложение матриц КЭП1 и КЭП*1, КЭП2 и КЭП*2.

34. Выполняется процедура испарения феромона на ребрах графов поиска решений G1 и G2.

35. Если l<Nl, то l=l+1 и переход к 7, иначе переход к 36.

36. Конец работы алгоритма.

6. Экспериментальные исследования. Экспериментальные исследования программы ПМК проводились на контрольных примерах с известным оптимумом F^, синтезированные известным методом AFEKO - Floorplanning Examples with Known Optimal area [14-22].

При проведении испытаний фиксировалось число итерации, при которых алгоритм находил лучшее решение решению. Сравнения результатов производилась по показателю F^/F - «степень качества», где F - оценка полученного решения. На основе обработки экспериментальных исследований была построена средняя зависимость степени качества от числа итераций и от размера популяции (рис. 7). Анализ результатов показал, что лучшие решения были получены в пределах 120-130 итерации. Решение близкое к оптимальному, было получено среднем на 125 итерации. В результате анализа показателей качества, полученных разработанным алгоритмом на тестовых примерах с известным оптимумом установлено, что у 70 % примеров значение показателя оптимально, у 15 % примеров - на 5 % хуже, а у 15 % - хуже не более, чем на 2 %.

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

Рис. 7. Зависимость качества алгоритма от размера популяции и числа итераций

Для сравнения качества разработанного алгоритма планирования использовались стандартные тесты (бенчмарки), используемые разработчиками для оценки разработанных алгоритмов [12, 13]. Стандартные тесты (бенчмарки) созданы на MCNC (Microelectronics Center of North Carolina) образцах элементов. Были использованы пять типов корпусов, в которых количество элементов варьировалось от 9 до 49. Самый большой корпус - для платы ami49 на 49 элементов, с 42 интерфейсами ввода-вывода, 408 связями и 931 ножкой. Сравнение производилось по значению площади.

Для сравнения были выбраны наиболее известные поисковые алгоритмы планирования: АД - адаптивный [3]; МА - меметический [14]; ГЕН - генетический [15]; ГА - гибридный [16]; ПМК - разработанный муравьиный Эксперименты разработанного алгоритма проводились на ЭВМ типа IBM PC с процессором Pentium, а результаты у сравниваемых алгоритмов получены на базе платформы Ultra1-Spark.

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

Таблица 1

Сравнение результатов работы алгоритмов

Бенч марка АЛГОРИТМ

АД ГЕН МА ГА ПМК

apte 49425136,4 49425136,4 49396354 49396354 49196354

xerox 24954567,8 24954567,8 24873723 24895479 23957366

hp 12232485 12232485 12176343 12194845 11393236

ami33 3510173,5 3530173,4 3520854 3538838 34190074

ami49 136133614,4 136133614,4 134285950 137343334 128591325

АД - адаптивный; ГЕН - генетический; МА - меметический; ГА - гибридный; ПМК - муравьиный.

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

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

терпретации плана выполняется процедура свертки [6]. Ядром муравьиного алгоритма является конструктивный алгоритм, с помощью которого каждый член популяции на каждой итерации находит решение задачи. В работе, в отличие от канонической парадигмы МА, эволюционирующая популяция разбита на пары агентов. Каждый член популяции - пара агентов, работающих совместно. Задача планирования решается каждой парой агентов двумя конструктивными алгоритмами. При этом конструктивные алгоритмы A1 и A2, используемые агентами пары различаются. Алгоритм A1 решает задачу выбора взаимного расположения и ориентации модулей в польском выражении. Алгоритм A2 решает задачу выбора последовательности, расположения и типа разрезов в польском выражении. Для решения задачи планирования методом, отличным от канонической парадигмы МА, разработаны модели пространства поиска решений - два графа G1 и G2. Полный двудольный граф G1 используется алгоритмом A1 в качестве модели пространства поиска решений при размещении и выборе ориентации модулей в множестве позиций шаблона Sh. В алгоритме A2 в качестве модели пространства поиска решений для выбора типа, последовательности и места расположения разрезов в шаблоне Sh разработан граф G2=(X, E2). X={(x1i. x2)\i=1,2,...,n} множество вершин графа G2, соответствует множеству P потенциальных позиций шаблона Sh для возможного размещения в них разрезов. Матрица смежности графа G2, используется в качестве коллективной эволюционной памяти. Значением элемента Xj матрицы смежности графа G2 является степень пригодности ребра, связывающего вершины Xi и Xj.

Тестовые испытания подтвердили эффективность предложенного метода. Временная сложность алгоритма, полученная экспериментальным путем, совпадает с теоретическими исследованиями и для рассмотренных тестовых задач составляет О(п2).

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

1. Курейчик В.М., Лебедев Б.К., Лебедев В.Б. Планирование сверхбольших интегральных схем на основе интеграции моделей адаптивного поиска // Известия РАН. Теория и системы управления. - 2013. - № 1. - С. 84-101.

2. Норенков И.П. Основы автоматизированного проектирования: учебник. - М.: Изд-во МГТУ имени Н.Э. Баумана, 2006. - 336 с.

3. Kureichik V.M., Lebedev B.K., Lebedev O.B. Hybrid evolutionary algorithm of planning VLSI // Proceedings of the 12th Annual Genetic and Evolutionary Computation Conference. - Portland, 2010. - P. 821-822.

4. Pritha B., Megha S., Susmita S.-K. Floorplanning for Partially Reconfigurable FPGAs // IEEE Trans. Comput.-Aided Des. Integr. Circuits Sys. - 2011. - No. 1. - P. 8-17.

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

6. Лебедев О.Б. Модели адаптивного поведения муравьиной колонии в задачах проектирования. - Таганрог. Изд-во ЮФУ, 2013. - 199 с.

7. Лебедев Б.К., Лебедев О.Б., Лебедев В.Б. Гибридизация роевого интеллекта и генетической эволюции на примере размещения // Электронный журнал "Программные продукты, системы и алгоритмы». - Тверь: Изд-во «Центрпрограммсистем», 2017. - № 4.

8. Лебедев О.Б. Планирование СБИС на основе метода муравьиной колонии // Известия ЮФУ. Технические науки. - 2010. - № 7. - С. 67-73.

9. Mourelle M. Swarm intelligent systems. - Berlin: Heidelberg: Springer Verlag, 2006. - 217 p.

10. Qi L. et al. Simulated annealing based thermal-aware floor planning // International Conference on Electronics, Communications and Control. - 2011. - P. 463-466.

11. Лебедев Б.К., Лебедев О.Б. Биоинспирированные методы планирования кристалла СБИС // Тр. VI Всероссийской научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем». Сборник трудов. - М.: ИППМ РАН, 2012. - С. 171-176.

12. Ерошенко И.Н. Разработка генетического алгоритма кластерного планирования СБИС // Известия ЮФУ. Технические науки. - 2010. - № 7. - С. 54-60.

13. Sherwani N.A. Algorithms for VLSI Physical Design Automation. - Third Edition, Kluwer Academic Publisher. - USA: 2013. -572 p.

14. Potti S., Pothiraj S. GPGPU Implementation of Parallel Memetic Algorithm for VLSI Floorplanning Problem // Trends in Computer Science, Engineering and Information Technology, Communications in Computer and Information Science. - 2011. - P. 432-441.

15. Ерошенко И.Н. Методы адаптации генетических алгоритмов к задаче планирования СБИС // Тр. конгресса по интеллектуальным системам и информационным технологиям «IS-ГГП». - М.: Физматлит, 2011. - С. 138-145.

16. Chen J., Zhu W. A hybrid genetic algorithm for VLSI floorplanning // IEEE International Conference on Intelligent Computing and Intelligent Systems. - 2010. - P. 128-132.

17. Cong J., Nataneli G., Romesis M., Shinnerl J. An Area-Optimality Study of Floorplanning // Proceeding of the International Symposium on Physical Design. - Phoenix, AZ, 2004. - P. 78-88.

18. Cong J., Romesis M., Xie M. UCLA Optimality Study Project. http://cadlab.cs.ucla.edu/ ~pubbench. 2004.

19. MCNC Electronic and Information Technologies (Online). Available: www.mcnc.org.

20. hMetis [Online]. Available: http://www-users.cs.umn.edu/karypis/metis/hmet300. HB Floorplan Benchmarks [Online]. Available: http://cadlab.cs.ucla.edu/ cpmo/HBsuite.html.

21. IBM-PLACE 2.0 benchmark suits [http://er.cs.ucla.edu/benchmarks/-ibm-place2/bookshelf/ ibm-place2-all-bookshelf-nopad.tar. gz].

22. Adya S.N. ISPD02 IBM-MS Mixed-size Placement Benchmarks [http://vlsicad.eecs.umich. edu/BK/ISPD02bench/].

REFERENCES

1. Kureychik V.M., Lebedev B.K., Lebedev V.B. Planirovanie sverkhbol'shikh integral'nykh skhem na osnove integratsii modeley adaptivnogo poiska [Planning of very large-scale integrated circuits based on the integration of adaptive search models], Izvestiya RAN. Teoriya i sistemy upravleniya [News RAS. Theory and Control Systems], 2013, No. 1, pp. 84-101.

2. Norenkov I.P. Osnovy avtomatizirovannogo proektirovaniya: uchebnik [Basics of computer-aided design: textbook]. Moscow: Izd-vo MGTU imeni N.E. Baumana, 2006, 336 p.

3. Kureichik V.M., Lebedev B.K., Lebedev O.B. Hybrid evolutionary algorithm of planning VLSI, Proceedings of the 12th Annual Genetic and Evolutionary Computation Conference. Portland, 2010, pp. 821-822.

4. Pritha B., Megha S., Susmita S.-K. Floorplanning for Partially Reconfigurable FPGAs, IEEE Trans. Comput.-AidedDes. Integr. Circuits Sys., 2011, No. 1, pp. 8-17.

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

6. Lebedev O.B. Modeli adaptivnogo povedeniya murav'inoy kolonii v zadachakh proektirovaniya [Models of adaptive behavior of an ant colony in design problems]. Taganrog. Izd-vo YuFU, 2013, 199 p.

7. 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 on the example of placement], Elektronnyy zhurnal "Programmnye produkty, sistemy i algoritmy» [Electronic journal "Software products, systems and algorithms"]. Tver': Izd-vo «TSentrprogrammsistem», 201, No. 4.

8. Lebedev O.B. Planirovanie SBIS na osnove metoda murav'inoy kolonii [VLSI planning based on the ant colony method], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2010, No. 7, pp. 67-73.

9. Mourelle M. Swarm intelligent systems. Berlin: Heidelberg: Springer Verlag, 2006, 217 p.

10. Qi L. et al. Simulated annealing based thermal-aware floor planning, International Conference on Electronics, Communications and Control, 2011, pp. 463-466.

11. Lebedev B.K., Lebedev O.B. Bioinspirirovannye metody planirovaniya kristalla SBIS [Bioinspired methods of VLSI crystal planning], Tr. VI Vserossiyskoy nauchno-tekhnicheskoy konferentsii «Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem». Sbornik

trudov [Proceedings of the VI All-Russian scientific and technical conference «Problems of the development of promising micro- and nanoelectronic systems». Collection of works]. Moscow: IPPM RAN, 2012, pp. 171-176.

12. Eroshenko I.N. Razrabotka geneticheskogo algoritma klasternogo planirovaniya SBIS // Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2010, No. 7, pp. 54-60.

13. Sherwani N.A. Algorithms for VLSI Physical Design Automation. Third Edition, Kluwer Academic Publisher. USA: 2013, 572 p.

14. Potti S, Pothiraj S. GPGPU Implementation of Parallel Memetic Algorithm for VLSI Floorplanning Problem, Trends in Computer Science, Engineering and Information Technology, Communications in Computer and Information Science, 2011, pp. 432-441.

15. Eroshenko I.N. Metody adaptatsii geneticheskikh algoritmov k zadache planirovaniya SBIS [Methods for adapting genetic algorithms to the VLSI planning problem], Tr. kongressa po intellektual'nym sistemam i informatsionnym tekhnologiyam «IS-IT'11» [Proceedings of the Congress on Intelligent Systems and Information Technologies «IS-IT'11»]. Moscow: Fizmatlit, 2011, pp. 138-145.

16. Chen J., Zhu W. A hybrid genetic algorithm for VLSI floorplanning, IEEE International Conference on Intelligent Computing and Intelligent Systems, 2010, pp. 128-132.

17. Cong J., Nataneli G., Romesis M., Shinnerl J. An Area-Optimality Study of Floorplanning, Proceeding of the International Symposium on Physical Design. Phoenix, AZ, 2004, pp. 78-88.

18. Cong J., Romesis M., Xie M. UCLA Optimality Study Project. Available: http://cadlab.cs.ucla. edu/ ~pubbench. 2004.

19. MCNC Electronic and Information Technologies (Online). Available: www.mcnc.org.

20. hMetis [Online]. Available: http://www-users.cs.umn.edu/karypis/metis/hmet300. HB Floorplan Benchmarks [Online]. Available: http://cadlab.cs.ucla.edu/ cpmo/HBsuite.html.

21. IBM-PLACE 2.0 benchmark suits [http://er.cs.ucla.edu/benchmarks/-ibm-place2/bookshelf/ ibm-place2-all-bookshelf-nopad.tar.gz].

22. Adya S.N. ISPD02 IBM-MS Mixed-size Placement Benchmarks [http://vlsicad.eecs.umich. edu/BK/ISPD02bench/].

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Лебедев Олег Борисович - Южный федеральный университет; e-mail: lebedev.ob@mail.ru; г. Таганрог, Россия; тел.: 89085135512; кафедра систем автоматизированного проектирования; доцент.

Жиглатый Артемий Александрович - e-mail: artemiy.zhiglaty@gmail.com; тел.: 89185916819; кафедра систем автоматизированного проектирования; аспирант.

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

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

Zhiglatiy Artemy Alexandrovich - e-mail: artemiy.zhiglaty@gmail.com; phone: +79185916819; the department of computer aided design; graduate student.

Lebedevа Ekaterina Olegovna - e-mail: lbedevakate@mail.ru; phone: +79289591426; the department of computer aided design; graduate student.

i Надоели баннеры? Вы всегда можете отключить рекламу.