Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Zhadan_lektsii_6_semestr

.pdf
Скачиваний:
23
Добавлен:
03.06.2015
Размер:
10.08 Mб
Скачать

условной минимизации

 

 

 

 

 

 

 

 

 

(140)

 

 

 

φ(η) = min M(x,η ).

 

 

 

 

 

 

 

 

 

 

 

x Rn

 

 

 

 

 

 

 

 

Предполагаем,что задача(140)имеет решение для всех

η R.

 

 

 

n

, если η < f .

Из сказанного выше следует,что M(x,η ) > 0 для любого x R

 

 

φ(η) > 0

 

η

 

η

f

получаем φ(η) = 0.

Поэтому

 

для всех таких

 

.С другой стороны,беря

 

,

 

n

.Но,взяв точку

Действительно,функция M(x,η ) ≥ 0 неотрицательна для всех x R

 

x X X, имеем

(f(x ) − η)2+ = 0, B+(g(x )) = 0, M(x , η ) = 0.

На основании приведенных рассуждений можно поставить задачу поиска наименьшего корня уравнения

φ(η) = min M(x,η ) = 0.

x Rn

Минимальный корень очевидно равен f .Любая точка x Rn, которая решает задачу(16)при η = f , такова , чтоx X .

Встает вопрос,как искать этот минимальный корень?Приведем сначала вариант метода,который основан по существу на использовании метода простой итерации для решения уравнения φ(η) = 0. Обозначим через X (η) множество решений задачи (140)при фиксированном значении оценки η, т . е . множество

X

(η) = Arg min M(x,η ).

 

 

x Rn

η R, то

Так как мы предположили,что задача(140)имеет решение при всех

множество X (η) всегда не пусто.

 

Алгоритм метода параметризации целевой функции. Задаемся начальной оцен -

кой η0 ≤ f и полагаем k = 1.

Шаг 1.Находим точку xk X (ηk).

Шаг 2.Если M(xk, ηk) = 0,то останавливаемся.В противном случае вычисляем

ηk+1 = ηk + M(xk, ηk).

(141)

Шаг 3.Полагаем k := k + 1 и идем на шаг 1.

В общем случае получаем бесконечную последовательность точек {xk} и беско - нечную монотонно возрастающую последовательность оценок {ηk}.Имеет место следующий результат.

Лемма4. Пусть ηk ≤ f . Тогда ηk+1 ≤ f .

Доказательство. Возьмем произвольную точку x X . Так как xk X (ηk) и

71

B(g(x )) = 0, то

M(xk, ηk) ≤ M(x , ηk) = (f(x ) − ηk)2+ = f(x ) − ηk = f − ηk.

Поэтому

ηk+1 = ηk + M(xk, ηk) ≤ f .

Таким образом,действительно получаем монотонно возрастающую последовательность оценок ηk,которая ограничена сверху.Следовательно,существует предел

limk→∞ ηk = η ≤ f .

Теорема13. Пусть последовательность {xk}, порождаемая алгоритмом ме - тода параметризации целевой функции,принадлежит компактному множеству W. Тогда любая ее предельная точка есть решение задачи . При этом

lim f(xk) = lim ηk = f .

(142)

k→∞

k→∞

 

Доказательство. Имеем на основании утверждения леммы4

klim (ηk+1

− ηk) = klim M(xk, ηk) = 0.

→∞

→∞

Поэтому существует предел

lim B(g(xk)) = 0.

k→∞

Возьмем теперь произвольную сходящуюся к точке x последовательность {xks }. В силу непрерывности получаем B(g(x )) = 0, следовательно ,x X.Кроме того,

M(x , η ) = (f(x ) − η )+ = 0.

Так как x X, имеет место неравенство f(x ) ≥ f .Но строгое неравенство f(x ) >

f не может иметь места,поскольку иначе с учетом того,что

η ≤ f ,получили бы:

M(x , η ) > 0.

(143)

Поэтому обязательно f(x ) = f . Отсюда заключаем , чтоx X .

Из вышесказанного следует также,что выполняются предельные равенства(142). Действительно,случай,когда η < f , невозможен , так как из него опять следует неравенство(143).

Способ пересчета оценок(141)допускает наглядную геометрическую интерпре-

тацию.Обозначим через G(f, B) функцию

G(f, B) = f2

+ B2 .

+

+

72

Тогда вспомогательная функция M(x,η ) может быть записана как

M(x,η ) = G (f(x) − η, B(g(x))) .

Введем также в рассмотрение множество

W = [f, B] R2 : f = f(x), B = B(g(x)), x Rn .

Множество W есть образ задачи(137)в пространстве двух переменных,а именно,значения целевой функции и внешнего штрафа,соответствующих каждой точке пространства Rn.Наряду с множеством W рассмотрим также множество

W+ = W + R2+.

Если задача(137)является задачей выпуклого программирования,а B(g) неубывающей выпуклой функцией,то множество W+ оказывается выпуклым.На рис. ***

показаны множество W (вместе с W+),а также и линии уровня функции G(f −ηk, B). Решение вспомогательной задачи минимизации есть не что иное,как нахождение такой линии уровня функции G(f − ηk, B), которая соответствовала бы минимальному значению этой функции и при этом касалась бы множества W.Последующее значение ηk+1 получается путем пересечения данной линии уровня с вертикальной осью.

Предположим,что в задаче(137)существует седловая точка функции Лагранжа

L(x, u) = f(x) + g(x), u , u Rm+ ,

т.е.выполняются неравенства

 

 

L(x , u) ≤ L(x , u ) ≤ L(x, u ) x Rn,

u R+m.

(144)

Тогда точка x является решением задачи(137)и,поскольку

f = L(x , u ), из право -

го неравенства(144),применяя дважды неравенства Минковского-Малера,получаем для всех x Rn и любого η ≤ f :

f − η ≤ f(x) − η + g(x), u 0

 

 

≤ f(x) − η + B(g(x))B (u ) =

0

 

B(g(x))

 

B0(u 0)

=

f(x) − η

,

 

1

 

 

 

≤ G (f(x) − η, B(g(x))) G (w ) = M(x,η )G (w ),

где w = [1, B0(u )]T .

 

 

 

 

 

 

 

 

Поэтому

 

 

 

 

f − η

 

 

 

 

M(x,η )

 

 

.

 

 

 

 

 

G0(w )

 

 

Так как правая часть не зависит от x, то отсюда , а также из неравенстваφ(η) ≤ M(x , η) = f η, где x X , приходим к двусторонней оценке

f

η

φ(η)

f − η

.

(145)

 

 

 

G0(w )

73

Если в качестве M(x,η ) берется функия

 

 

 

 

 

m

 

 

 

 

 

M(x,η ) =

 

 

η)+2

+

(gi(x))+2

(f(x)

 

 

 

 

i=1

то B(g) = g+ 2, B0(u ) = u 2 и оценка (145) принимает вид :

f

η M(x,η )

 

 

f − η

 

.

 

 

 

 

(ui )2

− ≥

 

1 +

m

Отсюда видно,что M(xk, ηk)

0 при ηk

 

 

 

i=1

 

 

 

 

 

f

 

0.

 

 

 

Возможен также другой способ пересчета оценок ηk.Согласно нему

 

ηk+1 = ηk +

 

(M(xk, ηk))2

.

(146)

 

 

 

 

 

f(xk) − ηk

 

 

Данный способ соответствует использованию метода Ньютона для решения уравнения φ(η) = 0.Он применяется,когда(137)является задачей выпуклого программирования,т.е.функция f(x) и все функции gi(x), 1 ≤ i ≤ m,выпуклы.Если снова обратиться к рис. **,то точка ηk+1 из(146)получается путем пересечения касательной к соответствующей линии уровня функции G(f − ηk, B) с вертикальной осью . Разумеется,она лежит выше,чем та оценка ηk+1, которая получается по по способу (141),но опять же ниже,чем точка f .

Метод может также применяться и для решения задач нелинейного программирования,содержащих ограничения типа равенства.В этом случае,аналогично тому,как это делается в методе внешней штрафной функции,добавляется штраф

за нарушение ограничений-равенств.Например,для задачи(125)функция

M(x,η )

преобразуется следующим образом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(f(x)

 

 

 

m

l

 

M(x,η ) =

η)+2

+

(gi(x))2 +

(hj(x))+2 .

 

 

 

 

 

i=1

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заметим также,что при численном решении вспомогательных задач(139)целесообразно минимизировать не саму функцию M(x,η k),а ее квадрат,что обычно и делают.

Обратимся в заключение к вспомогательной функции M1(x,η ) вида(138).Данная функция при определенных предположениях обладает свойством быть точной, т . е . существует целый интервал значений оценки η, для любого значения η из которого множество решений вспомогательной задачи безусловной минимизации

x Rn

+

 

min (f(x)

 

η)2

+ B(g(x))

совпадает с множеством решением X

исходной задачи(137).По прежнему через

74

X (η) будем обозначать множество решений задачи(137).

Теорема14. Пусть в задаче (137) существует седловая точка [x , u ] функции Лагранжа на множестве Rn × Rm+ . Пусть , кроме того , внешняя свертывающая

функция B(g) такова,что 0 < B0(u ) < +∞. Тогда X (η) = X для любого η < η ≤ f , где η = f − (2B0(u ))−1.

Доказательство. Покажем,что для всех x Rn и любого η (η , f ] имеет место неравенство

(f(x) − η)+2 + B(g(x)) ≥ (f − η)2.

(147)

Оно очевидно,если f(x) ≥ f .Убедимся в его справедливости для остальных x, когда

f(x) < f .

Из наличия у функции Лагранжа седловой точки и из неравенства МинковскогоМалера следует,что

f ≤ f(x) + g(x), u ≤ f(x) + B(g(x))B0(u ),

 

 

 

 

откуда получаем

 

 

 

 

B(g(x)) ≥ (f − f(x))/B0(u ).

 

 

 

 

Учтем теперь,что (B0(u ))−1 = 2(f − η ). Тогда для тех x Rn,для которых

f(x) ≤ η, имеем

 

 

 

 

(f(x) − η)+2 + B(g(x)) = B(g(x)) ≥ (f − f(x))/B0(u ) =

2

≥ (f −

2

.

= 2(f − f(x))(f − η ) ≥ 2(f − η)

 

η)

Таким образом,неравенство(147)оказывается справедливым и для данных

 

x.

Осталось рассмотреть последний случай,когда η < f(x) < f . Оценивая последо - вательно разность ∆ = (f(x) −η)2+ + B(g(x)) −(f −η)2 между левой и правой частью (147),получаем

(f(x)

η)2

(f

η)2 + (f

f(x))/B0

(u

 

) =

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

0

(u ) = 0

 

 

 

 

 

=

(f(x))

− f + 2η(f − f(x)) + (f − f(x))/B

(u

) =

(148)

 

= (f(x)

f

)(f(x) + f

) + 2η(f

 

 

f(x)) + (f

f(x))/B

 

 

 

 

 

 

 

 

 

 

 

 

0

(u )].

 

 

 

 

 

 

 

= (f − f(x))[2η − f(x) − f + 1/B

 

 

 

 

 

 

 

 

 

Но η > η = f − 1/(2B0(u )).Поэтому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2η − f(x) − f + 1/B0(u ) > f − f(x) > 0.

 

 

 

 

Отсюда и из(148)делаем вывод,что неравенство(147)имеет место,когда

η

<

< f(x) < f .

 

 

 

 

x X ,то неравенство(147)переходит в равенство.Это

 

Если подставить в(147)

 

означает,что

X X(η)

для всех η Y . Более того ,

проводя рассуждения ,

ана -

логичные тем,которые делались при доказательстве теоремы10,можно убедиться, что на самом деле X(η) = X .

75

Приведем пример вспомогательной функции M1(x,η ),для которой выполнены условия теоремы14.Возьмем в качестве B(g) функцию g+ p, в которой 1 ≤ p ≤ +∞. Тогда приходим к следующей вспомогательной функции:

M(x,η ) = (f(x) − η)2+ + g+(x)) p.

Для нее η = f − 1/(2 u p ).Поэтому наибольший диапазон допустимых значений η будет в том случае,когда p = 1. Тогда p принимает предельное значение p = ∞ и норма u является чебышевской,т.е.

u = max |ui |.

1≤i≤m

Отметим также,что для большинства задач оптимальное значение функции f(x) заранее неизвестно и,следовательно,указать наперед конкретные границы полуинтервала (η , f ] достаточно сложно.Кроме того,функция M1(x,η ) не является гладкой.

1.6.3.Методы модифицированных функций Лагранжа

Методы модифицированных функций Лагранжа являются одними из наиболее эффективных средств решения задач нелинейного программирования.

****

Рассмотрим сначала задачу нелинейного программирования,содержащую только ограничения-равенства

x X

X = x R

n

:

g

(x) = 0, 1 ≤ i ≤ m .

(149)

min f(x),

 

 

 

 

 

 

Будем предполагать,что как целевая функция f(x), так и функции - ограничения gi(x), 1 ≤ i ≤ m,являются по крайней мере непрерывно дифференцируемыми.

Составим для задачи(149)функцию Лагранжа

L(x, u) = f(x) + g(x), u

и вместо прибавления квадратичного штрафа к целевой функции , как это делается в методе внешних штрафных функций,прибавим этот штраф к функции Лагранжа. В результате приходим к измененной функции Лагранжа

 

m

 

 

 

 

 

 

 

t

2

 

M(x, u, t) = f(x) +

i=1 uigi(x) +

 

gi(x)

 

,

(150)

2

 

где t > 0 -некоторый параметр.

Функцию(150)принято называть модифицированной функцией Лагранжа для за-

дачи(149).Она обладает многими свойствами,присущими обычной функции Лагран-

жа L(x, u),а именно,если вычислить производную

M(x, u, t) по x, то получаем

Mx(x, u, t) = fx(x) + gT (x)u + tgT (x)g(x).

x

x

76

Отсюда видно,что

Mx(x, u, t) = Lx(x, u),

когда x X и u Rm.Кроме того,

Mu(x, u) = Lu(x, u) = g(x)

для тех же u и произвольных x Rn.Поэтому вместо того,чтобы искать стационарные точки функции Лагранжа L(x, u), т . е . точки[x , u ],в которых

Lx(x , u ) = 0n, Lu(x , u ) = g(x ) = 0,

можно было бы искать стационарные точки модифицированной функции Лагранжа

Mx(x , u , t) = 0n, Mu(x , u ) = g(x ) = 0m.

(151)

Для обеих функций L(x, u) и M(x, u, t) они совпадают.Однако модифицированная функция Лагранжа M(x, u, t) обладает еще одним очень важным свойством,которого нет у функции L(x, u).Дело в том,что если в стационарной точке функции L(x, u) выполнены достаточные условия изолированного локального минимума второго порядка

y, Lxx(x , u )y > 0 y K(x ), y = 0n,

где K(x ) = {y Rn : gx(x )y = 0m}, то точка x не является точкой локального минимума функции L(x, u ) на всем пространстве Rn,она доставляет локальный минимум функции L(x, u ) по x лишь на некотором подпространстве.Это следствие того,что матрица Lxx(x , u ) не обязательно должна быть положительно полуопределенной.

В отличие от классической функции L(x, u) модифицированная функция Лагранжа M(x, u, t) в этой же самой точке [x , u ] при достаточно больших значениях параметра t уже имеет локальный минимум по x.Действительно,если функции f(x) и g(x),определяющие задачу(149),дважды непрерывно дифференцируемы,то матрица вторых производных функции Mxx(x, u, t) по x в стационарной точке [x , u ] имеет вид

Mxx(x , u , t) = L(x , u ) + tgxT (x )gx(x ).

(152)

Здесь при подсчете производной учтено,что g(x ) = 0m в стационарной точке [x , u ]. Воспользуемся далее следующим известным результатом,называемым иногда лем-

мой Финслера.

Лемма5. Пусть A и B симметричные квадратные матрицы порядка n, причем матрица B положительно полуопределенная.Пусть,кроме того,

y, Ay > 0,

когда y Rn, y = 0n. Тогда можно указать t¯ > 0 такое,что

y, Ay + t y, By > 0

77

для любого t > tø и всех y Rn.

На основании леммы5и представления(152)заключаем,что матрица Mxx x , u , t) положительно определена при t достаточно больших.Так как M(x , u , t) = 0n, то функция M(x, u , t) имеет локальный минимум по x в точке x при этих же t.В силу непрерывности это свойство сохраняется и в некоторой окрестности ∆(u ) точки u .Действительно,по теореме о неявной функции в этой окрестности существует решение уравнения Mx(x, u, t) = 0n,т.е.такая непрерывная функция x(u), что Mx(x(u)), u, t) ≡ 0n и x(u ) = x .Из положительной определенности матрицы Mxx(x, u, t) вблизи точки [x , u ] следует,что

M(x(u), u, t) = min M(x, u, t),

x ∆(x )

где ∆(x ) Rn некоторая окрестность точки x .Чтобы найти точку [x , u ] теперь следует просто решить уравнение

Mu(x(u), u, t) = g(x(u)) = 0m.

(153)

Указанное свойство позволяет построить алгоритм решения задачи(149),основанный на отыскании соответствующей точки Каруша-Куна-Таккера [x , u ] путем решения уравнения(153)методом простой итерации.Пусть задано начальное

u0 Rm и выбрано и зафиксировано достаточно большое значение параметра t, ко - торое гарантировало бы существование решений соответствующих задач безусловной минимизации функции M(x, u, t) по первой переменной x.Итерации в методе проводятся по следующей рекуррентной схеме

xk

=

argminx RnM(x, uk, t),

(154)

uk+1

=

uk + tg(xk),

 

причем для отыскания точки xk в(154)могут применяться различные известные методы безусловной минимизации.

Рассмотрим теперь вопрос о том,как данный подход можно перенести на задачу с ограничениями - неравенствами

x X

X = x R

n

:

h (x) ≤ 0, 1 ≤ i ≤ l

,

(155)

min f(x),

 

 

 

 

 

 

где по-прежнему предполагается,что все функции,определяющие задачу по крайней мере непрерывно дифференцируемы.

Задача с ограничениями-неравенствами сводится к задаче с ограничениями-равенствами путем введения дополнительных переменных

hj(x) + (σj)2 = 0, j = 1, 2, . . . , l.

Тогда,применяя тот же принцип,что и при построении функции(151),приходим к

78

соответствующей модифицированной функции Лагранжа

l

 

 

 

 

 

 

 

 

t

2

 

M(x,σ, v, t ) = f(x) + j=1 vj

hj (x) + (σj )2

+

 

hj (x) + (σj )2

 

,

(156)

2

 

где v Rl.

Теперь при построении аналога метода(154)минимизацию придется проводить как по основной переменной x, так и по дополнительной переменной σ = [σ1, . . . , σl]. Но минимум функции M(x,σ, u, t ) по σ при фиксированных x и v легко вычисляется. В самом деле , дифференцируя функцию (156) поσj и приравнивая производную к

нулю,получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(157)

σj

vj + t

 

hj (x) + (σj )2

 

 

= 0.

 

 

 

 

является корень

σj = 0

, а также корни квадратичного

Решением уравнения(157)

 

 

 

 

 

 

 

 

 

 

 

 

уравнения

 

 

 

 

 

 

vj

 

 

 

 

 

 

 

 

 

 

j )2 + hj (x) +

 

 

 

 

 

 

 

 

(158)

 

 

 

= 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

Данное уравнение имеет действительный положительный корень,если

 

 

 

 

 

vj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hj (x) +

 

< 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

σj =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− hj (x) +

vj

 

.

 

 

 

 

 

 

t

 

 

 

 

 

Таким образом,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi(x) + (σj )2 =

hj (x),

 

 

hj (x) + vj /t ≥ 0,

1

j

l,

 

−vj /t,

 

 

hj (x) + vj /t < 0,

 

 

 

что можно записать также,как

 

 

hj (x), −

 

 

,

 

 

 

 

 

 

 

hi(x) + (σj )2 = max

vj

 

1 ≤ j ≤ l.

 

 

(159)

t

 

 

 

Подставляя(159)в(156),после несложных преобразований приходим к модифицированной функции Лагранжа для задачи с неравенствами(155),уже избавленную от дополнительных переменных σ,

 

 

l

 

 

 

 

 

− (vj )2 ,

 

M(x, v, t) = f(x) +

1

 

vj + thj (x)

2

(160)

 

 

 

 

 

 

 

+

2t j=1

 

 

где,как обычно,знак + внизу означает положительную срезку.

Обратимся теперь к общей задачи нелинейного программирования,в которой

79

присутствуют как ограничения-равенства,так и ограничения-неравенства,

x X

{

 

R

n : g(x) = 0

m

 

 

l}

 

 

 

 

(161)

min, X =

 

x

 

 

 

 

 

, h(x)

 

0

.

 

 

 

 

Тогда объединяя функции(150)и(160),приходим к модифицированной функции

Лагранжа для этой задачи:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

t

 

 

 

2

1

 

 

l

 

 

 

 

 

2

 

 

M(x, u, v, t) = f(x)+ i=1 uigi(x) +

2

 

gi(x)

+

2t j=1

vj + thj(x)

 

+

− (vj)2

. (162)

Пусть функции f(x), g(x) и h(x), определяющие задачу (161), дважды непре - рывно дифференцируемы и пусть x есть решение этой задачи.В том случае,когда

в соответствующей точке Каруша-Куна-Таккера [x , u , v ] выполнены достаточные условия второго порядка для(161),матрица вторых производных Mxx(x, u, v, t) модифицированной функции Лагранжа(162)в данной точке,также оказывается положительно определенной для t достаточно больших(превышающих некоторое пороговое

значение t).Поэтому,как и в задаче с равенствами,вблизи точки

[u , v ] существует

¯

 

непрерывное решение x(u, v) задачи минимизации

 

x(u, v) = arg min M(x, u, v, t),

(163)

x Rn

 

причем такое,что x(u , v ) = x . Таким образом , чтобы найти точкуx , достаточно решить систему уравнений,

Mu(x(u, v), u, v, t) = g(x(u, v)) = 0m,

(164)

Mv(x(u, v), u, v, t) =

1

(v + th(x(u, v)))+ − v = 0l.

(165)

 

 

 

 

t

Опишем алгоритм решения задачи задачи нелинейного программирования(161), основанный на использовании метода простой итерации для решения системы(164), (164).

Выбираем достаточно большое t, чтобы существовали решения задач безусловной

минимизации(166).Выбираем также начальные u0 Rm и v0 Rl.Полагаем

k = 0.

Шаг1).

Решаем задачу безусловной минимизации

 

 

xk = arg min M(x, uk, vk, t).

(166)

 

x Rn

 

Шаг2).

Полагаем

 

 

uk+1 = uk + tg(xk), vk+1 = (vk + th(xk))+ .

(167)

Шаг2). Увеличиваем k := k + 1 и идем на шаг 1.

Имеет место следующий результат,касающийся сходимости метода(166), (167), который приведем без доказательства.

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]