Конечномерная аппроксимация задачи
Реализация метода последовательной линеаризации осуществляется с использованием конечномерной аппроксимации, которая позволяет процесс улучшения управления свести к последовательному решению стандартных задач линейного программирования. Хорошо разработанный и широко применяемый математический аппарат линейного программирования позволяет эффективно решать задачи с ограничениями. Рассмотрим способы редукции непрерывной задачи (6.6) - (6.8) к последовательности решений задач линейного программирования конечной размерности.
При выполнении итерации улучшения управления методом последовательной линеаризации исходная задача преобразуется в конечномерную вследствие замены дифференциальных уравнений движения (6.1) конечно-разностными при их численном интегрировании. В процессе численного интегрирования на отрезке времени , относящемся к исследуемому участку траектории, располагаются точки
- узлы, которым соответствует вся необходимая информация для решения линейного приближения задачи (6.6) - (6.8).
После расположения узлов вычисляются значения в узловых точках фазовых координат
, сопряженных переменных
и функциональных производных
, а также фиксируются значения управляющих зависимостей
. В дальнейшем эти величины используются при аппроксимации зависимостей от времени фазовых координат, сопряженных переменных, функциональных производных и управляющих воздействий. Таким образом, непрерывная задача (6.6) - (6.8) преобразуется в конечномерную, пригодную для численного решения.
В результате конечномерной аппроксимации на каждой итерации улучшения управления условия (6.6) - (6.8) представляются в форме стандартной задачи линейного программирования. Для этого все используемые зависимости, представленные конечным набором значений в узлах, аппроксимируются по определенному правилу.
Процедура расчета итерации улучшения опорного управления при кусочно-линейной аппроксимации зависимостей формируется следующим образом.
Управление представляет собой вектор-функцию размерности
. Пусть каждый компонент
опорного управления
аппроксимирован непрерывной кусочно-линейной функцией со значениями
в узловых точках
.В дальнейшем индекс «
» не будет указываться, и под управлением
будем понимать в зависимости от контекста или вектор-функцию размерности
или ее
-ый компонент.
Тогда -й компонент управления
, представленный в классе кусочно-линейных функций, в каждый момент времени
может быть рассчитан по формуле:
,
.
Возмущение каждого
-того компонента управления
, представленное в том же классе функций, имеет вид:
,
,
где и
- постоянные величины, представляющие собой вариации непрерывного кусочно-линейного управления в узловых точках.
При этих допущениях условия (6.6) - (6.8) приводятся к следующей задаче линейного программирования относительно неизвестных :
, (6.16)
, (6.17)
, (6.18)
где - значения функционалов, вычисленные для опорного закона движения
;
,
- малые заданные величины.
Коэффициенты вычисляются по интегральным соотношениям:
,
,
. (6.19)
Если известны значения функциональных производных в узлах
, то, используя кусочно-линейную аппроксимацию зависимостей
, получим следующие формулы для вычисления коэффициентов
:
,
. (6.20)
В некоторых случаях при аппроксимации задачи более подходящими могут оказаться кусочно-постоянные аппроксимирующие зависимости, упрощающие вычислительную процедуру решения по сравнению с использованием кусочно-линейных зависимостей.
Наиболее просто задача расположения узлов решается, если узлы расположить равномерно по времени на отрезке . При изменении эффективности управления наибольшая концентрация узлов необходима в местах наиболее интенсивного изменения и наибольшей эффективности управления.
Метод плавающих узлов обеспечивает рациональное распределение узлов аппроксимации и учет изменения длины отрезка в процессе улучшения управления.
Для рассмотрения метода плавающих узлов удобно использовать функцию Гамильтона, которая для функционалов (6.9) и (6.15) имеет вид:
.
Для функционалов (6.10) гамильтониан записывается в виде:
.
Вектор-функция определяется из решения сопряженной системы вида:
. (6.21)
Для функционалов вида (6.9) , для функционалов вида (2.10)
, а для функционалов вида (6.10)
, причем
при
.
Можно показать, что условия (6.6) - (6.8) с помощью функции Гамильтона могут быть преобразованы и записаны в следующем виде:
при всех
, (6.22)
, (6.23)
,
. (6.24)
Для функционалов вида (6.11) и (6.12) гамильтонианы записаны быть не могут, поэтому при численном решении эти функционалы заменяются на функционалы других видов в соответствии с выбранной процедурой.
Значения функций , соответствующих функциональным производным
, определяются по формулам:
, (6.25)
для функционалов вида (6.10) . Таким образом, для определения зависимости
необходимо проинтегрировать слева направо систему (1.9) и справа налево систему (6.21).
Метод плавающих узлов основан на замене независимой переменной путем отображения отрезка времени в отрезок
. Для этого вводится функция
,
,
,
, которая должна удовлетворять условию монотонности
, исключающему обратный ход времени. Функция
является дополнительным управлением, связанным с расположением узлов аппроксимации.
Система уравнений (6.1), функционалы (6.9), (6.10) и (6.15) после замены переменной приобретают вид:
,
,
,
,
где - заданная точка на
.
Вариации функционалов после замены независимой переменной зависят от малых локальных вариаций управления
и
функции замены времени
следующим образом:
.
Выражение для вариации функциональной производной приводится к виду:
.
Последнее соотношение позволяет преобразовать условия (6.22) - (6.24) к виду:
,
при всех
, (6.26)
, (6.27)
,
,
(6.28)
где - малая окрестность функции
.
При численном решении управление и функция
задаются набором значений в узловых точках на отрезке
. Условия (2.22) - (2.24) приводятся к задаче линейного программирования относительно неизвестных
и
:
,
, (6.29)
,
, (6.30)
, (6.31)
где ,
,
,
- малые заданные величины;
,
- коэффициенты, определяемые по интегральным зависимостям, например:
,
,
,
,
,
. (6.32)
Поиск управления , функции
, вариаций
и
, а также представление производных
в классе кусочно-линейных функций позволяет получить конечные соотношения для производных
,
и коэффициентов
и
.
Кусочно-линейные зависимости управления , функции
, вариаций
и
и производных
имеют вид:
,
,
,
,
,
где ,
,
,
,
- значения величин в узловых точках
.
Значения производных и
в узловых точках вычисляются по формулам:
,
,
Выполнение условия обеспечивается при
,
.
Возможность совпадения двух соседних узловых точек позволяет формировать не только непрерывное, но и разрывное кусочно-линейное управление. Малость допустимой окрестности обеспечивается заданием ограничений
,
где
.
Коэффициенты и
вычисляются по формулам:
,
,
,
,
,
. (6.33)
Использование метода плавающих узлов вместо других способов конечномерной аппроксимации задачи совместно с методом последовательной линеаризации приводит к повышению размерности задачи линейного программирования. Если размерность матрицы коэффициентов (6.20) без использования метода плавающих узлов равна
, где
- число функционалов задачи,
- размерность вектора управлений,
- число узловых точек аппроксимации, то при использовании метода плавающих узлов общая размерность матриц
и
(6.33) увеличивается до
.