Сборник из шести лабораторных работ по теории оптимального управления: от квадратичной оптимизации и принципа максимума Понтрягина до LQR-регуляторов, фильтра Калмана и робастного H∞-синтеза. Каждая работа — самодостаточный Python-скрипт, генерирующий графики, и отчёт в формате DOCX.
| Назначение | Инструмент |
|---|---|
| Линейная алгебра, матричные вычисления | |
| Краевые задачи, ОДУ, ARE/Риккати | |
| Визуализация результатов | |
| Оформление отчётов |
Optimal_Control/
├── Работа 1/ # Квадратичная оптимизация, условия Куна–Таккера
│ ├── work1.py
│ ├── Work1_report.docx
│ └── plots/
├── Работа 2/ # Принцип максимума Понтрягина (краевая задача)
│ ├── work2.py
│ ├── Work2_report.docx
│ └── plots/
├── Работа 3/ # LQR на бесконечном горизонте (ARE)
│ ├── work3.py
│ ├── Work3_report.docx
│ └── plots/
├── Работа 4/ # LQR на конечном горизонте (уравнение Риккати)
│ ├── work4.py
│ ├── Work4_report.docx
│ └── plots/
├── Работа 5/ # Фильтр Калмана / наблюдатель состояния
│ ├── work5.py
│ ├── Work5_report.docx
│ └── plots/
├── Работа 6/ # Робастное H∞-управление
│ ├── work6.py
│ ├── Work6_report.docx
│ └── plots/
└── README.md
Каждый скрипт при запуске создаёт подпапку
plots/с графиками, а отчёт*.docxсодержит постановку задачи, выкладки и интерпретацию результатов.
Освоить основные методы теории оптимального управления и их численную реализацию: научиться формулировать критерии качества, синтезировать оптимальные регуляторы и оценивать состояние динамических систем, подкрепляя теорию вычислительными экспериментами и наглядной визуализацией.
| № | Тема | Ключевые методы и инструменты |
|---|---|---|
| 1 | Квадратичная оптимизация | Безусловный минимум, условия Куна–Таккера, метод Ньютона, наискорейший спуск |
| 2 | Принцип максимума Понтрягина | Сопряжённая система, краевая задача (solve_bvp), анализ влияния весов критерия |
| 3 | LQR на бесконечном горизонте | Алгебраическое уравнение Риккати (solve_continuous_are), устойчивость замкнутой системы |
| 4 | LQR на конечном горизонте | Дифференциальное уравнение Риккати, нестационарная обратная связь |
| 5 | Фильтр Калмана / наблюдатель | Оценка состояния, ошибка наблюдения, ARE для наблюдателя |
| 6 | Робастное H∞-управление | Игровое уравнение Риккати, поиск минимального уровня γ, гамильтонова матрица |
- Численные методы оптимизации (Ньютон, наискорейший спуск) надёжно находят минимум квадратичного критерия; учёт ограничений через условия Куна–Таккера смещает решение на активную границу.
- Принцип максимума Понтрягина сводит задачу управления к краевой задаче для
расширенной системы; вес
rв критерии напрямую регулирует баланс между затратами на управление и быстродействием. - LQR-синтез даёт устойчивую обратную связь: на бесконечном горизонте коэффициенты постоянны (ARE), на конечном — изменяются во времени согласно дифференциальному уравнению Риккати, а функционал совпадает с теоретической оценкой.
- Фильтр Калмана обеспечивает сходимость ошибки оценивания к нулю даже при неполной информации о состоянии и наличии шумов.
- H∞-управление позволяет найти регулятор, гарантирующий заданный уровень подавления возмущений; существует предельное значение γ, ниже которого решение игрового уравнения Риккати перестаёт существовать.
pip install numpy scipy matplotlib
python "Работа 1/work1.py" # аналогично для работ 2–6