
- •Введение
- •1. Основные понятия и определения
- •1.1. Оптимизационная задача
- •1.2. Допустимое решение
- •1.6.1. Частные критерии
- •1.6.2. Обобщенные критерии
- •Минимаксные критерии
- •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. Целочисленное линейное программирование
- •Алгоритм метода сечения Гомори:
- •3. Нелинейное программирование
- •3.1. Методы поиска безусловного экстремума функции одной переменной
- •3.1.1. Аналитический метод
- •3.1.2. Численные методы
- •3.1.2.1. Основные понятия и определения
- •3.1.2.2. Метод ненаправленного поиска
- •3.1.2.3. Методы направленного поиска
- •3.2.Графический метод решения задач нелинейного программирования
- •3.3. Задачи дробно-линейного программирования
- •3.4. Методы поиска безусловного экстремума функции многих переменных
- •3.4.1. Аналитический метод
- •3.4.2. Численные методы
- •3.4.2.1. Метод покоординатного спуска
- •3.4.2.2. Метод наискорейшего спуска
- •3.5. Решение задач нелинейного программирования с ограничениями – равенствами. Метод неопределенных множителей Лагранжа
- •3.6. Задачи квадратичного программирования
2.6. Алгоритм двойственного симплекс метода
1. Составление симплекс-таблицы как для обычного симплекс-метода.
2. Выбор разрешающей строки: среди отрицательных bi выбирают максимальный по модулю элемент.
3. Выбор разрешающего столбца: находят отношения коэффициентов целевой функции к отрицательным коэффициентам разрешающей строки и выбирают минимальное по модулю отношение.
4. Переход к новой симплекс-таблице: осуществляют аналогично обычному переходу в симплекс-методе.
5.Окончание решения, когда все bi не отрицательны.
Пример 2.5.
x1
+ x3
1,
x1 + x2 - x3 4,
x1, x2 , x3 0.
Q = 10 x1 + 10 x2 + 14 x3 min .
Решение
1. Вводим искусственные переменные:
x1
+ x3
- x4
= 1,
x1 + x2 - x3 - x5 = 4.
2. Меняем знак:
-x1
- x3
+ x4
= -1
-x1 - x2 + x3 + x5 = -4 .
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, Q min = 40.
2.7. Целочисленное линейное программирование
К задачам целочисленного линейного программирования относятся такие задачи линейного программирования, в которых имеется дополнительное ограничение: все переменные – целого типа.
Область допустимых решений такой задачи – выпуклый многогранник, стороны которого проходят по координатной сетке с единичным шагом.
Если задачу целочисленного линейного программирования решить симплекс-методом, получить нецелочисленное решение, которое затем округлить до целочисленного, то решение может быть не оптимальным. Следовательно, требуются специальные методы решения таких задач.
Рассмотрим один из таких методов – метод сечения Гомори.
Сущность метода:
1. Решается задача линейного программирования без требования целочисленности. Получается решение:
xi
= xi,
i = 1, n.
2. Полученное решение проверяется на целочисленность. Если xi– целые числа, то задача решена, если нет – выполняются следующие действия:
– от допустимого многогранника отсекается часть площади; точка с координатами xi должна попасть в отсекаемую область (рис. 2.2) (математически это отсечение обозначает введение дополнительного ограничения);
– решается задача с количеством ограничений, увеличенным на единицу.
х2
хi
х1
Рис. 2.2. Метод сечения Гомори
Получение дополнительного ограничения.
Введем следующие обозначения: Х – целая часть Х, Х Х .
Например, 4,2 = 4, -4,2 = -5.
Х - дробная часть Х, Х = Х - Х , Х 0.
Предположим, имеется задача линейного программирования, приведенная к каноническому виду:
Q = P1 x1 + P2 x2 + + Pn xn min,
a11
x1
+
a12
x2
+
+ a1n
xn
+ xn+1
= b1,
a21 x1 + a22 x2 + + a2n xn + xn+2 = b2,
(2.15)
am1 x1 + am2 x2 + + amn xn + xn+m = bm,
х i 0.
Выразим базисные переменные через свободные:
n
xn+i = bi - aij xj , i = 1, , m . (2.16)
j=1
В этом выражении хi должны быть целыми. Преобразуем (2.16):
n n n n
xn+i = bi + bi - aij xj - aijxj = bi - aij xj + bi - aijxj, (2.17)
j=1
j=1
j=1
j=1
L1 L2
L1 всегда целочисленное, L2 в общем случае может быть не целочисленным, но для данной задачи L2 должно принимать следующие значения: 0, -1, -2, , т. е.
L2 0, (2.18)
n
bi - aijxj 0. (2.19)
j=1
Преобразуем ограничения-неравенства (2.19) в ограничения-равенства:
n
xl - aijxj = -bi. (2.20)
j=1
Последнее ограничение и является искомым дополнительным ограничением. В качестве l-й берется та строка симплекс-таблицы, которая имеет максимальную дробную часть коэффициента bi.