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

Материал из sawiki
Перейти к навигации Перейти к поиску
 
(не показано 18 промежуточных версий этого же участника)
Строка 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\).
  
Введем еще одну координату:
+
'''Сопряженная переменная''' имеет следующий вид: \(\psi = (\psi_1, ..., \psi_n)\).
\[
 
\begin{cases}
 
  x_0(t) = t - t_0, \\
 
  x_0(t_1) = t_1 - t_0, \\
 
  x_0(t_0) = 0.
 
\end{cases}
 
\]
 
 
 
Тогда имеем, \(\hat{x} = (x_0, x)^T = (x_0, x_1, ... , x_n)^T \), \(\hat{x}^0 = (0, x_1^0, ... , x_n^0)^T\), \(\hat{f} = (f^0, ..., f^n)^T\).
 
 
 
'''Сопряженная переменная''' имеет следующий вид: \(\psi = (\psi_1, ..., \psi_n)\), \(\hat{\psi} = (\psi_0, ..., \psi_n)\).
 
  
 
Выпишем '''функцию Гамильтона-Понтрягина''':
 
Выпишем '''функцию Гамильтона-Понтрягина''':
 
\[
 
\[
\mathcal{\hat{H}}(\hat{\psi}, \hat{x}, u) = \psi_0F^0 + \langle \psi, f(x(t), u(t)) \rangle = \langle \hat{\psi}, \hat{f}(x(t), u(t)) \rangle.  
+
\mathcal{H}(\psi, x, u) = \langle \psi, f(x(t), u(t)) \rangle.  
 
\]
 
\]
  
 
Тогда можно говорить о сопряженной системе:
 
Тогда можно говорить о сопряженной системе:
 
\[
 
\[
\dot{\overline{\psi}} = -\frac{\partial \mathcal{\hat{H}}}{\partial \hat{x}(t)}.
+
\dot{\psi} = -\frac{\partial \mathcal{H}}{\partial x(t)}.
 
\]
 
\]
  
Заметим, что '''гамильтонианом''' системы называется \(M = \underset{u\in \mathcal{P}}{\text{sup}} \mathcal{\hat{H}}(\overline{\psi}, \overline{x}, u)\).
+
Заметим, что '''гамильтонианом''' системы называется \(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\).
  
 
== Принцип максимума Понтрягина ==
 
== Принцип максимума Понтрягина ==
Строка 56: Строка 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} \text{Argmax}_{u \in \cal{P}} 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.\]
  
Отметим, что отказ от требования \(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] \). Разумность такого отказа показывает следующий пример:
+
'''Доказательство''' принципа максимума Понтрягина можно найти в книге: Л.C. Понтрягин, В.Г. Болтянский, Р.В. Гамкрелидзе, Е.Ф. Мищенко. "Математическая теория оптимальных процессов". — М.: Наука, 1976 [http://control.botik.ru/wp-content/files_mf/1447942876im3547.pdf].
  
==== Пример 1 ====
+
В общем случае еще учитывается условие трансверсальности на концах, однако поскольку рассматриваемая задача быстродействия является задачей "из точки в точку", их можно опустить. Уточним, что в задаче быстродействия нецелесообразно вводит дополнительную координату в вектор \(x\) и сопряженную переменную \(\psi\), поскольку все условия, связанные с этой дополнительной координатой, равны нулю или не имеют значения.
Пусть система описывается уравнениями
+
 
 +
Важно отметить, что принцип максимума является необходимым, но не достаточным условием.
 +
 
 +
== Примеры ==
 +
 
 +
=== Пример 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\) мы достигнем финальной точки.
+
Все траектории можно изобразить на графике:
  
Однако для нахождения оптимального управления нам (формально) надо было бы найти вектор-максимизатор \(l_0\). На эту роль подходят векторы \( \frac{1}{\sqrt{2}}[-1, 1]^T \) и \( \frac{1}{\sqrt{2}}[1, -1]^T \).
+
[[Файл:grafpng.png|центр|обрамить|Общий вид оптимального синтеза]]
  
Выпишем условие максимума:
+
Поскольку через любую точку вида \((x_1, x_2)\) проходит единственная кривая из представленных, то для любой начальной точки существует единственная траектория, переводящая ей в конечную. Оптимальные траектории существуют, значит и решение оптимально.
 +
 
 +
=== Пример 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\), что представляет собой в точности условие полной управляемости.
 
 
Роль этого условия раскрывает следующая теорема.
 
  
==== Теорема 1 ====
+
Так как \(\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)\) состоят из кусков, удовлетворяющих системе:
На самом деле, условие нормальности гарантирует строгую выпуклость множества достижимости.
 
 
 
==== Пример 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