МатВектор

Command Palette

Search for a command to run...

♟️ Теория игр30 минСложность 3/5+60 XP

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

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

3 интерактива2 квизаУрок 8 из 9Обновлено 04.10.2026Обычный

Тот же цех, тот же начальник — другой вопрос. Раньше мы спрашивали: «сколько выпускать столов и тумб?» А теперь спросим иначе: «сколько на самом деле стоит нам час станка?» Продать час нельзя, станок уже куплен, но цена у него есть — теневая. Она спрятана в двойственной задаче, и у каждой задачи линейного программирования такой двойник ровно один.

Как построить двойственную задачу: пять правил#

Прямая задача — наш план производства: при , , . Правила построения двойственной задачи:

  1. максимум меняется на минимум (и наоборот: у задачи на минимум двойственная — на максимум);
  2. правые части ограничений становятся коэффициентами целевой функции, а коэффициенты — правыми частями;
  3. матрица условий транспонируется: каждая строка ограничений прямой задачи превращается в столбец переменных двойственной;
  4. знаки ограничений переворачиваются: «≤» становится «≥»;
  5. неотрицательность сохраняется: если у прямой задачи , то у двойственной .
двойственная задача: — оценка часа станка А, — часа Б

Переменные называют двойственными оценками ресурсов. Такая пара — максимум с ограничениями «≤» против минимума с ограничениями «≥» — называется симметричной: задачи меняются местами простой перестановкой.

Прямая задача (max)Двойственная задача (min)
коэффициенты цели правые части ограничений
правые части ограничений коэффициенты цели
строка ограниченийстолбец переменных (транспонирование)
ограничения «≤»ограничения «≥»
Соответствия симметричной пары — проверяйте по этой таблице перед сдачей

Пример: фабрика глазами логиста#

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

Прочтите ограничения двойственной задачи экономически, до всяких теорем. Первое: час станка А плюс час станка Б должны стоить не меньше двух тысяч — иначе было бы выгодно перевести все мощности на столы и наращивать их бесконечно. Второе: два часа А и час Б — не меньше трёх тысяч — иначе все мощности ушли бы на тумбы. Двойственная задача — это план цен, при котором выпускать что-либо сверх оптимального становится невыгодно: всякий «внеконкурсный» продукт окупается ровно по оценке или дороже.

вычитаем первое уравнение из второго: , затем

Целевая функция двойственной задачи: — ровно столько же, сколько прибыль . Совпадение здесь не случайность, а содержание основной теоремы.

Что говорят теоремы двойственности#

  • Теорема о взаимной двойственности: если прямая задача имеет оптимум, то двойственная тоже разрешима — у обеих существуют оптимальные планы.
  • Слабая двойственность: для любых допустимых планов — прибыль не может превысить оценку ресурсов. Зазор между ними называют двойственным.
  • Основная (сильная) теорема двойственности: на оптимальных планах значения совпадают, .
  • Условие дополняющей нежёсткости: только при активном -м ограничении; только при активном -м ограничении двойственной.

Эти четыре строчки — весь каркас. Слабая двойственность даёт мгновенную проверку: получили ? Ошибка в вычислениях, дальше можно не искать. Сильная — даёт контроль наоборот: оба значения совпали при допустимых планах — оба решения верны, обосновывать ничего больше не нужно.

Слабую двойственность нетрудно и доказать — двух строчек на пальцах. Из ограничений двойственной , умножаем на и суммируем по : получается . В скобках стоят левые части ограничений прямой задачи, они не больше ; домножаем на , суммируем — и выходит . Любая прибыль не превышает любую оценку ресурсов. На оптимумах зазор стягивается в нуль — это уже сильная теорема, и её доказательство проглядывает из финальной симплекс-таблицы: строка оценок и есть мост между задачами.

Теневые цены: сколько стоит лишний час станка#

Теневая цена читается так: добавьте станку А один час фонда — прибыль вырастет на тысячу. Проверим честно. Ограничение при прежнем даёт вершину : прибыль — было 14, стало 15. Прибавка в точности .

Тот же фокус со станком Б: правая часть даёт вершину с прибылью . И снова плюс тысяча: . Пока структура оптимума не меняется, прибыль линейно отвечает на ресурсы: — в этом и есть экономический смысл двойственных оценок.

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

А если ресурс в избытке? Приставим к цеху станок В с ограничением : он не прижат, план тратит на изделия 6 часов из 15. Его двойственная оценка — сколько ни наращивай фонд В, прибыль не сдвинется. Дефицитный ресурс имеет положительную цену, избыточный — нулевую.

В финальной симплекс-таблице это видно без расчётов: оценки при балансовых переменных и есть двойственные цены. Наша таблица кончалась строкой — вот они, , , вынесенные симплексом бесплатно. Как таблица строилась — симплекс-метод.

Несимметричная двойственность: что меняется#

Правила со знаком зависят от формы прямой задачи. Если ограничения записаны равенствами, знак соответствующих свободен. Если какая-то переменная не ограничена по знаку, -е ограничение двойственной превращается в равенство. Максимуму с ограничениями «≥» отвечают неположительные оценки. Логика одна — «каждому знаку свой сдвиг» — но перед построением пару приводят к одной из стандартных форм. Для ручных задач хватает симметричного случая; несимметричная механика нужна, например, в матричных играх, где смешанные стратегии живут в уравнениях, — подробности в уроке про смешанные стратегии.

Несимметричный случай стоит увидеть на нашей же задаче. Перепишем ограничение станка А как равенство — тогда свободна по знаку: ресурс задан жёстко, его «цена» может быть и отрицательной, если лишний фонд мешает. Если же переменная не ограничена по знаку, её столбец отвечает равенством в двойственной задаче — равенство в прямой порождает свободу в двойственной и наоборот. Правил немного, но они жёсткие: перед построением пару приводят к одной из стандартных форм, иначе знаки перепутаются.

Как проверить сильную двойственность на числах#

  1. Допустимость прямой: план : , — верно; .
  2. Допустимость двойственной: план : , — верно; .
  3. Сравниваем: — сильная двойственность выполнена, оба плана оптимальны.
  4. Контроль дополняющей нежёсткости: оба ограничения активны — обе цены положительны; обе продукции выгодны — оба неравенства двойственной активны. Противоречий нет.

Двойственность — не экзотика, а рабочий инструмент: потенциалы транспортной задачи — двойственные оценки (см. транспортную задачу), анализ «что будет, если поднять бюджет» — те же теневые цены. Матричная запись пары задач разобрана в матрицах и операциях, сам термин — в словарной статье про матрицу. Начало темы — линейное программирование.

Следующий шаг: возьмите задачу о рационе из первого урока и постройте к ней двойственную — «задачу оценки питательности». Решите обе и сравните значения. Если и сошлись — правила усвоены; если разошлись — ищите перевёрнутый знак, обычно он один.

Проверь себя+10 XP

Прямая задача на максимум содержит ограничение «≥». Каков знак соответствующей двойственной переменной в симметричной паре?

Проверь себя+10 XP

Прямая задача дала , а двойственная — . Оба плана допустимы. Вывод?

Частые вопросы

Что такое теневые цены в двойственной задаче?

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

Как построить двойственную задачу по прямой?

Поменять местами коэффициенты цели и правые части, транспонировать матрицу условий, заменить максимум на минимум, «≤» на «≥», сохранить неотрицательность переменных. Затем проверить размерность: у ограничений и переменных количество меняется местами.

Что утверждает основная теорема двойственности?

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

Что означает нулевая двойственная оценка ресурса?

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

Готовитесь к контрольной?

Чеклист тем по «Теория игр»: что вы уже умеете, что повторить и в каком порядке.

Открыть чеклист предмета →

Проверьте себя в бою

Босс-экзамен по «Теория игр»: квизы всех уроков плюс бесконечный поток сгенерированных задач. Каждая попытка — новый расклад.

Начать босс-экзамен →