
- •Глава 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.6. Учет ограничений типа неравенств
В общей постановке задачи линейного программирования при-сутствуют ограничения в виде неравенств (см. раздел 2.1). Оказы-вается, эти ограничения легко перевести в ограничения типа ра-венств за счет введения вспомогательных переменных. Каждому такому ограничению соответствует одна дополнительная перемен-ная. Рассмотрим введение дополнительных переменных на приме-
ре одного ограничения, |
заданного с помощью |
неравенства |
a11 x1 + a12 x 2 + ... + a1 n x n ≤ b1 . |
Введем вспомогательную |
переменную |
u1 = b1 − a11 x1 − a12 x 2 − ... − a1 n xn . В условиях исходного ограничения переменная u1 неотрицательна. Поэтому рассматривается новое ограничение в виде равенства u1 + a11 x1 + a12 x 2 + ... + a1 n xn = b1 . Если
имеется k ограничений типа неравенств, то необходимо ввести k вспомогательных переменных. Таким образом, рассматривается новая задача линейного программирования с k + m ограничениями типа равенств и k + n переменными при прежней линейной форме. Если найдено решение новой задачи, то известно наименьшее зна-чение LН линейной формы и значения всех переменных
x1 , x 2 ,..., xn , u1 ,...,uk . Из полученного решения надо выделить только
32
LН и значения переменных x1 , x 2 ,..., xn , что и составит решение ис-ходной задачи.
2.7. Поиск начальной экстремальной точки
Симплексный метод решения требует знания хотя бы одной (любой) экстремальной точки, иначе невозможно начать вычисле-ния. Если размерность задачи велика, то максимальное возможное число экстремальных точек может оказаться очень большим, но согласно теореме 2, приведенной в разделе 2.4, гарантировать можно существование только одной экстремальной точки. Это мо-жет привести к трудоемкому перебору всех возможных ситуаций, для которых проверяется возможность определения экстремальной точки. Поэтому процедуру поиска исходной экстремальной точки целесообразно автоматизировать. Это может быть сделано с помо-щью решения вспомогательной задачи линейного программирова-ния.
Пусть задана задача линейного программирова-ния: S = { x : Ax = b , x ≥ 0} , L = c T x , причем b ≠ 0 и b ≥ 0 (этого мож-
но добиться всегда, поскольку при отрицательном bj соответст-
вующее ограничение можно умножить на -1). Введем новую ли-нейную форму LН = y1 + y 2 + ... + ym (все слагаемые предполагаются
неотрицательными) и новую область допустимых решений Ax + y = b , где y – вектор с составляющими y1 , y 2 ,..., ym . Получим
новую задачу линейного программирования. У этой задачи есть очевидная экстремальная точка x = 0, y = b , которую можно взять
за исходную. Решим новую задачу симплексным методом. По-скольку y ≥ 0 , то имеется очевидное наименьшее значение формы
LH , равное нулю при, этом y = 0 и вектор x принял определенное
значение. Понятно, что справедливо неравенство x ≠ 0 , т.е. содер-жит не нулевые составляющие. В противном случае было бы полу-чено противоречие Ax + y = 0 , поскольку Ax + y = b ≠ 0 . Найден-
ное значение вектора x и будет экстремальной точкой исходной задачи.
33
Следует заметить, что условие b = 0 всегда приводило бы к экс-тремальной точке с нулевыми координатами, поскольку в этом
случае xB = B −1b = 0 (см. раздел 2.3).
Контрольные вопросы
Какой вид имеют ограничения в задачах линейного про-граммирования?
Как записывается уравнение плоскости в многомерном про-странстве?
Что такое экстремальная (угловая) точка?
Каков алгоритм поиска экстремальных точек?
Каков геометрический смысл симплексного метода?