
- •Формы записи задачи линейного программирования (лп) (произвольная, симметричная, каноническая). Переходы от одной формы записи к другой.
- •Свойства решений задачи л.П. (основные теоремы и следствия).
- •Графический метод. Решения задачи лп.
- •Симплекс-метод (идея, условие оптимальности). Алгоритм симплекс-метода.
- •Метод искусственного базиса или м-задача (область применения метода, идея и алгоритм)
- •Двойственные задачи линейного программирования (Правила построения двойственных задач, теоремы двойственности).
- •Алгоритм двойственного симплекс-метода.
- •Целочисленное программирование. Особенности задач, не позволяющие использовать методы лп.
- •Транспортная задача. Метод потенциалов.
- •Транспортная задача на сети.
- •Нелинейное программирование(нп). Трудности, порожденные нелинейностью. Графический метод решения задач нелинейного программирования.
- •Классические методы оптимизации. Метод множителей Лагранжа.
- •Динамическое программирование. Метод функционального программирования. Задача распределения ресурсов.
- •Теория игр. Цена игры. Седловая точка игры.
- •Теория игр. Игра в смешанных стратегиях.
Алгоритм двойственного симплекс-метода.
Пусть имеем исходную задачу линейного программирования в канонической форме записи:
Двойственный симплекс-метод, или метод последовательного уточнения оценок, как и симплекс-метод, заключается в последовательном переходе от одного n-мерного вектора к другому. Однако в отличие от симплекс-метода эти последовательно получаемые векторы не обязательно удовлетворяют условию неотрицательности.
Двойственный симплекс-метод - это применение обычного симплекс-метода к двойственной задаче, дополненное построением на каждом шаге n-мерного вектора, являющегося почти допустимым опорным решением данной задачи.
Запишем двойственную задачу на основе исходной:
yi 0 (i = 1,…,m)
Алгоритм ее построения следующий:
в F-й строке находится положительное число, которому соответствует разрешающий столбец;
в выделенном столбце отыскивается положительное число и содержащая его строка берется разрешающей; если в выделенном столбце нет положительных чисел, то задача не имеет решения;
вычисляются двойственные модифицированные отношения элементов F-й строки соответственно к элементам разрешающей строки; отношение с наименьшей абсолютной величиной указывает разрешающий элемент.
Первый этап решения заканчивается, если все коэффициенты (за исключением, возможно, свободного элемента) отрицательны. На втором этапе за разрешающую принимается строка с наименьшим отрицательным свободным членом; разрешающий столбец определяется так же, как и на первом этапе.
Рассмотрим следующий пример: двойственным симплекс-методом решить задачу, двойственную исходной, и записать решение исходной:
Двойственная задача запишется в виде:
Условия двойственной задачи представим в симплекс-таблице:
БП |
1 |
-y1 |
-y2 |
-y3 |
-y4 |
y4 |
-8 |
-1 |
-1 |
5 |
-1 |
y5 |
-4 |
0 |
1 |
3 |
-6 |
y6 |
2 |
-2 |
0 |
-1 |
1 |
F |
0 |
-4 |
-3 |
10 |
-5 |
Разрешающий
элемент равен 5.
На место разрешающего элемента ставим обратный элемент (1/5)
Элементы разрешающей строки делим на разрешающий элемент (-8/5; -1/5; -1/5; -1/5). Элемент разрешающего столбца делим на разрешающий элемент с обратным знаком (3/-5 = -3/5; -1/-5 = 1/5; 10/-5 = -2). Остальные элементы вычисляем по формуле:
,
где h
– разрешающая строка; l
– разрешающий столбец.
Т.е. -4 -3 * (-8/5) =4/5; 2- (-1) *(-8/5) = 2/5; 0 – 3 * (-1/5) = 3/5; 0 – 10 * (-8/5) = 16; -2 –(-1) * (-1/5) = -11/5; -4 –10 * (-1/5) = -2; 1- 3 * (-1/5) = 8/5; 0- (-1) * (-1/5) = -1/5; -3 –10 * (-1/5) = -1; -6 –3 * 1/5 = -27/5; 1- (-1) * (-1/5) = 4/5; -5 –10 * (-1/5) = -3.
Свободную и базисную переменную меняем местами (переменная y3 перейдет в базисную переменную вместо -y5). В F-строке условие критерия оптимальности выполняется (все элементы отрицательные), однако в столбце свободных членов имеются отрицательные элементы, следовательно, полученное решение недопустимо. Составляем следующую симплекс-таблицу:
БП |
1 |
-y1 |
-y2 |
-y5 |
-y4 |
y3 |
-8/5 |
-1/5 |
-1/5 |
-1/5 |
-1/5 |
y5 |
4/5 |
3/5 |
8/5 |
-3/5 |
-27/5 |
y6 |
2/5 |
-11/5 |
-1/5 |
1/5 |
4/5 |
F |
16 |
-2 |
-1 |
-2 |
-3 |
БП |
1 |
-y1 |
-y3 |
-y5 |
-y4 |
y2 |
8 |
1 |
-5 |
-1 |
1 |
y5 |
-12 |
-1 |
8 |
1 |
-7 |
y6 |
2 |
-2 |
-1 |
0 |
1 |
F |
24 |
-1 |
-5 |
-3 |
-2 |
В табл. вторая строка разрешающая. Определим наименьшее двойственное отношение по модулю:
БП |
1 |
-y1 |
-y3 |
-y5 |
-y6 |
y2 |
44/7 |
6/7 |
-27/7 |
-6/7 |
1/7 |
y5 |
12/7 |
1/7 |
-8/7 |
-1/7 |
-1/7 |
y4 |
2/7 |
-15/7 |
1/7 |
1/7 |
1/7 |
F |
192/7 |
-5/7 |
-51/7 |
-23/7 |
-2/7 |
Оптимальное решение двойственной задачи у* = (0; 44/ 7; 0; 12/ 7; 0; 0; 2/ 7); F = 192/ 7. Числа F- строки—значения переменных оптимального плана исходной задачи. С учетом соответствия между переменными
y1 x4
y2 x5
y3 x6
y4 x7
y5 x1
y6 x2
y7 x3
можно записать решение исходной задачи, взяв элементы F-строки с противоположным знаком:
х* = (23/7; 2/7; 0; 5/7; 0; 5/7; 0). В соответствии с теоремой 1(билет 7) значение целевой функции исходной задачи
f = 192/ 7.
Пример2 (этот пример был в тетрадке, он решен обычным симплекс-методом, т.к. в F-строке нет положительных элементов): Построить двойственную задачу, решить одну из них и записать решение другой задачи, если исходная задача имеет вид
Решение. Двойственная задача запишется в виде
Составляем симплекс-таблицу:
БП |
1 |
-y1 |
-y2 |
-y3 |
y4 |
-14 |
-2 |
-3 |
-2 |
y5 |
-6 |
-1 |
-3 |
-1 |
y6 |
-22 |
-6 |
-9 |
-2 |
F |
0 |
-12 |
-27 |
-6 |
Замечание: Если в F – строке есть положительный элемент, а в соответствующей строке нет положительных элементов, то система несовместна.
Рассматриваем столбец свободных членов. Находим мах по модулю отрицательный элемент. Эта строка разрешающая(она выделена серым цветом). Элементы F – строки делим на элементы разрешающей строки, если они одного знака:
(-12/-6=2, -27/-9=3, -6/-2=3).
Среди этих элементов выбираем min:(он равен 2(-12/-6=2)). Столбец, в котором находится этот min элемент является разрешающим (он выделен серым цветом). Разрешающий элемент находится на пересечении разрешающей строки и разрешающего столбца.
БП |
1 |
-y1 |
-y2 |
-y3 |
y4 |
-14 |
-2 |
-3 |
-2 |
y5 |
-6 |
-1 |
-3 |
-1 |
y6 |
-22 |
-6 |
-9 |
-2 |
F |
0 |
-12 |
-27 |
-6 |
, где h – разрешающая строка; l –разрешающий столбец.
!!! Т.е. –14 - (-2) * -22/-6 = -14 + 22/3 = -20/3; -6 –(-1) * -22/6 = -6 + 22/6 = -7/3; 0 – (-12) * -22/6 = 44; -3 – (-2) * -9/-6 = 0;
-3 – (-1) * -9/-6 = -3/2; -27 – (-12) * -9/-6 = -9; -2 – (-2) * -2/-6 = -4/3; -1 – (-1) * -2/-6 = -2/3; -6 – (-12) * -2/-6 = -2.
БП |
1 |
-y6 |
-y2 |
-y3 |
y4 |
-20/3 |
-1/3 |
0 |
-4/3 |
y5 |
-7/3 |
-1/6 |
-3/2 |
-2/3 |
y1 |
11/3 |
-1/6 |
3/2 |
1/3 |
F |
44 |
-2 |
-9 |
-2 |
(т.е. –2/(-1/3) = 6; -2/(-4/3 = 3/2)). Среди этих элементов выбираем min отношение. Столбец, в котором находится это min отношение становится разрешающим (выделено серым цветом). На место разрешающего элемента ставим обратный элемент (-3/4). Свободную переменную и базисную меняем местами. Элемент разрешающей строки делим на разрешающий элемент (т.е. –20/3 делим на –4/3 получаем 5; -1/3 : -4/3 = 1/4; 0 : -4/3 = 0), а элемент разрешающего столбца делим на разрешающий элемент с обратным знаком (-2/3 : 4/3 = -1/2; 1/3 : 4/3 = 1/4; -2 : 4/3 = -3/2). Остальные элементы вычисляем по той же формуле.
БП |
1 |
-y6 |
-y2 |
-y4 |
y3 |
5 |
1/4 |
0 |
-3/4 |
y5 |
1 |
0 |
-3/2 |
-1/2 |
y1 |
2 |
-1/4 |
3/2 |
1/4 |
F |
54 |
-3/2 |
-9 |
-3/2 |
Ответ: У* = (2; 0; 5; 0; 1; 0); F = 54.
Установим соответствие между переменными пары двойственных задач. Приводя задачи к канонической форме, будем иметь системы ограничений исходной и двойственной задач, содержащие одинаковое число переменных. В нашем случае таких переменных будет шесть. Дополнительные переменные x4, x5, x6 исходной задачи соответствуют свободным переменным двойственной задачи, т. е.
y1 x4
y2 x5
y3 x6
Аналогично дополнительные переменные y4, y5, y6 двойственной задачи соответствуют свободным переменным исходной задачи, т. е.
y4 x1
y5 x2
y6 x3
C учетом соответствия между переменными и теоремы 1(билет 7) решение двойственной задачи записываем так:
X* = (3/2; 0; 3/2; 0; 9; 0). Оптимальное значение целевой функции равно f = 54.