Engineering sciences
УДК 519.87
DOI 10.21661/r-118647
И.А. Седых, А.М. Сметанникова
Параметрическая идентификация окрестностной модели с помощью генетического алгоритма и псевдообращения
Аннотация
В работе рассмотрены динамические линейные окрестностные модели. Описан алгоритм нахождения оптимального решения с помощью генетического алгоритма. Решение системы линейных уравнений сведено к задаче оптимизации. Приведен пример параметрической идентификации окрестностной модели, состоящей из трех узлов, как решение системы линейных уравнений с применением генетического алгоритма и псевдообращения. Произведены расчеты среднеквадратической и средней абсолютной ошибок идентификации модели с помощью генетического алгоритма и псевдообращения. На основе разработанных систем проверены результаты моделирования и определен оптимальный метод идентификации окрестностной модели.
I
Ключевые слова: окрестностная модель, генетический алгоритм, псевдообращение, идентификация, моделирование.
I.A. Sedykh, A.M. Smetannikova
Parametric identification of neighborhood model using genetic algorithm and pseudo-inversion
Abstract
The article presents the definition of dynamic linear neighborhood models. An algorithm for finding optimal solutions using genetic algorithm has been describes. Solution of system of linear equations is reduced to the problem of optimization. It shows the example parametric identification of neighborhood model, consisting of three parcels, as a solution to the system of linear equations with the use of a genetic algorithm and the pseudo-inversion. The authors calculated RMS and average absolute errors for model identification using genetic algorithm and the pseudo-inversion. On the basis of the developed system the researchers verified the modeling results and determined the optimal method of identifying neighborhood model.
| Keywords: neighborhood model, genetic algorithm, pseudo-inversion, identification, modeling.
Введение
Окрестностные модели применяются для моделирования сложных организационно-технических, стохастических и детерминированных систем и обеспечивают гибкость при описании структуры модели.
Параметрическая идентификация окрестностной модели традиционно выполняется с помощью алгоритма псевдообращения. В работе предлагается использование для параметрической идентификации генетического алгоритма.
Генетические алгоритмы применяются достаточно широко. Например, для аппроксимации функций, составления расписания, в игровых стратегиях, для обучения нейронных сетей и управления ими, нахождения глобального экстремума многопараметрической функции, решения задач максимизации и минимизации и т. д. [1].
Отличие генетических алгоритмов от других оптимизационных и поисковых методов состоит в том, что они используют сразу несколько альтернатив на заданном множестве возможных решений для нахождения неизвестных параметров. Для оценивания критерия
Технические науки
эффективности принятия решений в генетических алгоритмах применяется функция приспособленности или целевая функция, а не ее приращения. Кроме того, в рассматриваемых алгоритмах используются стохастические принципы оценки задач оптимизации.
1. Понятие окрестностной модели Окрестностные модели обобщают многие дискретные модели. Их применяют к сложным пространственно-распределенным системам.
Динамическую окрестностную модель можно описать набором
= (^х^лхщ),
где:
1) N- это структура окрестностной модели;
2) X е Rn - блочный вектор состояний окрестностной модели в текущий момент времени;
3) V е Rш - блочный вектор управлений в текущий момент времени;
4) С - функция пересчета состояний окрестностной модели;
5) Х[0] - начальное состояние модели [2, с. 2].
Структуру окрестностной модели можно представить как ориентированный граф с тремя видами дуг. По дугам этого графа от узла к узлу передаются данные, которые представляют собой векторные значения. Выход и состояние узла (векторные значения) зависят от данных, которые поступают от узлов, входящих в его окрестность, в соответствии с заданными функциями переходов С
Принимая данные от других узлов, узел меняет свои состояние по заданным функциям переходов С:
х + , = С(х, [а (1)
где а,е Л((= 1,...,п) - узел системы; Х[£ + 1,г]eR - состояние в узле модели в момент времени £ + 1 [2, с. 3].
2. Генетические алгоритмы Генетические алгоритмы представляют собой методы оптимизации, которые используют элементы случайности при выборе длины шага в процессе определения наилучшего варианта из множества возможных и основываются на понятии эволюции с помощью естественного отбора.
Известно, что вычислительная система, которая обладает простой конструкцией отбора и изменчивости, способна функционировать аналогично законам эволюции. Основная сложность, возникающая при функционировании подобных вычислительных систем, связана с тем, что естественные системы хаотичны, а операции автоматизированных систем направлены на получение определенного ориентированного результата. Естественный отбор не имеет каких-либо ограничений, и развитие возможно во всех направлениях.
Генетические алгоритмы работают с популяцией, где каждая особь выражает допустимое оптимальное решение. Популяция оценивается целевой функцией, направленной на достижение максимума или минимума, согласно тому, в какой степени соответствующее ей найденное решение задачи выполняет заданные требования.
Наиболее приспособленные особи получают возможность «воспроизводить» потомство с помощью «перекрестного скрещивания» с другими особями популяции. Это приводит к появлению новых особей, которые совмещают в себе определенные признаки, унаследованные ими от родителей. Наименее приспособленные особи с меньшей вероятностью воспроизводят потомков так, что свойства, которыми они обладали, будут постепенно исчезать из популяции в процессе эволюции [3].
Следовательно, от родителей потомки наследуют наиболее выгодные характеристики генов. В результате популяция будет приближаться к наиболее выгодному решению задачи. Преимущества генетического алгоритма в том, что он за небольшой промежуток времени ищет решения, приближенные к наилучшему, и способен обнаружить глобальный экстремум.
Рассмотрим этапы нахождения оптимального решения задачи с помощью генетического алгоритма:
1. Сгенерируем случайным образом популяцию, состоящую из N особей. Зададим функцию приспособленности и точность решения
2. Переведем популяцию в бинарную систему исчисления.
3. Вычислим функцию приспособленности для данной популяции, т.е. найдем целевую функцию. Значение функции определяет, насколько особь хорошо подходит для решения задачи. Если для некоторой особи значение целевой функции меньше перейдем к пункту 11.
4. Произведем селекцию.
Сделаем выбор особей с наилучшей приспособленностью для дальнейшего воспроизводства [4]. Чем лучше приспособленность особи, тем выше ее шансы на скрещивание и наследование ее генов следующим поколением.
5. Найдем вероятности для особей оказаться родителями.
6. Произведем скрещивание (кроссовер).
Случайным образом выберем точку разрыва - место между ближайшими битами в строке. Обе части родительской хромосомы делятся на два участка по заданной линии точки разрыва. Далее участки двух разных родителей склеиваются и образуют два генотипа потомков. С помощью генератора случайных чисел необходимо выбрать один генотип [5, с. 11-12].
7. Выберем пары для скрещивания.
8. Выполним операцию мутации, т.е. изменим гены потомков.
9. Оставим наиболее приспособленных особей таким образом, чтобы численность популяции оставалась постоянной.
10. Переведем новую популяцию из бинарной системы исчисления в числа. Перейдем к пункту 3.
11. Выбранная особь является оптимальным решением или приближенным к оптимальному решению задачи.
Engineering sciences
3. Решение системы линейных уравнений как задача оптимизации
Система линейных алгебраических уравнений имеет вид Ах = Ь, где А е Rm+n- невырожденная матрица, и Ь ^Ят — векторы.
Задача решения системы линейных уравнений сводится к нахождению х.
Невязкой, соответствующей вектору х, называют вектор Ах = Ах — Ь [6, с. 5], где Ах— ошибка решения в К1 .
Решение системы линейных уравнений можно свести к задаче оптимизации:
F (*)=Z
i=1
Z a
j=i
X -bj
^ тт,
где т,п — размерность матицы коэффициентов А.
Следует заметить, что функция F (х) может иметь и другой вид, например, сумма квадратов разностей, а не модулей.
Решение системы линейных уравнений используется при параметрической идентификации окрестност-ной модели.
4. Пример параметрической идентификации окрестностной модели
Рассмотрим пример окрестностной модели, состоящей из трех узлов а1,а2,а3 , представленных на рис. 1.
Рис. 1. Окрестностная модель, состоящая из трех узлов а,а2,а3 На рис. 1 показана зависимость состояний окрест-ностной модели в каждом узле.
В общем виде система (1) будет иметь вид (2):
х2 = (р2 02 (о,*! (о,*3 (0); (2)
х3 {$■+1) = <ръ (у3 (0,*1 (?),х2 (0).
В линейном случае система (2) преобразуется к виду (3):
хх (t+1) = ах (/) + апх3 (t) + а
21 у2 (0 + ^22-^3
X
,(/+1)=
12Л3 V ) 1 "1'
a^vAti+a^x? (t)+an
(0+
Gr
23 1V / 1 2;
х3 (/+1) = я31у3 (/)+а32х2 (Г) + агъхх (Г)+аъ,
где а,а параметры модели; г, у = 1,2,3.
(3)
5. Постановка задачи параметрической идентификации для окрестностной модели Параметрическая идентификация линейной окрест-ностной модели заключается в нахождении параметров в (3).
Идентификацию окрестностной модели будем проводить с помощью генетического алгоритма и с использованием псевдообращения. Исходные данные для идентификации представлены в таблице 1.
Таблица 1 Исходные данные для идентификации
№ x,(t) x9(t) x,(t) v,(t) v,(t) v,(t) x,(t + 1) x9(t + 1) x,(t + 1)
1 0 1 3 1 3 4 18 21 6
2 4 2 1 5 2 4 20 14 12
3 5 1 7 0 2 3 35 39 10
4 4 2 1 3 6 3 14 26 11
5 4 8 1 4 2 0 17 11 20
6 0 1 2 4 3 4 22 17 6
7 5 3 5 8 1 2 49 28 13
8 1 3 5 2 7 9 31 42 16
9 1 2 2 2 1 1 16 12 6
10 0 8 4 6 2 7 38 22 23
11 2 5 7 1 3 2 38 39 14
12 3 1 5 7 9 0 46 50 5
13 2 4 6 8 0 2 54 26 12
14 2 4 3 4 5 1 27 29 11
15 5 1 3 5 2 3 30 23 10
16 2 4 6 7 1 3 51 29 13
17 0 5 3 6 7 2 33 33 12
18 3 4 7 1 6 2 38 49 13
19 2 5 7 3 4 1 44 42 13
20 0 1 0 1 0 1 3 0 3
Для нахождения параметров системы (3) для рассматриваемого примера необходимо решить систему (4).
18 21 6"
20 14 12
35 39 10
14 26 11
17 11 20
22 17 6
49 28 13
31 42 16
16 12 6
38 22 23
38 39 14
46 50 5
54 26 12
27 29 11
30 23 10
51 29 13
33 33 12
38 49 13
44 42 13
3 0 3
0 0
a21 0
0 «3L
«23 «33
0 «32
«22 0
a2 a3
(4)
Технические науки
После идентификации окрестностной модели с помощью генетического алгоритма модель (3) имеет вид (5):
х1(/+1) = ЗУ1(0+5Х3(0,
х2 = 2,965у2 (0+4,01 Ц (0+1,01(*), (5)
х3 (/+1) = у3 (/)+2 (0+х1 (/).
После идентификации окрестностной модели с помощью псевдообращения модель (3) имеет вид (6):
^(¿ + 1) = 3^(0+ 5х3 (О,
х2 ((+!) = 2,99У2 (0+4,063х3 (0 + 0,863^ (г), (6) х3 (/ +1) = У3 (Г) + 2Х9 (/) + (/).
Проверим результаты моделирования по данным, не входящим в обучающую выборку. Результаты проверки представлены в таблице 2.
Для каждой модели найдем среднеквадратическую и среднюю абсолютную ошибку идентификации соответственно по формулам (7) и (8).
3 N
ZZ
2
¿>2 =
= 1 j=l
(7)
где N— объем выборки;
N
X,. (t) - исходные данные системы; ные данные.
Xj (t + 1)
модель-
, 3 N
n
i=i .,=i
xJt +1)
•100%.
(8)
Средняя абсолютная ошибка по результатам, полученным с помощью генетического алгоритма, равна А = 1,762%. Средняя абсолютная ошибка с помощью псевдообращения А2 = 2,977%.
Среднеквадратическая ошибка системы с помощью генетического алгоритма З2 = 0,441. Среднеквадрати-ческая ошибка системы с помощью псевдообращения З = 0,68.
Заключение
В работе дано определение окрестностной модели и приведен пример ее параметрической идентификации с помощью генетического алгоритма и псевдообращения. Найдены значения средней абсолютной и среднеквадратической ошибок моделирования.
Сравнив результаты двух оптимизационных методов получили, что средняя абсолютная и среднеква-дратическая ошибки модели при идентификации с помощью генетического алгоритма меньше ошибок, найденных с помощью псевдообращения. Следовательно, при идентификации окрестностной модели генетический алгоритм является более эффективным по сравнению с псевдообращением.
Проверка разработанных моделей
Таблица 2
№ Эталонные значения Данные, полученные с помощью генетического алгоритма Данные, полученные с помощью псевдообращения
X1 (t + 1) X2 (t + 1) x3 (t + 1) X1 (t +1) X 2 (t+1) X 3 (t+1) X1 (t+1) X 2 (t+1) X 3 (t + 1)
1 15 16 12 5 13,921 12 5 13,896 12
2 25 32 21 25 31,822 21 25 31,645 21
3 15 26 8 15 25,923 8 15 25,875 8
4 14 31 30 14 30,936 30 14 29,77 30
5 34 18 17 34 18,012 17 34 17,558 17
6 21 38 19 21 37,863 19 21 37,434 19
7 20 18 20 20 17,901 20 20 17,749 20
8 28 11 2 28 10,987 2 28 11,116 2
9 36 22 8 36 21,943 8 36 22,022 8
10 17 10 3 17 10,021 3 17 9,642 3
225 222 140 215 219,326 140 215 216,707 140
Литература
1. Егоров К. Генетические алгоритмы / К. Егоров, М. Чураков [Электронный ресурс]. - Режим доступа: http:// www.studfiles.ru/preview/3490874
2. Седых И.А. Параметрическая идентификация линейной динамической окрестностной модели [Текст] / И.А. Седых // Сборник статей Международной научно-практической конференции «Инновационная наука: прошлое, настоящее, будущее». - Уфа: Аэтерна, 2016. - С. 12-19.
3. Поляков С.В. Модели эволюций и генетические алгоритмы / С.В. Поляков [Электронный ресурс]. - Режим доступа: http://masters.donntu.org/2004/kita/polyakov/library/referat.htm
4. Курейчик В.М. Генетические алгоритмы. Состояние. Проблемы. Перспективы / В.М. Курейчик [Электронный ресурс]. - Режим доступа: http://www.studfiles.ru/preview/3490987
5. Курейчик В.М. Генетические алгоритмы [Текст] / В.М. Курейчик, В.В. Курейчик, Л.А. Гладков. - М.: Физмат-лит, 2010. - 368 с.
6. Игумнов Л.А. Элементы численных методов решения систем линейных алгебраических уравнений: Учебно-методическое пособие [Текст] / Л.А. Игумнов, С.Ю. Литвинчук, А.А. Белов. - Н. Новгород: Нижегородский университет, 2010. - 24 с.