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

Лекция 8

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

Лекция 8

3.1.3 Градиентный метод с дроблением шага

Рассмотрим процесс, описываемый формулой (3.1.6). Выбор шага k

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

f ( xk k f

 

(3.1.8)

( xk )) f ( xk ),

но может привести к неприемлемо большому количеству итераций. С другой стороны, слишком большой k может вызвать неожиданный рост функции (условие (3.1.8) не выполняется), либо привести к колебаниям около точки минимума.

 

 

Пример 13.

Рассмотрим задачу минимизации

f ( x) ax2 , a 0,

тогда

согласно (3.1.6): xk 1

xk (1 2a k ).

Если

k const и

0

 

 

1

,

то

процесс

сходится и

при

 

 

1

расходится.

Если

k

 

k

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

, то

x

x ,

x

 

x ,

x

 

x

 

и

т.д. Процесс

будет

k

 

2

3

 

 

 

a

 

 

 

1

0

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

(рис. 3.1.3).

Рис.3.1.3

В методе градиентного спуска с дроблением шага k выбирается так, чтобы было выполнено неравенство

1

f ( xk k f

 

 

k

 

 

 

 

 

 

 

2

,

(3.1.9)

 

 

 

 

 

( xk )) f ( xk )

 

 

 

 

f ( xk )

 

 

 

 

где 0 1 – любая константа (одна и та же для всех итераций). Очевидно, что условие (3.1.9) более жесткое, чем (3.1.8), но оно имеет

тот же смысл: функция должна убывать от итерации к итерации. Процесс

(3.1.6.) с выбором шага k , удовлетворяющего условию (3.1.9), протекает

следующим образом. Выбираем число 0, одно и то же для всех итераций.

k -ая итерация: проверяем (3.1.9) при k . Если оно выполняется,

полагаем k и переходим к следующей итерации, иначе k дробим до тех пор, пока не выполняется (3.1.9).

Геометрическая иллюстрация метода приведена на рисунке 3.1.4, на

котором изображены линии уровня

f ( x),

точка x*

точка минимума

функции f ( x), С1 С2 С3

.....

Траектория

x0 x1 ...xk

зигзагообразная линия, ортогональная в каждой точке ломаной x0 , x1 ,...,xk

соответствующим линиям уровня и приводящая из начальной точки x0 в

точку минимума x* . Ломаная x0 x1 ...xk аппроксимирует так называемую

градиентную кривую, которая удовлетворяет уравнению dx f ( x) .

d

Рис. 3.1.4

Алгоритм основного варианта градиентного метода.

2

10 . Выбрать любые начальное приближение x0 Rn , константу

 

0,

 

 

 

 

 

1

 

 

 

 

 

0

(

1

 

 

множитель

 

 

,1 , константу

 

), положить

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

2

 

k 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

k

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

. Если f ( x

k

) 0, то положить x*

x

k

и выход из алгоритма,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иначе перейти к шагу 40 .

 

 

 

 

 

 

 

 

 

 

 

 

 

40 . Положить .

 

 

 

 

 

 

 

 

 

 

 

50

. Вычислить x x

k

f ( x

x

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

.

 

 

Если

 

выполняется

 

 

 

 

неравенство

 

f ( x) f ( xk )

 

( f ( xk ), f ( xk )) , то положить

k и перейти к

 

 

шагу 70 , иначе, положить и перейти к шагу 50 .

70 . Вычислить следующее приближение xk 1 xk k f ( xk ).

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

При практической реализации метода итерации прекращаются, если

 

 

 

 

f ( xk )

 

, где – заданная

для всех i 1, n выполнено условие типа

 

 

xi

 

 

 

 

 

 

 

точность нахождения минимума.

 

 

 

3.1.4 Градиентный метод с постоянным шагом

Проверка условия (3.1.8) трудоемка, следовательно, если известны

некоторые параметры, характеризующие функцию

f ( x), можно

использовать градиентный метод с дроблением шага, где шаг k

постоянен

на всех итерациях, при котором f ( x) заведомо убывает.

 

 

1) Пусть,

например,

 

существует

R const ,

такая,

что для

x, y En выполняется неравенство

 

 

 

 

 

 

 

 

 

 

R

 

x y

 

(3.1.10)

 

 

 

 

 

 

 

 

 

 

f ( x) f ( y)

 

 

 

 

 

 

Неравенство (3.1.10) называется условием Липшица,

R – постоянная

Липшица.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

x0 Rn , константу

Тогда достаточно взять k 1 .

R

2) Если известна равномерная по x оценка M сверху максимального собственного числа матрицы f ( x), то выполнение условия (3.1.9)

обеспечивается выбором шага по формуле k 2(1 ) .

M

В градиентном методе с постоянным шагом трудоемкость каждой итерации минимальна (нужно вычислять только градиент f ( xk ) ). Однако,

значения постоянных R и M обычно заранее неизвестны. Алгоритм градиентного метода с постоянным шагом:

10 . Выбрать любые начальное приближение

(0,1) (обычно полагают

1

), положить k 0.

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

20 . Выбрать любую константу

0,

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

Основной цикл: 30 . Вычислить f ( x

k

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40 . Если f ( x

k

) 0, то положить

 

x* x

k

и выход из алгоритма,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иначе перейти к шагу 50 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50 . Вычислить x

k 1

x

k

f ( x

k

) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

2(1 )

 

 

Модификация алгоритма:

0,

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

4

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