- •РАБОЧАЯ ПРОГРАММА
- •СОДЕРЖАНИЕ
- •Тема 1. ОБЩИЕ СВЕДЕНИЯ О МЕТОДАХ ОПТИМИЗАЦИИ
- •1.1. Основные понятия и определения. Постановка задачи
- •Тема 2. МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •2.2. Определение выпуклости функций
- •2.3. Типы задач математического программирования
- •2.4. Связь между задачей математического программирования
- •Тема 3. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
- •3.3. Симплекс-метод решения задач ЛП
- •3.4. Симплекс-таблицы
- •3.5. Метод искусственного базиса
- •3.6. Информационные технологии линейного программирования
- •3.7. Двойственная задача линейного программирования
- •3.8. Двойственный симплекс-метод
- •3.9. Целочисленное линейное программирование
- •3.9.1. Алгоритм Гомори для полностью целочисленной задачи ЛП.
- •3.9.2. Алгоритм Гомори для частично целочисленной задачи.
- •3.9.3. Метод ветвей и границ решения целочисленных задач ЛП.
- •Тема 4. ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ БЕЗ ОГРАНИЧЕНИЙ
- •4.1. Одномерная минимизация унимодальных функций
- •4.1.1. Метод Фибоначчи.
- •4.1.2 Метод золотого сечения.
- •4.1.3. Методы с использованием производных.
- •4.1.4. Методы полиномиальной аппроксимации.
- •4.2.2. Градиентные методы. Метод наискорейшего спуска.
- •4.2.4. Метод Дэвидона-Флетчера-Пауэла (ДФП) (метод переменной мет-
- •4.2.6. Обобщенный градиентный алгоритм.
- •4.2.7. Метод Ньютона.
- •4.2.9. Установка метода оптимизации в пакете MATLAB.
- •Тема 5. ЭКСТРЕМАЛЬНЫЕ НЕЛИНЕЙНЫЕ ЗАДАЧИ
- •5.1. Метод неопределенных множителей Лагранжа
- •5.2. Теорема Куна-Таккера
- •5.3. Квадратичное программирование
- •5.4. Метод допустимых направлений Зойтендейка
- •6.1. Метод линейных комбинаций
- •6.2. Метод отсекающих плоскостей Кэлли
- •6.3. Сепарабельное программирование
- •ТЕМА 7. МЕТОДЫ ОПТИМИЗАЦИИ УПРАВЛЕНИЯ
- •7.1. Дискретное динамическое программирование
- •7.3. Принцип максимума Понтрягина
- •7.3.1. Постановка задачи. Формулировка принципа максимума.
- •7.3.3. Принцип максимума в задачах о максимальном быстродействии.
- •7.4.1. Определение моментов переключения.
- •ЛИТЕРАТУРА
- •Содержание
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •ЗАДАНИЯ ПО КУРСОВОЙ РАБОТЕ
- •Задание 1. Линейное программирование
- •Задание 2. Нелинейное программирование
- •Задание 3. Математическое описание линейных систем
Для формирования управляющего воздействия используются взвешенные сигналы обратной связи с информацией о состоянии объекта. Система является нестационарной. Заметим, что если время управления не ограничено, то система оказывается стационарной. Действительно, при t → ∞ имеем С = 0 и, следовательно, k(t) = k1 .
Непрерывное ДП позволяет получать оптимальный закон управления объектом в функции переменных состояния, т.е. проводить синтез системы. Недостаток метода – необходимость решать нелинейные дифференциальные уравнения в частных производных. Функция S(x) должна иметь частные производные по всем
переменным.
7.3.Принцип максимума Понтрягина
7.3.1.Постановка задачи. Формулировка принципа максимума. Принцип максимума – это метод оптимизации, разработанный специально для задач оптимального управления, в которых управляющие воздействия ограничены и описываются кусочно-непрерывными функциями. Принцип максимума разработан группой учёных под руководством академика Понтрягина Л.С. в 1956 г. Этот метод обоснован как необходимое условие оптимальности для нелинейных систем и как необходимое и достаточное условие для линейных. Задача формулируется следующим образом.
Пусть ОУ описывается системой уравнений
xi = fi (x1 , x2 ,..., xn ,u1 ,u2 ,...,ur ) |
, |
(7.45) |
& |
|
|
или, в векторной форме x& = f (x,u), где xT =[x1,..., xn ] – вектор переменных состояния системы, uT =[u1,...,ur ] – вектор управляющих воздействий.
Управление u(t) принадлежит ограниченной замкнутой области U r-мер- ного пространства управлений, а координаты x(t) принадлежат хотя и ограни-
ченной, но открытой области X n-мерного пространства состояний, т.е. u(t) U , x(t) X .
Требуется из класса кусочно-непрерывных управлений, принадлежащих области U (допустимые управления), выбрать такое управление, которое переводит объект управления из заданного начального состояния xi (t0 ) в конечное
xi (t1) (i = 1,..., n) и минимизирует функционал
t1 |
|
J (x,u) = ∫ f0 (x,u)dt . |
(7.46) |
t0 |
|
134
Будем полагать, что функции fi (x,u) определены и непрерывны по совокуп-
ности переменных x, u вместе со своими частными производными ∂fi . Для удоб-
∂xi
ства решения задачи вводится дополнительная переменная x0 такая, что
x0 = f0 (x,u) и |
x0 (t0 ) = 0 . |
(7.47) |
& |
|
|
Здесь f0(x,u) – подынтегральная функция функционала (7.46). Присоединив (7.47) к исходной системе уравнений (7.45), получим систему из n+1 уравнений
xi = fi (x1, x2 ,..., xn ; u1, u2 ,..., un ), i = 0,1,2,…, n, |
(7.48) |
& |
|
правые части которой не зависят от x0 .
С учётом (7.47) функционал J можно рассматривать как конечное значение переменной x0 :
t1 |
(7.49) |
J (x, u) = ∫ x0dt =x0 (t1) , |
|
& |
|
t0 |
|
и сформулированная выше задача сводится к задаче о достижении экстремума конечного значения координаты x0 .
Прежде чем перейти к формулировке принципа максимума, введём понятие о вспомогательных переменных Ψ0 (t),Ψ1(t),...,Ψn (t), которые определяются систе-
мой линейных однородных уравнений:
& |
n |
∂f j (x,u) |
|
|
Ψi (t) = − ∑ |
∂xi |
Ψj (t) , i = 0,1,..., n. |
(7.50) |
|
|
j =0 |
|
|
Системы уравнений (7.48) и (7.50) можно объединить одной формой записи, вводя в рассмотрение вспомогательную функцию
n
H (Ψ, x,u) = ∑Ψi (t) fi (x,u) . (7.51)
i =0
Определив частные производные функции H по Ψi и xi с учётом (7.48), (7.50) и (7.51) найдём, что
dxi |
= |
∂H |
, i = 0,1,..., n. |
(7.52) |
|
dt |
∂Ψ |
||||
|
|
|
|||
|
|
i |
|
|
|
|
|
|
|
135 |
|
dΨi |
= −∂H , i = 0,1,..., n. |
(7.53) |
|
dt |
||
|
∂x |
|
|
Векторные функции x(t) и Ψ(t) |
i |
|
|
непрерывны и имеют непрерывные произ- |
|||
водные, и при фиксированных значениях x(t) и Ψ(t) функция H |
становится |
функцией только управления u. Уравнения вида (7.52) и (7.53) носят название канонически сопряжённых и совпадают по форме с каноническими уравнения Гамильтона, известными из теоретической механики. В связи с этим функцию H называют функцией Гамильтона, или гамильтонианом.
Принцип максимума гласит, что для оптимальности системы, т.е. для получения минимума функционала J (7.46), необходимо существование таких ненулевых непрерывных функций Ψ0 (t),Ψ1(t),...,Ψn (t), что при любом t [t0 ,t1 ] , функ-
ция H как функция переменных u1,u2 ,..., ur в заданной области их допустимых
значений достигает максимума, т.е. H (Ψ, x,u) = max H , а Ψ0 |
(t) и max H посто- |
u U |
u U |
янны во времени и Ψ0 (t) ≤ 0, max H = 0 .
u U
Таким образом, для получения оптимального процесса нужно в любой момент времени t [t0 ,t1] выбирать такое управление, чтобы величина H была мак-
симальной, причём в течение всего времени оптимального управления max H = 0 ,
ueU
а переменная Ψ0 (t) постоянна по величине и неположительна.
Особенностью принципа максимума является то, что вариационная задача определения управления u(t) , минимизирующего функционал J, заменяется задачей
математического анализа определения параметра u, доставляющего максимум вспомогательной функции H (u) . Отсюда происходит и название метода – прин-
цип максимума.
7.3.2. Алгоритм расчёта оптимального управления с помощью принципа максимума.
1-й шаг. Уравнения объекта представляются в виде системы дифференциальных уравнений первого порядка (7.45) с учётом уравнения (7.47) для дополнительной координаты
x&i = fi (x, u), i = 0,1,...,n .
2-й шаг. Составляется функция H:
n
H= ∑Ψi (t) fi (x,u).
i=0
3-й шаг. Определяется значение u , максимизирующее функцию H , из сис-
136
темы уравнений
∂H |
= 0, j =1,2,...,r . |
(7.54) |
|
||
∂u j |
|
Внекоторых случаях это равенство не выполняется при ненулевой функции
Ψ(t) , тогда максимум H достигается на границе допустимой области управления.
4-й шаг. Составляются уравнения для определения Ψi (t) :
|
dΨi |
= −∂H , i = 0,1,..., n . |
|
dt |
|
|
∂x |
|
|
|
i |
При решении задачи нужно найти n +1 функций xi (t), n +1 функций Ψi (t) и |
||
r функции u j (t) , всего 2n + 2 + r |
неизвестных. Для их определения имеется r |
уравнений (7.54), n +1 уравнений исходной системы и n +1 уравнений для функции Ψi (t) . Из совместного решения перечисленных 2n + 2 + r уравнений нахо-
дится оптимальное управление.
Пример 7.5. Объект управления описывается уравнением x& = T1 (ku − x) . Оп-
t1
ределить алгоритм управления, который минимизирует функционал J = ∫ xdt , ес-
0
ли известны начальные и конечные состояния объекта, а управляющее воздействие u ограничено, т.е. u ≤Umax .
1-й шаг. Система уравнений, включающая дополнительную переменную имеет вид
x&o = x,
x& = 1 (ku − x).
T
2-й шаг. Составим функцию H = Ψ0 x + Ψ1 T1 (ku − x) .
3-й шаг. Определить управление u, минимизирующее H. Для этого приравняем нулю частную производную
∂∂Hu = Tk Ψ1(t) = 0 .
Это условие удовлетворяется только при Ψ1(t) = 0 . Однако в формулировке принципа максимума требуется существование ненулевой функции Ψ1(t) . Отсю-
137
да следует, что значение u, максимизирующие H, следует брать на границах, т.е. u = +Umax или u = −Umax . Очевидно, что при Ψ1(t) > 0 следует брать u = +Umax , а при Ψ1(t) < 0 необходимо u = −Umax . Этот закон управления можно записать сле-
дующим образом:
u =Umax SignΨ1(t) .
Символ Sign означает операцию смены знаков, т.е. переключение релейного
типа |
|
|
|
|
|
|
+1, |
|
при |
Ψ > 0, |
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
SignΨ = |
|
при |
Ψ < 0. |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
−1, |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
dΨi |
|
4-й шаг. Определим функции |
|
|
Ψ0 |
|
|
и |
Ψ1 , составив систему |
уравнений |
||||||||||||||||||||||
|
|
= −∂H |
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
∂x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
i |
|
|
|
|
dΨ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
0 |
|
= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
dΨ |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
= −Ψ + Ψ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
T |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
Из первого уравнения следует, |
что |
|
Ψ = const = −C . Тогда |
|
dΨ1 |
= C |
+ |
Ψ1 |
, |
|||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
1 |
|
dt |
|
1 |
T |
|
|||
|
|
|
|
|
|
|
|
dΨ1 |
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
или, разделяя переменные, |
|
|
= |
. Отсюда |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
Ψ + C T |
T |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
t |
|
ec = C |
|
|
t |
|
|
|
|
|
t |
|
|
|
|||
|
|
|
ln(Ψ +C T ) = |
+C ; |
Ψ + C T = e |
T |
e |
T |
; |
Ψ = −C T + C |
e |
T |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
1 |
1 |
T |
1 |
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
1 |
1 |
|
2 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Так как функция Ψ1(t) может менять знак не более одного раза, то опти-
мальное управление представляет собой кусочно-постоянную функцию, принимающую предельные значения −Umax или +Umax и имеющую не более двух ин-
тервалов постоянства (рис. 7.10).
138