Метод сетевого оператора для идентификации систем управления

МЕТОД СЕТЕВОГО ОПЕРАТОРА ДЛЯ ИДЕНТИФИКАЦИИ СИСТЕМ УПРАВЛЕНИЯ*

А.И. Дивеев

Вычислительный центр им. А.А. Дородницына РАН ул. Вавилова, 40, Москва, Россия, 119333

Е.А. Софронова

Кафедра кибернетики и мехатроники Российский университет дружбы народов ул. Миклухо-Маклая, 6, Москва, Россия, 117198

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

Задача структурно-параметрической идентификации системы управления, как правило, решается в два этапа: 1) выбор структуры системы управления; 2) выбор значения параметров в ней. Первый этап в большинстве случаев осуществляется «вручную», т.е. путем анализа причин наблюдаемого поведения системы. Вычислительные методы применяются только на втором этапе.

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

Настоящая статья посвящена использованию метода генетического программирования с сетевым оператором [2—5] для решения задачи структурно-параметрической идентификации системы управления.

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

Рассмотрим формальную постановку.

Задан вектор наблюдения

у = [хЩт=[х1...хпг1 ...гк ]Т,

где х = [х1. хп ]т — вектор состояния подсистемы с известной математической

моделью; х е Rп, г = [2Х...2к]т — вектор состояния подсистемы с неизвестной

математической моделью, г е Rк.

* Работа выполнена по теме гранта РФФИ 08-08-00248^ «Исследование методов структурно-параметрического многокритериального синтеза системы автоматического управления».

Математическая модель известной подсистемы описывается обыкновенными дифференциальными уравнениями

х = Г

где и = [и1...ит]Т — вектор управления, и е и с Rт; и — ограниченное множество.

Для известного управления, действующего в течение заданного интервала времени

й

определен вектор состояния системы

у

Необходимо найти математическую модель неизвестной подсистемы

г = §

где д = [д1...др^ — вектор постоянных параметров; д е Rр, g(x, г, и, д) —

неизвестная вектор-функция.

Выбор функциональной зависимости g(x, г, и, д) и значений параметров

д = [ д^... др ] должен быть таким, чтобы решение у (г) системы совместных

дифференциальных уравнений (2) и (5) при управлении (3) с начальными условиями

У

минимизировало следующие функционалы:

I ^ п+к

>1 = Л I

V 0 ‘-=1

>2 = тах{у,

Можно считать, что выбор функциональной зависимости осуществляется из счетного множества возможных решений. Это означает, что каждой функциональной зависимости должен соответствовать целочисленный номер элемента из некоторого множества, который должен выбираться с помощью методов целочисленной оптимизации. После выбора какой-либо функциональной зависимости g(x, г, и, д) необходимо определить оптимальные по критериям (7), (8) значения

параметров д = [д1 ] , что можно осуществить с помощью методов непре-

рывной оптимизации. Мы рассматриваем два критерия оптимизации, следовательно, задача идентификации (1) — (8) относится к классу задач многокритериальной смешанной оптимизации.

В классических методах идентификации [6; 7] выбор функциональной зависимости g(х, г, и, д) осуществляется разработчиком на основе анализа практических свойств исследуемой системы управления. Сама идентификация предпола-

гает только выбор значений оптимальных параметров д = [д1 ] с помощью

методов нелинейного программирования.

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

В настоящей статье с помощью специальной структуры данных, сетевого оператора строится множество функциональных зависимостей g(x, г, и, д).

G = ^‘

Далее с помощью генетического алгоритма осуществляем выбор элемента g‘ (х, г, и, д) и с помощью этого же генетического алгоритма находим опти-

Г ‘ ' ~\Т

мальные значения параметров д‘ = д1... д‘р . Так как в задаче рассматриваем

два критерия выбора функциональной зависимости и параметров, решением задачи считаем построение множества Парето в пространстве функционалов (7), (8).

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

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

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

вычисления считаются выполненными. Результаты вычислений соответствуют значениям элементов вектора узлов, связанных с узлами-стоками.

Более подробное описание сетевого оператора представлено в работах [2— 5]. Сетевой оператор может быть однозначно описан с помощью целочисленной матрицы

где Ь — размерность сетевого оператора или количество его узлов.

Недиагональные элементы у. являются либо нулями, если между узлами ‘

и. нет дуги, либо равны номеру унарной операции, которая связана с дугой от узла ‘ к узлу ]. Диагональные элементы уц указывают на номер бинарной операции. Для узлов-источников значение диагонального элемента не существенно.

Пусть рк (2) — унарная операция под номером к, х/ (г', 2”) — бинарная операция под номером /. Тогда вычисления для ненулевого элемента у. матрицы осуществляется по формуле

рицы сетевого оператора (10).

При поиске решения с помощью сетевого оператора используем генетический алгоритм, построенный на основе принципа базисного решения [2; 3]. Данный принцип заключается в том, что задается базисный сетевой оператор, а поиск решения осуществляется на множестве вариаций базисного решения. В качестве вариаций используем четыре малые вариации, которые не меняют размерность сетевого оператора, — это изменения номера унарной операции, изменение номера бинарной операции, добавление дуги с унарной операцией и удаление дуги. При удалении дуги сетевого оператора необходимо, чтобы она была не единственной, которая выходит из узла и не единственной, которая входит в узел.

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

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

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

В качестве одного из примеров рассматривалась нелинейная система управления четвертого порядка. В модели системы известная и неизвестная подсистемы имели одинаковый порядок п = к = 2.

Модель известной подсистемы имела следующее описание:

Х1 = х2,

Х2 = х1 - х1г1 + и1.

Вектор управления имел две компоненты и = [и и2 ]т. На интервале времени I^ = 10 с наблюдался весь вектор состояния у = [х1 х2 г1 22 ]т. Идентификация контролировалась по 21 точке.

Входной вектор управления имел следующий вид:

Г*. Л Г*. Л

Щ — 81П

V2п у

и0 — 008

V2п у

При поиске были установлены следующие параметры генетического алгоритма: размерность популяции — 1024, число поколений — 64, число скрещиваемых пар в одном поколении — 256, длина хромосомы — 8, число бит под целую часть — 2, число бит под дробную часть — 14, размерность матрицы сетевого оператора 20, число элитарных хромосом — 16, вероятность мутации 0,8, параметр скрещивания — 0,4.

При построении алгоритма использовались следующие конструктивные множества:

— множество переменных

V = (хі, х2 , 21, 22 , и1, Щ2 ) ;

— множество параметров

с = (ч^ ^2);

— множество унарных операций

О1 —

( І -2 Л

-11 -е  + зГ

2, - 2, 2 ,--— ,81П2,0082,arctg 2, V2

V 1 + е- 2

— множество бинарных операций

/Л { * > И 1 И \

02 — (2 + 2 , 2 2 ).

В результате поиска была получена следующая модель неизвестной подсистемы управления:

21 = ^2 + 22 ,

1 _ ех1+4ч[+Ч121

2'2 — + Щ2 ^12т ,

1 + ех1+3 ^1 + ^121

где — 1,34747314453125; д2 — 0,07940673828125.

Для данной модели функционалы (7), (8) имели следующие значения:

^ — 0,488, /2 —1,725.

На рис. 1—4 приведены результаты моделирования системы управления с полученной моделью неизвестной подсистемы. Там же на графиках приведены значения соответствующей наблюдаемой компоненты вектора состояния.

О 1 2345 67 89 10 t

Рис. 1. Переменная х1

О 1 2345 67 89 10 ?

Рис. 2. Переменная х2

0 1 23456789 10 Г

Рис. 3. Переменная

0 123456789 10 t

Рис. 4. Переменная z2

ЛИТЕРАТУРА

[1] Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. 1992.

[2] Дивеев А.И., Софронова Е.А. Задача структурного синтеза системы автоматического управления // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2007. — № 1. — С. 48—58.

[3] Дивеев А.И., Софронова Е.А. Метод генетического программирования для автоматического подбора формул в задаче структурного синтеза системы управления // Труды института Системного анализа РАН. Динамика неоднородных систем. Вып. 10(1) / Под ред. Ю.С. Попкова. — М.: ИСА РАН, КомКнига, 2006. — С. 14—26.

[4] Дивеев А.И., Софронова Е.А. Метод сетевого оператора в задачах управления // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2007. — № 4. — С. 107—118.

[5] Дивеев А.И., Софронова Е.А. Генетический алгоритм для многокритериального структурно-параметрического // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2007. — № 4. — С. 126—131.

[6] Дейч А.М. Методы идентификации динамических объектов. — М.: Энергия, 1989.

[7] Эйксхофф П. Основы идентификации систем управления. — М.: Мир, 1979.

[8] Каллан Р. Основные концепции нейронных сетей. — М.: Вильямс, 2003.

[9] Demuth H., Beale M., Hagan M. Neural Network ToolBox™ 6. User’s Guide. 2008. Math-Work, Inc.

APPLICATION OF NETWORK OPERATOR FOR IDENTIFICATION OF CONTROL SYSTEMS

A.I. Diveev

Dorodnicyn Computer Center of Russian Academy of Sciences Vavilov str., 40, Moscow, Russia, 119333

E.A. Sofronova

Cybernetic and mechatronics departament Peoples’ Friendship University of Russia

Miklukho-Maklaya str., 6, Moscow, Russia, 117198

The problem of structural-parametrical identification of a control system is considered. For the solution of the problem the method of genetic programming on the basis of the network operator is used. Results of computing experiment of the solution of an applied problem of identification are given.