Составление моделей двойственных задач линейного программирования

§8. Постановка двойственной задачи линейного программирования. Типы двойственных задач линейного программирования

Каждой ЗЛП можно определённым образом сопоставить некоторую другую задачу, называемую двойственной (или сопряжённой) по отношению к исходной задаче.

Рассмотрим пример, показывающий, как в реальной экономичес­кой ситуации появляются взаимно двойственные задачи линейного программирования [8]. На некотором предприятии после выполнения годового плана возник вопрос – как поступить с остатками сырья? У руководства и экономистов предприятия возникли два пути решения: либо продать остатки сырья какой-нибудь нуждающейся в нем организации (наиболее простой вариант), либо наладить из оставшегося сырья производство каких-то изделий на своем собственном оборудовании.

Для простоты будем считать, что имеются два вида сырья S1 и S2, остатки которого составляют соответственно и единиц. Из этого сырья можно наладить производство трех видов товаров: Т1, Т2, Т3. От реализации одной единицы каждого вида товара Т1, Т2, Т3 предприятие полу­чит прибыль соответственно , , у.е. Нормы расхода сырья на производство товаров Т1, Т2, Т3 вместе с данными о при­были и запасах представлены в следующей таблице, где означает, сколько единиц сырья расходуется на производство товара .

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

При исследовании второй возможности (наладить выпуск товаров Т1, Т2, Т3) возникает вопрос о плане выпуска товаров. План выпуска задается тремя числами , где – количество единиц товара , которое следует произвести ( ). Неизвестные должны удовлетворять системе ресурсных ограничений

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

Следо­вательно, чтобы наилучшим образом использовать вторую возможность, нужно решить задачу линейного программирования (8.1), (8.2).

Исследуем теперь первую возможность – продать сырье другой организации. Здесь возникает вопрос: по каким ценам продавать сырье? Обозначим эти цены , где – цена единицы сырья Si ( ).

Справедливое требование к ценам со стороны продающего пред­приятия состоит в следующем. Если взять сырье, идущее на изготов­ление единицы товара Тi ( ), то выручка от его продажи должна быть не меньше, чем прибыль от реализации готового изделия (в противном случае нет смысла продавать сырье – лучше изго­товить из него товар и получить за него прибыль). Это требование приводит к системе неравенств

Первое из написанных неравенств в системе (8.3) означает, что вы­ручка от продажи единиц сырья S1 и единиц сырья S2 (именно такое количество сырья расходуется на изготовление единицы товара T1) не мень­ше, чем прибыль, которую могло бы получить предприятие от про­дажи единицы товара T1, если бы оно отказалось от идеи продать сырье и занялось изготовлением из него товаров T1, T2, T3. Анало­гичный смысл имеют остальные два неравенства.

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

Читайте также:  Использование массивов в языках программирования

Итак, для оптимального использования первой воз­можности необходимо решить задачу линейного программирования (8.3), (8.4).

Для наглядности сопоставим формулировки двух задач:

Задача (8.1), (8.2) и задача (8.3), (8.4) в линейном программировании называются двойственными друг другу. При этом задачу (8.1), (8.2) называют прямой задачей.

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

Запишем эту задачу в матричном виде

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

Тогда соответствующая двойственная задача линейного программирования к прямой задаче (8.5) имеет вид

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

Определение 8.1. Пару прямой (8.5) и двойственной (8.6) ЗЛП называют симметричной.

Симметрические двойственные ЗЛП составляются в том случае, когда в системе ограничений прямой ЗЛП стоят только все знаки , или только все знаки .

Приведем алгоритм построения симметрических двойственных ЗЛП.

1) Каждому неравенству системы ограничений прямой ЗЛП (8.5) поставить в соответствие неотрицательную переменную (число управляющих переменных двойственной задачи равно числу функциональных ограничений прямой задачи).

2) В качестве коэффициентов целевой функции двойственной ЗЛП взять свободные члены системы ограничений прямой задачи.

3) Направление оптимизации (тип экстремума) целевой функции двойственной задачи противоположно направлению оптимизации целевой функции прямой задачи (если прямая задача была на максимум, то двойственная задача – на минимум, и наоборот).

4) Пусть – матрица коэффициентов системы ограничений прямой ЗЛП. Получить матрицу коэффициентов системы ограничений двойственной ЗЛП из матрицы транспонированием: . Число ограничений в системе ограничений двойственной ЗЛП равно числу переменных прямой ЗЛП.

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

6) В двойственной задаче на максимум задать знаки для всех неравенств-ограничений, в задаче на минимум – .

Пример 8.1. Построить двойственную ЗЛП для задачи

Решение. Матричная форма записи данной ЗЛП имеет вид (см. (8.5))

где – вектор-столбец коэффициентов целевой функции ,

– вектор-столбец управляющих переменных, – матрица коэффициентов при управляющих переменных, – вектор-столбец свободных членов.

Тогда соответствующая ДЗЛП запишется в виде (см. (8.6))

, где – вектор-столбец управляющих переменных двойственной задачи.

Рассмотрим ЗЛП канонического вида в матричном виде

Тогда соответствующая двойственная ЗЛП к (8.7) имеет вид

где – вектор-столбец управляющих переменных двойственной задачи, причем компоненты в общем случае произвольного знака (в том числе и отрицательного знака).

Определение 8.2. Пару прямой (8.7) и двойственной (8.8) ЗЛП называют несимметричной.

Определение 8.3. Пару прямой и двойственной ЗЛП называют смешанной, если система ограничений прямой задачи имеет как знаки строго равенства (знак =), так и знаки , .

Читайте также:  Водный стадион колледж программирования

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

Пример 8.2. Построить двойственную ЗЛП для задачи

Решение. Соответствующая ДЗЛП имеет вид

Источник

Решение двойственной задачи линейного программирования

Инструкция . Выберите количество переменных и количество ограничений прямой задачи линейного программирования, нажмите Далее . Полученное решение сохраняется в файле Word и Excel . При этом ограничения типа xi ≥ 0 не учитывайте. Если прямая задача ЛП не имеет решение, но требуется составить двойственную задачу или одна из переменных xi неопределена, то можно использовать этот калькулятор.

Определив обратную матрицу А -1 через алгебраические дополнения, получим:
Как видно из последнего плана симплексной таблицы, обратная матрица A -1 расположена в столбцах дополнительных переменных x4 , x5 , x6 .
Тогда Y = C*A -1 =
Оптимальный план двойственной задачи равен: y1 = 23.75, y2 = 12.5, y3 = 0
Z(Y) = 1100*23.75+120*12.5+8000*0 = 27625
Подставим оптимальный план прямой задачи в систему ограниченной математической модели:
0.1*250 + 0.2*5375 + 0.4*0 = 1100 = 1100
0.05*250 + 0.02*5375 + 0.02*0 = 120 = 120
3*250 + 1*5375 + 2*0 = 6125 < 8000 1-ое ограничение прямой задачи выполняется как равенство. Это означает, что 1-ый ресурс полностью используется в оптимальном плане, является дефицитным и его оценка согласно второй теореме двойственности отлична от нуля (y1>0).
2-ое ограничение прямой задачи выполняется как равенство. Это означает, что 2-ый ресурс полностью используется в оптимальном плане, является дефицитным и его оценка согласно второй теореме двойственности отлична от нуля (y2>0).
3-ое ограничение выполняется как строгое неравенство, т.е. ресурс 3-го вида израсходован не полностью. Значит, этот ресурс не является дефицитным и его оценка в оптимальном плане y3 = 0.
Таким образом, отличную от нуля двойственные оценки имеют лишь те виды ресурсов, которые полностью используются в оптимальном плане. Поэтому двойственные оценки определяют дефицитность ресурсов.
При постановке оптимальных двойственных оценок в систему ограничений двойственной задачи получим:
0.1*23.75 + 0.05*12.5 + 3*0 = 3 = 3
0.2*23.75 + 0.02*12.5 + 1*0 = 5 = 5
0.4*23.75 + 0.02*12.5 + 2*0 = 9.75 > 4
1-ое ограничение двойственной задачи выполняется как равенство. Это означает, что 1-ый ресурс экономически выгодно использовать, а его использование предусмотрено оптимальным планом прямой задачи (x1>0).
2-ое ограничение двойственной задачи выполняется как равенство. Это означает, что 2-ый ресурс экономически выгодно использовать, а его использование предусмотрено оптимальным планом прямой задачи (x2>0).
3-ое ограничение выполняется как строгое неравенство, т.е. ресурс 3-го вида использовать экономически не выгодно. И действительно в оптимальном плане прямой задачи x3 = 0.
Величина двойственной оценки показывает, на сколько возрастает значение целевой функции при увеличении дефицитного ресурса на единицу.
Например, увеличении 1-го ресурса на 1 приведет к получению нового оптимального плана, в котором целевая функция возрастает на 23.75 и станет равной: F(x) = 27625 + 23.75 = 27648.75
Проведем анализ устойчивости оптимального плана и оценим степень влияния изменения ресурсов на значение целевой функции.
Пусть каждое значение параметра целевой функции изменится на ∆ сi. Найдем интервалы, при которых будет экономически выгодно использование ресурсов.
1-ый параметр целевой функции может изменяться в пределах:

Читайте также:  Программирование пульта распашных ворот дорхан

-3.8 ≤ с1 ≤ 1
Таким образом, 1-параметр может быть уменьшен на 3.8 или увеличен на 1
Интервал изменения равен: [3-3.8; 3+1] = [-0.8;4]
Если значение c1 будет лежать в данном интервале, то оптимальный план не изменится. 2-ый параметр целевой функции может изменяться в пределах:

-10 ≤ b2 ≤ 30
Таким образом, 2-ый запас может быть уменьшен на 10 или увеличен на 30
Интервал изменения равен: [120-10; 120+30] = [110;150]
Составим субоптимальные варианты плана с учетом изменений исходных данных модели (таблицы).
Пусть 2-ый ресурс увеличили на 50

Базисные переменные Значение базисных переменных Коэффициент структурных сдвигов k c Произведение k c на (50) Расчет варианта плана
x 2 5375 6.25 312.5 5687.5
x 1 250 -2.5 -125 125
x 6 1875 1.25 62.5 1937.5
F(X) 27625 23.75 1187.5 28812.5
Пусть 1-ый ресурс уменьшили на -5
Базисные переменные Значение базисных переменных Коэффициент структурных сдвигов k c Произведение k c на (-5) Расчет варианта плана
x 2 5375 -12.5 62.5 5437.5
x 1 250 25 -125 125
x 6 1875 -62.5 312.5 2187.5
F(X) 27625 12.5 -62.5 27562.5
Задание : Для исходной задачи составить двойственную. Решить обе задачи симплексным методом или двойственным симплексным методом и по решению каждой из них найти решение другой. Одну из задач решить графическим методом.
F(X) = 3x1 + x2 → min
— 2x1 + x2≥4
2x1 + x2≤8
3x1 + 2x2≥6
Решение.
I этап. Приводим систему к каноническому виду.
II этап. Решаем симплекс-методом.
Примечание: Если задача решается данным калькулятором, то предыдущие два этапа пропускаем, поскольку они автоматически включены в решение.
На втором этапе окончательный вариант симплекс-таблицы имеет вид:
Базис B x1 x2 x3 x4 x5 x6 x7
x5 2 -7 0 -2 0 1 2 -1
x4 4 4 0 1 1 0 -1 0
x2 4 -2 1 -1 0 0 1 0
F(X3) 4 -5 0 -1 0 0 1-M -M

Так как в оптимальном решении отсутствуют искусственные переменные (они равны нулю), то данное решение является допустимым. Записываем оптимальный план:
x1 = 0, x2 = 4, F(X) = 1•4 = 4 Составим двойственную задачу к прямой задаче.
— 2y1 + 2y2 + 3y3≤3
y1 + y2 + 2y3≤1
4y1 + 8y2 + 6y3 → max
y1 ≥ 0, y2 ≤ 0, y3 ≥ 0
Используя последнюю итерацию прямой задачи найдем, оптимальный план двойственной задачи. Из теоремы двойственности следует, что Y = C*A -1 . Составим матрицу A из компонентов векторов, входящих в оптимальный базис.

Источник

Оцените статью
A = (A5, A4, A2) =