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

МО-Лекции

.pdf
Скачиваний:
20
Добавлен:
03.05.2015
Размер:
4.33 Mб
Скачать

 

y

z

x k

k

g k ,

то получают метод Бройдена [2].

 

 

 

 

 

Если же берется

 

 

 

 

 

 

 

y

x k ,

z

k

g k ,

то матрица

k 1 строится в соответствии с алгоритмом Дэвидона–

Флетчера–Пауэлла [2].

 

 

 

 

 

 

Так как z

и y – произвольные векторы, то оказываются допусти-

мыми и другие возможности.

 

 

 

 

 

Если в этих алгоритмах шаги

x k

строятся последовательно в ре-

зультате минимизации функции

f x

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

 

k , то все мето-

S

ды, с помощью которых вычисляют симметрическую матрицу k 1 ,

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

5.2. МЕТОД БРОЙДЕНА

Бройден показал, что если k оказывается симметрической мат-

рицей с рангом, равным единице, и должно удовлетворяться соотношение

 

k

1

g k

x k ,

 

 

 

то единственным возможным выбором

k является соотношение

 

k

x k

k

g k

x k

k g k

 

 

 

 

 

 

,

(7)

 

 

 

 

 

 

 

 

x k

k

g k

g k

 

где

 

 

 

 

 

 

 

x k x k 1 x k ,

g k

f x k 1

f x k .

 

50

Последовательность шагов алгоритма

1. Задаются начальное приближение x 0 и некоторая положитель-

но определенная матрица

0 (например, единичная

0

E ).

 

2.

Вычисляется

 

 

 

 

 

 

 

 

 

x k 1

x k

k

x k

f x k ,

 

 

 

так, что

 

 

 

 

 

 

 

 

 

k arg min f

x k

x k

f x k .

 

 

3.

Находится очередное приближение матрицы

 

 

 

 

 

k 1

k

k ,

 

 

 

где

k находится по формуле (7).

 

 

 

 

 

 

4.

Проверяется критерий останова, например,

 

f

x k 1

. Если

он не выполняется, то осуществляется переход на шаг 2.

Если целевая функция является квадратичной, то направления по-

иска Sk x k f x k на последующих итерациях оказываются

сопряженными и для определения минимума достаточно сделать n шагов (рис. 5.1).

Рис. 5.1. Траектории спуска метода переменной метрики для квадратичной функции

51

В случае минимизации неквадратичной функции возможны нежелательные явления, например:

1) матрица k 1 может перестать быть положительно определен-

ной. В этом случае необходимо каким-либо способом обеспечить ее положительную определенность;

2) вычисляемая величина

k вследствие ошибок округления мо-

жет стать неограниченной;

3) если x k

k x k f x k на текущем шаге случайно совпа-

дает с направлением поиска на предыдущем шаге, то матрица

становится сингулярной или неопределенной.

Чтобы избежать этих явлений, стараются обновлять алгоритм n шагов, считая (n 1) -ю итерацию начальной.

k 1

после

5.3. МЕТОД ДЭВИДОНА–ФЛЕТЧЕРА–ПАУЭЛЛА

Реальная разница алгоритмов метода переменной метрики заключается в нахождении [2]. В данном алгоритме матрица имеет

ранг 2. Как и в предыдущем случае, матрица перевычисляется таким образом, чтобы для квадратичной функции после n шагов она совпала

с матрицей H 1 x k

2 f x k

1

.

Исходная матрица обычно выбирается единичной: 0 E . Хотя,

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

Соотношение для

 

k

в алгоритме Дэвидона–Флетчера–Пауэлла

можно получить путем подстановки

 

 

 

 

 

 

y

x k , z

k g k

 

в уравнение (6)

k

1 x k y T

k g k z T

.

 

 

 

y T g k

 

 

z T g k

 

 

 

 

 

 

52

Тогда получим:

k 1

k Ak

Bk

k

x k

x k T

 

k

g k

g k T k T

 

 

 

 

 

 

 

 

. (8)

 

 

x k T

 

 

 

g k T

 

 

 

 

 

g k

 

 

k g k

Следует

отметить, что Ak и Bk

являются симметрическими

матрицами,

так что

k

– симметрическая и

k 1

будет симметри-

ческой.

Этот алгоритм является одним из наиболее эффективных алгоритмов переменной метрики. Алгоритм, использующий соотношение (8), оказывается достаточно эффективным при выполнении следующих условий:

1)

ошибки округления при вычислении f x k невелики;

2)

матрица k в процессе вычислений не становится «плохой».

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

Роль

матриц

Ak

в (8) заключается в обеспечении того, чтобы

H 1 , тогда как матрица

Bk

обеспечивает положительную опре-

деленность матрицы

k 1

на всех этапах и в пределе их сумма исклю-

чает начальную матрицу

0 . Используем (8) на нескольких этапах, на-

чиная с

0 :

 

 

 

 

 

 

 

 

 

 

1

E

A0

B0 ,

 

2

1

A1

B1

E (A0

A1) (B0 B1) ,

 

 

 

 

 

. . .

 

 

 

 

 

 

 

k

k

 

 

 

k

1

E

Ai

Bi .

 

 

 

 

 

i

0

i 0

53

В случае квадратичной целевой функции при k

n

1 должно вы-

n 1

k

 

полняться равенство H 1

Ai , а сумма матриц

Bi

строится та-

i

0

i 0

 

ким образом, чтобы она сократилась с начальным значением 0 .

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

5.4. АЛГОРИТМЫ ПИРСОНА

 

Если

в

выражении

(6)

k

 

1 x k y T

 

k g k z T

положить

 

 

 

 

 

y T g k

 

z T

g k

 

 

 

 

 

 

 

 

 

 

 

 

y

z

x k

и

1 , то очередное приближение матрицы направлений

определится выражением [2]:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

k

x k

 

k

g k

x k

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

(9)

 

 

 

 

 

 

 

x k

g k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

0

R0

– произвольная положительно определенная матрица.

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

Третий алгоритм Пирсона получается при подстановке в уравне-

ние (6) следующих параметров: y

z

k

g k

и

1 . В этом случае

итерационная формула принимает вид [2]:

 

 

 

 

k 1

k

x k

k

g k

k

g k

 

 

 

 

 

 

,

(10)

 

 

 

g k

k

g k

 

 

 

 

 

 

 

 

 

0

R0 .

 

 

 

 

Третий алгоритм на тестовых функциях оказывается более эффективным.

54

5.5. ПРОЕКТИВНЫЙ АЛГОРИТМ НЬЮТОНА–РАФСОНА

Этот алгоритм также предложен Пирсоном [2]. Получается из урав-

нения (6) при

и z

k g k :

k 1

 

k

g k

k

g k

 

k

 

 

 

,

(11)

 

 

 

 

 

 

 

 

 

g k

k

g k

 

0R0 .

5.6.МЕТОДЫ ГРИНШТАДТА И ГОЛЬДФАРБА

Очередное приближение матрицы направлений определяется соотношением

k 1

k

k ,

где в алгоритме Гринштадта [2] –

k

1

 

x k

g k

k

k g k

x k

 

 

 

 

 

 

 

 

 

 

 

 

 

g k

k

g k

 

 

 

 

 

 

 

 

g k

x k

 

g k

k g k

k g k

g k

k

 

 

 

 

 

 

 

 

 

 

 

,

(12)

 

 

 

 

 

g k

k g k

 

 

 

 

 

 

 

 

 

 

 

 

 

а в алгоритме Гольдфарба [2] –

k

1

 

x k g k

k

k g k x k

 

 

 

 

 

 

 

 

g k

 

k g k

 

 

55

 

g k

x k

 

 

1

 

 

k g k g k

k .

(13)

 

 

 

g k

k g k

 

 

По эффективности данные методы сравнимы с алгоритмом Дэвидона–Флетчера–Пауэлла.

5.7. АЛГОРИТМ ФЛЕТЧЕРА

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

функций H 1 x в том смысле, что собственные значения

стремятся к собственным значениям H 1 .

Полученное Флетчером соотношение для очередного приближения

матрицы

имеет вид [2]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x k

g k

g

k

x

k

 

 

 

x

k

x

k

k 1

E

 

 

k E

 

 

 

 

 

 

 

. (14)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x k

g k

x k

 

 

g k

x k

 

g k

Однако в реализованном Флетчером алгоритме матрица

k в зави-

симости от выполнения условий вычисляется по-разному.

 

 

 

Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g k

H 1(x k ) g k

 

g k

 

 

k g k ,

 

 

 

 

(а)

то для вычисления очередного приближения

 

k 1 используется соот-

ношение (8) (метод Дэвидона–Флетчера–Пауэлла). А если

 

 

 

 

 

g k

H 1(x k ) g k

 

g k

 

 

k g k ,

 

 

 

 

(б)

то используется соотношение (14).

 

 

 

 

 

 

 

 

 

 

 

 

56

Очевидно, что проверка условий (а)–(б) затруднительна и теряет

смысл, так как приходится находить H 1 x k . Поэтому при реализации алгоритма обычно используют формулу (14) без проверки условий (а)–(б). Сравнение алгоритмов на тестовых функциях показывает, что в этом случае алгоритм Флетчера проигрывает по эффективности алгоритму Дэвидона–Флетчера–Пауэлла.

Эффективность алгоритмов Дэвидона–Флетчера–Пауэлла и Флетчера в существенной мере определяют используемые методы одномерного поиска. Зачастую успех конкретной реализации определяет именно эффективность используемых методов одномерного поиска. В авторских реализациях этих методов при решении задачи

 

 

 

 

 

 

 

 

 

 

 

k ,

 

k

arg min f

x k

S

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

x k

f x k

,

 

 

 

S

 

 

 

 

оптимальное значение k

определяется на интервале (0, ) с помо-

щью кубической интерполяции. Величина

 

 

 

 

 

 

 

 

2

 

f (x k )

f0

,

 

min 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x k )

 

 

k

 

 

 

 

 

 

 

S

 

где f0 – нижняя оценка значений

f (x ) , найденная в процессе одно-

мерного поиска по направлению

 

k

(в процессе выделения интервала,

S

содержащего минимум). Если полученное в результате кубической ин-

терполяции значение

оказывается больше , то для пробных шагов

начальное значение

берется в виде

 

r 1 0,1 r ,

где r обозначает номер в последовательности шагов при одномерном

поиске. А если < и f (x k

 

k ) f0 , то одномерный поиск закан-

S

чивается.

 

 

57

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

5.8. АЛГОРИТМЫ С АППРОКСИМАЦИЕЙ МАТРИЦЫ ГЕССЕ

Можно строить аналогичные алгоритмы, аппроксимируя в процессе

поиска не матрицу H 1 x k , а матрицу H x k . А затем строить обратную к ней.

В этом случае на каждой итерации метода находится очередное

приближение

H (x k 1)

k

1

k

k ,

где

 

k – оценка

H (x k ) , а

матрица

k

– симметрическая матрица ранга 1, такая, что

k 1 удов-

летворяет уравнению

k 1

x k

g k . При этом

 

 

 

 

 

 

k

g k

k

x k

g k

k

 

x k

 

 

 

 

 

 

 

 

 

 

.

(15)

 

 

 

 

 

g k

k

x k

x k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1

1

 

 

Поскольку в процессе поиска матрица

может не быть по-

 

 

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

 

0

0

1

цы. В качестве начального приближения можно выбирать

.

 

 

К алгоритмам такого типа относится алгоритм Гольштайна и Прайса, который описывается определенной последовательностью действий [2] и предназначен для минимизации выпуклых функций.

Гольштайн и Прайс не использовали (15), а аппроксимировали матрицу H (x k ) при помощи разностной схемы, основанной на полуфак-

ториальном построении (полуфакториал – произведение n первых четных чисел), а затем проводили обращение матрицы. При этом для

оценки H x k требуется лишь информация о f x k и f x k .

На k-м этапе алгоритм выглядит следующим образом. Заранее зада-

ны величины 0

1 2 и r 0 .

58

1.

 

Вычисляется

 

в

 

качестве

аппроксимации

 

 

H x k

 

матрица

 

k

 

, j-й столбец которой определяется по формуле

 

 

 

 

H x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

x k

 

 

 

k E j

 

f x k ,

 

 

 

 

 

 

 

 

 

где

 

k

 

r

 

 

 

x k

1

 

 

для

k

 

 

0 ,

 

0 r , E j

j-й столбец единичной

 

 

 

 

 

 

 

 

 

 

матрицы

E

размерности n

n .

 

x k

– вектор-столбец,

 

определяе-

мый в соответствии с условиями:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

k

 

 

f

 

x

k

 

,

если

 

k

0

или

 

 

k

 

 

сингулярна,

или

 

 

 

 

 

 

 

 

 

 

 

H x

 

 

 

f

 

x

k

 

1

x

k

 

f x

k

 

0 ,

так что матрица

 

 

1

x

k

не является

 

 

H

 

 

 

 

 

H

 

 

 

положительно определенной;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

k

 

 

 

 

1

x

k

 

f

x

k

– в противном случае.

 

 

 

 

 

 

 

 

 

 

 

H

 

 

 

 

 

 

 

 

 

 

Заметим,

что матрица

 

 

 

 

k

 

не обязательно симметрическая мат-

H x

 

 

рица, и если

 

 

f

 

x

k

 

 

1

x

k

 

 

f

x

k

0 , то предлагаемое направле-

 

 

 

 

 

H

 

 

 

 

 

ние поиска

 

x k

и направление градиента

f

x k

 

 

отличаются более

чем на 90º. Следовательно,

 

 

 

x k

 

может быть направлено в сторону, в

которой

f x

 

увеличивается.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

 

Для выражения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F x k ,

 

 

 

 

f

 

x k

 

f

x k

 

x k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

x k

x k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вычисляется

 

k

так,

 

чтобы

 

 

 

F(x k , 1)

или

 

 

 

F(x k ,

k ) 1

,

k

1. Эти условия нужны для того, чтобы не допускать шагов поис-

 

ка, которые далеко выходят за область линейного изменения целевой функции в окрестности x k , предполагавшуюся при аппроксимации

H x .

59