Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет МОР всё сразу.docx
Скачиваний:
125
Добавлен:
30.05.2015
Размер:
831.26 Кб
Скачать

3 Найдем матрицу Ат1, транспонированную к а1.

1 -2 1 1

-2 -3 0 -2

1 2 3 1

Ат1 = 3 1 0 -1

-2 -1 -4 1

------------------------------

6 -4 8 F

  1. Сформулируем двойственную задачу.

F = 6y1 - 4y2 + 8y3 => max

y1 - 2y2 + y3 < 1

-2y1 - 3y2 = -2

y1 + 2y2 + 3y3 < 1

3y1 + y2 = -1

-2y1 - y2 - 4y3 < 1

у2 ≥ 0, у3 ≥ 0; у1 не имеет ограничения знака.

4. Двойственный симплекс-метод

Двойственный симплекс-метод, как и симплекс-метод, используется при нахождении решения задачи линейного программирования, записанной в форме основной задачи, для которой среди векторов Pi , составленных из коэффициентов при неизвестных в системе уравнений, имеется m единичных. Вместе с тем двойственный симплекс–метод можно применять при решении задачи линейного программирования, свободные члены системы уравнений которой могут быть любыми числами (при решении задачи симплексным методом эти числа предполагались неотрицательными). Такую задачу и рассмотрим теперь, предварительно предположив, что единичными являются векторы т. е. рассмотрим задачу, состоящую в определении максимального значения функции

при условиях

(56)

Где

и среди чисел имеются отрицательные.

В данном случае есть решение системы линейных уравнений (55). Однако это решение не является планом задачи (54) – (56), так как среди его компонент имеются отрицательные числа.

Поскольку векторы единичные, каждый из векторов можно представить в виде линейной комбинации данных векторов, причем коэффициентами разложения векторовпо векторамслужат числа

Таким образом, можно найти:

На основе исходных данных составляют симплекс-таблицу, в которой некоторые элементы столбца вектора являются отрицательными числами. Если таких чисел нет, то в симплекс-таблице записан оптимальный план задачи (54) – (56), поскольку, по предположению, все. Поэтому для определения оптимального плана задачи при условии, что он существует, следует произвести упорядоченный переход от одной симплекс–таблицы к другой до тех пор, пока из столбца вектораP0 не будут исключены отрицательные элементы. При этом все время должны оставаться неотрицательными все элементы (т +1)–й строки, т.е. для любого

Таким образом, после составления симплекс-таблицы проверяют, имеются ли в столбце вектора Po отрицательные числа. Если их нет, то найден оптимальный план исходной задачи. Если же они имеются (что мы и предполагаем), то выбирают наибольшее по абсолютной величине отрицательное число. В том случае, когда таких чисел несколько, берут какое–нибудь одно из них: пусть это число bl. Выбор этого числа определяет вектор, исключаемый из базиса, т. е. в данном случае из базиса выводится вектор Pl. Чтобы определить, какой вектор следует ввести в базис, находим

, где

Пусть это минимальное значение принимается при j=r, тогда в базис вводят вектор Рr. Число является разрешающим элементов. Переход к новой симплекс–таблице производят по обычным правилам симплексного метода. Итерационный процесс продолжают до тех пор, пока в столбце вектораР0 не будет больше отрицательных чисел. При этом находят оптимальный план исходной задачи, а следовательно, и двойственной. Если на некотором шаге окажется, что в i–й строке симплекс–таблицы в столбце вектора Р0 стоит отрицательное число bi, а среди остальных элементов этой строки нет отрицательных, то исходная задача не имеет решения.

Таким образом, отыскание решения задачи двойственным симплекс-методом включает следующие этапы:

1. Находят псевдоплан задачи.

2. Проверяют этот псевдоплан на оптимальность. Если псевдоплан оптимален, то найдено решение задачи. В противном случае либо устанавливают неразрешимость задачи, либо переходят к новому псевдоплану.

3. Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектора Р0 и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m+1)–и строки к соответствующим отрицательным элементам разрешающей строки.

4. Находят новый псевдоплан и повторяют все действия начиная с этапа 2.

Пример. Найти максимальное значение функции

при условиях:

Решение. Запишем исходную задачу линейного программирования в форме основной задачи: найти максимум функции при условиях

Составим для последней задачи двойственную задачу. Такой является задача, в результате решения которой требуется найти минимальное значение функции

Строим симплекс таблицу:

Итерация 0:

Базис

Решение

Оценка

-7

2

0

0

0

0

1

1

1

0

0

5

2

-3

0

1

0

6

3

-3

-1

0

0

5

3

-

Условие допустимости выполняется, так как в графе «Решение» все значения положительные, но не выполняется условие оптимальности, так как -строка содержит отрицательный коэффициент. Продолжаем наши действия

Итерация 1:

Базис

Решение

0

9

7

0

0

35

1

1

1

0

0

5

0

-5

-2

1

0

-4

0

2

3

0

5

18

Данная симплекс-таблица не удовлетворяет условию допустимости, так как графа «Решение» содержит отрицательные значения, но удовлетворяет условию оптимальности, так как -строка не содержит отрицательных коэффициентов.

Итерация 2:

Базис

Решение

0

1

0

0

0

0

0

1

0

0

0

5

Полученная симплекс-таблица удовлетворяет и условию оптимальности и условию допустимости, так как она, во-первых, не содержит отрицательных коэффициентов в -строке, а, во-вторых, в графе «Решение» все значения положительные.

Таким образом, мы получили оптимальное, допустимое решение, которое имеет вид:

,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]