УДК 004.021, 004.896, 519.612.2, 004.514.
В.В. Бегляров, А.Н. Берёза
ЭВОЛЮЦИОННЫЙ МНОГОПОПУЛЯЦИОННЫЙ АЛГОРИТМ РЕШЕНИЯ
СЛАУ (PEREKRESTOK)
Рассмотрены главные проблемы схемотехнического моделирования. Приведены методы решения уравнений математических моделей на этапе схемотехнического проектирования. Рассмотрена проблема решения больших плохообусловленных систем линейных алгебраических уравнений (СЛАУ). Описаны разработанный модифицированный метод и эволюционный многопопуляционный алгоритм решения систем линейных алгебраических уравнений. Представлено описание использованных генетических операторов. Приведены результаты экспериментального исследования и сравнения с другими методами решения СЛАУ, которые подтверждают преимущества данного модифицированного метода по сравнению с классическими методами решения систем линейных алгебраических уравнений.
Генетические операторы; эволюционный алгоритм; система линейных алгебраических уравнений; системы автоматизированного проектирования.
V.V. Beglyarov, A.N. Bereza
EVOLUTIONARY ALGORITHM SOLVING MNOGOPOPULYATSIONNY
SLAE (PEREKRESTOK)
The article describes the main problems of circuit simulation. The methods of solving equations of mathematical models on the stage of circuit design. The problem of solving large ill-conditioned systems of linear algebraic equations (SLAE). The developed modified method and evolutionary algorithm mnogopopulyatsionny solving systems of linear algebraic equations. The description of the used genetic operators. The results of the pilot study and a comparison with other methods solutions SLAE that confirm the advantages of the modified method compared to the classical methods of solving systems of linear algebraic equations.
Genetic operators; the evolutionary algorithm; the system of linear algebraic equations; computer-aided design.
Введение. В развитии современной экономики немаловажную роль играет создание конкурентоспособной высокотехнологичной радиоэлектронной аппаратуры. В этой ситуации первостепенную роль преобретают современные системы автоматизации проектирования (САПР), которые являются быстроразвивающимся наукоемким направлением прикладных исследований.
В связи с переходом на субмикронный уровень проектирования, математический аппарат САПР стал узким местом в концепции развития САПР. Следовательно, возникла необходимость разработки нового поколения САПР СБИС, поддерживающего новые методологии, новые библиотеки, включающего новые методы и алгоритмы моделирования. Также резко возросла актуальность точного схемотехнического (SPICE-подобного) моделирования для электронных схем больших размерностей [1, 2].
Одной из острых проблем остается проблема решения плохо обусловленных систем линейных алгебраических уравнений (СЛАУ) большой размерности, возникающих в процессе схемотехнического моделирования. Данная проблема особенно обострилась, в связи с постоянным уменьшением размеров элементов СБИС и, как следствие, необходимостью учитывать в процессе моделирования влияние паразитных компонентов на работу схемы [3].
Эволюционный многопопуляционный алгоритм решения СЛАУ PEREKRESTOK. Увеличение предельного размера проектируемых радиоэле-тронных систем привело к резкому увеличению времени работы для точных (SPICE) и снижению достоверности для быстрых (FastSPICE) подсистем схемотехнического моделирования.
Модификации математических методов, используемых в современных САПР, направлены на улучшение сходимости или вычислительной эффективности без упрощения исходной задачи.
Резервы повышения точности связаны, в основном, с точностью компонентных моделей элементов СБИС, а также с разработкой более совершенного математического аппарата.
Согласно матрично-топологическому представлению математические модели ИС обычно приводятся к двум типам:
x'=f(x,t),x( 0) = ж„ (1)
F(x', х, t) = 0, *(0) = ж0, (2)
где х - вектор переменных состояния (в качестве которых могут быть выбраны напряжения в узлах и/или токи ветвей, напряжения и/или токи реактивных элементов, контурные токи или узловые потенциалы) размерности N; f - вектор правых частей системы дифференциальных уравнений по времени; t - время; F - вектор системы алгебро-дифференциальных уравнений неявного вида порядка N, непрерывный вместе со своими производными по времени; х0 - вектор начальных значений переменных состояния. В общем случае системы (1) и (2) являются нелинейными [1].
Так как в общем виде систему дифференциальных уравнений математической модели можно решать неявными методами, которые требуют решения систем нелинейных и линейных уравнений, то для повышения эффективности схемотехнического проектирования достаточно увеличить эффективность решения СЛАУ и систем нелинейных уравнений большой размерности [1, 3].
На рис. 1 представлена классификация основных методов решения СЛАУ, используемых в САПР ЭВТ.
Рис. 1. Классификация методов решения СЛАУ
Традиционные методы решения СЛАУ не всегда способны эффективно решать слабообусловленные системы большой размерности, а также не способны преодолевать овражные участки ландшафтов функций. Следовательно, необходима разработка новых более эффективных методов решения математических моделей схемотехнических решений, обеспечивающих необходимое соотношение вре-
мени выполнения и точности решения. Предлагается использовать модифицированный метод решения СЛАУ, сочетающих в себе проекционные методы решения СЛАУ (метод бисопряженных градиентов и обобщенных минимальных невязок) и генетические операторы. Эволюционный подход позволяет увеличить скорость сходимости и преодолеть овражные участки ландшафтов функций.
СЛАУ в матричной форме [4-7]:
Ах = Ь. (3)
Суть предлагаемого подхода заключается в разбиении исходной системы уравнений на блоки и сведению задачи решения систем уравнений к задаче многоцелевой (многокритериальной) оптимизации. Требуется найти решение, минимизирующее значение следующего функционала (целевой функции):
М = \\Ах — Ъ\\ + 0Д||х|| + F ^ тт, (4)
где Б - значение эффективности, полученное по принципу Парето.
Суммарная погрешность 1-го блока определяется по формуле:
^ = \\Р1Х — у1\и = 1..т, (5)
где Pi - это матрица, являющаяся частью матрицы А, состоящая из правых частей образующих блок уравнений; vi - это вектор, являющийся частью вектора Ь, состоящий из левых частей образующих блок уравнений; m - число блоков, на кото-
рые была разбита исходная система.
Оптимальное количество блоков было получено экспериментальным путем в процессе исследования гибридного эволюционного алгоритма и равно 40.
Разработанный алгоритм работает с набором решений, полученных на этапе инициализации. Данный подход позволяет итерационно приближаться к искомому решению.
Основой разработанного алгоритма является эволюционная стратегия. В терминологии генетического алгоритма каждое полученное решение называется хромосомой, а весь набор решений - популяцией. Приведем список используемых генетических операторов: турнирная и элитная селекции, арифметический, расширенный, двухточечный и дискретный кроссинговер, вещественная мутация, корректирующая мутация, мутация бисопряженных градиентов, мутация обобщенных минимальных невязок [8-13].
Миграциия лучших хромосом между популяциями происходит случайным образом. Алгоритм завершает работу при достижении заданного количества итераций или при нахождении решения с указанной точностью.
Ниже представлен алгоритм работы каждой популяции:
Шаг 1. Ввод параметров работы алгоритма, k=0.
Шаг 2. Инициализация начальной популяции.
Шаг 3. Определение приспособленности и упорядочение.
Шаг 4. i=0.
Шаг 5. Если k меньше параметра случайной вероятности, то переходим к шагу 6, иначе переходим к шагу 10.
Шаг 6. Определение кандидатов на проведении оператора кроссинговера с помощью турнирной селекции.
Шаг 7. Случайный выбор и проведение оператора кроссинговера.
Шаг 8. Выбор кандидатов на проведении оператора мутации с помощью турнирной селекции.
Шаг 9. Случайный выбор и проведение оператора мутации. Переход к шагу 14.
Шаг 10. Определение кандидатов на проведении оператора кроссинговера с помощью турнирной селекции.
Шаг 11. Выбор и проведение оператора кроссинговера (выбор осуществляется по анализу эффективности).
Шаг 12. Выбор кандидатов с помощью турнирной селекции.
Шаг 13. Выбор и проведение оператора мутации (выбор осуществляется по анализу эффективности).
Шаг 14. Если i меньше параметра свободного принятия потомков (параметр, задающих номер поколения, после которого перед добавлением потомка в популяции производится анализ его приспособленности), то добавляем потомков в популяцию и переходим к шагу 19, иначе переходим к шагу 15.
Шаг 15. j=0.
Шаг 16. Если приспособленность текущего потомка меньше, чем средняя приспособленность по популяции, то переходим к шагу 17, иначе добавляем потомка в популяции и переходим к шагу 17.
Шаг 17. 7=/'+1.
Шаг 18. Если j меньше количества потомков, то переходим к шагу 16, иначе переходим к шагу 19.
Шаг 19. Если потомки были добавлены в популяцию, то переходим к шагу 20, иначе переходим к шагу 21.
Шаг 20. Определение приспособленности популяции, расстояний между хромосомами и упорядочение.
Шаг 21. Если k равно параметру редукции, то переходим к шагу 22, иначе переходим к шагу 25.
Шаг 22. Уменьшение скученности популяции, т. е. концентрации большого количества особей вокруг одной хромосомы.
Шаг 23. )Ъ=0.
Шаг 24. Определение приспособленности популяции, расстояний между хромосомами и упорядочение.
Шаг 25. Формирование новой популяции с помощью элитной селекции.
Шаг 26. Определение лучшей, средней и худшей хромосомы.
Шаг 27. Если улучшение лучшей хромосомы произошло, то переходим к шагу 28, иначе - к шагу 30.
Шаг 28.Если значения параметров для мутации обобщенных минимальных невязок и бисопряженных градиентов равны установленным, то переходим к шагу 32, иначе переходим к шагу 29.
Шаг 29. Уменьшение значений параметров для мутации обобщенных минимальных невязок и бисопряженных градиентов на 1.
Шаг 30. Если предел застоя (параметр, определяющих предельное количество поколений без улучшения лучшей хромосомы) достигнут, т. е. в течение определенного количества поколений не происходило улучшение лучшей хромосомы, то переходим к шагу 31, иначе переходим к шагу 32.
Шаг 31. Увеличение значений параметров для мутации обобщенных минимальных невязок и бисопряженных градиентов на 1.
Шаг 32. Если размерность популяции меньше 1/3 от исходной, то переходим к шагу 33, иначе - к шагу 34.
Шаг 33. Приведение популяции к исходному виду.
Шаг 34. Если приспособленность лучшей хромосомы меньше установленной, т.е. найдено решение с заданной погрешностью, то переходим к шагу 36, иначе переходим к шагу 35.
Шаг 35.Если i меньше количества поколений, то i=i+1 и переходим к шагу 5, иначе переходим к шагу 36.
Шаг 36. Вывод результата.
Шаг 37. Конец.
Экспериментальные исследования. Программная реализация разработанного алгоритма была выполнена в виде универсальной встраиваемой библиотеки на языке С#.
Проверка работоспособности разработанного эволюционного многопопуляционного алгоритма решения СЛАУ была проведена на наборе систем уравнений электрических цепей размером от 50 до 500 уравнений. Сравнение проводилось с методами Хука-Дживса, Нелдера-Мида, Гаусса-Зейделя, бисопряженных градиентов (BCG) и обобщенных минимальных невязок(ОМКЕЗ).
На рис. 2 и 3 представлены сводные диаграммы времени выполнения и точности вычислений по всем экспериментальным исследованиям.
2
100 150 200 250 300 350 400 450 500
PEREKRESTOK GMRES BCG
Рис. 2. Сводная диаграмма времени Рис. 3. Сводная диаграмма по
выполнения по всем точности вычислений по всем
экспериментальным исследованиям экспериментальным исследованиям
Результаты представлены только для разработанного и проекционных методов, так как остальные методы не справились с поставленной задачей.
Заключение. Анализ экспериментальных исследований показывает, что эволюционный многопопуляционный алгоритм решения СЛАУ PEREKRESTOK обеспечивает эффективное решение систем СЛАУ, а значит и математических моделей, полученных на этапе схемотехнического проектирования. По сравнению с другими представленными алгоритмами, разработанный алгоритм не испытывает проблем с потерей точности при увеличении размерности, при этом временная сложность алгоритма является квадратичной, что тоже является достоинством данного алгоритма.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Казеннов Г.Г. Основы проектирования интегральных схем и систем. - М.: БИНОМ. Лаборатория знаний, 2005. - 295 с.
2. Гридин В.Н. Численно-аналитическое моделирование радиоэлектронных схем. - М.: Наука, 2008. - 339 с.
3. Глебов А.Л. и др. Актуальные проблемы моделирования в системах автоматизации схемотехнического проектирования. - М.: Наука, 2003. - 430 с.
4. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М: Бином, 2008.
- 636 с.
5. Волосов К.А. Численные методы: учебное пособие. - М.: МИИТ, 2009. - 134 с.
6. Баландин М.Ю., Шурина Э.П. Методы решения СЛАУ большой размерности. - Новосибирск: Изд-во НГТУ. 2000 - 70 с.
7. Рено Н.Н. Численные методы. - М.: КДУ, 2007. - 100 с.
8. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. - Физико-математическая литература. 2006. - 339 с.
9. Гладков Л.А., Курейчик В.В., Курейчик В.М., Сороколетов П.В. Биоинспирированные методы в оптимизации. - М.: Физматлит, 2009. - 384 с.
10. Курейчик В.В., Запорожец Д.Ю. Роевой алгоритм в задачах оптимизации // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 28-32.
11. Tomasz Dominik Gwiazda. Geneticalgorithmsreference. Crossover for single-objective numerical optimization problems. / TomaszDominikGwiazda. - Published by TOMASZGWIAZDA E-BOOKS. 2006. - 47 c.
12. Панченко Т.В. Генетические алгоритмы . - Астрахань: Изд. дом «Астраханский университет», 2007. - 88 с.
13. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - С. 16-27.
Статью рекомендовал к опубликованию д.т.н., профессор М. Д. Молев.
Бегляров Вадим Валерьевич - ФГБОУ ВПО Южно-Российский государственный университет экономики и сервиса; e-mail: torbww@yandex.ru; 346500, г. Шахты, ул. Шевченко, 147; тел.: 89081760312; кафедра информационных системм и радиотехники; аспирант.
Берёза Андрей Николаевич - e-mail: anbirch@mail.ru; тел.: 89281574449; кафедра информационных систем и радиотехники; к.т.н.; доцент.
Beglyarov Vadim Valeryevich - South-Russian State University of Economics and Service; e-mail: torbww@yandex.ru; 147, Shevchenko street, Shakhty, 346500, Russia; phone: +79081760312; the department of information systems and radio engineering; postgraduate student.
Bereza Andrey Nikolaevich - e-mail: anbirch@mail.ru; phone: +79281574449; the department of information systems and radio engineering; cand.of eng. sc.; associate professor.
УДК 681.31.001.8
В.В. Гудилов
ДИНАМИЧЕСКОЕ ЭВОЛЮЦИОННОЕ МОДЕЛИРОВАНИЕ*
Современная теория эволюционного моделирования, разработанная Дж. Холландом в 1975 году, не рассматривает одно из важнейших направлении биологической эволюции -методы образования новых видов. Структура алгоритмов и генетических операторов в эволюционном моделировании носит исключительно статический характер. Получение в процессе эволюции новых видов происходит посредством изменения структуры генома, следовательно, представление генома при кодировании на уровне хромосомы должно быть динамическим, что коренным образом влияет на структуру генетических операторов, методики оценки и моделирования эволюционных процессов, переводя их в область динамического эволюционного моделирования.
Моделирование открытой эволюции; динамическое эволюционное моделирование; динамическое кодирование хромосомы; динамический критерий оценки решений.
V.V. Gudilov DYNAMIC SIMULATION OF EVOLUTION
Developed by John Holland in 1975 the modern theory of evolution modeling doesn't consider one of the major areas of biological evolution, notably the methods of formation new species. Algorithm structure and genetic operators is solely static nature in evolutionary modeling. Getting in the evolution of new species occurs through the changing in the genom's structure, therefore, the view of the genome encoding at the level of the chromosome must be dynamic, which fundamentally has an influence on the structure of the genetic operators, on estimation procedures and modeling of evolutionary processes, transfer them to dynamic evolutionary modeling.
Simulation of the evolution of an open; dynamic evolutionary modeling; dynamic coding chromosome; a dynamic criterion decisions.
Введение. Алгоритмы эволюционного поиска [1] разработаны для закрытых систем, в рамках которых «рассматриваемая система либо изолирована от внешних возмущающих воздействий, либо этими воздействиями можно пренебречь или
* Работа выполнена при частичной поддержке РФФИ (проект № 10-07-00055).