Как найти оптимальный план двойственной задачи

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

Время на прочтение
9 мин

Количество просмотров 26K

Прочие статьи цикла

Обычно с задачей линейного программирования (ЗЛП) связана другая линейная задача, называемая двойственной. Обе эти задачи можно считать двойственными одну по отношению к другой, считать равносильными. Первая задача называется обычно исходной, или прямой, другая – обратной. Переменные, используемые в двойственной задаче называются двойственными или множителями Лагранжа. На них не накладывается ограничений по знаку. Рассматриваются двойственные критерии оптимальности. Специальные случаи называют симметричными двойственными задачами линейного программирования. Связь между оптимальными решениями двойственных задач устанавливается теоремой двойственности.

Теорема двойственности

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

Теорема двойственности

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

Теорема существования решения

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

Теорема (принцип) дополняющей нежесткости

  1. Если (xQ , xL) – оптимальное решение прямой задачи, а (yQ, yL) – решение двойственной задачи, то (xQ , xL, yQ , yL) – решение задачи Лагранжа. В частности, в этом случае удовлетворяются соотношения между переменными прямой и двойственной задач и условия дополняющей нежесткости.

  2. Оптимальное решение прямой задачи программирования получается только при одном значении 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 (в противном случае предприятию выгоднее не продавать сырье, а использовать его для нужд производства, выпуска продукции).

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

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

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

  2. Коэффициенты ЦФ первой задачи являются свободными членами системы ограничений второй.

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

  4. Матрица коэффициентов второй задачи является транспонированной к матрице коэффициентов ограничений первой задачи.

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

Оптимальный план 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> были решениями пары задач, необходимо и достаточно, чтобы их компоненты удовлетворяли следующим условиям:

Эти условия называют принципом дополняющей нежесткости. Если исходная (прямая) задача задана в канонической форме, то двойственная к ней называется несимметричной. Для несимметричной двойственной задачи соблюдается условие y≥ 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, 4x≥ 0,2;

0,4x1 + 0,3x2 + 0,45x≥ 0,5;

0,2x1 + 0,3x+ 0, 1 x≥ 0,6;

0,1x1 + 0,2x2 + 0,05x≥ 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,6y+ 0,1y4;

при ограничениях

0,3y1 + 0, 4y2 + 0,2y3 + 0,1y4  ≤ 3;

0,2y1 + 0, 3y+ 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, 6y– 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, 6y+ 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 единицы. Это значение с противоположным знаком записано в той же таблице.

Литература

  1. Ваулин А. Е. Методы цифровой обработки данных.– СПб.: ВИККИ им. А. Ф. Можайского, 1993.– 106 с.

  2. Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи. М.: Мир, 1982.

  3. Квейд Э. Методы системного анализа // Новое в теории и практике управления производством в США.–М.: Прогресс, 1971.– с.78-99. .

  4. Корбут А.А., Финкельштейн Ю. Ю. Дискретное программирование М. Наука. Гл. ред. физ.-мат. лит. 1969.

  5. Макаров И. М. и др. Теория выбора и принятия решений.– М.: Наука, 1982.– 328 с.

  6. Пфанцагль  И. Теория измерений. – М.: Наука, 1988.–384 с.

  7. Таха Х. А. Введение в исследование операций. 7-е изд. М.: Изд. дом «Вильямс», 2005.

  8.  Фишберн П. С. Теория полезности для принятия решений. – М.: Наука,1978. –352 с.

Число
неизвестных в двойственной задаче равно
числу функциональных ограничений в
исходной задаче. Исходная задача содержит
3 ограничения: труд, сырье и оборудование.
Следовательно, в двойственной задаче
3 неизвестных:

двойственная
оценка ресурса труд

двойственная
оценка ресурса сырья

двойственная
оценка ресурса оборудования

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

Необходимо
найти такие «цены» на типы сырья,чтобы
общая стоимость используемых типов
сырья была минимальной.

Ограничения.
Число ограничений в системе двойственной
задачи равно числу переменных в исходной
задаче. В исходной задаче 3 переменных,
следовательно, в двойственной задаче
3 ограничения. В правых частях ограничений
двойственной задачи стоят коэффициенты
при неизвестных в целевой функции
исходной задачи. Левая часть определяет
стоимость типа сырья, затраченного на
производство единицы продукции.

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

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

Воспользуемся
первым соотношением второй теоремы
двойственности

тогда

Подставим
оптимальные значения вектора
в
полученные выражения

И
получим

,

,

,
так как 80 < 140, то

В
задаче
и,
поэтому первое и второе ограничения
двойственной задачи обращаются в
равенства

Решая
систему уравнений получим, y1
= 6,67, y2
= 33,33, y3
= 0.

Проверяем
выполнение первой теоремы двойственности

Это
означает, что оптимальный план двойственной
задачи определен, верно.

Решение
двойственной задачи можно найти, выбрав
команду Поиск решений – Отчет по
устойчивости (рис.2.4).

Microsoft
Excel 10.0 Отчет по устойчивости

Рабочий
лист: [Контр.раб 2.5.xls]кр 2.5

Отчет
создан: 06.12.2007 19:04:27

Изменяемые
ячейки

Результ.

Нормир.

Целевой

Допустимое

Допустимое

Ячейка

Имя

значение

стоимость

Коэффициент

Увеличение

Уменьшение

$A$2

х1

40

0

40

20

4.000000003

$B$2

х2

40

0

60

100

20

$C$2

х3

0

-6.666666672

80

6.666666672

1E+30

Ограничения

Результ.

Теневая

Ограничение

Допустимое

Допустимое

Ячейка

Имя

значение

Цена

Правая
часть

Увеличение

Уменьшение

$D$4

200

6.666666667

200

120

120

$D$5

80

33.33333333

80

60

30

$D$6

80

0

140

1E+30

60

Рис
2.4

Соседние файлы в предмете Методы оптимизации

  • #
  • #

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

Краткая теория


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

Прямая
задача:

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

Рассмотренная пара взаимно
двойственных задач может быть экономически интерпретирована, например, так.

Прямая задача: сколько и
какой продукции

 надо
произвести, чтобы при заданных объемах имеющихся ресурсов

 и
нормах расходов

 максимизировать
выпуск продукции в стоимостном выражении?

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

, чтобы при заданных

 и

 минимизировать
общую оценку затрат на ресурсы?

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

    Если прямая задача
    решается на максимум, то двойственная — на минимум, и наоборот.
    В задаче на максимум
    ограничения-неравенства имеют смысл ≤, а в задаче минимизации – смысл ≥.
    Каждому ограничению
    прямой задачи соответствует переменная двойственной задачи, и наоборот, каждому
    ограничению двойственной задачи соответствует переменная прямой задачи.
    Матрица системы
    ограничений двойственной задачи получается из матрицы системы ограничений
    исходной задачи транспонированием.
    Свободные члены системы ограничений
    прямой задачи являются коэффициентами при соответствующих переменных целевой
    функции двойственной задачи, и наоборот.
    Если на переменную
    прямой задачи наложено условие неотрицательности, то соответствующее
    ограничение двойственной задачи записывается как ограничение-неравенство, если
    же нет, то как ограничение-равенство.
    Если какое-либо
    ограничение прямой задачи записано как равенство, то на соответствующую
    переменную двойственной задачи условие неотрицательности не налагается.

Основное неравенство теории двойственности

Для любых допустимых планов

 и

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

. Его экономическое содержание состоит в
том, что для любого допустимого плана производства

 и
любого допустимого вектора оценок ресурсов

 общая
созданная стоимость не превосходит суммарной оценки ресурсов.

Критерий оптимальности Канторовича (достаточный признак оптимальности)

Если для некоторых
допустимых планов

 и

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

, то

 и

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

 и
вектор оценок ресурсов

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

Теорема существования оптимальных планов пары двойственных задач

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

Первая теорема двойственности

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

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

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

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

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

и так далее.

Если прямая задача решается
на минимум, то:

и так далее.

Вторая теорема двойственности (о дополняющей нежесткости)

Для того, чтобы планы

 и

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

Эти условия называются
условиями дополняющей нежесткости. Из них следует: если какое-либо неравенство
системы ограничений одной из задач не обращается в строгое равенство
оптимальным планом этой задачи, то соответствующая компонента оптимального
плана двойственной задачи должна равняться нулю. Если же какая-либо компонента
оптимального плана одной из задач положительна, то соответствующее ограничение
в двойственной задаче ее оптимальным планом должно обращаться в строгое
равенство.

Экономически это означает,
что если по некоторому оптимальному плану

производства расход 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-е ограничения выполняются
как неравенство, то

Для
нахождения значений

 и

, получаем:

Ответ

Решение двойственной задачи:

Видео урока:

Из занятия 1 имеем прямую задачу линейного программирования.

Прямая задача ЛП
Прямая задача ЛП

Записываем матрицу прямой задачи:

Матрица прямой задачи ЛП
Матрица прямой задачи ЛП

Транспонируем полученную матрицу и получаем матрицу двойственной задачи: ТРАНСП(C12:G16)

Матрица двойственной задачи ЛП
Матрица двойственной задачи ЛП

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

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

Запишем обе задачи:

Пара двойственных задач ЛП
Пара двойственных задач ЛП

Запишем матрицы соответствия переменных прямых и двойственных задач:

Матрицы соответствия переменных прямой и двойственной задач
Матрицы соответствия переменных прямой и двойственной задач

Единица по диагонали означает соответствие:

x1↔ y5

x2↔ y6

x3↔ y7

и т. д.

Подпишем соответствующие переменные к последней симплекс-таблице из урока 3.

Последняя симплекс-таблица
Последняя симплекс-таблица

Видим, что значения двойственных переменных совпадают со значениями,

полученными нами через надстройку «поиск решения»

Анализ устойчивости
Анализ устойчивости

Значения целевых функций для оптимальных планов двойственных задач совпадают F min = f max = 30,667.

Значения Y6=3,3 и Y8=3,0333 означают, что при производстве одного вида продукции 2-го и 4-го вида значение целевой функции уменьшится на 3,3 и 3,0333 денежных единиц соответственно.

Y5=Y7=0 означает, что производство 1-го и 3-го видов продукции является наиболее эффективным.

Значения Y2=0,1 и Y3=0,267 означают, что при увеличении запасов 2-го и 3-го видов сырья на одну весовую единицу, значение целевой функции возрастёт на 0,1 и 0,267 денежных единиц соответственно. Так же это означает дефицитность этих видов ресурсов, так как оценки выше нуля.

Y1=Y4=0 – это означает, что ресурсы 1-го и 4-го видов не являются дефицитными и их увеличение никак не повлияет на значение целевой функции.

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

Надстройка «поиск решения» автоматически считает интервалы устойчивости для коэффициентов целевой функции и ресурсов. Интервалы устойчивости показаны в столбцах «допустимое увеличение» и «допустимое уменьшение».

В следующей статье мы рассмотрим определение интервалов устойчивости ресурсов и коэффициентов целевой функции на основании последней симплекс-таблице из занятия 3.

Материал подготовлен сайтом: https://pro-smysl.ru/

Онлайн помощь в решении задач, консультации, создание обучающих роликов.

Подписывайтесь на наши каналы:

https://vk.com/sm_smysl

https://www.youtube.com/@SMYS_L

Двойственная задача[1] для заданной задачи линейного программирования (ЛП, англ. Linear programming, LP) — это другая задача линейного программирования, которая получается из исходной (прямой) задачи следующим образом:

  • Каждая переменная в прямой задаче становится ограничением двойственной задачи;
  • Каждое ограничение в прямой задаче становится переменной в двойственной задаче;
  • Направление цели обращается – максимум в прямой задаче становится минимумом в двойственной, и наоборот.

Теорема о слабой двойственности утверждает, что значение двойственной задачи для любого допустимого решения всегда ограничено значением прямой задачи для любого допустимого решения (верхняя или нижняя граница, в зависимости от того, это задача максимизации или минимизации).

Теорема о сильной двойственности утверждает, что более того, если прямая задача имеет оптимальное решение, то двойственная задача имеет также оптимальное решение, и эти два оптимума равны[2].

Эти теоремы принадлежат более широкому классу теорем двойственности в оптимизации. Теорема о сильной двойственности является одним из случаев, в котором разрыв двойственности (разрыв между оптимумом прямой задачи и оптимумом двойственной) равен 0.

О геометрическом смысле двойственной задачи можно почитать в книге Юдина и Гольштейна[3]. Там же можно прочитать об экономическом смысле задачи[4].

Построение двойственной задачи[править | править код]

Если дана прямая задача линейного программирования, для построения двойственной задачи может быть использован следующий алгоритм[5].

Пусть прямая задача определена как:

Двойственная задача строится следующим образом.

  • Каждое ограничение прямой задачи становится двойственной переменной. Таким образом, получаем m переменных: {displaystyle y_{1},ldots ,y_{m}}.
  • Знак ограничения каждой двойственной переменной «противоположен» знаку ограничения в прямой задаче. Таким образом, «{displaystyle geqslant b_{j}}» становится {displaystyle y_{j}leqslant 0}, «{displaystyle leqslant b_{j}}» превращается в {displaystyle y_{j}geqslant 0}, а «{displaystyle =b_{j}}» превращается в {displaystyle y_{j}in mathbb {R} }.
  • Целевая функция двойственной задачи равна (минимизировать) {displaystyle b_{1}y_{1}+cdots +b_{m}y_{m}}
  • Каждая переменная прямой задачи становится двойственным ограничением. Таким образом, получаем n ограничений. Коэффициент двойственной переменной в двойственных ограничениях равен коэффициенту переменной из ограничения прямой задачи. Таким образом, каждое ограничение i есть: {displaystyle a_{1i}y_{1}+cdots +a_{mi}y_{m}lesseqqgtr c_{i}}, где символ перед c_{i} аналогичен ограничению на переменную i в прямой задаче. Так, {displaystyle x_{i}leqslant 0} превращается в «{displaystyle leqslant c_{i}}», {displaystyle x_{i}geqslant 0} превращается в «{displaystyle geqslant c_{i}}», а {displaystyle x_{i}in mathbb {R} } превращается в «{displaystyle =c_{i}}».

Из этого алгоритма легко видеть, что двойственная задача двойственной задачи совпадает с прямой задачей.

Векторные формулировки[править | править код]

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

Прямая Двойственная Примечания
Максимизировать {displaystyle mathbf {c} ^{T}mathbf {x} } при ограничениях {displaystyle mathbf {A} mathbf {x} leqslant mathbf {b} ,mathbf {x} geqslant 0} Минимизировать {displaystyle mathbf {b} ^{T}mathbf {y} } при ограничениях {displaystyle mathbf {A} ^{T}mathbf {y} geqslant mathbf {c} ,mathbf {y} geqslant 0} Такая задача называется «симметричной» двойственной задачей
Максимизировать {displaystyle mathbf {c} ^{T}mathbf {x} } при ограничениях {displaystyle mathbf {Ax} leqslant mathbf {b} } Минимизировать {displaystyle mathbf {b} ^{T}mathbf {y} } при ограничениях {displaystyle mathbf {A} ^{T}mathbf {y} =mathbf {c} ,mathbf {y} geqslant 0} Такая задача называется «асимметричной» двойственной задачей
Максимизировать {displaystyle mathbf {c} ^{T}mathbf {x} } при ограничениях {displaystyle mathbf {Ax} =mathbf {b} ,mathbf {x} geqslant 0} Минимизировать {displaystyle mathbf {b} ^{T}mathbf {y} } при ограничениях {displaystyle mathbf {A} ^{T}mathbf {y} geqslant mathbf {c} }

Теоремы двойственности[править | править код]

Ниже мы предполагаем, что прямая задача поставлена как «Максимизировать {displaystyle mathbf {c} ^{T}mathbf {x} } при ограничениях [ограничения]», а двойственная задача поставлена как «Минимизировать {displaystyle mathbf {b} ^{T}mathbf {y} } при ограничениях [ограничения]».

Слабая двойственность[править | править код]

Теорема о слабой двойственности утверждает, что для каждого допустимого решения x прямой задачи и каждого допустимого решения y двойственной задачи: {displaystyle mathbf {c} ^{T}mathbf {x} leqslant mathbf {b} ^{T}mathbf {y} }. Другими словами, значение целевой функции для каждого допустимого решения двойственной задачи является верхней границей целевой функции прямой задачи, а значение целевой функции любого допустимого решения прямой задачи является нижней границей для целевой функции двойственной задачи. Из этого следует, что

{displaystyle max _{mathbf {x} }mathbf {c} ^{T}mathbf {x} leqslant min _{mathbf {y} }mathbf {b} ^{T}mathbf {y} }

В частности, если прямая задача не ограничена (сверху), то двойственная задача не имеет допустимого решения, а если не ограничена двойственная задача (снизу), то не имеет допустимого решения прямая задача.

Теорему о слабой двойственности относительно легко доказать[6]. Предположим, что прямая задача линейного программирования звучит как «Максимизировать {displaystyle mathbf {c} ^{T}mathbf {x} } при ограничениях {displaystyle mathbf {Ax} leqslant mathbf {b} ,mathbf {x} geqslant 0}». Предположим, что мы создаём линейную комбинацию ограничений с положительными коэффициентами, такую, что коэффициенты при x не меньше {displaystyle mathbf {c} ^{T}}. Эта линейная комбинация даёт нам верхнюю грань для целевой функции. Переменные y двойственной задачи являются коэффициентами этой линейной комбинации. Двойственная задача пытается найти такие коэффициенты, которые минимизируют результирующую правую часть. Это даёт задачу линейного программирования «Минимизировать {displaystyle mathbf {b} ^{T}mathbf {y} } при ограничениях {displaystyle mathbf {A} ^{T}mathbf {y} geqslant mathbf {c} ,mathbf {y} geqslant 0}»[7]. См. «Простой пример» ниже.

Сильная двойственность[править | править код]

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

{displaystyle max _{mathbf {x} }mathbf {c} ^{T}mathbf {x} =min _{mathbf {y} }mathbf {b} ^{T}mathbf {y} }

Теорему о сильной двойственности существенно труднее доказать. Обычно доказательство использует теорему о слабой двойственности в качестве леммы[8].

Одно доказательство использует симплекс-метод и опирается на доказательство того, что, при подходящем правиле выбора выводимого столбца, он даёт правильное решение. Доказательство устанавливает, что, когда симплекс-метод завершается решением прямой задачи линейного программирования, можно из конечной таблицы прочесть решение двойственной задачи. Таким образом, после прогона симплекс-алгоритма мы получим решения как прямой, так и двойственной задачи одновременно[9].

Другое доказательство использует лемму Фаркаша[10]

Теоретическое приложение[править | править код]

Слабая двойственность имеет интересное теоретическое приложение — она показывает, что нахождение отдельного допустимого решения настолько же трудно, насколько нахождение оптимального допустимого решения. Предположим, что мы имеем систему предсказывания, что данная задача линейного программирования находит произвольное допустимое решение (если оно существует). Если задача звучит как «Максимизировать {displaystyle mathbf {c} ^{mathbf {x} }} при ограничениях {displaystyle mathbf {Ax} leqslant mathbf {b} ,mathbf {x} geqslant 0}», мы можем построить другую задачу путём комбинирования её с двойственной ей задачей. Комбинированная задача имеет как x, так и y в качестве переменных:

Максимизировать 1

при ограничениях {displaystyle mathbf {Ax} leqslant mathbf {b} ,mathbf {A} ^{T}mathbf {y} geqslant mathbf {c} ,mathbf {c} ^{T}mathbf {x} geqslant mathbf {b} ^{T}mathbf {y} ,mathbf {x} geqslant 0,mathbf {y} geqslant 0}

Если комбинированная задача имеет допустимое решение (x,y), то по слабой двойственности {displaystyle mathbf {c} ^{T}mathbf {x} =mathbf {b} ^{T}mathbf {y} }. Таким образом, x должно быть максимальным решением прямой задачи, а y должно быть минимальным решением двойственной задачи. Если комбинированная задача не имеет допустимого решения, то и прямая задача допустимого решения не имеет.

Примеры[править | править код]

Простой пример[править | править код]

Рассмотрим прямую задачу с двумя переменными и одним ограничением:

Максимизировать {displaystyle 3x_{1}+4x_{2}}
При условиях
{displaystyle {begin{aligned}&5x_{1}+6x_{2}=7\&x_{1}geqslant 0,x_{2}geqslant 0end{aligned}}}

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

Минимизировать {displaystyle 7y_{1}}
При условиях

{displaystyle {begin{aligned}&&5y_{1}geqslant 3\&&6y_{1}geqslant 4\&&y_{1}in mathbb {R} end{aligned}}}

Легко видеть, что максимум прямой задачи достигается, когда переменная x1 минимизируется до её нижней границы (0), а переменная x2 максимизируется до её верхней границы, заданной ограничением (7/6). Максимум равен {displaystyle 4cdot 7/6=14/3}.

Аналогично, минимум двойственной задачи достигается, когда y1 минимизируется до его нижнего значения при ограничениях: первое ограничение даёт значение 3/5, в то время как второе даёт более строгую границу 4/6, так что фактический минимум равен 4/6 и минимум целевой функции равен {displaystyle 7cdot 4/6=14/3}.

Согласно теореме о сильной двойственности максимум прямой задачи равен минимуму двойственной.

Мы используем этот пример для иллюстрации доказательства теоремы о слабой двойственности. Предположим, что в прямой задаче линейного программирования мы хотим получить верхнюю границу целевой функции {displaystyle 3x_{1}+4x_{2}}. Мы можем использовать ограничение, умноженное на некоторый коэффициент, скажем, y_1. Для любого y_1 мы имеем: {displaystyle y_{1}cdot (5x_{1}+6x_{2})=7y_{1}}. Теперь, если {displaystyle y_{1}cdot 5x_{1}geqslant 3x_{1}} и {displaystyle y_{1}cdot 6x_{2}geqslant 4x_{2}}, то {displaystyle y_{1}cdot (5x_{1}+6x_{2})geqslant 3x_{1}+4x_{2}}, так что {displaystyle 7y_{1}geqslant 3x_{1}+4x_{2}}. Следовательно, целевая функция двойственной задачи является верхней границей целевой функции прямой задачи.

Пример фермера[править | править код]

Рассмотрим фермера, который может выращивать пшеницу и ячмень на площади L, используя удобрения F и пестициды P.
Чтобы вырастить одну единицу пшеницы на единице площади, нужно использовать F_{1} единиц удобрений и P_1 единиц пестицидов.

Прямой задачей будет решение фермера, сколько пшеницы (x_{1}) и ячменя (x_{2}) выращивать, если их продажные цены равны S_{1} и S_{2} за единицу.

Максимизировать:
{displaystyle S_{1}cdot x_{1}+S_{2}cdot x_{2}} (максимизировать доход от выращивания пшеницы и ячменя)
при ограничениях:
{displaystyle x_{1}+x_{2}leqslant L} (фермер не может использовать больше земли, чем у него есть)
{displaystyle F_{1}cdot x_{1}+F_{2}cdot x_{2}leqslant F} (фермер не может использовать больше удобрений, чем есть в наличии)
{displaystyle P_{1}cdot x_{1}+P_{2}cdot x_{2}leqslant P} (фермер не может использовать больше пестицидов, чем у него есть)
{displaystyle x_{1},x_{2}geqslant 0} (нельзя вырастить отрицательную величину зерна).

Для двойственной задачи предположим, что y единиц цены для каждой из этих видов продукта (входы) представлены группой планирования. Задачей группы планирования является минимизация полной стоимости производство продукции при заданных величинах потребления ресурсов с определением стоимости единицы ресурса (выход). Это соответствует следующей задаче линейного программирования:

Минимизировать
{displaystyle Lcdot y_{L}+Fcdot y_{F}+Pcdot y_{P}} (минимизировать полную стоимость производства продукции как «целевая функция»)
при ограничениях:
{displaystyle y_{L}+F_{1}cdot y_{F}+P_{1}cdot y_{P}geqslant S_{1}} (фермер должен получить не менее S1 за единицу пшеницы)
{displaystyle y_{L}+F_{2}cdot y_{F}+P_{2}cdot y_{P}geqslant S_{2}} (фермер должен получить не менее S2 за единицу ячменя)
{displaystyle y_{L},y_{F},y_{P}geqslant 0} (цены не могут быть отрицательными).

В матричной форме:

Минимизировать: {displaystyle {begin{bmatrix}L&F&Pend{bmatrix}}{begin{bmatrix}y_{L}\y_{F}\y_{P}end{bmatrix}}}
при условиях: {displaystyle {begin{bmatrix}1&F_{1}&P_{1}\1&F_{2}&P_{2}end{bmatrix}}{begin{bmatrix}y_{L}\y_{F}\y_{P}end{bmatrix}}geqslant {begin{bmatrix}S_{1}\S_{2}end{bmatrix}},,{begin{bmatrix}y_{L}\y_{F}\y_{P}end{bmatrix}}geqslant 0.}

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

Каждой переменной в пространстве прямой задачи соответствует неравенство в пространстве двойственной задачи. Каждому неравенству в пространстве прямой задачи соответствует переменная в пространстве двойственной задачи.

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

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

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

Недопустимая задача[править | править код]

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

  • Если прямая задача является неограниченной, то двойственная задача недопустима;
  • Если двойственная задача является неограниченной, то прямая задача недопустима[11].

Однако может быть, что обе задачи, как двойственная, так и прямая, недопустимы. Вот пример:

Приложения[править | править код]

Теорема о максимальном потоке и минимальном разрезе является специальным случаем теоремы о сильной двойственности — максимизация потока является прямой задачей линейного программирования, а минимизация разреза является двойственной задачей линейного программирования. См. теорему Форда — Фалкерсона.

Другие теоремы, связанные с графами, могут быть доказаны с помощью теоремы о сильной двойственности, в частности, теорема Кёнига[12].

Теорема о минимаксе[en] для игр с нулевой суммой может быть доказана с помощью теоремы о сильной двойственности[13].

Альтернативный алгоритм[править | править код]

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

Минимизировать {displaystyle sum _{i=1}^{m}c_{i}x_{i}+sum _{j=1}^{n}d_{j}t_{j}}
при условиях
{displaystyle sum _{i=1}^{m}a_{ij}x_{i}+e_{j}t_{j}geqslant g_{j},1leqslant jleqslant n}
{displaystyle f_{i}x_{i}+sum _{j=1}^{n}b_{ij}t_{j}geqslant h_{i},1leqslant ileqslant m}
{displaystyle x_{i}geqslant 0,,t_{j}geqslant 0,1leqslant ileqslant m,1leqslant jleqslant n}

Мы имеем {displaystyle m+n} условий и все переменные неотрицательны. Нам нужно определить {displaystyle m+n} двойственных переменных: yj и si. Мы получаем:

Минимизировать {displaystyle sum _{i=1}^{m}c_{i}x_{i}+sum _{j=1}^{n}d_{j}t_{j}}
при условиях
{displaystyle sum _{i=1}^{m}a_{ij}x_{i}cdot y_{j}+e_{j}t_{j}cdot y_{j}geqslant g_{j}cdot y_{j},1leqslant jleqslant n}
{displaystyle f_{i}x_{i}cdot s_{i}+sum _{j=1}^{n}b_{ij}t_{j}cdot s_{i}geqslant h_{i}cdot s_{i},1leqslant ileqslant m}
{displaystyle x_{i}geqslant 0,,t_{j}geqslant 0,1leqslant ileqslant m,1leqslant jleqslant n}
{displaystyle y_{j}geqslant 0,,s_{i}geqslant 0,1leqslant jleqslant n,1leqslant ileqslant m}

Поскольку это задача минимизации, нам хотелось бы получить двойственную задачу, которая является нижней границей прямой задачи. Другими словами, нам хотелось бы, чтобы сумма всех правых частей ограничений была максимальной при условиях, что для каждой переменной прямой задачи сумма её коэффициентов не превосходит коэффициента в линейной функции. Например, x1 появляется в n+1 ограничениях. Если мы суммируем коэффициенты ограничения, мы получим {displaystyle a_{1,1}mathbf {y} _{1}+a_{1,2}mathbf {y} _{2}+dots +a_{1,n}mathbf {y} _{n}+f_{1}mathbf {s} _{1}}. Эта сумма должна не превосходить c1. Как результат мы получаем:

Максимизировать {displaystyle sum _{j=1}^{n}g_{j}y_{j}+sum _{i=1}^{m}h_{i}s_{i}}
при ограничениях
{displaystyle sum _{j=1}^{n}a_{ij}y_{j}+f_{i}s_{i}leqslant c_{i},1leqslant ileqslant m}
{displaystyle e_{j}y_{j}+sum _{i=1}^{m}b_{ij}s_{i}leqslant d_{j},1leqslant jleqslant n}
{displaystyle y_{j}geqslant 0,,s_{i}geqslant 0,1leqslant jleqslant n,1leqslant ileqslant m}

Вычисления выше предполагают, что задача представлена в стандартной форме. Это предположение не влияет на общность рассуждений, так как любая задача линейного программирования может быть приведена к стандартному виду.

Интерпретации в реальной жизни[править | править код]

Теорема двойственности имеет экономическую интерпретацию. Если мы интерпретируем прямую задачу линейного программирования как классическую задачу «распределения ресурсов», её двойственную задачу можно интерпретировать как задачу «оценки ресурсов»[14]. См. статью Теневая ценаruen. Об экономической интерпретации двойственной задачи можно почитать также в книге Лунгу[15].

Теорема двойственности имеет и физическую интерпретацию[16].

Примечания[править | править код]

  1. Иногда используется термин Сопряжённая задача, как, например, в книге Юдина и Гольштейна (Юдин, Гольштейн 1969, 149) или в книге Лунгу (Лунгу 2005, 67). Во второй книге прямая задача именуется также основной задачей.
  2. Gartner, Matousek, 2006, с. 81–104.
  3. Юдин, Гольштейн, 1969, с. 150-152 Пункт 5.2.
  4. Юдин, Гольштейн, 1969, с. 157-159 Пункт 5.5.
  5. Gartner, Matousek, 2006, с. 85.
  6. Доказательство очень близкого утверждения, из которого вытекает данная теорема можно найти в книге Юдина и Гольштейна (Юдин, Гольштейн 1969, 159, Лемма 5.1)
  7. Gartner, Matousek, 2006, с. 81–83.
  8. Доказательство можно найти в книге Юдина и Гольштейна, где она именуется «первой теоремой двойственности» (Юдин, Гольштейн 1969, 164, Теорема 6.1)
  9. Gartner, Matousek, 2006, с. 87–89.
  10. Gartner, Matousek, 2006, с. 81–94.
  11. Юдин, Гольштейн, 1969, с. 162, Лемма 5.3.
  12. A. A. Ahmadi Lecture 6: linear programming and matching. Princeton University (2016). Архивировано 21 сентября 2018 года.
  13. Gartner, Matousek, 2006, с. sub.8.1.
  14. В книге Юдина и Гольштейна для теневых цен используется термин предварительные оценки (факторов производства).
  15. Лунгу, 2005, с. 68 Пункт 5.4.
  16. Gartner, Matousek, 2006, с. 86–87.

Литература[править | править код]

  • Jiri Matousek, Bernd Gärtner. Understanding and Using Linear Programming. — Springer, 2006. — С. 81–104. — (Universitext).
  • Юдин Д.Б., Гольштейн Е.Г. Линейное программирование (теория, методы и приложения). — Москва: «Наука», 1969.
  • Лунгу К.Н. Линейное программирование. Руководство к решению задач. — М.: ФИЗМАТЛИТ, 2005. — ISBN 5-9221-0631-7.

Добавить комментарий