2701
.pdf
|
|
|
∑ |
− ( |
) |
≤ 0 |
(1.9) |
|
|
Из этого |
же |
неравенства следует, |
что |
|
бы |
||
|
, то есть |
- допустимая точка. Действительно−, |
|
|||||
|
если( ) ≥ |
|||||||
для некоторого |
= |
, − |
( ) < |
|
|
= 0 |
|
|
0 |
|
|
|
0, |
то выбирая |
|
для |
≠, а → +∞ получили бы, что неравенство в правой
части нарушается, но тогда |
− |
( |
|
) ≥ 0 и |
≥ 0. Сле- |
|||||
довательно: |
∑ |
|
) |
|||||||
|
|
− |
( |
≥ 0 |
|
|
(1.10) |
|||
Сравнивая (1.9) и (1.10), имеем: |
= 0. |
|
|
|||||||
|
|
∑ |
|
− |
( |
) |
|
(1.11) |
||
Для доказательства оптимальности точки |
возьмем |
|||||||||
допустимую точку |
, то есть |
|
|
|
|
, |
|
|
||
|
|
|
|
|
|
можно записать: |
||||
Обращаясь к левой части−(1.8),( ) ≥ 0 |
|
≥ 0. |
|
|||||||
( ) ≤ ( )+ |
y |
|
− |
− ( ) ≤ |
|
|||||
≤ |
( )+ ∑ |
y |
|
( |
) . |
|
(1.12) |
|||
Сравнивая |
начало |
и |
конец |
(1.12), |
получим |
( ) ≥ |
||||
( ), x ≥ 0, |
то есть |
-оптимальнаяточка. |
|
|||||||
|
|
|||||||||
Из доказанного утверждения следует, что поиск опти- |
мальной точки в принципе может быть заменен задачей отыскания седловой точки функции Лагранжа (если такая существует),а при отыскании седловой точки max Ф(x,у) и min
Ф(x,у) отыскиваются при ограничениях простого вида |
|
x ≥ 0,y ≥ 0 |
. |
|
Далее необходимо решить вопрос об условиях существования седловой точки. Иначе, нас будут интересовать усло-
11
вия, при которых для любой оптимальной точки |
можно га- |
||||
рантировать существование такого |
, чтобы пара ( |
|
|||
была седловой точкой |
соответствующей функции Лагранжа |
||||
|
≥ 0 |
|
, ) |
||
С этой x ≥ 0, |
≥ 0 |
|
|
|
|
на множестве |
|
. |
|
|
|
целью вводится специальный класс задач нелинейного программирования – задачи выпуклого программирования. Рассмотрим несколько понятий.
Множество G называется выпуклым, если с любыми своими точками оно содержит и отрезок, их соединяющий, то
есть: |
, |
|
|
+(1 − |
) |
|
|
||
|
|
||||||||
для всех |
, удовлетворяющих |
|
|
|
. |
||||
Функция |
|
называется |
выпуклой (вогнутой) на вы- |
||||||
|
|
0 |
≤ |
≤ 1 |
|
|
|||
пуклом множестве(G,) |
если выполняется соотношение |
||||||||
( +(1− |
) |
) ≤ (≥) |
( |
|
)+(1− |
) ( ) |
|||
|
|
|
, |
,0 ≤ |
≤ 1 |
|
|
Справедливы следующие утверждения:
-пересечение выпуклых множеств есть множество выпуклое;
- если ( ),( = 1,..., ) выпуклые функции то множество:
|
= |
| |
( ) ≤ , |
= 1,..., |
выпукло. |
|
≥ 0 |
||
Задачи вида |
( ) → max , где: |
|||
| |
( |
) ≤ |
, = 1,..., |
; |
= -вогнутаяфункция; |
|
|||
( ) |
|
|
≥ 0 |
|
( )−выпуклые функции;
12
называются задачей выпуклого программирования.
Множество G удовлетворяет условиям Слейтера, если
x ≥ 0,f (x) < B , .
Сформулируем основную теорему выпуклого програм-
мирования - теорему Куна-Таккера.
Для того, чтобы точка x ≥ 0была оптимальной для задачи выпуклого программирования, в которой множество удовлетворяет условиям Слейтера, необходимо и достаточно, чтобы существовала такая точка y ≥ 0, что пара (x ,y ) являлась бы седловой точкой соответствующей функции Лагранжа.
Отметим, что условие Слейтера соответствует утверждению: множество
|
G = |
x | f (x) ≤ B , |
|
|
имеет хотя бы одну |
i = 1,...,m |
|
(точка называ- |
|
|
внутреннюю точку |
|
||
ется внутренней, если она принадлежитx |
множеству вместе с |
|||
≥ 0 |
|
некоторой окрестностью).
Условие Слейтера в теореме Куна-Тэккера выступает как одно из достаточных условий, гарантирующих существование такого y ≥ 0, что (x ,y ) - седловая точка. В принципе это условие не является единственным и в литературе известны другие условия. Подобного типа условие принято называть условиями регулярности.
Выделим теперь важный случай теоремы Куна-Таккера для задачи выпуклого программирования с дифференцируемой целевой функцией и линейными ограничениями. Оказывается, что при этом указанная теорема справедлива без дополнительных предположений об условиях регулярности, (например, для задачи линейного программирования).
13
2. ПОСТАНОВКИ И ПОДХОДЫ К РЕШЕНИЮ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
2.1. Формы записи задач линейного программирования
Различают следующие три формы записи ЗЛП:
-однородную (или симметричную):
Сx → max
|
A x ≤ B; |
(2.1) |
- каноническую: |
x ≥ 0 |
|
|
С x → max |
(2.2) |
|
A x = B |
|
x≥ 0;
-запись в виде задачи со смешанными ограничениями:
Сx → max
(Ax) = B |
i I |
(2.3) |
(Ax) ≤ B |
i I |
|
x ≥ 0 |
i I |
|
x ≤ 0 |
i I |
|
Очевидно, последняя форма записи является обшей. Однако любая ЗЛП может быть записана в форме (2.1), (2.2) или (2.3). Покажем, как совершается переход от одной формы записи к другой. Перейдем, например, от задачи (2.1) к задаче (2.2). Дня этого покажем, что задача (2.1) эквивалентна следующей ЗЛП:
u
Здесь u = u...
u
С x → max |
(2.4) |
Ax+u = B |
|
x ≥ 0, u ≥ 0.
— вектор "дополнительных" перемен-
14
ных. Действительно, пусть x – решение задачи (2.4). Покажем, что тогда пара x ,u , где u = B − Ax - решение задачи (2.1). Допустим противное: x ≥ 0, u ≥ 0
и |
Ax +u = B |
(2.5) |
|
С x > С x |
(2.6) |
Из (2.5) следует, что x ≥ 0- допустимый вектор задачи (2.4) (0 ≤ u = B −Ax). Тогда (2.6) противоречит оптимальности вектора x в задаче (2.1). Таким образом, x ,u - решение задачи (2.1).
Аналогично показывается, что если x ,u - решение задачи (2.1), то x — решение задачи (2.4), Таким образом, задачи (2.1) и (2.4) эквивалентны.
Если теперь обозначить: C = C0 , A = [AI], x = ux , то задача (2.1) примет вид (каноническая форма записи):
С x → max Ax = B x ≥ 0.
Покажем теперь, каким образом осуществляется переход от формы записи (2.2) к записи (2.1). Очевидно, задача (2.2) эквивалентна следующей:
С x → max |
|
|
|
||
+Ax ≤ B |
|
|
(2.7) |
||
−Ax ≤ −B. |
|
|
|
||
|
x ≥ 0 |
−B |
, |
|
|
Введем обозначения |
A = |
−A , B = |
тогда зада- |
||
ча (2.7) перепишется в виде |
однородной ЗЛП: |
|
|
||
|
A |
B |
|
|
|
|
15 |
|
|
|
|
С x → max |
(2.8) |
A x ≤ B, |
|
x ≥ 0 |
|
что и требовалось показать.
Для перехода от формы записи (2.3) к формам записи (2.1), (2.2) достаточно показать, что ЗЛП, на переменные которой не наложено требование неотрицательности, может быть сведена к ЗЛП с неотрицательными переменными.
Итак, рассмотрим задачу:
|
С x → max |
(2.9) |
|
Ax ≤ B. |
можно пред- |
Поскольку любое |
действительное число |
|
x ≥ 0 |
|
|
ставить в виде разности двух неотрицательныхxчисел напри- |
||
мер x = x − x , где x |
= max(0,x ), x = max (0,−x ), то |
можно сделать замену переменных x = u − v, u ≥ 0, v ≥ 0. Учитывая сказанное, задачу (2.9) можно записать в виде:
где C = −CС
С x → max Ax ≤ B x ≥ 0 ,
, A = [A − A], x =
(2.10)
u v .
16
2.2. Принципы построения двойственных задач
Двойственная к (2.1) задача определяется как задача, вытекающая из следующего условия:
задачи (2.1)L. |
(x,y) |
|
minmaxL (x,y), |
|
= |
C x+y (B− Ax) |
- функция Лагранжа |
||
где |
|
|
Получим теперь задачи, двойственные к задачам (2.2) и (2.3) соответственно.
Итак, пусть исходной ЗЛП является задача (2.2). Тогда, как показано выше, задача (2.2) может быть за-
писана в виде (2.8).
Функция Лагранжа для задачи (2.8) имеет вид:
Здесь |
L(x,y) = C x+y (B− Ax), x ≥ 0, y ≥ 0 (2.11) |
||||||||
Тогдаy |
= (y ,y ,...,y |
,y |
,...,y |
задача) |
|||||
|
|
|
двойственная |
к (2.1.7) |
|
задается |
|||
|
min max L(x,y). |
. |
Тогда |
функцию Ла- |
|||||
операцией |
|
|
|
|
|
|
|
|
|
Для |
дальнейших |
упрощений |
введем |
обозначения |
|||||
u = (y ,...,y |
), v = (y |
,...,y |
) |
|
|
|
|||
гранжа |
L(x,y) |
можно записать так: |
B |
−Ax |
= |
||||
|
L(x,u,v) = C x +[u v ] |
||||||||
= C x+(u −v) (B−Ax), |
−B |
Ax |
|
||||||
x ≥ 0,u ≥ 0,v ≥ 0. |
Обозначим z = u − v. Здесь,очевидно,z ≤ 0.
Тогда двойственная к (2.2) задача имеет вид:
min max L(x,z) =min max L(x,y), (2.12)
17
где
L(x,z) = C x +z (B− Ax). |
(2.13) |
Расписывая подробнее (2.12), получим, что задача (2.12) может быть приведена к виду:
B Z → min
A z ≥ C
Прежде чем перейти к построению двойственной к (2.14) задачи, выясним, каким образом меняется функция Лагранжа для задачи ЛП, на переменные которой не налагается требование неотрицательности. С этой целью выпишем функцию Лагранжа задачи (2.9), пользуясь эквивалентной задачей
(2.10):
L(′,′) = C x +y (B− Ax),x ≥ 0,y ≥ 0,
где x = Vu , A = [A− A], C = −CC ,
или
L(′, ) = С u − V +y [B−A(u −V)].
Обозначим x = u −v. Здесь x ≥ 0. Окончательно:
L(′,′) = С x+y (B− Ax ), x ≥ 0, y ≥ 0 (2.15)
Таким образом, функция Лагранжа осталась прежней, изменилась лишь область ее определения. Учитывая последнее, а так же тот факт, что на множители Лагранжа, соответствующие ограничениям - равенствам требование неотрицательности не налагается (2.14), построим двойственную к (2.14) задачу. Она имеет вид:
18
minmax{C x+y (B −Ax)} = |
|
i I y ≥ 0; j J x ≥ 0 |
(2.16) |
i I y 0; j J x 0 = minmax{(C −y A)x+y B}
i I |
y ≥ 0; |
j J |
x ≥ 0 |
i I |
y 0; |
j J |
x 0 |
Тогда для произвольногоy, удовлетворяющего услови-
ям y ≥ 0 (i I ), y 0 (i I ), возможны случаи:
1) (C −y A) > 0.
Тогда, очевидно:
max{(C − y A)x+y B} → +∞
x≥ 0 (j J )
x0 (j J )
2)(C − y A) ≤ 0.
Тогда, если J (C −y A) < 0, то max{(C − y )x+y B} → +∞;
x≥ 0 (j J )
x0 (j J )
3) В остальных случаях, т.е. j J (C −y A)j = 0 max{∙} = B y
x≥ 0 (j J )
x0 (j J )
Таким образом, операция (2.1.15) приводит к задаче:
B y → min, |
|
|
(A y)j = C, |
j J |
(2.17) |
(A y)j ≥ C |
j , J |
|
y ≥ 0, i I |
|
|
19 |
|
|
если допустимое множество в задаче (2.17) не пусто. Теперь легко составить таблицу двойственных задач
для ЗЛП в различных формах записи (табл. 2.1).
Анализируя эту таблицу, приходим к выводу, что двойственная задача строится по следующим правилам:
1)max меняется min ;
2)векторы и С меняются местами;
3)матрица А заменяется на АТ ;
4)знаки неравенства меняются на противоположные;
5)j -е условие двойственной задачи должно быть неравенством, если на j-ю переменною исходной задачи наложено требование неотрицательности, в противном случае - равенством. На j-ю переменную двойственной задачи налагается требование неотрицательности, если j-е ограничение исходной задачи - неравенство.
|
|
|
Таблица 2.1 |
|
|
|
|
Форма записи |
Исходная задача |
Двойственная |
|
исходной задачи |
|
|
задача |
Однородная |
С x → max |
B y → min |
|
|
|
Ax ≤ B |
A y ≥ C |
|
|
x ≥ 0 |
y ≥ 0 |
Каноническая |
С x → max |
B y → min |
|
|
|
Ax = B |
A y ≥ C |
|
|
x ≥ 0 |
y 0 |
|
С x → max |
B y → min |
|
Со смешанными |
(Ax)i = B i I |
y 0 i I |
|
ограничениями |
(Ax)i ≤ B i I |
y ≥ 0 i I |
|
|
x |
≥ 0 j J |
(A y)j ≥ c j J |
|
x |
0 j J |
(A y)j = c j J |
Прямые и двойственные задачи обладают следующими свойствами:
20