- •В.А. Панов математические основы теории систем. Методы оптимизации
- •Содержание
- •1. Основные понятия и определения 6
- •2. Линейное программирование 13
- •3. Нелинейное программирование 53
- •4. Вариационное исчисление 91
- •5. Оптимальное управление 109
- •Введение
- •1. Основные понятия и определения
- •1.1. Оптимизационная задача
- •1.2. Допустимое решение
- •1.6.1. Частные критерии
- •1.6.2. Обобщенные критерии
- •Обобщенный аддитивный критерий
- •Обобщенный мультипликативный критерий
- •1.6.3. Минимаксные критерии
- •1.7. Общая характеристика методов поиска экстремума
- •Краткая характеристика методов и задач
- •2. Линейное программирование
- •2.1. Стандартный вид задачи линейного программирования (злп)
- •2.2. Способы приведения задачи линейного программирования к стандартному виду
- •2.3. Графический метод решения задач линейного программирования
- •2.4. Симплекс-метод решения задач линейного программирования
- •2.4.1. Канонический вид злп
- •2.4.2. Симплекс-таблица, соответствующая каноническому виду
- •2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (симплекс-таблице)
- •2.4.4. Алгоритм решения злп с помощью симплекс-метода
- •Задание для самостоятельной работы
- •2.5. Приведение злп к каноническому виду
- •2.5.1. Метод искусственного базиса
- •2.6. Алгоритм двойственного симплекс-метода
- •Задания для самостоятельной работы
- •2.7. Целочисленное линейное программирование
- •2.7.1. Метод сечения Гомори
- •2.8. Транспортная задача
- •2.8.1. Постановка задачи
- •2.8.2. Математическое описание задачи
- •2.8.3. Транспортная таблица
- •2.8.4. Таблица издержек
- •2.8.5. Метод «северо-западного» угла
- •2.8.6. Алгоритм решения транспортной задачи
- •Задания для самостоятельной работы
- •3. Нелинейное программирование
- •3.1.2.2 Метод ненаправленного поиска
- •3.1.2.3. Метод дихотомии (деление отрезка пополам)
- •3.1.2.4. Метод «золотого сечения»
- •3.1.2.5. Метод Фибоначчи
- •Задание для самостоятельного решения
- •3.2. Графический метод решения задач нелинейного программирования
- •Целевая функция линейная, ограничения нелинейны
- •Ограничения линейные, целевая функция нелинейна
- •3.3. Задачи дробно-линейного программирования
- •Задания для самостоятельного решения
- •3.4. Методы поиска безусловного экстремума функции многих переменных
- •3.4.1. Аналитический метод
- •3.4.2. Итерационные методы
- •3.4.2.1. Метод покоординатного спуска
- •3.4.2.2. Метод наискорейшего спуска
- •Задания для самостоятельной работы
- •3.5. Решение задач нелинейного программирования с ограничениями-равенствами
- •Метод неопределенных множителей Лагранжа
- •Задание для самостоятельной работы
- •3.6. Задачи квадратичного программирования
- •Задания для самостоятельной работы
- •3.7. Метод условного градиента
- •5. X1, x2,xn 0. (3.25)
- •X1, x2,xn 0.
- •Задания для самостоятельной работы
- •3.8. Метод штрафных функций
- •4. Вариационное исчисление
- •4.1. Формула Эйлера-Лагранжа
- •4.2. Частные случаи формулы Эйлера
- •4.3. Обобщенная задача вариационного исчисления
- •4.4. Решение задач вариационного исчисления с ограничениями
- •4.5. Изопериметрическая задача
- •4.6. Функционалы, зависящие от производных высших порядков
- •Задание для самостоятельного решения
- •5. Оптимальное управление
- •5.1. Постановка задачи
- •5.2. Классификация задач оптимального управления
- •5.3. Принцип максимума Понтрягина
- •5.4. Задача о максимальном быстродействии
- •Задания для самостоятельного решения
- •Список литературы
- •Основы теории оптимизации в.А. Панов
2. Линейное программирование
К задачам линейного программирования относятся такие оптимизационные задачи, в которых и целевая функция и ограничения – линейный многочлен.
2.1. Стандартный вид задачи линейного программирования (злп)
В стандартном виде ЗЛП целевая функция минимизируется, ограничения имеют вид равенств:
(2.1)
{Переменные в задачах линейного программирования не отрицательны!}
Здесь aij, bi, pi – постоянные коэффициенты.
В этих задачах количество переменных больше или равно количеству ограничений-равенств: n≥m.
Если n m, то область допустимых решений – точка;
если n m, то область допустимых решений – многогранник;
если n m, то (m – n) ограничений линейно зависимы и их можно исключить.
2.2. Способы приведения задачи линейного программирования к стандартному виду
Случай 1. Исходные условия задачи: целевая функция минимизируется, ограничения представляют систему неравенств вида «меньше или равно».
Для приведения задачи к стандартному виду вводят искусственные переменные . Эти искусственные переменные прибавляют к левым частям ограничений:
(2.2)
Полученная задача тождественна исходной. Действительно, убрав искусственные переменные, получим левые части ограничений bi.
Случай 2. Исходные условия задачи: целевая функция минимизируется, ограничения имеют вид неравенств типа «больше или равно»:
Аналогично предыдущему случаю вводятся искусственные переменные, но эти переменные вычитаются из левых частей ограничений.
Случай 3. Исходные условия задачи: целевая функция максимизируется, ограничения имеют вид равенств.
Для приведения задачи к стандартному виду (2.1) сменим целевую функцию на целевую функциюG, все коэффициенты которой помножены на –1: Полученная задача тождественна исходной.
2.3. Графический метод решения задач линейного программирования
Графический метод применяется для решения задач небольшой размерности (количество переменных не превышает 3). Рассмотрим метод на примере решения следующей задачи:
(2.3)
Способ 1.
Ограничения-неравенства заменяются на ограничения-равенства:
Строятся графики полученных функций:
Рис. 2.1. Графический метод решения ЗЛП
Находится область допустимых решений (область, где выполняются все ограничения).
Строится график целевой функции при каком-либо значении правой части:
График целевой функции перемещается параллельно самому себе в сторону роста (уменьшения при Q min) целевой функции до касания с границей области допустимых решений. Граничная точка (или отрезок прямой) является решением задачи линейного программирования.
Находится решение: координаты граничной точки (точка А) и значение целевой функции в этой точке:
Выводы:
1. Область допустимых решений задачи линейного программирования представляет собой выпуклый многогранник.
2. Решение задачи линейного программирования находится на границе области допустимых решений.
Способ 2.
Пункты 1–3 выполняются аналогично Способу 1.
Подсчитываются значения целевой функции во всех вершинах допустимого многогранника.
, следовательно, точка – решение задачи.
Пример 1.
Способ 1.
Ограничения-неравенства заменяются на ограничения-равенства:
Строятся графики полученных функций:
Рис. 2.2.
3. Находится область допустимых решений (область, где выполняются все ограничения).
4. Строится график целевой функции при каком-либо значении правой части:
5. График целевой функции перемещается параллельно его начальному положению в сторону уменьшения целевой функции до касания с границей области допустимых решений.
Отрезок прямой АВ является решением задачи линейного программирования.
6. В ответе записываются функция, граничные точки отрезка и значение целевой функции на этом отрезке:
, ,
Способ 2.
1 – 3 пункты выполняются аналогично Способу 1.
Подсчитываются значения целевой функции во всех вершинах допустимого многогранника.
–в двух точках, следовательно, отрезок A B, соединяющий эти точки, является решением задачи.