Модуль II·Статья III·~4 мин чтения
Задачи с конечным и бесконечным горизонтом
Принцип максимума Понтрягина
Превратить статью в подкаст
Выберите голоса, формат и длину — AI запишет аудио
Задачи с конечным и бесконечным горизонтом
Инженерные задачи (посадка ракеты, маневр спутника) обычно имеют конечный горизонт — критерий привязан к моменту окончания. Экономические задачи (потребление, рост) часто бесконечны — мы хотим оптимизировать благосостояние «навсегда». Эти два класса требуют различных условий трансверсальности и приводят к разным численным методам. Особый случай — линейно-квадратические задачи (LQR), допускающие явное решение через уравнение Риккати.
Задача с конечным горизонтом
Условие трансверсальности зависит от того, как заданы граничные условия в момент T.
Случай 1: фиксированы x(0) и x(T). Сопряжённые переменные ψ(0), ψ(T) определяются из решения краевой задачи (x, ψ).
Случай 2: x(T) свободно, T фиксировано. Дополнительное условие: ψ(T) = ∂φ/∂x(x(T), T). Если терминального штрафа нет (φ = 0), то ψ(T) = 0.
Случай 3: T тоже свободно (задача быстродействия или с переменным горизонтом). Дополнительно: H(x(T), u(T), ψ(T), T) = 0. Это объясняет, почему в задаче min T гамильтониан в конечный момент равен нулю.
Условие Лежандра-Клебша. Для достаточности минимума: матрица ∂²H/∂u² должна быть положительно полуопределённой во всех точках траектории. Если она строго положительна — у нас «обычный» внутренний оптимум; если ноль или отрицательна — нужны более тонкие условия (например, условие Гилберта-Блатта).
Задача с бесконечным горизонтом
Стандартный вид: max ∫₀^∞ e^{−ρt}·F(x, u) dt при ẋ = f(x, u), x(0) = x₀.
Дисконтирование e^{−ρt} с ρ > 0 обеспечивает сходимость интеграла (если F ограничена). Без дисконтирования — нужно использовать критерии типа catching-up или overtaking.
Условие трансверсальности: lim_{T→∞} e^{−ρT}·ψ(T)·x(T) = 0. Экономически: «теневая стоимость капитала на бесконечности равна нулю» — иначе можно увеличить полезность, увеличив (или уменьшив) запас капитала.
Текущая стоимость гамильтониана: Удобно обозначить m(t) = e^{ρt}·ψ(t) — текущая стоимость теневой цены. Тогда уравнение для m: ṁ = ρm − ∂Ĥ/∂x, где Ĥ = e^{ρt}·H — current-value Hamiltonian.
Стационарное оптимальное состояние. Если f, F не зависят явно от t, ищем (x*, u*) с f(x*, u*) = 0, ∂Ĥ/∂u = 0, ρ·m = ∂Ĥ/∂x. Это даёт «золотое правило» — долгосрочное равновесие модели.
Линейно-квадратические задачи (LQR)
Это краеугольный класс задач — единственный, где оптимальное управление выражается явно в форме обратной связи.
Постановка LQR: min ∫₀^∞ (xᵀ·Q·x + uᵀ·R·u) dt при ẋ = A·x + B·u.
Веса: Q ≥ 0 — штраф за отклонение состояния от нуля, R > 0 — штраф за «дорогое» управление. Большие Q — стремимся быстро вернуть систему в ноль; большие R — экономим управление.
Решение через алгебраическое уравнение Риккати (ARE): Оптимальное u*(t) = −K·x(t), где K = R⁻¹·Bᵀ·P, а P — симметричная положительно определённая матрица, удовлетворяющая:
Aᵀ·P + P·A − P·B·R⁻¹·Bᵀ·P + Q = 0.
Замкнутая система: ẋ = (A − BK)·x — устойчива (все собственные значения в левой полуплоскости) при квалифицированных (A, B), (A, √Q): условиях управляемости/наблюдаемости.
Численный пример: LQR для скалярной системы
Система: ẋ = x + u (неустойчивая), Q = 1, R = 1. ARE: 1·P + P·1 − P·1·1·P + 1 = 0 → 2P − P² + 1 = 0 → P² − 2P − 1 = 0 → P = 1 + √2 ≈ 2.414. K = P ≈ 2.414. Замкнутая: ẋ = (1 − 2.414)·x = −1.414·x — устойчива с темпом затухания 1.414. Корень характеристического полинома левее, чем без управления.
LQR для инвертированного маятника
Линеаризация около верхнего положения: A = [0, 1; g/l, 0], B = [0; 1/(m·l²)]. Система неустойчива (собственные значения ±√(g/l)).
Q = diag(10, 1), R = 0.01. Численно (Python: scipy.linalg.solve_continuous_are): P ≈ [[…]], K ≈ [k₁, k₂]. Замкнутая система устойчива, маятник стабилизируется около вертикали при отклонении 5-10°.
Реальные применения
- Автопилот самолёта. Каждый из контуров (тангаж, крен, рыскание) спроектирован как LQR около режима полёта. Для разных скоростей/высот вычисляется набор K, между которыми происходит «gain scheduling».
- Стабилизация Сегвея/двухколёсного робота. Стандартный LQR для модели перевёрнутого маятника на колёсах.
- Управление электростанцией. Поддержание стабильной частоты (50 Гц) при колебаниях нагрузки — LQR-управление турбинами.
- Финансы. Оптимальная стратегия торговли с квадратичными издержками рынка (Almgren-Chriss) сводится к LQR — управление = скорость торговли.
Задание. ЛКР для инвертированного маятника на тележке: x = (положение, скорость, угол, угловая скорость), A, B стандартные (см. учебник). Q = diag(1, 1, 10, 1), R = 0.1. (а) Используя scipy.linalg.solve_continuous_are численно решите ARE и найдите K. (б) Проверьте устойчивость: собственные значения (A − BK) — все должны быть в левой полуплоскости. (в) Симулируйте при начальном отклонении угла 0.1 рад: постройте x(t) для t ∈ [0, 5]. (г) Эксперимент: уменьшите Q[2,2] = 1 (меньше штраф за угол) — как изменится переходный процесс?
§ Акт · что дальше