У любого завода ресурсы конечны: столько-то сырья, станков, электричества, рабочих часов. Из них можно собрать разный набор изделий — и прибыль выйдет разной. Какой план даст максимум? Перебрать все варианты невозможно: их астрономически много.
Ещё в 1939 году, до войны, ленинградский математик Леонид Канторович показал, что эту задачу можно решить математически — так родилось линейное программирование. А массовое применение в экономике метод получил уже в новосибирском Академгородке. Задача записывается коротко:
$$ \max\; c^{T} x \quad\text{при}\quad A x \le b $$
где $x$ — план производства (сколько чего выпустить), $c$ — ценность единицы каждого изделия, $A$ — сколько ресурсов уходит на изделие, $b$ — сколько ресурсов в наличии. Надо найти такой план $x$, чтобы ценность $c^T x$ была наибольшей, не выйдя за запасы.
Каждое ограничение ресурса — прямая, отсекающая часть плоскости. Вместе они вырезают многоугольник допустимых планов; оптимум всегда лежит в его вершине.
Главная красота — где прячется ответ. Оказывается, лучший план всегда сидит в углу.
Каждое ограничение «ресурса не больше, чем есть» — это прямая, которая отсекает половину плоскости. Сложи все такие ограничения — и останется многоугольник допустимых планов (всё, что физически выполнимо). А ценность $c^T x$ растёт в каком-то одном направлении: представь прямую постоянной прибыли, которая едет по многоугольнику. Последняя точка, где она ещё касается допустимой области, — это вершина (угол) многоугольника. Поэтому искать оптимум среди бесконечного множества планов не нужно: достаточно обойти вершины1. На этом и стоит знаменитый симплекс-метод.
Где работает тот же закон?
Линейное программирование сегодня везде, где делят ограниченный ресурс: в логистике и развозе грузов со складов, в энергетике, в управлении цепочками поставок, в алгоритмах маркетплейсов и в системах ИИ. Частный случай — транспортная задача Канторовича о том, как развезти грузы с минимальными затратами, — лёг в основу целой математической теории оптимального переноса.
Линейное программирование: оптимум линейной целевой функции на выпуклом многограннике ограничений достигается в вершине; основы заложил Л. В. Канторович (1939) (Wikipedia, «Linear programming»; «Leonid Kantorovich»). ↩
Сколько стоит лишний час работы станка?
Самая удивительная идея Леонида Канторовича — не просто оптимальный план, а выводимая из него ценность ресурса, называемая теневой ценой или объективно обусловленной оценкой. Рассмотрим подробнее механизм образования этой цены1.
Механизм формирования теневых цен
Пусть мы имеем задачу максимизации прибыли от использования ресурсов:
где: — $x$ — вектор выпуска продукции (план), — $c$ — вектор удельной ценности каждой единицы продукции, — $A$ — матрица коэффициентов расхода ресурсов на производство одной единицы продукции, — $b$ — вектор доступных ресурсов.
Оптимальное решение данной задачи даёт максимальную прибыль $f^$. Возникает естественный вопрос: насколько изменится эта максимальная прибыль, если увеличить количество доступного ресурса $i$-го типа на небольшую величину $\Delta b_i$?*
Величина $\frac{\partial f^}{\partial b_i}$ называется теневой ценой* ресурса $i$-го типа и показывает, насколько увеличится максимальная прибыль при увеличении запаса этого ресурса на малую величину. Именно эта величина является объективно обоснованной оценкой стоимости данного ресурса.
Почему важна именно производная?
Производная отражает чувствительность оптимальной прибыли к изменению запасов ресурса. Чем выше значение $\frac{\partial f^*}{\partial b_i}$, тем сильнее влияние данного ресурса на итоговую прибыль предприятия. Таким образом, если ресурс сильно ограничен и увеличение его количества значительно повышает прибыль, его теневая цена будет высокой.
Пример расчёта теневой цены
Рассмотрим простой пример. Пусть завод производит два продукта ($x_1$ и $x_2$), используя три ресурса ($r_1$, $r_2$, $r_3$). Ресурсные ограничения задаются уравнениями:
Практическое значение теневых цен
Теневые цены позволяют понять реальную стоимость ресурсов в рамках конкретной производственной ситуации. Например, если предприятие рассматривает возможность приобретения дополнительного оборудования или закупки большего объёма сырья, оно может использовать теневую цену соответствующего ресурса для принятия экономически обоснованного решения.
Открытый вопрос
Если каждый ресурс имеет свою объективно обоснованную оценку, отражающую его вклад в общую прибыль, почему рыночные цены зачастую отличаются от этих теоретических значений? Какие факторы влияют на расхождение между теневыми ценами и реальными рыночными котировками?
Двойственные переменные (теневые цены, «объективно обусловленные оценки») $\lambda_i = \partial f^{*}/\partial b_i$ показывают прирост оптимума на единицу ресурса; термин ввёл Л. В. Канторович, «Экономический расчёт наилучшего использования ресурсов» (Изд-во АН СССР, 1959). ↩