Vol. 19, № 02, 2016
Civil Avition High TECHNOLOGIES
УДК 517.977.58
ПРИМЕНЕНИЕ ИТЕРАЦИОННОГО ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ В ЗАДАЧАХ СИНТЕЗА ОПТИМАЛЬНОГО УПРАВЛЕНИЯ С ПОЛНОЙ ОБРАТНОЙ СВЯЗЬЮ
A.B. ПАНТЕЛЕЕВ, Д.А. РОДИОНОВА
В работе предложено обобщение процедуры итерационного динамического программирования с применением последовательной редукции множества допустимых решений (метода Luus-Jakola) на задачи оптимального управления нелинейными непрерывными детерминированными системами с полной обратной связью. Оно включает поиск коэффициентов представления закона управления функцией насыщения, учитывающей ограничения на величину управления, содержащей в качестве аргумента сумму произведений ортонормированных функций, образующих базисную систему. На основе предложенного алгоритма разработан комплекс программ, эффективность которого продемонстрирована на модельном примере управления химическим процессом.
Ключевые слова: оптимальное управление, итерационное динамическое программирование, глобальный экстремум, нелинейные детерминированные системы, случайный поиск.
ВВЕДЕНИЕ
В статье предлагается обобщить метод итерационного динамического программирования (итерационную процедуру Лууса) на задачи синтеза оптимального управления нелинейными непрерывными детерминированными динамическими системами с полной обратной связью по вектору состояния. Итерационная процедура Лууса хорошо зарекомендовала себя при нахождении оптимального программного управления в разнообразных прикладных задачах управления, а в задачах синтеза управления с полной обратной связью не применялась [1-3]. Предлагается свести задачу к проблеме поиска коэффициентов закона управления, представленного в виде функции насыщения, учитывающей ограничения на величину управления и содержащей в качестве аргумента сумму произведений ортонормированных функций, образующих базисную систему. При этом каждая базисная система содержит функции, зависящие от одной из координат вектора состояния. В качестве базисных систем могут использоваться, например, многочлены Лежандра и нестационарные косинусоиды, широко применяемые в спектральной форме описания [4]. Полученную задачу параметрической оптимизации предлагается решать методом случайного поиска глобального условного экстремума с последовательной редукцией области исследования - одним из метаэвристических методов глобальной оптимизации [5-8].
На основе описанного подхода сформирован пошаговый алгоритм синтеза оптимального управления и создано соответствующее программное обеспечение, эффективность которых демонстрируется на модельной задаче управления химическим процессом.
1. ПОСТАНОВКА ЗАДАЧИ
Пусть поведение модели объекта управления описывается обыкновенным дифференциальным уравнением x = f (t,x(t),u(t)), x(t0) = x0, где x - вектор состояния системы, xe Rn,
u - вектор управления, u e U(t) с Rq, U(t) - некоторое заданное множество допустимых значений управления, для каждого значения t представляющее собой прямое произведение отрезков [ai(t), bi(t)], i = 1,2,..., q; t - время, t e T' = [t0, tN] = T U{ t0} U{ tN} , T'- промежуток времени функционирования системы, моменты времени t0 и tN заданы, внешние воздействия на объект управления отсутствуют, f (t, x, u) : T'x Rn x U ^ Rn - непрерывно дифференцируемая вектор-функция.
Civil Avition High TECHNOLOGIES
Vol. 19, № 02, 2016
Обозначим: Q = (t0,tN)xRn, Q' = [i0,tN]xRn.
Начальные условия x(t0) заданы множеством начальных состояний QcRn, т.е. x(t0)е А. Условия на вектор состояния на правом конце промежутка времени T' не заданы.
Предполагается, что при управлении используется информация о времени t и о всех компонентах вектора x, т.е. управление u(t), применяемое в каждый момент времени t е T', имеет вид управления u(t) = u(t, x(t)) с полной обратной связью по вектору состояния.
Множество допустимых управлений U n с полной обратной связью образуют функции u(t,x): T' xB ^ U(t) такие, что функции f (t,x,u(t,x)), i = 1,...,n, определены на Q', непрерывны вместе с частными производными по x, кусочно-непрерывны по t. При этом управление u(t) = u(t, x(t)) кусочно-непрерывно по t, а в точках разрыва значение управления определяется как предел справа.
Множество допустимых процессов D (t0, x0) - множество пар d = (x(-), u(-)), удовлетворяющих дифференциальному уравнению и начальному условию почти всюду на T', где Vt е T' x(t) е Rn, u(t) е U(t), функции x() непрерывны и кусочно-дифференцируемы, a u(-) кусочно-непрерывны.
На множестве D (t0, x0) определим функционал качества управления
tN
I (d) = J f 0(t, x(t), u(t)) dt + F(x(tN )),
h
где f0 (t, x, u), F(x) - заданные непрерывно дифференцируемые функции.
Требуется найти такую функцию u* (t, x) е U , что I (d *) = min I (d), Vx0 еА, где
d ев (t„, x0)
d* = (X( ),u'(.) = U(;x* (■)).
Функция u* (t, x) е Un называется оптимальной синтезирующей функцией на множестве А. Для каждого начального условия из множества А она порождает оптимальную пару, т.е. оптимальную траекторию x*(-) и оптимальное программное управление u*(-). Предполагается, что минимум функционала и функция u* (t, x) существуют.
2. СТРАТЕГИЯ ПОИСКА РЕШЕНИЯ
Шаг 1. Задать:
• множество начальных состояний А: а< x(t0) <р, где а = (а1,..., an )T, в = (в1,...., pn)T -заданные векторы;
• N - число стадий по времени; разбить интервал времени [t0, tN ] на N стадий длиной
L = ———. Считать управление кусочно-постоянным на каждой стадии: N
u(t,x(t)) = M(t^-1,x(tk-i)) = u(tk-i) = const при tе[^_1,tk), к = 1,...,N . Тогда
N h
I = £ J f 0(t, x(t), u (tk_i)) dt + F(x(tN));
k=1 tk_i
• L1,..., Ln - масштабы усечения.
Vol. 19, № 02, 2016
Civil Avition High TECHNOLOGIES
Шаг 2. Генерировать M точек на множестве начальных состояний Q, используя равномерное распределение: х(i\t0) = х(г\ i = 1,..., M.
Шаг 3.
3.1. Задать параметры метода Лууса: P - число проходов; ITER - число итераций, выполняемых за один проход; rin - вектор, характеризующий размер множества допустимых решений; у - коэффициент уменьшения размера области поиска по управлению; П - коэффициент восстановления размера области поиска по управлению; R - число управлений, генерируемых в текущей точке. Положить q = 0 (число проходов), j = 1 (число итераций).
Задать начальный закон управления и0 (t, х). Положить и*j (t, х) = и0 (t, х).
3.2. Положить r1 =nq • rin (вектор, характеризующий размеры текущей области поиска по управлению).
3.3. Решить уравнение X = f (t, x(t), u'J (tk-1, x(tk-1))), к = 1,...,N, х(г )(t0) = x(i), i = 1,..., M . Для каждого i результатом являются управление u( г) *,J (•), где u(i) *, 1 (tk-1) = и'1 (tk -1, х(i) *(tk-1)), к = 1,..., N, и траектория х(г)*(0. Подсчитать значение функционала I(х(г)*(^), u(г) *, 1 (•)). Запомнить координаты вектора состояния х(г-1*1 (tk), к = 1,..., N -1.
3.4. Реализовать процедуру поиска наилучшего решения на каждой стадии, выполняя попятное движение от конца (времени tN ) к началу (времени t0).
3.4.1. НаN-й стадии (tе [tN-1,tN]) для каждого i = 1,...,M :
генерировать R допустимых векторов управления: u(г) 1+1, m (tN-1) =
= u(г)*, 1 (tN-1) + Dm • r1, m = 1,..., R с проверкой условия u(i)1+1,m(tN-1)е [a(tN-1),b(tN-l)], где условие
принадлежности понимается покомпонентно для каждой координаты вектора управления, Dm -диагональная матрица со случайными взаимно независимыми элементами, равномерно распределенными на отрезке [-1,1];
- решить R раз уравнение хх(t) = f (t, x(t),u(г) 1+1,m(tN_j)), tе [tN_l,tN] с начальным условием x(tN_j) = x(г)*, 1 (tN_j) . В результате получить решения х(г) 1+1,m(t)), tе [tN_,tN], m = 1,..., R ;
- вычислить R соответствующих значений функционала
tN
I (x( г )*1 (tN_1),1) = j f0(t, x(i)1+1,m (t), u(i)1+1,m (tN_1)) dt + F(x(i)1+1,m (tN)) ; m = 1,..., R;
N-1
- среди полученных значений выбрать наименьшее, а соответствующее ему управление на N-й стадии обозначить u(г)*1 +1(tN-1). Оно соответствует состоянию х(г)*, 1 (tN-1), которому соответствует также управление и 1+1(tN_х,x{l) 1 (tN_j)) = м(г)*, 1+1(tN_j);
- в сечении при t = tN_1 решить задачу аппроксимации. В M точках с известным вектором x(j-1*1 (tN_1) известны M векторов управления u(г)*, 1+1(tN_1). Используя метод случайного поиска с последовательной редукцией области исследования, решить задачу минимизации:
M г (i) 1.. _ ( ■■
uk (tN-i) _ uk(tN-l,x J(tN_1)) ^ mm, к = q,
5
uh-N-.1 '1.....n
I L -1 L„ -1 I
где uk (tN_i, x) = sat ¡Y. ••• Z ' Pi ('i' xi)''' 'Pn ('n, xn) \ = sat {uk (tN-i,, k = 1,-> q,
I ',=0 'n =0 I
Научный Вестник МГТУ ГА_Том 19, № 02, 2016
Civil Avition High TECHNOLOGIES Vol. 19, № 02, 2016
sa
t [uk {tN-j, x )} =
Pi(ii, xi) =
\
Uk (tN-1, XX ak (tN-1 ) < Uk (tN-1, X) < Ьк (tN-1 X
ak (tN-1), Uk (tN-1, X) ^ ak (tN-1),
bk (tN-1), Uk (tN-1, X) ^ Ък (tN-Л
(X1 - X1)k
— E, 1 = 0,1,2,...,L -1.
— ' ' bk (— \k x1 - x1 k=0 (x1 - x1)
Pn (in, xn )
i
2i +1 (xn - x )
■ Zik,- -V , in = 0,1,2,...,L -1;
xn xn k=0 n, (xn x )
xx = maxxx, x = minxx - максимальные и минимальные значения координаты хх, s = 1,...,n,
- s
при t = tN-1 среди соответствующих координат векторов х(г}*1 (tN-1), i = 1,...,M .
В результате находятся коэффициенты uk'"т1 разложения по многочленам Лежандра для представления управления с полной обратной связью uk(tN-1,х), k = 1,...,q в момент времени
t tN-1 .
3.4.2. На k -й стадии (tе [tk-1, tk),k = 2,...,N -1) для каждого i = 1,...,M :
генерировать Я допустимых векторов управления и(г -11 ,т (1к _1) = = и(г^1 (1к_1) + Вт • г1, т = 1,...,Я с покомпонентной проверкой условия
и(г)1+1,те [а(^),Ъ(^)], г = 1,...,М;
- решить Я раз уравнение х = /(1, х(1), и(1)) с начальным условием х(1к_1) = х(г -1* 1 (1к_1) и управлением, которое найти одним из двух способов:
а) {и(1)} +1,т(^к_1),й((к,х(г)'1 +1(^к)),...,й(гы_!,х(г)'1 +1(^#_1))}, где управления й(гк,х),...,йЦ^,х)
ч__/ ч__/
V V
й('Ч) й(г )(?„ _1)
получены на предыдущих стадиях, а векторы х(г),1+1(4),...,х(г),1+1(7ыч) находятся в результате интегрирования как компоненты траекторий х(г) 1+1(^),...,х(г), 1+1(1) в моменты времени 1к,..., ^ы _1 ;
б) {и(г) 1+1,т(1к-1),й(г)(1к),...,й(г)(1ы_1)}, где управления й(г)(1к),...,й(г)(1ы_1) определить следующим образом:
• в силу интегрирования уравнения х = / (1, х (1), и(1)) с начальным условием х(1к-1) = х(г-1*1 (1к-1) и управлением и(г) 1+1,т (1к_1) на промежутке [1к_1,1к ] получить часть траектории х(г), 1+1,т (1) , а при 1 = 1к - вектор состояния х(г) 1 +1,т (1к );
(г) *, 1(1 \ V - 1 Л/Г пай™ ^а™™ 4) *, 1
среди векторов х ) , 1 (1к), г = 1,...,М найти такой х 4) , 1(1к), евклидово расстояние от з до вектора х(г), 1+1,т (1к ) минимально;
положить и(г)(1к) = и(4-1*1+1(1к) , т.е. в качестве прикладываемого управления выбрать со-
ответствующее найденному вектору х(4) (1к), полученное на предыдущих стадиях; • выполнить описанные операции при к = 2,..., N _ 1. В результате получить решения х(г)1+1,т(1)), Iе [1к_1,1ы], т = 1,...,Я ;
Vol. 19, № 02, 2016
Civil Avition High TECHNOLOGIES
- вычислить Я соответствующих значений функционала
1(х(^(*к_) N - к +1) = ) /V, х(г)'+1,т(*), и()1+1,т+
*к _1
N Ъ
+ £ | /0(*,х(г)1+1,т(*),и(Ч^М + ^(х(г)1+1,т^));
А-=к+1 *
- среди полученных значений выбрать наименьшее, а соответствующее ему управление на к -й стадии обозначить и*'1+1(*к_1). Оно соответствует состоянию х(~')*, 1 (*к-1), которому соответствует также управление и*1+1(*к_1, х(г) *'1 (*к_1)) = и()*' 1+1(*к-1).
3.4.3. На 1-й стадии (*е [*0,*1)) для каждого I = 1,...,М :
- генерировать Я допустимых векторов управления: и(г) 1+1,т(*0) = и(^ 1 (*0) + Б™ • г1, да = 1,...,Я с покомпонентной проверкой условия и(г) ;+1,т(*0)е [а(*0),6(*0)], I = 1,...,М;
- решить Я раз уравнение х = /(*, х(*),и(*)) с начальным условием х(г)(*0) = х0г) и управлением |и(г) 1+1'т(*0),г)(*1),...,й(г"Х*^)} , которое найти одним из двух способов, описанных на шаге 3.4.2.
В результате получить решения х(г);+1,т(*)), *е [*0,tN],т = 1,...,Я :
- вычислить Я соответствующих значений функционала
*1 N
I(х0^,N) = |/0(*,х<11,т(*),и11,т(^М + £ | /°(*,х('11,т(*),+
+^ (х<'»+1,т (tN));
- среди полученных значений выбрать наименьшее, а соответствующее ему управление на 1-й стадии обозначить и('-1* 1+1(*0); оно соответствует состоянию х^) , которому соответствует
также управление и*'1+1 (*0, х() (*0)) = и(^ 1+1 (*0);
- в сечении при * = *0 решить задачу аппроксимации. В М точках с известным вектором х(г)*1 (*0) известны М векторов управления и(')*, 1+1(*0). Используя метод случайного поиска с последовательной редукцией области исследования, решить задачу минимизации:
Е \u(k''+4) - Щ (^ x(i ^ i=1 L
^ min, к = 1,...,q,
k ,0
u.
I ¿1-1 L-1 |
где U(i0, x) = sat ••• S uil0 ¡„' xi)'' P(in, xn) f = satКx)}, k = 1,-> q •
I il =0 in =0 J
В качестве результата шага получить:
- либо последовательность управлений с неполной обратной связью в моменты времени, соответствующие принятому разбиению {U(t0,x),u(t1,x),...,u(tN-1,x)}, представленные совокупностями коэффициентов разложения {uk,0. ;u^1 . ;...;uk'N71},
Civil Avition High TECHNOLOGIES
Vol. 19, № 02, 2016
- либо совокупностью множеств, образованных парами:
|x(i ),,]&), U( )*,j+1(t0)};{x(i jo, u( ^+1(0}, ..., {x1-' )*,j(tN_1), u( )',j+1(tN_1)}
(i )*,]/
,(i )*,]+1/
Итерация завершена.
3.5. Уменьшить размер области поиска: r1 +1 = у - r1.
3.6. Положить j = j +1. Если j < ITER, то перейти к шагу 3.3. Иначе перейти к шагу 3.7.
3.7. Положить q = q +1. Если q < Р, положить j = 1 и перейти к шагу 3.2. Иначе процесс завершить. В качестве решения выбрать последнее найденное управление (см. конец шага 3.4).
3. РЕШЕНИЕ ЗАДАЧИ УПРАВЛЕНИЯ ХИМИЧЕСКИМ ПРОЦЕССОМ
Модель непрерывной детерминированной системы описывается системой дифференциальных уравнений:
x1 = x2;
Xo — Xi
+ u + 100 [H (t-0,5)-H (t-0,6)];
x3 = 5 x2 + 2,5 x22 + 0,5u 2, il, если x > 0;
где 0 < t < tN = 2, H(x) = <! Ограничения на управление: -20 < u(t) < 20. Критерий
[0, если x < 0.
качества управления: I = x3(tN). Множество начальных состояний Q: -0,03 < x1 < 0,03, -0,03 < x2 < 0,03 x3 = 0.
Выберем следующие параметры метода: число генерируемых решений R = 100; число проходов Р = 10; число итераций за один проход ITER = 10; коэффициент уменьшения размера множества поиска у = 0,96; коэффициент восстановления начального множества поиска Г| = 0,8 . Для численного решения дифференциальных уравнений используется метод Рунге - Кутты 4-го порядка, число шагов интегрирования N = 40, число точек разбиения множества начальных состояний M = 30.
Параметры структуры управления Ц = 5, Ь2 = 2, L3 = 2. Совокупность коэффициентов функции разложения можно представить гиперстолбцовой матрицей при каждом значении времени t0, t1,..., tN-1.
Управление, полученное для
т
начального условия x(0) = [0; 0; 0] ,
„ _ Гл л «пт представлено в табл. 1 и на рис. 1. Оп-
Рис. 1. Оптимальное управление для начального условия x(0) = 10; 0; 01 ,
тимальное значение функционала со-
Vol. 19, № 02, 2016
Civil Avition High TECHNOLOGIES
ставило I = 58,1779. Программному управлению, полученному в [8] с помощью стандартной дискретизации задачи и непосредственного применения метода Лууса соответствует значение функционала I = 58,1532.
Структура матрицы
*000
U,
011
U
100
U,
411.
200
U.
211.
U.
301
U.
311
400
U.
U
411.
t0
-63,6510 16,4423 32,0799 -41,2702
0,0733 3,7248 9,3908 3,1323
3,4069 -12,1189 -31,7775' 27,5452
-17,7241 -2,5428 16,0787 -9,27339
-32,5534 2,3760 -2,8411 -14,4450
t20
"-9,5753" 13,4943 "13,8849 " 46,0811
" 5,3774 " 30,6109 -8,9260 -11,9867
-14,7846 13,8290 -26,0412 30,9022
33,47324 -19,1298 "12,8517" 7,6724
-11,8118 11,6189 "-2,8757" -3,2927
t39
17,6842 43,8736 "39,7846" -6,9687
0,1798 -36,7815 -25,5376 55,6162
4,0399 -49,0253 -16,5493 39,4318
" 9,1872" 6,7102 30,8337 -4,4586
1,8695 " -0,3246 -13,1276 17,9744
Полученное оптимальное управление с полной обратной связью сравнивалось с программным управлением, полученным в результате работы комплекса программ, описанного в [8]. Для 10 одинаковых точек из множества начальных состояний были получены значения критерия при управлении с полной обратной связью и при программном управлении. Наибольшее
отклонение наблюдалось при начальном условии x(0) = [0,03; - 0,01; 0]T , критерий качества управления с полной обратной связью составил I* = 58,1008, значение критерия при программном управлении составило I = 58,1484, таким образом, max |I -1 * = 0,0476, что свидетельствует о приемлемой точности полученного решения.
ЗАКЛЮЧЕНИЕ
В работе рассмотрено применение метода итерационного динамического программирования и метода случайного поиска с последовательной редукцией области исследования к решению задачи поиска оптимального управления с полной обратной связью.
Civil Avition High TECHNOLOGIES
Vol. 19, № 02, 2016
СПИСОК ЛИТЕРАТУРЫ
1. Luus R., Jaakola T.H.I. Optimization by direct search and systematic reduction of the size of search region // American Institute of Chemical Engineers Journal (AIChE). Vol. 19 (4). 1973. P. 760-766.
2. Luus R. Iterative Dynamic Programming. London, New York, Washington: CRC Press. 2000.
3. Bojkov R., Hansel B., Luus R. Application of direct search optimization to optimal control problems // Hungarian Journal of Industrial Chemistry. - Vol. 21. 1993. P. 177-185.
4. Пантелеев A.B., Рыбаков K.A. Прикладной вероятностный анализ нелинейных систем управления спектральным методом. - М.: Изд-во МАП-ПРИНТ, 2010. - 160 с.
5. Пантелеев А.В., Метлицкая Д.В., Алешина Е.А. Методы глобальной оптимизации. Метаэвристические стратегии и алгоритмы. - М.: Вузовская книга, 2013. - 244 c.
6. Пантелеев А.В. Применение эволюционных методов глобальной оптимизации в задачах оптимального управления детерминированными системами. - М.: Изд-во МАИ, 2013. - 160 с.
7. Пантелеев А.В., Метлицкая Д.В. Применение генетических алгоритмов с бинарным и вещественным кодированием для приближенного синтеза субоптимального управления детерминированными системами // Автоматика и телемеханика. - 2011. - № 11. - С. 117-129.
8. Пантелеев А.В., Родионова Д.А. Применение метода случайного поиска с последовательной редукцией области исследования в задачах оптимального управления детерминированными системами // Известия института инженерной физики. - 2014. - № 3 (33). - С. 17-22.
APPLICATION OF ITERATIVE DYNAMIC PROGRAMMING TO OPTIMAL FEED-BACK CONTROL PROBLEM
Panteleev A.V., Rodionova D.A.
This paper presents a generalization of iterative dynamic programming using Luus-Jakola optimization procedure applied to the solution of optimal feed-back control for nonlinear deterministic systems. Iterative dynamic programming is realized. Efficiency of proposed method is tested on the software complex developed by the authors in C++; a model example of chemical process control is presented.
Key words: optimal control, iterative dynamic programming, global extremum, nonlinear deterministic systems, bioinspired methods, random search.
REFERENCES
1. Luus R., Jaakola T.H.I. Optimization by direct search and systematic reduction of the size of search region. American Institute of Chemical Engineers Journal (AIChE). Vol. 19 (4). 1973. P. 760-766.
2. Luus R. Iterative Dynamic Programming. London, New York, Washington: CRC Press. 2000.
3. Bojkov R., Hansel B., Luus R. Application of direct search optimization to optimal control problems. Hungarian Journal of Industrial Chemistry. Vol. 21. 1993. P. 177-185.
4. Panteleev A.V., Rybakov K.A. Applied probability analysis of nonlinear control systems using spectral method. M.: MAI-PRINT, 2010. 160 p. (in Russian).
5. Panteleev A.V., Metlitskaya D.V., Aleshina E.A. Global optimization methods, Metaheu-ristic strategies and algorithms. M.: Vuzovskaya kniga, 2013. 244 p. (in Russian).
6. Panteleev A.V. Usage of evolutionary global optimization methods in deterministic systems optimal control problems. M.: MAI publishing house, 2013. 160 p. (in Russian).
7. Panteleev A.V., Metlitskaya D.V. An application of genetic algorithms with binary and real coding for approximate synthesis of suboptimal control in deterministic systems. Avtomatika i telemekhanika. 2011. Vol. 11. Pp. 117-129. (in Russian).
Vol. 19, № 02, 2016
Civil Avition High TECHNOLOGIES
8. Panteleev A.V., Rodionova D.A. An application of the method of random search with a consistent reduction of the field of research for the problems of optimal control of deterministic systems. Izvestiya instituta inzhenernoi fiziki. Vol. 3 (33). 2014. Pp. 17-22. (in Russian).
СВЕДЕНИЯ ОБ АВТОРАХ
Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978). Доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики факультета «Прикладная математика и физика» Московского авиационного института (Национального исследовательского университета), автор более 150 научных публикаций и 34 книг. Области научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации, электронный адрес: dep805@mai.ru.
Родионова Дарья Андреевна, окончила МАП (2014). Аспирантка факультета «Прикладная математика и физика» Московского авиационного института. Области научных интересов - методы оптимизации, метаэвристические методы, электронный адрес: d.arya.rodionova@yandex.ru.