лабораторная 5. Лабораторная работа №5. Лабораторная работа Краткие теоретические сведения Метод множителей Лагранжа
![]()
|
Пример выполнения лабораторной работы № 7Исходные данные: Уравнения движения: ![]() Граничные условия: 𝑥1(0) = 𝑥2(0) = 0, ![]() ![]() Критерий оптимальности в случае минимального расхода энергии управляющего воздействия равен: ![]() Решение:Для учета изопериметрического ограничения введем дополнительную переменную состояния: 𝑥̇3 = 𝑢2; 𝑥3(0) = 0; ![]() Таким образом, уравнения движения и граничные условия примут вид: ![]() ![]() Гамильтониан ![]() Уравнения Эйлера–Лагранжа ![]() ![]() Условие стационарности ![]() Из условия стационарности выразим ![]() Подставив 𝑢 в уравнения движения и уравнения Эйлера–Лагранжа, получим систему уравнений ![]() Решение данной системы дифференциальных уравнений с учетом начальных граничных условий 𝑥1(0) = 𝑥2(0) = 𝑥3(0) = 0 имеет вид: ![]() ![]() ![]() 𝜓1(𝑡) = 𝐶7, 𝜓2(𝑡) = −𝐶7𝑡 + 𝐶9, 𝜓3(𝑡) = 𝐶8. Управляющая переменная будет равна: 𝑢(𝑡) = − 𝐶9−𝐶7𝑡. 2𝐶8 Применить три граничных условия в конечный момент времени нель зя, так как неизвестно значение 𝑡𝑓. Используя граничные условия в конечный момент времени ![]() ![]() ![]() ![]() Так как конечное время не фиксировано, составим условие трансверсальности, обусловленное вариацией конечного момента времени: ![]() где 𝐺 = 𝑡𝑓. Таким образом ![]() 𝐻|𝑡=𝑡𝑓 = −1, 𝜓1(𝑡𝑓)𝑥2(𝑡𝑓) + 𝜓2(𝑡𝑓)𝑢(𝑡𝑓) + 𝜓3(𝑡𝑓)𝑢(𝑡𝑓)2 = −1. Подставив выражения 𝜓1(𝑡), 𝜓2(𝑡), 𝜓3(𝑡), 𝑥1(𝑡), 𝑥2(𝑡), 𝑥3(𝑡) с заменой 𝑡 = 𝑡𝑓, получим ![]() Запишем полученную систему из четырех уравнений (одно условие трансверсальности и три граничных условия): ![]() Решение этой системы уравнения относительно неизвестных 𝐶7, 𝐶8, 𝐶9, 𝑡𝑓 имеет вид: 𝐶7 = 0,5623, 𝐶8 = −0,0562, 𝐶9 = 0,4743, 𝑡𝑓 = 1,6869 с. Вообще, данная систем уравнения имеет три корня, но в двух из них время 𝑡𝑓 равно комплексной величине, поэтому оставляем только корень, в котором время является положительным действительным числом. Подставив найденные постоянные в выражения для 𝑥𝑖(𝑡) и 𝑢(𝑡), получим ![]() ![]() ![]() ![]() |