Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_МО.pdf
Скачиваний:
551
Добавлен:
05.06.2015
Размер:
12.36 Mб
Скачать

Таким образом, x = x2 = (3 /16, 1/ 8) . Решение получено в результате двух итераций метода сопряженных градиентов, поскольку целевая функция квадратична в E2 и одномерные задачи минимизации на шаге 2 алгоритма решены точно. ■

Проверка решения примера. Решим задачу аналитическим методом.

f (x) = 4x2

+3x2

4x x

2

+ x ;

f

= 8x 4x

 

+1 = 0 ,

f

= 6x

 

4x = 0 .

x

2

x

 

2

1

2

1

1

1

 

2

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

Решая систему этих двух уравнений для нахождения стационарной точки, получим x1 = −3/16, x2 = −1/ 8.

5.7. Метод Ньютона

Пусть функция f (x) дважды дифференцируема в En . Тогда, с помощью градиента и матрицы Гессе, для нее можно записать разложение в ряд по формуле Тейлора в окрестности точки xk

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) = f (xk ) + f (xk )T

x +

1

xT H (xk )

x + o(

 

 

 

x

 

 

 

2 ) ,

(5.27)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 )

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где o(

 

 

 

x

 

 

 

− сумма всех членов разложения, имеющих порядок выше второго;

 

 

 

 

xT H (xk ) x − квадратичная форма.

 

 

 

 

 

 

 

 

 

 

 

Отсюда

следует, что

поведение функции

f (x)

с точностью

до величины

порядка o(

 

 

 

 

x

 

 

 

2 ) может быть описано квадратичной функцией

(5.28)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Φk (x) = f (xk ) + f (xk )T x +

1

xT H (xk )

x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

Минимизируем функцию Φk (x) вместо

f (x) . Найдем ее точку минимума xk +1

из условия стационарности точки Φk (x) = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Φk (x) = H (xk ) (x xk ) + f (xk ) = 0 .

 

 

 

 

 

 

(5.29)

Пусть матрица Гессе

H (x)

положительно определена при

всех x En ,

следовательно, она невырождена ( det H (x) > 0 ). Тогда существует обратная матрица

H 1 (x) . Отметим, что квадратичная функция (5.28) с положительно определенной матрицей H (xk ) сильно выпукла и уравнение (5.29) определяет единственную точку глобального минимума функции Φk (x) . Умножим слева обе части равенства

92

f (x)

(5.29) на матрицу H 1 (xk )

и найдем точку минимума xk +1

квадратичной функции

Φk (x) , аппроксимирующей

f (x) в окрестности точки x = xk

 

xk +1 = xk H 1 (xk ) f (xk ), k = 0, 1, ...

(5.30)

Итерационный процесс минимизации функции многих переменных (5.30), начатый из произвольной точки x0 En , называется методом Ньютона и является обобщением метода Ньютона в одномерном случае.

Очевидно, для квадратичной функции с положительно определенной матрицей A применение метода Ньютона обеспечивает получение точки глобального минимума ровно за один шаг из любой точки x0 En .

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

окрестности точки xk , содержащаяся в значениях не только первых, но и вторых ее частных производных. Поэтому при прочих равных условиях следует ожидать более быструю сходимость метода Ньютона по сравнению с градиентными методами.

При выборе достаточно хорошего начального приближения

x0 En

минимизирующая

последовательность

 

{xk }

для

сильно выпуклой

дважды

дифференцируемой функции

f (x)

сходится к точке минимума с квадратичной

скоростью ρ (xk , x ) [c ρ(x0 ,

x )]2 . Если точка x0

 

выбрана недостаточно близко к

точке x , то последовательность (5.30) может расходиться.

 

Отметим, что даже сходящаяся последовательность

{xk } метода Ньютона не

всегда обеспечивает монотонное убывание f (x) ,

 

т.е.

неравенство f (xk +1 ) < f (xk )

для некоторых

k = 0, 1, ... может

нарушаться.

 

Этот

недостаток устранен в

обобщенном методе Ньютона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk +1 = xk αk H 1 (xk ) f (xk ) ,

 

 

где величина αk

> 0 находится на каждом шаге из условия исчерпывающего спуска

по направлению

pk

= −H 1 (xk ) f (xk ) . Можно показать,

что если целевая функция

является сильновыпуклой и ее матрица Гессе

H (x)

для любых точек

x, y En

удовлетворяет неравенству

 

 

 

H (x) H ( y)

 

 

 

L

 

 

 

x y

 

 

 

, то при произвольном выборе

 

 

 

 

 

 

 

 

93

f (x)

начальной точки обобщенный метод Ньютона обладает квадратичной скоростью сходимости.

Основным недостатком метода Ньютона можно считать необходимость вычисления и обращения матрицы Гессе на каждой итерации. Итерация этим методом существенно более трудоемка, чем, например, итерации методов градиентного или наискорейшего спусков. Обсуждение модификаций метода Ньютона, позволяющих в определенном смысле избавиться от этого недостатка и

при этом сохранить высокую скорость сходимости, приводится в п. 5.8.

 

 

 

Пример 5.8.

Найти

точку

минимума

функции

f (x) = 4x2

+3x2

4x x

2

+ x

 

 

 

 

 

 

 

 

1

2

1

1

методом Ньютона из начальной точки x0 = (0,

0)T .

 

 

 

 

 

 

□ Градиент f (x0 ) =

(1,

0)T ,

 

 

8

4

 

 

 

 

матрица Гессе A =

 

. Найдем обратную

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

матрицу A1 (x0 ) =

1

6

4

. Далее x1 = x0 A1 (x0 ) f (x0 ) = (3 /16,

1/ 8)T . Так как

 

 

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

4

8

 

 

 

 

 

 

 

 

 

f (x1 ) = (0, 0)T ,

то задача решена,

x = x1 .

Целевая функция квадратична,

поэтому

решение получено за одну итерацию.

 

 

 

 

 

 

 

 

Пример

 

 

5.9.

Рассмотрим

задачу

поиска

минимума

функции

f (x) = (x2 x

2

)2

+ (x 1)2 . Зададим

параметр

точности

поиска

 

f (x)

 

< ε, ε =103 ;

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

начальную точку x0

= (1, 2)T , f (x0 ) =13.

В результате решения задачи методом

Ньютона понадобилось N = 5 итераций, методом наискорейшего спуска − N = 96 итераций, методом сопряженных градиентов − N = 8 ÷13 итераций, в зависимости от формулы, по которой вычислялся коэффициент для сопряженных направлений. Обобщенный метод Ньютона справляется с решением задачи за N = 5 итераций, как и классический метод Ньютона.

5.8. Квазиньютоновские методы

Среди алгоритмов многомерной минимизации можно выделить группу алгоритмов, которые объединяют достоинства метода наискорейшего спуска и метода Ньютона. Такие алгоритмы называют квазиньютоновскими методами. Особенность этих алгоритмов состоит в том, что при их применении нет необходимости обращать матрицу Гессе целевой функции и в то же время

94

удается сохранить высокую скорость сходимости, присущую методу Ньютона и его модификациям.

Элементы релаксационной последовательности {xk } в алгоритмах

квазиньютоновских методах минимизации непрерывно дифференцируемой в En

целевой

функции

f (x) строят

в соответствии с рекуррентным

соотношением

xk +1

= xk

+αk pk ,

k = 0, 1, ...,

но

направление

спуска на

каждой

k -й итерации

задают в виде

 

 

 

 

 

 

 

 

 

 

 

 

p k

= −A f (x

k

) = A wk ,

 

 

(5.31)

 

 

 

 

k

 

k

 

 

 

 

где

wk

= − f (xk )

− антиградиент целевой

функции, а

A

положительно

 

 

 

 

 

 

 

 

 

k

 

определенная матрица порядка n , обновляемая на каждой итерации. Отметим, что направление, задаваемое на каждой k -й итерации вектором pk , является направлением спуска, так как с учетом (5.31)

( f (xk ), pk ) = −(wk , Ak wk ) < 0.

Нетрудно заметить,

что

при

A

= H 1 (xk ) метод

переходит в

классический

 

 

 

 

k

 

 

 

 

метод Ньютона, а при

Ak =αk − в один из градиентных методов.

Матрицы {Ak }

определяют таким

образом,

чтобы

последовательность {Ak }

при

k → ∞ имела

предел, равный

H 1 (x ) ,

где

H (x ) − матрица

Гессе

целевой функции,

вычисленная в точке минимума x .

Известно, что если целевая функция является сильно выпуклой, то алгоритмы метода Ньютона обладают квадратичной скоростью сходимости. Поэтому можно ожидать, что алгоритмы квазиньютоновских методов будут иметь достаточно высокую скорость сходимости, если на каждой k -й итерации матрица Ak выбрана близкой к матрице H 1 (xk ) . Используя при конструировании Ak аппроксимацию матрицы H 1 (xk ) с учетом информации о градиенте целевой функции в точке xk ,

можно существенно упростить процедуру нахождения направления спуска на k -й итерации. Именно эти соображения лежат в основе построения алгоритмов квазиньютоновских методов.

Квазиньютоновские методы чрезвычайно популярны среди пользователей методов оптимизации в связи с тем, что они сочетают высокую скорость

95

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

идеи метода Ньютона.

 

 

 

 

 

 

 

Пример

 

5.10.

Рассмотрим

задачу

поиска

минимума функции

f (x) = (x2

x

2

)2 + (x

1)2 . Зададим

параметр

точности

поиска

 

f (x)

 

< ε, ε =103 ,

 

 

1

 

1

 

 

 

 

 

 

 

 

начальную точку x0

= (1, 2)T , f (x0 ) =13. В результате решения задачи методом

Ньютона понадобилось N = 5 итераций, методом наискорейшего спуска − N = 96 итераций. Квазиньютоновский метод Давидона-Флетчера-Пауэлла, или ДФП метод, справляется с решением этой задачи за N = 7 итераций.

* * *

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

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

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

Приведем несколько общепринятых тестов, на которых испытано большинство известных методов минимизации.

1. Тест Розенброка

f (x , x

2

) =100 (x2

x

2

)2 + (x

1)2 min , x0 = (1, 1)T ε =103 .

 

1

 

1

 

1

 

Здесь некоторые

алгоритмы не

позволяют

получить точку минимума (1, 1)T

вследствие преждевременного окончания процесса поиска.

96

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