Алгоритм построения макромодели, основанный на идее метода определяющих величин

Алгоритм построения макромодели, основанный на идее метода определяющих величин

А. Е. Баскаков, Н.И. Борисов Кафедра ИТАС, МГИЭМ

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

Для решения этой проблемы в рамках линейных динамических систем было использовано макромоделирование [1]. Макромоделирование - процесс редукции исходной модели с сохранением только переменных, отвечающий за соотношение "вход-выход". Такая редукция происходит за счёт исключения внутренних фазовых переменных. Макромодель представляет собой систему обыкновенных дифференциальных уравнений высокого порядка, записанную с использованием оператора Лапласа. Все расчёты, проводимые над исходной моделью, возможны и для макромодели без потери точности. При этом скорость вычислений становится на несколько порядков выше. Возможно так же включение в макромодель небольшого количества варьируемых параметров с целью параметрической оптимизации модели. Такая макромодель может быть использована как элемент модели более высокого иерархического уровня.

Для того, чтобы было понятно о каких макромоделях идёт речь рассмотрим кратко процесс их построения. Модель системы можно записать следующим образом:

А

ё = qt ] - вектор варьируемых параметров. х, у - вектор выходных и входных переменных соответственно. А(р, Q) - (п, п) полиномиальная матрица модели. р - оператор Лапласа.

За счёт соответствующей перенумерации выходных переменных и изменения порядка следования уравнений можно представить модель системы в следующем виде:

А11

А21

Г х1 У1

х2 _ _ У2 _

х1 - вектор внутренних переменных размера п - т , х2 - вектор выходных переменных размера т . Запишем систему (1.2) в виде двух систем уравнений:

| А11 (Р) Х1 + А12 (Р)Х2 = у1 ]

IА21 (Р)х1 + А22 ( ё )х2 = у2 /

Выразив вектор х1 , в предположении, что существует А1-11(р ) и подставив его во второе уравнение, получим систему:

Данная система уравнений представляет собой макромодель, так как она включает в себя только входные переменные (у1, у2) и выходные (х2).

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

В случае если A(p) является полиномиальной матрицей первого порядка обратную матрицу можно получить в виде:

A- (p ) = B( Dp + E )-1 ST

, где В, 8Т - невырожденные (п, п) матрицы, Б - диагональная (п, п) матрица. Получение матрицы А1(р) в виде (1.4) требует решения полной задачи о собственных значениях и векторах пучка матриц. Причём такое представление возможно только в случае недефектной матрицы А(р) .

Если считать обращаемую матрицу плотной, то для такого обращения требуется в целом п4 мультипликативных операций. Конечно метод макромоделирования можно применять на малых задачах, однако с ростом размера системы данный подход требует больших вычислительных затрат. Для сокращения трудоёмкости построения макромодели для больших разреженных систем можно использовать метод блочно-иерархической редукции, применять специальные алгоритмы, использующие различные свойства обрабатываемых матриц, например положительно-определённость или симметричность. Известны методы, позволяющие вычислять собственные значения и собственные вектора больших разреженных матриц общего вида [4]. На сегодняшний день для пучка матриц наиболее мощным остаётся QZ-алгоритм, являющийся аналогом QR-алгоритма. Однако он эффективно работает только для систем малого и среднего размера. Общепринятым подходом при решении больших задач поиска собственных значений и векторов является сведение обобщённой задачи к стандартной задаче с дальнейшим применением итерационного метода [2]. Такая редукция на каждой итерации требует решение системы линейных алгебраических уравнений. Недостатком такого подхода является возникновение вычислительной погрешности, уменьшающей точность получаемых собственных значений.

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

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

Г /*> и и и

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

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

Рис. 1

Подход представляет собой процесс редукции, состоящий из трёх этапов:

1. Приведение матрицы модели к специальной форме (треугольной с окаймлением) за счёт перестановки строк и столбцов.

2. Первый шаг редукции, исключающий внутренние переменные, соответствующие треугольной подматрице.

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

На шаге 2 обращение полиномильной матрицы так же происходит за счёт приведения её к диагональному виду (1.4) , однако обращаемая матрица в данном случае является треугольной, что даёт возможность вычислить собственные значения практически мгновенно и точно. Собственные вектора треугольной системы вычисляются за счёт последовательного решения треугольных вырожденных однородных систем алгебраических уравнений, получаемых в результате подстановки собственных значений в полиномиальную треугольную подматрицу. Важно отметить, что для алгоритма, описанного в [3] размер получаемой треугольной подматрицы составляет более 80% от размера исходной матрицы. Именно за счёт быстрого обращения треугольной подматрицы на шаге 2 описанный метод будет работать на порядок быстрее, чем одношаговый алгоритм редукции для плотных матриц.

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

Основой проблемой при поиске собственных векторов на шаге 2 является возможная дефектность системы, в следствие наличия кратных собственных значений. Это заставляет накладывать дополнительные ограничения на алгоритм упорядочивания. Наиболее просто можно вычислить собственные векторы в том случае, если получаемая треугольная полиномиальная матрица будет не дефектной, и все собственные значения будут простыми.

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

используются для параллельного решения задач линейного программирования [5], LQ и QR разложения [6].

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

[1] Борисов Н.И., Шрамков А.И. Редукция моделей линейных электрических схем формальными методами макромоделирования. АСТ №12, 1997.

[2] Zhaojun Bai, James Demmel, Jack Dongarra, Axel Ruhe, and Henk van der Vorst. Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide. SIAM, Philadelphia, 2000.

[3] Петренко А. И., Власов А. И., Тимченко А. П. Табличные методы моделирования электронных схем на ЭЦВМ.— Киев: Вища школа, 1977, с. 48.

[4] Д. Уоткинс. Основы матричных вычислений. Москва: БИНОМ. Лаборатория знаний, 2006, с. 463

[5] A. Pinar, U. V. Catalyuurek, C. Aykanat, and M. Pinar, Decomposing linear programs for

parallel solution, in Proceedings of the Second International Workshop on Applied Parallel Computing, PARA '95, Lyngby, Denmark, 1995, Lecture Notes in Comput. Sci. 1041, Springer-Verlag, Berlin, 1996, pp. 473-482.

[6] Aykanat, C. Pinar, A. Catalyurek, U. V., Permuting Sparse Rectangular Matrices into Block-Diagonal Form, SIAM J. ON SCIENTIFIC COMPUTING, 2004, Vol. 25; Part 6, pages 1860-1879.

[7] Sangiovanni-Vincentelli, A. Bickart, T., Bipartite graphs and an optimal bordered triangular form of a matrix, IEEE Transactions on Circuits and Systems, October 1979, Vol. 26, Issue 10, pages 880- 889.