- •В.А. Панов математические основы теории систем. Методы оптимизации
- •Содержание
- •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.6. Алгоритм двойственного симплекс-метода
1. Составление симплекс-таблицы как для обычного симплекс-метода.
2. Выбор разрешающей строки: среди отрицательных bi выбирается максимальный по модулю элемент.
3. Выбор разрешающего столбца: находят отношения коэффициентов целевой функции к отрицательным коэффициентам разрешающей строки и выбирают минимальное по модулю отношение.
4. Переход к новой симплекс-таблице; осуществляется аналогично обычному симплекс-методу.
5. Окончание решения, когда все bi не отрицательны.
Пример.
Решение.
Вводим искусственные переменные:
2. Смена знака:
3. Симплекс-таблица:
|
1 |
2 |
3 |
|
|
4 |
–1 |
0 |
–1 |
–1 |
|
5 |
–1 |
–1 |
1 |
–4 |
––– разрешающая строка |
|
10 |
10 |
14 |
0 |
|
разрешающий столбец
4. Новая симплекс-таблица:
|
5 |
2 |
3 |
|
|
4 |
–1 |
1 |
0 |
3 |
|
1 |
–1 |
1 |
1 |
4 |
|
|
10 |
0 |
4 |
–40 |
|
Правые части ограничений положительны, следовательно, найдено оптимальное решение.
Ответ: x1 = 4, x2 = 0, x3 = 0, x4 = 3, x5 = 0, Qmin = 40.
Задания для самостоятельной работы
1. f(x) = –3x1 + 2x2 – 2x3 + 2x4 – x5 → min, 2. f(x) = –6x1 – 8x2 → min,
1 + x 2 – x3 = 1, 2x1 + 5x 2 + x3 = 20,
– x2 + x3 + x4 = 1, 12x1 + 6x2 + x4 = 72,
x2 + x3 + x5 = 2, xj ≥ 0, j = 1,...4.
xj ≥ 0, j = 1,...5.
3. f(x) = –x1 – 4x4 → min, 4. f(x)= –34x1+x2+3x3–3x4→min,
–x1 – 2x 2 + 2x3 + x 4 + 5x5 = 13, 3x1 – 2x 2 + 3x3 +2 x 4 = 9,
– 2x1 + 2x2 + 4x4 + x5 = 5, x1 + 2x2 – x3 + x4 = 0,
x1 – x 2 + x3 – x 4 + 2x5 = 5, x1 – x 2 + 2x3 + x 4 = 6,
xj ≥ 0, j = 1,...5. –xj ≥ 0, j = 1,...4.
5. f(x) = –x1 + x2 + 2x3 – x4 → min, 6. f(x) = –3x1 + x3 – 2x4 → min,
x1 + x 2 + x3 + x 4 = 7, 15x1 + 2x 2 – 3x3 – 7x 4 + x5 = 4,
–3x1 + x2 + 2x3 + x4 = 6, 2x1 + x2 + x3 – 2x4 = 3,
2x1 + x 2 + x3 – x 4 = 2, x 3 + 5x4 + 2x5 = 7,
xj ≥ 0, j = 1,...4. xj ≥ 0, j = 1,...5.
7. f(x) = –x2 → min, 8. f(x) = 3x1 – 2x2 + x3 → min,
x1 + x 2 ≥ 1, 3x1 + x 2 – 2x3 = 2,
–x1 + x2 ≥ –1, 4x1 + 3x2 + 2x3 = 1,
2x 1 – x2 ≥ 0, x 3 + 5x4 + 2x5 = 7,
xj ≥ 0, j = 1, 2. xj ≥ 0, j = 1, 2, 3.
9. f(x) = –2x1 + x2 – x3 + x5 → min, 10. f(x)= –8x1 –2x2+5x3–15x4→min,
– 2x2 + x 4 + x5 = –3, –x1 + 3x 2 + x3 + 10x 4 ≤ 25,
x3 – 2x4 = 2, 2x1 + x2 + x3 + 5x4 ≤ 6,
x1 + 3x 2 – x 4 ≤ 5, 10x1 + 2x 2 + 2x3 – 5x 4 ≤ 26,
x1 + x2 ≥ –3, xj ≥ 0, j = 1,...4.
xj ≥ 0, j = 1,...5.
2.7. Целочисленное линейное программирование
Постановка задачи.
К задачам целочисленного линейного программирования относятся такие задачи линейного программирования, в которых имеется дополнительное ограничение на целочисленность переменных [3].
Область допустимых решений такой задачи – выпуклый многогранник, стороны которого проходят по координатной сетке с единичным шагом.
Если задачу целочисленного линейного программирования решить симплекс-методом, получить нецелочисленное решение, которое затем округлить до целочисленного, то решение может быть не оптимальным. Следовательно, требуются специальные методы решения таких задач.