Oбъектно-opиентированное управление решениями дифференциальных уравнений
Цель лекции: Показать применение дифференциальных уравнений в задачах управления. Показать эффективность объектно-ориентированного управления в задачах построения управляемых систем.
Многие процессы, описываемые дифференциальными уравнениями, являются управляемыми системами. Дадим формальное описание управляемой системы.
Пусть , имеют тот же смысл, что и в прошлой лекции. Пусть теперь еще выделено семейство множеств , где и являются параметрами. Множество называется множеством допустимых управлений.
Пусть теперь задана функция , которая определена при , , . Будем рассматривать обыкновенное дифференциальное уравнение с управлением
( 18.1) |
( 18.2) |
Мы сформулировали задачу на управления решениями дифференциальных уравнений в довольно общем виде. Однако, как правило, управление осуществляется с некоторой целью. Для этого вводится так называемый целевой функционал. Целевым функционалом называется любая числовая функция определенная на решении задачи 18.1-18.2. Обозначим этот функционал следующим образом
При наличии целевого функционала мы приходим к задаче оптимального управления, то есть задаче о нахождении такого решения, которое доставляет максимум (или минимум) целевому функционалу. На практике, однако, часто применяется понятие решение задачи управления, удовлетворительное с точки зрения целевого функционала. Мы будем говорить, что решение задачи управления --- пара функций и является удовлетворительным с точки зрения целевого функционала, если где называется удовлетворительной областью значения целевого функционала. Заметим, что может быть произвольным непустым множеством.Обратимся к моделированию задач управления. Общая схема такова
- Задаем начальное управление
- Решаем систему дифференциальных уравнений с начальным управлением на одном шаге методом Рунге-Кутты
- По полученному решению на очередном шаге меняем (в случае необходимости) управление
- Повторяем шаги 2-3 до тех пор пока решение и управления не станут удовлетворительными с точки зрения целевого функционала
Следует отметить, что далеко не всегда удовлетворительное с точки зрения целевого функционала решение задачи управления является оптимальным решением. Более того, существует такие задачи управления решениями, для которых не существует оптимального решения.
Реализуем эту схему в виде абстрактного класса, который мы создадим, как наследник класса .
Рассмотрим модельную систему управления на основе уравнений, описывающих математический маятник. Будем рассматривать следующую управляемую систему дифференциальных уравнений.
с начальными условиями Здесь управление осуществляет изменением коэффициента затухания. Мы будем рассматривать множество допустимых управлений состоящее всего из двух точек: Нулевое значение управления соответствует отсутствию затухания в системе, а равное единице - наличию постоянного затухания. При отсутствии затухания наша система будет совершать гармонические колебания. Предположим, что наша цель состоит в том, чтобы поддерживать гармонические колебания с амплитудой 0.2. Мы будем использовать так называемое программное управление, т.е. будем выбирать наше управление зависящим от текущего положения системы. Будем использовать следующую формулу нашего управления: Таким образом, если положение осциллятора меньше заданного, то мы не используем затухания, а в случае, когда положение осциллятора больше заданного, мы используем затухание. Реализуем сказанное.