Редукция переменных

Download Report

Transcript Редукция переменных

Работу выполнил: студент группы 6057/3 Соловьёв С.Ю.
Научный руководитель: Ануфриев И.Е.
1.
2.
3.
2
Разработать быстрый и эффективный
алгоритм для решения задачи оценки
параметров ОДУ с запаздывающими
аргументами
Реализовать алгоритм в виде библиотеки
MATLAB
Получить решение некоторых
практических задач
Дано :
1. {tˆi , xˆi }, i  1, n
dx
 f (t , x(t ), x(t   1 ),
, x(t   d ), p) (1)
dt
p  оцениваемый вектор
2.
 i  запаздывания , i  1, d
x(t ): R1  R1 , p    R s
3. xh (t ), t [tˆ1  max( j ); tˆ1 )
j
Найти : p, т.ч.:
n
1. min
p
 (xˆ  x(tˆ , p))
i 1
2
i
i
2. x(t )  решение (1)
3
min m( x , p)  min
p
n

j 1
( xˆ j  xi ( j ) )2 (2)
при ограничениях : ci (x , p)  0, i  1, n (3)
xi  решение дифференциального уравнения (1) в t i
сi определяются схемой численного интегрирования
n  число элементов сетки численного интегрирования (1), n  n
Пример : метод Эйлера
ci (x , p)  xi 1  xi  t f (t i , xi , xi i ,
1
, xi i , p)
d
Проблемы : 1. Долго решается
2. При больших n  нехватка памяти : n  1000
4
Редукция
переменных
Прямые
методы
Нет
Блочное
разложение
Нет
Полный
гессиан
Итерационные
методы
Ускорение
шага SQP
Неполный
гессиан
Прямые
методы
Итерационные
методы
5
0. i  номер итерации , i  1, nmax ; {tˆj , xˆ j }, j  1, n; z0(0)  0; n  n
1. z0(i 1) , n
x
2. z     Rn s
p
3. Цикл SQP по k
4. k  ый шаг SQP : (zk , k )  m(zk )   Tk c(zk ) (4)
1

 (zk , k )T d  d T 2xx (zk , k )d
 min
(5) 
2
 d

 т.ч. c(zk )  A(zk )d  0
 2xx (zk , k )  A(zk )   d   m(zk ) 


(5.1)
 


A(zk )
0   k 1   c(zk ) 

5. Остановка SQP : zk  zk 1  
6. z0(i )  z  , n  2n  1; если zi   zi 1   остановка , иначе переход к шагу 1
6
Li Z., Osborne M.R., PrvanT.
(Parameter estimation of ordinary differential equations, 2005) :
z  [ x1 ,
c  [c1 (x1 , x2 , p),
, xn , pT ]T  Rn s
, cn1 ( xn1 , xn , p)]T R n1
A(z)  c(z) 
 1
 0

 0


 0
1
2
0
0
0
0
0
0
2
3
3
0
0
0
0
 n1
Идея : метод блочной
0
0
1 
  1 1 0
1 
 0 


0
0

2
2
2



2 
0
3 
  1 0  3 3
3  (6) или 
 (7)

 0  2 0 4




 n1 


0
0
0
0


n 1
n 1 

редукции для уменьшения размерности задачи
z( Rn s )  z ( R2 s ); min f (z )
7
0. i  номер итерации , i  1, nmax ; {tˆj , xˆ j }, j  1, n; z0(0)  0; n  n
1. z0(i 1) , n
x
2. z     Rn s
p
x
3. Редукция переменных : f (z)  z    R2 s
p
2
4. min
p
 (xˆ  x(t )) , c (x , x
i 1
2
i
i
i
i
i 1
, p)  0




x

z   
p 
(SQP)
 x 
5. Возврат к исходным переменным : f (z )  z    
p 
1


6. z0(i )  z  ; если zi   zi 1   остановка , иначе переход к шагу 1
8
9
Матрицы системы на шаге SQP (5.1):
1. Не положительно определённая
2. Симметричная
3. Разреженная
Самые быстрые:
1. LDL
2. BICG
10
P T AP  LDLT , где D  диагональная
L  нижняя треугольная
P  матрица перестановок
  пороговое
значение для
алгоритма
переупорядочивания
11
1.
2.
Предобуславливатель P
Пороговое значение для P
LUinc  неполное
LU разложение ,
  порог
отбрасываемых
значений
12
Лагранжиан : (z ,  )  m(z)   T c(z)
H1 (z)  2zz m(z), H2 (z ,  )  2zz  T c(z)
Полный гессиан :
H N (z ,  ) 
 H1 (z)  H2 (z ,  ) (8)
Неполный гессиан :
H GN (z ,  )  H1 (z) (9)
13
14
 dx
 p x

(10.1)
 dt

 x(0)  1
x(t )  p  (p  1)e t (10.2)
15
 dx
 p  x  e t cos(t )

(11.1)
 dt

x(0)  2

x(t )  p  e t sin(t ) (11.2)
16
 dx
 p4 (p1  x)  p2 p3 cos(p3t )e  p4t

 dt

x(0)  2 (12.1)

x(t )  p1  p2 sin(p3t )e  p4t (12.2)
17
dx
  px(t   ) (13.1)
dt
sin(p )
x(t )  sin(pt ) 
cos(pt ) (13.2)
1  cos(p )
18
dx
  px(t   )x(t ) (14.1)
dt
19
Акаев А.А., Садовничий В.А., Ануфриев И.Е. (2011) :


dP
P(t )
2
 rP (t   1 )  1 
 (15)
dt
K (P ,  2 ,  3 ) 

K (P ,  2 ,  3 )  Pc  
 P(t   2 )  P0

e
  P (t  3 )P0

 1  среднее время наступления репродуктивной способности
 2  время диффузии базисных технологий
 3  запаздывание реакции биосферы на антропогенную нагрузку
r ,  ,   параметры
Pc  стационарная численность населения
Для мира :  1  25,  2  30,  3  100
20
Для модели (15) при    25 30 100  , P0  1, Pc  4 :
T
r 
p   k  
 
  
 0.019 
  1.941 


 5.058 
21
Для модели (15) при    25 30 100  , P0  1, Pc  5.2 :
T
r 
p   k  
 
  
 0.018 
  2.261 


 4.59 
22
Для модели (15) при    25 30 100  , P0  1, Pc  6 :
T
r 
p   k  
 
  
 0.017 
  2.693 


 4.692 
23
Для модели (15) при    25 30 100  , P0  1, Pc  9 :
T
r 
p   k  
 
  
 0.015 
  4.267 


 9.555 
24
25



26
Разработан быстрый алгоритм решения
задачи оценки параметров ОДУ с
запаздывающими аргументами
Полученный алгоритм реализован в среде
разработки MATLAB в виде программы с
графическим интерфейсом пользователя
Получены оценки параметров для уравнения
демографической динамики
27