Особенности реализации программного комплекса для моделирования билинейных окрестностных и нечетко-окрестностных систем

УДК 512.8

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

© А.М. Шмырин, С.С. Роенко

Ключевые слова: параметрическая идентификация; смешанное управление; билинейная окрестностная система. Рассматриваются особенности реализации программного комплекса для моделирования билинейных окрестност-ных и нечетко-окрестностных систем, приводится пример работы программы параметрической идентификации.

ВВЕДЕНИЕ

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

Все программы написаны на языке объектно-ориентированного программирования С#. Выбор именно этого языка определялся его современностью и способностью обеспечивать безопасность типов. Он объединяет лучшие свойства доступных на сегодняшний день языков программирования и инструментальных средств [2].

1. Особенности программной реализации алгоритмов параметрической идентификации и смешанного управления. Билинейную окрестностную систему

£ М>х[л,л]х[л] + £ М!,[л,Р][л} +

+ X X [^[лм^шжл] +

лєОх[:\ Р^<Оу[:]

+ + т]х[л]] = 0,

где у[а\ е Ят - вход в узле а системы, х[а\ е Я” -состояние в узле а системы, ^ [а,а\, ^ [а,Р\, ^ [а,а,Р\, 'мтху [а,а,Р\ - некоторые матрицы-параметры, О [а\, О [а\ - окрестности по входу и состоянию, при реализации алгоритма параметрической идентификации можно рассматривать как систему линейных алгебраических уравнений (СЛАУ) относительно элементов системных матриц ^ [а,а\,

^[а,Р\, ^[а,а,Р\ вида AW = 0 [3]. Матрица А имеет вид:

а=а а а а\а№хх а \< а а\\,

где а - узел билинейной системы, ^ N .

Аналогично при реализации алгоритма смешанного управления билинейную окрестностную систему (1) можно рассматривать как систему линейных алгебраических уравнений относительно элементов векторов состояний х[а\ е Я”, входных воздействий у[а\ е Ят и их произведений вида СП = 0 .

Матрицы С, и имеют вид:

с =[ЖхЖ^ = и =

X

V

XV

где Ж є Яс

сЫ^Ы (п+т)___

блочные матрицы коэффициентов, составленных из матриц ^х, №„, ^ху соответственно, полученных на этапе идентификации, X е Я№г, V е ЯМт, XV е ЯN(”+т -векторы, состоящие из всех компонент векторов состояний х, входных воздействий V и их произведений а [4].

РєО-,л

х\

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

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

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

Формирование матриц неизвестных параметров. При реализации алгоритма параметрической идентификации дополнительно формируются блочные матрицы неизвестных параметров Wxneiz, Wvneiz и Wxvneiz, коТОрые являются некими шаблонами, повторяющими по своей структуре матрицы W,WV и W, соответственно.

Матрицы неизвестных параметров состоят из 0 и 1, причем значение 0 указывает на то, что параметр известен, 1 - значение параметра неизвестно. Аналогично формируются матрицы Xneiz, Vneiz и XVneiz в программной реализации алгоритма смешанного управления.

Специальная процедура работы с левыми и правыми частями уравнений, входящих в СЛАУ. Формируются две блочные матрицы - Rneiz и Rcon, одна из которых хранит информацию о коэффициентах перед неизвестными параметрами, другая - свободные члены уравнений, входящих в СЛАУ. Все дальнейшие операции выполняются отдельно с каждой из этих двух матриц.

При формировании левой части СЛАУ AW = B , т. е. блочной матрицы Rneiz, происходит умножение именно шаблонных матриц неизвестных параметров Wxneiz, Wvneiz и Wxvneiz на матрицу состояния X, управления V и произведения XV соответственно. В цикле на

каждой итерации проверяется, является текущий параметр искомым или нет. Если является, то его значение меняется с 1 на 0 и затем производится дальнейшее умножение.

При формировании правой части СЛАУ АШ = В _ матрицы Rcon _ на матрицу состояния X, управления V и произведения XV соответственно умножаются матрицы

Ш Ш и Щ,.

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

Аналогично формируется левая и правая части СЛАУ СП = О при реализации алгоритма смешанного управления.

Учет окрестностей. При формировании левой части СЛАУ АШ = В произведение Wхm¡X дополнительно умножается на матрицу инцидентности, описывающую окрестность по состоянию, что позволяет учитывать структуру системы. Аналогичная процедура проделывается и при умножении на состояния V и произведения XV. В последнем случае происходит умножение на обе матрицы: и по состоянию, и по управлению.

Формирование вспомогательной матрицы. Построчно формируется дополнительная вспомогательная матрица P со структурой, представленной на рис. 1, где N _ количество узлов системы, с _ количество строк в матрицах-параметрах системы.

г л

А А А А А А

P -

А А А А А А

ANcx1 '' ANcxNANcv1 '' ANcvNANcxv1 ' ' 'ANcxvNxN

4_

Рис. 1. Структура вспомогательной матрицы

J

Формирование матрицы коэффициентов диагонального вида.

Из вспомогательной матрицы формируется итоговая матрица коэффициентов А диагонального вида относительно всех коэффициентов перед неизвестными параметрами текущей строки координатной формы системы, что необходимо для программного решения СЛАУ АШ = В . Вид матрицы А представлен на рис. 2.

г ~\

А А А А А А

AH^ •••A11x„A11v, •••A11v„A11xv, •••A\:

0...0

Cl ПА A A A A A

0 • 0ANcxl •••ANcxtlANcv1 • • 'ANcvNANcxvl '''ANcxvNxN

V

Рис. 2. Вид матрицы А

J

Представленные дополнения значительно модернизировали алгоритмы параметрической идентификации и смешанного управления, что позволило реализовать их в программном виде. Схемы модернизированных алгоритмов параметрической идентификации и смешанного управления представлены соответственно на рис. 3, 4.

Рис. 3. Алгоритм параметрической идентификации билинейных окрестностных систем

2. Пример работы программы параметрической идентификации билинейных окрестностных и не-четко-окрестностных систем. Продемонстрируем

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

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

Окрестности по состоянию и управлению:

Оо[ан\ = К аз)> °о1а2] = К аз)> ад = ЦК °Ла2] = {а2}-

Матрицы инцидентностей, описывающие окрестности:

О [аг, а2 \ =

Уравнение билинейной окрестностной системні имеет следующий вид.

"0,8 0,3 0, 2 0

0,4 0,6 , o [а, а \ = 0 0,5

Для узла ai.

Wo[H, Н\о[Н\ + Wo[H, 2\о[2\ + wv[H, H\v[H\ +

+wv [Н, 2\v[2\ + w, [H, l, H\o[H\v[H\ +

+Wov[H,H, 2\o[l\v[2\ + ov [H, 2,H\o[2\v[H\ +

| + Wov[H,2,2\o[2\v[2\ = 0

Для узла a2.

Wo[2,H\o[H\ + Wo[2,2\o[2\ + wv[2,HW\ + wv[2,2\v[2\ +

+ w„ [2,H,H\o[H\v[H\ + +w^ [2,H, 2\o[H\v[2\ +

+ Wov[2,2,H\o[2\v[H\ + Wov[2,2,2\o[2\v[2\ = 0

В первом уравнении системы

Wo [Н,Н\ = Wv[H,H\ = wct [Ш\ = wct [Н,Н,2\ =

2,8 5

7 W,

W [Н,2\ =

W2 -6

7 4

~-Н 6,2 Г0 0"

3 5 II 2\ 0 0 і

Н 0 Н w3

"0 0" 0 0

4 -9

2,5 8

00 00

1 0 1 3 1

0 1 1 г- 1

0 0 0 0

0 0 1 0 0

^ [1,2,Ц =

^ [1,2,2] =

Во втором уравнении системы

К [2,1] =

К [2,1] = ^ [2,1,1] = [2,1,2] = [2,2,1] =

1 0 0 К,

0 0"

0 0 0 0 0 0 5 11 1 3

К [2,2] =

-3 2,7

" 4 8,2

, К [2,2] =

К 5

0 0 0 0

4 К8

2,5 8

0 0 0 0

0 0 0 0

[2,2,2] =

7

12

8

-3 1

54

В первом уравнении неизвестными являются следующие элементы матриц-параметров: щ, щ, щ ,

щ4

Во втором уравнении неизвестными являются сле-

Заданы состояния и управления в обоих узлах системы:

" 2" "1" ~4 —6

-1 , х[2] = 1 , у[1] = 5 , у[2] = 7

х[1] =

Используя программу параметрической идентификации, получаем искомые элементы матриц-параметров: щ = 15,6

К-------33,5,

К = 12,5,

К-------33,5,

= 0,27, к —0,57,

К = 2,

К = и,

= 1,7. Откло-

нение левых частей уравнений от правых 0,0 %.

Рис. 4. Алгоритм смешанного управления билинейными окрестностными системами

К

дующие элементы матриц-параметров: К , К, К

2

К

К

ЛИТЕРАТУРА

1. Карабутов Н.Н., Шмырин А.М. Окрестностные системы: идентификация и оценка состояния. Липецк, 2005. С. 3.

2. Использование C#. Специальное издание ; пер. с англ., под общ. ред. В.С. Иващенко. М., 2002. С. 29.

3. Шмырин А.М., Шмы1рина О.А. Линеаризация, идентификация и управление окрестностными системами // Системы управления и информационные технологии. 2005. № 3 (20). С. 40-44.

4. Блюмин С.Л., Шмырин А.М., Шмырина О.А. Билинейные окрестностные системы. Липецк, 2006. С. 64.

БЛАГОДАРНОСТИ: Работа выполнена при поддержке РФФИ (код проекта 11-08-97525 р-центр_а).

Поступила в редакцию 2 апреля 2011 г.

Shmyrin A.M., Roenko S.S. FEATURES OF IMPLEMENTATION OF SOFTWARE PACKAGE FOR MODELING BILINEAR NEIGHBORHOOD AND FUZZY-NEIGHBORHOOD SYSTEMS

The features of the implementation of software package for modeling bilinear neighborhood and fuzzy-neighborhood systems, the example of work of the program of parametrical identification

is given.

Key words: parametric identification; mixed control; bilinear neighborhood systems.

Итак, результат идентификации билинейной окре-стностной системы выглядит следующим образом:

С[- ¿J+аэ[-*5 хИ+*

+0Л6(і! -Ц *[1М1] + ^[[о 0]][i3 T]] x[2]v[1] = 0

Г10 1 Г 2 -0,57] [4 8,21

0,4 ( \x[1] * 0,61 I x[2] + 0,5( \v[2] *

|_0 0,27\ L J !_-Э 2,1 ] [2 5 J

*0-2 [C "Hi ,8Э]] ^ * ^эГГ-!7 -ft 4]| «« . 0

ЗАКЛЮЧЕНИЕ

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