2016 ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА Сер. 10 Вып. 1
ПРОЦЕССЫ УПРАВЛЕНИЯ
УДК 517.977.1 А. В. Фоминых
МЕТОД ГИПОДИФФЕРЕНЦИАЛЬНОГО СПУСКА В ЗАДАЧЕ ПОСТРОЕНИЯ ПРОГРАММНОГО УПРАВЛЕНИЯ*
Санкт-Петербургский государственный университет, Россия, 199034, Санкт-Петербург, Университетская наб., 7—9
В статье рассматривается задача программного управления объектом, движение которого описывается системой обыкновенных дифференциальных уравнений. Исходная задача сводится к задаче безусловной минимизации некоторого негладкого функционала. Для него найдены необходимые условия минимума в терминах гиподифференциала. Выделен класс задач, для которых эти условия оказываются и достаточными. На основании данных условий к рассматриваемой задаче применяется метод гиподифференциального спуска. Его использование иллюстрируется на численных примерах. Библиогр. 11 назв.
Ключевые слова: негладкий функционал, вариационная задача, программное управление, метод гиподифференциального спуска.
A. V. Fominyh
HYPODIFFERENTIAL DESCENT METHOD IN THE PROBLEM OF CONSTRUCTING PROGRAM CONTROL
St. Petersburg State University, 7—9, Universitetskaya nab., St. Petersburg, 199034, Russia
In this paper the problem of program control of an object whose motion is described by system of ordinary differential equations, is considered. The original problem is reduced to the problem of unconstrained minimization of a non-smooth functional. Necessary minimum conditions for it in terms of hypodifferential are found. A class of problems, for which these conditions are also sufficient, is distinguished. On the basis of these conditions the hypodifferential descent method is applied to the described problem. Application of the method is illustrated by numerical examples. Refs 11.
Keywords: non-smooth functional, variation problem, program control, hypodifferential descent method.
Введение. Гиподифференциальный спуск, который относится к методам недиф-ференцируемой оптимизации, впервые стал применяться к бесконечномерным задачам, а именно к задачам вариационного исчисления, в работах [1—3]. В статьях [4, 5]
Фоминых Александр Владимирович — аспирант; e-mail: [email protected]
Fominyh Alexander Vladimirovich — post-graduate student; e-mail: [email protected]
* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 14-01-31521 мол-а) и Санкт-Петербургского государственного университета (НИР, проект № 9.38.205.2014).
© Санкт-Петербургский государственный университет, 2016
с помощью аппарата негладких штрафных функций исследовались задачи управления, которые являются задачами вариационного исчисления в достаточно общей постановке. В целом схема решения состоит в сведении исходной задачи к минимизации некоторого функционала на всем пространстве. При этом дифференциальные связи, ограничения на начальное и конечное состояния объекта и управление снимаются при помощи некоторых слагаемых данного функционала, которые оказываются негладкими.
Понятие гиподифференциала, введенное В. Ф. Демьяновым, оказалось весьма продуктивным для решения задач негладкой оптимизации, поскольку оно обладает рядом полезных свойств. Так, гиподифференциальное отображение является непрерывным в метрике Хаусдорфа [6], что позволяет строить на его основании сходящиеся численные методы, кроме того, для гиподифференциала разработано богатое исчисление [6]. В настоящей статье к решению задачи построения программного управления применяется метод гиподифференциального спуска.
Отметим, что для рассматриваемой задачи разработана теория [7, 8], позволяющая строить программное управление в аналитическом виде как для линейных систем, так и для нелинейного случая. Однако это решение использует фундаментальную матрицу системы, а задача ее построения даже для линейных нестационарных систем не решена в общем виде.
Постановка задачи. Рассмотрим краевую задачу
х = /(х,и,г), г е [0,т], (1)
х(0) = хо, (2)
х(Т) = хт. (3)
Считаем систему (1) управляемой [7] из начального положения (2) в конечное состояние (3). Здесь Т > 0 — заданный момент времени, /(х, и, г) — вещественная п-мерная вектор-функция, х(г) — п-мерная вектор-функция фазовых координат, которую будем считать непрерывной с кусочно непрерывной на [0, Т] производной. Предположим, что вектор-функция /(х,и,г) непрерывно дифференцируема по х и и и непрерывна по всем трем аргументам. Пусть т-мерное управление и принадлежит следующему множеству допустимых управлений:
т
и = {и е Рт[0,т] | J (и(г),и(г))л < с), (4)
т
где С — заданная константа; У(У\,У2)& — скалярное произведение вектор-функций
о
VI, «2.
Требуется подобрать такое управление, которое принадлежит множеству допустимых управлений (4) и переводит систему (1) из начального положения (2) в конечное состояние (3) за время Т.
Сведение к вариационной задаче. Положим г (г) = х(г), г е Рп[0,Т]. Тогда
с учетом (2) имеем х(г) = хо + J г(т)3,т.
Введем в рассмотрение функционал
т
1
1(г,и) = ^ J (¡р(г, (р(г, и,Ь))скЬ +
о
т
/и
(и(г),и(г))¿г — с} + ^ф,(г), (5)
ъ
ф(г,и,г) = г (г) — / (хо + J г(т)3,г,и,£),
здесь
ъ
,и,') „" !
о т
фг(г) = ф^г)=х01 + J - хТи г = 1,п,
о
а хог — г-я компонента вектора хо, хт% — г-я компонента вектора хт, г = 1,п.
Нетрудно заметить, что функционал (5) неотрицателен для всех г € Рп[0,Т] и всех и € Рт[0,Т] и обращается в нуль в точке [г*,и*] € Ри[0,Т] х Рт[0,Т] тогда
ъ
и только тогда, когда х* (г) = хо + J г*(т)йт — программное движение, соответст-
о
вующее искомому программному управлению и* € и.
Можно показать, что имеет место следующая лемма.
Лемма. Если система (1) линейна по фазовым переменным х и по управлению и, то функционал I(г, и) является выпуклым.
Метод гиподифференциального спуска. Найдем гиподифференциал функционала 1{г,и). Для гиподифференциала функционалов фг{г), г = 1,п, имеем следующее выражение [6]:
йфг{г) = со{ [ ф^г) - фг(г), а], [ - ф^г) - фг(г), }.
Пусть
т
12(и)=тах{0^ (и(г),и(г))А — С}.
т
и
о
Для гиподифференциала функционала 12(и) справедливо
¿12 (и) = ео{[ / (и(г),и(г)) ¿г — С — Ь(и), 2и], [- 12(и), 0т\ }.
Тогда гиподифференциал функционала I(г, и) можно определить по формуле
¿I (г,и) = [0,в1(г),в2(г)] +
и
+ с°{ [ ~ ^¿(¿0, е», 0т], [ - ф^г) - фг{г), -е», 0т] } + (6)
г=1
+ co{[J (u(t),u(t))dt - C - h(u), 0n, 2u], [ - h(u), 0n, 0m]},
coi I I [u
в которой
T
Sl(t) = z(t) - f(z,u,t) - I (y)W) _ f^Ujr))dr,
t
Известно, что необходимым, а в случае выпуклости и достаточным условием минимума функционала (5) в точке [z*, u*] в терминах гиподифференциала является условие [6]
0n+m+1 е dI(z*,u*).
Отсюда и из леммы заключаем, что справедлива следующая теорема.
Теорема. Для того чтобы управление u* е U переводило систему (1) из начального положения (2) в конечное состояние (3) за время T, необходимо, а в случае линейности системы (1) и достаточно, чтобы
0n+m+1 е dI(z*,u*) (7)
(гиподифференциал dI(z,u) см. в (6)).
Найдем минимальный по норме гипоградиент g(t,z,u) е dI(z,u) в точке [z, u], т. е. решим задачу
min \\g\\2 = min_11 [О, Sl(t), s2(t)] +
gedl(z,u) /3»е[0,1], i=l,n+l
n i=i
T
+ вп+i [J (u(t),u(t))dt - C - I2(u), 0n, 2u] +(1- вп+1)[ - I2(u), 0n, 0m]||2.
0
Задача (8) представляет собой задачу квадратичного программирования при наличии линейных ограничений и может быть решена одним из известных методов [9]. Обозначим [3*, г = 1, п + 1, ее решение. Пусть g = [gi, g^}, где g-2 состоит из последних n + m компонент вектор-функции g. Тогда
n
G(t,z,u) := g** = [si(t),s2 (t)] +Y. {в** К 0m] +(1 - в*)[ - ei, 0^ +
i=i
+ вП+1[0п, 2u] +(1- вП+1)[0п, 0m]
является вектор-функцией, состоящей из последних n + m компонент наименьшего по норме гипоградиента функционала I в точке [z, u]. Если ||G|| > 0, то вектор-функция — есть направление гипоградиентного спуска функционала I в точке
[z,u].
Опишем следующий метод гиподифференциального спуска для поиска стационарных точек функционала I(z,u). Фиксируем произвольную точку [zi,ui] € Pn[0, T] х Pm[0, T]. Пусть уже построена точка [zk, uk] € Pn[0, T] x Pm[0, T]. Если выполнено условие минимума (7), то точка [zk,uk] — стационарная точка функционала I(z,u), и процесс прекращается. В противном случае положим
[zk+i,uu+i] = [zk, uk] - акСк,
где Gk = G(t,zk,uk) представляет собой вектор-функцию, состоящую из последних n+m компонент наименьшего по норме гипоградиента функционала I в точке [zk, uk], а величина ak является решением задачи одномерной минимизации
min I ([zk ,uk] - aGk) = I ([zk ,u] - ak Gk).
a'^ü
Тогда I(zk+1,uk+1) ^ I(zk,uk). Если последовательность {[zk,uk\\ бесконечна, то можно показать, что метод гиподифференциального спуска сходится в следующем смысле:
\\g(zk,uk)\\ ^ 0 при к ^ж.
Если последовательность {[zk,uk]} конечна, то последняя ее точка будет стационарной точкой функционала I(z, u) по построению.
Численные примеры. Приведем некоторые примеры задач построения программного управления. Далее под «погрешностью» понимается величина I(zk,uk) -I(z*,u*), т. е. само значение I(zk,uk) (поскольку I(z*,u*) = 0). Рассмотрим систему
X 1 = ¿2, ¿2 = u.
Такие системы возникают при моделировании движения вала [7]. Управление u характеризует силу, которая прикладывается к валу. В нулевой момент времени вал повернут на некоторый заданный угол и имеет заданную угловую скорость; эти величины записаны в начальном векторе
¿(0) = ¿о.
Требуется так управлять движением вала, чтобы в момент времени T он остановился и его угловая скорость была равна нулю, т. е.
хт = [0,0].
При этом на управление накладывается интегральное ограничение
т
J (u(t),u(t))dt < C.
ü
Положим хо = [2,1], T = 1, C = 3. В данной задаче известно аналитическое решение. Для заданных граничных условий оно имеет вид
u*(t) = 30t - 16 + v2(t),
г *(г) = ш2 — 1бг +1+ у2(т ^т,
г** (г) = 30г — 16 + у2(г),
где вектор-функция у(г) = [VI(г),У2(г)] удовлетворяет такому условию ортогонально-
сти:
1
J (— гvl (г) + V2(г))¿t = 0.
Приведем результаты вычислений (для аналитического решения здесь положено
v(г) = [0, 0]):
к
I (гк ,«к) II«* - Пк\\
\\г* - *к II
1\0(гк,ик)\1
1
2.66666 8.7178 8.9629 1.16428
2
1.96998 8.6603 8.71276 0.20983
10
20
1.34425 0.82772 6.23975 4.60287
6.35764 0.27035
4.64919 0.27871
30 0.15326 2.1094 2.32091 0.1575
40 0.01951 0.63503 0.59202 0.05249
В качестве начального приближения взята точка и (г) = 0, г (г) = [0, —1], а тогда х(г) = [2,1 — г]. Получено, что на 40-й итерации погрешность не превышает величины 2 • 10~2.
Решим еще одну задачу. Пусть задана система
Ж1 = Ж2 жз + и1, Х2 = Жз Ж1 + и2, Хз = Х1Х2 + из.
Такие системы возникают из динамических уравнений Эйлера при моделировании движения спутника [10]. При этом движение спутника относительно его центра инерции рассматривается как вращение твердого тела вокруг неподвижной точки. Управления и1, и2 , из характеризуют воздействие, которое оказывают на спутник установленные на нем двигатели. В начальный момент спутник вращается с заданной угловой скоростью
ж(0) = хо.
Требуется так управлять двигателями, чтобы за фиксированное время Т погасить угловые скорости тела
хт = [0, 0].
При этом ресурсы управления ограничены условием
(и(г),и(г))¿г < с.
Положим хо = [1,0, 0], Т = 1, С = 2. В этой задаче также известно аналитическое решение. Для заданных граничных условий оно имеет вид
1
Jи\(г)дгг = —1, и**(г) = 0, и*3(г) = 0,
(1)= и\(1), г*2 (г)=0, г*3 (1)=0.
В качестве начального приближения возьмем точку м(4) = [5, 5, 5], ¿(4) = [0,1,1], а тогда х(Ь) = [1,4,4]. Из приведенных данных следует, что на 6-й итерации погрешность не превышает величины 2 • 10
-2.
к 1к
Цо1 щк (Ь)йЬ -\u-2k \
\v-3k \ \*1к - «1к \ \^2к \ \?3к \
ЦСкН
1
3.475 1.5 0.5 0.5 0.5 1 1
1.19563
2
1.3084 0.92529 0.53818 0.53818 0.46418 0.29504 0.29504 1.56704
3
0.65596 0.8052 0.51081 0.51081 0.67117 0.08815 0.08815 1.09889
4
0.45822 0.17146 0.31975 0.31975 0.65721 0.07178 0.07178 0.9434
5
0.24556 0
0.19245 0.19245 0.6458 0.06178 0.06178 0.73868
6
0.0146 0
0.03525 0.03525 0.12328 0.03544 0.03544 0.12321
Рассмотрим еще одну систему
X1 = Х2,
Х2 = — вт(х!) + и,
Хз = п.
Такие системы возникают в нелинейном варианте задачи об успокоении маятника [11]. Требуется перевести систему из заданного начального положения
хо = [1, 0,0]
в заданное конечное состояние
хт = [0, 0, п].
При этом на управление накладывается ограничение
т
J (и(Ь),и(Ь))в;Ь < С.
о
Положим Т = 2п, С = п. В качестве начального приближения возьмем точку м(4) = 5, 2(4) = [5,5,5], а тогда ж(4) = [1 + 54,54,54]. Из приведенных данных вытекает, что на 10-й итерации погрешность не превышает величины 3 • 10-2:
к 1 2 5 10
I (гк ,ик) 15.04 4.67627 0.26627 0.02361 \\С(хк,ик)\\ 6.4908 5.31843 0.8763 0.0683
Заключение. В настоящей статье задача построения программного управления и соответствующего ему программного движения сводится к вариационной задаче минимизации некоторого негладкого функционала на всем пространстве. Для этого функционала выписан гиподифференциал, найдены необходимые условия минимума, которые в случае линейности исходной системы по фазовым переменным и управлению оказываются и достаточными. На основании таких условий описывается метод гиподифференциального спуска. Приведены численные примеры применения теоретических результатов.
Литература
1. Демьянов В. Ф. Условия экстремума и вариационное исчисление. М.: Высшая школа, 2005.
334 с.
2. Демьянов В. Ф., Тамасян Г. Ш. О прямых методах решения вариационных задач // Труды Ин-та математики и механики Урал. отд. РАН. 2010. Т. 16, № 5. C. 36—47.
3. Демьянов В. Ф., Долгополик М. В. Кодифференцируемые функции в банаховых пространствах: методы и приложения к задачам вариационного исчисления // Вестн. С.-Петерб. ун-та. Сер. 10. Прикладная математика. Информатика. Процессы управления. 2013. Вып. 3. С. 48—67.
4. Карелин В. В. Точные штрафы в одной задаче управления // Автоматика и телемеханика. 2004. № 3. С. 137-147.
5. Demyanov V. F., Giannessi F., Karelin V. V. Optimal control problems via exact penalty functions // Journal of Global Optimization. 1998. Vol. 12. P. 215-223.
6. Демьянов В. Ф., Рубинов А. М. Основы негладкого анализа и квазидифференциальное исчисление. М.: Наука, 1990. 432 с.
7. Зубов В. И. Лекции по теории управления. М.: Наука, 1975. 495 с.
8. Егоров А. И. Основы теории управления. М.: Физматлит, 2004. 502 с.
9. Даугавет В. А. Численные методы квадратичного программирования. СПб.: Изд-во С.-Петерб. ун-та, 2004. 128 с.
10. Крылов И. А. Численное решение задачи об оптимальной стабилизации спутника // Журн. вычисл. математики и матем. физики. 1968. Т. 8, № 1. С. 203-208.
11. Габасов Р. Вопросы конструктивной теории оптимального управления // Вестн. Белорус. гос. ун-та. Сер. 1. Физика. Математика. Информатика. 1981. № 3. С. 56-61.
References
1. Demyanov V. F. Uslovija jekstremuma i variacionnoe ischislenie [Extremum conditions and variation calculus]. Moscow, Vysshaja shkola Publ., 2005, 334 p. (In Russian)
2. Demyanov V. F., Tamasyan G. Sh. O prjamyh metodah reshenija variacionnyh zadach [On direct methods for solving variation problems]. Trudy Instituta matematiki i mekhaniki UrO RAN [Works of Institute of mathematics and mechanics of UrB RAS], 2010, vol. 16, no. 5, pp. 36-47. (In Russian)
3. Demyanov V. F., Dolgopolik M. V. Kodifferenciruemye funkcii v banahovyh prostranstvah: metody i prilozhenija k zadacham variacionnogo ischislenija [Codifferentiable functions in Banach spaces: methods and applications to Problems of Variation Calculus]. Vestnik of Saint Petersburg State University. Series 10. Applied mathematics. Computer science. Control processes, 2013, issue 3, pp. 48-66. (In Russian)
4. Karelin V. V. Tochnye shtrafy v odnoi zadache upravleniia [Penalty functions in a control problem]. Avtomatika i telemekhanika [Automation and Remote Control], 2004, no. 3, pp. 483-492. (In Russian)
5. Demyanov V. F., Giannessi F., Karelin V. V. Optimal control problems via exact penalty functions. Journal of Global Optimization, 1998, vol. 12, pp. 215-223.
6. Demyanov V. F., Rubinov A. M. Osnovy negladkogo analiza i kvazidifferencial'noe ischislenie [Basics of nonsmooth analysis and quasidifferentiable optimization]. Moscow, Nauka Publ., 1990, 432 p. (In Russian)
7. Zubov V. I. Lekcii po teorii upravlenija [Lectures on optimal control]. Moscow, Nauka Publ., 1975, 495 p. (In Russian)
8. Egorov A. I. Osnovy teorii upravlenija [Basics of control theory]. Moscow, Fizmatlit Publ., 2004, 502 p. (In Russian)
9. Daugavet V. A. Chislennye metody kvadratichnogo programmirovanija [Numerical methods of quadratic programming]. Saint Petersburg, Saint Petersburg State University Publ., 2001, 128 p. (In Russian)
10. Krylov I. A. Chislennoe reshenie zadachi ob optimal'noi stabilizatsii sputnika [Numerical solution of the problem of the optimal stabilization of an artificial satellite]. Zhurn. vychisl. matem. i matem. fiziki [USSR Computational Mathematics and Mathematical Physics], 1968, vol. 8, issue 1, pp. 284-291. (In Russian)
11. Gabasov R. Voprosy konstruktivnoj teorii optimal'nogo upravlenija [Questions on constructive theory of optimal control]. Vestn. Belorus. gos. un-ta. Ser. 1. Fizika. Matematika. Informatika [Vestnik of Byelorussian State University. Series 1. Physics. Mathematics. Computer science], 1981, no. 3, pp. 55-61. (In Russian)
Статья рекомендована к печати доц. А. П. Жабко. Статья поступила в редакцию 26 ноября 2015 г.