Зависимость оптимального результата в задаче ЛП от правой части ограничений
Интересен вопрос, как влияют изменения ограничений на запасы ресурсов на оптимальное значение целевой функции.
Пусть в исходной задаче ЛП
∑ aij xj ≤ bi (i=1, …, m)
(P) xj ≥ 0 (j=1,…, n)
∑ cj xj → max
величины aij и cj неизменны, а правые части ограничений b1 ,…,bm могут меняться. Тогда любому вектору b=b1, …, bm будет соответствовать (если оно существует) свое оптимальное решение х*b и соответствующее оптимальное значение целевой функции Zmax=Zmax(b1, …, bm)= F(b)= F(х*b ).
Оказывается, что характер изменений этого оптимального значения Zmax может определяться с помощью оптимального решения двойственной задачи, то есть двойственных оценок.
Для функции F(b) отметим два свойства.
1. Функция F(b) положительно однородная функция первой степени: F(λb) = λF(b) при λ ≥ 0.
Действительно, легко проверить, что если х* – оптимальное решение при правой части b,то λх*– допустимое решение при правой части λb. Поэтому ∑ ci(λxi*) = λ ∑ ci xi*, откуда получаем:
F(λb) ≥ λF(b). Подумайте, почему λх* - допустимое и, более того, оптимальное решение при правой части λb и, следовательно, в последнем неравенстве фактически можно поставить равенство.
2. Функция F(b) – вогнутая функция (без доказательства):
F(αb1 + (1-α)b2) ≥ αF(b1) + (1-α)F(b2) для всех 0<α<1.
Третья Теорема двойственности:Если двойственная задача имеет (при некотором векторе b) единственное решение y*= y1*, …, ym*, то функция F(b) для прямой задачи дифференцируема в точке b и ее частные производные равны оптимальным двойственным переменным (оценкам):
∂F(b)/ ∂bi = yi* , (i=1, …, m),
то есть grad F(b) = y*. Более того, в некоторой окрестности данной точки b функция F(b) линейна по переменным b1, …, bm : F(b) = y1*b1 + … + ym*bm.
Замечание. Доказательство линейности функции максимума основано на том свойстве, что если оптимальное решение двойственной задачи единственно, то оно не меняется при достаточно малых изменениях коэффициентов целевой функции двойственной задачи. При этом Z(x*)=<c,x*>=<b,y*> и пока y* не изменяется, оптимальное значение Z(x*)=F(b) зависит от b линейно с коэффициентами y1*,…, ym*.
Вывод. В силу линейности F(b) числа yi* показывают прирост оптимального значения Zmax = F(b) при изменениях ограничений на ресурсы bi.:
∆ Zmax = ∆ F(b) = F(b+∆b)-F(b)= y1*∆b1 + … + ym*∆bm .
Поэтому естественно считать yi* оценкой i-го ресурса.
Приведем еще один довод в «оправдание»термина «оценки» для двойственных переменных.
Если b и Z имеют размерности натуральных единиц и денег, то yi*= ∂F(b)/ ∂bi = ∂Zmax/∂bi имеет размерность [деньги]/ [нат. ед], то есть размерность цены.
Замечание. Если решение двойственной задачи при некотором векторе b не единственно, то функция F(b) в данной точке недифференцируема. Однако можно вычислить ее производную по направлению. Напомним ее определение.
Производной функции ƒ(x) по направлению s (║s║= 1) называется следующий предел:
lim ƒ(x + αs) – ƒ(x) .
α→0 α
В случае дифференцируемой функции производная по направлению равна скалярному произведению градиента на вектор единичной длины s, задающий данное направление.
Пусть векторы y1, …, yk – вершины (крайние точки) многогранника всех оптимальных оценок y* в двойственной задаче (при данном b). Тогда производная по направлению для функции F(b) вычисляется по формуле:
∂F/∂s = min ∑sjyji = min <s, yi>.
Здесь минимум берется по i от 1 до k, то есть по всем вершинам y1, …, yk , а s – единичный вектор: s = (s1, …,sm), ║s║= 1.
Итак, вектор двойственных оценок y*=(y1*, …, ym*) указывает направление наивыгоднейшего увеличения запасов ресурсов. Если yi*=0, то данный ресурс увеличивать бесполезно.
Замечание. Указанная характеристика зависимости оптимального результата от запасов ресурсов локальна. Она справедлива до тех пор, пока изменения вектора b не вызовут изменения оптимального решения двойственной задачи – оценки y*.
Приведенные выше результаты можно использовать для так называемой расшивки узких мест, для перераспределения ресурсов.
ПРИЛОЖЕНИЕ К ЛЕКЦИИ – ПРИМЕРЫ ДЛЯ СЕМИНАРА.
Рассмотрим примеры применения соотношений двойственности для решения задач ЛП и для анализа оптимальных решений.
Пример
Решить следующую задачу, используя двойственную к ней.
3x1 + x2 – 4x3 – x4 ≤ -3
-2x1 – 4x2 –x3 + x4 ≤ -3
x1…x4 ≥ 0
Z = -4x1 – 18x2 – 30x3 – 5x4 → max
План решения.
1.Построить двойственную задачу (в ней будет две переменные).
2. Решить ее на плоскости геометрическим способом.
3. Использовать условия дополняющей нежесткости для нахождения решения исходной задачи
4. Проверить (для контроля) выполнение достаточного условия оптимальности из 1-й теоремы.
Двойственная задача: активность ограничений в точке оптимума
3y1 – 2y2 ≥ -4 (1) (>) 6 >-4
y1 – 4y2 ≥ -18 (2) (=) -18 = -18
-4y1 – y2 ≥ -30 (3) (=) -30 = -30
-y1 + y2 ≥ -5 (4) (>) 0 >-5
y1, y2 ≥ 0
F(y) = -3y1 – 3y2 → min
Построив область допустимых решений, с помощью линий уровня целевой функции, найдите оптимальное решение двойственной задачи: y* = (6, 6).
Найдем решение прямой задачи, используя условия дополняющей нежесткости (УДН). Первая группа УДН имеет вид:
[3x1* + x2* - 4x3* - x4* + 3]y1* = 0
[-2x1* - 4x2* - x3* + 4x4* + 3]y2* = 0.
Так как обе компоненты оптимального решения y* = (6, 6) двойственной задачи положительны, оба ограничения в исходной задаче должны в точке оптимума x* выполняться как равенства.
Подставив y* в ограничения двойственной задачи, видим, что первое и четвертое ограничение неактивны. Поэтому из второй группы УДН (выпишите их самостоятельно) следует, что соответствующие компоненты оптимального решения прямой задачи равны нулю: x1* = 0, x4* = 0.
С учетом сказанного ограничения прямой задачи дают следующую систему двух линейных уравнений с двумя неизвестными
х2* - 4х3* = -3
-4х2* - х3 = -3
Решение этой системы: х2 = 9/17 , х3 = 15/17 Следовательно, оптимальное решение прямой задачи (с учетом ранее установленного ранее х1* = 0 , х4* = 0) имеет вид: x* = (0, 9/17, 15/17,0).
Поскольку УДН являются необходимыми и достаточными условиями оптимальности, векторы
x* = (0, 9/17, 15/17, 0) и y* = (6, 6) – оптимальные решения прямой и двойственной задачи.
Для контроля проверим выполнение условия оптимальности из 1-й теоремы:
Z(x*) = -4*0 – 18*(9/17) – 30*(15/17) – 5*0=36, F(y*)= -3*6-3*6 = 36
Ответ. Оптимальное решение x* = (0, 9/17, 15/17,0), значение целевой функции Z(x*) = 36.
Пример
Является ли х* = (0, 4, 5, 0, 0,11) оптимальным решением следующей задачи ЛП?
x1 + x2 + 3x3 + x4 + 2x5 = 19
x1 + 5x2 - 5x3 - x4 + 2x5 = -5
x1 - x2 + 2x3 + 10x5 + x6 = 17
Z = 2x2 – 4x3 + 3x5 → max
x1 ,…, xn≥0.
Проверим х* на допустимость: 19 = 19
-5 = -5 ═> х* - допустимое решение.
17 = 17
Выпишем двойственную задачу:
y1 + y2 + y3 ≥ 0 (1)
y1 + 5y2 – y3 ≥ 2 (2) (=)
3y1 – 5y2 + 2y3 ≥ -4 (3) (=)
y1 – y2 ≥ 0 (4)
2y1 + 2y2 + 10y3 ≥ 3 (5)
y3 ≥ 0 (6) (=)
F = 19y1 – 5y2 + 17 y3 → min
Подчеркнем, что переменные yi имеют в данном случае произвольный знак.
Предположим, что х* оптимально. Так как х2* = 4, х3* = 5, х6* = 11 положительны, соответствующие ограничения двойственной задачи в ее оптимальном решении y* выполняются как равенства. Выпишем отдельно эти уравнения:
y1 + 5y2 – y3 = 2
3y1 – 5y2 + 2y3 = -4
y3 = 0
Решение этой СЛУ : (-0,5; 0,5; 0). Напомним, что переменные y не обязаны быть неотрицательными.
Проверим выполнение остальных ограничений двойственной задачи в полученной точке:
ограничение (5) не выполняется. Значит, не существует допустимого решения двойственной задачи y*, которое вместе с x* удовлетворяет условиям дополняющей нежесткости. Это противоречит предположению об оптимальности x*.
Вывод: х* - допустимое, но не оптимальное решение исходной задачи.
Дата добавления: 2016-03-27; просмотров: 804;