Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга по моделированию.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.55 Mб
Скачать

4.5 Двойственность в линейном программировании

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

Двойственная задача — это вспомогательная задача линейного программирования, получаемая с помощью определенных правил непосредственно из условий исходной. Сформулируем правила построения двойственных задач:

  1. Если целевая функция f исходной задачи максимизируется, то целевая функция z двойственной — минимизируется, и наоборот.

  2. Количество ограничений (m) исходной задачи равно количеству переменных двойственной, а количество переменных (n) исходной равно количеству ограничений двойственной. Переменные двойственной задачи обозначим через .

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

  4. Каждой переменной неограниченной по знаку, соответствует ограничение вида «=» двойственной задачи, и наоборот.

  5. Свободные члены ограниченной исходной задачи в двойственной являются коэффициентами при переменных в целевой функции, а коэффициенты при переменных в целевой функции исходной задачи являются свободными членами ограничений двойственной.

  6. Матрица А коэффициентов при неизвестных в ограничениях исходной задачи в двойственной транспонируется .

Для наглядности связь между исходной и двойственной задачами представлена в таблице 16.

Таблица 16

Исходная задача

Двойственная задача

Максимизация f

Количество ограничений m

Переменные

xj ³0

i-е ограничение вида «£»

хj не ограничено по знаку

i-е ограничение вида «=»

Свободные члены ограничений bi

Коэффициенты при xj в целевой функции (cj)

Матрица коэффициентов при неизвестных в ограничениях (А)

Минимизация z

Количество ограничений n

Переменные

j-е ограничение вида «³»

yi ³0

j-е ограничение вида «=»

не ограничено по знаку

Коэффициенты при yi в целевой функции (bi)

Свободные члены ограничений (cj)

Транспонированная матрица коэффициентов при неизвестных в ограничениях (AT)

Рассмотрим в общем виде одну из частных задач линейного программирования, которую будем считать исходной:

Двойственная к этой задаче будет иметь вид:

Если применить правила построения двойственных задач, то получим исходную задачу.

В таблице 17 приведены частные виды исходных задач линейного программирования в матричном виде и соответствующие им двойственные задачи. Через обозначена матрица — строка неизвестных двойственной задачи.

Матрица-строка Y умножается слева на матрицу — столбец В (в целевой функции) и матрицу А (в ограничениях), исходя из правил умножения двух матриц, а также правил построения двойственных задач (в частности, в двойственной задаче матрица коэффициентов при неизвестных в ограничениях должна быть транспонированной).

Первые две пары взаимно двойственных задач в таблице 17 называются симметричными, вторые две — несимметричными из-за наличия ограничений вида «=».

Используя правила построения двойственных задач и таблицу 11, для любой задачи линейного программирования можно построить двойственную к ней.

Таблица 17

Исходная задача

Двойственная задача

I

f=CX®max

AX≤B

X≥0

z=YB→min

YA≥C

Y≥0

Симметричные задачи

II

f=CX→min

AX≥B

X≥0

z=YB→max

YA≤C

Y≥0

III

f=CX®max

AX=B

X≥0

z=YB→min

YA≥C

Несимметричные задачи

IV

f=CX→min

AX=B

X≥0

z=YB→max

YA≤C

Пример: Построить задачу, двойственную к данной:

Чтобы построить двойственную задачу, исходную необходимо привести к форме (I) путем умножения обеих частей второго ограничения на (–1). После этого преобразования исходная задача примет вид:

Двойственная задача:

Пример: Построить задачу, двойственную к данной:

Для построения двойственной задачи воспользуемся формами (II), (IV) и преобразуем данную задачу путем умножения обеих частей второго неравенства на (–1). Тогда исходная задача будет иметь вид:

Двойственная задача:

Используя пример, поясним некоторые правила построения двойственных задач. Поскольку количество ограничений исходной задачи m=3, двойственная задача должна иметь три переменные: Количество переменных исходной задачи n=4, поэтому двойственная должна иметь четыре ограничения. Переменные x1 и x4 исходной задачи не ограничены по знаку. В силу этого первое и четвертое ограничения двойственной задачи имеют вид равенств. Третье ограничение исходной задачи имеет вид равенства, следовательно, переменная y3 двойственной задачи не ограничена по знаку.

Контрольные вопросы и упражнения

  1. Что представляет собой двойственная задача линейного программирования?

  2. В чем отличие симметричных задач двойственной пары от несимметричных?

  3. Постройте задачи, двойственные к данным:

  1. Дайте экономическую интерпретацию задачи, двойственной к задаче использования ресурсов.

  2. Какая задача из пары взаимно двойственных задач может быть принята в качестве исходной и какая в качестве двойственной? Какие задачи на практике считают двойственными?

  3. С какими вариантами решений можно столкнуться при исследовании задач двойственной пары?

  4. Доказано, что при существовании допустимых планов у исходной и двойственной задач исходная задача имеет оптимальный план. Докажите существование оптимального плана у двойственной задачи при тех же условиях.

  5. Постройте задачу, двойственную к данной:

Решите исходную и двойственную задачи графическим методом.

9. Постройте задачи, двойственные к данным:

Решите исходную и двойственную задачи графическим методом. Проанализируйте результаты решения для каждой пары задач.

10. Как по решению исходной задачи найти решение двойственной и наоборот?