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

Материал из sawiki
Перейти к навигации Перейти к поиску
Строка 198: Строка 198:
  
 
[[Файл:graf_2.png|центр|обрамить|Оптимальные траектории]]
 
[[Файл:graf_2.png|центр|обрамить|Оптимальные траектории]]
 
== Условие максимума ==
 
Перейдем непосредственно к решению задачи быстродействия. Выпишем в терминах опорных функций условие \( x^1 \in \mathcal{X}[t_1]: \)
 
\[
 
  <l, x^1> \le \rho(l \vert \mathcal{X}[t_1])
 
\]
 
для любого \(l\), или, в терминах расстояний до множества, \( d(x^1, \mathcal{X}[t_1] = \varepsilon[t_1] = 0 \). Фиксируем произвольное число \(\hat{\varepsilon}\). Тогда верна следующая цепочка равносильных переходов:
 
\[
 
  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.
 
\]
 
 
В силу положительной однородности левой и правой части по \(l\), последнее соотношение можно нормировать и записать в виде
 
\[
 
  \sup_{\vert\vert l \vert\vert = 1}(<l, x^1> - \rho(l \vert \mathcal{X}[t_1])) \le \hat{\varepsilon},
 
\]
 
 
откуда следует, что \(\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>.
 
\]
 
 
Естественно встает вопрос: является ли это условие достаточным? Оказывается нет ~--- следующий пример показывается, что условию максимума может удовлетворять вообще любое допустимое управление!
 
 
==== Пример 3 ====
 
Рассмотрим следующую задачу быстродействию:
 
\[
 
\begin{cases}
 
  \dot{x}_1 = u - 1, \\
 
  \dot{x}_2 = u + 1, \\
 
  x^0 = [0, 0]^T, \\
 
  x^1 = [-1, 1]^T, \\
 
  \vert u(t) \vert \le 1.
 
\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.
 
\]
 
 
Легко видеть, что это сумма опорных функций одноточечного множества и отрезка. С геометрической точки зрения, множество достижимости есть отрезок, соединяющий на плоскости точки \( [-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 \).
 
 
Выпишем условие максимума:
 
\[
 
  <B^Tl^0, u^*> = \max_{u \in \mathcal{P}}<B^Tl^0, u>,
 
\]
 
 
которое в нашем случае вид \(0 = 0\).
 
 
Хотя приведенный пример показывает редкую для линейных систем ситуацию, стоит поставить вопрос об условиях, позволяющих использовать условие максимума как необходимое и достаточное условие.
 
 
==== Условие нормальности (общности положения) ====
 
Рассмотрим частный случай нашей задачи: Пусть \(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{ линейно независимы}.
 
\]
 
Отметим, что если \(\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 ====
 
Если выполняется условие нормальности, то условию максимума удовлетворяет единственное управление.
 
 
==== Замечание 1 ====
 
На самом деле, условие нормальности гарантирует строгую выпуклость множества достижимости.
 
 
==== Пример 4 ====
 
Рассмотрим задачу
 
\[
 
\begin{cases}
 
  \dot{x}_1 = u_1, \vert u_1 \vert \le 1, \\
 
  \dot{x}_2 = u_2, \vert u_2 \vert \le 1. \\
 
\end{cases}
 
\]
 
 
Эта система вполне управляема, но не сильно вполне управляема. Множество достижимости в данном случае ~--- квадрат (т.е. не строго выпуклое). Случай, в котором условие максимума выделяет единственное управление, бывает тогда, когда финальная точка оказывается на углу квадрата.
 
 
=== Условие управляемости при выпуклости множества \(\mathcal{P}\) ===
 
==== Теорема 2 ====
 
Пусть \(\mathcal{P}\) строго выпукло и имеет непустую внутренностью, и выполнено условие полной управляемости,
 
\[
 
  \text{rg}[B\vert AB\vert \dots\vert A^{n-1}B] = n.
 
\]
 
Тогда условие максимума определяет оптимальное управление единственным образом.
 

Версия 01:29, 5 февраля 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(0) = x^0, \\ x(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, \cdot{x}_2 > 0; \\ x_1 = -\frac{x_2^2}{2}, x_2 > 0, \cdot{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} \]

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

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

Пример 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} \\ \]

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

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