Курс лекци Русакова по методам оптимизации (1083216), страница 15
Текст из файла (страница 15)
В момент времени t = T выполняются соотношения:ψ 0 (T)≤ 0 и H в момент T равна 0.Пример: dx1T dt = x 2Для системы минимизировать функционал I = ∫ u 2 (t )dt приdx0 2 =u dtфиксированных концах траектории и фиксированном времени процесса.Составим функцию Гамильтона:H = ψ 0 ⋅ f 0 +ψ 1 ⋅ f 1 +ψ 2 ⋅ f 2 = ψ 0 ⋅ u 2 +ψ 1 ⋅ x 2 +ψ 2 ⋅ uОпределяем функции ψ i (t) , i = 0,1,2dψ 0∂H=−;dt∂x 0dψ 0= 0, ψ 0 = c0dtdψ 1∂H dψ 1=−;= 0 , ψ 1 = c1dt∂x1dt142dψ 2∂H dψ 2=−;= -ψ 1 , ψ 2 = − c1 ⋅ t + c 2dt∂x 2dtТ.о.
H = c0 ⋅ u 2 + c1 ⋅ x 2 + (−c1 ⋅ t + c 2 ) ⋅ uСогласно условию 2 принципа максимума функция Гамильтона Hдолжна достигатьмаксимума по u, т.е.u(t) =∂H= 0 ⇒ 2 ⋅ c 0 ⋅ u − c1 ⋅ t + c 2 = 0 ⇒∂uc1c⋅t − 22 ⋅ c02 ⋅ c0Итак, для оптимального управления получен закон линейногоизменения. Выше этотрезультат был получен классическим вариационным исчислением.6.02 Принцип максимума в задаче о быстродействии.В этой задаче время T не фиксировано и f 0 (X,U) = 1 (в данном случае),т.е.TJ = ∫ dt =T0Функция Гамильтона:nH / =ψ 0 + ∑ψ α (t ) f α ( X , U )α =1Т.к.
функции f α (X,U) , α = 0, n не зависят от x0 , получим:dψ 0∂H /=−= 0 ⇒ ψ 0 = constdt∂x 0*см. гамильтонову систему143Максимум функции H / реализуется одновременно с максимумомnфункции H= ∑ψ α (t ) f α ( X ,U )α =1Из требования ψ 0 ≤ 0 (принцип максимума)следует, что максимумH≥0*в момент времени T, т.к. H / должен быть равен 0 в T.Такимобразом,дляоптимальностипобыстродействиюнеобходимо:1. Существование ненулевой непрерывной вектор - функции:ψ (t) = (ψ 1 (t ),...,ψ n (t ) )T , составляющие которой удовлетворяют системе:dx i ∂H dψ i∂H;==−dt ∂ψ idt∂xi2. Чтобы функция Гамильтона H = (ψ (t), F (X,U)) достигала при каждомзначении0 < t < T максимума по U.3. Чтобы при t = T max H = (ψ (t), F (X,U)) ≥ 0 .Замечание:Оказывается, что если выполняются условия 1 и 2, то функция maxH(t) постоянна,так что условие 3 справедливо в любой момент времени 0 < t < T.Пример:Рассмотрим задачу о предельном быстродействии при переходесистемы dx1 dt = x 2 dx 2 =u dt x1 (T ) = 0 x 2 (T ) = 0144 x (0) = x1Низ начального состояния 1в заданное состояние x 2 (0) = x 2 Н*т.е.
осуществляется переход в нулевое состояние.Единственное управляющее воздействие u ограничено по модулюu (t ) ≤ u m (*)Составляем функцию Гамильтона: H = ψ 1 ⋅ x 2 +ψ 2 ⋅ uСоставляющие вектора ψ должны удовлетворять уравнениям:dψ 1dψ 2= 0;= −ψ 1dtdtИнтегрирование дает:ψ 1 = c1 , ψ 2 = c 2 − c1 ⋅ tи функция Гамильтона:H = c1 ⋅ x 2 + (−c1 ⋅ t + c 2 ) ⋅ uМаксимум функции Гамильтона H при ограничении (*) достигаетсяпри управляющем воздействии:u(t) = u m ⋅sign( c 2 − c1 ⋅ t ) = u m ⋅sign ψ 2(**),а величина H max = c1 ⋅ x 2 + u m ⋅( c 2 − c1 ⋅ t ) ⋅sign( c 2 − c1 ⋅ t )Из выражения (**) следует:1.
При оптимальном процессе управляющее воздействие в любой моментвремени равно одному из двух своих предельных значений (+ u m ,− u m ), т.е.значениям на границе области возможных управлений.Этот вывод , вытекающий из принципа максимума, не может бытьполучен методами классического вариационного исчисления. Обычносчитают u m =12. Оптимальный процесс состоит не более чем из двух интервалов, т.к.функцияψ 2 = c 2 − c1 ⋅ t не более одного раза переходит через 0, меняяпри этом свой знакРешаем исходную систему:145 dx1 dt = x 2 dx 2 =u dt1). Пусть u = 1,тогдаx 2 (t) = t + c1c12 1t212x1 (t) =+ c1 ⋅ t + c 2 = ⋅ (x 2 (t ) ) + c 2 − = ⋅ (x 2 (t ) )2 + c /222 2/\ __ c __/Семейство фазовых траекторий имеет вид:x2на c' смещенные параболыx1••Фазовые точки движутся снизу вверх, т.к.
x 2 = u ≡ 1, x 2 > 0* ускорение >0 ⇒ скорость растет2). u = -1x 2 (t) = -t + c1x1 (t) = -c2t211+ c1 ⋅ t + c 2 = - ⋅ (x 2 (t ) )2 + c 2 + 1 = - ⋅ (x 2 (t ) )2 + c //2222//\ __ c146__/x2x1Фазовые точки движутся сверху вниз* ускорение < 0 ⇒ скорость падаетОбщее семейство фазовых траекторий:x2переключениеu ≡ -1x1u ≡1Таким образом.
максимум одно переключение - траектория входит вноль.* мы должны перевести систему в ноль - см. началоx1 - расстояние, x 2 - скоростьu = 1 - разгон (ускорение - производная скорости по времени > 0 )u = -1 - торможение (ускорение < 0 ).Согласно принципу максимума только изображенные траекториимогут быть оптимальными, причем из каждой точки фазовой плоскости147исходит только одна траектория, ведущая в начало координат , котораяможет быть оптимальной (т.е.
задание начальной точки однозначноопределяет соответствующую траекторию).Можно доказать, что эти траектории оптимальны (т.е. обосноватьдостаточность).Глава 7 Практическое занятие №1. Динамическоепрограммирование7.01 Общие указания к выполнению практическойработы.Практические работы выполняются с использованием персональныхкомпьютеров. Указания по технике безопасности совпадают с требованиями,предъявляемымикпользователюЭВМ.Другиеопасныефакторыотсутствуют.7.02 Цель работы1)Изучить метод динамического программирования.2)Применить метод динамического программирования к решениюпрактической задачи прокладки оптоволоконного кабеля между двумяпунктами A и B.7.03 Постановка задачи7.1.
Формулировка задания.Для заданного варианта исходных данных плана местности написатьпрограмму для отыскания маршрута прокладки кабеля оптоволокна заминимальную стоимость.148Представить графически оптимальный маршрут прокладки кабеляоптоволокна на местности. Подтвердить полученные результаты с помощьюметода динамического программирования вручную.7.2Краткие сведения из теорииДинамическоепрограммирование(иначе–динамическоепланирование) – это метод нахождения оптимальных решений в задачах смногошаговой (многоэтапной) структурой.Динамическое программирование (планирование) представляет собойматематическиймногошаговыхметоддля(многоэтапных)нахождениязадач.оптимальныхНекоторыеизрешенийтакихзадачестественным образом распадаются на отдельные шаги (этапы), но имеютсязадачи, в которых разбиение приходится вводить искусственно, для тогочтобы можно было решить методом динамического программирования.
Ктаким задачам можно отнести задачу выбора маршрута прокладкиоптоволоконного кабеля за минимальную стоимость.Принцип оптимальности и рекуррентные соотношенияМетод динамического программирования позволяет одну задачу сомногими переменными заменить рядом последовательно решаемых задач сменьшим числом переменных. Процесс решения задачи разбивается на шаги.При этом нумерация шагов, как правило, осуществляется от конца к началу.Принцип погружения. Природа задачи, допускающей использованиеметода динамического программирования, не меняется при измененииколичества шагов N, то есть форма такой задачи инвариантна относительноN. В этом смысле всякий конкретный процесс с заданным числом шаговоказывается как бы погруженным в семейство подобных ему процессов иможет рассматриваться с позиции более широкого класса задач.Основнымпринципом,накоторомбазируютсяоптимизациямногошагового процесса, а также особенности вычислительного метода149динамическогопрограммирования,являетсяпринципоптимальностиР.
Беллмана.Принцип оптимальности. Оптимальное поведение обладает темсвойством, что каковы бы ни были начальное состояние и начальноерешение, последующие решения должны быть оптимальными относительносостояния, полученного в результате первоначального решения.Реализация названных принципов дает гарантию того, что решение,принимаемое на очередном шаге, окажется наилучшим относительно всегопроцесса в целом, а не узких интересов данного этапа. Последовательностьпошаговых решений приводит к решению исходной N-шаговой задачи.Принципоптимальностиимеетконструктивныйхарактеринепосредственно указывает процедуру нахождения оптимального решения.Математически он записывается выражением видаfn – l(Sl) = optimum (Rl + 1(Sl, Ul + 1) + fn – (l + 1)(Sl + 1))(1.1)U l +1(l = o, n − 1 )где f n −1 – оптимальное значение эффекта, достигаемого за n - l шагов; nколичество шагов (этапов); Sl = (sl(1);…;sl(m)) – состояние системы на l –мшаге; Ul = (ul(1);…;ul(m)) – решение (управление), выбранное на l-м шаге; Rl –непосредственный эффект, достигаемый на l-м шаге.Optimum в выражении (1.1) означает максимум или минимум взависимости от условия задачи.Все вычисления, дающие возможность найти оптимальное значениеэффекта, достигаемого за п шагов, fn(S0), проводятся по формуле (1.1),которая носит название основного функционального уравнения Беллманаилирекуррентногосоотношения.Действительно,привычисленииочередного значения функции fn-l используются значение функции fn–(l+1),полученного на предыдущем шаге, и непосредственное значение эффекта150Rl+1(Sl, Ul+1), достигаемого в результате выбора решения Ul+1 при заданномсостоянии системы Sl.
Процесс вычисления значений функции fn-l (l = o, n − 1 )осуществляется при естественном начальном условии f0(Sn)=0, котороеозначает, что за пределами конечного состояния системы эффект равен нулю.Вычислительная схемаОптимальноерешениезадачиметодомдинамическогопрограммирования находится на основе функционального уравнения (1.1).Чтобы определить его, необходимо:1.записать функциональное уравнение для последнего состоянияпроцесса (ему соответствует l = n – 1):f1(Sn – 1) = optimum (Rn(Sn – 1, Un) + f0(Sn));U l +1найти Rn(Sn– 1,Un) из дискретного набора его значений при некоторыхфиксированных Sn – 1 и Un из соответствующих допустимых областей (так как2.f0(Sn) = 0, то f1(Sn – 1) = optimum Rn(Sn – 1, Un))U l +1ВрезультатепослепервогошагаизвестнорешениеUnисоответствующее значение функции f1(Sn – 1);3.уменьшить значение l на единицу и записать соответствующеефункциональное уравнение.