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

5.4. Модификации метода Ньютона

Напомним, что в методе Ньютона для построения релакса­ ционной последовательности {х к} при поиске минимума два­ жды непрерывно дифференцируемой и ограниченной снизу в К" целевой функции f(x ) используют рекуррентное соотноше­ ние вида (5.14)

х к = х к~ 1 + х крк,

где рк — вектор, задающий на к-й итерации ньютоновское на­ правление спуска из точки x k~l (на первой итерации из началь­ ной точки ж0). Выше (см. 5.3) перечислены некоторые способы выбора значения х*. Обычно собственно метод Ньютона свя­ зывают с таким вариантом выбора этого значения, когда на

к-й итерации принимают х^рк = -H ~ 1 (xk~1 )graidf(xk~1), где

Н (хк- 1) — матрица Гессе целевой функции с элементами, вы­ численными в точке х к~1. Если принять во внимание (5.15), то следует считать, что в методе Ньютона щ = 1.

Одна из модификаций метода Ньютона поиска точки х* минимума функции f(x ) связана с применением для выбора значения х^ метода дробления шага, при котором на каждой

итерации выполняется неравенство*

 

f { x k~l) - f { x k) ^ -u}Hk(gr&df(xk~1 ),p k), к€ N,

(5.18)

где и Е (0,1/2). Если на к-й итерации это неравенство не вы­ полнено при начальном значении х^ = XQ = 1 , то процедуру дробления шага проводят в соответствии с формулой х/с = г/, где v Е (0, 1 ) — выбранный постоянный коэффициент дробле­ ния шага, а г — номер этапа дробления, на котором будет выполнено (5.18).

Алгоритм с дроблением шага и нахождением направления спуска путем решения системы линейных алгебраических урав­ нений (СЛАУ) (5.17) можно представить следующим образом.

На предварительном этапе выбираем начальную точку ж0 6 К71, параметр S3 > 0 точности поиска в условии |grad/(xfc_1)| < S3 прекращения итераций, коэффициент и дробления шага и зна­ чение и Е (0,1/2) в (5.18). Вычисляем значение /(ж 0) целевой функции /(ж) в точке ж0, полагаем k = 1 , щ = 1 и переходим к основной части алгоритма.

1 . В точке ж*-1, найденной на (А:—1)-й итерации (на пер­ вой итерации в точке ж0), вычисляем градиент gr&df(xk~l) и матрицу Гессе Н {хк~1) целевой функции. Если |grad / (ж^- 1) |< < S3, то итерации прекращаем, принимая ж* « ж*- 1 и /(ж*) и « f(x k~l). В противном случае переходим к п. 2.

2. Из решения СЛАУ (5.17) находим вектор pfc, точку х к = = х к~ 1 + щ рк и значение f(x k) в этой точке. Если при этом выполнено неравенство (5.18), то полагаем х/; = 1 , к : = к + 1 и возвращаемся к п. 1. В противном случае переходим к п. 3.

3. Полагаем х ^ : = v x \* и возвращаемся к п. 2.

Другой способ выбора значения х^ в (5.14) основан на при­ менении на каждой к-й итерации исчерпывающего спуска в направлении, определяемом вектором pfc, т.е. связан с миними­ зацией функции гр^(х) = /(ж *- 1 + хрк). Общая трудоемкость этого способа может оказаться значительной вследствие не­ обходимости на каждой итерации для поиска минимума этой функции использовать один из методов одномерной минимиза­ ции (см. 2). Алгоритм, в котором реализуется такой способ выбора значения х*, отличается от описанного выше тем, что во втором пункте алгоритма после нахождения вектора рк ми­ нимизируется функция ip(я), а затем полученное значение х^ используется для вычисления точки х к = х к~ 1 + х^р^. После этого осуществляется переход к первому пункту алгоритма. Отметим, что на предварительном этапе нет необходимости задавать значения !/, и) и х^ = 1 .

Пример 5.7. Используем рассмотренный алгоритм для по­ иска минимума той же функции f(x 1,2:2) = (я? - Я 2)2 + (xi “ I)2?

что и в примере 5.6, выбрав начальную точку х° = (—1, —2) и задавшись значением 10_3 параметра точности поиска.

Процесс поиска точки минимума х* = (1, 1) этой функции для двух различных алгоритмов показан рис. 5.9: а— алгоритм с дроблением шага (v = 0,5, ш= 0,25); б — алгоритм с выбором параметра х*;, входящего в формулу (5.14), с помощью исчерпы­ вающего спуска. Результаты вычислений приведены в табл. 5.7, в которой колонки а и б соответствуют двум указанным ал­ горитмам, а в колонке в содержатся результаты расчетов по методу Ньютона с выбором щ = 1 в формуле (5.14).

Из результатов расчетов видно, что спуск в ньютоновском направлении уже на первой итерации приводит к значительно большему убыванию целевой функции и дает более точное приближение к искомой точке минимума. При одном и том же значении ез = 10_3 в вариантах б и в требуется всего пять итераций, в то время как в варианте а — семь итераций. #

Рис. 5.9

Таблица 5.7

Отметим, что рассмотренные модификации метода Нью­ тона менее чувствительны к выбору начальной точки ж0 по сравнению с пклассическим “ вариантом этого метода, соответ­ ствующим значению х^ = 1 в (5.14). Можно показать*, что если целевая функция является сильно выпуклой и ее матрица Гессе Н(х) для любых точек ж, у £ Шп удовлетворяет неравенству

||Я(х)-Я(у)|| <1|х-у|,

(5.19)

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

|xfc-x * | < T -lx ^ 1 -х*\2, k € N,

(5.20)

Ai

 

где Ai — оценка снизу наименьшего из собственных значений матрицы Гессе Н(х) целевой функции в окрестности точки ж*, содержащей точку ж^-1 , если в этой окрестности матрица Гессе является положительно определенной, т.е. Ai|ж|2 ^ (Я(ж)ж, ж) для всех точек ж из этой окрестности.

Ясно, что попытка реализовать рассмотренные алгоритмы наталкивается на те же проблемы, что и при выборе х^ = 1 в

(5.14) (см. 5.3). Главная из них состоит в том, что на каждой /с-й итерации необходимо вычислять и обращать матрицу Гес­ се Н (хк~1) целевой функции или же искать направление спуска путем решения СЛАУ (5.17), где матрица IIк определяется ра­ венством (5.16). Один из способов разрешения этой проблемы заключается в использовании для выбора направления спуска вместо (5.15) соотношения

Рк = - Я - 1 (ж0) grad/(ж *-1), к е N.

(5.21)

Если в начальной точке ж0 матрица Гессе Н(х°) целевой функ­ ции не является положительно определенной, то в (5.21) вместо Я(ж°) можно использовать матрицу Н {= щ1 п + Я(ж°), вычи­ сленную в соответствии с (5.16) при А; = 1 .

Оказывается, что использование (5.21) приводит к линейной скорости локальной сходимости, причем справедлива оценка

\xk -x*\ < 5|ж*- 1 -ж*|, k e N, q = const.

(5.22)

Выбор начальной точки ж0 влияет на знаменатель q геометри­ ческой прогрессии: чем ближе ж0 к искомой точке х*, тем меньше значение q.

Другой способ разрешения указанной выше проблемы со­ стоит в периодическом „обновлении" матрицы Гессе в (5.21). В этом случае на первых К итерациях в (5.21) используют матрицу Я(ж°) (или Н\, если матрица Я(ж°) не является поло­ жительно определенно^, а на (Я + 1 )-й итерации ее заменяют матрицей Н (хк ) (или Нк+i, если матрица Н (хк ) не окажется положительно определенной матрицей) и т.д. Выбор значения К зависит от целевой функции. Если целевая функция сильно выпукла и удовлетворяет условию (5.19), то алгоритм с „обно­ влением" матрицы Гессе при произвольном выборе начальной точки будет обладать сверхлинейной скоростью сходимости*