Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Матем.моделир.2007 редакция1.doc
Скачиваний:
6
Добавлен:
18.04.2019
Размер:
1.35 Mб
Скачать

Раздел 7 Теоремы двойственности, их применение

Оптимальные значения и оптимальные решения взаимно-двойственных задач тесно связаны друг с другом. Эти связи описываются в теоремах двойственности. Разъясним их на примере задачи торга, рассмотренной выше. Для этого решим симплекс-методом двойственную задачу. Всех деталей мы приводить не будем; отметим только, что сначала мы заменяем неравенства-ограничения равенствами с помощью введения двух дополнительных переменных и :

На первом шаге дополнительные переменные берём в качестве базисных, затем выполняем шаги как было рассмотрено выше; и, наконец, на последнем шаге базисными оказываются переменные и , а свободными – . При этом целевая функция выражается через свободные переменные последнего шага так:

, (7.1)

а соответствующее базисное решение имеет вид:

. (7.2)

В силу неотрицательности всех коэффициентов при переменных в формуле (7.1) мы заключаем, что базисное решение (7.2) является оптимальным с оптимальным значением .

Это оптимальное значение в точности совпадает с оптимальным значением исходной задачи (2.1)-(2.2). Совпадение это не является случайным, а имеет место всегда, как утверждает

Теорема (первая теорема двойственности). Если для одной из взаимно-двойственных задач существует оптимальное решение, то и для двойственной ей задачи оптимальное решение имеется; при этом оптимальные значения целевых функций совпадают. Если целевая функция одной из задач не ограничена (в соответствующую сторону), то ограничения двойственной ей задачи несовместны.

Таким образом, найдя оптимальное значение для одной из взаимно-двойственных задач, мы автоматически узнаём оптимальное значение для другой.

Оказывается, что и оптимальное решение задачи линейного программирования мгновенно находится, если мы решили (симплекс-методом) двойственную ей задачу. Рассмотрим это явление на примере пары взаимно-двойственных задач (2.1)-(2.2) и (6.1)-(6.2). Заметим, что после введения дополнительных переменных и перехода к ограничениям-равенствам в обеих задачах мы имеем по 5 переменных: , , .., и , , .. . Обратите внимание, что в первой задаче мы имеем две первоначальные переменные и три дополнительные, а во второй наоборот – три первоначальные и две дополнительные. Поэтому естественным образом возникает следующее соответствие между переменными наших двух задач:

переменные задачи (2.1)-(2.2)

первоначальные

дополнительные

дополнительные

первоначальные

переменные задачи (6.1)-(6.2)


(7.3)

Подпишем теперь соответственно выше и ниже этих переменных их значения для оптимальных решений обеих задач и сопоставим эту картинку с выражениями целевых функций через свободные переменные на последнем шаге симплекс-метода для соответствующей задачи (в этих выражениях мы переставили (для наглядности) слагаемые и добавили формально базисные переменные с нулевыми коэффициентами):

(3, 3, 0, 0, 1)

(0, 0, , , 0)


(7.4)

Таблица (7.4) ясно и наглядно иллюстрирует следующее общее свойство:

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

Формулировка этой теоремы неизбежно тяжеловата, но для её понимания надо просто внимательнее изучить пример в таблице (7.4).

Из первой и второй теорем двойственности ясно, что, решая симплекс-методом одну из двух взаимно-двойственных задач, мы автоматически получаем оптимальное значение и оптимальное решение для другой. А отсюда и возможное практическое применение: если нам необходимо решить задачу линейного программирования, то бывает, что проще решить двойственную ей задачу (например, если для двойственной задачи возможно графическое решение из разд. 3), а затем по описанному рецепту автоматически найти решение исходной нашей задачи. Данные способ носит название двойственного симплекс-метода.

В завершение данного раздела рассмотрим третью теорему двойственности. Для этого ещё раз обратимся к задаче на оптимальное использование ресурсов (2.1)-(2.2). Разумно рассмотреть более общую задачу, когда доступные нам ежесуточно объёмы ресурсов могут меняться от квартала к кварталу или от года к году. Разумеется, можно каждый раз при таком изменении заново решать задачу линейного программирования. Но оказывается, что применение двойственной задачи позволяет избежать этого, по крайней мере, при небольших изменениях объёмов ресурсов. В самом деле, предположим, что мы решили исходную задачу (2.1)-(2.2) двойственным симплекс-методом, получив выражение (6.1) и оптимальное решение (6.2). Теперь рассмотрим обобщённую задачу типа (2.1)-(2.2), в которой доступные ежесуточно объёмы сырья , , составляют единиц соответственно. Будем считать, что ; где величины − небольшие.

Будем решать обобщённую задачу также двойственным симплекс-методом. Заметим, что при этом допустимое множество в двойственной задаче будет тем же самым, и только целевая функция изменится на следующую (см. таблицу (6.3)):

(7.5)

В силу наглядных геометрических соображений графического метода (для теоретических рассмотрений он годится для любого числа переменных и выглядит практически так же как в разд. 3) ясно, что для небольших оптимальное решение будет тем же самым, а именно (7.2): . Следовательно, оптимальное значение , равное по первой теореме двойственности , имеет вид

= = (7.6)

Рассматривая максимальную прибыль в обобщённой задаче (2.1)-(2.2) как функцию доступных объёмов сырья , мы приходим в силу (7.6) к формулировке третьей теоремы двойственности:

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

Например, если мы хотим узнать, насколько изменится максимальная прибыль на нашем заводе из задачи (2.1)-(2.2) при увеличении запаса сырья на небольшую величину , мы находим

. (7.7)

Формулы вида (7.7) «работают» только при небольших . Диапазоны значений , для которого эти формулы применимы, можно явно вычислить. Для этого необходимо заменить в (7.5) базисные переменные последнего шага симплекс-метода их выражения через свободные переменные этого шага, привести подобные члены и записать условия неотрицательности получившихся коэффициентов при свободных переменных (именно в этом случае соответствующее базисное решение (7.2) по-прежнему будет оптимальным и, стало быть, формулы (7.7) будут применимы). Соответствующие вычисления мы предлагаем читателям для самостоятельной работы (или см. [1], стр. 118-120).