ТЕХНИЧЕСКИЕ НАУКИ
РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ ПРИ ПРОЕКТИРОВАНИИ ПРОГРАММИРУЕМОЙ ПОЛЬЗОВАТЕЛЕМ ВЕНТИЛЬНОЙ МАТРИЦЫ С ИСПОЛЬЗОВАНИЕМ ЭВОЛЮЦИОННЫХ
АЛГОРИТМОВ
12 3
Нгуен Минь Хонг , Фам Суан Фанг , Нгуен Хыу Шон Email: Nguyen 1185@scientifictext.ru
1Нгуен Минь Хонг - кандидат технических наук, старший преподаватель; 2Фам Суан Фанг - кандидат технических наук, заместитель заведующего кафедрой;
3Нгуен Хыу Шон - кандидат технических наук, декан, факультет технического управления, Государственный технический университет им. Ле Куй Дона, г. Ханой, Социалистическая Республика Вьетнам
Аннотация: при проектировании больших интегральных схем процесс размещения является NP-полной задачей, которая также является наиболее важной и трудоемкой задачей. Основная цель задачи размещения состоит в минимизации длины проводов между задачами при подключении логических блоков в процессе проектирования схемы. Кроме того, проблема размещения также должна обеспечивать отсутствие перекрытия между задачами. Вышеуказанные требования для процесса размещения требуют оптимального алгоритма с быстрой сходимостью для того, чтобы получить достаточно качественное решение. Оптимальные алгоритмы, основанные на естественных процессах, таких как генетические алгоритмы или алгоритм оптимизации роя частиц, были изучены и применены благодаря их высокой скорости сходимости и небольшому объему входной информации. Эти алгоритмы также применялись для решения задач размещения при проектировании схем. Предлагаемый подход к решению проблемы размещения состоит в одновременном объединении генетического алгоритма и алгоритма оптимизации роя частиц, чтобы использовать преимущества обоих алгоритмов. Процесс решения начинается с генетического алгоритма, полученные результаты используются в качестве входных данных для алгоритма оптимизации роя частиц. Качество предложенного алгоритма проверяется путем моделирования с использованием различных графов потоков данных, при этом, критерий оценки определяется длиной провода.
Ключевые слова: программируемая пользователем вентильная матрица (ППВМ), эволюционные алгоритмы, генетический алгоритм, метод роя частиц, оптимизация.
SOLVING OPTIMIZATION PROBLEMS IN FIELD-PROGRAMMABLE GATE ARRAY DESIGN USING EVOLUTIONARY ALGORITHMS
1 2 3
Nguyen Minh Hong , Pham Xuan Phang , Nguyen Huu Son
1Nguyen Minh Hong - PhD in Technical Sciences, Senior Lecturer;
2Pham Xuan Phang - PhD in Technical Sciences, Deputy Head of Department; 3Nguyen Huu Son - PhD in Technical Sciences, Dean, FACULTY OF TECHNICAL CONTROL, LE QUY DON UNIVERSITY OF SCIENCE AND TECHNOLOGY, HANOI, SOCIALIST REPUBLIC OF VIETNAM
Abstract: in the process of designing large integrated circuits, the placement process is the NP-complete problem and also the most important and time-consuming problem in the circuit design process. The main purpose of the placement problem is to minimize the length of wires between tasks when connecting logic blocks during circuit design. In addition, the placement problem
should also ensure that there is no overlap between tasks. The above requirements for the placement process require an optimal algorithm with fast convergence in order to obtain a sufficiently high-quality solution. Optimal algorithms based on natural processes, such as genetic algorithms or the particle swarm optimization algorithm, have been studied and applied due to their high convergence rate and small amount of input information. These algorithms have also been used to solve placement problems in circuit design. The proposed approach to solving the placement problem is to combine the genetic algorithm and the particle swarm optimization algorithm at the same time in order to take advantage of the advantages of both algorithms. The solution process starts with a genetic algorithm, the results obtained are used as input for the particle swarm optimization algorithm. The quality of the proposed algorithm is verified by modeling using various data flow graphs, while the evaluation criterion is determined by the length of the wire.
Keywords: field-programmable gate array (FPGA), evolutionary algorithms, genetic algorithm, particle swarm method, optimization.
1. Введение
В 1947 ученые в лаборатории Белла изобрели транзистор. Появление транзисторов произвело революцию в электронике, поскольку они совершили переход от использования вакуумных устройств к полупроводниковым устройствам [1]. В результате в 1950-х годах инженеры-электронщики начали проектировать усовершенствованные электронные схемы, которые были намного сложнее благодаря небольшим размерам полупроводниковых устройств. Однако, с увеличением сложности электронных схем приводится к слишком большой длине соединений, что снижается скорость выполнения функций схемы. Данная проблема была преодолена с появлением интегральных схем, в которых все компоненты и соединения интегрированы и упакованы в виде микросхем с использованием полупроводниковых материалов. В начале 1960-х годов началось массовое производство малых интегральных схем (МИС), а в конце 1960-х - средних интегральных схем (СИС). В 1970-х годах появились большие интегральные схемы (БИС) и сверхбольшая интегральная схема (СБИС) в 1980-х годах.
Процесс проектирования СБИС является процессом решения различных сложных задач для отображения цифрового проекта с конкретной технологией интегральных микросхем. FPGA является одной из таких технологий и становится более широко используемой технологией при разработке схем СБИС благодаря ее преимуществам (гибкость, низкое энергопотребление, высокая скорость и производительность в реальном времени).
Одной из проблем в процессе проектирования ППВМ является размещение компонентов схемы таким образом, чтобы параметры: критический путь (соответствующий скорости), потребление энергии, проводка были сведены к минимуму [2]. С вычислительной точки зрения задача размещения считается сложной и является NP-полной задачей [3]. К настоящему времени было предложено множество подходов к решению задачи размещения, таких как: аналитические алгоритмы, алгоритмы декомпозиции и эволюционные алгоритмы [4].
Из представленных выше подходов эволюционные алгоритмы наиболее широко используются для решения задачи размещения, в том числе алгоритм имитации отжига (АИО) [4], генетический алгоритм (ГА), метод роя частиц (МРЧ) или муравьиный алгоритм (МА - алгоритм оптимизации подражанием муравьиной колонии) [4-8].
Каждый из эволюционных алгоритмов имеет свои преимущества и недостатки. Чтобы воспользоваться различными преимуществами алгоритмов для решения задач оптимизации, комбинация алгоритмов изучалась во многих различных областях. В работе [9] представлено объединение ГА с МА для решения задачи выбора поставщика. В работе [10], алгоритмы МРЧ и МА были объединены для проектирования беспроводных сенсорных сетей для повышения стабильности и жизненного цикла сети по сравнению с обычными методами проектирования. Алгоритмы МРЧ и ГА также объединены для прогнозирования потребления энергии в Индии. Для решения этой задачи, два алгоритма объединены с искусственной нейронной сетью для повышения точности результатов прогнозирования [11].
23
Обладая способностью решить задачу оптимизации эволюционные алгоритмы и их объединения, в статье представлено объединение алгоритма ГА с МРЧ для решения ключевой задачи в процессе проектирования ППВМ, являющейся задачей размещения.
2. Задачи оптимизации при проектировании ППВМ
ППВМ является устройством, на котором позволяет программировать и перепрограммировать для реализации цифровых схем с требуемой функциональностью. Типичная структура ППВМ состоит из четырех основных компонентов: программируемые логические блоки (СЬВ), блоки ввода/вывода (ЮВ), транспонированная матрица ^М) и программируемые ключи (Р1), предназначенные для создания соединений между СЬВ и ЮВ. Типичная структура ППВМ представлена на рисунке 1.
Рис. 1. Типичная структура ППВМ
Процесс проектирования ППВМ включает в себя различные этапы, такие как логическая оптимизация, синтез, отображение, размещения и подключение. Однако, этап размещения считается одним из наиболее важных и трудоемких этапов в процессе проектирования ППВМ, поскольку он определяет качество схемы [12]. Алгоритм размещения определит фактическое физическое расположение логических блоков и блоков ввода-вывода на ППВМ для оптимального соединения.
В работе [13] представлено конкретное определение процесса размещения, являющегося процессом назначения блоков СЬВ конкретному приложению, который реализуется ППВМ и обеспечивает маршрутизацию (соединение) с минимальной длиной провода и площадью.
Входными данными для процесса размещения является список соединений, полученный на этапе логического синтеза. В статье, список соединений будет смоделирован как прямой граф потока данных (DDFG), где каждый узел представляет собой задачу, каждое ребро представляет собой связь между задачами [13]. Иллюстративный пример для DDFG представлен на рисунке 2.
DDFG также может быть представлена в виде матрицы смежности, размер которой зависит от количества задач.
Качество процесса размещения характеризуется такими критериями, как: площадь, длина проводки и т. д. В статье длина проводки используется для оценки качества алгоритма размещения.
3. Оптимальные алгоритмы, основанные на естественных процессах
Алгоритмы оптимизации основаны на естественных процессах, вдохновленных биологическими концепциями и процессами для решения задач оптимизации в науке и технике. Типичными алгоритмами являются эволюционные алгоритмы, МРЧ, искусственные нейронные сети, нечеткие системы. Характеристики этих алгоритмов заключаются в том, что они не требуют высокой точности входных параметров и способны обрабатывать абстракции, неопределенности и шум.
В случае, когда требуется определить оптимальное решение среди возможных решений, которое должно максимизировать или минимизировать некоторую функцию fopt следующим образом:
^=пш[/х )] ш
Где Х:,Х2,..., Хп - возможные решения; - оптимальное решение.
При этом, эволюционные алгоритмы, такие как генетические алгоритмы и алгоритмы, основанные на МРЧ, подходят для решения таких задач.
3.1. Генетический алгоритм
Генетические алгоритмы является ветвью эволюционных вычислений, основанная на принципах естественного отбора. Генетический алгоритм начинается с инициализации многих исходных популяции и выбора родителей для спаривания.
На основе кроссовера и операторов мутации на родителях производятся новые потомки, который постепенно заменит предыдущие поколения. Подобно естественному отбору, чем больше индивидуумы приспосабливаются к окружающей среде, тем выше шанс на выживание.
В ГА данная адаптация выражается через пригодную функцию, чем выше значение, тем больше вероятность того, что ген этого индивидуума будет передан следующему поколению в процессе воспроизводства.
Процесс отбора, спаривания и мутации повторяется из поколения в поколение. В ходе этого процесса популяция изменяется в сторону увеличения значения пригодной функции. В определенный момент в популяции определяются индивидуумы, удовлетворяющие требованиям задачи поиска, алгоритм ГА остановится. На рисунке 3 представлены компоненты двоичного алгоритма ГА [14, 15].
0 1 1 0 0 1 0 1 1 0
0 1 0 0 0 0 1 1 0 1
1 1 0 0 0 1 0 1 1 0
1 0 1 1 1 0 0 0 1 0
1 0 1 0 0 1 0 1 1 1
0 ] 0 0 0 1 1 0 1 0
Хромосома
О
Ген (1 = Аллель)
I
Популяция
Рис. 3. Компоненты двоичного алгоритма ГА
где: Население - подмножество всех возможных решений оптимальной задачи; Хромосома - одно из таких решений оптимальной задачи; Ген - является одним из элементов хромосомы; Аллель - значение, которое ген принимает для конкретной хромосомы.
a) Население
Население является подмножеством всех возможных решений оптимальной задачи или подмножеством хромосом при допущении, что наследуемость каждой индивидуум определяется одной хромосомой.
Во время эволюции популяции необходимо поддерживать разнообразие, чтобы избежать преждевременной конвергенции. Обычно популяции описываются двумерными массивами, где одно измерение является размером популяции, а другое является размером хромосомы. Начальная популяция может быть сгенерирована случайным образом или ориентирована на основе опыта разработчика алгоритма.
b) Пригодная функция
Пригодная функция используется как мера того, насколько «хорошими» являются индивидуумы в популяции. Пригодная функция может быть функцией одного или нескольких параметров в зависимости от конкретной задачи. Данные параметры являются параметрами (критериями) для оценки качества личности.
^ Процесс выбора
Выбор является процессом выбора родителей для воспроизводства потомства для следующего поколения путем скрещивания и мутации. Основной принцип метода выбора состоит в том, что чем выше значение пригодности хромосома, тем больше вероятность отбора.
Отбор не только определяет, что определенным индивидуумам разрешено существовать, но также определяет количество возможных детей. Поэтому операция отбора очень важна для качества генетического алгоритма. Некоторые типичные методы отбора включают в себя: пропорциональный отбор, рейтинговый отбор.
d) Процесс спаривания
Спаривание является операцией объединения характеристик двух родительских хромосом с образованием двух дочерних хромосом.
Спаривание обычно затрагивает не все хромосомы, а только между двумя случайно выбранными родительскими хромосомами с вероятностью рс (вероятность спаривания). Принцип спаривания заключается в случайном спаривании двух хромосом в популяции после прохождения отбора для создания двух дочерних хромосом, причем каждая дочерняя хромосома наследует часть генов отца, а часть генов матери.
Популярные методы спаривания включают: гибридизация в одной точке, многоточечная гибридизация, равномерная гибридизация.
e) Процесс мутации
Мутация, которая случайным образом изменяет один или несколько генов для увеличения структурного разнообразия в популяции. Мутация происходит с низкой
вероятностью рт. Методы мутации для методов десятичного и двоичного кодирования включают: мутацию с одной точкой; многоточечная мутация, равномерная мутация.
/ Условие прекращения
Условие прекращения является критерием для определения прекращения алгоритма ГА. Обычные условия прекращения:
- Через определенное количество поколений значение функции пригодности не меняется или популяция проходит определенное количество итераций.
- Значение пригодной функции достигло определенного заранее заданного значения.
4.2. Метод роя частиц
Алгоритм оптимизации роя является методом оптимизации, основанный на интеллекте популяции и роя частиц. МРЧ используется во многих различных областях, таких как обучение нейронных сетей, интеллектуальный анализ данных, обработка сигналов, проектирование оптимизации. В работах [7, 16] МРЧ использовался для решения проблемы размещения при проектировании ППВМ.
Алгоритм оптимизации роя имитирует процесс кормодобывания роя птиц, где положение каждой индивидуум представляет собой решение задачи оптимизации.
Каждый индивидуум в популяции, ищущий оптимальное решение в соответствии с алгоритмом оптимизации роя использует информацию о наилучшем положении этого индивидуума до настоящего времени (рЪеэЬ) и наилучшем положении этого индивидуума настоящего время (дЪеэЬ).
Скорость каждого индивидуума для следующего хода будет функцией рЪеэЬ, дЪеэЬ и начальной скорости этого индивидуума. Каждый раз при перемещении индивидуума в новую позицию, через целевую функцию Д.) параметры рЪеБЬ и дЪеэЬ будут снова обновляться [17]. Алгоритм оптимизации роя описывается в виде [17, 18]:
= + С1Гапй1 (РЬе^к - Х,к )+ С2™пй2 {р^к - Х,к ) (2)
Х ,к+1 = Хк+У1М1 (3)
где: Х{к,Х{к+1 - положение ¿_го индивидуума в момент к и к + 1; У1 к+1 - скорость ¿_го индивидуума в момент к + 1; рЬв1$1 к - наилучшее положение ¿_го индивидуума до момента к; pbestk - наилучшее положение популяции до момента к; № - коэффициент инерции; гапй и гапй2 - случайные числа в сегменте [0, 1]; с1 - весовой коэффициент pbest; с2 - весовой коэффициент gbest; pbest и gbest определяются по формуле [18]:
если /(pbestIkk )< /(х,М1)
1,к+1 1 Х1,к+1 если /(РЬЩ,к )> /(Х1М1)
При этом, значение gbestk - минимальное значение рЪеэЬ, то есть:
gbestk = пт ^Щк, РЬе^к ^ РЬе^м к ) (5)
Где N - количество индивидуумов в популяции.
4. Решение оптимизационных задач путем комбинирования метода ГА-МРЧ
Комбинированный алгоритм оптимизации является процессом объединения двух или более различных алгоритмов оптимизации для решения одной и той же задачи с целью использования преимуществ и преодоления недостатков каждого алгоритма оптимизации при их индивидуальном применении.
В данной статье представляется метод решения задачи оптимальной размещения алгоритмами ГА и МРЧ (ГА-МРЧ). Процесс размещения запускается алгоритмом ГА, результаты дополнительно оптимизируются алгоритмом МРЧ. Реализация алгоритма ГА-МРЧ требует выполнения следующих шагов:
Шаг 1: Предварительное построение размера ППВМ, размера популяции, числа
27
хромосом и количество повторов.
Шаг 2: Используется решение на основе предварительного построения для проверки перекрытия между задачами.
Шаг 3: Вычисление длины строки, используя пригодную функцию для решений. Пригодная функция имеет следующий вид:
X -X2)2 + & -У2)2 п (6)
где: У2), (Ух, У2) - координаты позиций, п - количество задач.
Шаг 4: В популяции в качестве родителей выбираются два индивидуума, соответствующие двум позициям, образующим соединительную линию наибольшей длины провода.
Шаг 5: Реализация одноточечного оператора гибридизации с вероятностью 0,5 для выбранного родителя.
Шаг 6: Реализация обратного оператора мутации для выбранного родителя.
Шаг 7: Замена выбранного родителя дочерним индивидуумом, сгенерированным операцией мутации.
Шаг 8: Повторение шагов со 2 по 7 до тех пор, пока не будет достигнуто максимальное количество цикла.
Шаг 9: Сортировка индивидуумов по минимальной длине провода и без перекрытия во всех циклах.
Шаг 10: Оптимальные индивидуумы, сортированные из алгоритма ГА, используются в качестве входных данных для МРЧ.
Шаг 11: Построение матрицы скоростей.
Шаг 12: Повторение шагов 2 и 3.
Шаг 13: Сортировка индивидуумов с минимальной длиной провода и присвоение pbest (при первом запуске цикла pbest и gbest совпадают). Со вторым запуском значения pbest и gbest будут снова обновляться в соответствии с уравнениями (4) и уравнением (5).
Шаг 14: Обновление матрицы скоростей в соответствии с уравнением (2).
Шаг 15: Повторение шагов со 12 по 14 до тех пор, пока не будет достигнуто максимальное количество цикла.
Шаг 16: Сортировка индивидуумов по минимальной длине провода и без перекрытия во всех циклах.
5. Результат моделирования
В статье рассматриваются семь DDFG с различными размерами схемы. Эти DDFG исследуются с использованием трех предложенных алгоритмов размещения: ГА, МРЧ и ГА-МРЧ. Исследуемые параметры DDFG представлены в таблице 1. Результаты опроса DDFG представлены в таблице 2 и на рисунках 4-10.
Таблица 1. Исследуемые параметры DDFG
Поз. DDFG Размер FPGA Размер популяции Количество задач Количество соединений CLB
1 8x8 10 10 20 064
2 8x8 10 10 18 064
3 8x8 10 05 24 064
4 8x8 05 05 04 064
5 10x10 15 15 31 100
6 10x10 20 20 17 100
7 10x10 20 20 20 100
Таблица 2. Результаты моделирования при использовании алгоритмов оптимизации минимальной длины
провода
Поз. DFG ГА МРЧ ГА- МРЧ Уровень улучшения (%)
Длина провода ГА МРЧ
1 67,17 44,73 39,89 40,61 10,82
2 67,32 39,54 37,18 44,77 05,97
3 76,53 58,16 57,97 24,25 00,33
4 08,51 05,00 04,00 53,00 20,00
5 105,25 97,02 96,98 07,86 00,04
6 74,32 50,16 47,84 35,63 04,63
7 157,9 123,2 109,25 30,81 11,32
Рис. 4. Результаты моделирования для решения задачи компоновки схемы DDFG 1 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Рис. 5. Результаты моделирования для решения задачи компоновки схемы DDFG 2 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Рис. 6. Результаты моделирования для решения задачи компоновки схемы DDFG 3 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Рис. 7. Результаты моделирования для решения задачи компоновки схемы DDFG 4 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Рис. 8. Результаты моделирования для решения задачи компоновки схемы DDFG 5 при использовании
алгоритмов ГА, МРЧи ГА- МРЧ
Рис. 9. Результаты моделирования для решения задачи компоновки схемы DDFG 6 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Рис. 10. Результаты моделирования для решения задачи компоновки схемы DDFG 7 при использовании
алгоритмов ГА, МРЧ и ГА- МРЧ
Приведенные выше результаты показывают, что с использованием алгоритма ГA-МРЧ значительно лучше справляется с задачей размещения, используя длину провода в качестве критерия оценки, по сравнению с использованием алгоритмов GA или PSO.
6. Вывод
Предложенный гибридный алгоритм оптимизации ГА-МРЧ позволяет решить задачу размещения схем лучше, чем при решении каждым алгоритмом в отдельности, за счет использования преимущества двух алгоритмов для получения требуемых результатов. Пригодная функция, используемая в предлагаемом алгоритме, позволяет уменьшить длину проводки и избежать перекрытия задач при размещении логических блоков в ППВМ. В результате повышается качество и стабильность системы.
Результаты исследования статьи могут быть расширены в дальнейших исследованиях для решения задач оптимизации размещения в реальном времени. Кроме того, результат
показывает возможность примерить новое направление с комбинацией других алгоритмов для решения задачи размещения.
Список литературы /References
1. Han J.W. & Meyyappan M. The device made of nothing. IEEE Spectrum, 2014. № 51(7). Pp. 30-35.
2. Jamieson P. Revisiting Genetic Algorithms for the FPGA Placement Problem. In GEM, 2010. Pp. 16-22.
3. Donath W.E. Complexity theory and design automation. In Proceedings of the 17th Design Automation Conference, 1980. June, Pp. 412-419.
4. Hussain S.N., & Kishore K.H. Computational optimization of placement and routing using genetic algorithm. Indian Journal of Science and Technology, 2016, № 9(47), Pp. 1-4.
5. Mohtavipour S.M. & Shahhosein, H.S. A Potential Solutions-Based Parallelized GA for Application Graph Mapping in Reconfigurable Hardware. In 2020 11th International Conference on Information and Knowledge Technology (IKT), 2020. December (pp. 85-87). IEEE.
6. Sadeghi A., Lighvan, M.Z. & Prinetto P. Automatic and Simultaneous Floorplanning and Placement in Field-Programmable Gate Arrays With Dynamic Partial Reconfiguration Based on Genetic Algorithm. Canadian Journal of Electrical and Computer Engineering, 2020. № 43(4). 224-234.
7. Sudhanya P. & Rani S.J.V. Adaptive Particle Swarm Optimization Based Wire-length Minimization for Placement in FPGA. In International Conference On Computational Vision and Bio Inspired Computing, 2018. November. Pp. 793-801. Springer, Cham.
8. Xu Y., Sun L., Guo S. & Liu H. (ber). Virtual FPGA Placement with an Efficient Ant Colony Optimization. In Chinese Conference on Trusted Computing and Information Security, 2019. Pp. 133-143. Springer, Singapore.
9. Luan J., Yao Z., Zhao F. & Song X. A novel method to solve supplier selection problem: Hybrid algorithm of genetic algorithm and ant colony optimization. Mathematics and Computers in Simulation, 2019. № 156. 294-309.
10.Rastogi R., Srivastava S., Manshahia M.S. & Kumar N. A hybrid optimization approach using PSO and ant colony in wireless sensor network, 2021. Materials Today: Proceedings.
11.Anand A. & Suganthi L. Hybrid GA-PSO optimization of artificial neural network for forecasting electricity demand. Energies, 2018. № 11(4).
12.Xu M., Grewal G. & Areibi S. StarPlace: A new analytic method for FPGA placement. Integration, 2011. № 44(3). Pp. 192-204.
13. Premalatha B. & Umamaheswari S. Cuckoo Search Optimization Algorithm based Hardware Task Placement and Routing in CAD of FPGAs Design Flow. Indian Journal of Science and Technology, 2016. № 9(6). Pp. 1-8.
14. Lin H.J., Yang F. W. & Kao Y. T. An efficient GA-based clustering technique. Journal of Applied Science and Engineering, 2005, № 8(2). Pp. 113-122.
15. HauptR.L. & Ellen Haupt S. Practical genetic algorithms, 2004.
16.Rout P.K., Acharya D.P. & Panda, G. Digital circuit placement in FPGA based on efficient particle swarm optimization techniques. In 2010 5th International Conference on Industrial and Information Systems, 2010, July. Pp. 224-227. IEEE.
17.Arora R.K. Optimization: algorithms and applications. CRC Press, 2015.
18. Vanapalli L.R. Particle Swarm Optimization Algorithm for Leakage Power Reduction in VLSI Circuits. International Journal of Electronics and Telecommunications, 2016, № 62(2), Pp. 179186.