- •О.К. Мурга
- •Оглавление
- •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.2.2. Алгоритм метода.
Итак, нами построен алгоритм расчета оптимального управления и соответствующей ему оптимальной траектории в виде следующей последовательности вычислительных операций.
Шаг 1. Задать управление “нулевого” приближения
u0(t)=( u10 (t), u20 (t), …, ur0 (t)), "tÎ[t0, tk ].
Шаг 2. Проинтегрировать от t= t0 до t= tk систему (4.1)
= fi (t, X(t), u0(t)), i=1,...,n ,
с начальными условиями (4.2) методом РунгеКутта с постоянным шагом h. Получить тем самым X0(t)=( x10 (t), x20 (t), …, xn0 (t)), "tÎ[t0, tk ] и значения фазовых координат xi0 (tk) , i=1,...,n в конечный момент времени t=tk.
Шаг 3. Вычислить значение функционала (4.3) на управлении “нулевого” приближения
,
Например, по формуле Симпсона
,
где обязательно должно быть h= .
Вычисление функционала по приведенной формуле можно заменить интегрированием совместно с системой (4.1) уравнения
(t)=f0 (t, X0(t), u0(t)), xn+1 (t0)=0.
Тогда значение функционала найдется так
I[u0(t)] = x0n+1 (tk).
Шаг 4. Если требуется вычислить функции влияния , i=1,...,r, то следующим выполняется шаг 5, иначе идти к шагу 9.
Шаг 5. Проинтегрировать в направлении от t= tk до t= t0 каноническую систему (4.1), (4.9)
с “начальными” условиями xi(tk)= xik, i=1,...,n; li(tk)= 0, i=1,...,n; где xik, i=1,...,n– полученные на шаге 2 значения фазовых координат в момент времени tk .
Шаг 6. Вычислить функции влияния
, i=1,...,r, "tÎ[t0, tk ].
Шаг 7. Вычислить поправки управляющих воздействий
dui(t)=q× , i=1,...,r, "tÎ[t0, tk ],
где q – заранее заданная достаточно малая положительная величина- шаговый коэффициент.
Шаг 8. Вычислить новое “улучшенное” управление
ui(t)=ui0(t) + dui(t), i=1,...,r, "tÎ[t0,tk]
и приступить к выбору надлежащего значения шагового коэффициента q путем повторения вычислений, начиная с шага 2 (но уже без вычислений функций влияния).
Шаг 9. Сравнить новое значение функционала I=I[u0+q ] с его предыдущим значением I0=I[u0(t)].
Если выполняется условие I0³I, то следует уменьшать шаг
q=b×q, bÎ(0,1)
с последующим вычислением нового управления u(t)=u0(t) + q и соответствующего ему значения функционала I до тех пор, пока не будет достигнуто требуемое условие I0>I.
Если же уже при начальном значении шагового коэффициента получится I0<I, то можно попытаться увеличить шаг
q=a×q, a>1
двигаясь в том же направлении, пока наблюдается уменьшение значения функционала.
Шаг 10. Проверить условие
I[u0+du]-I[u0] £e,
где e наперед заданное достаточно малое положительное число, определяющее точность результата.
Если условие выполняется, то оптимальное управление найдено и решение задачи следует прекратить; иначе – выполнить следующую итерацию, повторив все вычисления, начиная с шага 2.
4.2.3. Порядок выполнения лабораторной работы.
Записать постановку задачи в соответствии с конкретным вариантом задания.
Изучив алгоритм градиентного метода первого порядка, записать алгоритм решения своей задачи.
Разработать блок-схему программы, реализующей данный алгоритм.
Ввести в программу исходные данные, соответствующие своему варианту задания, и получить приближенно оптимальное управление ( u1(t), u2(t) ) и траекторию ( x1(t), x2(t)).
Повторить счет, изменив значения параметров алгоритма q, a, b с целью улучшения процесса сходимости.
По результатам счета построить графики x1(t), x2(t), u1(t), u2(t) на первой, одной из промежуточных и последней итерациях.
На основании анализа результатов счета сделать вывод об особенностях решения задачи градиентным методом.