- •§1. Общий подход к решению задач нелинейного программирования.
- •§2. Задачи выпуклого программирования
- •§3. Решение задач выпуклого программирования при различных типах ограничений.
- •3.1. Без ограничений и неотрицательность переменных
- •3.2. Ограничения вида неравенств
- •3.3.Задачи вп при ограничениях вида неравенств
- •§4. Теорема Куна-Таккера.
3.3.Задачи вп при ограничениях вида неравенств
(3.18)
Перейдем к изучению задач выпуклого программирования в виде неравенств. В простейшем случае это такие задачи:Z = f (x1 ,x2 ,…, xn ) max,
1(x1 ,x2 ,…, xn ) ≤ 1,
(3.19)
2(x1 ,x2 ,…, xn ) ≤ 2,- - - - - - - - - - - - - - -
m(x1 ,x2 ,…, xn ) ≤ m,
Путем добавления в левые части неравенств (3.31) неотрицательных переменных xn+1 ,xn+2 ,…, xn+m перейдем от ограничений-неравенств к ограничениям-равенствам
(3.20)
1(x1 ,x2 ,…, xn ) + xn+1= 1,2(x1 ,x2 ,…, xn ) + xn+2= 2,
- - - - - - - - - - - - - - - - - - - -
m(x1 ,x2 ,…, xn ) + xn+m= m.
Задача(3.18)-(3.20) является задачей ВП с ограничениями в виде равенств. Для ее решения, как и ранее, применим метод множителей Лагранжа
(x1 ,x2,…,xn+1,…, xn+m ,λ1, λ2,…, λm) = f (x1 ,x2 ,…, xn ) + i (bi– i(x1 ,x2,…,xn)- xn+i).
Вместо задачи (3.18)-(3.20) будем решать задачу на безусловный экстремум функции Лагранжа. Необходимое условие экстремума функции Лагранжа записывается так:
(3.21)
= 0, j=1,2,…,n,
(3.22)
=0, i=1,2,…,m,
(3.23)
=0, i=1,2,…,m.Учитывая вид функции , условия (3.21), (3.23) можно выразить следующим образом:
(3.24)
= - i = 0,
= - i = 0,
- - - - - - - - - - - - - - - - - - - - - - - - -
= - i = 0,
= b1 - 1(x1 ,x2 ,…, xn ) - xn+1 = 0,
(3.25)
- - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -= bm - m(x1 ,x2 ,…, xn ) - xn+m =0.
Условия (3.22) с учетом неотрицательности переменных следует уточнить и записать в виде
(3.26)
∙ xn+i = 0, i=1,2,…,m.Если экстремум функции достигается внутри области допустимых решений (xn+i > 0), то в точке экстремума = 0, на границе области (xn+i = 0): ≤ 0 в случае выпуклости , < 0 - при вогнутости . Так как = - i , то условие (3.26) примет вид -λi xn+i = 0. Отсюда λi xn+i = 0, однако xn+i = bi– i(x1 ,x2,…,xn). Следовательно, получим
λi (bi– i(x1 ,x2,…,xn)) = 0.
В связи с тем, что = - i ≤0, получим i ≥0. Окончательно условие (3.26) можно записать так:
λ
(3.27)
i (bi– i(x1 ,x2,…,xn)) = 0,bi– i(x1 ,x2,…,xn) ≥ 0, i ≥0.
Причем, если i >0, то bi– i(x1 ,x2,…,xn) = 0, если i =0, то bi– i(x1 ,x2,…,xn) ≥ или
i(x1 ,x2 ,…, xn ) ≤ i.
Для нахождения решения задачи (3.18)-(3.19) достаточно условий (3.24), (3.27). В них не входят переменные xn+i . Следовательно, можно и не вводить эти переменные в рассмотрение. Сразу можно было бы дял задачи (3.18)-(3.19) составлять функцию Лагранжа
= f (x1 ,x2 ,…, xn ) + i (b i - i (x1 ,x2 ,…, xn )).
Тогда необходимое условие экстремума этой функции включаю бы, как и прежде, условие (3.24). Условие же (3.27) для этой функции стало бы таким:
≥0, i =0, i ≥0, i=1,2,…,m,
где = b1 - 1(x1 ,x2 ,…, xn ).
Несколько усложняется решение задачи выпуклого программирования в случае ограничений в виде неравенств и ограничений неотрицательности.
Задача ВП в данном случае имеет вид
Z
(3.28)
= f (x1 ,x2 ,…, xn ) max,
(3.29)
1(x1 ,x2 ,…, xn ) = 1,2(x1 ,x2 ,…, xn ) = 2,
- - - - - - - - - - - - - - -
(3.30)
m(x1 ,x2 ,…, xn ) = m,xj ≥ 0, j=1,2,…,n.
Д
(3.31)
ля отыскания точки условного экстремума задачи (3.28)-(3.29) следует исходить из следующих условий
(3.32)
= 0, j=1,2,…,n,i ≥0, i =0 , ≥0,
где - функция Лагранжа вида
= f (x1 ,x2 ,…, xn ) + i (b i - i (x1 ,x2 ,…, xn )).
Если принять во внимание условие неотрицательности xj ≥ 0, j=1,2,…,n , то вместо равенств (3.31) следует пользоваться равенствами
xj = 0, где xj ≥ 0, ≤ 0.
С учетом вида функции Лагранжа условия нахождения точка условного максимума задачи (3.28)-(3.30) можно будет записать так:
I группа условий:
- i ≤ 0,
( - i ≤ 0)xj = 0,
xj ≥ 0, j=1,2,…,n;
II группа условий:
bi - i (x1 ,x2 ,…, xn )≥0,
i ( i (x1 ,x2 ,…, xn ) - b1) = 0,
xj ≥ 0, i=1,2,…,m.
Условия I и II называются условиями Куна -Таккера . Из совокупности этих условий выделим для более глубокого рассмотрения следующие отношения.
Условия дополняющей нежесткости Куна-Таккера.
I'. Если - i < 0, то xj 0,
если xj 0 , то - i = 0.
II'. Если i(x1 ,x2 ,…, xn ) < bi , то i = 0,
если i > 0 , то i(x1 ,x2 ,…, xn ) = bi.
Условия I' и II' называются условиями дополняющей нежесткости. Рассмотрим их экономическую интерпретацию, исходя из прежней экономической постановки задачи ВП: x1 ,x2 ,…, xn - план производства продукции, f (x1 ,x2 ,…, xn ) - прибыль от реализации продукции, i(x1 ,x2 ,…, xn ) - потребность в ресурсе i по данному варианту производственной программы, x1 ,x2 ,…, xn , bi - лимит ресурса i.
Ранее нами было установлено, что i есть оценка ресурса i по его влиянию на оптимальное значение целевой функции. Эта оценка равна производной = λoi. Это справедливо для всех i.
Рассмотрим содержание соотношений II'. Положительность оценки λoi (λoi>0) указывает на то, что ресурс bi в оптимальном плане используется полностью, то есть i(xo1,xo2,…, xon) = = bi . Если ресурс используется не полностью, то есть i(xo1,xo2,…, xon) < bi , то этот ресурс не является дефицитным, его оценка равна нулю: λoi =0.
Аналогичным будет подход при рассмотрении содержания условий I'.
Продукт j целесообразно включить в план производства (xj > 0) только в том случае, когда результатная оценка продукции совпадает с ее затратной оценкой i , то есть когда достигается баланс результата и затрат, связанных с малым выпуском продукции. Если же получаемый результат (оценка продукции) меньше затрат ресурсов i , то включение в план производства продукта целесообразно (xj = 0).
Рассмотрим формулировку условий дополняющей нежесткости применительно к задаче линейного программирования. Для такой задачи
Z = f (x1 ,x2 ,…, xn ) = jxj max,
i(x1 ,x2 ,…, xn ) = ijxj ≤ bi , i=1,2,…,m,
xj ≥ 0, j=1,2,…,n,
= λoi = yoi ; = cj ; = aij ;
i = oi aij .
Условия дополняющей нежесткости для задачи линейного программирования запишутся следующим образом.
Если ijyoi > cj, то xoj = 0;
если xoj > 0 , то ijyoi = cj ;
если ijxoj < bi, то yoi = 0;
если yoi > 0, то ijxoj = bi.
Полученные соотношения были изучены нами еще в теории линейного программирования.