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

Если преобразования в первом равенстве (5.7) не доводить до конца, то вместо (5.8) получим

Ik =

(wk+1 —w

k e N.

(5.9)

к12

 

|iufc|

 

 

В случае дважды дифференцируемой целевой функции мож­ но получить еще одно выражение для 7^. Так как матрица Гессе функции (Qx, х ) /2 + (с, х) совпадает с матрицей Q, то во вто­ ром равенстве (5.6) можно заменить Q матрицей Гессе Н(хк) неквадратичной целевой функции:

(.Н(хк)рк, wk+l)

к 6 N.

(5.10)

(Н(хк)рк,рк) ’

 

Теперь с помощью одной из формул (5.8)-(5.10) из первого равенства (5.6), записанного в виде

pk+1 = lkpk + wk+\ к е N, p l = w\

(5.11)

на любой к-й итерации можно найти вектор, определяющий направление спуска из точки х к на (А;+1 )-й итерации. Для квадратичной функции результат вычислений по каждой из формул (5.8)-(5.10) будет одинаковым, но для неквадратичной функции значения 7^ будут, вообще говоря, различными. По­ этому использование каждой из этих формул при минимизации неквадратичной функции f(x) может привести к построению своей системы направлений спуска. При этом в отличие от ква­ дратичной функции точка минимума в общем случае не будет найдена за конечное число итераций.

Более того, при выборе значения щ > 0 на каждой А;-й итерации в рекуррентном соотношении х к = х к~1 + я^рк при­ ходится минимизировать функцию

'Фк(х) — f ( xk~l + КРк), * > 0 , keN.

(5.12)

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

„обновления" алгоритма, состояющую в том, что в (5.11) пе­ риодически через заданное число итераций полагают 7&= 0. Соответствующий номер итерации называют моментом об­ новления алгоритма, или рестартом. Обычно при мини­ мизации целевой функции в Шп множество таких номеров имеет вид Х0 = {п, 2п, ..., mn, ...}, т Е N. Использование в алгорит­ ме рестартов позволяет избежать накопления вычислительных погрешностей и уменьшить вероятность построения после ка­ ждых п итераций линейно зависимых направлений спуска, но приводит к росту общего числа итераций, необходимых для достижения заданной точности поиска.

Опишем алгоритм минимизации дифференцируемой неква­ дратичной целевой функции f{x). Выбираем параметр £3 > 0 точности поиска и начальную точку ж0 G Rn, в которой вы­ числяем антиградиент w l = —grad/(cc°). Убедившись, что |гс711 > £ 3, формируем множество TQ моментов обновления ал­ горитма, полагаем k = 1 , принимаем р1 = w 1 и переходим к основной части алгоритма.

1. Минимизируя функцию фк{х) (5.12), находим значение Кк и точку х к= х к~1+ ЯкРк. В этой точке вычисляем антигра­ диент wk+l = —grad/(a;fc) и проверяем выполнение неравенства \wk+1\< £3. Если оно выполнено, то итерации прекращаем и полагаем ж* « ж*” 1, /(ж*) « f ( x k~1). В противном случае пе­

реходим к п. 2.

 

2. Если к £ Хо, то полагаем

= ги*+1, к : = к+ 1 и возвра­

щаемся к п. 1 . В противном случае переходим к п. 3.

3. При помощи (5.8) или (5.9) вычисляем значение 7к и, используя (5.11), находим вектор рЛ+1. Полагаем к : = к + 1 и возвращаемся к п. 1 .

Пример 5.5. Используем описанный алгоритм для поис­ ка минимума функции f(x 1,^2) = (ж? —Х2 )2 + (х\ I)2, рассмо­ тренной в примере 5.2. Зададим параметр точности поиска £3 = 10“3 и начальную точку х° = (—1 , —2), в которой /(ж0) = = 13.

 

 

 

 

 

 

Таблица 5.4

к

х к

f(x k)

Хк

|grad/(®fc)|

1

(0,379,

 

-1,483)

3,031

0,086

3,475

2

(0,158,

 

—0,103)

0,726

0,394

1,624

3

(0,792,

0,375)

0,107

0,432

0,631

4

(0,746,

0,494)

0,068

0,194

0,346

5

(0,978,

0,881)

0,006

1,028

0,828

6

(0,965,

0,924)

0,001

0,114

0,047

7

(0,974,

0,930)

0,001

0,232

0,045

8

(0,978,

0,960)

0,000

0,519

0,058

9

(0,999,

0,995)

0,000

0,286

0,012

10

(0,998,

0,996)

0,000

0,098

0,001

11

(0,999,

0,997)

0,000

0,525

0,002

12

(0,999,

0,999)

0,000

0,398

0,001

13

(1 ,000,

1 ,000)

0,000

0,166

0,000

 

 

 

 

 

 

Таблица 5.5

к

х к

f(x k)

Хк

|grad/(a:fc)|

1

(0,379,

-1,483)

3,031

0,086

3,475

2

(0,192,

-0,064)

0,663

0,401

1,551

3

(0,893,

 

0,655)

0,032

0,508

0,406

4

(0,901,

 

0,818)

0,001

0,265

0,219

5

(0,936,

 

0,927)

0,000

0,133

0,334

6

(0,999,

 

0,997)

0,000

0,116

0,003

7

(1 ,000, 1 ,000)

0,000

0,377

0,001

8

(1 ,000,

 

1 ,000)

0,000

0,088

0,000

 

 

 

 

 

 

Таблица 5.6

к

х к

f(x k)

Хк

I grad У(аз*) |

1

(0,379,

-1,483)

3,031

0,086

3,475

2

(0,531,

 

0,326)

0,222

0,472

1,034

3

(0,899,

 

0,686)

0,025

0,325

0,344

4

(0,990,

 

0,988)

0,000

0,443

0,050

5

(1 ,000,

 

1 ,000)

0,000

0,115

0,000

в