Метод сопряженного градиента Флетчера-Ривса

В методе сопряженного градиента строится последовательность направлений поиска Метод сопряженного градиента Флетчера-Ривса - student2.ru , являющихся линейными комбинациями Метод сопряженного градиента Флетчера-Ривса - student2.ru , текущего направления наискорейшего спуска, и Метод сопряженного градиента Флетчера-Ривса - student2.ru , предыдущих направлений поиска, т.е.

Метод сопряженного градиента Флетчера-Ривса - student2.ru ,

причем коэффициенты выбираются так, чтобы сделать направления поиска сопряженными. Доказано, что

Метод сопряженного градиента Флетчера-Ривса - student2.ru

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

Алгоритм Флетчера-Ривса.

1. В X0вычисляется Метод сопряженного градиента Флетчера-Ривса - student2.ru .

2. На k-ом шаге с помощь одномерного поиска в направлении Метод сопряженного градиента Флетчера-Ривса - student2.ru находится минимум f(X), который и определяет точку Xk+1.

3. Вычисляются f(Xk+1) и Метод сопряженного градиента Флетчера-Ривса - student2.ru .

4. Направление Метод сопряженного градиента Флетчера-Ривса - student2.ru определяется из соотношения:

Метод сопряженного градиента Флетчера-Ривса - student2.ru

5. После (n+1)-й итерации (т.е. при k=n) производится рестарт: полагается X0=Xn+1и осуществляется переход к шагу 1.

6. Алгоритм останавливается, когда Метод сопряженного градиента Флетчера-Ривса - student2.ru , где e - произвольная константа.

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

Алгоритм Флетчера-Ривса чувствителен к точности одномерного поиска, поэтому при его использовании необходимо устранять любые ошибки округления, которые могут возникнуть. Кроме того, алгоритм может отказать в ситуациях, где Гессиан становится плохо обусловленным. Гарантии сходимости всегда и везде у алгоритма нет, хотя практика показывает, что почти всегда алгоритм дает результат.

Наши рекомендации