Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы безусловной оптимизации.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать
☆

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

Метод Ньютона использует информацию о производных первого и второго порядка. Поэтому он относится к градиентным методам второго порядка.

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

Пусть дана дважды непрерывно дифференцируемая функция n переменных f(x) = f(x1, x2, … ,xn) и начальная точка x(0) = (x , x , … , x )T.

Разложим функцию f(x) в ряд Тейлора в точке x(0) как функцию многих переменных и ограничимся тремя членами:

f(x)=f(x(0)) + (2.28)

Пусть x(m) приближенное значение точки минимума, полученное на m-ом шаге итерационного процесса. Разложение (2.28) будет иметь место и для точки x(m), а именно

f(x)=f(x(m))+ (2.29)

или в векторной форме

f(x)  f(x(m)) + (g(x(m)), (x – x(m)) + (G(x(m))(x – x(m)), (x – x(m))), (2.30)

где G(x(m)) – матрица Гессе (матрица вторых производных) функции f(x) в точке x(m).

Из соотношения (2.29) видно, что в окрестности точки x(m) поведение функции f(x) может быть приближенно описано квадратичной функцией с точностью до величины порядка o(||x – x(m)||)2

Необходимое условие минимума – равенство нулю в точке минимума первой производной функции f(x), т. е.

f '(x)  g(x(m)) + G(x(m))(x – x(m)) = 0. (2.31)

Умножим (2.31) на G–1(x(m)):

G–1(x(m))g(x(m)) + (x – x(m)) = 0.

Следовательно,

x = x(m) – G–1(x(m))g(x(m)).

Пусть точка минимума x* x(m+1). Тогда

x(m+1) = x(m) – G–1(x(m))g(x(m)). (2.32)

Формула (2.32) является расчетной формулой метода Ньютона.

Для квадратичной функции матрица Гессе есть матрица квадратичной формы, равенство (2.31) является точным, и решение (точка минимума) находится за одну итерацию. В общем случае метод Ньютона обеспечивает , как правило, быструю сходимость. Недостатком метода Ньютона является необходимость на каждой итерации вычисления матрицы Гессе и обратной к ней матрицы. Кроме того, если начальная точка выбрана недостаточно близко к точке минимума x*, то последовательность x(0), x(1), …, x(m), … может расходиться. Для избежания подобной ситуации используется обобщенный метод Ньютона, со следующей расчетной формулой:

x(m+1) = x(m) – (m)G–1(x(m))g(x(m)). (2.33)

Формула (2.33) есть расчетная формула метода спуска (см. формулу (2.18)) с направлением в точке x(m), определяемым вектором p(m) = G–1(x(m))g(x(m)), и с шагом (m).

Величина шага (m) может быть выбрана из условия одномерной минимизации функции (m)() = f(x(m) – (m)G–1(x(m))g(x(m)).

Формулу (2.32) также можно рассматривать как формулу спуска с шагом (m)= 1.

Опишем теперь алгоритм метода Ньютона.

Алгоритм 2.6 (Алгоритм метода Ньютона).

Шаг 1. Выбрать произвольную начальную точку x(0) = (x , x , … , x )T, например, x(0) = (0, 0, … , 0)T и погрешность вычислений > 0.

В цикле по m =0, …, пока не будет выполнен критерий окончания вычислений,

Шаг 2. Вычислить g(x(m)) и G(x(m)).

Шаг 3. Вычислить G–1(x(m)).

Шаг 4. Вычислить x(m+1) = x(m) – G–1(x(m))g(x(m)).

Вычисления продолжить до тех пор, пока не будет выполнен критерий окончания вычислений:

x(m+1) – x(m) = < ,

или

f(x(m+1)) – f(x(m)) < .

Если критерий окончания вычислений выполнен, то положить x* = x(m+1), f* = f(x*) и закончить вычисления.

В случае, когда f(x) – квадратичная функция, матрица Гессе есть матрица квадратичной формы и не зависит от x (G(x(m)) = A). Для этого случая получим следующий алгоритм.

Алгоритм 2.7 (Алгоритм метода Ньютона для квадратичной функции).

Шаг 1. Для квадратичной функции f(x) = + +с ввести матрицу A =(aij), вектор b = (b1, b2, … , bn)T и коэффициент c, i = 1, … , n; j = 1, … , n. Выбрать произвольную начальную точку x = (x1, x2, … , xn)T, например, x = (0, 0, … , 0)T и погрешность вычислений > 0.

Шаг 2. Вычислить

g(x(0)) = (g , g , … , g )T,

g = , i = 1, …, n.

Шаг 3. Вычислить A–1.

Шаг 4. Вычислить x(1) = x(0) – A–1 g(x(0)) .

Пример 2.7.

Методом Ньютона найдем минимум функции f(x) = 2x + 3x +x1x2 –3 x1 с точностью = 0.1.

Шаг 1. Введем

4 1

A = 1 6 ,

b = (– 3, 0)T,

x(0)) = (0, 0)T.

Шаг 2. Вычислим

g(x(0)) = (g , g )T,

g = = 40 + 10 +(– 3) = – 3,

g = = 10 + 60 + 0 = 0.

Шаг 3. Вычислим A–1 = (ij). Элементы обратной матрицы находят по формуле (2.7) (разд. 2.1)

ij = ,

где Aji – алгебраическое дополнение элемента aji матрицы A.

Для нашего примера

detA = 46 – 11 = 23,

A11 = a22 = 6, A12 = – a12 = –1, A21 = – a21 = – 1, A22 = a11 = 4.

Следовательно,

A–1 = .

Шаг 4. Вычислим x(1) = x(0) – A–1 g(x(0)) .

Покоординатно

x(1) = (x , x )T,

x = x – = 0 – (–3) – ( )0 = ,

x = x – = 0 –( )(–3) – 0 = – .

Точка x(1) = (x , x )T = ( ,– )T есть точка минимума.