Двойная линейная программа
Двойником (ЛП) является другая ЛП , данной линейной программы полученная из исходной ( первоначальной ) ЛП следующим схематическим образом:
- Каждая переменная в первичной ЛП становится ограничением в двойственной ЛП;
- Каждое ограничение в первичной ЛП становится переменной в двойственной ЛП;
- Объективное направление обратное: максимум в первичном становится минимумом в двойственном и наоборот.
Теорема о слабой двойственности утверждает, что целевое значение двойственной ЛП при любом допустимом решении всегда является границей цели первичной ЛП при любом допустимом решении (верхняя или нижняя граница, в зависимости от того, является ли это задачей максимизации или минимизации). Фактически, это ограничивающее свойство справедливо для оптимальных значений двойственных и простых ЛП.
Теорема сильной двойственности утверждает, что, более того, если простое число имеет оптимальное решение, то и двойственное решение тоже имеет оптимальное решение, и два оптимума равны . [1]
Эти теоремы принадлежат к более широкому классу теорем двойственности в оптимизации . Теорема о сильной двойственности — это один из случаев, когда разрыв двойственности (разрыв между оптимумом простого и оптимумом двойственного) равен 0.
Форма двойной пластинки
[ редактировать ]Предположим, у нас есть линейная программа:
Максимизировать c Т x при условии A x ≤ b , x ≥ 0.
Нам хотелось бы построить верхнюю границу решения. Таким образом, мы создаем линейную комбинацию ограничений с положительными коэффициентами, такую, что коэффициенты x в ограничениях равны по крайней мере c. Т . Эта линейная комбинация дает нам верхнюю границу цели. Переменные y двойственной ЛП являются коэффициентами этой линейной комбинации. Двойной ЛП пытается найти такие коэффициенты, которые минимизируют полученную верхнюю границу. Это дает следующий LP: [1] : 81–83
Минимизировать б Т y подлежит А Т у ≥ с , у ≥ 0
Эта пластинка называется двойником оригинальной пластинки.
Интерпретация
[ редактировать ]Теорема двойственности имеет экономическую интерпретацию. [2] [3] Если мы интерпретируем первичную ЛП как классическую проблему « распределения ресурсов », то ее двойственную ЛП можно интерпретировать как задачу «оценки ресурсов».
Рассмотрим фабрику, которая планирует производство товаров. Позволять быть его производственным графиком (сделать количество добра ), позволять быть списком рыночных цен (единицы товара могу продать за ). Ограничения, которые он имеет, (он не может производить отрицательные товары) и сырьевые ограничения. Позволять быть сырьем, которое у него есть в наличии, и пусть – матрица материальных затрат (производство одной единицы товара требует единицы сырья ).
Тогда ограниченная максимизация дохода является основной ЛП:
Максимизировать c Т x при условии A x ≤ b , x ≥ 0.
Теперь рассмотрим другую фабрику, у которой нет сырья и которая желает закупить весь запас сырья на предыдущей фабрике. Он предлагает ценовой вектор (единица сырья для ). Для того, чтобы предложение было принято, должно быть так, что , поскольку в противном случае фабрика могла бы заработать больше денег, производя определенный продукт, чем продавая сырье, используемое для производства товара. Это также должно быть , поскольку завод не будет продавать сырье по отрицательной цене. Тогда задача оптимизации второй фабрики — это двойной ЛП:
Минимизировать б Т y подлежит А Т у ≥ с , у ≥ 0
Теорема двойственности утверждает, что разрыв двойственности между двумя задачами ЛП равен как минимум нулю. С экономической точки зрения это означает, что если первой фабрике будет предложено купить весь запас сырья по цене за единицу продукции y , такой, что A Т y ≥ c , y ≥ 0, то предложение следует принять. Оно будет получать по крайней мере столько же дохода, сколько могло бы получить от производства готовой продукции.
Теорема сильной двойственности далее утверждает, что разрыв двойственности равен нулю. При сильной двойственности двойное решение с экономической точки зрения, это «равновесная цена» (см. теневую цену ) на сырье, которое завод с производственной матрицей и запасы сырья принял бы за сырье, учитывая рыночную цену готовой продукции . (Обратите внимание, что не может быть уникальным, поэтому равновесная цена не может полностью определяться , , и .)
Чтобы понять, почему, подумайте, растут ли цены на сырье. таковы, что для некоторых , то завод закупит больше сырья, чтобы производить больше товаров. , так как цены «слишком низкие». И наоборот, если цены на сырье удовлетворяют , но не минимизирует , то фабрика будет зарабатывать больше денег, продавая сырье, чем производя товары, поскольку цены «слишком высоки». По равновесной цене фабрика не может увеличить свою прибыль за счет покупки или продажи сырья.
Теорема двойственности имеет и физическую интерпретацию. [1] : 86–87
Построение двойного ЛП
[ редактировать ]В общем случае, если задана первичная ЛП, для построения ее двойственной ЛП можно использовать следующий алгоритм. [1] : 85 Первичный LP определяется:
- Набор из n переменных: .
- Для каждой переменной , ограничение знака – оно должно быть либо неотрицательным ( ), или неположительный ( ), или неограниченный ( ).
- Целевая функция:
- Список из m ограничений. Каждое ограничение j : где символ перед может быть одним из или или .
Дуальный ЛП строится следующим образом.
- Каждое первичное ограничение становится двойной переменной. Итак, существует m переменных: .
- Ограничение знака каждой двойной переменной «противоположно» знаку ее основного ограничения. Так " " становится и " " становится и " " становится .
- Двойная целевая функция
- Каждая основная переменная становится двойным ограничением. Итак, существует n ограничений. Коэффициент двойственной переменной в двойном ограничении является коэффициентом ее основной переменной в ее первичном ограничении. Итак, каждое ограничение i : , где символ перед аналогично ограничению знака переменной i в исходной ЛП. Так становится " " и становится " " и становится " ".
Из этого алгоритма легко увидеть, что двойственное к двойственному является основным.
Векторные формулировки
[ редактировать ]Если все ограничения имеют одинаковый знак, приведенный выше рецепт можно представить в более коротком виде, используя матрицы и векторы. В следующей таблице показаны отношения между различными видами простых и двойственных чисел.
Первобытный | Двойной | Примечание |
---|---|---|
Максимизировать c Т x при условии A x ≤ b , x ≥ 0 | Минимизировать б Т y подлежит А Т у ≥ с , у ≥ 0 | Это называется «симметричной» двойной задачей. |
Максимизировать c Т x при условии A x ≤ b | Минимизировать б Т y подлежит А Т у знак равно с , у ≥ 0 | Это называется «асимметричной» двойной задачей. |
Максимизировать c Т x при условии A x знак равно b , x ≥ 0 | Минимизировать б Т y подлежит А Т у ≥ с |
Теоремы двойственности
[ редактировать ]Ниже предположим, что основная ЛП — это «максимизировать c Т x с учетом [ограничений]», а двойная ЛП — «минимизировать b Т y подлежат [ограничениям]».
Слабая двойственность
[ редактировать ]Теорема о слабой двойственности гласит, что для каждого допустимого решения x простого решения и каждого допустимого решения y двойственного: c Т х ≤ б Т й . Другими словами, объективное значение в каждом допустимом решении двойственного решения является верхней границей объективного значения простого решения, а объективное значение в каждом допустимом решении простого решения является нижней границей объективного значения двойственного решения. Вот доказательство оригинального LP «Maximize c Т x при условии A x ≤ b , x ≥ 0":
- с Т х
- = х Т c [поскольку это просто скалярное произведение двух векторов]
- ≤ х Т ( А Т и ) [поскольку A Т y ≥ c в силу двойственных ограничений и x ≥ 0]
- = ( х Т А Т ) y [по ассоциативности]
- = ( Топор ) Т y [свойствами транспонирования]
- ≤ б Т y [поскольку A x ≤ b по основным ограничениям]
Слабая двойственность подразумевает:
Макс х с Т х ≤ мин у б Т и
В частности, если простое число неограничено (сверху), то двойственное число не имеет допустимого решения, а если двойственное число неограничено (снизу), то простое число не имеет допустимого решения.
Сильная двойственность
[ редактировать ]Теорема сильной двойственности утверждает, что если одна из двух задач имеет оптимальное решение, то же самое имеет и другая, и что границы, данные теоремой слабой двойственности, точны, т.е.:
Макс х с Т х = мин у б Т и
Теорему сильной двойственности доказать труднее; в доказательствах обычно в качестве подпрограммы используется слабая теорема двойственности.
Одно доказательство использует симплексный алгоритм и опирается на доказательство того, что с помощью подходящего правила поворота оно дает правильное решение. Доказательство устанавливает, что как только симплексный алгоритм завершает решение основной ЛП, из окончательной таблицы можно прочитать решение двойственной ЛП. Итак, запустив симплексный алгоритм, мы получаем решения как для простого, так и для двойственного одновременно. [1] : 87–89
Другое доказательство использует лемму Фаркаша . [1] : 94
Теоретические последствия
[ редактировать ]1. Из теоремы слабой двойственности следует, что найти единственное допустимое решение так же сложно, как найти оптимальное допустимое решение. Предположим, у нас есть оракул, который по заданной ЛП находит произвольное допустимое решение (если оно существует). Учитывая ЛП «Максимизировать c Т x при условии A x ≤ b , x ≥ 0", мы можем построить другой ЛП, объединив этот ЛП с его двойственным. Объединенный ЛП имеет как x, так и y в качестве переменных:
Максимизировать 1
при условии A x ≤ b , A Т у ≥ с , с Т х ≥ б Т у , х ≥ 0, у ≥ 0
Если объединенная ЛП имеет допустимое решение ( x , y ), то по слабой двойственности c Т х = б Т й . Таким образом, x должно быть максимальным решением первичной ЛП, а y должно быть минимальным решением двойственной ЛП. Если объединенная ЛП не имеет допустимого решения, то и исходная ЛП не имеет допустимого решения.
2. Теорема сильной двойственности дает «хорошую характеристику» оптимального значения ЛП, поскольку позволяет нам легко доказать, что некоторое значение t является оптимальным для некоторого ЛП. Доказательство проходит в два этапа: [4] : 260–261
- Покажите допустимое решение основной ЛП со значением t ; это доказывает, что оптимум равен по крайней мере t .
- Покажите допустимое решение двойственной ЛП со значением t ; это доказывает, что оптимум не превосходит t .
Примеры
[ редактировать ]Крошечный пример
[ редактировать ]Рассмотрим исходную ЛП с двумя переменными и одним ограничением:
Применение приведенного выше рецепта дает следующую двойную ЛП с одной переменной и двумя ограничениями:
Легко видеть, что максимум первичной ЛП достигается, когда x 1 минимизируется до нижней границы (0), а x 2 максимизируется до верхней границы при ограничении (7/6). Максимум — 4 ⋅ 7/6 = 14/3.
Аналогично, минимум двойственного LP достигается, когда y 1 минимизируется до нижней границы при следующих ограничениях: первое ограничение дает нижнюю границу 3/5, тогда как второе ограничение дает более строгую нижнюю границу 4/6, поэтому фактическая нижняя граница равна 4/6, а минимальная — 7 ⋅ 4/6 = 14/3.
В соответствии с сильной теоремой двойственности максимум простого числа равен минимуму двойственного.
Мы используем этот пример для иллюстрации доказательства слабой теоремы двойственности. Предположим, что в первичной ЛП мы хотим получить верхнюю границу цели . Мы можем использовать ограничение, умноженное на некоторый коэффициент, скажем . Для любого мы получаем: . Теперь, если и , затем , так . Следовательно, цель двойственной ЛП является верхней границей цели первичной ЛП.
Пример фермера
[ редактировать ]
Рассмотрим фермера, который может выращивать пшеницу и ячмень, имея при себе определенное количество земли L , удобрений F и P. пестицидов Вырастить одну единицу пшеницы, одну единицу земли, единиц удобрений и необходимо использовать единицы пестицида. Аналогично, чтобы вырастить одну единицу ячменя, нужно одну единицу земли, единиц удобрений и необходимо использовать единицы пестицида.
Основной проблемой будет то, что фермер решит, сколько пшеницы ( ) и ячмень ( ) расти, если их цены продажи и за единицу.
Максимизировать: | (максимизировать доход от производства пшеницы и ячменя) | |
подлежит: | (нельзя использовать больше земли, чем доступно) | |
(нельзя использовать больше удобрений, чем доступно) | ||
(нельзя использовать больше пестицидов, чем доступно) | ||
(не может производить отрицательное количество пшеницы или ячменя). |
В матричной форме это выглядит так:
- Максимизировать:
- подлежит:
Для решения двойной задачи предположим, что цены за единицу продукции для каждого из этих средств производства (ресурсов) устанавливаются советом планирования. Задача совета по планированию состоит в том, чтобы минимизировать общие затраты на приобретение определенного количества ресурсов, одновременно предоставляя фермеру минимальную цену за единицу каждой из его культур (продукции): S 1 для пшеницы и S 2 для ячменя. Это соответствует следующему ЛП:
Свернуть: | (минимизировать общую стоимость средств производства как «целевую функцию») | |
подлежит: | (фермер должен получить шиллинга не менее 1 за пшеницу ) | |
(фермер должен получить за свой ячмень не менее S 2 ) | ||
(цены не могут быть отрицательными). |
В матричной форме это выглядит так:
- Свернуть:
- подлежит:
Основная проблема связана с физическими величинами. Учитывая, что все ресурсы доступны в ограниченных количествах и если известны цены за единицу всей продукции, какое количество продукции следует производить, чтобы максимизировать общий доход? Двойная проблема связана с экономическими ценностями. Учитывая минимальные цены на все единицы продукции и предполагая, что доступное количество всех ресурсов известно, какую схему ценообразования на единицу ресурсов следует установить, чтобы минимизировать общие расходы?
Каждой переменной в первичном пространстве соответствует неравенство, которому необходимо удовлетворять в двойственном пространстве, оба индексируются по типу вывода. Каждому неравенству, которому необходимо удовлетворять в простом пространстве, соответствует переменная в двойственном пространстве, обе индексированные по типу входных данных.
Коэффициенты, ограничивающие неравенства в простом пространстве, используются для вычисления цели в двойственном пространстве, входных величинах в этом примере. Коэффициенты, используемые для вычисления цели в основном пространстве, ограничивают неравенства в двойном пространстве, выводят цены за единицу в этом примере.
И первичная, и двойственная задачи используют одну и ту же матрицу. В первичном пространстве эта матрица выражает потребление физических количеств ресурсов, необходимых для производства заданного количества продукции. В двойственном пространстве он выражает создание экономической стоимости, связанной с выходом из установленных цен за единицу ресурсов.
Поскольку каждое неравенство можно заменить равенством и резервной переменной, это означает, что каждая основная переменная соответствует двойной резервной переменной, а каждая двойственная переменная соответствует основной резервной переменной. Это соотношение позволяет говорить о дополнительной нежесткости.
Неосуществимая программа
[ редактировать ]ЛП также может быть неограниченной или невыполнимой. Теория двойственности говорит нам, что:
- Если первичное неограничено, то двойственное невозможно;
- Если двойственное неограниченно, то простое невозможно.
Однако возможно, что и двойственное, и первичное могут оказаться невозможными. Вот пример:
Максимизировать: | |
С учетом: | |
Рассмотрение решения задачи линейного программирования как (обобщенного) собственного вектора
[ редактировать ]Существует тесная связь между задачами линейного программирования, собственными уравнениями и моделью общего равновесия фон Неймана. Решение задачи линейного программирования можно рассматривать как обобщенный собственный вектор.
Собственные уравнения квадратной матрицы имеют вид:
где и — левый и правый собственные векторы квадратной матрицы , соответственно, и является собственным значением.
Приведенные выше собственные уравнения для квадратной матрицы можно распространить на модель общего равновесия фон Неймана: [5] [6]
где экономический смысл и – равновесные цены различных товаров и равновесные уровни активности различных экономических агентов соответственно.
Модель равновесия фон Неймана может быть расширена до следующей модели структурного равновесия с и как матричные функции: [7]
где экономический смысл Это уровни полезности различных потребителей. Частным случаем приведенной выше модели является
Эту форму модели структурного равновесия и задачи линейного программирования часто можно преобразовать друг в друга, то есть решения этих двух типов задач часто являются последовательными.
Если мы определим , , , , то модель структурного равновесия можно записать в виде
Давайте проиллюстрируем модель структурного равновесия на ранее обсуждавшемся крошечном примере. В этом примере мы имеем , и .
Для решения модели структурного равновесия получаем [8]
Они согласуются с решениями задач линейного программирования.
Подставим приведенные выше результаты расчета в модель структурного равновесия, получив
Приложения
[ редактировать ]Теорема о максимальном потоке и минимальном разрезе является частным случаем сильной теоремы двойственности: максимизация потока - это основная ЛП, а минимизация разреза - двойственная ЛП. См. Теорему о максимальном потоке и минимальном сокращении # Формулировка линейной программы .
Другие теоремы, связанные с графами, можно доказать с помощью сильной теоремы двойственности, в частности, теоремы Кенига . [9]
Теорему о минимаксе для игр с нулевой суммой можно доказать с помощью теоремы сильной двойственности. [1] : п.8.1
Альтернативный алгоритм
[ редактировать ]Иногда может показаться более интуитивным получить двойную программу, не глядя на матрицу программы. Рассмотрим следующую линейную программу:
Свернуть | |||
при условии | |||
У нас есть m + n условий, и все переменные неотрицательны. Мы определим m + n двойственных переменных: y j и s i . Мы получаем:
Свернуть | |||
при условии | |||
Поскольку это задача минимизации, мы хотели бы получить двойственную программу, которая является нижней границей основной. Другими словами, мы хотели бы, чтобы сумма всех правых частей ограничений была максимальной при условии, что для каждой основной переменной сумма ее коэффициентов не превышает ее коэффициент в линейной функции. Например, x 1 появляется в ограничениях n + 1. Если мы суммируем коэффициенты его ограничений, мы получим a 1,1 y 1 + a 1,2 y 2 + ... + a 1,;;n;; у п + ж 1 s 1 . Эта сумма должна быть не более c 1 . В результате мы получаем:
Максимизировать | |||
при условии | |||
Обратите внимание, что в наших расчетах мы предполагаем, что программа имеет стандартную форму. Однако любую линейную программу можно преобразовать к стандартной форме, и поэтому это не является ограничивающим фактором.
См. также
[ редактировать ]- Выпуклая двойственность
- Двойственность
- Двойственность (оптимизация)
- Полуопределенное программирование
- Релаксация (приближение)
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г Гертнер, Бернд; Матушек, Иржи (2006). Понимание и использование линейного программирования . Берлин: Шпрингер. ISBN 3-540-30697-8 . Страницы 81–104.
- ^ Сакарович, Мишель (1983), «Дополнения к двойственности: экономическая интерпретация двойных переменных» , Springer Texts in Electrical Engineering , Нью-Йорк, Нью-Йорк: Springer New York, стр. 142–155, ISBN 978-0-387-90829-8 , получено 23 декабря 2022 г.
- ^ Дорфман, Роберт (1987). Линейное программирование и экономический анализ . Пол А. Самуэльсон, Роберт М. Солоу. Нью-Йорк: Dover Publications. ISBN 0-486-65491-5 . OCLC 16577541 .
- ^ Ловас, Ласло ; Пламмер, доктор медицинских наук (1986), Теория соответствия , Анналы дискретной математики, том. 29, Северная Голландия, ISBN 0-444-87916-1 МР 0859549
- ^ фон Нейман, Дж. (1945). «Модель общего экономического равновесия». Обзор экономических исследований . 13 : 1–9. :
- ^ Кемени, Дж.Г.; Моргенштерн, О.; Томпсон, Г.Л. (1956). «Обобщение модели фон Неймана расширяющейся экономики». Эконометрика . 24 : 115–135.
- ^ Ли, Ву (2019). Общее равновесие и структурная динамика: перспективы новой структурной экономики (на китайском языке). Пекин: Издательство экономической науки. стр. 122–125. ISBN 978-7-5218-0422-5 .
- ^ «Модель общего равновесия и двойная линейная программа» . Проект КРАН-Р . Проверено 26 июня 2023 г.
Подробная документация по модели общего равновесия и двойной линейной программе в R.
- ^ А.А. Ахмади (2016). «Лекция 6: линейное программирование и сопоставление» (PDF) . Принстонский университет .