Главная страница

Задача на условный экстремум 61 нелинейное программирование 72 метод Ньютона в нелинейном программировании 88 выпуклое программирование 96


Скачать 0.96 Mb.
НазваниеЗадача на условный экстремум 61 нелинейное программирование 72 метод Ньютона в нелинейном программировании 88 выпуклое программирование 96
Дата18.01.2022
Размер0.96 Mb.
Формат файлаpdf
Имя файлаAfanasyev_A_P__Dzyuba_S_M_Elementarnoe_vvedenie_v_teoriyu_extrem.pdf
ТипЗадача
#335249
страница10 из 13
1   ...   5   6   7   8   9   10   11   12   13
?
m
, µ
?
1
, . . . , µ
?
r
) ? L(x
?
, ?
?
1
, . . . , ?
?
m
, µ
?
1
, . . . , µ
?
r
)+
+h?L(x
?
, ?
?
1
, . . . , ?
?
m
, µ
?
1
, . . . , µ
?
r
), x ? x
?
i.
С другой стороны, несложно заметить, что, что если x
?
 точка минимума в задаче (18), то линейная независимость векторов
(19) представляет собой первое условие регулярности для этой задачи (см. џ2). Поэтому необходимость условий теоремы 12
непосредственно следует из теоремы 4.
¤

џ4. Выпуклое программирование
109
Замечание. Теорема 12 представляет собой классиче- ский вариант теоремы Куна  Таккера для классической зада- чи выпуклого программирования (18). Ее формулировка столь проста и элегантна, что, как тонко заметил Л. Янг, ее в скором будущем наверняка будут изучать уже в средней школе (см.
[28]). Единственый недостаток этой теоремы  необходимость проверки линейной независимости векторов (19) в точке ми- нимума, заранее неизвестной. Это, впрочем, недостаток всех теорем, использующих какие-либо условия регулярности (см.
теоремы 2, 4 и 5).
Упражнения.
(1) Покажите, что выпуклая функция f : R
n
? R
непрерывна в каждой точке множества D(f)
0
(2) Покажите, что пересечение конечного числа выпуклых множеств само есть выпуклое множество.
(3) Пусть Q ? R
n
 выпуклое множество и пусть f : R
n
? R
 выпуклая функция. Покажите, что функция f выпукла на множестве Q.
(4) Докажите, что если множество
Q
?
= {x ? R
n
: f (x) ? ?}
непусто и ограничено для некоторого действительного числа ? с выпуклой функцией f : R
n
? R
и Q
?
? D(f )
0
,
то множество Q
?
ограничено при всех значениях ? < ?.
(5) Пользуясь теоремой Куна  Таккера, найдите решения следующих задач:
N
X
i=1
(x
i
)
2
? min,
N
X
i=1
x
i
? 1,
(A)
hQx, xi/2 ? hp, xi ? min,
Ax ? b,
(B)
где Q  симметрическая положительно определенная мат- рица.
(6) Напишите задачи, двойственные к задачам
hc, xi ? min,
|x| ? 1
и
hc, xi ? min,
|x|
2
? 1.
(7) Покажите, что прямые задачи в упражнении 6 эквива- лентны, хотя задачи, двойственные к ним, различны.

110
Гл. 2. Математическое программирование
(8) Пусть все функции f, h
1
, . . . , h
r
выпуклы, а множество Q
выпукло и замкнуто. Предположим, что для множества
S
,
S = {x ? Q : h
i
(x) ? 0,
i = 1, . . . , r},
выполнены условия
S ? D(f )
0
, S ? D(h
1
)
0
, . . . , S ? D(h
r
)
0
и множество
R = {x ? S : f (x) ? ?}
непусто и ограничено для некоторого значения ?. Пока- жите, что в этом случае задача (3) имеет по крайней мере одно решение.
Указание: Используйте упражнения 1 и 4.
џ5. Линейное программирование
Задачи линейного программирования возникли достаточ- но давно и в первую очередь были связаны с задачами опти- мального планирования в экономике, в частности, оптималь- ного производственного планирования. Оказалось, что задачи линейного программирования представляют достаточно боль- шой интерес сами по себе и, более того, имеют огромное прак- тическое значение в экономических, технических и других прикладных проблемах.
Математическая теория задач линейного программирова- ния проста, красива и в настоящее время, видимо, может считаться полностью завершенной. Базируется эта теория на основных результатах теории выпуклого программирования и,
вместе с тем, на некоторых важных результатах выпуклого анализа. Ниже, собственно, приводятся основы теории линей- ного программирования.
Общие положения. Задача линейного программирова- ния является частным случаем задачи выпуклого программи- рования, когда минимизируемая функция и ограничения ли- нейны. Другими словами, задача линейного программирова- ния заключается в минимизации функции
f (x) = hc, xi

џ5. Линейное программирование
111
при ограничениях
ha
i
, xi ? b
i
,
i = 1, . . . , m.
Принимая очевидные обозначения, перепишем эту задачу в следующем эквивалентном виде:
hc, xi ? min,
Ax ? b,
(1)
где x ? R
n
, A  прямоугольная (mЧn)-матрица, c и b  вектора в пространствах R
n
и R
m
соответственно.
Во многих практических ситуациях на координаты векто- ра x накладывается условие неотрицательности. При этом ча- сто оказывается удобно не вводить эти ограничения в матрицу
A
, а выделять их отдельно. В этом случае задача линейного программирования записывается в виде
hc, xi ? min,
Ax ? b,
x ? 0.
(2)
Линейная функция скалярного переменного, конечно, не достигает на действительной прямой R ни максимума, ни ми- нимума. Ситуация, однако, в корне меняется, если искать ми- нимум (или максимум) такой функции на отрезке: решение в этом случае обязательно лежит в одной из крайних точек от- резка. Это обстоятельство оказывается существенно важным и в многомерном случае, поскольку приводит к эффективной процедуре нахождения решения задачи (1).
Определим множество Q ? R
n
как множество решений системы линейных неравенств
ha
i
, xi ? b
i
,
i = 1, . . . , m,
(3)
т.е.
Q = {x ? R
n
: ha
i
, xi ? b
i
,
i = 1, . . . , m, }.
Определенное таким способом множество называется много- гранным множеством или симплексом. При этом соотноше- ния (3) задают грани множества Q. Определим теперь верши- ну (или крайнюю точку) множества Q.
Точка x называется крайней точкой многогранного мно- жества Q ? R
n
, если она не является внутренней точкой

112
Гл. 2. Математическое программирование какого-либо отрезка, целиком лежащего внутри Q. Оказыва- ется, что крайние точки многогранных множеств можно легко описать алгебраически.
Предложение 1. Крайними точками любого многогран- ного множества Q являются те и только те точки, для которых имеется ровно n линейно независимых активных ограничений.
Доказательство. Пусть x
0
 некоторая точка множе- ства Q. Обозначим через I
0
 множество активных ограни- чений в этой точке:
I
0
= {i = 1, . . . , m : ha
i
, xi = b
i
}.
Если среди векторов a
i
,
где i ? I
0
,
менее n линейно независи- мых, то система однородных уравнений
ha
i
, si = 0,
i ? I
0
имеет нетривиальное решение s
0
. Тогда вектора
x
1
= x
0
+ ?s
0
и
x
2
= x
0
? ?s
0
при всех достаточно малых значениях ? > 0 также принадле- жат Q. Следовательно, точка
x
0
=
x
1
+ x
2 2
не может быть крайней точкой множества Q.
Предположим теперь, что среди векторов a
i
,
где i ? I
0
,
имеется n линейно независимых векторов. Для некоторых век- торов x
1
? Q
и x
2
? Q
обозначим через x
0
вектор
x
0
=
x
1
+ x
2 2
.
Тогда при i ? I
0
b
i
= ha
i
, x
0
i =
ha
i
, x
1
i + ha
i
, x
2
i
2
?
b
i
+ b
i
2
= b
i
.
Поэтому
ha
i
, x
1
i = ha
i
, x
2
i = b
i
.

џ5. Линейное программирование
113
Но система
ha
i
, xi = b
i
,
i ? I
0
не может иметь двух различных решений, поскольку ее ранг равен n. Последнее означает, что x
1
= x
2
, т.е. x
0
 крайняя точка множества Q.
¤
Из предложения 1 непосредственно следует, что число крайних точек многогранного множества конечно. С геомет- рической точки зрения представляется уместным называть крайние точки вершинами многогранного множества. Тогда предложение 1 показывает, что вершина многогранного мно- жества есть 0-мерная грань этого множества и число таких вершин конечно. При этом следует иметь ввиду, что много- гранное множество может вообще не иметь вершин. Существо- вание же вершин оказывается весьма важным для задачи ли- нейного программирования, поскольку имеет место следующее предложение, приводимое здесь без доказательства.
6
Предложение 2. Если допустимое многогранное мно- жество Q не содержит прямых, а решение задачи (1) суще- ствует, то среди ее решений найдется вершина множества
Q
. Более того, если решение задачи (1) единственно, то оно достигается именно в вершине.
Условия экстремума. Предложение 2 хотя и указыва- ет на то, где следует искать решение задачи линейного про- граммирования, но, очевидно, не дает непосредственного кон- структивного способа поиска решения. Последнее обстоятель- ство оказывается особенно важным, поскольку даже в случае задач небольшой размерности число вершин может оказаться огромным и полный их перебор становится делом совершенно нереальным.
Как уже отмечалось ранее, задача (1) (или (2)) является частным случаем задачи выпуклого программирования. При
6
См., например, [16].

114
Гл. 2. Математическое программирование этом целевая функция и ограничения определены и диффе- ренцируемы в каждой точке пространства R
n
. Поэтому пред- ставляется уместным провести анализ этой задачи на экстре- мум с помощью результатов, приведенных ранее в џ4. Для это- го, прежде всего, заметим, что ограничения в этой задаче име- ют специальный вид, позволяющий отказаться от требования выполнения условия Слейтера. Поэтому из теоремы 9 немед- ленно вытекает следующее условие минимума в задаче (1).
Теорема 13. Для того, чтобы точка x
?
? Q
была ре- шением задачи (1) необходимо и достаточно существование множителей Лагранжа µ
?
? R
m
+
, таких, что

?
, Ax
?
? bi = 0
и
c + A
T
µ
?
= 0,
где T  операция транспонирования.
По аналогии с теоремами 9 и 10 из теоремы 13 следует необходимое и достаточное условие экстремума в терминах седловой точки.
Теорема 14. Для того, чтобы точка x
?
? Q
была реше- нием задачи (1) необходимо и достаточно существование та- кого вектора µ
?
? R
m
+
,
что для всех значений (x, µ) ? QЧR
m
+
выполнены неравенства
L(x, µ
?
) ? L(x
?
, µ
?
) ? L(x
?
, µ),
где
L(x, µ) = hc, xi + hµ, Ax ? bi.
Продолжая применять результаты џ4 к задаче линейного программирования, выпишем задачу, двойственную к задаче
(1), и сформулируем соответствующую теорему двойственно- сти. Для этого, прежде всего, положим
?(µ) = inf
x?R
n
L(x, µ) = inf
x?R
n
(hc + A
T
µ, xi ? hb, µi).
Тогда имеем
?(µ) =
Ѕ
??,
hc + A
T
µ, xi 6= 0,
?hb, µi, hc + A
T
µ, xi = 0.

џ5. Линейное программирование
115
Таким образом, задача, двойственная к задаче (1), пред- ставляет собой задачу о максимизации функции
F (µ) = ?hb, µi
при ограничениях
hc + A
T
µ, xi = 0
и
µ ? 0,
или, что эквивалентно, задачу
hb, µi ? min,
hc + A
T
µ, xi = 0,
µ ? 0.
(4)
Другими словами, задача (4) представляет собой специальный вариант задачи линейного программирования, который всегда может быть сведен к задаче (1) и обратно.
При этом из теоремы 11 немедленно вытекает следующая
Теорема 15. Решения (x
?
, µ
?
)
пары двойственных задач
(1) и (4) существуют или не существуют одновременно. При этом для всех допустимых значений x и µ справедливо нера- венство
hc, xi ? hb, µi,
(5)
причем равенство в (5) имеет место тогда и только тогда,
когда x = x
?
и µ = µ
?
Каноническая форма задачи линейного програм- мирования. Легко видеть, что сформулированные выше тео- ремы 13 и 14 не дают ничего принципиально нового для поиска решения задачи (1). Вместе с тем, теорема 15 и предложения 1
и 2 наводят на мысль о целесообразности изучения следующей новой задачи
hc, xi ? min,
Ax = b,
x ? 0,
(6)
весьма близкой к задаче (2).
Задача (6) известна как каноническая форма задачи ли- нейного программирования. Она всегда может быть получена

116
Гл. 2. Математическое программирование из задачи (2) и, обратно, задача (6) всегда может быть сведена к задаче (2).
В самом деле, в задаче (2) введем новые вспомогательные переменные y ? R
m
+
и запишем
hc, xi ? min,
Ax + y = b,
x ? 0,
y ? 0.
(7)
Тогда, полагая
z = (x, y),
g = (c, 0)
и
H = (A | E),
где E  единичная (m Ч n)-матрица, можем переписать задачу
(7) в следующем виде
hg, ci ? min,
Hz = b,
z ? 0,
очевидно, совпадающим с (6) с точностью до обозначений.
Обратно, перепишем задачу (6) в следующем эквивалнент- ном виде:
hc, xi ? min,
ha
i
, xi = b
i
i = 1, . . . , m,
x ? 0.
(8)
Но так как каждое из равенств
ha
i
, xi = b
i
эквивалентно, например, двум неравенствам
ha
i
, xi ? b
i
и
?ha
i
, xi ? b
i
.
Поэтому задача (8) превращается в задачу
hc, xi ? min,
ha
i
, xi ? b
i
,
i = 1, . . . , m,
?ha
i
, xi ? b
i
,
i = 1, . . . , m,
x ? 0,
очевидно, представляющую собой задачу вида (2).

џ5. Линейное программирование
117
Важность канонической формы задачи линейного про- граммирования трудно переоценить, поскольку именно форма
(6) приводит к эффективной вычислительной процедуре ре- шения задачи (2), известной под названием симплекс-метода и состоящей в оптимальном просмотре последовательности вер- шин многогранного множества (см. џ6).
Пример 10. В качестве одного из возможных приложе- ний продолжим разбор примера 9. Именно, предположим, что в задаче об оптимальном распределении ресурсов, заключаю- щейся в минимизации функции
f (x
1
, . . . , x
n
) = f
1
(x
1
) + · · · + f
n
(x
n
)
(9)
при ограничениях
x
1
+ · · · + x
n
? 1 = 0
(10)
и
x
i
? 0,
i = 1, . . . , n,
(11)
все функции f
i
линейны. В этом случае минимум функции (9)
достигается в одной из вершин симплекса заданного ограни- чениями (10) и (11). Этих вершин, очевидно, всего n, и они имеют вид
{1, 0, . . . , 0},
{0, 1, 0, . . . , 0}, . . .
. . . , {0, 0, . . . , 0, 1}.
Поэтому достаточно просто найти величину
j = arg min
1?j?n
f
j
n
(?)
и выбрать в качестве решения x
?
j
= 1
и x
?
i
= 0
при i 6= j.
Таким образом, в случае линейных функций весь ресурс следует сосредоточить на одном объекте, хотя, как известно,
нельзя хранить все яйца в одной корзине. Последнее достаточ- но красноречиво говорит о реалистичности некоторых линей- ных моделей экономики.

118
Гл. 2. Математическое программирование
Упражнения.
(1) Докажите, что каждая крайняя точка множества Q яв- ляется также его граничной точкой.
(2) Покажите, что открытое множество не имеет крайних то- чек.
(3) Покажите, что задача, двойственая к задаче (2) имеет вид
1   ...   5   6   7   8   9   10   11   12   13


написать администратору сайта