Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 9

.pdf
Скачиваний:
10
Добавлен:
12.01.2020
Размер:
240.92 Кб
Скачать

Лекция 9

3.1.5 Метод наискорейшего спуска

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

которого шаг k выбирается из условия

f ( xk k f

 

 

(3.1.11)

( xk )) min f ( xk

f ( xk ))

 

0

 

 

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

Этот метод в литературе известен еще как метод Гаусса-Зейделя. Геометрическая интерпретация: В отличие от первых двух методов

направление движения из точки xk касается линии уровня в точке xk 1 .

Ломаная x0 x1 ...xk зигзагообразно приближается к x* , причем звенья этого зигзага ортогональны между собой. В самом деле, шаг выбирается из

условия

 

 

 

 

 

поэтому

 

 

min ( ) min f ( xk f ( xk )),

 

 

 

 

 

 

 

 

 

 

d ( k )

 

f

 

( xk 1 ) f

 

( xk ) 0, следовательно, направления спуска

 

d

 

 

 

 

 

 

 

 

 

 

на двух последовательных итерациях взаимно ортогональны (рис.3.1.5).

1

С1 С2 С3 ....

Рис.3.1.5

Достоинство: обеспечивает движение с самым выгодным шагом. Недостаток: на каждой итерации предполагается решение довольно

трудоемкой вспомогательной задачи одномерной минимизации. Алгоритм метода наискорейшего спуска:

10 . Выбрать любое x0 Rn , положить k 0.

Основной цикл: 20 . Вычислить f ( xk ).

30 . Если f ( xk ) 0, то x* xk и выход из алгоритма, иначе перейти к шагу 40 .

40 . Вычислить k из условия

f( xk f ( xk )) min f ( xk f ( xk )).

0

50 . Вычислить xk 1 xk k f ( xk ).

60 . Положить k k 1 и перейти к шагу 20 .

На практике окончание работы алгоритма происходит при выполнении

условия

 

f

xk

 

, i 1,2, ,n , где

– заданная точность.

 

 

 

 

 

 

 

 

 

xk

 

 

 

 

 

 

 

 

 

Рассмотрим работу метода наискорейшего спуска на примере

нахождения

 

 

минимума

квадратичной

функции

z ax2 bxy cy2 dx ey f . Так

как эту функцию с

помощью

 

 

 

 

2

 

 

линейных преобразований (перенос начала системы координат и поворот

осей) можно привести к каноническому виду

z a x2

b y2

, то

 

1

1

1

1

 

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

 

Пример 14. Найти минимум функции z ax2 by2

с точностью до ,

если начальное приближение X0

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

2ax0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Вычислим градиент функции gradz

 

 

 

 

 

 

.

 

 

 

 

zx , zy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X0

 

 

 

 

2by0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Составим

уравнение

прямой с

 

направлением

 

gradz

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X0

проходящей

через

точку

 

X :

 

x x0

 

y y0

 

.

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zx

 

 

 

zy

 

 

 

 

 

by

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

0

x y0

1

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ax0

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Среди всех линий уровня ищем ту, для которой найденная прямая является в то же время касательной к этой линии уровня. Обозначим точку

касания X1

x

 

 

1

(рис.3.1.6).

 

 

y1

 

 

Рис. 3.1.6

 

 

 

 

 

 

 

 

 

 

3.

Запишем уравнение линии

 

уровня

поверхности

z C :

ax2 by2

C или в каноническом виде

x2

 

y2

1

, где a2

 

C

, b2

 

C

a2

b2

 

 

 

 

 

 

 

1

 

a

1

 

b

 

 

1

 

1

 

 

 

 

 

 

 

 

. Кривая, описываемая этим уравнением – эллипс.

3

4. Запишем уравнение касательной к эллипсу в точке касания X1 :

 

xx

 

yy

1. Отсюда находим

y

b2

 

x

x

b2

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

 

1

.

 

Из

условия

 

a2

b2

a2

 

 

 

 

 

 

 

 

 

y

 

 

y

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

1

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

 

 

2

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

y1

совпадения этой касательной с направлением градиента

a x0

 

 

 

a1

 

 

 

 

b

 

b12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

получим координаты точки X1 , зависящие от C : x1

 

 

bC

,

 

 

ax0

a b

 

 

 

y1

 

 

aC

.

 

 

by0

a b

 

 

 

5. Так как точка координат x1 , y1

abx2 y2 a b 2

C 0 0 . a3 x02 b3 y02

x1

b2 y2 x

0

a b

 

0

 

,

a3 x2

b3 y2

 

0

 

0

 

X1

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

эллипсу, то при подстановке

в

уравнение

эллипса

получим

значение

Таким

образом,

координаты точки

X1 :

y1

a2 x2 y a b

 

 

 

 

0

0

 

.

 

 

 

 

a3 x2

b3 y2

 

 

 

 

 

0

 

0

 

 

 

 

 

Теперь из точки X1

действия для нахождения каждого приближения к

проводим градиент и повторяем вышеописанные следующей точки X2 (рис.). После нахождения точке минимума функции проверяем условие

 

X

k 1

X

k

 

 

x

k 1

x

k

2

y

k 1

y

k

2

. При достижении заданной

 

 

точности за точку минимума функции принимаем X X

n

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Соседние файлы в предмете Математическое моделирование