Теоремы двойственности
Пара взаимно двойственных задач линейного программирования обладает рядом интересных и важных для приложений свойств, связывающих их воедино. Исследование задач двойственной пары показывает, что при их решении можно столкнуться с одним из трех взаимно исключающих вариантов:
1) обе задачи имеют планы;
2) только одна из задач имеет планы;
3) множество планов обеих задач пусто.
Теорема 1. Для любых допустимых планов X = (x1, x2,… xn) и Y = (y1, y2,…, ym) исходной и двойственной задач соответственно значение целевой функции в задаче минимизации.
Теорема 2. Если исходная и двойственная задачи имеют допустимые планы, то существуют и оптимальные планы у этих задач.
Теорема 3 (первая основная теорема двойственности). Если одна из задач двойственной пары имеет оптимальный план, то другая также имеет оптимальный план. При этом для любых оптимальных планов
X* = (x1*, x2*,…, xn*) и Y* = (y1*, y2*,…, ym*)
имеет место равенство
∑ cjxj* = ∑ biyi*
Если целевая функция одной из задач не ограничена, то ограничения другой задачи несовместны. Однако обратное утверждение неверно. В случае отсутствия допустимых планов одной из задач другая также может не иметь допустимых планов.
Теорема 4 (вторая основная теорема двойственности).
Для того, чтобы допустимые планы x* и y* пары двойственных задач были оптимальными, необходимо и достаточно выполнение условий:
xj* (∑aijyi* - cj) = 0, j = 1, n;
yi* (∑aijxj* - bi) = 0, i = 1, m.
Это означает, что если какое-либо ограничение одной задачи при подстановке в него оптимального плана обращается в строгое неравенство, то соответствующая этому ограничению переменная в оптимальном плане двойственной задачи равна нулю. И наоборот, если какая-либо переменная в оптимальном плане одной задачи положительна, то соответствующее ей ограничение двойственной задачи обращается в равенство.
Формально указанная связь между исходной и двойственной задачей можно записать следующим образом:
если ∑aijxj* > bi, то yi* = 0;
если yi* > 0, то ∑aijxj* = bi;
или
если xj > 0, то ∑aijyi* = cj;
если ∑aijyi* > cj, то xj = 0.