Двойственная задача линейного программирования
Время на прочтение
9 мин
Количество просмотров 27K
Обычно с задачей линейного программирования (ЗЛП) связана другая линейная задача, называемая двойственной. Обе эти задачи можно считать двойственными одну по отношению к другой, считать равносильными. Первая задача называется обычно исходной, или прямой, другая — обратной. Переменные, используемые в двойственной задаче называются двойственными или множителями Лагранжа. На них не накладывается ограничений по знаку. Рассматриваются двойственные критерии оптимальности. Специальные случаи называют симметричными двойственными задачами линейного программирования. Связь между оптимальными решениями двойственных задач устанавливается теоремой двойственности.
Теорема двойственности
Важнейшие свойства пары двойственных задач математического программирования сформулированы в трех основных теоремах.
Теорема двойственности
Допустимый вектор решения прямой задачи программирования оптимален тогда и только тогда, когда существует такой допустимый вектор решения двойственной задачи, что целевые функции прямой и двойственной задачи равны. Допустимый вектор двойственной задачи оптимален тогда и только тогда, когда существует допустимый вектор прямой задачи и целевые функции обеих задач равны.
Теорема существования решения
Если существуют допустимые векторы решений прямой и двойственной задач, то обе задачи имеют оптимальные векторы. Если одна из двух задач не имеет допустимого вектора, то ни одна из них не имеет оптимального вектора решения.
Теорема (принцип) дополняющей нежесткости
-
Если (xQ , xL) – оптимальное решение прямой задачи, а (yQ, yL) – решение двойственной задачи, то (xQ , xL, yQ , yL) – решение задачи Лагранжа. В частности, в этом случае удовлетворяются соотношения между переменными прямой и двойственной задач и условия дополняющей нежесткости.
-
Оптимальное решение прямой задачи программирования получается только при одном значении xQ. Это справедливо и для переменной yQ в двойственной задаче.
Теоремы двойственности
Основное неравенство двойственности. Для любых допустимых решений Х<n> и Y<n>пары двойственных ЗЛП имеет место неравенство
Экономически это означает, что для любого допустимого плана производства и любого дополнительного вектора оценок ресурсов (на складе) стоимость изготовленного продукта не превосходит оценки ресурсов.
Теорема существования (малая тероема двойственности)
Чтобы прямая и двойственная задачи имели opt решения, необходимо и достаточно, чтобы существовали допустимые решения для каждой из них.
Теорема 1 двойственности.
Если одна из пары двойственных задач имеет opt решение, то и другая его имеет. Причем экспериментальные решения их целевых ф. равны; если же ЦФ одной из задач не ограничена, то система ограничений другой противоречива. Интерпретация: оптимальное использование ресурсов – opt план. Суммарная оценка ресурсов = оценке продукта полученного при opt плане. Любой другой план не рентабелен. Cj – стоимость единицы продукции (внешняя оценка) yi – стоимость единицы ресурса (внутренняя оценка). Эти двойственные оценки выступают как инструменты балансирования затрат и результатов. Имеет место xj <-> ym +j ; xn+i <-> yi.
Теорема 2 двойственности (о дополняющей нежесткости)
Для того, чтобы допустимые решения X и Y пары двойственных задач были оптимальными, необходимо и достаточно выполнить условия:
То есть, если какое-либо ограничение одной ЗЛП обращается ее opt планом в строгое равенство, то соответствующая переменная двойственной задачи в ее opt плане равна нулю; если же какая-либо переменная opt-го решения одной ЗЛП положительна, то соответствующее ограничение в двойственной ЗЛП ее opt планом обращается в точное равенство.
Теорема Кёнига хорошо иллюстрирует использование принципа двойственности ЗЛП.
Формулирование теоремы. Максимальное число попарно неколлинеарных единиц любой булевой матрицы равно минимальному числу линий, покрывающих все единицы матрицы.
Доказательство. Для нахождения максимального числа попарно неколлинеарных единиц булевой матрицы достаточно сформулировать и решить линейную задачу:
Минимальное число линий, покрывающих все единицы матрицы [Cij], найдем, решив линейную задачу:
Оптимальному решению (u*i, v*j) последней задачи отвечает минимальное покрытие, состоящее из множества строк I, для которых u*i = 1 и столбцов J, для которых u*j =1.
Матрицы А и АТ коэффициентов (*), (**), (***) являются абсолютно унимодулярными, как матрицы двудольного графа. Поэтому условия целочисленности переменных заменяем на условие их неотрицательности, и тогда получаем пару двойственных задач линейного программирования и согласно теореме двойственности имеем:
Линией матрицы называется ее строка или столбец. Два элемента матрицы называются неколлинеарными, если они не лежат на одной линии.
Матрица называется абсолютно унимодулярной, если все ее ненулевые миноры равны 1, либо -1.
Следствие. Матрица инциденций неориентированного графа G абсолютно унимодулярна тогда и только тогда, когда G – двудольный граф. В двудольном графе все простые циклы имеют четкую длину
Принцип двойственности в задачах линейного программирования.
Предположим, что руководство предприятия из анализа конъюнктуры рынка продукции приняли решение: производство сократить, а от запасов сырья избавиться, (продать на рынке) и при этом не нанести себе убытков.
С этой целью руководство должно назначить стоимости yi за единицу сырья вида Si, стремясь при этом минимизировать общую стоимость сырья (чтобы быстрее продать сырье): Ф = Σ4i=1 biyi
Выручка предприятия от продажи сырья, расходуемого на единицу продукции Пi, составит: Σ4i=1 aij yi
И по условию она не должна быть меньше Сj (в противном случае предприятию выгоднее не продавать сырье, а использовать его для нужд производства, выпуска продукции).
Сформулируем исходную и двойственную задачи:
Обе задачи по отношению друг к другу называются двойственными или сопряженными. Анализ таблицы позволяет сделать выводы:
-
Если первая задача сформулирована на поиск максимума, то вторая формулируется на поиск минимума линейной функции.
-
Коэффициенты ЦФ первой задачи являются свободными членами системы ограничений второй.
-
Свободные члены системы ограничений первой задачи являются коэффициентами линейной системы во второй задаче.
-
Матрица коэффициентов второй задачи является транспонированной к матрице коэффициентов ограничений первой задачи.
-
Знаки неравенств в ограничениях второй задачи противоположны знакам неравенств в ограничениях первой задачи.
Оптимальный план Xopt<n> одной из задач тесно связан с оптимальным планом Yopt<n> другой. Если одна из задач имеет решение, то другая также разрешена, причем для оптимальных клонов Xopt<n> =<x1, x2,…xn> и Yopt<m> =<y1, y2,…ym> справедливо равенство Q( Xopt ) =Q’( Yopt ). Если линейная форма одной из задач неограниченна, то условия другой задачи несовместны. Если A-1 обратная матрица к матрице В, состоящей из векторов базиса оптимального плана исходной задачи, то оптимальный план двойственной задачи равен Yopt<m> =СВ -1, здесь С – вектор базисных переменных. Решение двойственной задачи получается в последней симплексной таблице исходной задачи, в (m+1) строке, в столбцах, соответствующих дополнительным параметрам.
Для того чтобы векторы Xopt<n> =<x1, x2,…xn> и Yopt<m> =<y1, y2,…ym> были решениями пары задач, необходимо и достаточно, чтобы их компоненты удовлетворяли следующим условиям:
Эти условия называют принципом дополняющей нежесткости. Если исходная (прямая) задача задана в канонической форме, то двойственная к ней называется несимметричной. Для несимметричной двойственной задачи соблюдается условие yi ≥ 0.
Теория ЗЛП доказывает, что компоненты оптимальных планов взаимно двойственных задач, приведенных к каноническому виду, соответствуют одни другим. То есть базисные переменные основной задачи соответствуют свободным переменным двойственной задачи и наоборот, j = 1(1)n, x*j y*m +j ; x*n+i y*i ; i = 1(1)m.
Размерности в табличке m и n берутся в задаче для y-ков записанной в канонической форме.
Пример. Двойственный симплекс метод.
Исходная задача. Имеется три вида продуктов Пj, причем единица веса каждого из видов продуктов содержит aij единиц (питательных веществ). Для нормальной жизнедеятельности человек должен потреблять не менее bi единиц вещества Bi в сутки. Стоимость единицы продукта Пj равняется Cj. Требуется составить оптимальный суточный рацион питания, т.е. найти количество xj продукта, которое должен потреблять человек, чтобы стоимость питания была бы минимальной, если известно, что
такие значения его компонентов xj, j = 1(1)3, которые минимизируют целевую функцию (Ц) Q = 3x1 + 2x2 + x3 и удовлетворяют ограничениям неравенствам
0,3x1 + 0,2x2 + 0, 4x3 ≥ 0,2;
0,4x1 + 0,3x2 + 0,45x3 ≥ 0,5;
0,2x1 + 0,3x2 + 0, 1 x3 ≥ 0,6;
0,1x1 + 0,2x2 + 0,05x3 ≥ 0,1;
xj ≥ 0; j = 1(1)3 = n
Для приведения задачи к каноническому виду введем дополнительные переменные x4, x5, x6, x7, переменных стало больше чем уравнений n – m = 7 – 4 = 3, следовательно, части из них (трем любым,) для получения решения можно задать произвольные значения (задают, как правило, нулевые значения), возникает число сочетаний из n по m вариантов. Система ограничений примет вид равенств
0,3x1 + 0,2x2 + 0,4x3 – x4 = 0,2;
0,4x1 + 0,3x2 + 0,45x3 – x5 = 0,5;
0,2x1 + 0,3x2 + 0,1x3 – x6 = 0, 6;
0,1x1 + 0,2x2 + 0,05x3 – x7 = 0, 1;
xj ≥ 0; j = 1(1)3 = n, i = 1(1)4 = m.
Назначаем опорный план. Выбор в качестве базисных переменных x4, x5, x6, x7 приводит к недопустимому опорному плану. Так как знаки левой и правой частей различны. (Свободные переменные x1 = x2 = x3 = 0) Метод искусственного базиса приводит к увеличению числа неизвестных задач, что нежелательно. Анализ задачи показывает, что число уравнений в системе ограничений больше числа переменных. Поэтому попытаемся применить принцип двойственности, т.е. вначале решим двойственную ЗЛП, а затем найдем решение исходной.
Двойственная задача. Коэффициентами линейной формы в двойственной задаче выступают правые части bi , i = 1(1)4 = m, исходной основной задачи. Переменные получают другие имена y1, y2, y3, y4, и формулируется двойственная задача иначе. Найти максимум линейной формы Q’:
Q’=0,2y1 + 0,5y2 + 0,6y3 + 0,1y4;
при ограничениях
0,3y1 + 0, 4y2 + 0,2y3 + 0,1y4 ≤ 3;
0,2y1 + 0, 3y2 + 0,3y3 + 0,2y4 ≤ 2;
0,4y1 + 0,45y2 + 0,1y3 + 0,05y4 ≤ 1;
yi ≥ 0; i = 1(1)4.
Приведем задачу к каноническому виду, вводим дополнительные неотрицательные переменные y5 , y6 , y7 :
Найти минимум ЦФ (знаки у коэффициентов ЦФ поменяли на противоположные): Q’= — 0,2y1 — 0,5y2 — 0, 6y3 — 0,1y4;
при ограничениях (в ограничения добавили новые переменные):
0,3y1 + 0, 4y2 + 0,2y3 + 0, 1y4 + y5 = 3;
0,2y1 + 0, 3y2 + 0,3y3 + 0, 2y4 + y6 = 2;
0,4y1 + 0,45y2 + 0,1y3 + 0,05y4 + y7 = 1,
yi ≥ 0; i = 1(1)7.
Задача решается симплекс методом. Исходный опорный план в качестве переменных может иметь y5, y6, y7 и свободные переменные y1 = y2 = y3 = y4 = 0, т.е. Y<7> = [0, 0, 0, 0, 3, 2, 1] .
Базисные переменные y5, y6, y7 и ЦФ выражаем через свободные переменные, т.е. из свободных членов (правых частей, обозначенных γi ) вычитаем левые части ограничений
y5 = 3 – (0,3y1 + 0,4y2 + 0,2y3 + 0,1y4);
y6 = 2 – (0,2y1 + 0,3y2 + 0,3y3 + 0,2y4);
y7 = 1 – (0,4y1 + 0,45y2 + 0,1y3 + 0,05y6);
Q’1=γ0 — Σ4i=1 γi yi = 0 -(0,2y1 + 0,5y2 + 0, 6y3 + 0,1y4);
γ0 =0, так как ЦФ не содержит свободного члена.
и строим симплекс таблицу с двумя полуклетками. Направляющий столбец y3, направляющая строка y6.
Анализ таблицы показывает, что все коэффициенты ЦФ при свободных переменных положительны. Следовательно, план Y<7> не является оптимальным, ЦФ можно уменьшить, увеличивая значения соответствующих свободных переменных.
Находим γ = max{γi} =max {0,2; 0,5; 0,6; 0,1} = 0,6. Переменную y3 надо ввести в базис. После этого устанавливаем, существует ли оптимальный план. В направляющем столбце все коэффициенты положительны, следовательно, оптимальный план существует. В базисе есть переменные, которые можно уменьшать до нуля увеличивая значения y3, тем самым минимизируя ЦФ. Раньше других в нуль обратиться переменная y6 и ее исключаем из базиса.
После замены переменных в базисе переходим к новой симплексной таблице.
Анализ этой таблицы показывает, что все коэффициенты в выражении ЦФ свободных переменных отрицательны. Следовательно, опорный план Y<7>= [0, 0, 20/3, 0, 5/3, 0, 1/3] является оптимальным. ЦФ при этом Q’1 = — 4 достигла наименьшего значения. Возвращаемся к двойственной задаче. Используя соответствие между оптимальными планами двойственных задач ЛП, определяем: базисными переменными в оптимальном плане будут x2 x4 x5 x7; их значения с противоположным знаком записаны в последней строке таблицы. Таким образом, Xopt<n> =<0; 2; 0; 0; 2; 0; 1; 0; 1/30>, т.е. оптимальный рацион из двух единиц продукта П2. Стоимость такого рациона минимальна и составляет 4 единицы. Это значение с противоположным знаком записано в той же таблице.
Литература
-
Ваулин А. Е. Методы цифровой обработки данных.– СПб.: ВИККИ им. А. Ф. Можайского, 1993.– 106 с.
-
Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи. М.: Мир, 1982.
-
Квейд Э. Методы системного анализа // Новое в теории и практике управления производством в США.–М.: Прогресс, 1971.– с.78-99. .
-
Корбут А.А., Финкельштейн Ю. Ю. Дискретное программирование М. Наука. Гл. ред. физ.-мат. лит. 1969.
-
Макаров И. М. и др. Теория выбора и принятия решений.– М.: Наука, 1982.– 328 с.
-
Пфанцагль И. Теория измерений. – М.: Наука, 1988.–384 с.
-
Таха Х. А. Введение в исследование операций. 7-е изд. М.: Изд. дом «Вильямс», 2005.
-
Фишберн П. С. Теория полезности для принятия решений. – М.: Наука,1978. –352 с.
П
(1)
(2)
(3)
усть исходная задача дана в
канонической форме
(4)
Оптимальное решение
получено симплекс-методом,
–
базисная матрица оптимального решения.
Оптимальное решение
двойственной задачи (по первой теореме
двойственности)
,
элементы
строки оценок в оптимальной симплекс-таблице
прямой задачи вычисляются по формулам
(5)
Подставляя (4) в
(5) получим
Памятуя о том, что
ограничение двойственной задачи,
соответствующее переменной
прямой задачи, имеет вид
(6)
, или
,
выводим
из (6) важное свойство оценок:
Оценка
переменной
в симплекс-таблице равна разнице левой
и правой части соответствующего
ограничения двойственной задачи.
Из соотношения
(6) легко найти компоненты оптимального
решения двойственной задачи.
Действительно,
пусть
– единичный вектор с единицей вi-ой
строке. В исходной симплекс-таблице
всегда есть такие вектора.
Оценка
переменной
согласно (6) запишется
(7)
,
откуда
Таким образом, для
определения компоненты
оптимального решения двойственной
задачи следует в исходной симплекс-таблице
выбрать единичный столбецс единицей вi-ой
строке. Тогда компонента
равна оценке
переменной
из оптимальной симплекс-таблицы плюс
коэффициент критерия этой переменной
Пример:
Найдем оптимальное
решение двойственной задачи к задаче
раздела 5.2 о работе предприятия по двум
технологиям.
Воспроизведем для
наглядности решение симплекс-методом
F |
8 |
3 |
0 |
0 |
-M |
||
Св |
Бп |
x1 |
x2 |
x3 |
x4 |
x5 |
b |
0 |
x3 |
2 |
1 |
1 |
0 |
0 |
12 |
0 |
x4 |
1 |
0 |
0 |
1 |
0 |
4 |
-M |
x5 |
1 |
1 |
0 |
0 |
1 |
6 |
F |
-8-M |
-3-M |
0 |
0 |
0 |
-6M |
|
0 |
x3 |
0 |
1 |
1 |
-2 |
0 |
4 |
8 |
x1 |
1 |
0 |
0 |
1 |
0 |
4 |
-M |
x5 |
0 |
1 |
0 |
-1 |
1 |
2 |
F |
0 |
-3-M |
0 |
8+M |
0 |
-2M+32 |
|
0 |
x3 |
0 |
0 |
1 |
-1 |
-1 |
2 |
8 |
x1 |
1 |
0 |
0 |
1 |
0 |
4 |
3 |
x2 |
0 |
1 |
0 |
-1 |
1 |
2 |
F |
0 |
0 |
0 |
5 |
3+M |
38 |
|
|
|
|
Единичная матрица
в исходной симплекс таблице расположена
в столбцах
3, 4, 5.
Оптимальное решение
двойственной задачи будет находиться
в строке оценок оптимальной симплекс-таблицы
под единичной матрицей исходной
симплекс-таблицы:
5.5. Двойственный симплексный метод
Рассмотрим базисное
недопустимое решение
.
Пусть
все оценки на этом решении неотрицательные.
Такое базисное решение называетсяпсевдо-планом
или псевдо-оптимальным решением. У него
значение критерия лучше, чем у оптимального,
но оно является недопустимым.
Для этого решения
,
.
А это означает, что псевдо-план исходной
задачи соответствует опорному плану
двойственной задачи:.
При этом каждому псевдо-плану исходной
задачи соответствует угловая точка
двойственной.
Двойственная
задача может быть решена симплекс-методом.
Двойственный
симплекс-метод решения прямой задачи
использует соответствующее решение
двойственной задачи, но операции
выполняются в симплекс-таблице исходной
задачи. Перемещение происходит от одного
псевдо-плана к другому с приближением
к области. Когда очередное базисное
решение станет допустимым, будет получено
оптимальное решение.
Если симплексный
метод – метод последовательного
улучшения плана (улучшаются планы
),
то двойственный симплекс-метод – метод
последовательного улучшения оценок
(улучшаются решения двойственной задачи
– двойственные оценки).
Условия применимости
двойственного симплекс-метода:
-
в
матрице условий задачи, записанной в
канонической форме, должна быть единичная
подматрица, при этом правые части
ограничений не обязаны быть положительными.
-
все
оценки должны быть неотрицательны,
если задача на максимум, и неположительны,
если задача на минимум.
Итерации в
двойственном симплекс-методе выполняются
по следующим правилам:
-
определяется
переменная,
выводимая из списка базисных. Она
определяется по отрицательной компоненте
.
Если их несколько, то лучше брать
максимальную по модулю. -
определяется
свободная переменная,
вводимая в список базисных.
При этом разрешающий
столбец определяется по минимальному
по модулю отношению оценок свободных
переменных к отрицательным коэффициентам
разрешающей строки.
Это правило
гарантирует, что новое базисное решение
будет псевдо-планом.
-
далее
выполняются операции однократного
замещения (как и в симплекс-методе) с
разрешающим элементом.
-
процесс
повторяется до тех пор, пока очередное
базисное решение не станет допустимым.
Замечание:
если в разрешающей строке нет отрицательных
элементов, то область допустимых решений
пуста.
Пример:
-
Содержательное
описание.
Целлюлозно-бумажный
комбинат (ЦБК) на берегу озера Байкал
может работать по двум технологическим
режимам. По первому режиму в течение
смены расходуется 100 м3
древесины, производится 50 тонн целлюлозы,
60 центнеров лигнитов (вещества,
используемые в химической промышленности)
и сбрасывается в озеро 10 кг отравляющих
веществ. По второму режиму в течение
смены расходуется 120 м3
древесины, производится 75 тонн целлюлозы,
30 центнеров лигнитов, сбрасывается в
озеро 25 кг отравляющих веществ. Годовой
план производства составляет 15000 тонн
целлюлозы, 1200 тонн лигнитов. Предельные
годовые нормы выброса отравляющих
веществ составляют 5 тонн. Определить
годовой план работы ЦБК, требующий
минимального расхода древесины.
-
Математическая
модель.
-
Управляемые
параметры.
[см]
– время работы (в сменах) по первой
технологии;
[см]
– время работы (в сменах) по второй
технологии;
–годовой план
работы.
2.2 Ограничения.
–годовое
производство целлюлозы в тоннах должно
быть не меньше плана;
–годовое
производство лигнитов в центнерах
должно быть не меньше плана;
–годовой выброс
отравляющих веществ в килограммах не
должен превосходить предельно-допустимых
норм выброса.
–время работы по
каждой из технологий неотрицательно
-
Формулировка
цели.
–годовой расход
древесины должен быть минимален.
Получили следующую
задачу линейного программирования
(1)
Приведем её к
каноническому виду
–очевидное
базисное решение, но оно не является
допустимым.
Обеспечим условия
применения двойственного симплекс-метода.
Сменим знаки левых и правых частей
первых двух уравнений
(2)
Занесем данные в
симплекс-таблицу. Видим, что оценки
переменных в последней строке первой
симплекс-таблицы не положительны, то
есть базисное решение
является псевдо-планом, условия
применимости двойственного симплекс-метода
выполняются.
100 |
120 |
0 |
0 |
0 |
|||
Св |
Бп |
x1 |
x2 |
x3 |
x4 |
x5 |
b |
0 |
x3 |
-50 |
-75 |
1 |
0 |
0 |
-15000 |
0 |
x4 |
-60 |
-30 |
0 |
1 |
0 |
-12000 |
0 |
x5 |
10 |
25 |
0 |
0 |
1 |
5000 |
F |
-100 |
-120 |
0 |
0 |
0 |
0 |
|
120 |
x2 |
2/3 |
1 |
-1/75 |
0 |
0 |
200 |
0 |
x4 |
-40 |
0 |
-2/5 |
1 |
0 |
-6000 |
0 |
x5 |
-20/3 |
0 |
1/3 |
0 |
1 |
0 |
F |
-20 |
0 |
-8/5 |
0 |
0 |
24000 |
|
120 |
x2 |
0 |
1 |
-1/50 |
1/60 |
0 |
100 |
100 |
x1 |
1 |
0 |
1/100 |
-1/40 |
0 |
150 |
0 |
x5 |
0 |
0 |
2/5 |
-1/6 |
1 |
1000 |
F |
0 |
0 |
-7/5 |
-1/2 |
0 |
27000 |
–псевдо-план.
На первой итерации
выбирается первая разрешающая строка
(-15000<0) и второй разрешающий столбец
(120/75<100/50). Выполняются операции
однократного замещения. Получаем
следующее приближение к области.
На второй итерации
разрешающая строка вторая (-6000,0),
разрешающий столбец первый (20/40=0.5<
8/5:2/5=4).
Следующее решение
–допустимое
базисное, значит оптимальное.
Экономическая
интерпретация полученного решения: для
обеспечения минимального расхода
древесины нужно работать 150 смен по
первой технологии, 100 смен по второй
технологии, при этом расход древесины
будет составлять 27000 м3.
Производство целлюлозы и лигнитов
совпадает с плановым (так как x3=x4=0),
выброс отравляющих веществ на 1000 кг
меньше предельно-допустимых норм
выброса.
Построим двойственную
задачу. Для применения правил построения
двойственных задач необходимо согласовать
знаки неравенств с типом критерия:
(3)
Введем переменные
двойственной задачи:
–оценка полезности
1 тонны целлюлозы;
–оценка полезности
1 центнера лигнитов;
–оценка «полезности»
1 кг отравляющих веществ. Значение у3
на оптимальном плане будет показывать,
на сколько изменится критерий при
увеличении b3
на единицу
(с -5000 до -4999). В терминах исходной задачи
– это приращение расхода древесины от
ужесточения (уменьшения) предельно
допустимых норм выброса отравляющих
веществ на один килограмм.
Тогда двойственная
задача запишется в виде
(4)
Найдем оптимальное
решение двойственной задачи из оптимальной
симплекс-таблицы прямой задачи:
(5)
Казалось бы,
полученное решение опровергает теорию
получения оптимального решения
двойственной задачи из оптимальной
симплекс-таблицы прямой. Полученное
решение
даже
недопустимое – нарушаются условия
неотрицательности в (4).
Действительно,
(5) – это не оптимальное решение задачи
(4), двойственной к задаче (3). Вектор
– это оптимальное решение задачи,
двойственной к задаче (2). Именно эта
задача представлена в исходной
симплекс-таблице.
Хотя задачи (2) и
(3) эквивалентны, имеют совпадающие
области допустимых решений, но формы
представления задач разные и двойственные
к ним задачи будут отличаться не только
формой, но и значением оптимальных
решений. Однако оптимальные решения
этих задач легко могут быть получены
друг из друга.
Построим двойственную
задачу к задаче (2):
(6)
После замены
переменных
задача
(6) обращается в задачу (4).
Таким образом,
если из симплекс-таблицы получено
оптимальное решение
задачи, двойственной
к задаче (2), то решение двойственной к
задаче (3) может быть получено сменой
знаков компонент решения:
Экономический
смысл двойственных переменных:
показывает, что
при увеличении плана выпуска целлюлозы
на 1 тонну расход древесины возрастет
на 1.4 м3.
показывает, что
при увеличении плана выпуска лигнитов
на 1 центнер расход древесины возрастет
на 0.5 м3.
показывает, что
при уменьшении годовых предельно
допустимых норм выброса отравляющих
веществ на 1 килограмм расход древесины
не изменится. Действительно, на оптимальном
решении ограничение по выбросу отравляющих
веществ не активное, выброс (4000) не
достигает предельной нормы (5000), поэтому
уменьшение нормы не только на 1, но и на
величину в пределах 1000 килограммов не
повлияет на оптимальный план работы
комбината.
Полученные оценки
влияния рассмотренных параметров на
оптимальное значение критерия справедливы
в области устойчивости двойственных
оценок.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Двойственная задача линейного программирования
Краткая теория
С каждой задачей линейного
программирования тесно связана другая линейная задача, называемая двойственной.
Первоначальная задача называется прямой или исходной. Многие задачи линейного
программирования первоначально ставятся в виде исходных или двойственных задач,
поэтому говорят о паре взаимно двойственных задач линейного программирования.
Пара симметричных двойственных ЗЛП имеет следующий вид:
Прямая |
Двойственная |
Рассмотренная пара взаимно
двойственных задач может быть экономически интерпретирована, например, так.
Прямая задача: сколько и
какой продукции
надо
произвести, чтобы при заданных объемах имеющихся ресурсов
и
нормах расходов
максимизировать
выпуск продукции в стоимостном выражении?
Двойственная задача: какова
должна быть оценка единицы каждого из ресурсов
, чтобы при заданных
и
минимизировать
общую оценку затрат на ресурсы?
Для построения двойственной
задачи необходимо пользоваться следующими правилами:
-
Если прямая задача
решается на максимум, то двойственная — на минимум, и наоборот.
В задаче на максимум
ограничения-неравенства имеют смысл ≤, а в задаче минимизации — смысл ≥.
Каждому ограничению
прямой задачи соответствует переменная двойственной задачи, и наоборот, каждому
ограничению двойственной задачи соответствует переменная прямой задачи.
Матрица системы
ограничений двойственной задачи получается из матрицы системы ограничений
исходной задачи транспонированием.
Свободные члены системы ограничений
прямой задачи являются коэффициентами при соответствующих переменных целевой
функции двойственной задачи, и наоборот.
Если на переменную
прямой задачи наложено условие неотрицательности, то соответствующее
ограничение двойственной задачи записывается как ограничение-неравенство, если
же нет, то как ограничение-равенство.
Если какое-либо
ограничение прямой задачи записано как равенство, то на соответствующую
переменную двойственной задачи условие неотрицательности не налагается.
Основное неравенство теории двойственности
Для любых допустимых планов
и
пары
двойственных задач справедливо неравенство
. Его экономическое содержание состоит в
том, что для любого допустимого плана производства
и
любого допустимого вектора оценок ресурсов
общая
созданная стоимость не превосходит суммарной оценки ресурсов.
Критерий оптимальности Канторовича (достаточный признак оптимальности)
Если для некоторых
допустимых планов
и
пары
двойственных задач выполняется равенство
, то
и
являются оптимальными планами
соответствующих задач. Экономический смысл критерия следующий: план
производства
и
вектор оценок ресурсов
являются оптимальными, если цена всей
произведенной продукции и суммарная оценка ресурсов совпадают.
Теорема существования оптимальных планов пары двойственных задач
Для существования
оптимального плана любой из пары двойственных задач необходимо и достаточно
существования допустимого плана для каждой из них.
Первая теорема двойственности
Если одна из двойственных
задач имеет оптимальное решение, то и другая имеет оптимальное решение, причем
экстремальные значения целевых функций совпадают
. Если одна из двойственных задач
неразрешима вследствие неограниченности целевой функции на множестве допустимых
решений, то система ограничений другой задачи противоречива.
Экономическое содержание
первой теоремы двойственности состоит в следующем: если задача определения
оптимального плана, максимизирующего выпуск продукции, разрешима, то разрешима
и задача определения оценок ресурсов. Причем цена продукта, полученного в
результате реализации оптимального плана, совпадает с суммарной оценкой
ресурсов. Совпадения значений целевых функций для соответствующих решений пары
двойственных задач достаточно для того, чтобы эти решения были оптимальными.
Это значит, что план производства и вектор оценок ресурсов являются
оптимальными тогда и только тогда, когда цена произведенной продукции и
суммарная оценка ресурсов совпадают. Оценки выступают как инструмент
балансирования затрат и результатов. Двойственные оценки обладают тем
свойством, что они гарантируют рентабельность оптимального плана, то есть
равенство общей оценки продукции и ресурсов обусловливает убыточность всякого
другого плана, отличного от оптимального. Двойственные оценки позволяют
сопоставлять и балансировать затраты и результаты системы.
Связь между задачами
двойственной пары глубже, чем указано в формулировке теоремы. Решая симплексным
методом одну из них, автоматически получаем решение другой. Для этого
достаточно воспользоваться соответствием переменных прямой и двойственной задач
и оценок в последней симплексной таблице.
Отсюда имеем оптимальный
план двойственной задачи. Если прямая задача решается на максимум, то пользуясь
соответствием переменных:
и так далее.
Если прямая задача решается
на минимум, то:
и так далее.
Вторая теорема двойственности (о дополняющей нежесткости)
Для того, чтобы планы
и
пары
двойственных задач были оптимальными, необходимо и достаточно выполнение
условий:
Эти условия называются
условиями дополняющей нежесткости. Из них следует: если какое-либо неравенство
системы ограничений одной из задач не обращается в строгое равенство
оптимальным планом этой задачи, то соответствующая компонента оптимального
плана двойственной задачи должна равняться нулю. Если же какая-либо компонента
оптимального плана одной из задач положительна, то соответствующее ограничение
в двойственной задаче ее оптимальным планом должно обращаться в строгое
равенство.
Экономически это означает,
что если по некоторому оптимальному плану
производства расход i-го ресурса строго меньше его запаса
, то в оптимальном плане соответствующая двойственная
оценка единицы этого ресурса равна нулю. Если же в некотором оптимальном плане
оценок его i-я компонента строго
больше нуля, то в оптимальном плане производства расход соответствующего
ресурса равен его запасу. Отсюда следует вывод: двойственные оценки могут служить
мерой дефицитности ресурсов. Дефицитный ресурс (полностью используемый по
оптимальному плану производства) имеет положительную оценку, а избыточный
ресурс (используемый не полностью) имеет нулевую оценку.
Третья теорема двойственности
Двойственные оценки
показывают приращение функции цели, вызванное малым изменением свободного члена
соответствующего ограничения ЗЛП, то есть:
Выясним экономическое
содержание третьей теоремы двойственности. Для этого в последнем выражении
дифференциалы заменим приращениями. Получим:
При
имеем
То есть двойственная оценка
численно равна изменению целевой функции
при изменении соответствующего ресурса на единицу. Двойственные оценки
часто
называют скрытыми, теневыми или маргинальными оценками ресурсов.
Примеры решения задач
Задача 1
Постройте
модель двойственной задачи для данной задачи линейного программирования,
заданной в произвольной форме.
Решение
Воспользуемся правилами для
построения двойственной задачи.Заполним вспомогательную таблицу.
ДЗ/ПЗ |
|
|
|
min | СП/ЦФ |
|
-18 | 7 | -12 |
|
-2 |
|
-12 | 16 | -12 |
|
3 |
|
-11 | 3 | -7 | = | -2 |
|
0 | 13 | -12 |
|
-1 |
max |
|
= |
|
||
ЦФ/СП | -18 | 1 | -3 |
Двойственная задача будет
иметь следующий вид:
–любого
знака,
Задача 2
Для приведенной ниже задачи
записать двойственную. Решить одну из них симплексным методом и получить решение
другой.
Решение
Приведем задачу к каноническому виду.
Воспользуемся правилами для
построения двойственной задачи.
Двойственная задача будет иметь следующий вид:
Приведем двойственную задачу к каноническому виду.
Заполняем симплексную таблицу 0-й итерации.
На сайте можно заказать решение контрольной или самостоятельной работы, домашнего задания, отдельных задач. Для этого вам нужно только связаться со мной:
ВКонтакте
WhatsApp
Telegram
Мгновенная связь в любое время и на любом этапе заказа. Общение без посредников. Удобная и быстрая оплата переводом на карту СберБанка. Опыт работы более 25 лет.
Подробное решение в электронном виде (docx, pdf) получите точно в срок или раньше.
Переходим к таблице 1-й итерации:
В индексной строке все члены неотрицательные, поэтому получено
следующее решение задачи линейного программирования (выписываем из столбца
свободных членов):
Соответствие между переменными исходной и двойственной задачи:
На основании симплексной таблицы получено следующее решение
двойственной задачи линейного программирования:
Задача 3
Дана
задача линейного программирования:
Решение прямой задачи:
Найти
оптимальное решение двойственной задачи линейного программирования.
Решение
Исходя из вышеописанных
правил построения модели двойственной задачи, двойственная задача будет иметь
следующий вид:
Найдем оптимальное решение
двойственной задачи:
Условия
дополняющей нежесткости (вторая теорема двойственности): для оптимальных планов
двойственных задач имеют место соотношения:
Так
как для оптимального решения прямой задачи 3-е и 4-е ограничения выполняются
как неравенство, то
Для
нахождения значений
и
, получаем:
Ответ
Решение двойственной задачи:
Двойственные задачи линейного программирования
Двойственность является важным понятием в линейном программировании, имеющим экономическое (практическое) применение. Например, для задачи оптимального распределения ресурсов для производства некоторых видов товаров пара прямой и двойственной задачи принимает следующий экономический смысл:
Прямая задача: Сколько и какой продукции xj необходимо производить, чтобы при заданных доходах Cj и объемах ресурсов bi максимизировать доход от продажи продукции?
Двойственная задача: Какова должна быть «теневая» цена каждого ресурса yi, чтобы при заданных количествах bi и доходах Cj минимизировать затраты?
Для составления двойственных задач используют специальные правила, при решении же выбирают один из наиболее подходящих методов решения ЗЛП: симплекс-метод, графический метод. Более того, так как между парой двойственных задач существует связь, иногда достаточно решить только одну из задач, чтобы получить решение второй.
Примеры составления и решения двойственных задач линейного программирования приведены в этом разделе — изучайте, ищите похожие, решайте. Если вам нужна помощь в выполнении подобных заданий — Решение контрольных по линейному программированию.
Спасибо за ваши закладки и рекомендации
Примеры составления и решения двойственных задач онлайн
Задача 1. Записать математическую модель двойственной ЗЛП по заданной прямой:
Задача 2. Составить задачу, двойственную исходной задаче:
Задача 3. Решить задачу линейного программирования; составить задачу, двойственную данной, и также найти ее решение:
Качественно решаем задачи линейного программирования
Двойственная задача линейного программирования. Онлайн калькулятор
С помощю этого онлайн калькулятора можно построить двойственную задачу линейного программирования (ЛП) по отношению к исходной задаче. Для построения двойственной задачи, введите данные исходной задачи и нажмите на кнопку «Вычислить». Теоретическую часть и численные примеры смотрите ниже.
- Содержание
- 1. Построение двойственной задачи к исходной задаче линейного программирования
- 2. Теория двойственности в задачах линейного программирования
- 3. Двойственные к разным формам задач линейного программирования
- 4. Условие дополняющей нежесткости
1. Построение двойственной задачи к исходной задаче линейного программирования
Пусть задана прямая задача линейного программирования (ЛП) в общем виде:
Задаче (1) соответствует следующая двойственная задача ЛП:
В этих задачах знак ∀ — определяет, что на данную переменную не налагается ограничение в виде неотрицательности, т.е. она произвольная.
Отметим, что если задача ЛП (2) является двойственной к задаче ЛП (1), то задача ЛП (1) является двойственной к задаче ЛП (2). Говорят, что задачи ЛП (1) и (2) взаимно двойственные задачи линейного программирования.
Рассмотрим подробно процесс построения двойственной задачи к исходной задачи линейного программирования. Для построения двойственной задачи:
1. Упорядочивается запись исходной задачи ЛП: если целевая функция исследуется на максимум, то ограничения (1b), (1c) должны иметь знак или «=», или «≤», а если целевая функция исследуется на минимум, то ограничения (1b), (1c) должны иметь знак или «=» , или «≥». Если в исходной задаче ЛП есть ограничения, не удовлетворяющие этим условиям, то это можно исправить, умножая данное ограничение на −1.
2. Каждому ограничению исходной задачи ставится в соответствие переменная . Число переменных двойственной задачи равно числу ограничений исходной задачи, а число ограничений двойственной задачи равно числу переменных исходной задачи.
3. Если в исходной задаче целевая функция исследуется на максимум, то целевая функция двойственной задачи исследуется на минимум.
4. Свободные члены исходной задачи становятся коэффициентами целевой функции двойственной задачи.
5. Коэффициенты целевой функции исходной задачи становятся свободными членами двойственной задачи.
6. Матрица коэффициентов двойственной задачи получается транспонированием матрицы коэффициентов исходной задачи.
7. Если на переменную наложено ограничение в виде неотрицательности, то j-е ограничение двойственной задачи записывается в виде неравенства. Если же переменная
исходной задачи произвольная, то j-е ограничение двойственной задачи имеет знак равенства.
8. Если в исходой задаче имеются ограничения в виде равенств, то на соответствующие переменные двойственной задачи не налагаются условия неотрицательности.
Чтобы посмотреть пример построения двойственной задачи воспользуйтесь онлайн калькулятором в начале страницы. Для этого введите коэффициенты исходной задачи в ячейки калькулятора и нажмите на кнопку «Построить».
2. Теория двойственности в задачах линейного программирования
Утверждение 1. Если X и Y − допустимые точки задач (1) и (2), соответственно, то
При этом, если для каких то допустимых точек и
выполнено равенство
, то
и
являются решениями задач (1) и (2) соответственно.
Доказательство. Запишем взвимно двойственные задачи (1) и (2) в матричном виде.
Исходная задача:
где ,
,
,
,
,
,
матрица коэффициентов ограничений исходной задачи, которая разделена на четыре матрицы следующих порядков: ,
,
,
.
Сделаны также следующие обозначения:
Двойственная задача:
где ,
,
.
Имеем:
(5b) и (5c) можно записать так:
Легко показать, что
Действительно:
Множители в правой части выражения (9) неотрицательны. Тогда их произведение не отрицательно, т.е. выполнено условие (8).
Учитывая (7) и (8) упростим выражение 6:
С другой стороны:
(4b) и (4c) можно записать так
Учитывая (12) и Y1 упростим выражение (11):
Из (9) и (13) получим:
т.е. выполнено условие (3).
Докажем вторую часть утверждения 1. Для любой допустимой точки x задачи (1) в том числе
. Тогда
Поэтому наибольшее значение целевой функции задачи (1).
С другой стороны для любой допустимой точки y задачи (2)
т.е. − наименьшее из значений целевой функции задачи (2). Таким образом получили, что
является решением задачи (1), а
является решением задачи (2).
Теорема 1 (первая теорема двойственности). Если исходная задача имеет решение , то двойственная ей задача также имеет решение
, и
Если в исходной задаче целевая функция неограничена, то в двойственной задаче допустимая область пуста.
Отметим, что обратное утверждение неверно. Из несовместности системы системы ограничений одной из задач не следует неограниченность целевой функции для другой. В этом случае системы ограничений обеих задач могут быть несовместными. Приведем пример.
Представленные задачи взаимно двойственные, и в этих задачах допустимые области пусты.
Теорема 2 (вторая теорема двойственности или условие дополняющей нежесткости). Планы и
пары двойственных задач (1) и (2) являются решениями этих задач тогда и только тогда, когда выполняются следующие условия:
или выполняется условие:
Докажем эквивалентность условий (15) и (16) с условием (17).
Из (4с) и (5с) имеем:
Откуда:
Из (15) и (16) имеем:
Подставляя (19),(20) в (21),(22) соответственно и упрощая получим:
Выразив, например, через остальные слагаемые из (23) и подставляя в (24) получим:
или
А Запись (25) − это другой вид записи равенства (17).
3. Двойственные к разным формам задач линейного программирования
В статье Формы записи задачи линейного программирования мы рассмотрели различные формы записи задачи линейного программирования. В этом параграфе мы рассмотрим двойственные задачи к задачам ЛП в различных формах.
1) Двойственной к задаче ЛП в канонической форме
является задача ЛП в основной форме
2) Двойственной к задаче ЛП в основной форме
является задача ЛП в канонической форме
3) Двойственной к задаче ЛП в стандантной форме
является задача ЛП также в стандартной форме
Все эти три пары взаимно двойственных задач получаются из пары двойственных задач в общем виде (1) и (2) при различных значениях n1 и m1. Первая пара задач получается из (1) и (2) при m1=0, n1=n. Вторая пара задач получается из задач (1) и (2) при m1=m, n1=0. Третья пара задач получается из (1) и (2) при m1=m, n1=n.
Иногда более удобно рассматривать задачи ЛП в векторно-матричной форме. Высше представленные пары двойственных задач представим в векторно-матричной форме записи.
1) Двойственной к задаче ЛП в канонической форме
является задача ЛП в основной форме
2) Двойственной к задаче ЛП в основной форме
является задача ЛП в канонической форме
3) Двойственной к задаче ЛП в стандантной форме
является задача ЛП также в стандартной форме
где векторы строки порядка
и
соответственно,
векторы-столбцы порядка
и
соответственно,
− матрица порядка
.
4.Условие дополняющей нежесткости
Равенства (15) и (16) называются условиями дополняющей нежесткости. Рассмотрим уравнение (16). Левая часть уравнения является скалярным произведением неотрицательных векторов и
, а это означает, что если один из координат одного из этих векторов больше нуля, то соответствующая координата другого вектора равна нулю (поскольку их скалярное произведение равно нулю). Получается, что если в системе линейных неравенств (4b) некоторое неравенство в точке
не удовлетворяется как равенство, то соответствующая координата вектора
равна нулю и обратно − если некоторая координата вектора
больше нуля, то соответствующее неравенство в системе (4b) в точке
удовлетворяется как равенство.
Аналогичные рассуждения можно привести и для равенства (15). Условие дополняющей нежесткости позволяет найти оптимальный план двойственной задачи, если известен оптимальный план исходной задачи. Рассмотрим это на примере пар двойственных задач ЛП записанных в стандартной форме.
Пример 1. Дана следующая задача ЛП:
Решить данную задачу. Построить двойственную задачу и найти ее решение используя решение исходной задачи.
Запишем задачу ЛП в матричном виде:
где
Поскольку задача с двумя переменными, то ее можно решить графически.
Как видно из рисунка, область определения – это желтая область . Вектор целевой функции c={1;2}. Для нахождения оптимального плана нужно прямую, перпендикулярную вектору С перемешать по направлению вектора С , до предельного положения соприкосающаяся с областью определения (точка M). Таким образом точка M является оптимальным решением задачи линейного программирования. Как видно из рисунка, точка M находится на пересечении следующих прямых:
Решая систему линейных уравнений (27) получим координаты точки M, т.е. оптимальный план задачи ЛП (26):
или в векторном виде:
Целевая функция в этой точке равна:
Построим двойственную к (26) задачу ЛП:
В векторно матричном виде задача ЛП (30) будет выглядеть так:
или
где
Условие дополняющей нежесткости (15) и (16) в случае задач ЛП в стандартной форме примут вид:
Условие (32) позволяет найти оптимальный план двойственной задачи ЛП (30). Поскольку все координаты оптимального плана исходной задачи положительны, то из равенства (32) следует, что неравенства (30b) и (30c) в оптимальной точке
должны выполняться как равенства, т.е. надо решить систему линейных уравнений
Решив данное уравнение находим оптимальный план
Найдем значение целевой функции в данной точке:
Значение целевых функций в оптимальных точках исходной и двойственной задач равны. Следовательно получено правильное решение.
Графический метод решения задачи ЛП (30) смотрите на Рис.2:
Рассмотрим пример с той же допустимой областью, что и пример 1, но с другой целевой функцией.
Пример 2. Дана следующая задача ЛП:
Решить данную задачу. Построить двойственную задачу и найти ее решение используя решение исходной задачи и условия дополняющей нежесткости.
Запишем задачу ЛП в матричном виде:
где
Поскольку задача с двумя переменными, то ее можно решить графически.
Из Рис.3 видно, что оптимальным является точка
Целевая функция в этой точке равна:
Построим двойственную задачу:
В оптимальной точке ограничение (33b) удовлетворяется как строгое неравенство следовательно исходя из условия дополняющей нежесткости (31), первая координата вектора
должна быть равна нулю:
. Из равенства (32) следует, что неравенство (34b) в оптимальной точке
должно выполняться как равенство, поскольку соответствующая координата опттимального плана исходной задачи
больше нуля. Таким образом имеем систему линейных уравнений:
Откуда получим .
В векторном виде оптимальный план двойственной задачи имеет вид:
Найдем значение целевой функции в данной точке:
Значение целевых функций в оптимальных точках исходной и двойственной задач равны. Следовательно получено правильное решение.
Графический метод решения задачи ЛП (34) представлен на Рис.4. Прямая, ортогональная к вектору целевой функции B перемещаем перпендикулярно к вектору целевой функции до соприкосновения к допустимой области задачи ЛП (желтая область). Полученная точка M является решением задачи ЛП.