Skip to content

SENATOROVAI/Optimal_Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Оптимальное управление — лабораторный практикум

Сборник из шести лабораторных работ по теории оптимального управления: от квадратичной оптимизации и принципа максимума Понтрягина до LQR-регуляторов, фильтра Калмана и робастного H∞-синтеза. Каждая работа — самодостаточный Python-скрипт, генерирующий графики, и отчёт в формате DOCX.


Технологический стек

Python NumPy SciPy Matplotlib DOCX

Назначение Инструмент
Линейная алгебра, матричные вычисления NumPy
Краевые задачи, ОДУ, ARE/Риккати SciPy
Визуализация результатов Matplotlib
Оформление отчётов Word

Структура проекта

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors