Решение задач оптимального управления с использованием математической системы MATLAB и пакета имитационного моделирования SIMULINK. Сивохин А.В - 202 стр.

UptoLike

202
Если используется сопряжённый градиент функционала, то на первой итерации
направление движения
0
p выбирают против градиента
0
g этой итерации:
00
gp
=
. (10.5)
Для следующих итераций направление
k
p выбирают как линейную
комбинацию векторов
k
g и
1k
p :
1
β
+
=
kkkk
pgp
, (10.6)
а вектор параметров рассчитывают по формуле:
kkkk
pXX
α
+
=
+1
, (10.7)
Для методов второго порядка расчет параметров на k-м шаге производят по
формуле (метод Ньютона):
kkkk
gHXX
1
1
+
= , (10.8)
где H
k
матрица вторых частных производных целевой функции (матрица
Гессе);
g
k
вектор градиента на k-й итерации. Вычисление матрицы Гессе требует
больших затрат машинного времени, поэтому её заменяют приближенными
выражениями (квазиньютоновские алгоритмы).
Программа синтеза нейрорегулятора на основе эталонной модели
универсальна и имеет следующий вид:
function = RefArm
%
%-- Программа построения нейронных моделей объекта управления и
%-- регулятора:
%
RefArmNet=newff([-0.5 0.5],[13 1 10 1],{'tansig' 'purelin' 'tansig' 'purelin'},'traingdx');
%
%-- Обучение нейронной модели объекта управления
:
%
RefArmNet.inputWeights{1,1}.learn=0;
RefArmNet.layerWeights{2,1}.learn=0;
RefArmNet.layerWeights{3,2}.learn=1;
RefArmNet.layerWeights{4,3}.learn=1;
RefArmNet.trainParam.epochs=300;
RefArmNet.trainParam.goal=1e-5;
RefArmNet.trainParam.min_grad=1e-45;
  Если используется сопряжённый градиент функционала, то на первой итерации
направление движения p0 выбирают против градиента g 0 этой итерации:

                                            p0 = −g 0 .                                       (10.5)

  Для     следующих      итераций     направление                  pk    выбирают    как     линейную
комбинацию векторов g k и pk −1 :

                                       pk = − g k + β k pk −1 ,                               (10.6)
а вектор параметров рассчитывают по формуле:
                                      X k +1 = X k + α k pk ,                                 (10.7)
  Для методов второго порядка расчет параметров на k-м шаге производят по
формуле (метод Ньютона):
                                      X k +1 = X k − H k−1 g k ,                              (10.8)
где Hk – матрица вторых частных производных целевой функции (матрица
Гессе);
     gk – вектор градиента на k-й итерации. Вычисление матрицы Гессе требует
больших затрат машинного времени, поэтому её заменяют приближенными
выражениями (квазиньютоновские алгоритмы).
   Программа       синтеза    нейрорегулятора                на         основе   эталонной     модели
универсальна и имеет следующий вид:


function = RefArm
%
%-- Программа построения нейронных моделей объекта управления и
%-- регулятора:
%
RefArmNet=newff([-0.5 0.5],[13 1 10 1],{'tansig' 'purelin' 'tansig' 'purelin'},'traingdx');
%
%-- Обучение нейронной модели объекта управления:
%
RefArmNet.inputWeights{1,1}.learn=0;
RefArmNet.layerWeights{2,1}.learn=0;
RefArmNet.layerWeights{3,2}.learn=1;
RefArmNet.layerWeights{4,3}.learn=1;
RefArmNet.trainParam.epochs=300;
RefArmNet.trainParam.goal=1e-5;
RefArmNet.trainParam.min_grad=1e-45;
                                                202