Скачиваний:
178
Добавлен:
15.06.2014
Размер:
672.39 Кб
Скачать

3. МЕТОДЫ ПЕРВОГО ПОРЯДКА И МЕТОДЫ С ПЕРЕМЕННОЙ МЕТРИКОЙ

В методах первого порядка при выборе следующего направления спуска используется градиент функции:

r

r

 

df

 

df

 

g

= f (x) =

 

,...,

 

.

dx

dx

 

 

 

1

 

n

Как известно, направление градиента является направлением наискорейшего возрастания функции. Следовательно, противоположное направление g

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

Алгоритм этих методов одинаков, различие состоит лишь в правиле выбора очередного направления. Задается начальная точка x0 , начальный шаг одно-

мерного спуска h и точность ε .

1.Вычисляется gr0 = f (xr0 ) и выбирается направление dr = −gr0 ;

2.С помощью метода одномерной оптимизации найти zm доставляющее r + zd )0

z

3. Перейти в новую точку xr0 = xr0 + zmd .

4- Вычислить gr1 = f (xr0 ) .

5. Проверить условие сходимости zm + gr1 <ε ,

если оно выполняется, тогда xm = xr0 , Fm = f (x0 ) , конец, иначе переходим к п.6.

6.Выбор нового направления спуска d = Π(gr1, gr0, zm ,dr) .

7.Повторить с п.2.

Программная реализация обычно содержит отдельные подпрограммы для вычисления функции f (xr) , ее градиента f (x) и нахождения минимума.

3.1. Метод спуска по градиенту

Это самый простой из рассматриваемых методов. Каждый раз направление одномерного спуска совпадает с вектором градиента g в п. 6.

d= −gr1

3.2.Метод сопраженных градиентов (Флетчера-Ривса)

Можно легко установить, что ход траектории спуска в предыдущем методе аналогичен траектории в методе покоординатного спуска с точностью до на-

19

чального угла поворота. Поэтому эта стратегия неэффективна для овражного типа рельефа.

Два направления dr1 и d2 называются сопряженными относительно сим-

метричной, положительно определенной матрицы G если dr1Т G dr2 = 0. Из-

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

В простейшем варианте метода сопряженных градиентов, обоснованном Флетчером и Ривсом очередное направление в п.6 определяется следующим

образом (рекомендуется оформить в подпрограмме PREOBR): dr = −gr1 + adr, где a = gr2 / gr2; запомнить g0 = gr1;

1 0 r r

После каждых n спусков n +1 спуск следует начинать с d = −g1 (без a ).

Методами с переменной метрикой называется широкий класс эффективных градиентных методов, в которых направление очередного спуска вычисля-

ется поr формуле dk = −Hk grk ,

где Н - положительно определенная симметричная матрица размерности n ×n , которая перед каждым спуском пересчитывается по формуле

Hk = Hk 1 + Ak

Ak - корректирующая матрица, рассчитываемая по результатам предыду-

щих спусков.

На 1-м шаге (п.1) следует положить Н=Е (Е - единичная матрица), а в п.6

делается пересчет корректирующей матрицы А через векторы νr = zmdr, ur = gr0 gr1 , (столбцы) и νrT , urT (строки)

и вычислениеr нового направления спуска

Н=Н+А; d = −Hgr1.

В результате после нескольких спусков матрица H G1, и методы являются асимптотически второго порядка.

3.3. Метод Давидона-Флетчера-Пауэлла

Матрица А рассчитывается по формулам:

A =

vr vrT

H ur urT H

r r

r

r

 

vT u

uT

H u

Метод ДФП на сегодняшний день является одним из наиболее эффективных методов поиска безусловного минимума.

3.4.Метод проективного градиента

Вэтом методе матрица А рассчитывается по формуле

20

 

r

r

T

A = −

(H u )(H u )

r

r

 

 

uT H u

 

после n шагов матрица H восстанавливается, H = E .

3.5. Метод Мак-Кормика 1

Матрица А рассчитывается по формуле

A =

(vr H ur)vrT

 

 

 

 

 

 

 

 

 

 

 

vrT ur

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.6. Метод Мак-Кормика 2

Матрица А рассчитывается по формуле

 

 

A =

(vr H ur)(urH )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

urT H ur

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.7. Метод Гольдфарба

Матрица А рассчитывается по формуле

 

 

 

 

r rT

H

r rT

 

 

 

 

urT H ur r rT

 

 

 

 

v u

+ H u v

 

+ 1+

r r

 

v v

 

 

A =

 

 

 

 

 

 

 

 

 

uT v

 

 

 

 

 

 

 

 

urT vr

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.8. Метод Гринстадта

Матрица А рассчитывается по формуле

 

 

 

 

r rT

 

 

rrT

 

 

 

 

urT vr

r rT

 

 

 

 

v u

H + H u v

1

+

r

r

H u u

H

A =

 

 

 

 

 

 

 

 

 

uT H u

 

 

 

 

 

 

 

 

 

 

urT H ur

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21