- •О.К. Мурга
- •Оглавление
- •1. Методы одномерной оптимизации 6
- •2. Методы безусловной оптимизации 13
- •3. Методы оптимизации при наличии ограничений 35
- •4. Приближённое решение задачи оптимального управления 53
- •Введение
- •1. Методы одномерной оптимизации
- •1.1. Методы перебора
- •1.1.1. Метод равномерного поиска
- •1.1.2. Метод поразрядного поиска
- •1.2. Методы исключения отрезков
- •1.2.1. Метод дихотомии
- •1.2.2. Метод золотого сечения
- •1.3. Сравнительный анализ методов одномерного поиска
- •1.4. Порядок выполнения лабораторной работы
- •1.5. Задания для лабораторной работы.
- •2. Методы безусловной оптимизации
- •2.1. Прямые методы безусловной оптимизации
- •2.1.1. Поиск по правильному симплексу
- •2.1.2. Поиск по деформируемому многограннику
- •Влияние параметров алгоритма на эффективность поиска
- •2.1.3. Типовой пример.
- •2.1.4. Порядок выполнения лабораторной работы
- •2.1.5. Задания для лабораторной работы
- •2.2 Методы покоординатного спуска
- •2.2.1 Метод циклического покоординатного спуска
- •2.2.2. Метод Зейделя.
- •2.2.3. Метод Хука-Дживса
- •2.2.4. Метод Пауэлла.
- •2.2.5. Типовые примеры
- •2.2.6. Порядок выполнения лабораторной работы
- •2.2.7. Задания для лабораторной работы
- •2.3. Градиентные методы
- •2.3.1. Метод градиентного спуска
- •2.3.2. Метод наискорейшего спуска
- •2.3.3. Типовой пример
- •2.3.4. Порядок выполнения лабораторной работы
- •2.3.5. Задания для лабораторной работы
- •3. Методы оптимизации при наличии ограничений
- •3.1. Методы последовательной безусловной оптимизации
- •3.1.1. Метод штрафных функций
- •3.1.2. Метод барьерных функций
- •3.1.3. Комбинированный метод штрафных функций
- •3.1.4. Типовой пример
- •3.1.5. Задание для лабораторной работы
- •3.2. Метод возможных направлений
- •3.2.1. Постановка задачи выпуклого программирования
- •3.2.2. Описание метода возможных направлений
- •3.2.3. Построение начального приближения
- •3.2.4. Выбор наилучшего подходящего направления
- •3.2.5. Определение длины шага
- •3.2.6. Типовой пример
- •3.2.7. Задания для лабораторной работы
- •3.3. Метод случайного поиска
- •3.3.1. Поиск с возвратом при неудачном шаге
- •3.3.2. Алгоритм наилучшей пробы
- •3.3.3. Алгоритм статистичекого градиента
- •3.3.4. Порядок выполнения работы
- •3.3.5. Задания для лабораторной работы
- •4. Приближённое решение задачи оптимального управления
- •4.1. Постановка задачи оптимального управления
- •4.2. Градиентный метод решения задачи оптимального управления
- •4.2.1. Описание градиентного метода в функциональном пространстве.
- •4.2.2. Алгоритм метода.
- •4.2.3. Порядок выполнения лабораторной работы.
- •4.2.4. Задания для лабораторной работы.
- •Список литературы
4. Приближённое решение задачи оптимального управления
4.1. Постановка задачи оптимального управления
Рассматривается некоторая техническая система, математической моделью которой является гладкая динамическая система с непрерывным временем:
i=fi (t, X(t),u (t)), i=1,...,n;tÎ[t0, tk]; (4.1)
xi(t0)= xi0 ,i=1,...,n; (4.2)
где X(t)=( x1(t), x2(t),…, xn(t)), u(t)=( u1(t),…, ur(t)).
Начальное состояние системы {t0, X(t0)} и время перехода tkt0 считаются заданными, X(tk)- свободно.
Качество управления предлагается оценивать интегральным функционалом
(4.3)
Тогда оптимизация рассматриваемой технической системы сводится к решению следующей задачи оптимального управления:
для динамической системы ( 4.I ) найти управление u(t), tÎ[t0, tk], переводящее её из заданного начального состояния (4.2) в некоторое конечное состояние за фиксированное время перехода и доставляющее минимум функционалу (4.3).
Предполагая, что функции fi (t,X(t),u(t)), i=0,...,n непрерывно дифференцируемы по совокупности аргументов X, u, решить поставленную задачу приближенно с помощью градиентного метода первого порядка.
4.2. Градиентный метод решения задачи оптимального управления
4.2.1. Описание градиентного метода в функциональном пространстве.
Градиентный метод является одним из эффективнейших численных методов решения задачи оптимального управления. Он состоит в последовательном “улучшении” некоторого произвольно заданного управления, а именно: на каждом этапе улучшения предыдущее управление исправляется в напрвлении наибыстрейшего приближения к искомому оптимальному управлению.
Перейдем к конструированию алгоритма, реализующего данный метод.
Пусть известно некоторое допустимое управление “нулевого приближения” u=u0(t), которому соответствует в силу (4.1), (4.2) фазовая траектория X0 (t) и некоторое численное значение функционала I0=I[u0(t)], вычисленное по формуле (4.3).
Построим новое управление
u(t)=u0(t) + du(t), "tÎ[t0,tk], (4.4)
где du(t) такова, что норма мала.
Тогда вариация фазовой траектории, вызванная таким равномерно малым изменением управления, будет подчиняться так называемым уравнениям в вариациях
, tÎ[t0,tk]; (4.5)
dX(t0)=0. (4.6)
Интегрирование последних от t= t0 до t= tk с введением вспомогательной вектор-функции l(t)=( l1(t), l2(t),…, ln(t)) приводит к следующему результату
(4.7)
Одноко, непосредственное варьирование функционала дает следующее соотношение
(4.8)
Добавим к правой части соотношения (4.8) равное нулю выражение (4.7)
Потребуем, чтобы вектор-функция l(t) удовлетворяла следующим условиям:
"tÎ[t0,tk]; (4.9)
l( tk)=0. (4.10)
Тогда задача построения согласно формулам (4.4) нового “улучшенного” управления сводится к задаче минимизации функционала
(4.11)
где H 0=H(t, X0, u0, l)= f0 (t, X0, u0) + < l (t), f0 (t, X0, u0)>. (4.12)
Очевидно, что поправки du = (du1(t), du2(t),…, dur(t)), реализующие минимум dI в соответствии с (4.11), должны удовлетворять следующим необходимым условиям:
"tÎ[t0,tk]; (4.13)
Таким образом, “улучшенное” управление u(t)=( u1(t), u2(t), …, ur(t)), "tÎ[t0, tk ], мы найдем по формулам (4.4), задавая достаточно малые абсолютные значения поправок dui, i=1,...,r и определяя их знаки по формулам (4.13).
Следует однако отметить, что предложенное правило вычисления поправок dui, i=1,...,r, "tÎ[t0, tk ] не гарантирует обязательного убывания функционала (4.3) на каждом этапе расчета. Это объясняется невозможностью заранее предполагать, что принятым значениям поправок будет соответствовать значение dI, близкое к DI. Поэтому на каждом этапе расчета следует находить DI=I I0 и в случае, если DI³0, расчет следует повторить при уменьшенных |dui|, i=1,...,r.