ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ» (НИУ «БелГУ)
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК
КАФЕДРА ОБЩЕЙ МАТЕМАТИКИ
ИТЕРАЦИОННОЕ РЕШЕНИЕ ЛИНЕЙНОЙ ЗАДАЧИ
БЫСТРОДЕЙСТВИЯ
Магистерская диссертация
обучающегося по направлению подготовки 01.04.01 Математика
очной формы обучения, группы 07001534
Маслаковой Ларисы Федоровны
Научный руководитель
к.ф.м.н., доцент
Флоринский В.В.
Рецензент
к.ф.м.н., профессор,
заведующий кафедрой
математики и физики
ФГБОУ ВПО
«Белгородская ГСХА»
Голованова Е.В.
БЕЛГОРОД 2017
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
3
ГЛАВА 1. ПОСТАНОВКА ЗАДАЧИ
6
ГЛАВА 2.
МЕТОДЫ ПОСТРОЕНИЯ ОПТИМАЛЬНЫХ ПО
БЫСТРОДЕЙСТВИЮ УПРАВЛЕНИЙ ДЛЯ
КАНОНИЧЕСКИХ УПРАВЛЯЕМЫХ СИСТЕМ
10
2.1 Канонические переменные
11
2.2 Уравнения для нахождения моментов переключения
18
2.3 Непрерывная зависимость моментов переключения от
спектра матрицы в линейной задаче быстродействия
ГЛАВА 3.
34
ИТЕРАЦИОННЫЙ ПОДХОД К РЕШЕНИЮ НЕКОТОРЫХ
ЛИНЕЙНЫХ ЗАДАЧ БЫСТРОДЕЙСТВИЯ
39
3.1 Итерационный метод решения канонической задачи
быстродействия
39
3.2 Условия сходимости итерационного процесса для
41
решения канонической задачи быстродействия
ЗАКЛЮЧЕНИЕ
48
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
50
ПРИЛОЖЕНИЕ. ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ
54
2
ВВЕДЕНИЕ
Математическая теория оптимального управления возникла в середине
50-х годов XX столетия. Ее возникновение связано с необходимостью
решения новых в тот период задач управления движущимися объектами,
движения которых описывается дифференциальными уравнениями.
Выдающуюся роль в развитии теории оптимального управления
сыграло открытие принципа максимума (Понтрягин, В. Г. Болтянский, Р. В.
Гамкралидзе, Е. Ф. Мищенко [1]), который дает необходимое условие
оптимальности.
В настоящее время теория оптимального управления имеет большое
число различных приложений и является активно разрабатываемым разделом
современной математики. Проблема вычислительных методов оптимального
управления имеет устойчивую актуальность, которая определяется, в первую
очередь, потребностями надежного и обоснованного решения новых, всѐ
более сложных прикладных задач (динамика полета, физико-технические
процессы, экономические модели, экология, медицина и др.).
С другой стороны, не менее важной является необходимость
проведения фундаментальных исследований по дальнейшему развитию
теории вычислительных методов оптимального управления (расширение
классов рассматриваемых задач, поиск глобальных решений в невыпуклых
задачах, обоснованная работа с вырожденными задачами и др.). Разработка
вычислительных
методов
решения
задач
оптимального
управления
органично связана с условиями оптимальности и традиционно использует
типовые
конструкции,
аппроксимации
и
процедуры
варьирования,
полученные в рамках качественной теории.
В современной теории оптимального управления одно из центральных
мест занимает проблема быстродействия, в частности линейная проблема
быстродействия. Поскольку время быстродействия является наиболее
3
естественным критерием оптимальности, задачи на быстродействие стали
одним из наиболее распространенных объектов применения различных
методов оптимального управления. В последнее время существенное
развитие теории линейного быстродействия было достигнуто на основе
изучения ее связи с классической проблемой моментов, в частности, с minпроблемой моментов. Одним из центральных пунктов в таком подходе стало
исследование задачи быстродействия для канонической управляемой
системы.
Важным
звеном,
практикой, является
связывающим
разработка
для
теоретическое
решения
исследование
с
задач быстродействия
численных методов, ориентированных на комплексное применение. Большой
интерес представляет решение задач быстродействия для систем с большой
размерностью.
Из приведенного обзора видно, что создание численных методов
решения линейных задач быстродействия представляет интерес как для
развития решения линейных задач быстродействия, так и служит основой для
создания методов решения нелинейных задач быстродействия.
Целью работы является исследование применения метода итерации к
решению канонической задачи быстродействия, основанном на minпроблеме моментов Маркова.
В работе поставлены следующие задачи:
Исследовать возможности применения метода итерации к решению
канонической задачи быстродействия;
Получить условия сходимости итерационного процесса для решения
канонической задачи быстродействия;
Реализовать численно метод итерации для решения канонической
задачи быстродействия.
4
Научная новизна исследовательской работы заключается в том,
что
получены достаточные условия сходимости метода итерации для
нелинейной системы; построена численная реализация метода итерации для
решения канонической задачи быстродействия
5
ГЛАВА 1. ПОСТАНОВКА ЗАДАЧИ
Динамика объекта. Для задачи оптимального управления характерно
наличие некоторого динамического объекта, т. е. объекта, меняющегося во
времени. Пусть положение объекта в каждый момент времени t полностью
характеризуется набором параметров
( ( )
( )
( ).
Вектор
( )
( )) называется фазовым вектором объекта. Предполагается, что
движением объекта можно управлять. В каждый момент времени t
положение характеризуется набором параметров
( )
(
( )
( )
( ) Вектор
( )) называется управляющим параметром объекта или
управлением. [2].
В зависимости от того, как выражается зависимость вектора фазового
состояния х(t) от управления u(t), рассматривают различные динамические
объекты.
Например,
эта
зависимость
может
описываться
системой
дифференциальных уравнений
.
х =f(t,x,u).
В этом случае, зная значение управления
( ) в каждый момент
времени t, можно определить траекторию объекта
( ) как решение
дифференциального уравнения
.
х =f(t,x,u(t)).
Будем считать, что каким-то образом задана динамика объекта, т. е.
закон изменения вектора состояния ( ) в зависимости от изменения вектора
управления ( ).
Класс допустимых управлений. В конкретных физических задачах
управление
не
может
быть
произвольным:
( )
.
Предполагаем, что вектор управления u(t) удовлетворяет в каждый момент
6
времени t ограничению u(t) U, где U – некоторое заданное множество.
Будем считать, что задан класс допустимых управлений u(t).
Начальное и конечное состояния объекта. Пусть задан начальный
момент времени
, и множество
– допустимых начальных управлений
объекта. Желательно так управлять объектом, чтобы в конечный момент
времени объект перешел в новое состояние множества
– допустимые
конечные состояния объекта. Предполагаем, что допустимое управление u(t)
переводит объект из множества начальных состояний
конечных состояний
на отрезке времени [ ,
на множество
], если соответствующее
этому управлению u(t) фазовое состояние объекта х(t) удовлетворяет
условиям x( )
, x( )
.
Критерий качества. Объект из начального в конечное состояние можно
перевести различными способами, поэтому нужно выбрать наилучший
способ. Каждому допустимому управлению u(t), заданному на отрезке [ ,
], и соответствующей ему траектории объекта х(t) сопоставим некоторое
число
J, оценивающее качество пары u(t), x(t), т. е. задан функционал,
или критерий, качества J(u(t), x(t)). Этот функционал может иметь вид:
t1
J (u (t ), x(t )) f 0 ( s, x( s), u ( s))ds.
t0
Частный случай:
Если
.
õ =f(x,u) – автономная задача.
(t,x(t),u(t)) 1 – задача быстродействия.
Рассмотрим задачу оптимального быстродействия для автономной
линейной системы:
̇=
( )
, | |
( )
,
,
(
)
7
где
(
),
(
),
u-управление,
- время оптимального быстродействия.
Система управляема, если
(
)
Если матрица А имеет вид
(
),
( )
то задача называется канонической.
Пусть матрица А имеет вещественный спектр
В этом
случае число точек переключения ( точек разрыва функции ( )) будет не
более
. Обозначим моменты переключения через
,
Для матрицы А, имеющей, например, спектр
,(
)
или другой
спектр специального вида, в работах [2,3] дано точное решение задачи
быстродействия,
основанное
на
min-проблеме
моментов.
Время
оптимального быстродействия является корнем некоторого полинома,
коэффициенты
которого
есть
функции
начальной
точки.
Моменты
переключения есть корни полинома, коэффициенты которого зависят от
времени быстродействия и начальной точки. Для матрицы А с произвольным
спектром в [4] предложен метод сведения к задачам быстродействия с
матрицей А, допускающим точное решение. Задача быстродействия в этом
случае сводиться к отысканию неподвижной точки некоторого отображения,
8
а для ее нахождения моментов последовательного приближения на каждом
шаге используется решение системы, допускающей точное решение.
В данной работе исследуем возможности применения метода итерации
к решению канонической задачи быстродействия; получим условия
сходимости итерационного процесса для решения канонической задачи
быстродействия;
реализуем
численно
канонической задачи быстродействия.
9
метод
итерации
для
решения
ГЛАВА 2. МЕТОДЫ ПОСТРОЕНИЯ ОПТИМАЛЬНЫХ ПО
БЫСТРОДЕЙСТВИЮ УПРАВЛЕНИЙ ДЛЯ КАНОНИЧЕСКИХ
УПРАВЛЯЕМЫХ СИСТЕМ
Существенное развитие теории линейного быстродействия получено в
последние годы на основе изучения ее связи с классической проблемой
моментов и привлечения аналитических идей и методов, традиционно
используемых в этой проблеме [1-4]. Одним из центральных пунктов в таком
подходе стало исследование задачи быстродействия для канонической
системы:
̇ =u, | |
̇=
( )
, i=2,…,n,
( )
,
(1)
В [1] показано, что эта задача эквивалентна степенной проблеме
моментов на минимально возможном отрезке. Изучение задачи (1) с таких
позиций позволило впервые получить [1] ее аналитическое решение для
произвольного порядка системы n: даны методы нахождения управления u(t),
времени оптимального быстродействия
моментов переключения
,
,…,
и последовательного нахождения
.
Принципиальное место в указанном подходе сыграло введение и
исследования некоторой системы специальных многочленов
(
),
(
) и
, называемых каноническими переменными.
Существенная часть данной работы посвящена развитию результатов
работы [1]. Получены уравнения для нахождения моментов переключения,
которые имеют симметричный вид. Для этого вводятся новые сопряженные
канонические переменные многочленов
(
) и
(
При этом управление и время оптимального быстродействия
так же, как и в работе [1].
10
),
.
определяются
В работе [5] показано, что решение задачи
, | |
̇=
( )
,
( )
,
(
)
(2)
с произвольной матрицей А может быть сведено к решению задачи (2) с
такой
матрицей
А,
которая
допускает
точное
решение.
Задача
быстродействия для исходной системы в этом случае сводится к отысканию
неподвижной точки некоторого отображения. Для ее нахождения методом
последовательного приближения на каждом шаге используется решение
системы (2), которая допускает точное решение.
Представляет интерес вопрос о решении задачи быстродействия с
двумерным управлением, основанном на степенной проблеме моментов.
Этому посвящена заключительная часть статьи, в которой предлагаются
численные методы.
2.1. Канонические переменные
Для
решения
задачи
(1)
в
работе
(
последовательности полиномов
) и
[1]
были
(
введены
),
следующими
уравнениями:
(
)
|
|
;
11
две
(
)
(2.1.1)
(
)
|
(
|
;
)
(2.1.2)
Обозначим через ̃ управление на последнем интервале [
̃
]. Если
, то ̃ будем называть управлением первого рода, если ̃
, то
это управление второго рода [1]. Введем в рассмотрение последовательность
(
полиномов
̃)
{
(
(
)
)
̃
̃
(
)
Тогда, используя равенства (2.1.1) и (2.1.2). последовательность
(
̃) можно получить из аналогичных уравнений:
̃
(
)
|
(
|
.
) ̃
(2.1.4)
Обозначим правые части равенства (2.1.4), (2.1.1) и (2.1.2) через
т.е.
(
)
(
)
(
)
̃
,
,
,
Очевидно, что
12
;
;
(2.1.5)
;
(2.1.5а)
(2.1.5б)
̃
̃
{
(
)
Раскрывая определитель в равенстве (2.1.4) по последнему столбцу,
получим
∑
(
)
Отсюда следует рекуррентная формула для
̃
∑
(
,
(
)
(2.1.8)
Аналогичным образом введем последовательности полиномов
̅ (
), ̅ (
), ̅ (
̃):
(
̅
)
|
|
(
;
̅
(
(2.1.9)
)
|
|
;
13
)
(
)
(2.1.10)
(
̃
̅
)
|
(
|
) ̃
.
(2.1.11)
Откуда видно, что
̅ (
̅ (
{ ̅
(
̃)
)
)
̃
̃
(
)
Обозначим правые части равенства (2.1.9), (2.1.10) и (2.1.11) через ̅ ,
̅ , ̅
соответственно, т.е.
(
̅
(
̅
(
̅
̃
)
)
,
;
,
)
(2.1.13)
;
,
(2.1.13а)
;
(2.1.13б)
Очевидно, что
̅
{
̅
̅
̃
̃
(
)
Раскрывая определитель в равенстве (2.1.11) по последнему столбцу,
получим равенство, аналогичное (2.1.7):
̅
∑
̅ ̅
̅
(
Отсюда следует рекуррентная формула, аналогичная (2.1.8):
14
)
̃
̅
( ̅
̅
∑
,
̅
̅(
)
(2.1.16)
Замечание 1.1 . Канонические переменные
можно вычислить, использую
явную формулу
(
)
|
|
|, k=1,…,n;
|
если в данной формуле заменить
и
на ̅
и
(2.1.17)
̅ соответственно, то
получим аналогичную формулу для вычисления переменных ̅ .
Из равенств (2.1.5) и (2.1.13) видно, что
̅
̅
,
,
̅
.
Как и в работе [1], дополним систему (1) уравнением ̅
и
рассмотрим систему
̇ =u,
̇=
,
̅
(2.1.18)
Тогда имеет место следующее утверждение.
(
Утверждение 1.1. Полиномы
̃) удовлетворяет системе
дифференциальных уравнений
̇
(
)
, k=1,…,n,
(2.1.19)
, k=2,…,n
(2.1.20)
и системе
̇
, ̇
15
где производные ̇ в (2.1.19) и (2.1.20) берутся в силу системы (2.1.18) с
̃и
управлением
̃ соответственно.
Доказательство. Доказывать будем по индукции.
При k=1
̇
̇
̃ ̇
̃
̃
̃
{
Предположим справедливость утверждения для
Докажем для
и
. Продифференцируем равенство (2.1.15) при
̇
∑
̇
∑
̇
(
) ̇
.
(2.1.21)
Продифференцируем равенство (2.1.13):
̇ (
̇
)
̃
̇ (
̇
) ̃(
) ̇
̅
,
т.е.
̇
Для
(
̃
{
̃
̇
̅
, k=2,…, n.
(2.1.22)
̃ из предложения индукции и равенств (1.21) и (1.22) получаем
)̃
∑(
) ̇ ̃
∑( ̇ ̃
∑(
)̃ ̇
(
(
)∑
Откуда
16
̃
)
)
(
̃
(
) ̃̇
(
) ̇
) ̇
̃
̃̇
∑̃ ̇
Используя равенство (2.1.16), имеем
̃̇
̃
, что доказывает
справедливость (2.1.19)
̃ из равенств (2.1.21) и (2.1.22) получаем
Для
)̃
(
̃
̃
∑ ̇
(
∑(
)∑
̃
[(
)(∑
)
(
̃
̃
) ̇
,
(
) ̇
Откуда
̃̇
̃ ̃
̇ )
].
Так как из равенства (2.1.15) при k=s имеет место
̃ ̃
∑
,
То получаем, что
̃̇
[ (
)̃
̃
)( ̃
(
)]
(
То есть
̃̇
(
)̃ ,
что доказывает справедливость (2.1.20).
Воспользуемся обозначениями работы [1]. Рассмотрим матрицу
17
)̃ .
[Г]=
(
(
(
)
)
(
)
)
Столбцы этой матрицы имеют целочисленную нумерацию от
, и столбец с первым элементом
Обозначим
выбором
до
имеет номер 1.
, полученный из матрицы [ ]
определитель
столбцов с номерами
, где
и первых
строк.
В дальнейшем подразумевается, что
|
|
Если
элементами
̃ ̃ ̃
матрицы
[ ]
являются
канонические
переменные
то соответствующие им определители будем обозначать
̃ ̃ ̃ соответственно.
2.2. Уравнения для нахождения моментов переключения
Теорема 2.1. Пусть для системы (1) время оптимального быстродействия
Θ.
Тогда
моменты
переключения
оптимального
управления ( ) определяются как корни следующих уравнений:
1) для
∑(
)
(
или
18
̃)
(
)
|
|
(
)
Для нахождения четных моментов переключения
∑(
)
(
̃)
и
(
)
или
̃
|
|
̇
̃
̃
̃
̃
|
|
̃
(
)
для нахождения нечетных моментов переключения
2) для
-1
∑
(
)
(
̃)
(
)
или
̃
|
̃
̃
|
̃
(
Для нахождения четных моментов переключения
∑(
)
(
или
19
̃)
)
и
(
)
|
|
(
)
для нахождения нечетных моментов переключения
Доказательство. Так как оптимальное по быстродействию управления
является кусочно-постоянной функцией на интервале [
значение на отрезке [
] и принимает
] либо +1, либо -1, то для определения моментов
переключение имеем следующую систему равенств:
(
)
(
̃
)
[∑ (
)
(
)
(
]
)
где
Здесь имеем две системы равенств: для начальных точек
которые
переводятся в начало координат управления первого рода, мы имеем ̃
в противном случае ̃
. Учитывая, что ̃
(
̃ ),
̃
равенства (2.2.5) можно записать в следующем виде:
(
Дополним
)
̃
(
для
) ∑(
)
равенствами
(
) ∑(
)
Далее будем рассматривать бесконечную систему равенств
(
) ∑(
)
(
20
)
в ней
определяются равенствами (2.1.5).
Пусть
. Разделим равенства (2.2.6)
на
и запишем эти
равенства для k=1,2…:
,
,
,
……………………………………. .
⁄ )в
(
Складываем все равенства и используя разложение функции
ряд Тейлора, получим
(
*
(
*
(
*
(
*
∑
или
(
)(
) (
)
(
)(
) (
)
∑
(2.2.7)
Разложим рациональную функцию
(
)(
) (
)
(
)(
) (
)
(2.2.8)
в ряд по степеням ⁄ . Это разложение имеет вид
(
)(
(
) (
)(
)
) (
)
∑
(2.2.9)
∑
(2.2.10)
Тогда
(
∑
)
21
Отсюда нетрудно показать, что связь между переменными
и
дается
формулами (2.1.1), (2.1.2) , а с учетом обозначения (2.1.3) – формулами
(2.1.8) или непосредственная зависимость переменной
от
задается формулой (2.1.17).
Обозначим полиномы числителя и знаменателя рациональной функции
(2.2.8) следующим образом:
(
(
)(
)(
)
)
(
(
)
(2.2.11)
)
(2.2.12)
Тогда равенство (2.2.9) можно переписать в виде
(
)(
)
Приравнивая коэффициенты при одинаковых отрицательных степенях z от -1
до –p
и учитывая, что в левой части равенства коэффициенты при
отрицательных степенях z нулевые, получим линейную систему
,
…………………………………………………
.
(2.2.13)
Поскольку эта система линейных уравнений имеет нетривиальное решение
, то определитель этой системы
22
|
Переменные
|
.
(2.2.14)
(i=2…2p) являются в силу (2.1.4) полиномами i-й
и ̃. Поэтому
степени от времени быстродействия Θ, начальной точки
время быстродействия Θ является корнем уравнения (2.2.14). Выбор корня Θ
определяется теоремой 1 или следствием 1 из теоремы 1 в [1].
Первые
уравнения системы (2.2.13) можно записать в матричном
виде
(
)(
)
(
).
Откуда находим, что
(
,
)
т.е.
(
)
Тогда полином (2.2.12) можно записать в виде:
(
∑(
)
)
(
23
̃)
|
|
|
|
(
)
|
|
(2.2.15)
Приравнивая полином (2.2.12) к нулю, получаем уравнение для определения
четных моментов переключения
∑(
при n=2p:
)
(
̃)
или
|
|
|
|
То есть уравнения (2.2.1) или (2.2.1а) служат для определения четных
моментов переключения.
Приступим к выводу уравнения относительно нечетных моментов
переключения. Учитывая, что
равенство (2.2.7) можно записать в
виде
(
(
) (
)(
)
) (
∑
)
(2.2.16)
Разложим рациональную функцию
(
(
) (
)(
) (
24
)
)
(2.2.17)
в ряд по степеням ⁄ . Это разложение имеет вид
(
(
) (
)(
)
) (
̅
∑
)
(2.2.18)
Тогда
(
∑
̅
∑
)
(2.2.19)
̅
Отсюда нетрудно показать, что связь между переменными ̅
дается
формулами (1.1.11) или (1.1.16). При помощи формулы, аналогичной (1.1.17)
для
̅
̅
можно получать ̅ только используя ̅
̅
Используя обозначения (2.2.11) и (2.2.12), запишем равенство (2.2.18) в
виде
(
)(
̅
̅
̅
*
Как и в предыдущем случае, приравнивая коэффициенты при одинаковых
неположительных степенях z от 0 до 1-p,
уравнений относительно
получим систему линейных
(i=1,…,p):
……………………………………………….
В матричной форме эта система имеет вид
25
(2.2.20)
̅
̅
̅
̅
̅
( ̅
̅
̅
(
̅
)
̅
(
).
(2.2.21)
̅
)
Откуда находим
(
̅
)
̅
Тогда полином (2.2.11) запишется в виде
∑
̅
̅
=̅
|
|
̅
̅
(
̅
)
(x,Θ, ̃)
̅
̅
̅
̅
|
|
̅
(
̅
)
̅
|
|
̅
̅
̅
̅
̅
̅
|
|
(2.2.22)
̅
Тогда полином (2.2.11) к нулю, получим уравнение для нахождения
нечетных моментов переключения
∑
(
при n=2p-1:
̅
)
(x,Θ, ̃)
или
̅
|
|
̅
̅
̅
̅
̅
̅
̅
26
|
|
что доказывает справедливость (2.2.2) и (2.2.2а).
Пусть
Произведем
n=2p-1.
преобразования,
аналогичные
преобразованиям для четного n. Получим равенства
((
(
)(
) (
)
)(
) (
)
)
∑
(2.2.23)
(
)(
) (
)
)(
) (
)
∑
(2.2.24)
и
((
)
Разлагая, как и ранее, рациональные функции, стоящие под знаком
логарифма, в ряде по степеням ⁄ , получим равенство
(
)(
) (
(
)(
) (
)
=
)
∑
̅
(2.2.25)
и
(
)(
) (
)
(
)(
) (
)
∑
(2.2.26)
Обозначим полиномы, стоящие в числителе и знаменателе рациональной
функцией, так же как и в случае четного n , следующим образом:
(
)(
)
(
)
(2.2.27)
(
)(
)
(
)
(2.2.28)
Тогда равенство (2.2.25) можно записать в виде
27
=(
)(
)
)(
)
а равенство (2.2.26) – в виде
=(
Как и в случае n=2p, приравнивая коэффициенты при одинаковых
отрицательных степенях z от -1 до –p, получим что время быстродействия
является корнем полинома
|
|
Тогда систему относительно
̅
̅
̅
(
можно записать в виде
̅
̅
̅
̅
̅
̅
)(
)
̅
а относительно
̅
(
),
̅
можно записать в виде
(
)(
)
(
)
Решение которых
(
)
̅
̅
(
,
28
)
,
Подставляя полученные
∑
̅
=
и
в (2.2.27) и (2.2.28) , можно записать:
(
|
|
|
|
(
∑
̅
=
|
|
̅
̅
̅
̅
)
)
(
(x,Θ, ̃)
|
| (2.2.29)
̅
)
(x,Θ, ̃) =
̅
̅
̅
̅
̅
|
|
(
)
|
̅
̅
̅
̅
̅
| (2.2.30)
̅
Так как нечетные моменты переключения служат корнями полинома
(2.2.27), то приравниваем полином (2.2.27) к нулю и. пользуясь равенством
(2.2.29). по лучим уравнения (2.2.4) и (2.2.4а) для нахождения всех
нечетных моментов переключения. Аналогично получаем уравнения (2.2.3)
и (2.2.3а) для нахождения всех четных моментов переключения.
Замечание
переключения
2.1. Уравнение для нахождения всех моментов
(четных
и
нечетных
n = 2р можно записать в следующем виде:
29
в
случае
̅
̅
|
|
|
|
̅
̅
̅
̅
̅
̅
|
|
(2.2.31)
а уравнение для нахождения всех моментов переключения для случая n —
2р - 1 в виде
̅
|
̅
̅
̅
̅
̅
||
̅
|
Поскольку для заданной начальной точки
вия
Θ
определено,
то
̅
(2.2.32)
в
левых
̅
частях
(2.2.32)
( ) время быстродейстравенств
(2.2.31)
и
известные числа, тогда левые части этих
равенств представляют собой полиномы степени n - 1 относительно z,
корнями которых являются все моменты переключения и только они.
Рассмотрим еще одну систему относительно вспомогательных переменных
…,
[6]:
,
̇
где
- матрица, транспонированная к матрице А. Решение этой
системы – вектор
) , который является
с компонентами (
опорным вектором к области управления системы (2) в начальной точке
( )[ ] .
Оптимальное управление
( )
(
Скалярное произведение (
)
(
(
)
(2.2.33)
) ) представляет собой полином
30
(
)
(
∑
)
(2.2.34)
Корни этого полинома согласно равенству (2.2.33) являются
моментами переключения. Следовательно, полином (2.2.34) с точностью до
постоянного множителя совпадает с левой частью уравнения (2.2.31) при
n=2p и с левой частью уравнения (2.2.32) при n=2p-1. Если записать левую
часть вышеуказанных уравнений в виде
,
то
(
)
, k=0,.., n-1.
То есть вектор q с компонентами
(
(
)
(
)
)
(2. 2.35)
является опорным вектором к области управляемости системы (2).
В качестве примера рассмотрим задачу оптимального быстродействия
(
для системы (1) при п = 5 из точки
случае
)(
,
(
)
(
̃ (
)
(
)
)
(
̃ (
)
̃(
)
(
)
̃
̃ (
31
)
)
) в 0. В этом
Применяя метод, описанный в [1], получаем, что время оптимального
быстродействия
( )
√
,
а управление, решающее данную задачу быстродействия, является
управлением первого рода, т.е. ̃
.
Определим теперь моменты переключения. Из (2.2.4а) следует, что
уравнение для определения четных моментов переключения имеет вид
|
или
|
корни которого
+
√
√
,
.
Из (2.2.3а) получаем уравнение для определения четных моментов
переключения
| ̅
или
̅
̅
̅
̅
̅ |
корни которого
+
√
,
√
.
Рассмотрим теперь задачу быстродействия для системы (1) при n=6 из
начальной точки
(
) (
случае
32
) в начало координат. В этом
(
(
)
)
̃ (
(
(
)
)
̃ (
̃(
)
̃
)
)
, ̃ (
)
(
)
(
)
̃ (
)
̃
.
Методом, описанным в [1], находим время оптимального быстродействия
( )
√
и род управления, которое является управлением второго рода, т.е.
̃
.
Из (2.2.1а) находим, что уравнение для нахождения четных моментов
переключения имеет вид
|
|
или
+
корни этого уравнения
,
33
.
Из (2.2.2а) находим, что уравнение для нахождения всех нечетных
моментов переключения имеет вид:
|
или
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
̅
|
корни этого уравнения
+
√
,
√
,
2.3. Непрерывная зависимость моментов переключения от спектра
матрицы в линейной задаче быстродействия
Пусть
( )
-
оптимальное
по
быстродействию
управлению
переводящее точку из х в 0, тогда
( )
∫
∑
(2.3.1)
( )
∫
(2.3.2)
здесь
( )
Теорема . Пусть матрица А удовлетворяет следующим условиям:
1) собственные значения
вещественные;
2) в области изменения спектра жорданова форма и кратность спектра
не меняются;
3) начальная точка x(0)=x находится вне поверхности переключения.
Тогда моменты переключения
функциями от спектра
являются гладкими
матрицы А системы
34
, [ ]
̇=
( )
( )
,
(
)
(
Доказательство. Пусть
)
все различные
собственные значения матрицы А кратности, соответственно,
(
)
Пусть
. Пусть
- матрица, сопряженная к матрице А.
корневые
-
(
)
(
значениям
матрицы
максимальной
отвечающие
)
(
эти векторы образуют базис пространства
)
.
∑ ∫(
( )
(
)
)
Преобразуем выражение, стоящее в правой части.
)
∑ ∫(
( )
)
Учитывая, что
∑
(
можно записать:
35
,
),
Умножим скалярно обе части равенства (2.3.2) на вектор
(
собственным
-корневые векторы высоты
отвечающие собственному значению
(
высоты
)
(
Обозначим
векторы
)
(
)
,
.
(
)
(
) ̃ ∑
(
(
)
)
(
) ∑(
)
∫(
)
Здесь и далее ̃ - управление на конечном промежутке [
быстродействие оптимальное и | |
], так как
, то ̃ может принимать значения
либо +1, либо -1, то есть ̃
Рассмотрим систему уравнений относительно функций
(
(
)
(
(
) ̃∑
)
)
(
)
(
)∑
(
) ∫
(
)
m=1,…,q; k=0,…,
Так как (
)
(2.3.3)
, то система (2.3.1) состоит из n уравнений.
(
Найдем частные производные функций
), по
(j=1,…,n).
(
)
̃ ∑
(
(
)
)
(
)
(2.3.4)
̃∑
( )
(
)
(
Пусть для данной начальной точки
.
)
( ) b и собственных значений
матрицы А моменты переключения
начальная
точка
находится
вне
.
поверхности
переключения
быстродействие оптимальное, то выполняются неравенства
.
Якобиан системы (2.3. 3)
36
Так как
и
( )
( )
(
)
)
̃(
)
̃(
|
|
|
(
)
|
(
|
(
)
̃∑
)
(
)
(
̃(
̃∑
(
)
)
)
)
(
(
)
)
)
(
̃(
)
(
(
)
(
|
|
|
)
|
̃
|
Здесь
)
)
(
̃ ∑
|
(
(
̃∑
)
(
|
)
так
как
система
(2.3.1)
управляемая;
(
(
)
(
) (
)
(
)
)
(
(
)
) (
)
Полученный определитель представляет собой систему функций
Чебышева и, следовательно, отличен от нуля при
попарно неравных
Следовательно, якобиан системы (2.3.3)
37
и
( )
( )
в точке (
).
В силу теоремы о неявных функциях, система (2.3.3) определяется в
некоторой окрестности точки (
(
)(
) однозначные функции
), которые являются непрерывными и имеют
непрерывные частные производные по всем аргументам.
Теорема доказана.
38
ГЛАВА 3. ИТЕРАЦИОННЫЙ ПОДХОД К РЕШЕНИЮ
НЕКОТОРЫХ ЛИНЕЙНЫХ ЗАДАЧ БЫСТРОДЕЙСТВИЯ
Рассмотрим каноническую задачу быстродействия:
x1 u,
u 1,
xi xi 1 , i 2, , n,
x(0) x, x() 0, min.
(3.1)
Как было показано ранее, решение данной задачи эквивалентно
степенной проблеме моментов на минимально возможном отрезке (minпроблеме моментов), что позволило впервые получить аналитическое
решение задачи (3.1) для системы произвольного порядка. Рассмотрим
возможность применения метода итерации к решению канонической задачи
быстродействия.
3.1.
Итерационный
метод
решения
канонической
задачи
быстродействия
Решение задачи быстродействия для канонической системы сводится к
решению нелинейных алгебраических систем, которые можно записать в
виде:
∑
(
(
)
(
Обозначим
)
)
(
̃
(
)
через
̃
, k=1,2,…,n,
(3.1.1)
:
)
̃
,
k=1,2,…,n,
(3.1.2)
Тогда уравнение (3.1.1) можно записать в виде:
∑
(
)
(
)
k=1,2,…,n.
(3.1.3)
Приведем полученную систему к виду, удобному для итерации, для
чего умножим каждое из уравнений на (
)
некоторые ненулевые постоянные. Запишем (3.1.3) в виде:
39
(
) -
(
)
( ∑(
(
)
)
)
То есть получим следующую систему:
(
(
(
)
(
(
)
)
))
(3.2.4)
…………………………………………………….
(
(
)
(
(
)
)) .
Введем в рассмотрение векторы
( )
и
(
(
( )
(
(
(
(
)
(
)
)
(
)
))
(
(
)
.
))
)
Систему (3.2.4) можно записать в виде векторного уравнения:
( )
40
(3.1.5)
Наличие рода управления ̃
входящего в
,
в равенствах
(3.1.2) показывает, что векторное уравнение (3.1.5) задает две системы вида
(3.1.4) для ̃
или ̃
.
Так как решение задачи быстродействия существует и
-
моменты переключения управления ( ), переводящего точку x в 0 за время
, то вектор
(
) , координаты которого удовлетворяют
неравенствам
,
(3.1.6)
является решением одного из матричных уравнений (3.1.5). Таким образом,
вектор
является неподвижной точкой отображения ( ) то есть
(
Для нахождения вектора
(
)
построим итерационный процесс:
)
(
( )
)
p=1,2,… .
(3.1.7)
Если итерационный процесс сходиться для одного из уравнений (3.1.5) к
вектору, компоненты которого удовлетворяют неравенствам (3.1.6), то эти
компоненты являются моментами переключения управления
( ) задачи
быстродействия.
Постоянные величины
,
входящие в правые части
уравнения систем (3.1.4), подбирают таким образом, чтобы итерационный
процесс (3.1.7) сходился для одного из уравнений (3.1.5).
3.2.
Условия сходимости итерационного процесса для решения
канонической задачи быстродействия
Как известно, итерационный процесс (3.1.7) сходится, если норма
якобиана отображения F (T ) меньше 1, то есть, если
41
DF
1
DT
,
но уже при n 3 ни при каких a1 , a2 , , an это неравенство не выполняется.
Однако можно так подобрать постоянные a1 , a2 , , an , что норма степени
якобиана будет удовлетворять неравенству:
DF
DT
m
1
.
(3.2.1)
Как показали результаты численного эксперимента, во всех случаях,
когда
норма
степени
якобиана
удовлетворяла
неравенству
(3.2.1),
итерационный процесс (3.1.7) сходился.
Докажем следующее утверждение.
DF
F
(T
)
Если отображение
и его якобиан DT непрерывны, то в некоторой
*
окрестности неподвижной точки T этого отображения якобиан степени
DF
DF m
отображения DT незначительно отличается от степени якобиана DT
m
этого отображения, то есть
m
DF m DF
r
DT
DT
.
m
Действительно, так как F (T ) F ( F ( F (T ))) , то
DF m DF ( F ( F (T ) )) DF ( F m1 (T )) DF ( F m2 (T )) DF ( F (T )) DF (T )
DT
DT
DT
DT
DT
DT .
*
Положим T T , тогда получим:
DF m (T * ) DF ( F m1 (T * )) DF ( F m2 (T * )) DF ( F (T * )) DF (T * )
DT
DT
DT
DT
DT
.
В силу непрерывности отображения F (T ) ,
последнее равенство можно
переписать в виде:
DF m (T * ) DF ( F m1 (T * ) r1 ) DF ( F m2 (T * ) r2 ) DF ( F (T * ) rm2 ) DF (T * )
DT
DT
DT
DT
DT
.
*
Так как T – неподвижная точка отображения F (T ) , то
42
F m1 (T * ) F m2 (T * ) F (T * ) T * .
Тогда
DF m (T * ) DF (T * r1 ) DF (T * r2 ) DF (T * rm2 ) DF (T * )
DT
DT
DT
DT
DT
.
DF
Откуда, в силу непрерывности якобиана DT можно записать:
DF m (T * ) DF
R
DT
DT
,
m
что и требовалось доказать.
Таким образом, получили, что для того, чтобы отображение было
сжимающим, достаточно, чтобы норма некоторой степени якобиана этого
отображения была меньше единицы.
Рассмотрим примеры итерационного решения задачи (3.1).
При n 4 из начальной точки x(0) (1;1;1;1) в точку 0 процесс итерации
сходится для системы (3.2.4) при u~ 1 к решению
T1 3,047369; T2 7,188397; T3 10,582705; T4 11,883353 с точностью 10 4 , при
этом начальное приближение было T10 10; T20 20; T30 30; T40 40.
При n 5 из начальной точки x(0) (1;1;1;1;1) в начало координат процесс
итерации
(8)
сходится
для
системы
(5)
при
u~ 1
T1 3,204351; T2 8,012594; T3 12,883745; T4 16,462254; T5 17,773504
до
10 6 ,
при
этом
T10 10; T20 20; T30 30; T40 40; T50 50
начальное
к
решению
с точностью
приближение
было
. В таблице 2 приведены значения
постоянных a k k 1; 2; 3; 4; 5 , минимальная степень якобиана, норма которого
меньше единицы (прочерк в этой графе означает, что норма степени
якобиана неограниченно возрастает) и число итераций, которые зависят от
постоянных a k .
43
Таблица 1
Значения a1 , a2 , a3 , a4
Минимальная степень
Число итераций
якобиана, норма
которого <1
0,1;0.1;0.1;0.1
696
15666
0.9;0.6;0.3;0.1
140
7553
0.05;0.09;1.1;1.2
–
4446
0.1;0.11;0.9;0.91
325
3859
0.1;0.2;0.8;0.9
170
2841
0.1;0.2;0.9;1
173
2663
0.1;0.2;1;1.1
–
2524
0.1;0.8;0.9;1
–
1589
0.2;0.8;0.9;1
–
1450
0.3;0.8;0.9;1
–
1407
0.4;0.8;0.9;1
–
1388
0.5;0.8;0.9;1
–
1375
0.6;0.8;0.9;1
–
1368
0.7;0.8;0.9;1
–
1365
0.7;0.8;0.9;1.1
–
1321
0.7;0.8;0.9;1.2
–
1288
0.7;0.8;0.9;1.3
–
1259
0.7;0.8;0.9;1.4
–
1259
1;1;1;1
–
расходится
1.7;1.9;1;1.7
–
857
0.7;0.8;1.9;1.3
–
602
0.7;1.8;1.9;1.3
–
380
1.7;1.8;1.9;1.3
–
369
1.7;1.8;1.9;2
–
расходится
44
Таблица 2
Значения a1 , a2 , a3 , a4 , a5
Минимальная степень
Число итераций
якобиана, норма
которого <1
0,5; 0,4; 0,3; 0,2; 0,1
1792
32103
0,3; 0,2; 0,1; 0,7; 0,6
2339
20402
0,1; 0,2; 0,3; 0,4; 0,5
914
15561
0,1; 0,2; 0,3; 1; 1,1
–
9045
0,1; 0,2; 0,5; 0,7; 0,8
486
9038
0,1; 0,2; 0,6; 0,7; 0,8
509
8560
0,4; 0,5; 0,6; 0,7; 0,8
–
7830
0,1; 0,2; 0,7; 0,8; 0,9
–
7392
0,1;0,2;0,7;0,8;1
7268
0,1;0,2;0,6;0,9;1
–
7101
0,1;0,2;0,9;1;1,1
–
5744
0,1;0,7;0,9;1;1,1
–
5145
0,1;0,8;0,9;1;1,1
–
4892
0,05;0,8;0,9;1,1;1,2
–
4608
0,1;0,8;0,9;1,1;1,2
–
4440
0,2;0,8;0,9;1,1;1,2
–
4362
0,2;0,8;1;1,2;1,3
–
3805
0,4;0,8;1;1,4;1,5
–
3149
0,5;0,8;1;1,4;1,6
–
3090
0,6;0,8;1;1,4;1,6
–
3039
0,7;0,9;1,2;1,5;1,7
–
2531
0,9;1,1;1,2;1,5;1,7
–
2438
1,2;1,4;1,5;2,2;2,3
–
расходится
1,25; 1,35; 1,5; 2,2; 2,3
–
997
45
Как показывает численный эксперимент, чем меньше значения
постоянных a k , то тем, как правило, меньшая степень якобиана становится
меньше единицы, и тем большее число итераций требуется для сходимости.
Если увеличивать значения постоянных a k , то число итераций уменьшается.
При значительном увеличении значений постоянных a k процесс итерации
начинает расходиться. Кроме того, при увеличении значений a k область
сходимости уменьшается.
Рассмотрим теперь задачу быстродействия вида:
x Ax bu,
x(0) x,
Пусть матрица A имеет вид
u 1,
x() 0, min .
1 0 0
1 2 0
A 0 1 3
0 0 0
(3.2.2)
0
1
0
0
0
b 0
0
n
.
, а вектор
Тогда система (3.2.2) запишется в виде
x1 1 x1 u,
u 1,
x i xi 1 i xi , i 2, n ,
x(0) x,
x() 0, min .
(3.2.3)
Построим итерационный процесс для задачи (3.2.3). Будем полагать,
что собственные значения 1 , 2 , , n матрицы A вещественные, ненулевые
и различные.
В работе [3] показано, что решение задачи (3.2.3) можно свести к
решению системы
Vi , x (1) n
u~ n1
2 (1) j e iT j (1) n e iTn 1
(i 1, n)
i j 1
,
,
46
(3.2.4)
*
относительно T1 , T2 , , Tn , где Vi – собственные векторы матрицы A ,
сопряженной матрице A , отвечающие собственным значениям i , (i 1, n) ,
которые имеют следующий вид:
1
1
1
1
n 1
3 1
( )( )
0
2 1
2
n
1
Vn n
V1 0 V2 0 V3 (3 2 )(3 1 )
n 1
(
)
n
j
0
0
0
j 1
.
,
,
, …….,
В этом случае, скалярное произведение Vi , x , стоящее в левой части системы
i
k 1
Vi , x x1 (i j ) xk
(3.2.4) имеют вид: V1 , x x1 ,
k 2 j 1
, (i 2, n) .
Тогда систему (12) можно записать в виде:
n 1
(1)
j
j 1
e
iT j
(1) n iTn (1) n u~i (Vi , x) 1
e
2
2
, i 1, n ,
(3.2.5)
Введем следующие обозначения:
tj e
T j
,
gi
j 1, n ;
(1) n u~i (Vi , x) 1
2
,
i 1, n .
Тогда система (3.2.5) запишется в виде:
n 1
(1) j t j i
j 1
(1) n i
tn gi 0
2
,
i 1, n .
Таким образом, получили систему типа системы
n 1
(1) j 1 T jk
j 1
(1) n1 k
Tn g k 0
2
,
k 1, n .
47
(3.2.6)
ЗАКЛЮЧЕНИЕ
Мы постоянно встречаемся с управляемыми объектами, к числу
которых относится, например, автомобиль, корабль, летательный аппарат,
технологический процесс на производстве и т.п. У всех этих объектов есть
органы управления ("рули"), изменением положения которых можно влиять
на движение объекта. Возникает вопрос о том, как управлять объектом
наилучшим
образом
(оптимально),
как
применять
для
этих
целей
математические методы системыМатематическое
моделирование
реальных
процессов
является
ответственным этапом исследования
К настоящему времени оформились как в результативном, так и в
методическом плане основные подходы к численному решению задач
оптимального
управления
в
обыкновенных
динамических
системах.
Существенный прогресс в проблематике вычислительных методов связан, в
первую очередь, с классическими задачами без смешанных, фазовых и
терминальных ограничений, которые являются характер- ной моделью для
демонстрации и реализации разнообразных идей и принципов построения
итерационных методов с целью их дальнейшего обобщения. В этих задачах
фигурирует только один (целевой) функционал и присутствуют только
поточечные (явные) ограничения на управление, поэтому процедуры
улучшения
имеют
здесь
однозначную
направленность:
построить
допустимое управление с меньшим значением функционала. Разнообразие
методов
определяется
характером
используемых
аппроксимаций
функционала (игольчатая, фазовая, слабая вариации первого и второго
порядка) и типом варьирования управлений (игольчатое, слабое, смешанное,
внутреннее, комбинированное). В первую очередь здесь закономерно
выделяются методы и алгоритмы, связанные с необходимыми условиями
оптимальности.
Наиболее
эффективным
средством
вычислительных процедур служит min-проблема Маркова.
48
для
построения
В настоящей работе рассмотрено решение канонической задачи
быстродействия на примере решения метода простой итерации и метода
Зейделя. Написан и разработан комплекс решения этих методов при помощи
комплекса Matlab.
В работе были решены следующие задачи:
Исследованы возможности применения метода итерации к решению
канонической задачи быстродействия;
Получены условия сходимости итерационного процесса для решения
канонической задачи быстродействия;
Реализованы численно метод итерации для решения канонической задачи
быстродействия.
Проведен анализ работ по данной тематике.
Научная новизна исследовательской работы заключается в том, что
получен новые достаточные условия сходимости итерационного процесса
для нелинейных систем. Рассмотренное применение метода итерации для
канонических систем может быть распространено и для решения некоторых
неканонических управляемых систем.
Построена
численная
реализация
метода
канонической задачи быстродействия
49
итерации
для
решения
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Благодатских В.И. Линейная теория оптимального управления.- М.: Издво МГУ, 1978.
2. Благодатских В.И. Введение в оптимальное управление (линейная
теория):М.:Высш.шк., 2001.-239 с.
3. Коробов В.И., Скляр Г.М. Оптимальное быстродействие и степенная
проблема моментов // Математический сборник. – 1987. -134(176), № 2 (10). –
С. 186 – 206.
4. Коробов В.И., Скляр Г.М., Флоринский В.В. Методы построения
оптимальных
по
быстродействию
управлений
для
канонических
управляемых систем // Математическая физика, анализ, геометрия. – 1999. –
Т.6, № 3 / 4. – С. 264 – 287.
5. Коробов В.И., Флоринский В.В. О нахождении оптимального времени и
моментов переключения в задаче быстродействия // Вестник Харьковского
университета. Серия
математика, прикладная математика и механика. –
1999. - № 444. – С. 24 – 43.
6. Понтрягин Л.С., Болтянский В.Г., Гамкрелидзе Р.В., Мищенко Е.Ф.
Математическая теория оптимальных процессов. М.: Наука, 1976. - 362 с.
7. Ли Э.Б., Маркус JI. Основы теории оптимального управления. -М.: Наука,
1971. 574 с.
8. Коробов В.И.,
Скляр Г.М. min-проблема моментов Маркова и
быстродействия// Сибирский математический журнал. – 1991.-Т.32, №1.-с.6071.
9. Флоринский В.В. Итерационный подход к решению некоторых линейных
задач быстродействия //Научные ведомости Белгородского государственного
50
университета. Серия физико-математических наук.№6 (37) Вып.13, 2007. –
с.56-61.
10. Флоринский В.В. Решение задач быстродействия методом итераций// IX
Крымская международная математическая школа «Метод функций Ляпунова
и его
приложения», Тез.докладов, Алушта, 15-20 сентября 2008 г.
/Таврический национальный университет.-2008.-с.170.
11. Коробов В.И., Иванова Т.И. Отображение нелинейных управляемых
систем специального вида на каноническую систему // Математическая
физика, анализ, геометрия. – 2001. Т. 8, №1. С. 42 – 57.
12. Коробова Е.В., Скляр Г.М. Один конструктивный метод отображения
нелинейных систем на линейные // теория функций, функциональный анализ
и их приложения. – 1991. №55. – С. 68 – 74.
13.
Крейн М.Г.,
Нудельман
A.A.
Проблема
моментов
Маркова
и
экстремальные задачи. М.: Наука, 1973. - 551 с.
14. Минюк С.А. О точном решении задачи быстродействия в случае
линейных стационарных систем // Дифференциальные уравнения. 1996. - Т.
32, №12. - С. 1645 - 1652.
15. Скляр E.B. О классе нелинейных управляемых систем, отображающихся
на линейные // Математическая физика, анализ, геометрия. 2001. - Т. 8, №2. С. 205 – 214
16. Хайлов E.H. О моментах переключения экстремальных управлений в
линейной задаче оптимального быстродействия // Тр. Ин-та матем. и мех.
УрО РАН. 1996. -4. - С. 225 - 265.
17. Скляр Е.В., Флоринский B.B. Новые способы нахождения моментов
переключения
для
некоторых
задач
51
быстродействия
//IV
Крымская
Международная математическая школа "Метод функций Ляпунова и его
приложения". Тезисы докладов. Симферополь. - 1998. - С. 61.
18. Коробов В.И. Метод функции управляемости. – М., - Ижевск: НИЦ
«Регулярная
и
хаотическая
динамика»,
Институт
компьютерных
исследований, 2007. – 576 с.
19. Гамкрелидзе Р.В. Теория оптимальных по быстродействию процессов в
линейных системах // Известия АН СССР. Серия математическая. – 1958. –
Т.22, №4. – С. 447 – 474.
20. Васильев Ф. П., Иванов Р. П., ―О приближенном решении задачи
быстродействия с запаздыванием‖, Журнал вычислительной математики и
математической физики, 10:5 (1970), 1124–1140.
21. Болтянский В. Г., Математические методы оптимального управления,
Наука, М., 1969, 408 с.
22. Квакернаак Х., Сиван Р., Линейные оптимальные системы управления,
Мир, М., 1977, 650 с.
23.
Шевченко Г. В., ―Численный алгоритм решения линейной задачи
оптимального быcтродействия‖, Журнал вычислительной математики и
математической физики, 42:8 (2002), 1166–1178.
24. Шевченко Г. В., ―Численное решение нелинейной задачи оптимального
быстродействия‖, Журнал вычислительной математики и математической
физики, 51:4 (2011), 580–593.
25. Понтрягин Л. С., Болтянский В. Г., Гамкрелидзе Р. В., Мищенко Е. Ф.,
Математическая теория оптимальных процессов, Физматгиз, М., 1983, 393 с.
26. von Hohenbalken B., ―A finite algorithm to maximize certain pseudoconcave
functions on polytopes‖, Math. Program., 9 (1975), 189–206.
52
27. Моисеев Н. Н. Элементы теории оптимальных систем / Н. Н. Моисеев. –
М. : Наука, 1975. – 528 с.
28. Атанс, М. Оптимальное управление / М. Атанс,П. Фалб. – М. :
Машиностроение, 1968. – 764 с.
29. Карагодин В. В. Метод последовательных опорныхрешений в задачах
оптимального быстродействия В. В. Карагодин. – МО РФ, 2013. – 144 с.
30. Герасимов А. Н. Оптимальная по быстродействию переориентация
объекта с астатизмом второго порядка А. Н. Герасимов, В. В. Карагодин //
Электромеханика. –1987. – № 8. – С. 59 – 63. – (Изв. высш. учеб. заведений).
31.
Герасимов
родействию
А.
Н.
А.
Н.
Построение
управления
Герасимов,
В.
в
В.
оптимального
задачах
Карагодин
//
по
быст-
переориентации
/
Приборостроение.
–
1989. – XXXII. – № 8. – С. 9 – 13. – (Изв. высш. учеб.
заведений).
32.. В.В. Карагодин, В.А. Горин, Е.П. Вишняков // Метод численного
решения задач оптимального быстродействия // Вопросы электромеханики Т.
135. 2013. – С. 43-49.
33. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М., Численные методы,
Бином. Лаборатория знаний, М., 2003, 632 c
34. В.И. Крылов ., В.В.Бобков., П.И.Монастырский Вычислительные методы
высшей математики, Вышэйшая школа, 1973, 585
35. Б. П. Демидовича и И. А. Марона «Основы вычислительной математики»
М., 1966 г. 664 с
53
Приложение. Листинг программных модулей
Метод Зейделя
> restart; n:=5: eps:=.000001:
digits:=20:
u1:=-1:
Каноническая задача
> x:=vector(n,[1,1,1,1,1]);
x := [ 1, 1, 1, 1, 1 ]
> ts:=vector(n,[10,20,30,40,50]);
tp:=vector(n,[]);
tp:=ts:
ts := [ 10, 20, 30, 40, 50 ]
tp := array ( 1 .. 5, [ ] )
> a:=vector(n,[1.25,1.35,1.5,2.2,2.3]);
a := [ 1.25, 1.35 , 1.5, 2.2, 2.3 ]
> T:=vector(n): T:=ts:
> tn:=vector(n,[]):
> g:=vector(n):i:='i':
> for i from 1 to n do
g[i]:=(-1)^(n+i+1)*i!*x[i]*u1/2 od:
>
> i:='i':j:='j': del:=10: sch:=0:
> while abs(del)>eps do del:=0: sch:=sch+1:
for i from 1 to n-1 do
s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*tp[j]^i) ;
od:
tn[i]:=evalf(tp[i]^i+(-1)^i*a[i]*(s+(-1)^(n+1)*(tp[n]^i)/2g[i]))^(1/i):
tp[i]:=tn[i]:
del:=del+(ts[i]-tn[i])^2;
ts[i]:=tn[i]: tp[i]:=tn[i]:
od;
j:='j':s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^n): od:
tn[n]:=evalf(ts[n]^n+(-1)^n*2*a[n]*(s+(-1)^(n+1)*(ts[n]^n)/2g[n]))^(1/n):
del:=sqrt(del+(ts[n]-tn[n])^2);
ts[n]:=tn[n]: %print(del,abs(del),sch):
if sch=1 or sch=3 or frac(sch/100)=0 then lprint(sch):
lprnt(ts): l:='l':
for l from 1 to n do lprint(ts[l]): od: fi:
od:
1
4.375000000
25.09362158
23.10268370
43.43186843
50.24165072
3
15.61396078
2.846784677
28.91341874
44.33522051
49.19239054
100
4.874546548
13.48144040
22.04386257
27.81591443
29.78928578
200
3.679875908
9.580179708
15.50996265
19.70051359
21.19171544
300
3.325685599
8.413768989
13.55562111
17.28840481
18.64442699
400
3.233952845
8.110552311
13.04777499
16.66376805
17.98585283
500
3.211480359
8.036190901
12.92325530
16.51078213
17.82463619
600
3.206062656
8.018258842
12.89322959
16.47390291
17.78577785
700
3.204761770
8.013952855
12.88601972
16.46504795
17.77644798
800
3.204449727
55
8.012919984
12.88429023
16.46292393
17.77421009
900
3.204374883
8.012672227
12.88387542
16.46241451
17.77367336
> i:='i':
> for i from 1 to n do
print(ts[i]): od;
3.204361034
8.012626328
12.88379859
16.46232013
17.77357391
> print(del,sch):
0.9900000000 10 -6, 962
> abs(del);
0.9900000000 10 -6
>
56
Метод итераций
> restart; n:=5: eps:=.000001:
digits:=20:
u1:=-1:
Каноническая задача. Множители изменяются в цикле.
> x:=vector(n,[1,1,1,1,1]);
x := [ 1, 1, 1, 1, 1 ]
> ts:=vector(n,[10,20,30,40,50]);
ts := [ 10, 20, 30, 40, 50 ]
> a:=vector(n,[1.25,1.35,1.5,2.2,2.3]);
a := [ 1.25, 1.35 , 1.5, 2.2, 2.3 ]
> T:=vector(n): T:=ts:
> tn:=vector(n,[]):
> g:=vector(n):i:='i':
> for i from 1 to n do
g[i]:=(-1)^(n+i+1)*i!*x[i]*u1/2 od:
>
> i:='i':j:='j': del:=10: sch:=0:
> while abs(del)>eps do del:=0: sch:=sch+1:
for i from 1 to n-1 do
s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^i) ;
od:
tn[i]:=evalf(ts[i]^i+(-1)^i*a[i]*(s+(-1)^(n+1)*(ts[n]^i)/2g[i]))^(1/i):
del:=del+(ts[i]-tn[i])^2;
ts[i]:=tn[i]:
od;
j:='j':s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^n): od:
tn[n]:=evalf(ts[n]^n+(-1)^n*2*a[n]*(s+(-1)^(n+1)*(ts[n]^n)/2g[n]))^(1/n):
del:=sqrt(del+(ts[n]-tn[n])^2);
ts[n]:=tn[n]: %print(del,abs(del),sch):k:='k': for k from 1 to n
do a[k]:=1.0003*a[k]:
od:if sch=1 or sch=3 or frac(sch/100)=0 then lprint(sch):
lprnt(ts): l:='l':
for l from 1 to n do lprint(ts[l]): od: fi:
od:
57
1
4.375000000
25.09362158
23.10268370
43.43186843
50.24165072
3
15.61570634
2.802452016
28.91292734
44.33672256
49.19443234
100
4.806119782
13.18076743
21.36559756
26.75371513
28.55861416
200
3.536554039
9.060628174
14.54177236
18.39494867
19.76352683
300
3.246315589
8.140026790
13.07537038
16.67463747
17.98737658
400
3.207145392
8.020554758
12.89473180
16.47335105
17.78418167
500
3.204388927
8.012679258
12.88382331
16.46229061
17.77351860
> i:='i':
> for i from 1 to n do
print(ts[i]): od;
3.204349977
8.012585700
12.88372598
16.46222805
17.77347601
> print(del,sch):
0.9380607656 10 -6, 534
> abs(del);
58
0.9380607656 10 -6
> F:=matrix(n,n):
>
for i from 1 to n do
for j from 1 to n do
if i=j then F[i,j]:=1-a[i]
else F[i,j]:=(-1)^(i+j+1)*a[i]*T[j]^(i-1)/T[i]^(i1) fi:od:od:
> i:='i': j:='j': for i from 1 to n-1 do
F[i,n]:=F[i,n]/2 od:
> i:='i': j:='j':
> for j from 1 to n-1 do
F[n,j]:=F[n,j]*2 od:
> matrix(F);
> norma:=proc(matr,nor):
F:=matrix(n,n): F:=matr: vn:=vector(n):i1:='i1':
M:=sum(abs(F[i1,1]),i1=1..n):i1:='i1':
for j1 from 1 to n do
vn[j1]:=sum(abs(F[i1,j1]),i1=1..n):
if vn[j1]>M then M:=vn[j1] fi: od:
### WARNING: `F` is implicitly declared local
### WARNING: `vn` is implicitly declared local
### WARNING: `i1` is implicitly declared local
### WARNING: `M` is implicitly declared local
### WARNING: `j1` is implicitly declared local
nor:=M: end:
> i:='i':norma(F,NF): i:=1:F1:=F:
> while NF>1 do i:=i+1: NF:='NF':
F2:=evalm(F1&*F);norma(F2,NF): print(NF,i):
F1:=F2:od:
> print(NF,i);
> restart; n:=4: eps:=.0000001:
digits:=20:
u1:=1:
>
> x:=vector(n,[1,1,1,1]);
x := [ 1, 1, 1, 1 ]
> ts:=vector(n,[10,20,30,40]);
59
ts := [ 10, 20 , 30 , 40 ]
> a:=vector(n,[.1,.11,.9,.91]);
a := [ 0.1, 0.11 , 0.9, 0.91 ]
> T:=vector(n): T:=ts:
> tn:=vector(n,[]):
> g:=vector(n):i:='i':
> for i from 1 to n do
g[i]:=(-1)^(n+i+1)*i!*x[i]*u1/2 od:
>
> i:='i':j:='j': del:=10: sch:=0:
> while abs(del)>eps do del:=0: sch:=sch+1:
for i from 1 to n-1 do
s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^i) ;
od:
tn[i]:=evalf(ts[i]^i+(-1)^i*a[i]*(s+(-1)^(n+1)*(ts[n]^i)/2g[i]))^(1/i):
del:=del+(ts[i]-tn[i])^2;
ts[i]:=tn[i]:
od;
j:='j':s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^n): od:
tn[n]:=evalf(ts[n]^n+(-1)^n*2*a[n]*(s+(-1)^(n+1)*(ts[n]^n)/2g[n]))^(1/n):
del:=sqrt(del+(ts[n]-tn[n])^2);
ts[n]:=tn[n]: %print(del,abs(del),sch):
if sch=1 or sch=3 then lprint(sch): lprnt(ts): l:='l':
for l from 1 to n do lprint(ts[l]): od: fi:
od:
1
10.05000000
19.44788613
33.38489006
38.72761111
3
9.295884657
19.85162627
32.63286511
37.53071789
> i:='i':
> for i from 1 to n do
print(ts[i]): od;
60
3.047373199
7.188408493
10.58272155
11.88337222
> print(del,sch):
0.9585927185 10 -7, 3859
> abs(del);
0.9585927185 10 -7
> F:=matrix(n,n):
>
for i from 1 to n do
for j from 1 to n do
if i=j then F[i,j]:=1-a[i]
else F[i,j]:=(-1)^(i+j+1)*a[i]*T[j]^(i-1)/T[i]^(i1) fi:od:od:
> i:='i': j:='j': for i from 1 to n-1 do
F[i,n]:=F[i,n]/2 od:
> i:='i': j:='j':
> for j from 1 to n-1 do
F[n,j]:=F[n,j]*2 od:
> matrix(F);
0.9
0.04663216513
-0.07462752841
0.03069228464
0.1000000000
0.89
0.4152534680
-0.4028566452
-0.1000000000
0.1619411823
0.1
1.285418050
0.05000000000
-0.09092213840
0.5674102495
0.09
> norma:=proc(matr,nor):
F:=matrix(n,n): F:=matr: vn:=vector(n):i1:='i1':
M:=sum(abs(F[i1,1]),i1=1..n):i1:='i1':
for j1 from 1 to n do
vn[j1]:=sum(abs(F[i1,j1]),i1=1..n):
if vn[j1]>M then M:=vn[j1] fi: od:
### WARNING: `F` is implicitly declared local
### WARNING: `vn` is implicitly declared local
### WARNING: `i1` is implicitly declared local
### WARNING: `M` is implicitly declared local
### WARNING: `j1` is implicitly declared local
nor:=M: end:
Warning, `F` is implicitly declared local to procedure `norma`
61
Warning, `vn` is implicitly declared local to procedure `norma`
Warning, `i1` is implicitly declared local to procedure `norma`
Warning, `M` is implicitly declared local to procedure `norma`
Warning, `j1` is implicitly declared local to procedure `norma`
> i:='i':norma(F,NF): i:=1:F1:=F:
> while NF>1 do i:=i+1: NF:='NF':
F2:=evalm(F1&*F);norma(F2,NF):
F1:=F2:od:
> print(NF,i);
0.9969983669 , 325
>
>
62
Итер_5
> restart; n:=5: eps:=.000001:
digits:=20:
u1:=-1:
без умножения на 2 последнего уравнения
> x:=vector(n,[1,1,1,1,1]);
x := [ 1, 1, 1, 1, 1 ]
> ts:=vector(n,[10,20,30,40,50]);
ts := [ 10, 20, 30, 40, 50 ]
> a:=vector(n,[0.1,0.2,0.6,0.7,0.8]);
a := [ 0.1, 0.2, 0.6, 0.7, 0.8 ]
> T:=vector(n): T:=ts:
> tn:=vector(n,[]):
> g:=vector(n):i:='i':
> for i from 1 to n do
g[i]:=(-1)^(n+i+1)*i!*x[i]*u1/2 od:
>
> i:='i':j:='j': del:=10: sch:=0:
> while abs(del)>eps do del:=0: sch:=sch+1:
for i from 1 to n-1 do
s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^i) ;
od:
tn[i]:=evalf(ts[i]^i+(-1)^i*a[i]*(s+(-1)^(n+1)*(ts[n]^i)/2g[i]))^(1/i):
del:=del+(ts[i]-tn[i])^2;
ts[i]:=tn[i]:
od;
j:='j':s:=0:
for j from 1 to n-1 do
s:=evalf(s+(-1)^(j+1)*ts[j]^n): od:
tn[n]:=evalf(ts[n]^n+(-1)^n*a[n]*(s+(-1)^(n+1)*(ts[n]^n)/2g[n]))^(1/n):
del:=sqrt(del+(ts[n]-tn[n])^2);
ts[n]:=tn[n]: %print(del,abs(del),sch):
if sch=1 or sch=3 then lprint(sch): lprnt(ts): l:='l':
for l from 1 to n do lprint(ts[l]): od: fi:
od:
1
63
9.550000000
21.17641377
25.65066597
42.04009948
49.15642452
3
10.09925620
19.03813638
28.36398436
42.65635415
48.35364550
> i:='i':
> for i from 1 to n do
print(ts[i]): od;
3.204398439
8.012773832
12.88410254
16.46276076
17.77406831
> print(del,sch):
0.9974266890 10 -6, 9980
> abs(del);
0.9974266890 10 -6
> F:=matrix(n,n):
>
for i from 1 to n do
for j from 1 to n do
if i=j then F[i,j]:=1-a[i]
else F[i,j]:=(-1)^(i+j+1)*a[i]*T[j]^(i-1)/T[i]^(i1) fi:od:od:
> i:='i': j:='j': for i from 1 to n-1 do
F[i,n]:=F[i,n]/2 od:
> i:='i': j:='j':
> for j from 1 to n-1 do
F[n,j]:=F[n,j]*2 od:
> matrix(F);
0.9 , 0.1000000000 , -0.1000000000 , 0.1000000000 , -0.05000000000
0.07998225100 , 0.8 , 0.3215890729 , -0.4109129025 , 0.2218216648
-0.03711384318 , 0.2320644812 , 0.4 , 0.9795987880 , -0.5709349105
0.005162137562 , -0.08071210846 , 0.3355463793 , 0.3 , 0.4404743042
-0.001690279985 , 0.06608518972 , -0.4417629538 , 1.177560612 , 0.2
64
> norma:=proc(matr,nor):
F:=matrix(n,n): F:=matr: vn:=vector(n):i1:='i1':
M:=sum(abs(F[i1,1]),i1=1..n):i1:='i1':
for j1 from 1 to n do
vn[j1]:=sum(abs(F[i1,j1]),i1=1..n):
if vn[j1]>M then M:=vn[j1] fi: od:
### WARNING: `F` is implicitly declared local
### WARNING: `vn` is implicitly declared local
### WARNING: `i1` is implicitly declared local
### WARNING: `M` is implicitly declared local
### WARNING: `j1` is implicitly declared local
nor:=M: end:
Warning, `F` is implicitly declared local to procedure `norma`
Warning, `vn` is implicitly declared local to procedure `norma`
Warning, `i1` is implicitly declared local to procedure `norma`
Warning, `M` is implicitly declared local to procedure `norma`
Warning, `j1` is implicitly declared local to procedure `norma`
> i:='i':norma(F,NF): i:=1:F1:=F:
> while NF>1 do i:=i+1: NF:='NF':
F2:=evalm(F1&*F);norma(F2,NF): print(NF,i):
F1:=F2:od:
1.395594383 , 2
2.742021548 , 3
1.557020845 , 4
2.606266274 , 5
1.610955062 , 6
2.513609725 , 7
1.616021751 , 8
……………………
1.055059697 , 457
1.053957081 , 458
1.052871919 , 459
1.051771978 , 460
1.050688665 , 461
1.049591374 , 462
1.048509927 , 463
65
1.047415261 , 464
1.046335695 , 465
1.026968892 , 483
1.025899342 , 484
1.024839225 , 485
1.023772089 , 486
1.022713965 , 487
1.021649229 , 488
1.020593102 , 489
1.019530752 , 490
1.018476630 , 491
1.017416650 , 492
1.016364537 , 493
1.015306916 , 494
1.014256817 , 495
1.013201540 , 496
1.012153459 , 497
1.011100514 , 498
1.010054454 , 499
1.009003829 , 500
1.007959796 , 501
1.006911478 , 502
1.005869473 , 503
1.004823452 , 504
1.003783477 , 505
1.002739742 , 506
1.001701800 , 507
1.000660340 , 508
0.9996244331 , 509
> print(NF,i);
0.9996244331 , 509
>
66
Магистерская
диссертация
выполнена
мной
совершенно
самостоятельно. Все использованные в работе материалы и концепции из
опубликованной научной литературы и других источников имеют ссылки на
них.
«___» ________________ _____ г.
__________________________
_МаслаковаЛ.Ф._
(подпись)
(Ф.И.О.)
67
Отзывы:
Авторизуйтесь, чтобы оставить отзыв