
- •Глава 1. Оптимизация статических объектов 6
- •Глава 2. Основы линейного программирования 22
- •Глава 3. Способы описания динамических систем 34
- •Глава 4. Применение вариационных методов для поиска
- •Глава 1. Оптимизация статических объектов
- •1.1. Понятие статических и динамических объектов
- •1.2. Задача нелинейного программирования
- •Задачи на условный экстремум, неопределенные множители Лагранжа
- •1.4. Пример применения метода неопределенных множителей Лагранжа для поиска наибольших значений функций
- •1.5. Общая постановка задачи линейного оценивания параметров
- •Глава 2. Основы линейного программирования
- •2.1. Постановка задачи
- •2.2. Основные геометрические фигуры в линейном программировании
- •Экстремальные точки
- •2.4. Основные теоремы об экстремальных точках
- •2.5. Симплексный метод решения задач линейного программирования
- •2.6. Учет ограничений типа неравенств
- •2.7. Поиск начальной экстремальной точки
- •Глава 3. Способы описания динамических систем
- •3.1. Передаточные функции
- •3.2. Описание в форме Коши
- •3.3. Управляемость, наблюдаемость, стабилизируемость, обнаруживаемость
- •3.4. Понятие фильтра и общая задача регулирования
- •Глава 4. Применение вариационных методов для поиска оптимальных управлений
- •4.1. Понятие линейного пространства
- •4.2. Функционал и его вариация
- •4.3. Вычисление вариации функционала
- •4.4. Задача Эйлера
- •4.5. Применение уравнения Эйлера для поиска оптимального закона управления
- •4.6. Уравнение Эйлера – Пуассона и его применение
- •4.8. Неопределенные множители Лагранжа в вариационном исчислении
- •Глава 5. Вариационные задачи с подвижными границами
- •5.1.Основные виды задач с подвижными границами
- •5.2. Скольжение граничных точек по заданным траекториям
- •Глава 6. Принцип максимума
- •Постановка задачи поиска оптимального управления
- •Пояснения к получению принципа максимума
- •6.3. Динамическое программирование
- •Примеры применения динамического программирования
- •Глава 7. Аналитическое конструирование регуляторов (акор)
- •7.1. Постановка задачи
- •7.2. Решение задачи акор
- •7.3. Уравнение Риккати
- •7.4. Общие свойства решения уравнения Риккати
- •7.5. Способы решения уравнения Риккати
- •7.7. Метод диагонализации
- •Глава 8. Случайные процессы в системах управления
- •8.1. Описание случайных процессов
- •8.2. Стохастические дифференциальные уравнения
- •8.3. Прогнозирование (оценивание) значений случайных величин с использованием закона распределения
- •8.4. Линейное оценивание значений случайных величин
- •Глава 9. Фильтр калмана
- •9.1. Постановка задачи
- •9.2. Основные принципы получения формул дискретного фильтра Калмана
- •9.3. Получение формул фильтра Калмана
2.4. Основные теоремы об экстремальных точках
Помимо теоремы, рассмотренной в разделе 2.3, имеются и дру-гие важные теоремы.
1. |
Число |
экстремальных точек не превышает величины |
|
|
N = |
n! |
|
= Cnm (это возможное число перестановок столбцов |
|
m !(n − m)! |
|
|||
|
|
|
||
матрицы A ). |
|
|
||
2. |
У всякого не пустого множества S имеется хотя бы одна экс- |
|
||
тремальная точка. |
|
|||
|
|
|
n |
|
3. |
Линейная форма L = ∑ci xi достигает наименьшего (или наи- |
|
i=1
большего) значения на множестве допустимых решений в какой-то экстремальной точке.
2.5. Симплексный метод решения задач линейного программирования
Можно перебрать все экстремальные точки и вычислить в них значение линейной формы , получив таким способом решение, но это громоздко, так как что число экстремальных точек может ока-заться очень большим. Поэтому разработан специальный алгоритм направленного перебора экстремальных точек, с помощью которо-го получается каждая последующая экстремальная точка лучше предыдущей. Этот алгоритм называется симплексным методом.
Рассмотрим симплексный метод на примере решения конкрет-
ной задачи. |
Найти |
наименьшее |
|
значение линейной формы |
|
|
L = x1 + 2x2 |
−3x3 + 4x4 при ограничениях: |
|
|
|||
|
x + x − x + 2 x = 2, |
(2.5.1) |
|
|||
|
1 |
23 |
4 |
= 4. |
|
|
|
x1 − x2 + 2 x3 − x4 |
|
|
Считаем, что все переменные неотрицательны. С целью упрощения дальнейших пояснений найдем некоторые экстремальные точки множества S , заданного рассматриваемыми ограничениями (в дальнейшем станет ясно, что для реализации симплексного метода
27
достаточно найти всего одну, любую экстремальную точку). Будем последовательно приравнивать нулю различные пары переменных.
Например, если x3 = 0, x4 = 0 , то (см. раздел 2.4) x1 = 3, x2 = −1 . Следовательно, экстремальная точка не найдена.
|
Положим |
x |
= 0, x |
|
= 0 , тогда (см. |
раздел 2.4) |
x |
= |
8 |
|
, x = 0 и |
|
||||||||
|
4 |
|
|
|
||||||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
1 |
3 |
2 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
найдена |
первая |
|
экстремальная |
точка |
xЭ1 , имеющая |
координаты |
|
|||||||||||||
x = |
8 |
, x = 0 , |
x |
|
= |
2 |
, x = 0 . |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
1 |
3 |
2 |
3 |
3 |
|
|
4 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
x1 = 0, x4 = 0 , будет найдена еще |
|
||||||||||||
|
Аналогично, |
|
если положить |
|
||||||||||||||||
одна |
экстремальная |
точка |
с |
координатами |
|
x1 = 0, x 2 = 8, x3 = 6, x4 = 0 .
Пусть первоначально выбрана экстремальная точка xЭ1 с коор-
динатами x1 = 83 , x2 = 0, x3 = 23 , x4 = 0 . Значение линейной формы в этой точке равно L (xЭ1 ) = 23 . Можно ли найти экстремальную точ-
ку, в которой значение линейной формы будет меньше, чем 23 ?
Чтобы ответить на этот вопрос перепишем ограничения (2.5.1) в виде
-
x
− x
= 2 − x
− 2x ,
(2.5.2)
1
3
2
4
x1 + 2 x3 = 4 + x2 + x4 .
Переменные x1 , x3 называются базисными. Другие переменные x2 , x4 называются свободными. Свободные переменные – это такие,
значения которых в исходной экстремальной точке равны нулю. Любая точка с неотрицательными координатами x1 , x2 , x3 , x4 , кото-
рые удовлетворяют системе (2.5.1), что эквивалентно системе (2.5.2), является точкой множества S допустимых решений. Решая систему уравнений (2.5.2) относительно базисных переменных, по-лучим
28
-
x
=
8
−
1
x
− x ,
3
1
3
2
4
2
2
(2.5.3)
x
=
+
x
+ x .
3
3
3
2
4
Всевозможные значения свободных переменных определяют множество допустимых решений и значения линейной формы L , которую можно выразить как функцию свободных переменных
-
L =
2
−
1
x
+ 0* x .
(2.5.4)
3
3
2
4
Заметим, что уравнения (2.5.3) эквивалентны исходным уравне-ниям (2.5.1), кроме того, свободные переменные должны быть не-отрицательными. Попробуем уменьшить значение линейной фор-мы L за счет изменения одной из свободных переменных. Для это-го выберем такую свободную переменную, которая входит в выра-жение (2.5.4) с отрицательным коэффициентом. Это переменная x2
(если бы переменная x4 входила в выражение (2.5.4) с отрицатель-
ным коэффициентом, то можно было бы выбрать ее). Поскольку величина x2 неотрицательна, то ее увеличение возможно, и это
приведет к уменьшению значения L . Казалось бы, можно сколь угодно уменьшать L , однако это не так, поскольку одна из базис-ных переменных может стать отрицательной, что не допустимо. Тогда увеличиваем значение x2 до тех пор, пока одна из базисных
переменных не станет равной нулю (при этом x4 остается равной нулю). Такая ситуация происходит при обнулении переменной x1 , когда x2 = 8 . Теперь получено одно из допустимых решений, кото-
рое характеризуется следующими значениями координат: x1 = 0, x 2 = 8, x3 = 6, x4 = 0 , что соответствует другой экстремальной
точке. Оказывается, осуществлен переход от исходной экстремаль-ной точки к другой, более выгодной, экстремальной точке xЭ2 . Это
один вычислительный шаг симплексного метода.
Можно ли найти еще лучшую экстремальную точку? Чтобы от-ветить на этот вопрос, проделаем очередной шаг симплексного ме-тода, считая теперь xЭ2 исходной экстремальной точкой. Теперь
29
базисными переменными являются x2 , x3 , а свободными перемен-ными – x1 , x4 . Для выполнения очередного шага следовало бы ре-шить систему уравнений (2.5.1) относительно переменных x2 , x3 .
Однако решать эту систему нет необходимости, поскольку сущест-вует более простой способ выразить новые базисные переменные x2 , x3 через новые свободные переменные x1 , x4 . Это делается с
помощью замены одной базисной переменной и одной свободной переменной. Для этого используется уравнение, согласно которому обнуляется одна из базисных переменных. В рассмотренном пер-вом шаге это было первое уравнение системы (2.5.3), из которого следует, что x2 = 8 − 3 x 1 −3x4 . После подстановки последнего соот-
ношения во второе уравнение системы (2.5.3) и в выражение (2.5.4) получим связи между новыми свободными и базисными перемен-ными и зависимость величины L от новых свободных переменных:
-
x2
= 8 − 3 x1 −3 x4 ,
x3
= 6 − 2 x1 − x4 ,
(2.5.5)
L = −2 + x1 + x4 .
Значение линейной формы в новой экстремальной точке равно L ( xЭ2 ) = −2 и не может быть уменьшено, поскольку все свободные
переменные (это в данном случае x1 , x4 ) входят в выражение (2.5.5)
с положительными коэффициентами. Напомним, что переменные не могут принимать отрицательных значений. Решение задачи за-кончено. Наименьшее значение линейной формы L равно -2 и дос-тигается в точке с координатами x1 = 0, x 2 = 8, x3 = 6, x4 = 0 (т.е. в
одной из экстремальных точек).
Можно сделать следующие замечания по анализу знаков коэф-фициентов:
если бы на окончательном шаге коэффициент при одной из свободных переменных был равен нулю (такая ситуа-ция возможна и наблюдалась на первом шаге решения рассмотренной задачи, что выражение (2.5.4) подтвер-ждает), то существовало бы множество точек, в которых значение линейной формы имеет наименьшее значение, экстремальная точка входила бы в это множество;
30
если бы на одном из шагов все коэффициенты при сво-бодных переменных в соотношениях, связывающих (см. уравнения (2.5.3)) для примера свободные и базисные переменные, были положительными (или нулевыми), то увеличение выбранной свободной переменной не приве-ло бы к появлению отрицательных значений переменных и не выводило бы из множества S, и в этом случае вели-чину линейной формы можно было бы уменьшать до −∞ , и задача линейного программирования не имела бы решения (это может наблюдаться для не ограниченных множеств S ).
При большой размерности задачи линейного программирова-ния, когда число n переменных велико, базисные и свободные пе-ременные связаны множеством линейных соотношений, например
x1 = h1 + d m +1,1 xm+1 + ... + d m + p ,1 xm + p ,
...............................................,
xk = hk + d m +1, k xm +1 + ... + d m + p ,k xm + p ,
................................................,
xm = hm + d m +1, m xm +1 + ... + d m + p , m xm + p ,
где x1 , x 2 ,..., xm – базисные переменные.
В этом случае для замены одной базисной и одной свободной переменной можно воспользоваться тем уравнением, согласно ко-торому при изменении свободной переменной (например xm +1 ) об-
нуляется базисная переменная (например xk ). |
Здесь надо решить |
|
|||
уравнение с номером k относительно |
величины xm +1 : |
|
|||
x |
= |
xk − hk − d m +2, k xm + 2 − ... − d m + p ,k xm + p |
, и подставить это выраже- |
|
|
|
|
||||
m+1 |
|
dm +1,k |
|
|
|
|
|
|
|
ние во все требуемые соотношения. Такая процедура избавляет от необходимости решения на каждом шаге громоздких систем ли-нейных уравнений (хотя при современных программных средствах решение систем линейных уравнений не составляет большого труда).
В трехмерном пространстве можно дать простую геометриче-скую интерпретацию симплексного метода и постановки задачи
31
линейного программирования. На плоскости задан многоугольник, над которым нависает плоскость (описывается линейной формой L ). Требуется найти точку, принадлежащую многоугольнику, в которой линейная форма принимает наименьшее значение. Пусть, например, многоугольник является ограниченным. Ясно, что наи-меньшее значение формы будет достигаться в одной из угловых точек. C помощью симплексного метода осуществляется переход от одной экстремальной точки к следующей, рядом расположенной экстремальной точке, в которой значение линейной формы меньше, чем в предыдущей. Эти переходы продолжаются до тех пор, пока не будет найдена оптимальная экстремальная точка.