книги из ГПНТБ / Ху, Т. Целочисленное программирование и потоки в сетях
.pdf1.4. КОНУСЫ, ВЫПУКЛЫЕ МНОЖЕСТВА II ВЫПУКЛЫЕ ФУНКЦИИ 31
Отсюда в силу вогнутости / (х) получаем
л |
ft |
ft |
|
/ (х) = / ( 2 Яг/г)> 2 X;/(Vi)> 2 |
[min/(v;)] = |
||
= min / (v;) 2 |
^ = |
min / (v*)> |
|
|
|
г |
|
и теорема доказана. в
Теорема 1.7. (О разделяющей гиперплоскости.) Пусть С — замкнутое выпуклое множество и Ъ — некоторая точка; тогда либо Ь принадлежит С, либо существует такая гиперплоскость Н , что Ь лежит по одну сторону от этой гиперплоскости, а все точки множества С — по другую сторону. (Эта теорема по суще ству совпадает со следствием 1.1, но доказывается иначе.)
Доказательство. Определим для любой точки х £ С функцию расстояния / (х) = | х — Ь |. Эта функция непрерывна на замк нутом множестве С. Если С — ограниченное множество, то по теореме Вейерштрасса функция / (х) достигает минимума в одной из точек С.
Если выпуклое множество С неограниченно, то рассмотрим замкнутый шар В с центром в точке Ь, такой, что В П С = С Ф 0 (рис. 1.5). Поскольку шар В является выпуклым, замкнутым и ог раниченным множеством, пересечение В f| С — С есть такжо выпуклое, замкнутое и ограниченное множество. Очевидно, функ ция / (х) достигает минимума на С .
Пусть
min |х —Ь | = | а — Ь|,
Хб С
т. е. а — ближайшая к Ь точка множества С . Рассмотрим гипер плоскость Н, перпендикулярную к вектору Ь — а. Уравнение этой 'гиперплоскости имеет вид
(Ь — а)т у = к, |
(4> |
где к — константа, а у — точка гиперплоскости.
Пусть Н проходит через середину отрезка ab, т. е. через точку V2 (Ь + а). Тогда из (4) получим
(Ь —а)т у (b + а) = &,
и уравнение гиперплоскости примет следующий вид:
(Ь — а)г у = у (Ь — а)г (Ь -j- а). |
(6> |
32 |
ГЛ. 1. ОСНОВНЫЕ п о н я т и я |
|
Точка b |
лежит в одном из полупространств, |
порождаемых Н : |
|
(Ь—а)т Ь > у (Ь—а)т (Ь+ а). |
(7) |
Покажем, |
что ни одна точка из С не принадлежит тому же полу |
пространству. Предположим противное: пусть существует точка
с ЕС', расположенная по ту |
же сторону от Н, |
что и Ь. Тогда |
из условия (7) следует |
|
|
(Ь—а)т с > |
(Ь—а)т (Ь+ а). |
(8) |
Поскольку с и а принадлежат выпуклому множеству С', любая точка Яа + (1 — Я) с для 0 ^ Я ^ 1 также принадлежит С . По предположению минимум расстояния между b и любой точкой отрезка Яа + (1 — Я) с достигается в точке а, т. е. при Я = 1. Если показать, что минимум расстояния от точки b до отрезка Яа + (1 — Я) с достигается при 0 ^ Я < 1, то теорема будет дока
зана. Для этого рассмотрим квадрат функции/(Я) (—о о < Я < |
оо ), |
||
выражающей расстояние от точки |
b до прямой Яа + (1 — Я) с, |
||
— оо < |
Я < оо. ,(Эта функция на |
отрезке Яа + (1 — Я) с, |
0 ^ |
^ Я ^ |
1, совпадает с / (х).) |
|
|
f (Я) = [Яа + (1 — Я) с — Ь]2 =
= (а2 + с2 - 2ас) Я2 + (2ас — 2с2 + 2Ьс - 2аЬ) Я + (Ь — с)2 =
= (а — с)2 Я2 — 2 (а — с) (Ь — с) Я + (Ь — с)2, |
(9) |
^ М = 0 = ф Я = (а — с) (Ь— с)/(а —с)2, |
(10) |
Й2/2 (X) |
2 (а —с)2> 0 . |
|
dXz |
||
|
Таким образом, минимум расстояния от Ь до рассматриваемой
прямой достигается в точке, соответствующей Я = |
• |
||
Из соотношения (8) и того, что |
|
|
|
Y (b - а)т (b + а) - (атЬ - а2) = |
± (Ь2 - |
а2 - 2агЬ + 2а2) = |
|
= у (Ь —а)2 > °, |
|
|
|
т. е. V2 (Ь—а)т (Ь-|-а) т>агЬ —а2, |
следует |
справедливость |
нера |
венства |
|
|
|
атЬ — а2 < |
(Ь — а)г с |
|
|
или |
|
|
|
(а — с)т(Ь — с) < |
(а — с)2. |
|
|
1.5. БАЗИСНЫЕ, ДОПУСТИМЫЕ И ОПТИМАЛЬНЫЕ РЕШЕНИЯ |
33 |
|
Таким |
образом, |
минимум / (X) достигается при Я, < 1. |
Пусть |
Я. = Я0 |
— значение |
параметра, при котором / (х) достигает мини |
|
мума. |
Если 0 ^ Я0 < 1, то точка Я0а + (1 — Я0) с принадлежит |
множеству С , что противоречит предположению о наличии мини
мума функции / (х) в точке а. Если же Х0 < 0, |
то точка Я,0а + |
+ (1 — Я,0) с лежит на продолжении отрезка ас и |
может не при |
надлежать множеству С . Но поскольку функция/2 (X) — выпуклая
и |
она принимает |
минимальное |
значение при Х0 < 0, то / |
2 (1) > |
> |
/ 2 (0), т. е. / (а) |
> / (с), что |
опять-таки противоречит |
пред |
положению о существовании минимума / (х) в точке а. Таким обра зом, точка с не может лежать по ту же сторону от гиперплоско сти Н , что и точка Ь. я
Опорной гиперплоскостью выпуклого множества называется такая гиперплоскость, которая содержит по.крайней мере одну точку этого множества и все точки, данного множества располо жены в одном из полупространств, порождаемых гиперплоскостью.
1.5. Базисные, допустимые и оптимальные решения
Нас интересует отыскание неотрицательных решений системы линейных неравенств (или системы линейных уравнений, получен ной эквивалентными преобразованиями, рассмотренными в § 1.2). Поскольку нас будут интересовать только такие задачи линейного программирования, у которых существует конечное оптимальное решение, предположим, что выпуклое множество, задаваемое системой линейных ограничений, замкнуто и ограничено. Так как любая точка замкнутого ограниченного выпуклого множества представима в виде выпуклой линейной комбинации крайних точек этого множества, покажем, что крайние точки соответствуют так называемым базисным решёниям.
Пусть дана система линейных уравнений
Ах = Ь (А есть (т X п)-матрица). |
(1) |
Говорят, что система линейных уравнений (1) совместна, если она имеет по крайней мере одно решение. Система (1) называется избыточной, если одно из уравнений можно выразить в виде линейной комбинации остальных. Система (1) несовместна, если ранг матрицы А равен г, а ранг матрицы [А, Ь] больше г. Если система (1) неизбыточна и совместна, то ранг А равен т (т ^ п). Если т > п и система неизбыточна, то решений нет. Далее мы будем предполагать, что система совместна и неизбыточна. Иначе говоря, предполагается, что выбрана неизбыточная подсистема уравнений, эквивалентная данной.
Пусть А = [В, |
N], где В — невырожденная квадратная матри |
|
ца, и |
пусть х = |
[хв, х Лт], где хв — вектор с т компонентами |
3 т. |
Ху |
|
34 |
|
|
ГЛ. 1. ОСНОВНЫЕ п о н я т и я |
|
|
|
и |
x N — вектор |
с п — т |
компонентами. Тогда, |
если положить |
||
хв |
= |
В -ХЬ и x N = 0, получим решение системы Ах = |
Ь, называе |
|||
мое |
базисным |
решением. |
Компоненты вектора |
хв |
называются |
базисными переменными, а компоненты x N — небазисными пере менными. Базисное решение называется вырожденным, если одна или более компонент вектора хв равна нулю. Вектор-столбцы матрицы В называются базисными векторами. Иногда будем говорить, что т независимых столбцов матрицы В образуют базис.
Дадим общее определение базисного решения системы (1)т где Аесть(лг X ?г)-матрица (т =& п). Решение х системы (1) назы вается базисным решением, если вектор-столбцы, соответствую щие ненулевым компонентам х, линейно независимы.
Идея базисных решений оказывается полезной применительно к системам линейных неравенств. Мы могли бы, конечно, добавив слабые переменные, превратить неравенства в уравнения и затем применить к ним данное выше определение. Однако можно рас смотреть неравенства непосредственно.
Система линейных неравенств совместна, если она имеет хотя бы одно решение. Если одно из неравенств системы является следствием других, то система избыточна. Пусть Ах ^ Ь, х ^ 0 — система линейных неравенств, где А есть (т X н)-матрица. Таким образом, в системе имеется т + п неравенств. Если система совместна, то она определяет непустое выпуклое множество. Базисным допустимым решением является крайняя точка выпук лого множества, в которой по крайней мере п из п + т неравенств выполняются как равенства. Более того, эта точка удовлетворяет и остальным т неравенствам. Каждое неравенство определяет замкнутое полупространство по одну сторону от гиперплоскости. Если в крайней точке пересекается более п гиперплоскостей, эта точка дает вырожденное базисное решение. Это один из способов, геометрически поясняющих понятие вырожденное™. Если точка удовлетворяет п неравенствам как равенствам, а остальным нера венствам не удовлетворяет, то она-представляет собой точку пере сечения п гиперплоскостей, не принадлежащую выпуклому мно жеству.
Рассмотрим систему неравенств
— ху -)—2^2^^ 8, Х у -\~ #2 ^^ 10,
2#! 4- |
а:2^ 1 6 , |
Ху |
5^6, |
Ху |
^ 0 , |
|
#2^ 0 . |
Выпуклое множество, определяемое этой системой неравенств, показано на рис. 1.6. Заметим, что в точке Ху = 6, х2 = 4 Пересе-
|
1.5. |
БА ЗИ С Н Ы Е , ДО П УСТИ М Ы Е |
И О П ТИ М А ЛЬН Ы Е |
РЕ Ш Е Н И Я |
35 |
||||||
каются три гиперплоскости, т. |
е. |
неравенство |
2xi |
+ |
^ 16 |
||||||
является |
следствием неравенств |
Xi ^ |
6 и |
+ |
хг ^ |
1 0 . |
|
||||
Точка, |
получаемая |
при |
решении |
системы |
двух |
уравнений |
|||||
—Хь + |
2х2 — 8 и Ху + |
х2 = |
1 0 , |
является невырожденным реше |
|||||||
нием. |
Точка, лежащая |
на |
пересечении х± = |
6 |
и |
хг — 0, |
также |
является невырожденным решением. Но если выбрать из трех уравнений любые два, то их решение будет всегда вырожденным.' Представим рассмотренные неравенства в виде равенств, введя
неотрицательные переменные: |
|
— X i -)- 2 x 2 ~Ь s i |
= 8 , |
|
= 10, |
2xi~\~ х% |
-\~s3 = 1 6 , |
|
|
|
|
Xi |
|
|
+ S4 = 6 , |
|
|
|
|
|
|
|
|
x |
i i |
x 2 ^ 0 , |
Si, S2 , s3, s4^ 0 . |
|
|
|
|
Заметим, |
что |
пересечение |
гиперплоскостей |
—хх + |
2хг = |
8 |
|||||
и Xi Атх2 = |
10 дает точку Xi = |
4, х%= 6 , st = 0, |
s2 = 0, |
s3 = |
2, |
||||||
s4 = |
2. Пересечение |
гиперпло |
|
|
|
|
|||||
скостей Xi = 6 и х2 = 0 зада |
|
|
|
|
|||||||
ется |
решением |
Xi = |
6 , х2 = |
0 , |
|
|
|
|
|||
Si = |
14, s2 = |
4, |
s3 = |
4, s4 = |
0. |
|
|
|
|
||
В обоих случаях имеется по |
|
|
|
|
|||||||
четыре ненулевых |
компоненты |
|
|
|
|
||||||
для четырех уравнений. Оба |
|
|
|
|
|||||||
эти |
решения |
невырождены. |
|
|
|
|
|||||
Пересечение |
|
гиперплоскостей |
|
|
|
|
|||||
xi + |
х2 = Ю и 2xi |
+ |
х2 = |
16 |
|
|
|
|
|||
дает |
решение |
xi |
= |
6 , |
х2 = |
4, |
|
|
|
|
|
Si = 6 , s2 = 0 , s3 = 0 , s4 = 0 . |
|
|
|
|
|||||||
Здесь имеется только три нену |
|
|
|
|
|||||||
левых компоненты, следова |
|
|
|
|
|||||||
тельно, решение вырождено. |
(1) |
|
|
|
|
||||||
Очевидно, |
если |
система |
|
|
|
|
имеет решение, а вектор-столбцы матрицы А образуют линейно зависимую систему, то любой век
тор этой системы можно представить в виде линейной комбинации остальных. Исключив таким образом линейно зависимые векторы, мы получим базисное решение. Этот результат оформим в виде следующей теоремы.
Т еорема 1.8. Если система линейных уравнений имеет решение, то она имеет и базисное решение.
Решение системы линейных уравнений называется допустимым, если все его компоненты неотрицательны. Докажем важное обоб щение теоремы 1 .8 .
3*
36 |
ГЛ . 1. ОСН ОВНЫ Е п о н я т и я |
Теорема 1.9. Если система линейных уравнений обладает допустимым решением, то она имеет и базисное допустимое решение.
Д о к а з а т е л ь с т в о . Рассмотрим систему
П
j=i
(/' = 1 , • • •> п). |
(2 ) |
Доказательство проведем индукцией по к — числу столбцов aj. При к — 1 теорема очевидна. Допустим, что она справедлива для к <С п, и докажем теорему для к = п. По условию теоремы суще ствует допустимое решение х° = (х\, . . ., х°„) системы (2). Если хоть одно х] = 0 , то мы сразу приходим к случаю к < п — 1 .
Поэтому будем считать, что все х° > 0. Итак,
2 а > , = Ь, ^ > 0 , / = 1 , . . . , п . |
(2 а) |
5=1 |
|
Если система векторов аь . . ., ап линейно независима, то решение х° является базисным и теорема доказана.
Если же векторы at, . . ., а„ линейно зависимы, то существуют такие числа Xj, не все равные нулю, что
2 Xjaj = 0. |
|
(3) |
|
5=1 |
|
|
|
Можно считать, что среди чисел Xj |
есть |
положительные (в про |
|
тивном случае достаточно умножить |
(3) |
на — 1). Среди положи |
|
тельных X, выберем то, при котором |
отношение |
будет мак- |
|
|
|
Х} |
к |
симальным. Не теряя общности, можно считать, |
что это будет —- . |
||
Обозначим его через 0. Очевидно, |
0 > О , |
|
ХТ1 |
поскольку Хп и хп поло |
|||
жительны. Итак, |
|
|
|
0 = max |
> |
0. |
(4) |
5 хз |
хп |
|
|
Умножая (3) на -д- и вычитая полученное равенство из (2а), при ходим к равенству
- г 2 |
( е - д - И “;= -ь - |
<5> |
5=1 |
3 |
|
В силу (4 ) выражение (5) есть представление вектора Ь в виде
неотрицательной линейной комбинации векторов aj, причем
|
1.5. Б А ЗИ С Н Ы Е , ДО П УСТИ М Ы Е И |
О П ТИ М А Л ЬН Ы Е |
Р Е Ш Е Н И Я |
37 |
||||
коэффициент при |
а„ равен нулю. Отсюда |
|
|
|||||
|
|
|
|
4 2 |
(0— |
= |
|
|
|
|
|
|
3= 1 |
1 |
|
|
|
т. |
е. из |
(2 а) |
следует существование допустимого |
решения систе |
||||
мы |
(2) |
при |
к ^ |
п — 1. Остается |
воспользоваться .индуктивным |
предположением. Индукция завершена и теорема доказана, щ
Т еорема 1.10. Совокупность всех допустимых решений |
систе |
|||||
мы (1) есть выпуклое множество х). |
|
|
||||
Д оказательство. |
Пусть |xt |
и ) х2 — произвольные допустимые |
||||
решения, т. е. |
|
|
|
|
|
|
|
|
A x j = |
b , |
X i ^ |
0 ; |
|
|
|
А х 2 = |
Ь , |
х 2 ^ |
0. |
|
Тогда для |
0 < К < |
1, bcj + |
(1 — А,) х2 > 0, поскольку |
каждое |
||
слагаемое |
неотрицательно. Более |
того, |
|
|
А [Ях! + (1 — Я) х2] = ЯАх4 + (1 — Я) Ах2= Ь,
т. е. Ях! + (1 — Я) х2 — также допустимое решение. Теорема
доказана. и
Покажем теперь, что базисное допустимое решение соответ ствует крайней точке выпуклого многогранника. В «-мерном
пространстве Е п |
рассмотрим |
выпуклый |
многогранник |
Т: |
|||||
|
Т = |
{х |
| агх ^ Ъи |
i — 1, . . ., |
m), m ^ |
п. |
(6) |
||
Множество Fp ^ |
Т называется р-мерной гранью многогранника Т, |
||||||||
если |
|
|
|
с множеством |
решений системы |
|
|
||
1 ) Fp совпадает |
|
|
|||||||
|
|
|
|
|
Ах = Ь |
|
|
|
|
ранга (п — р), |
получающейся из (6 ) превращением соответствую |
||||||||
щих неравенств |
в равенства; |
|
|
|
|
|
|||
2) любое другое условие из (6 ), выполняющееся на Fp как |
|||||||||
равенство, |
линейно |
зависит |
от системы Ах = Ь. |
называется |
|||||
Грань |
нулевой |
размерности |
многогранника Т |
вершиной; это соответствует размерности р = 0. Таким образом,
необходимым и достаточным условием существования вершины в Т
1) Поскольку условия задачи линейного программирования всегда можно записать в виде системы линейных уравнений, все переменные которой неотрицательны, то теорему 1.10 можно сформулировать и так: множестворешений задачи линейного •программирования выпукло.— П р и м . р е д .
38 |
ГЛ . 1. ОСН ОВНЫ Е понятия |
является наличие |
в (6) такой подматрицы А, что |
|
г [А] = г [АЬ] = п, Ах = Ь, |
где Ь — соответствующий и-мерный вектор.
л
Теорема 1.11. Пусть Т — выпуклый многогранник в Е п, опре деленный системой (6). Д ля того чтобы точка х £ Т была крайней в Т, необходимо и достаточно, чтобы х была нулъ-мерной гранью Т, т. е. чтобы х было единственным решением системы уравнений
ajX = Ьг, i £ N, | N | = n |
(7) |
ранга п.
Д оказательство.
Достаточность. Пусть х £ Г и х —решение системы (7) ранга п,
которую нам удобно записать в виде Ах = Ь. Покажем, |
что х — |
||||
крайняя точка Т. Допустим, |
что х = ^х1 + |
(1 —Я,)х2, где |
0 < А ,-< |
||
< 1 , a Xi и х2 — различные |
точки |
из Т. |
Тогда в силу определе |
||
ния х и Т |
|
|
|
|
|
b = Ах = А [Хх! -f- (1 —Х)х2] = AAxi + |
(l — X) Ax2^ b |
(0 < |
А,< 1), |
||
и, следовательно, |
|
|
|
|
|
что противоречит предположению о различии точек Xj и х2. Итак х — крайняя [точка в Т.
Необходимость. |
Пусть ;х — крайняя точка |
многогранника |
Т, |
и, следовательно, |
х удовлетворяет системе |
](6 ). Заметим, |
что |
некоторые из соотношений (6) выполняются для х [обязательно как
равенства. Действительно, если |
бы |
aiX<.bi, i |
= l, . . . , m, |
то можно было бы подобрать такой вектор Ах, что
а;(х±Ах)^Ьг, i= 1, ..., m .
1.5. БА ЗИ С Н Ы Е , ДО П УСТИ М Ы Е И О П ТИ М А Л ЬН Ы Е Р Е Ш Е Н И Я |
39 |
Тогда
х = у (х + Ах) + у (х — Ах)’
что противоречило бы предположению о том, что точка х — край няя. Итак, существует множество I, такое, что
aiX = bi, |
г 6 /, |
(о) |
— |
|
|
аг х ^ 6г, i $ I . |
|
|
Число равенств в (8 ) не меньше п. Действительно, если | I |
| = |
|
= к < п, то в соответствующей |
однородной системе уравнений |
|
агх = 0 , |
г 6 I, |
(9) |
число уравнений меньше числа неизвестных. Поэтому система (9)
имеет ненулевое решение х |
0. |
Рассмотрим произвольное число е |
|
и точки |
|
|
|
xt = x -fex |
и |
х2 = х — ех. |
|
Очевидно, |
|
|
|
aiXi = bi, |
aiX2 = |
bi при i £ l , |
а при достаточно малом е точки Xj и х2 удовлетворяют неравен
ствам
агХ! < bt, агх2 < Ъг приД $ I.
Таким образом, при малом е точки х4 и х2 различны и принадле жат Т. Из определения xt и х2 следует
-Х = у1 Х 1 + у1 Х 2, х4, х2 6 Т,
что противоречит предположению о том, что х — крайняя точка в Т.
Итак, число равенств в (8 ) не меньше п.
Если бы среди векторов аг, i £ I, были линейно зависимые, то некоторые из равенств в (8 ) были бы следствиями других.
Тогда, |
исключая их из рассмотрения, |
мы пришли бы к случаю |
| / | = |
к < п. Таким образом, точка |
х £ Т удовлетворяет п |
линейно независимым уравнениям |
|
|
|
а(X = bt, i £ I, | / |
| = n. |
Необходимость доказана. и
Теорема 1.12. Если множество допустимых решений задачи линейного программирования есть многогранник, то любое допу
40 |
Г Л . 1. О СН ОВНЫ Е п о н я т и я |
стимое решение представимо в виде выпуклой линейной комбинации базисных допустимых решений.
Д оказательство. Действительно, пусть допустимые решения образуют многогранник. Тогда в силу теоремы 1.11 базисные допустимые решения системы ограничений задачи соответствуют крайним точкам выпуклого множества. Поскольку любая точка многогранника выражается в виде линейной выпуклой комбина ции крайних точек *), любое допустимое решение есть выпуклая линейная комбинация базисных допустимых решений. а
Допустимое решение х* задачи линейного программирования, связанной с минимизацией функции сх, называется оптимальным, если сх* ^ сх для всех допустимых решений х.
Теорема 1.13. Если существует оптимальное решение, то существует базисное оптимальное решение.
Д оказательство. Очевидно, оптимальное решение конечно. По теореме 1.7 линейная функция, являясь вогнутой, достигает глобального минимума в крайней точке выпуклого множества. Теорема 1.11 устанавливает, что крайняя точка соответствует базисному решению.
1.6. Геометрическая интерпретация задачи линейного програм мирования
Пусть дана задача линейного программирования:
найти |
минимум |
|
|||
при |
условиях |
Z = |
сх |
||
Ах Дз Ь, |
|||||
|
|
|
|||
|
|
|
X > |
0 , |
|
где А есть (т X н)-матрица. Для задачи линейного программиро |
|||||
вания известны |
две геометрические интерпретации. В первой |
||||
из |
них |
задача |
линейного программирования рассматривается |
в пространстве векторов х, называемом пространством ресурсов;
вторая интерпретация связана с рассмотрением задачи в простран стве точек Ь, называемом пространством условий (см. пример 3 в 1.1). Пространство ресурсов имеет размерность п. Множество решений 2)* в пространстве ресурсов является пересечением т полу пространств агх Дг bt и п полупространств Xj Д: 0. Если z рас-, сматривать как параметр в выражении z = сх, то возникает сово
*) Эта теорема допускает обобщение и на случай, когда множество допустимых решений является неограниченным выпуклым многогранным множеством.— Прим. ред.
2) Множество решений иногда называется также пространством решений.