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

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

УДК 519.617

А.И. ДИВЕЕВ, Е.А. СОФРОНОВА

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

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

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

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

Метод генетического программирования [1], разработанный в 1992 г. профессором университета Стэнфорда Дж. Козой, позволяет использовать вычислительную машину для поиска алгоритма или математического выражения, т. е. с помощью вычислительной машины определить структуру системы управления. Основным элементом генетического программирования является структура данных — польская запись, — которая позволяет описывать в виде строки символов любые математические выражения или алгоритмы. Генетический алгоритм применяет генетические операции, прежде всего операцию скрещивания, к польским записям и получает новые записи, которые соответствуют новым математическим выражениям.

Для корректного использования генетического программирования требуется анализ достаточно большого множества возможных решений. При проверке каждого решения, т. е. при вычислении функции приспособленности для него или при выполнении генетических операций с ним, каждая польская запись должна быть корректно прочитана, для чего должен использоваться лексический анализатор. Работа лексического анализатора замедляет процесс вычислений. В Стэнфорде при решении задач методом генетического программирования используют мощную вычислительную машину из тысячи кластеров [5]. Другим недостатком генетического программирования, основанного на польской записи, является то, что сама запись первоначально не предусматривает включения в нее несколько раз одних и тех же аргументов, переменных или констант. Наконец, третьим недостатком генетического программирования с польской записью является то, что при ее использовании трудно ограничить область поиска. В примерах использования генетического программирования [1—4] размеры первоначальных популяций превосходили один миллион.

В генетическом программировании альтернативой польской записи является сетевой оператор. Это другая структура данных, которая позволяет описывать математические выражения с помощью ориентированного графа [6—10]. Данный граф может представляться в

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

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

у =[ х: г; ]° =[ х... х^... гк

[ТО глП

х1. хп ] — вектор состояния подсистемы с известной математической моделью, х е Я ;

z =[ 2Х... 2к ]° — вектор состояния подсистемы с неизвестной математической моделью, z е Як.

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

X = f

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

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

и

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

у

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

Z = g

где q = др]° — вектор постоянных параметров, q еЯр; g(х, z, и, q) — неизвестная вектор-функция.

Выбор функциональной зависимости g(х, z, и, q) и значений параметров q = др ]°

должен быть таким, чтобы решение у (t) системы совместных дифференциальных уравнений (2) и (5) при управлении (3) с начальными условиями

у

минимизировало функционалы

Ji =

f n+к

Шyt - yt )2,

0 i=1

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

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

(7) и (8) значения параметров q = qp ] ° с помощью методов непрерывной оптимизации. Так

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

В классических методах идентификации [11, 12] функциональную зависимость g(х, г, и, q) разработчик выбирает на основе анализа практических свойств исследуемой системы управления. Сама идентификация предполагает только выбор значений оптимальных параметров q = qp]° по методам нелинейного программирования. В последнее время для

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

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

G = ^г

Множество (9) конечно. Для практических задач с помощью сетевого оператора несложно построить множество (9) мощностью М > 1010. Далее, используя генетический алгоритм,

выбираем элемент gi (х, г, и, q) и находим оптимальные значения параметров qi = ... qip ] .

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

Сетевой оператор. Для построения множества функциональных зависимостей (9) введем в рассмотрение несколько конечных упорядоченных множеств, из элементов которых состоит функциональная зависимость [6, 7].

Множество переменных — упорядоченное множество компонент вектора состояний объекта V = (^,..., vN), vi ея1, i = 1,N. Множество параметров — упорядоченное множество

компонент вектора параметров N = (q1,..., qp), qi ея1, i = 1,р. Множество унарных операций — упорядоченное множество функций или однозначных отображений, заданных на числовом множестве 01 =(р1 (г), р2 (г),..., рш (г)) , где р, (z): я1 ^ я1, Vz е я1, Зу е я1 ^ у = р, (z),

i = .

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

одно такое же числовое множество 02 = (х0(г ', г " ), х1 (г ', г " ), ..., %У-1 (г ', г " )), где

X, (г', г " ): я1 х я1 = я2 ^ я1, Vz', г " е я1, Зу е я1 ^ у = Хг (г', г " ) , i = 0,У -1.

Сетевой оператор — это ориентированный граф, обладающий следующими свойствами:

а) в графе отсутствуют циклы;

б) к любому узлу, который не является источником, есть хотя бы один путь от узла-источника;

в) от любого узла, который не является стоком, есть хотя бы один путь до узла-стока;

г) каждому узлу-источнику соответствует элемент из множества переменных V или из множества параметров C;

д) каждому узлу соответствует бинарная операция из множества O2 бинарных операций;

е) каждой дуге графа соответствует унарная операция из множества Ox унарных операций.

Вычисления по сетевому оператору включают три этапа.

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

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

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

Рассмотрим пример. Пусть задан сетевой оператор (рис. 1). В узлах-источниках расположены значения из множества переменных V = (t) и множества параметров Ñ = (а, р, ю, ф). В остальных

узлах расположены номера унарных операций o2 = (х0 (г ', z") = z' + z",хх (z" z") = z z " ), а на узлах

расположены цифры, соответствующие номерам унарных операций O1 =(рх (z) = z,р2 (z) = sin z,

p3 (z) = -z, р4 (z) = ez). Тогда, используя правила вычисления результата по сетевому оператору, получаем математическое выражение:

y = ае ptsin(rat + ф).

Рис. 1. Пример сетевого оператора

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

Для сетевого оператора (см. рис. 1) матрица имеет вид:

[0 000010100 0" 00000000001 00000001000 00000100000

¥ =

0 0 0 0 0 0 1 0 0 0 0

0 0

3 0 0

0000010000

0000000002

0 0 0 0 0 0 0 1

0000000004

0000000001

0000000000

Для вычислений результата математического выражения по матрице сетевого оператора необходимо определить дополнительные целочисленные векторы:

— вектор номеров узлов для входных переменных Ь = [Ь1...Ьп]°, где bi — номер узла-источника в сетевом операторе, с которым связана переменная , i = 1, п;

— вектор номеров узлов для параметров s = [ ^... sl ]°, где si — номер узла-источника в сетевом операторе, с которым связан параметр qj, i = 1, I;

— вектор номеров узлов для выходных переменных d = [ d1... dm ]°, где di — номер узла

сетевого оператора, который соответствует выходной переменной , i = 1, т . Условие т > 1 соответствует тому, что сетевой оператор описывает не одну формулу.

Введем вектор узлов г =[...гЬ]°, размерность Ь которого равна количеству узлов сетевого оператора.

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

оператора ¥ = [у/], i,/ = 1, Ь, вектором номеров узлов для входных переменных Ь = [Ь1...Ьп]°, вектором номеров узлов для параметров s = [s1...sl]° и вектором номеров узлов для выходных

переменных d = [ d1... dm ]°. Тогда этих элементов достаточно для вычисления формулы. Доказательство. Зададим начальные значения вектора узлов

(0) 2) ' =

к>

апёе i = Ьк, к = 1, п

где i = 1, Ь; еи

апёе i = sj, / = 1, I,

^ аПёе i ¿{Ь1,., Ьп }^{sl,., ^ } , Хий

единичный элемент для бинарной операции % .

с /

е„

г = г,

Просматриваем элементы матрицы ¥, находящиеся над главной диагональю. Если

*0, то ) = х^ (У1, р^ (^)), / = , у = Т^хТь.

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

Для ненулевого элемента ууу матрицы ¥ сетевого оператора выполняются унарная

операция, соответствующая дуге (у), и бинарная операция, соответствующая узлу у,

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

Пусть в формуле аргументами какой-либо бинарной операции являются унарные операции 1к (рр (г '), рг (г " )). В соответствии с топологической сортировкой номер узла у, с которым

связана бинарная операция к = у уу, должен быть больше номеров узлов . и к, от которых идут

дуги к узлу у соответствующих унарных операций р = уу, г = уку, поэтому у > . и у > к. Таким

образом, унарные операции будут выполнены раньше, чем бинарная.

Пусть в формуле аргументом унарной операции является бинарная операция

рк (хр (г ", г ")), к = , р = у., . < у. Следовательно, бинарная операция будет выполнена раньше унарной. Согласно алгоритму бинарная операция (г, г " ) будет выполняться для всех ненулевых элементов * 0 матрицы сетевого оператора, находящихся в столбце ., к <..

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

вычислены все унарные операции р^ (хУи (г г " )), к <., которые соответствуют всем входящим

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

Определим следующие малые вариации сетевого оператора: 0 — замена унарной операции на дуге графа; 1 — замена бинарной операции в узле графа; 2 — добавление в граф

и и ^ и и I

дуги с унарной операцией; 3 — удаление унарной операции с дугой графа.

Для описания любой вариации достаточно использовать целочисленный вектор из

четырех компонент -те = [w3 w4 ]0. Первая компонента указывает на номер вариации, вторая

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

также выполнять на матрице сетевого оператора ¥ = [уу ], у = 1, Ь . Тогда вторая и третья

компоненты вектора вариаций указывают соответственно на номера строки и столбца матрицы сетевого оператора.

Пусть задана матрица сетевого оператора ¥0 = [у° ]' ', ] = 1 Ь и вектор вариаций w = I w3 w4 I . В результате действия вектора вариаций -те1 на матрицу сетевого оператора

¥0 получаем новую матрицу сетевого оператора ¥1 = [у! ], ', ] = 1, Ь, ¥1 = -1 ° ¥0.

Каждая вариация изменяет один элемент матрицы ¥ сетевого оператора. Если заданы две матрицы сетевых операторов ¥0 =[у° ], ', ] = 1, Ь и ¥ = [уг>- ], ', ] = 1, Ь одинаковой

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

Для двух несовпадающих матриц сетевых операторов всегда можно найти вариации, применение которых к одной матрице позволяет получить другую, причем количество вариаций равно расстоянию между матрицами ¥ = —й о...о -1 о ¥0.

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

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

матрицей сетевого оператора ¥0 = ], ', ] = 1, Ь .

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

выражения W' =

, i = 1, H , где H — количество возможных

решении или размерность популяции; p — количество параметров в искомом математическом выражении; c — число бит целоИ части; d — число бит дробноИ части.

Для перевода значении параметров из кода Грея si используем следующие соотношения:

c+d _

qk = Х2C~Jbj+(k-1)(c+d), k =1P ,

j=1

Is', апёе (j -1) mod (c + d ) = 0,

где b' =j J ,

j \s) 0 b'-1, eia+a.

Здесь ] = 1, р (с + й).

Для каждой хромосомы ^', 8г), 1 < ' < Н определяем значения функционалов. Для этой цели по структурной части W' =(—г1,..., ) хромосомы и базисной матрице ¥0 строим

матрицу сетевого оператора ¥' = — о... о — о ¥0.

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

А' =£ X й,

Ь=1

1, апёе Jh < Jk,

где X hk = .

\0, ei a+a. Здесь Jk = [ Jk J2k J.

Решения, имеющие лк = 0, принадлежат множеству Парето Pc = {(wk, sk),1 < k <H: Лк = o|. Для репродукции хромосом в популяции случайно отбираем

пару (w\ s^1) и (wh, sh) и определяем вероятность скрещивания по условию

[1 + ул/1 1 + улй21 ....

ps = max <-^,->,

[ 1 + Л 1 + лhl J

где уе[0,1).

(тт + 1 H + 1 \

W , s ),

(wH+2, sH+2), (wH+3, sH+3), (wH+4, sH+4). В решениях (wh+1 sH+x), (wh+2, sH+2) сохраняется структура родителей, но изменяется параметрическая часть. В решениях (wH+3, sH+3), (wH+4, sH+4) изменяются и структурная и параметрическая части.

Для новых хромосом выполняем операцию мутации с заданной вероятностью pm .

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

Пример. Рассмотрим нелинейную систему управления четвертого порядка. Известная и неизвестная подсистемы в математической модели системы имеют порядок n = к = 2. Модель известной подсистемы представлена в виде

x1 = xi, Xi — X-1 X^Z^ + uv

Наблюдается вектор состояния y = [xl x2 zl z2 ]0 на интервале времени tf = 10 с. Вектор

управления имеет две компоненты u = [u u2 ]0. Идентификация проводится в 21 точке. Входной вектор управления имеет следующий вид:

(t. \ it. >

Mj = sin

tf 2л

u2 = cos

tf 2л

V / V /

При моделировании были выбраны следующие параметры генетического алгоритма: размерность популяции — 1024, число поколений — 64, число скрещиваемых пар в одном поколении

— 256, длина хромосомы — 8, число бит под целую часть — 2, число бит под дробную часть — 14, размерность матрицы сетевого оператора 20, число элитарных хромосом — 16, вероятность мутации

— 0,8, параметр скрещивания — 0,4.

Заданы следующие конструктивные множества: переменных V = (x1, x2, z1, z2, u1, u2),

( 1 i_^

параметров C = (q1, q2), унарных операций O1 = z, - z, z ,-, sin z, cos z, arctgz, 3z

{ 1 +

бинарных операций O2 = (z' + z ", z' z" ).

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

z1 = q2 z2,

^2 — qjzjXj COs z2 + U2 + Xj qjzj q2z2, где q1 = 1,2091064453125 , q2 = 0,6346435546875 .

Для данной модели J1 = 2,983, J2 = 1,0004 .

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

0123456789 0123456789

в) г)

Рис. 2. Наблюдаемые и полученные значения

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

Работа выполнена по теме гранта РФФИ № 10-08-00618-а.

Библиографический список

1. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. 1992. — 840 p.

2. Koza J.R. Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press.

1994.

3. Koza J.R., Bennet F.H.B., Andre D., Keane M.A. Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufman Publisher. 1999.

4. Koza J.R., Keane M.A., Streeter M.J., Midlovec W., Yu J., Lanza G. Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers. 2003.

5. http: //www.genetic-programming.org.

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

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

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

9. Дивеев А.И., Софронова Е.А. Генетический алгоритм для многокритериального структурно-параметрического синтеза // Там же. — С. 126—131.

10. Дивеев А.И., Софронова Е.А. Метод сетевого оператора для идентификации систем управления // Там же. — 2008. — № 4. — С. 78—85.

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

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

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

14. Тюкин И.Ю., Терехов В.А. Адаптация в нелинейных динамических системах. — М. : Изд-во ЛКИ, 2008. — 384 с.

15. Demuth H., Beale M., Hagan M. Neyral Network ToolBox™ 6: User's Guide. 2008. MathWork,

Inc.

References

1. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. 1992. — 840 p.

2. Koza J.R. Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press.

1994.

3. Koza J.R., Bennet F.H.B., Andre D., Keane M.A. Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufman Publisher. 1999.

4. Koza J.R., Keane M.A., Streeter M.J., Midlovec W., Yu J., Lanza G. Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers. 2003.

5. http: //www.genetic-programming.org.

6. Diveev A.I., Sofronova E.A. Zadacha strukturnogo sinteza sistemy avtomaticheskogo upravleniya // Vestn. Ros. un-ta drujby narodov. Ser.: Injenernye issledovaniya. — 2007. — № 1. — S. 48— 58. — in Russian.

7. Diveev A.I., Sofronova E.A. Metod geneticheskogo programmirovaniya dlya avtomaticheskogo podbora formul v zadache strukturnogo sinteza sistemy upravleniya // Tr. in-ta sistem. analiza RAN. Dinamika neodnorodnyh sistem / pod red. chl.-kor. RAN Yu.S. Popkova. — M. : ISA RAN : KomKniga, 2006. — Vyp. 10(1). — S. 14—26. — in Russian.

8. Diveev A.I., Sofronova E.A. Metod setevogo operatora v zadachah upravleniya // Vestn. Ros. un-ta drujby narodov. Ser.: Injenernye issledovaniya. — 2007. — № 4. — S. 107—118. — in Russian.

9. Diveev A.I., Sofronova E.A. Geneticheskii algoritm dlya mnogokriterial'nogo strukturno-parametricheskogo sinteza // Tam je. — S. 126—131. — in Russian.

10. Diveev A.I., Sofronova E.A. Metod setevogo operatora dlya identifikacii sistem upravleniya // Tam je. — 2008. — № 4. — S. 78—85. — in Russian.

11. Deich A.M. Metody identifikacii dinamicheskih ob'ektov. — M. : Energiya, 1989. — 240 s.

12. Eikshoff P. Osnovy identifikacii sistem upravleniya. — M. : Mir, 1979. — in Russian.

13. Kallan R. Osnovnye koncepcii neironnyh setei. — M. : Vil'yams, 2003. — in Russian.

14. Tyukin I.Yu., Terehov V.A. Adaptaciya v nelineinyh dinamicheskih sistemah. — M. : Izd-vo LKI, 2008. — 384 s. — in Russian.

15. Demuth H., Beale M., Hagan M. Neyral Network ToolBoxTM 6: User's Guide. 2008. MathWork, Inc.

Материал поступил в редакцию 10.04.10.

A.I. DIVEYEV, E.A. SOFRONOVA

GENETIC PROGRAMMING METHOD FOR CONTROL SYSTEMS IDENTIFICATION

A problem of structural-parametric control systems identification is considered. The method of genetic programming with the network operator is used. Network operator properties, rules of its creation and application are described. The basic solution approach is used for the genetic algorithm construction. It permits to apply genetic operations to the basic solution variations. The basic solution is set by a developer on the ground of his experience of concrete problem research. The selection of the basis solution influences on effectiveness of genetic algorithm. The results of computational experiment of the problem of identification solution are presented.

Key words: control systems identification, genetic algorithm, genetic programming, network operator, basic solution approach.

ДИВЕЕВ Асхат Ибрагимович (р. 1954), заведующий сектором Проблем кибернетики Учреждения Российской академии наук Вычислительного центра им. А.А. Дородницина РАН, доктор технических наук (2001), профессор (2009). Окончил МВТУ им. Н.Э. Баумана (1980). Область научных интересов — теория управления, эффективные вычислительные алгоритмы и дискретная оптимизация. Автор более 130 научных работ. idiveev@mail.ru

СОФРОНОВА Елена Анатольевна, доцент кафедры «Кибернетика и мехатроника» Российского университета дружбы народов, кандидат технических наук (2008). Окончила РУДН (2006). Область научных интересов — теория управления, эффективные вычислительные алгоритмы, синтез и идентификация систем управления. Автор более 30 научных работ. sofronova_ea @mail.ru

Askhat I. Diveyev (1954), Head of the Cybernetics Problems Sector, Institution of the Computer Centre Russian Academy of Science after A.A. Dorodnitsin. Ph.D. in Science (2001), Professor (2009). He graduated from Bauman Moscow Highest Technical School (1980).

Research interests — control theory, effective computational algorithms and discrete optimization.

Author of more than 130 scientific publications.

aidiveev@mail.ru

Elena A. Sofronova, Associate Professor of the Cybernetics and Mechatronics Department, Peoples' Friendship University of Russia. Candidate of Science in Engineering (2008). She graduated from Peoples' Friendship University of Russia (2006).

Research interests — control theory, effective computational algorithms, synthesis and identification of control systems.

Author of more than 30 scientific publications. sofronova_ea @mail.ru