Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2793.Методы оптимизации..pdf
Скачиваний:
175
Добавлен:
15.11.2022
Размер:
33.68 Mб
Скачать

Отметим, что применение исчерпывающего спуска при ми­ нимизации рассматриваемой функции приводит к аналогичным результатам (рис. 4.10). Покажем, что в общем случае целевой

функции f(x) = i (Qx, ж), х Е К71, метод наискорейшего спуска

на каждой k-и итерации и исчерпывающий спуск эквивалентны, т.е. точка х к при спуске из произвольной точки х к~1 ф 0 по на­ правлению антиградиента wk = —g r a d /^ " 1) = —Qxk~l ф 0n будет одна и та же. Для доказательства этого сначала вычи­ слим градиент функции в точке х к = х к~1 + x kwk\

grad f { x k) = Qxk = Qxk~l + x kQwk = - w k+ x kQwk.

Умножим это равенство скалярно на вектор wk и учтем усло­ вие (4.45) исчерпывающего спуска. В результате получим (grad/(x/c), wk) = - (wk, wk) + x k(Qwk, wk) = 0 . Отсюда на­ ходим единственное значение

(ги^ги*)

\ w k\2

(4.55)

(Qwk1wk)

k e N.

(Qwk, wk)

 

4.5. Сопряженные направления спуска

Продолжим рассмотрение методов минимизации на приме­ ре квадратичной формы (4.49). Обратимся к более общему рекуррентному соотношению (4.20), записав его в виде

х к = x k~l + якрк, к € N,

(4.56)

где > 0, к Е N; ркЕ Шп — вектор, определяющий направление спуска на к-й итерации; щ\рк\шаг спуска. Пусть снова выбрана произвольная начальная точка сс° Е К п , в которой для функции (4.49) имеем антиградиент w l = — grad/(ж 0) = — Qx°. Для первой итерации (k = 1) в соответствии с (4.56) запишем х 1 = х° + x ip 1. Отсюда видно, что точки ж* = 0 минимума квадратичной формы (4.49) можно достичь из произвольной точки х° за одну итерацию (т.е. х 1= ж*), если выбрать н\р1= = —х° = Q~lw x. При этом направление спуска, вообще говоря, не совпадает с направлением антиградиента (совпадение имеет место, например, в случае единичной матрицы Q).

Отметим, что для функции /(ж) = ^(Qx, х) матрица Гессе

Н постоянна и совпадает с матрицей Q. Поэтому при к\р1 = = Q~lw x = — Q_ 1 grad/(x°) можно написать

х 1 = х° + xi р 1 = х° + Q~lw l — х° —jH'“ 1 grad/(x°).

Это равенство представляет собой запись первой итерации ме­ тода Ньютона решения системы уравнений grad/(ж ) = 0, т.е. нахождения стационарной точки функции /(ж). В данном слу­ чае в силу положительной определенности матрицы Гессе Н = Q в стационарной точке функция /(ж) достигает наименьшего значения.

Таким образом, исчерпывающий спуск в направлении, опре­ деляемом вектором —Q_ 1 grad/(x°) = Q~lw l и обычно называ­ емом ньютоновским направлением спуска, эквивалентен итерации метода Ньютона. При этом точка минимума положи­ тельно определенной квадратичной формы может быть найдена за одну итерацию, однако для этого нужно располагать матри­ цей Я - 1 = Q "1, обратной к матрице Q квадратичной формы. Поскольку обращение матрицы (особенно высокого порядка п) является трудоемкой задачей, представляет интерес попытка сохранить преимущество изложенного подхода, но избежать обращения матрицы Q.

Возвращаясь к рис. 4.10 (см. также рис. 4.3), обратим вни­ мание на то, что последовательность исчерпывающих спусков в направлении антиградиента образует зигзагообразную траек­ торию приближения к точке минимума, причем все соседние звенья ломаной ортогональны. Это закономерно, поскольку прямая в направлении антиградиента wk на к-й итерации явля­ ется касательной к линии уровня f(x) = f ( x k), а направление антиградиейта wk+l на + 1 )-й итерации перпендикулярно этой касательной. Но исчерпывающий спуск в направлении лю­ бого вектора р^, приводящий в точку х к, даст аналогичный результат: антиградиент wk~t'1 = —gr&df(xk) в этой точке бу­ дет ортогонален вектору рк) т.е.

(ги*+1, рк) = ~(grad/(a;/c),p fc) = 0, к€ N.

(4.57)

Это равносильно условию завершения исчерпывающего спуска в точке, в которой производная функции f(x) по направлению вектора рк равна нулю. Для функции f(x) = |(Qx, х) соотно­ шение (4.57) принимает вид

(grad f ( x k),pk) = (Qxk,рк) = 0,

к е N.

(4.58)

Если известны собственные векторы у 1

и у 2

матрицы Q

второго порядка, то при произвольной начальной точке ж0 = = (ж^, ж!]) G М2 любая последовательность всего двух исчер­ пывающих спусков в направлениях, коллинеарных этим векто­ рам, приводит в точку х* минимума функции f(x) двух пере­ менных, т.е. зигзагообразная траек­ тория состоит всего из двух звеньев.

В самом деле, пусть сначала исчерпы­ вающий спуск коллинеарен вектору у 1 (рис. 4.11), который соответствует меньшему собственному значению Ai матрицы Q (поэтому вектор у 1 парал­ лелен оси, проходящей через фокусы

эллипсов, являющихся линиями уровня функции f{x)). При этом точка касания прямой спуска и линии уровня f(x) = f { x l) будет лежать на оси симметрии, параллельной вектору у 2. По­ этому второй исчерпывающий спуск вдоль этой оси приведет в точку ж*.

Ясно, что такой способ нахождения точки минимума не­ трудно обобщить на n-мерный случай, хотя для реализации этого способа сначала нужно будет решить громоздкую зада­ чу на собственные значения матрицы Q порядка п. Естествен вопрос: нельзя ли избежать нахождения собственных векторов матрицы Q, но все же сократить количество итераций при по­ иске точки минимума?

Рассмотрим этот вопрос снова на примере двумерной за­ дачи для квадратичной формы f(x) = ^(фж, ж). Выберем на­ чальную точку х° и произвольное направление спуска, опре­ деляемое вектором р1, не обязательно сонаправленным анти­

градиенту ги1 = —Qx°

функции f(x) в этой точке,

но соста­

 

вляющее с ним острый угол, т.е.

 

(Q x°,pl) < 0. Проведя из точки

 

ж0 в этом направлении исчер­

 

пывающий спуск, получим точ­

 

ку ж1 на линии уровня /(ж ) =

 

= /(ж 1) (рис. 4.12).

Затем вы­

 

берем точку ж0, не лежащую на

Рис. 4.12

прямой, проходящей через ж0 и

ж1, но такую, что (Q x°,pl) <0,

и проведем исчерпывающий спуск из точки ж0 в том же напра­ влении р 1. В результате получим точку касания ж1 на линии уровня /(ж) = f i x 1). Оказывается, что для получения искомой точки минимума достаточно провести исчерпывающий спуск из точки ж1 (или из точки ж1) в направлении р2, коллинеарном вектору ж1 —ж1 (см. рис. 4.12).

Убедимся в этом, показав, что точки ж* = 0, ж1 и ж1 лежат на одной прямой, т.е. векторы ж1 — ж* и ж1 — ж* коллинеарны.

Умножим каждый из них скалярно на ненулевой вектор Qpl и, учитывая, что матрица Q симметрическая, получим (Qx},рг) и (Q 51, р 1). Каждое из этих скалярных произведений является производной функции /(ж) по направлению вектора р 1 в точках завершения исчерпывающего спуска и поэтому в соответствии с (4.58) равно нулю. Так как эти векторы порознь ортогональ­ ны ненулевому вектору, то они коллинеарны.

Итак, два исчерпывающих спуска по несовпадающим па­ раллельным прямым позволяют найти направление, исчерпы­ вающий спуск по которому приводит в двумерном случае к искомой точке минимума. Описанный способ можно немного видоизменить. Выберем направление р 1 исчерпывающего спус­ ка, совпадающее с одним из векторов стандартного базиса в М2, например с е1, и такую начальную точку ж0 Е Ш2 на линии уровня /(ж ) = /(ж 0) = Со, что (Qx°, е1) < 0 (рис. 4.13). В ре­ зультате исчерпывающего спуска получим точку х 1 на линии уровня /(ж) = /(ж 1) —С1 < СоЗатем положим^ж0 = ж1 4- те2, г ф 0. Точка ж0 линии уровня /(ж) = /(ж 0) = Со не лежит на прямой проведенного исчерпывающего спуска в силу ортого­ нальности векторов е 1 и е2, но число т следует выбрать так, чтобы (Q 2J° , е 1) ф 0 (иначе из этой точки не удастся прове­ сти второй исчерпывающий спуск в направлении, параллельном первому направлению). После проведения такого спуска при-

дем в точку ж1 на линии уровня f(x) = f i x 1) = С\ < Со- Теперь для нахождения точки х * достаточно выполнить исчерпыва­ ющий спуск из точки х 1 (либо из точки х 1) в направлении р2, коллинеарном вектору ж1 — ж1 (см. рис. 4.13). Проверку этого утверждения можно провести аналогично предыдущему случаю.

Таким образом, точку минимума в двумерном случае можно найти, выполнив всего три итерации. Есть ли еще возмож­ ность уменьшить число итераций? Такая возможность осно­ вана на существующей зависимости между направлением р 2 завершающего исчерпывающего спуска в точку ж* минимума и параллельными направлениями двух предшествующих спусков, коллинеарными вектору р1. Эту зависимость можно выразить соотношением

{Qp\p2) = 0,

(4.59)

верным в силу того, что

(Qp2,? 1) =±(Q ® \ P 1) =F (Q®1,? 1)

при p 2 = ± { x x ж1), а каждое из скалярных произведений в правой части этого равенства в соответствии с (4.58) равно нулю.

Следовательно, при помощи (4.59) точку минимумах* функ­ ции f[x) = ^ (Q x,x) м о ж н о найти за две итерации. Сначала выполним исчерпывающий спуск в произвольном направлении, определяемом вектором р 1, из такой точки х°, что (Qx°, р 1) <

<0, и найдем точку ж1. Затем из (4.59) определим вектор р2 и

внаправлении, коллинеарном этому вектору, из точки ж1 осу­ ществим исчерпывающий спуск в искомую точку минимума.

Подробнее остановимся на процедуре нахождения вектора р2. Прежде всего вычислим Qx1. Если Q xl = 0, то ж1 — ис­ комая точка минимума. При Qx1 ф 0, полагая р 2 = jip 1 Q x1, умножая это равенство скалярно на вектор Qp1 и используя

(4.59), получаем (Qp1, 71р 1 Q x1) = 0, откуда

_ (QP 1, Q x1)

71(Qp1,?1)

Вчастном случае может быть 71 = 0, и тогда р 2 = —Q x1 ф 0. Отметим, что р2 ф 0 и при 71 ф 0. Иначе Qx1 = 71р1 и с учетом (4.58) мы имели бы \Qxl\2 = 71 (Qcc1, р 1) = 0, что противоречит принятому условию Qx1 ф 0. Направление исчерпывающего спуска, коллинеарное вектору р2, зависит от знака производной (Qxl,p2) минимизируемой функции в точке х х по направле­ нию этого вектора. Если (Qcc1, р2) < 0, то спуск происходит по направлению вектора р2, а если (Qxl,p2) > 0, то в противопо­ ложном направлении.

Векторы р 1 и р2, удовлетворяющие условию (4.59), называ­ ют сопряженными относительно матрицы Q (или Q-ортого- нальными), а направления, определяемые такими векторами,

сопряженными направлениями. Понятие сопряженности векторов является обобщением понятия их ортогональности. Действительно, если Q = / 2? то (4.59) переходит в условие орто­ гональности векторов р 1 и р 2. Дадим соответствующее опре­ деление для системы векторов в n-мерном евклидовом арифме­ тическом пространстве W1.

Определение 4.1. Ненулевые векторы р 7Е Kn, j = 1, га, на­ зывают сопряженными относительно симметрической матрицы Q порядка п (или Q-ортогональными), если справедливы равен­ ства

('QP \ Р0 = 0, г, j = I“ m, г ф j.

(4.60)

Лемма 4.5. Система т векторов р 7 G Mn, j 1, m, сопря­ женных относительно положительно определенной матрицы Q порядка п, линейно независима.

◄ Предположим обратное. Тогда существует нетривиальная линейная комбинация этих векторов:

771

 

$ > У = 0,

(4-61)

3= 1

в которой среди коэффициентов aj есть ненулевые, например сц ф 0. Умножим обе части (4.61) скалярно на Qpl и с учетом (4.60) получим сч(фрг,р г) = 0 . Но положительно определен­ ная квадратичная форма (Qp, р) для ненулевого вектора р — р1 имеет положительное значение. Следовательно, а* = 0, что при­ водит к противоречию и доказывает лемму. ►

Замечание 4.4. Ясно, что изменение направления некото­ рых из векторов, сопряженных относительно матрицы Q, на противоположное, не нарушает условия (4.61). Поэтому если система п векторов р 7 Е Mn, j = 1, п, является сопряженной от­ носительно матрицы Q, то сопряженной является и система

j = ПРИ любом сочетании знаков перед векторами. При проведении исчерпывающего спуска в направлении, коллинеарном некоторому вектору рк из системы сопряженных векторов, выбор конкретного направления, как и в случае ми­ нимизации квадратичной функции двух переменных, зависит от знака производной этой функции в начальной точке спуска по направлению этого вектора. Далее для определенности при­ мем, что это конкретное направление исчерпывающего спуска из двух возможных векторов ±рк всегда задает вектор рк.

Отметим, что для произвольной системы линейно незави­ симых векторов G К71, j = 1,п, можно построить, исполь­ зуя процесс, аналогичный процессу ортогонализации Грама — Шмидта, систему векторов, сопряженных относительно поло­ жительно определенной матрицы Q (систему Q-ортогональных векторов). Выбирая разные системы Q-ортогональных векто­ ров, мы получаем разные методы сопряженных направлений.

Теорема 4.8. Точку минимума функции f(x) = i (Qcc, х) с

положительно определенной матрицей Q можно найти не более

чем за п итераций, определяемых рекуррентным соотношением x k = x k~l + Xfcpfc, к = 1 , п, где рк 6 Кп — векторы, сопряжен­ ные относительно матрицы Q, если на /с-й итерации задавать

значение

по формуле исчерпывающего спуска

 

 

(О х°,рк)

___

 

 

X k = (Qpk,Pkr

к = 1,п

(4’62)

◄Из рекуррентного соотношения для х к получим

 

 

к

 

 

 

х к = х° + ^

Х{р\

(4.63)

 

2=1

 

 

Вычислим градиент grad f(x) = Qx минимизируемой функции /(ж) в точке х к:

к

Qxk = Qx° + ^2 *iQpl-

2= 1

Умножая обе части последнего равенства скалярно на вектор рк и учитывая (4.60), находим

к

(Qxk, рк) = (Qx°, рк) + >4{Qp\ рк) =

рк) + Хк(Qp\ рк) ■

2=1

 

Отсюда следует равенство (4.62), поскольку в случае исчерпы­ вающего спуска в направлении ркв соответствии с (4.58) имеем

(Qxk,pk) = 0.

___

Согласно лемме 4.5,

векторы рг € Мп, г = 1 , п, линейно не­

зависимы и их количество равно размерности линейного про­ странства. Поэтому они образуют базис в Rn. Значит, любой вектор в Rn можно разложить по системе векторов рг, г = 1 , гг. В частности, имеет место представление

х* - х ° = '^2кр1

(4.64)

*=1

с некоторыми коэффициентами Ь{. Так как функция /(ж) сильно выпуклая, то необходимым и достаточным условием достижения ею наименьшего значения в точке х * является равенство grad/(ж*) = Qx* = 0. Тогда из (4.64) имеем

п

Qx* - Qx° = -Q x ° = '£ ,biQPi i=1

Умножая это равенство скалярно на вектор рк и учитывая (4.60), получаем —(Qx°,pk) =bk(Qpk,pk). Отсюда следует, что Ъь —щ, к = 1, п. Таким образом, коэффициенты разложе­ ния в (4.64) совпадают со значениями щ на первых п итераци­ ях. Поэтому точку х* можно найти не более чем за п итераций вида х к = х к~1+ ?СкРкчк = 1 , п, что равносильно (4.64). ►

Замечание 4.5. Число итераций при поиске точки ж* мо­ жет быть меньше п. Дело в том, что при выборе начальной точки возможна такая ситуация, что (Qx°,pk) = 0 для одного или нескольких номеров к. В этом случае из (4.62) следует, что на к-й итерации х ^ О и поэтому х к = х к~1, т.е. к-я итерация, по существу, не проводится.

Замечание 4.6. Используя (4.64) при Ь{ = щ, г = 1,п, и (4.62), с учетом равенства QT = Q и правил выполнения ма­ тричных операций можно написать

X —X у *

(Qg 0.P*) i = X

( у * р У ) т Qx°

(QP S P *) р

\ f r ! ( Я р \ р 1)

Поскольку в рассматриваемом случае х* = 0, то при произволь­ ном выборе точки ж0 приходим к выводу, что

Q~l

P V T _

(4.65)

 

(QP S P T

т.е. система векторов рг, г = 1 , гг, сопряженных относительно положительно определенной матрицы Q, позволяет достаточ­ но просто построить матрицу Q-1, обратную к Q. В данном

случае Qx° = grad f(x°) и поэтому можно заключить, что п ите­ раций, проводимых при помощи (4.62) и (4.63), эквивалентны одной итерации х* = х° —Q_ 1 grad/(x0) метода Ньютона, но требующей предварительного нахождения матрицы Q-1 , на­ пример, используя (4.65). Однако система сопряженных век­ торов рг, г = 1 , п, заранее обычно не известна, и ее строят тем или иным способом последовательно в процессе проведения ите­ раций (см. 5 й 6). В частности, такой путь используют при решении системы линейных алгебраических уравнений Qz = —с с положительно определенной матрицей Q, поскольку эта зада­ ча эквивалентна задаче минимизации квадратичной функции F{z) вида (4.48). #

Рассмотренные выше подходы к решению задачи миними­ зации квадратичной функции служат основой для построения многочисленных итерационных алгоритмов безусловной мини­ мизации неквадратичных целевых функций. Наиболее употре­ бительные из этих алгоритмов рассмотрены ниже (см. 5 и 6).

Вопросы и задачи

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

4.2.Дайте определение релаксационной последовательности {х к} точек х к Е W1 Каковы особенности методов спуска, что является характеристикой их скорости сходимости? Как про­ водить оценку эффективности методов спуска? Перечислите алгоритмы, обладающие свойством квадратичной сходимости, на примере решения задачи минимизации сильно выпуклой ква­ дратичной функции.

4.3.Дайте определение векторов р 7 Е Kn, j = 1,п, сопря­ женных относительно симметрической матрицы Q порядка п.

Покажите, что если Q — положительно определенная матрица, имеющая п различных собственных значений, то собственные векторы этой матрицы, отвечающие различным собственным значениям, являются сопряженными относительно Q.

4.4. Проанализируйте на примере поиска минимума ква­ дратичной функции с положительно определенной матрицей Q, имеет ли значение тот порядок, в котором выбираются направления исчерпывающего спуска в методе сопряженных направлений. Можно ли осуществлять поиск минимума квадра­ тичной функции в одном и том же направлении более одного раза?

4.5. Решите задачу минимизации функции f( x 1,^2) =х\ + + х\ 8(дт1 + #2), используя различные стратегии поиска по сопряженным направлениям, описанные в 4.5, и выбирая в ка­ честве начальной точки (0, 1) и (0, 0). Установите, влияет ли выбор начальной точки на количество итераций при поиске точки минимума. Сравните полученные результаты с вычи­ слениями по методу наискорейшего спуска и методу Ньютона. Можно ли с применением этих методов получить точку ми­ нимума при указанных начальных точках за конечное число итераций? Если да, то чему равно это число итераций? Дайте графическую иллюстрацию полученных результатов.