Задача быстродействия "из точки в точку": различия между версиями

Материал из sawiki
Перейти к навигации Перейти к поиску
 
(не показано 16 промежуточных версий этого же участника)
Строка 8: Строка 8:
 
   x(t_0) = x^0, \\
 
   x(t_0) = x^0, \\
 
   x(t_1) = x^1, \\
 
   x(t_1) = x^1, \\
   u(\tau) \in \mathcal{P}(\tau) \in \text{conv}\mathbb{R}^m, \\
+
   u(\tau) \in \mathcal{P}(\tau) \in \text{conv} \, \mathbb{R}^m, \\
 
   t_1 - t_0 \rightarrow \underset{u(\cdot)}{\text{inf}},
 
   t_1 - t_0 \rightarrow \underset{u(\cdot)}{\text{inf}},
 
\end{cases}
 
\end{cases}
 
\]
 
\]
  
где \(x_0, x_1, t_0 \) - фиксированы, \(A(t), B(t), f(t) \) - непрерывны, а \(\mathcal{P} \) непрерывно как многозначное отображение (это требование гарантирует нам, что для любого \(l: \rho(l\vert\mathcal{P}(\tau)\) по \(\tau\) непрерывна\(^1\)).
+
где \(x_0, x_1, t_0 \) \(~-\) фиксированы, \(A(t), B(t), f(t) \) \(~-\) непрерывны, а \(\mathcal{P} \) непрерывно как многозначное отображение (это требование гарантирует нам, что для любого \(l: \rho(l\vert\mathcal{P}(\tau)\) по \(\tau\) непрерывна\(^1\)).
  
 
\(^1\)В частности, при \(m=1\) множество \(\mathcal{P}\) выглядит как \(\mathcal{P} = [a(\tau), b(\tau)]\); непрерывность многозначного отображения означает, что \(a(\tau), b(\tau)\) - непрерывны.  
 
\(^1\)В частности, при \(m=1\) множество \(\mathcal{P}\) выглядит как \(\mathcal{P} = [a(\tau), b(\tau)]\); непрерывность многозначного отображения означает, что \(a(\tau), b(\tau)\) - непрерывны.  
Строка 19: Строка 19:
 
Заметим, что в общем случае функционал имеет вид:  
 
Заметим, что в общем случае функционал имеет вид:  
 
\[
 
\[
\mathcal{J} = \int\limits_{t_0}^{t_1}f^0(x(t), u(t))dt \rightarrow \underset{u(\cdot)}{\text{inf}}
+
\mathcal{J} = \int\limits_{t_0}^{t_1}f^0(x(t), u(t))\,dt \rightarrow \underset{u(\cdot)}{\text{inf}}
 
\]
 
\]
 
Принимая \(f^0 \equiv 1 \), получаем задачу быстродействия с функционалом \(\mathcal{J} = t_1 - t_0\).
 
Принимая \(f^0 \equiv 1 \), получаем задачу быстродействия с функционалом \(\mathcal{J} = t_1 - t_0\).
Строка 35: Строка 35:
 
\]
 
\]
  
Заметим, что '''гамильтонианом''' системы называется \(M = \underset{u\in \mathcal{P}}{\text{sup}} \mathcal{H}(\psi, x, u)\). Однако в задаче быстродействия супремум достижим, поэтому \(M = \underset{u\in \mathcal{P}}{\text{max}} \langle \psi, f(x(t), u(t)) \rangle\).
+
Заметим, что '''гамильтонианом''' системы называется \(M = \underset{u\in \mathcal{P}}{\text{sup}} \, \mathcal{H}(\psi, x, u)\). Однако в задаче быстродействия супремум достижим, поэтому \(M = \underset{u\in \mathcal{P}}{\text{max}} \, \langle \psi, f(x(t), u(t)) \rangle\).
  
 
== Принцип максимума Понтрягина ==
 
== Принцип максимума Понтрягина ==
Строка 45: Строка 45:
 
\[\dot{\psi} = -\frac{\partial H(\psi(t), x(t), u(t))}{\partial x(t)} \bigg|_{x=x^*(t) \\ u=u^*(t) \\ \psi = \psi^*(t)};\]
 
\[\dot{\psi} = -\frac{\partial H(\psi(t), x(t), u(t))}{\partial x(t)} \bigg|_{x=x^*(t) \\ u=u^*(t) \\ \psi = \psi^*(t)};\]
 
2) Условие максимума (УМ):
 
2) Условие максимума (УМ):
\[u^*(t) \stackrel{\textrm{п.в.}}{\in} \underset{u \in \cal{P}}{\text{Argmax}} \mathcal{H}(\psi^*(t), x^*(t), u(t));\]
+
\[u^*(t) \stackrel{\textrm{п.в.}}{\in} \underset{u \in \cal{P}}{\text{Argmax}} \, \mathcal{H}(\psi^*(t), x^*(t), u(t));\]
3) \(M(\psi^*(t), x^*(t)) \equiv \text{const} \geqslant 0\).
+
3) \[M(\psi^*(t), x^*(t)) \equiv \text{const} \geqslant 0.\]
  
В общем случае еще учитывается условие трансверсальности на концах, однако поскольку рассматриваемая задача быстродействия является задачей "из точки в точку", их можно опустить.
+
'''Доказательство''' принципа максимума Понтрягина можно найти в книге: Л.C. Понтрягин, В.Г. Болтянский, Р.В. Гамкрелидзе, Е.Ф. Мищенко. "Математическая теория оптимальных процессов". — М.: Наука, 1976 [http://control.botik.ru/wp-content/files_mf/1447942876im3547.pdf].
 +
 
 +
В общем случае еще учитывается условие трансверсальности на концах, однако поскольку рассматриваемая задача быстродействия является задачей "из точки в точку", их можно опустить. Уточним, что в задаче быстродействия нецелесообразно вводит дополнительную координату в вектор \(x\) и сопряженную переменную \(\psi\), поскольку все условия, связанные с этой дополнительной координатой, равны нулю или не имеют значения.
  
 
Важно отметить, что принцип максимума является необходимым, но не достаточным условием.
 
Важно отметить, что принцип максимума является необходимым, но не достаточным условием.
  
 
== Примеры ==
 
== Примеры ==
Отметим, что отказ от требования \(u(\tau) \in \mathcal{P}(\tau) \in \text{conv}\mathbb{R}^m\) невозможен; в этом случае \( \overline{\mathcal{X}_\mathcal{P}[t_1]} = \mathcal{X}_\overline{\mathcal{P}}[t_1] \). Разумность такого отказа показывает следующий пример:
 
  
==== Пример 1 ====
+
=== Пример 1 ===
Пусть система описывается уравнениями
+
Рассмотрим поезд, движущийся по железной дороге. Задача состоит в том, чтобы привести поезд на станцию и остановить его там за кратчайшее время. Положение поезда описывается действительной координатой \(x^1\); начало отсчета \(0\) соответствует станции. Будем считать, что поезд движется без трения, а мы управляем ускорением поезда, прикладывая ограниченную по модулю силу. Подберем единицы измерения так, чтобы максимальное по модулю ускорение было единичным.
 +
Тогда система описывается уравнениями:
 
\[
 
\[
 
\begin{cases}
 
\begin{cases}
   \dot{x} = u, \\
+
   \ddot{x} = u, \\
   x(0) = 0, \\
+
   x(0) = x^0, \\
   u(\tau) \in [-1, 1].
+
   x(t_1) = 0; \\
 +
  u \in [-1, 1].
 
\end{cases}
 
\end{cases}
 
\]
 
\]
  
Тогда множеством достижимости \(\mathcal{X}_1\) буде бесконечный треугольник в I и IV квадрантах, лежащий внутри прямых \(x=t\) и \(x=-t\). При этом, геометрически ясно, что замена множества допустимых управлений с отрезка \([-1, 1]\) на двухточечное множество \(\{-1, 1\}\)не изменит множества достижимости: любую точку, лежащую внутри \(\mathcal{X}_1\), можно соединить с началом координат ломанной, содержащей звенья, параллельные прямым \(x=t\) и \(x=-1\).
+
Или, в стандартном виде:
 +
\[
 +
\begin{cases}
 +
  \dot{x}_1 = x_2, \\
 +
  \dot{x}_2 = u, \\
 +
  x_1(0) = x_1^0, \\
 +
  x_2(0) = x_2^0, \\
 +
  x_1(t_1) = 0, \\
 +
  x_2(t_1) = 0, \\
 +
  u \in [-1, 1].
 +
\end{cases}
 +
\]
  
Именно этот прием используется при управлении парусными судами при отсутствии попутного ветра(при этом говорят, что судно идет галсом).
+
'''Решение:'''
 
+
Выпишем функцию Гамильтона-Понтрягина:
Введем множество достижимости
 
 
\[
 
\[
  \mathcal{X}[t_1] = \mathcal{X}(t_1, t_0, x^0) = \{ x = x(t_1, t_0, x^0 \vert u(\cdot)), u(\tau) \in \mathcal{P} \}.
+
\mathcal{H} = \psi_1x_2 + \psi_2u.
 
\]
 
\]
  
Введем также трубку достижимости \(\mathcal{X}[\cdot]\). Следует понимать, что множество достижимости - это множество, а трубка достижимости - это функция, отображающая время на соответствующее множество достижимости. Ее графиком будем называть множество \( \mathcal{X}[\cdot] = \{(t,x): x\in\mathcal{X}[t]\} \).
+
Тогда сопряженная система имеет вид:
 
 
Ключевую роль играет следующее утверждение
 
 
 
==== Утверждение 1 ====
 
Если \(t_1^*-t_0\) - время оптимального взаимодействия, \( x^*, u^* \) - соответственно траектория и управления, отвечающие этому времени, то \( (t_1^*, x^*(t_1^*)) \in \partial\mathcal{X}[\cdot] \).
 
 
 
Следующий пример показывает, что в криволинейных координатах это утверждение, вообще говоря, неверно.
 
 
 
==== Пример 2 ====
 
Пусть система описывается уравнениями
 
 
\[
 
\[
 
\begin{cases}
 
\begin{cases}
   \dot{\rho} = u_1, \vert u_1 \vert \le 1, \\
+
   \dot{\psi}_1 = 0, \\
   \dot{\varphi} = u_2, \vert u_2 \vert \le 1, \\
+
   \dot{\psi}_2 = -\psi_1.
  \rho(0) = \rho^0 > 0, \\
 
  \varphi(0) = \varphi^0.
 
 
\end{cases}
 
\end{cases}
 
\]
 
\]
  
Если бы это были декартовы координаты на плоскости, то трубкой достижимости была бы "распухающий квадрат" \( \mathcal{X}[t_1] = \{ \vert x-x^0 \vert \le t_1, \vert y - y^0 \vert \le t_2 \} \). В нашем же случае это будет "распухающий кольцевой сектор", и множество достижимости не будет выпуклым. Это приведет к тому, что если финальная точка будет отвечать углу в \(\pi\), то \( (t_1^*, x^*(t_1^*)) \notin \partial\mathcal{X}[\cdot] \).
+
Из условия максимума имеем, что:
 
 
Введем функцию \(\varepsilon[t_1] = d(x^1, \mathcal{X}[t_1])\).
 
 
 
==== Утверждение 2 ====
 
\( t_1^* - t_0 \) - время оптимального взаимодействия \( \iff  t_1^*\) - наименьший корень уравнения \( \varepsilon[t_1] = 0, t_1 \ge t_0 \).
 
 
 
При этом стоит иметь в виду, что если некое множество \(Z\) - компакт, то \(x \in Z \iff d(x, Z) = 0\).
 
 
 
== Свойства множества достижимости ==
 
Далее доказательства опускаются, но их знать обязательно нужно.
 
==== Утверждение 3 ====
 
\( \mathcal{X}[t_1] \in \text{conv}\mathbb{R}^n \).
 
 
 
==== Лемма 1 (ОЧЕНЬ важная) ====
 
\( \sup_{u(\cdot)} \left[ \int\limits_{t_0}^{t_1} <s(\tau), u(\tau)> d\tau \right] = \int\limits_{t_0}^{t_1} \sup_{u \in \mathcal{P}} <s(\tau), u> d\tau \).
 
 
 
 
 
== Условие максимума ==
 
Перейдем непосредственно к решению задачи быстродействия. Выпишем в терминах опорных функций условие \( x^1 \in \mathcal{X}[t_1]: \)
 
 
\[
 
\[
  <l, x^1> \le \rho(l \vert \mathcal{X}[t_1])
+
u^*(t) = \text{sgn}\, (\psi_2(t)).
 
\]
 
\]
для любого \(l\), или, в терминах расстояний до множества, \( d(x^1, \mathcal{X}[t_1] = \varepsilon[t_1] = 0 \). Фиксируем произвольное число \(\hat{\varepsilon}\). Тогда верна следующая цепочка равносильных переходов:
+
Поскольку \(\ddot{\psi}_2 = 0\), то \(\psi_2 = \alpha +\beta t \), а значит \(u^*(t) = \text{sgn}\, (\alpha +\beta t)\). Следовательно, \(u(t)\) кусочно постоянно, принимает только экстремальные значения \(\pm 1\) и имеет не более одного переключения (точки разрыва).
 +
 
 +
Отыщем все траектории, соответствующие таким управлениям и приходящие в нуль. Найдем решения следующей системы:
 
\[
 
\[
  d(x^1, \mathcal{X}[t_1]) \le \hat{\varepsilon} \iff x^1 \in \mathcal{X}[t_1] + \hat{\varepsilon}B_1(0) \iff <l, x^1> \le \rho(l \vert \mathcal{X}[t_1]) + \hat{\varepsilon}\vert\vert l \vert\vert.
+
\begin{cases}
 +
  \dot{x}_1 = x_2, \\
 +
  \dot{x}_2 = \pm1.
 +
\end{cases}
 
\]
 
\]
  
В силу положительной однородности левой и правой части по \(l\), последнее соотношение можно нормировать и записать в виде
 
 
\[
 
\[
  \sup_{\vert\vert l \vert\vert = 1}(<l, x^1> - \rho(l \vert \mathcal{X}[t_1])) \le \hat{\varepsilon},
+
x_1 = \pm\frac{x_2^2}{2}+C, C = const
 
\]
 
\]
  
откуда следует, что \(\varepsilon[t_1] = \sup_{\vert\vert l \vert\vert}(<l, x^1> - \rho(l \vert \mathcal{X}[t_1])) \). Таким образом, отсюда время быстродействия \(t_1^*\) находится как наименьший корень уравнения \( \varepsilon[t_1^*] = 0 \).
+
Из семейства функций, являющихся решением, найдем те, которые не имеют переключений:
 
 
Возьмем вектор \( l^0 \in \text{Argmax}_{\vert\vert l \vert\vert = 1}(<l, x^1> - \rho(l \vert \mathcal{X}[t_1])) \). Тогда \( <l^0, x^1> = \rho(l^0 \vert \mathcal{X}[t_1^*]) \), что означает, что \(x^1\) лежит на пересечении опорной гиперплоскости и самого множества. Отсюда \( u^*(\tau) = u^{l_0}(\tau) \). Таким образом, мы можем записать необходимое условие максимума:
 
 
 
Если \(u^*\) есть управление, доставляющее оптимальное управление, то
 
 
\[
 
\[
  <B^T(\tau)\psi(\tau)u^*(\tau)> = \max_{u \in \mathcal{P}(\tau)}<B^T(\tau)\psi(\tau), u>.
+
x_1 = \frac{x_2^2}{2}, x_2 < 0, \dot{x}_2 > 0; \\
 +
x_1 = -\frac{x_2^2}{2}, x_2 > 0, \dot{x}_2 < 0.
 
\]
 
\]
  
Естественно встает вопрос: является ли это условие достаточным? Оказывается нет ~--- следующий пример показывается, что условию максимума может удовлетворять вообще любое допустимое управление!
+
Выпишем уравнения для траекторий, когда имеется одно переключение. Пусть \((p, q)\) \(~-\) точка переключения, тогда траектории можно записать как:
  
==== Пример 3 ====
 
Рассмотрим следующую задачу быстродействию:
 
 
\[
 
\[
 +
x_1 =
 
\begin{cases}
 
\begin{cases}
   \dot{x}_1 = u - 1, \\
+
   -\frac{x_2^2}{2} + \frac{q^2}{2} + p, x_2 > q, \dot{x}_2 < 0, \\
  \dot{x}_2 = u + 1, \\
+
   \frac{x_2^2}{2}, 0 > x_2 > q, \dot{x}_2 > 0,
   x^0 = [0, 0]^T, \\
 
  x^1 = [-1, 1]^T, \\
 
  \vert u(t) \vert \le 1.
 
 
\end{cases}
 
\end{cases}
 
\]
 
\]
  
В этой задаче, \( \mathcal{P}(t) \equiv \mathcal{P} = [-1, 1] \). Найдем опорную функцию для этой задачи:
 
 
\[
 
\[
\rho(l \vert \mathcal{X}[t_1]) = \int\limits_0^{t_1}<l, [-1, 1]^T> + \int\limits_0^{t_1}\rho([1, 1]^Tl \vert \mathcal{P}(\tau))d\tau = t_1(l_2 - l_1) + t_1\vert l_1 + l_2\vert.
+
x_1 =
 +
\begin{cases}
 +
  \frac{x_2^2}{2} - \frac{q^2}{2} + p, x_2 < q, \dot{x}_2 > 0, \\
 +
  -\frac{x_2^2}{2}, 0 < x_2 < q, \dot{x}_2 < 0.
 +
\end{cases}
 
\]
 
\]
  
Легко видеть, что это сумма опорных функций одноточечного множества и отрезка. С геометрической точки зрения, множество достижимости есть отрезок, соединяющий на плоскости точки \( [-1, -1]^T \) и \([1, 1]^T\), который "ползает" по плоскости. Очевидно, что для быстрейшего достижения очки \([-1, 1]^T\) надо "ползти" вверх по прямой \(y=-x\). Тогда в момент \(t^*=1\) мы достигнем финальной точки.
+
Все траектории можно изобразить на графике:
 +
 
 +
[[Файл:grafpng.png|центр|обрамить|Общий вид оптимального синтеза]]
 +
 
 +
Поскольку через любую точку вида \((x_1, x_2)\) проходит единственная кривая из представленных, то для любой начальной точки существует единственная траектория, переводящая ей в конечную. Оптимальные траектории существуют, значит и решение оптимально.
  
Однако для нахождения оптимального управления нам (формально) надо было бы найти вектор-максимизатор \(l_0\). На эту роль подходят векторы \( \frac{1}{\sqrt{2}}[-1, 1]^T \) и \( \frac{1}{\sqrt{2}}[1, -1]^T \).
+
=== Пример 2 ===
  
Выпишем условие максимума:
+
Решим следующую задачу быстродействия:
 
\[
 
\[
   <B^Tl^0, u^*> = \max_{u \in \mathcal{P}}<B^Tl^0, u>,
+
\begin{cases}
 +
  \dot{x}_1 = x_2, \\
 +
  \dot{x}_2 = -x_1 + u, \\
 +
   x(0) = x^0, \\
 +
  x(t_1) = 0; \\
 +
  u \in [-1, 1].
 +
\end{cases}
 
\]
 
\]
  
которое в нашем случае вид \(0 = 0\).
+
'''Решение:'''
 +
Выпишем функцию Гамильтона-Понтрягина:
 +
\[
 +
\mathcal{H} = \psi_1x_2 - \psi_2x_1 + \psi_2u.
 +
\]
  
Хотя приведенный пример показывает редкую для линейных систем ситуацию, стоит поставить вопрос об условиях, позволяющих использовать условие максимума как необходимое и достаточное условие.
+
Тогда сопряженная система имеет вид:
 +
\[
 +
\begin{cases}
 +
  \dot{\psi}_1 = \psi_2, \\
 +
  \dot{\psi}_2 = -\psi_1.
 +
\end{cases}
 +
\]
  
==== Условие нормальности (общности положения) ====
+
Из условия максимума имеем, что оптимальное управление:
Рассмотрим частный случай нашей задачи: Пусть \(A, B\) - const, а \(\mathcal{P}\) - выпуклый многогранник с непустой внутренностью, построенный на точках \(u_1, u_2, \dots, u_M\), причем \(u_j \in \partial\mathcal{P}, j = \overline{1, M}\). Пусть \( w = w^{k,l} = u^k-u^l \), где \(k, l\) соединены ребром. Потребуем, чтобы выполнялось условие нормальности (или условие общности положения):
 
 
\[
 
\[
  \text{Векторы } Bw, ABw, \dots, A^{n-1}Bw \text{ линейно независимы}.
+
u^*(t) = \text{sgn}(\psi_2(t)).  
 
\]
 
\]
Отметим, что если \(\mathcal{P}\) имеет вид "параллелепипеда", \( \mathcal{P} = \{ u \in \mathbb{R}^m \vert a_i \le u_i \le b_i, i = \overline{1, m} \} \), а матрица \(B\) состоит из столбцов \(b^1, b^2, \dots, b^m\), то условие нормальности требует линейной независимости векторов \( b^i, Ab^i, \dots, A^{n-1}b^i \) для всех \(i\), что представляет собой в точности условие полной управляемости.
 
  
Роль этого условия раскрывает следующая теорема.
+
Так как \(\ddot{\psi}_2 = \psi_2\), то \(\psi_2 = \alpha\, \text{sin}(t+\beta), \alpha, \beta = const\). При этом \(\alpha \neq 0\), поскольку иначе \(\psi_2 = 0 \rightarrow \psi_1 = 0\) (из сопряженной системы) \(~-\) а это противоречит принципу максимума.  
  
==== Теорема 1 ====
+
Поскольку \(u^*(t) = \text{sgn}(\alpha\, \text{sin}(t+\beta))\), то переключения зависят от первого момента переключения \(\tau \in [0, t]\) и изначального знака \(\text{sgn}\, (u^*(0)) \in \{\pm1\} \). Сами переключения будут происходить через каждое \(\pi\) от начального переключения \(\tau\). Оптимальное управление принимает только значение \(\pm 1\), тогда траектории \((x_1(t), x_2(t)\) состоят из кусков, удовлетворяющих системе:
Если выполняется условие нормальности, то условию максимума удовлетворяет единственное управление.
 
 
 
==== Замечание 1 ====
 
На самом деле, условие нормальности гарантирует строгую выпуклость множества достижимости.
 
 
 
==== Пример 4 ====
 
Рассмотрим задачу
 
 
\[
 
\[
 
\begin{cases}
 
\begin{cases}
   \dot{x}_1 = u_1, \vert u_1 \vert \le 1, \\
+
   \dot{x}_1 = x_2, \\
   \dot{x}_2 = u_2, \vert u_2 \vert \le 1. \\
+
   \dot{x}_2 = -x_1\pm1,
 
\end{cases}
 
\end{cases}
 
\]
 
\]
 +
т.е. из дуг окружностей \((x_1 \pm 1)^2 + x_2^2 = C, C = const\).
  
Эта система вполне управляема, но не сильно вполне управляема. Множество достижимости в данном случае ~--- квадрат (т.е. не строго выпуклое). Случай, в котором условие максимума выделяет единственное управление, бывает тогда, когда финальная точка оказывается на углу квадрата.
+
Заметим, что существует закономерность: переключения происходят на полуокружностях
 
+
\[
=== Условие управляемости при выпуклости множества \(\mathcal{P}\) ===
+
(x_1 + 1)^2 + x_2^2 = 1, x_2 \geqslant 0, \\
==== Теорема 2 ====
+
(x_1 - 3)^2 + x_2^2 = 1, x_2 \leqslant 0, \\
Пусть \(\mathcal{P}\) строго выпукло и имеет непустую внутренностью, и выполнено условие полной управляемости,
+
(x_1 + 5)^2 + x_2^2 = 1, x_2 \geqslant 0, \\
 +
(x_1 - 7)^2 + x_2^2 = 1, x_2 \leqslant 0, \\
 +
\]
 +
и так далее. Таким образом, кривую переключений можно выразить как
 
\[
 
\[
  \text{rg}[B\vert AB\vert \dots\vert A^{n-1}B] = n.
+
(x_1 + (2k-1))^2 + x_2^2 = 1, x_2 \geqslant 0, k \in \mathbb{N}\\
 +
(x_1 - (2k-1))^2 + x_2^2 = 1, x_2 \leqslant 0, k \in \mathbb{N} \\
 
\]
 
\]
Тогда условие максимума определяет оптимальное управление единственным образом.
+
 
 +
Все траектории можно изобразить на графике:
 +
 
 +
[[Файл:graf_2.png|центр|обрамить|Оптимальные траектории]]
 +
 
 +
Поскольку для любой точки вида \((x_1, x_2)\) существует единственная кривая из семейства выше, то можно однозначно восстановить оптимальную траекторию.
 +
 
 +
== Список литературы ==
 +
* Л.C. Понтрягин, В.Г. Болтянский, Р.В. Гамкрелидзе, Е.Ф. Мищенко. "Математическая теория оптимальных процессов". — М.: Наука, 1976,
 +
* А.А. Аграчев, Ю.Л. Сачков. "Геометрическая теория управления". Москва, Физматлит, 2005

Текущая версия на 22:48, 14 февраля 2023

Постановка задачи

Задача быстродействия\(~-\) задача перевода системы из начального фиксированного положения в конечное, также фиксированное, положение за минимальное время.

Пусть наша система описывается следующими условиями: \[ \begin{cases} \dot{x}(t) = f(x(t), u(t)), \\ x(t_0) = x^0, \\ x(t_1) = x^1, \\ u(\tau) \in \mathcal{P}(\tau) \in \text{conv} \, \mathbb{R}^m, \\ t_1 - t_0 \rightarrow \underset{u(\cdot)}{\text{inf}}, \end{cases} \]

где \(x_0, x_1, t_0 \) \(~-\) фиксированы, \(A(t), B(t), f(t) \) \(~-\) непрерывны, а \(\mathcal{P} \) непрерывно как многозначное отображение (это требование гарантирует нам, что для любого \(l: \rho(l\vert\mathcal{P}(\tau)\) по \(\tau\) непрерывна\(^1\)).

\(^1\)В частности, при \(m=1\) множество \(\mathcal{P}\) выглядит как \(\mathcal{P} = [a(\tau), b(\tau)]\); непрерывность многозначного отображения означает, что \(a(\tau), b(\tau)\) - непрерывны.

Заметим, что в общем случае функционал имеет вид: \[ \mathcal{J} = \int\limits_{t_0}^{t_1}f^0(x(t), u(t))\,dt \rightarrow \underset{u(\cdot)}{\text{inf}} \] Принимая \(f^0 \equiv 1 \), получаем задачу быстродействия с функционалом \(\mathcal{J} = t_1 - t_0\).

Сопряженная переменная имеет следующий вид: \(\psi = (\psi_1, ..., \psi_n)\).

Выпишем функцию Гамильтона-Понтрягина: \[ \mathcal{H}(\psi, x, u) = \langle \psi, f(x(t), u(t)) \rangle. \]

Тогда можно говорить о сопряженной системе: \[ \dot{\psi} = -\frac{\partial \mathcal{H}}{\partial x(t)}. \]

Заметим, что гамильтонианом системы называется \(M = \underset{u\in \mathcal{P}}{\text{sup}} \, \mathcal{H}(\psi, x, u)\). Однако в задаче быстродействия супремум достижим, поэтому \(M = \underset{u\in \mathcal{P}}{\text{max}} \, \langle \psi, f(x(t), u(t)) \rangle\).

Принцип максимума Понтрягина

Теорема(ПМП для автономной задачи быстродействия)

Пусть \((x^*(\cdot), u^*(\cdot))\) \(~-\) оптимальная пара, \(\mathcal{H}\) \(~-\) функция Гамильтона–Понтрягина. Тогда существует \(\psi^*:[t_0, t_1] \rightarrow \mathbb{R}^n \), \(\psi^* \neq 0 \) такое, что:

1) Сопряженная система (СС): \[\dot{\psi} = -\frac{\partial H(\psi(t), x(t), u(t))}{\partial x(t)} \bigg|_{x=x^*(t) \\ u=u^*(t) \\ \psi = \psi^*(t)};\] 2) Условие максимума (УМ): \[u^*(t) \stackrel{\textrm{п.в.}}{\in} \underset{u \in \cal{P}}{\text{Argmax}} \, \mathcal{H}(\psi^*(t), x^*(t), u(t));\] 3) \[M(\psi^*(t), x^*(t)) \equiv \text{const} \geqslant 0.\]

Доказательство принципа максимума Понтрягина можно найти в книге: Л.C. Понтрягин, В.Г. Болтянский, Р.В. Гамкрелидзе, Е.Ф. Мищенко. "Математическая теория оптимальных процессов". — М.: Наука, 1976 [1].

В общем случае еще учитывается условие трансверсальности на концах, однако поскольку рассматриваемая задача быстродействия является задачей "из точки в точку", их можно опустить. Уточним, что в задаче быстродействия нецелесообразно вводит дополнительную координату в вектор \(x\) и сопряженную переменную \(\psi\), поскольку все условия, связанные с этой дополнительной координатой, равны нулю или не имеют значения.

Важно отметить, что принцип максимума является необходимым, но не достаточным условием.

Примеры

Пример 1

Рассмотрим поезд, движущийся по железной дороге. Задача состоит в том, чтобы привести поезд на станцию и остановить его там за кратчайшее время. Положение поезда описывается действительной координатой \(x^1\); начало отсчета \(0\) соответствует станции. Будем считать, что поезд движется без трения, а мы управляем ускорением поезда, прикладывая ограниченную по модулю силу. Подберем единицы измерения так, чтобы максимальное по модулю ускорение было единичным. Тогда система описывается уравнениями: \[ \begin{cases} \ddot{x} = u, \\ x(0) = x^0, \\ x(t_1) = 0; \\ u \in [-1, 1]. \end{cases} \]

Или, в стандартном виде: \[ \begin{cases} \dot{x}_1 = x_2, \\ \dot{x}_2 = u, \\ x_1(0) = x_1^0, \\ x_2(0) = x_2^0, \\ x_1(t_1) = 0, \\ x_2(t_1) = 0, \\ u \in [-1, 1]. \end{cases} \]

Решение: Выпишем функцию Гамильтона-Понтрягина: \[ \mathcal{H} = \psi_1x_2 + \psi_2u. \]

Тогда сопряженная система имеет вид: \[ \begin{cases} \dot{\psi}_1 = 0, \\ \dot{\psi}_2 = -\psi_1. \end{cases} \]

Из условия максимума имеем, что: \[ u^*(t) = \text{sgn}\, (\psi_2(t)). \] Поскольку \(\ddot{\psi}_2 = 0\), то \(\psi_2 = \alpha +\beta t \), а значит \(u^*(t) = \text{sgn}\, (\alpha +\beta t)\). Следовательно, \(u(t)\) кусочно постоянно, принимает только экстремальные значения \(\pm 1\) и имеет не более одного переключения (точки разрыва).

Отыщем все траектории, соответствующие таким управлениям и приходящие в нуль. Найдем решения следующей системы: \[ \begin{cases} \dot{x}_1 = x_2, \\ \dot{x}_2 = \pm1. \end{cases} \]

\[ x_1 = \pm\frac{x_2^2}{2}+C, C = const \]

Из семейства функций, являющихся решением, найдем те, которые не имеют переключений: \[ x_1 = \frac{x_2^2}{2}, x_2 < 0, \dot{x}_2 > 0; \\ x_1 = -\frac{x_2^2}{2}, x_2 > 0, \dot{x}_2 < 0. \]

Выпишем уравнения для траекторий, когда имеется одно переключение. Пусть \((p, q)\) \(~-\) точка переключения, тогда траектории можно записать как:

\[ x_1 = \begin{cases} -\frac{x_2^2}{2} + \frac{q^2}{2} + p, x_2 > q, \dot{x}_2 < 0, \\ \frac{x_2^2}{2}, 0 > x_2 > q, \dot{x}_2 > 0, \end{cases} \]

\[ x_1 = \begin{cases} \frac{x_2^2}{2} - \frac{q^2}{2} + p, x_2 < q, \dot{x}_2 > 0, \\ -\frac{x_2^2}{2}, 0 < x_2 < q, \dot{x}_2 < 0. \end{cases} \]

Все траектории можно изобразить на графике:

Общий вид оптимального синтеза

Поскольку через любую точку вида \((x_1, x_2)\) проходит единственная кривая из представленных, то для любой начальной точки существует единственная траектория, переводящая ей в конечную. Оптимальные траектории существуют, значит и решение оптимально.

Пример 2

Решим следующую задачу быстродействия: \[ \begin{cases} \dot{x}_1 = x_2, \\ \dot{x}_2 = -x_1 + u, \\ x(0) = x^0, \\ x(t_1) = 0; \\ u \in [-1, 1]. \end{cases} \]

Решение: Выпишем функцию Гамильтона-Понтрягина: \[ \mathcal{H} = \psi_1x_2 - \psi_2x_1 + \psi_2u. \]

Тогда сопряженная система имеет вид: \[ \begin{cases} \dot{\psi}_1 = \psi_2, \\ \dot{\psi}_2 = -\psi_1. \end{cases} \]

Из условия максимума имеем, что оптимальное управление: \[ u^*(t) = \text{sgn}(\psi_2(t)). \]

Так как \(\ddot{\psi}_2 = \psi_2\), то \(\psi_2 = \alpha\, \text{sin}(t+\beta), \alpha, \beta = const\). При этом \(\alpha \neq 0\), поскольку иначе \(\psi_2 = 0 \rightarrow \psi_1 = 0\) (из сопряженной системы) \(~-\) а это противоречит принципу максимума.

Поскольку \(u^*(t) = \text{sgn}(\alpha\, \text{sin}(t+\beta))\), то переключения зависят от первого момента переключения \(\tau \in [0, t]\) и изначального знака \(\text{sgn}\, (u^*(0)) \in \{\pm1\} \). Сами переключения будут происходить через каждое \(\pi\) от начального переключения \(\tau\). Оптимальное управление принимает только значение \(\pm 1\), тогда траектории \((x_1(t), x_2(t)\) состоят из кусков, удовлетворяющих системе: \[ \begin{cases} \dot{x}_1 = x_2, \\ \dot{x}_2 = -x_1\pm1, \end{cases} \] т.е. из дуг окружностей \((x_1 \pm 1)^2 + x_2^2 = C, C = const\).

Заметим, что существует закономерность: переключения происходят на полуокружностях \[ (x_1 + 1)^2 + x_2^2 = 1, x_2 \geqslant 0, \\ (x_1 - 3)^2 + x_2^2 = 1, x_2 \leqslant 0, \\ (x_1 + 5)^2 + x_2^2 = 1, x_2 \geqslant 0, \\ (x_1 - 7)^2 + x_2^2 = 1, x_2 \leqslant 0, \\ \] и так далее. Таким образом, кривую переключений можно выразить как \[ (x_1 + (2k-1))^2 + x_2^2 = 1, x_2 \geqslant 0, k \in \mathbb{N}\\ (x_1 - (2k-1))^2 + x_2^2 = 1, x_2 \leqslant 0, k \in \mathbb{N} \\ \]

Все траектории можно изобразить на графике:

Оптимальные траектории

Поскольку для любой точки вида \((x_1, x_2)\) существует единственная кривая из семейства выше, то можно однозначно восстановить оптимальную траекторию.

Список литературы

  • Л.C. Понтрягин, В.Г. Болтянский, Р.В. Гамкрелидзе, Е.Ф. Мищенко. "Математическая теория оптимальных процессов". — М.: Наука, 1976,
  • А.А. Аграчев, Ю.Л. Сачков. "Геометрическая теория управления". Москва, Физматлит, 2005