Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700519.doc
Скачиваний:
9
Добавлен:
01.05.2022
Размер:
23.89 Mб
Скачать

3.3.2. Градиентные методы спуска

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

(3.81)

Рассмотрим класс алгоритмов , осуществляющих последова­тельный поиск точки локального минимума х* функции Q(x) из за­данного начального приближения х° по итерационной формуле:

(3.82)

где хk — решение задачи оптимизации:

, (3.83)

полученное на k-й итерации; k = (хk + 1 - хk) — приращение варьи­руемых переменных; sk — единичное направление, вдоль которого значение функции Q(x) может быть уменьшено; — длина шага вдоль направления sk.

Последовательность точек испытаний (х0, х1, ..., xk), полученная по формуле (3.82) и удовлетворяющая цепочке неравенств:

Q(x0) > Q(x1) > ... > Q(xk), (3.84)

называется релаксационной последовательностью.

Разложим функцию Q(x) относительно точки хk в ряд Тейлора, ограничиваясь членами первого порядка:

Q(xk+1) = Q(xk) + ( QT (хk),k). (3.85)

Из условия (3.84) следует, что на каждой итерации приращение k следует выбирать таким образом, чтобы выполнялось неравенст­во:

Q(xk+1) – Q(xk) < 0. (3.86)

Тогда, учитывая неравенство (3.86), из соотношения (3.85) пол­учаем:

(3.87)

Из (3.85) с учетом неравенства (3.87) следует, что единичное на­правление sk, обеспечивающее наибольшую скорость уменьшения функции Q(x), является оптимальным решением задачи оптимиза­ции:

(3.88)

при условии, что (sT, s) = 1.

Построим для сформулированной задачи функцию Лагранжа:

Значения s и а должны удовлетворять системе уравнений:

откуда

(3.89)

где — обычная норма в n-мерном евклидовом пространстве.

Таким образом, для обеспечения наибольшей скорости уменьше­ния функции Q(x) вдоль единичного направления sk, последнее дол­жно совпадать с нормированным значением антиградиента.

Алгоритмы построения релаксационной последовательности (3.84) с помощью итерационной формулы (3.82), в которой направ­ление поиска зависит от значения антиградиента ( ), обра­зуют класс алгоритмов , называемых градиентными методами спуска.

При заданном направлении поиска sk выбор точки очередного ис­пытания согласно итерационной формуле (3.82) сводится к опреде­лению положительного значения шага вдоль этого направления. Реализация градиентного метода спуска, в котором оптимальная длина шага вдоль направления антиградиента (3.89) является ре­шением одномерной задачи оптимизации:

(3.90)

называется методом наискорейшего спуска .

Достоинство метода наискорейшего спуска — его простота. Одна­ко он имеет ряд существенных недостатков, среди которых необхо­димо отметить следующее. Во-первых, это — одношаговый алго­ритм, в котором при выборе точки очередного испытания хk + 1 не используется информация о предыдущих испытаниях, кроме испы­тания в точке xk. Во-вторых, если гессиан G(x) минимизируемой функции Q(x) является плохо обусловленной матрицей, наиболь­шее и наименьшее собственные значения которой сильно отличают­ся друг от друга, то процесс поиска замедляется в связи с зигзагооб­разностью траектории поиска (х0, х1, ..., хk) (рисунок 3.10). При этом мо­жет потребоваться недопустимо большое число итераций, прежде чем будет получена требуемая точность локализации точки мини­мума x*.

Для устранения недостатка алгоритма F10, связанного с игнори­рованием информации о предыдущих испытаниях, рассмотрим ал­горитм , реализующий градиентный метод с памятью, в котором при выборе очередного приращения ∆k учиты­вается информация о приращении ∆k-1, полученном на предыду­щей итерации. Для этого потребуем, чтобы на k-й итерации прира­щение ∆k выбиралось таким образом, чтобы обеспечивалась наи­большая скорость уменьшения функции Q(x) при условии, что квадрат модуля разности приращения ∆k и взвешенного прираще­ния , оставался равным постоянной величине К:

(3.91)

при условии, что

Построим для сформулированной задачи функцию Лагранжа:

.

Рис. 3.10. Зигзагообразная траектория движения к точке

минимума х* при минимизации квадратичной функции

Q(x) = xTGx + (bT, x) + a методом наискорейшего спуска

Значения ∆ и а должны удовлетворять системе уравнений:

(3.92)

откуда оптимальное решение задачи (3.91) получаем с помощью следующего выражения:

(3.93)

Нетрудно видеть, что метод наискорейшего спуска F10 является ча­стным случаем алгоритма F11 при .

Значения коэффициентов и в формуле (3.92) могут быть выбраны из условия обеспечения минимального значения функции вдоль направления :

(3.94)

В качестве одного из подходов к решению задачи оптимизации (3.94) рассмотрим метод квазилинеризации решения эквивалентной ей системы нелинейных уравнений, предположив, что для минимизируемой функции Q(x) может быть вычислена матрица вторых производных (гессиан) G(x):

(3.95)

Пусть значения и на k-й итерации вычисляются по итераци­онной формуле:

(3.96)

где , — начальные значения коэффициентов ; — приращения коэффициентов .

Тогда разлагая левые части уравнений (3.95) в ряд Тейлора относительно точки ( ,) и вводя постоянный множитель и коэффициент направления , получаем систе­му линейных уравнений:

(3.97)

Производные, входящие в систему уравнений (3.97), вычисляем в точке:

(3.98)

по следующим формулам:

где - гессиан функции Q(x), вычисленный в точке .

Решая уравнение (3.97), получаем следующие выражения для приращений и :

(3.99)

где

При этом коэффициент направления определяется из условия уменьшения функции Q(x) вдоль направления k. Для этого необ­ходимо, чтобы вариация функции Q(x) по и была отрицатель­ной. Тогда из условия

получаем, что

где

Если при значение функции Q(x) удовлетворяет условию

, (3.100)

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

В градиентном методе с памятью F11 при описанном подходе к вычислению коэффициентов , требуется на каждой итерации вычислять матрицу вторых производных минимизируемой функ­ции Q(x) — гессиан G(x) = { 2Q/ xi xj}. Поэтому рассмотрим его модифицированный вариант — алгоритм , реализующий метод сопряженных направлений, в котором при по­иске минимума функции Q(x) используются только значения пер­вых производных .

Рассмотрим свойства алгоритма F12 на примере квадратичной функции Q(x) = хT Gx + bTх + а, так как полученные при этом ре­зультаты легко обобщаются на нелинейные функции Q(x), если их аппроксимировать на каждой итерации разложением в ряд Тейлора:

(3.101)

Градиенты квадратичной функции с положительно определенной матрицей (xT Gx > 0), вычисленные на k-й и (k+1)-й итерациях, связаны между собой соотношением:

. (3.102)

При этом градиент этой функции в точке хk + 1 ортогонален пре­дыдущему направлению поиска sk:

. (3.103)

Подставляя значение градиента, вычисленного в точке хk + 1, из (3.102) и значение приращения, полученного на (k - 1)-й итерации, из (3.93) в систему нелинейных уравнений (3.92) можем записать:

(3.104)

Согласно соотношению (3.103) первое слагаемое в (3.104) равно ну­лю, следовательно, коэффициенты и связаны соотношением:

(3.105)

Тогда, подставляя полученное значение в выражение (3.92) для приращения , получим:

(3.106)

где

(3.107)

Направления поиска s0, s1, ..., sk, получаемые с помощью соотно­шения (3.107), являются G-сопряженными к заданной положительно определенной матрице G квадратичной функции Q(x) = хT Gx + bT х + а:

(si)T G sj = 0, (3.108)

а градиенты функции Q(x) в точках испытаний , являются взаимно-ортогональными:

(3.109)

Именно свойство G-сопряженности (3.108) направлений поиска sk, выбираемых в алгоритме F11 согласно формуле (3.107), и определяет его название как метода сопряженных градиентов.

Можно показать, что коэффициент в соотношении (3.107) мо­жет быть вычислен с помощью следующего выражения:

(3.110)

Процесс поиска точки локального минимума х* нелинейной фун­кции Q(x) по алгоритму сводится к следующей последова­тельности действий.

  1. На первой итерации (k = 0) для начального приближения х0 вычисляют значение градиента Q (x0) определяют направление поиска s0 = - Q (х0).

  2. Определяют точку очередного испытания:

,

где — оптимальное решение одномерной задачи оптимизации:

  1. Вычисляют приращение

k = xk + 1 xk

и значение градиента в точке xk + 1:

  1. Для каждой последующей (k+1)-й итерации (k := k + 1) находят новое направление поиска:

где

  1. Поиск точки локального минимума х* заканчивается, если вы­полняется условие . В противном случае все вы­числения повторяются с шага 2.

Можно сказать, что поиск точки минимума х* квадратичной фун­кции Q(x) с помощью метода сопряженных направлений заканчи­вается не более чем за п итераций, т.е. алгоритм F12 обладает квад­ратичной скоростью сходимости.