- •А.В. Аттетков, С.В. Галкин, В.С. Зарубин
- •ПРЕДИСЛОВИЕ
- •Задания для самопроверки
- •ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
- •Буквы латинского алфавита
- •Буквы греческого алфавита
- •1. ЗАДАЧИ ОПТИМИЗАЦИИ
- •1.1. Основные понятия
- •1.2. Некоторые простые примеры
- •1.3. Задачи оптимального проектирования
- •1.4. Задачи оптимального планирования
- •1.5. Классы задач оптимизации
- •Вопросы и задачи
- •2. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ
- •2.1. Предварительные замечания
- •2.3. Оптимальный пассивный поиск
- •2.4. Методы последовательного поиска
- •2.5. Сравнение методов последовательного поиска
- •2.6. Методы полиномиальной аппроксимации
- •2.7. Методы с использованием производных
- •Вопросы и задачи
- •3. МИНИМИЗАЦИЯ ВЫПУКЛЫХ ФУНКЦИЙ
- •3.2. Выпуклые функции
- •3.4. Условия минимума выпуклых функций
- •3.5. Сильно выпуклые функции
- •ф{t) = (grad/(а; + th), h)
- •3.6. Примеры минимизации квадратичных функций
- •3.7. Минимизация позиномов
- •Qj = '%2aijci = Q> J = !.*»•
- •Вопросы и задачи
- •4. ЧИСЛЕННЫЕ МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ
- •4.1. Релаксационная последовательность
- •4.2. Методы спуска
- •4.4. Минимизация квадратичной функции
- •4.5. Сопряженные направления спуска
- •5. АЛГОРИТМЫ МЕТОДОВ ПЕРВОГО И ВТОРОГО ПОРЯДКОВ
- •|iufc|
- •5.3. Метод Ньютона
- •5.4. Модификации метода Ньютона
- •5.5. Квазиньютоновские методы
- •Вопросы и задачи
- •6. АЛГОРИТМЫ ПРЯМОГО ПОИСКА
- •6.1. Особенности прямого поиска минимума
- •6.2. Использование регулярного симплекса
- •6.4. Циклический покоординатный спуск
- •6.5. Метод Хука — Дживса
- •Щ + bjej,
- •6.6. Методы Розенброка и Пауэлла
- •Вопросы и задачи
- •7. АНАЛИТИЧЕСКИЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •7.2. Минимизация при ограничениях типа равенства
- •7.4. Седловая точка функции Лагранжа
- •7.5. Двойственная функция
- •7.6. Геометрическое программирование
- •Вопросы и задачи
- •8. ЧИСЛЕННЫЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •8.1. Метод условного градиента
- •8.2. Использование приведенного градиента
- •8.5. Метод проекции антиградиента
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
- •ОГЛАВЛЕНИЕ
- •Математика в техническом университете Выпуск XIV
- •Аттетков Александр Владимирович Галкин Сергей Владимирович Зарубин Владимир Степанович
- •МЕТОДЫ ОПТИМИЗАЦИИ
4.2. Методы спуска
Пусть существует точка ®* G Rn, в которой целевая функция f(x) достигает минимума. Процедуру поиска этой точки в методах спуска обычно описывают (после выбора начальной точки х°) рекуррентным соотношением
x k = x k~l + ркик, к е N, |
(4.20) |
где ик ЕШп — единичный вектор, определяющий направление спуска на к-й итерации, a fa ^ 0 — длина шага спуска,
т.е. |
расстояние в этом направлении, отделяющее точку x k~l |
от |
новой точки х к. Методы спуска различаются способами |
выбора направления и шага спуска. |
|
|
Если на fc-й итерации выбран вектор ик, то один из способов |
выбора значения fa базируется на требовании, чтобы выполня лось неравенство*
f(x k~l + pkuk) < (1 - \k)f(x k~l) + A*; min /(® fc_1 +puk), (4.21)
где Xk E [0,1]. Отметим, что выбор значения fa в соответствии
сусловием (4.21) обеспечивает выполнение неравенства (4.2), так что последовательность {ж*}, построенная в соответствии
с(4.20), будет релаксационной.
При = 1 неравенство в (4.21) переходит в равенство, а значение fa соответствует минимальному значению функции f(x) при изменении х вдоль луча, исходящего из точки х к~ 1 в направлении вектора ик, т.е. на множестве
{х е Ш п : х = х к~1 + (Зик, (3 Е М *} .
В этом случае для нахождения fa необходимо решить задачу одномерной минимизации (см. 2 ). При этом значение fa может быть не единственным (в таком случае выбирают наименьшее значение).
При Хк = 0 (4.21) переходит в неравенство
(4.22)
Необходимость в решении задачи одномерной минимизации от падает, а для выбора значения (Зк можно использовать различ ные эвристические приемы.
Рассмотрим промежуточный случай А* € (0,1). Для /? € R* из (4.20) и (4.21) получаем
/(® *_1) - f ( x k) ^ Хк(Д®*-1) - min f { x k~l +/3ик)) ^
> \ k {f{x k- x) - f { x k~l +f3uk)). (4.23)
Тогда при выполнении условий теоремы 4.3 оценка (4.15) при мет вид
Я * ° ) - /( * * ) ' Р \ ^ * |
m 6 N, |
|grad/(xk -1 )|2 |
где 7 — параметр сильной выпуклости функции /(® ). Эта оценка позволяет установить роль параметра* А&. Пока отно шение
/ ( * fc_1) - / ( * fc)
Фк = |grad Я® *-1\|2 > fceN,
остается достаточно большим, значение Ад, следует выбирать таким, чтобы произведение Xkipk оставалось на каждой к-й ите рации примерно постоянным. Тогда при сравнительно малом значении Хк нет необходимости в высокой точности вычисле ний значений /Зк и решения задачи одномерной оптимизации функции f ( x k~1 + Puk) по аргументу /3 и можно выбрать (Зк просто из условия (4.22). Однако по мере приближения к точке ®* минимума целевой функции необходимо увеличивать зна чение Хк вплоть до единицы и выбирать значение (Зк из более
точного решения задачи одномерной минимизации функции /(ж ^” 1 + (Зик) по аргументу /3, обеспечивая тем самым выпол нение условия (4.17).
Высказанные соображения качественного характера спра ведливы не только для сильно выпуклых функций, но и для выпуклых функций, удовлетворяющих условиям теоремы 4.1. При некоторых дополнительных ограничениях эти соображе ния можно распространить на невыпуклые дифференцируемые функции*
Перед рассмотрением вопроса о выборе направления спуска докажем вспомогательные утверждения.
Лемма 4.3. Если функция /(ж ) непрерывно дифферен цируема во всех точках х = у + тр, т Е [0, 1], то справедливо равенство
1 |
|
f(y+ p) = f{y) + J (grad f(y + Tp),p)dr. |
(4.24) |
о |
|
◄ Функция h{r) = f(y + тр) действительного переменного т, как сложная функция, непрерывно дифференцируема на отрез ке [0, 1], и ее производную для произвольного т 6 [0, 1], согласно правилу дифференцирования сложной функции, можно запи сать в виде
h'(т) = (grad / (у + тр),р).
Для этой функции верна формула Ньютона — Лейбница
1
J h'(r) dr = h(l) —h(0).
о
Поскольку h(0) = f{y), h(l) = f{y + p), то записанная формула равносильна равенству (4.24). ►
Лемма 4.4. Пусть функция f(x ) непрерывно дифферен цируема на выпуклом множестве X С Кп и существует такая константа L > 0, что для любых х ,у Е X выполнено неравен ство
|grad/(®) — grad/(y)| < L\x —у\. |
(4.25) |
Тогда для любых х, у е X справедливо неравенство
/ ( ® ) - / ( у ) ^ (grad/ (аг), х —у) —^\х —у\2 |
(4.26) |
◄ Полагая р = х —у , согласно лемме 4.3 и свойствам скалярного умножения, получаем
I
/ ( ® ) - / ( у ) = У (grad/(j/ + rp ),p )d r =
О
1
= (grad/(x), р) + J (grad/( у + тр) - grad/(ж ), р) dr.
Используя неравенство Коши — Буняковского и (4.25), за ключаем, что для интеграла I в правой части записанного равенства верны соотношения
1
I > - J |grad/(y+ тр) —grad/(®)| |p|dr ^
о
1
> - L j \у + т { х - у ) - х \ \ х - у \ ( 1 т =
о
1
= -L \ x-у\2 J (1 - т ) с 2т = - ^ | ж - у I2
о
В итоге приходим к (4.26). ►
Вектор, противоположный градиенту функции, называют антиградиентом. Антиградиент функции f(x ) в точке х будем обозначать w(x) = — grad/(ж). Если градиент опреде ляет направление наибольшего возрастания функции [V], то антиградиент, наоборот, задает направление наибольшего убы вания этой функции. Для к-й итерации используем обозначения wk _ — grad f { x k~l) для антиградиента в точке х к~ 1 и
[wk, ик) |
(grad/(а;*"1), ик) |
ак = |
4.27 |
|
|grad/(®fc-1)| |
для косинуса угла между направлениями спуска и антигради ента.
Теорема 4.4. Если выпуклая и непрерывно дифференци руемая в Rn функция / ( ж ) удовлетворяет на множестве X Q = = { ж G Мп: f(x ) ^ / ( ж 0) } условиям леммы 4.4, множество Хо ограничено, а последовательность {х к}, построенная в соответ ствии с (4.20) и (4.21), является релаксационной, то справедлива оценка
/(ж ™ )-/(ж *) |
/ ( s ° ) - /( « • ) |
-1 |
|
т е N, (4.28) |
|||
f(x ° ) - f(x * ) " |
2L T)2 |
||
|
где L — константа в условии (4.25), а 77= diamXo — диаметр множества X Q.
◄ Используя (4.23), (4.26), |
(4.27) |
и учитывая, что \ик\= 1, |
|
заключаем, что |
|
|
|
/(ж * -1) - |
Н хк) > A fc t /V " 1) - /(ж * - 1 +(3ик)) > |
||
|
> Ajk(grad/(ж *-1), ж*- 1 |
- (хк~}+Р и к)) - |
|
|
~ ~Y~|*fc_1 - (a5*:_1 + Р*к) |2= h/3ak\wk\- |
||
для любых |
значений /3 ^ 0 . |
Из |
условия максимума правой |
части полученного неравенства выберем /3 = ak\wk\/L и после
подстановки этого значения, обозначив щ = f ( x k) — f(x*), запишем
т - 1 - т = f ( * k~‘) - Я®*) > ~ ^ \ т к \2 =
= ^ \ е т А П х к- ') ( ‘ 2 0. (4.29)
Отсюда, используя (4.10) и учитывая, что \хк —х*\ ^ г/, находим
AtOf? о
Wb-i - ^ |
ч>к-ъ к е N. |
Сопоставляя это неравенство с первым неравенством в (4.3) и обозначая 7* = А^а|/(2Ьгу2), согласно лемме 4.1, получаем оценку (4.28). ►
Оценку (4.28), доказанную в теореме 4.4, при некоторых дополнительных условиях можно упростить, а именно если для некоторого номера итерации га коэффициент ненулевой, то сумма в (4.28) отлична от нуля и мы можем, немного ухудшив эту оценку, опустить в ней единицу. В результате получаем
/ ( * “ ) - Я®*) < |
— I т £ т . |
(4.30) |
к=1
Теорема 4.5. Если сильно выпуклая и непрерывно диффе ренцируемая в Шп функция f(x ) удовлетворяет в Шп условиям леммы 4.4, а последовательность {ж*}, построенная в соответ ствии с (4.20) и (4.21), является релаксационной, то справедли вы оценки
(4.31)
m eN , (4.32)
т й ^ Н - ф - * ) -
где L — константа в условии (4.25), а 7 — параметр сильной выпуклости функции f{x ).
◄ Согласно |
теореме 3.18, имеем |g r |
a d х)|2 ^ |
и> |
|
подставляя это неравенство в (4.29), находим |
|
|
||
4>k-1 |
= f{x k~l) - f {x k) > чЩ^ч>к-и |
к е N. |
|
|
Сопоставляя это неравенство с первым |
неравенством в |
(4.8) |
||
и обозначая |
т* = j\kCx]c/(2L)t согласно |
лемме |
4.2, получаем |
оценку (4.31). Оценка (4.32) следует из (4.31), если принять во внимание доказанное в теореме 3.18 неравенство |аз*- 1 — х*\2 ^
< ^ (/(® fc_1) -/(* * ))• ►
Если на каждой итерации направление спуска выбирать так, чтобы для всех к Е N в (4.27) 0 < a ^ a f c ^ l H 0 < A ^ A f c ^ l , то вместо (4.30) получим
Д х ™ ) - / ( х * ) < ^ , meN, |
(4.33) |
а из (4.31) и (4.32) следуют оценки
/ ( * » ) - /(®*) ^ |
|
Ч |
2L |
) ’ т е N, |
(4.34) |
\хт —х*\2 |
2 |
( |
7 Ла2 |
\ |
(4.35) |
/ ( , « ) - Л х . ) < ^ ехр( - |
2L |
т е м . |
|||
mh |
|
Из (4.33), (4.34) видно, что при выборе |а*| = а = А = 1 можно ожидать наиболее быстрой слабой сходимости используемого метода спуска, а в случае сильно выпуклой минимизируемой функции — и наиболее быстрой сильной сходимости.
Отметим, что при а* = 1 единичный вектор ик, задающий направление спуска на /с-й итерации, сонаправлен антиградиен
ту w (xk~l) в точке sc*” 1, т.е. ик= г-т^ГиТ- Такой выбор векто-
ра икна каждой итерации характерен для метода градиент ного спуска (хотя его точнее надо было бы назвать методом
антиградиентного спуска). Если при этом на каждой итерации Ад? = А = 1, то это означает, что в направлении антиградиен та проводят одномерную минимизацию функции f ( x k~l + fiuk) по аргументу /3. Такой вариант метода называют методом наискорейшего спуска.
4.3. Метод градиентного спуска
Пусть целевая функция f(x) ограничена снизу и непрерывно ‘дифференцируема в W1. Предположим, что существует точка х* Е К71, в которой эта функция достигает локального миниму ма. Рассмотрим некоторые особенности применения метода градиентного спуска для поиска этой точки.
В этом методе элементы релаксационной последователь ности {х к} удовлетворяют рекуррентному соотношению вида (4.20)
и)к
Хк= х к~1+ 0kUk = х*-1 + &6N, (4.36)
где Рк > 0 — шаг спуска на к-й итерации, а направление спуска
задано |
единичным вектором uk = wk/\wk\, |
сонаправленным |
антиградиенту wk = —gra,df(xk~l) в точке |
х к~ Тогда из |
|
(4.27) |
следует, что ад, = 1 для всех к G N. |
|
Если f(x) является выпуклой функцией и удовлетворяет условиям теоремы 4.4, то градиентный метод обладает слабой сходимостью, причем справедлива оценка
Л « ° ) - / ( * ' ) |
< |
Я * т ) - /( * • ) < |
|
1 + 1 Щ г Ж 1 '£ ь к |
|
2i”2 |
и |
______2Lrj1 |
2Lrj2 |
< |
m £ N ' (4'37> |
А1 + А2 + ... + |
где L — константа в условии (4-25), метр ограниченного множества Хо = {*
rj = diamXo — диа £ К” : /(х ) ^ / ( х 0)}, а
Afc ^ А > 0 — параметр в условии (4.21), которому подчинен на /с-й итерации выбор шага спуска /3*. Если же /(ж ) является сильно выпуклой функцией и удовлетворяет условиям теоре мы 4.5, то этот метод обладает сильной сходимостью. При этом для любого га Е N имеем
f ( x m) - f ( x * ) |
/ ТА \ |
(4.38) |
||
f ( x ° ) - f ( x * ) |
^ PV 2L J’ |
|||
|
||||
|*m _ ®*|2 |
^ 2 |
^ |
(4.39) |
|
/(* ° ) —/("**) |
^ 7 eXPV 2L |
/ ’ |
||
|
где 7 — параметр сильной выпуклости функции f{x).
Возникает естественный вопрос, при каких условиях схо дится метод градиентного спуска в случае дифференцируемой невыпуклой функции /(ж). Рассмотрим один из вариантов это го метода, когда в (4.36) /3* = x\wk\, где х = const > 0, т.е. шаг спуска на каждой к-й итерации пропорционален длине векто ра антиградиента в точке хк~1. Таким образом, вместо (4.36) получим рекуррентное соотношение
х к — x k~l + xw k, х > 0 , keN. |
(4.40) |
Теорема 4.6. Пусть функция f(x) ограничена снизу и не прерывно дифференцируема в R71, причем для любых ж, у Е Шп выполнено неравенство
|grad/(ж ) - grad/(y)| < Цх - у |, |
(4.41) |
где L > 0 — некоторая константа. Тогда последовательность {ж*}, определяемая рекуррентным соотношением (4.40) с х Е Е (0, 2/L), является релаксационной. При этом справедлива оценка
f ( x k) ^ f ( x k |
|grad/(®fc *)|2 |
(4.42) |
и |grad/(®*:)| —>0 при к —> оо.
◄ Положив в (4.24) у = х к~1 |
и р = x w k, с учетом (4.40), |
||
равенства |го*|2 |
= |
(wk,w k) = |
— (grad/(®fe_1), wk) и свойства |
линейности скалярного произведения находим |
|||
|
|
1 |
|
f ( x k) - / ( ж * - 1 ) = |
У |
(gradf(xk~l + Txwk) ,x w k)dT = |
|
|
о |
1 |
|
|
|
|
=— x\wk\2+ x j (gT&df(xk~i + Txwk) —gra.df(xk~1),wk)dT.
о
Оценим интеграл в правой части этого равенства, приняв во внимание неравенство Коши — Буняковского и (4.41):
1
J (grad/(a:fc-1 + rxw k) —grad/(ж *-1), wk) dr <
о
|
l |
^ J\(gra.df(xk 1 + rxw k) —grad/(ж* 1),tnA:)|dr^ |
|
l |
о |
l |
|
<L |
+ T X W k - X k 1 \wk\dr= xL\wk\2 J Tdr = ^-\w k\2 |
о |
|
В итоге получим / ( x k) —f ( x k~l) ^ —x(l —xL/2)\wk\2, что c учетом равенства |u>fc|2 = |grad/(xfc-1)|2 равносильно (4.42). Представив (4.42) в виде
|grad/(ж* ^l2 ^ /(ж *"1) - /(ж * ) |
|
|
х(1 —xL/2) |
и просуммировав по к от 1 до ш, запишем |
|
J^lgradf { x k х)|2 < |
/(ж ° ) - /(ж т ) |
к=1 |
х(1 - хЬ/2) ■ |
|
Отсюда в силу ограниченности снизу функции f(x) следует, что при га -> оо сумма в левой части будет конечна, т.е. |gradf ( x k)\-¥ 0 при га -> оо. ►
Замечание 4.1. Из теоремы 4.6 не следует сходимость метода градиентного спуска, в котором используется (4.40), к какой-либо точке. Например, функция f(x) = 1/(1 + |ж|2) удо влетворяет условиям теоремы, но при любом выборе начальной точки х° Е W1имеем \хк \—>оо при к —> оо.
Приведенный пример показывает, что функция вообще мо жет не достигать наименьшего значения. Однако если к усло виям теоремы 4.6 добавить требование ограниченности мно жества X Q = {х Е Mn: f(x) ^ /(ж 0)}, то, согласно теореме 7.1 в случае = R71, функция f(x) будет достигать наименьшего значения. Можно показать, что при этом последовательность {хк} будет сходиться к какой-либо стационарной точке функ ции. #
Некоторые особенности рассматриваемого варианта метода градиентного спуска можно выявить, если допустить наруше ние отдельных условий теоремы 4.6. Так, если функция f(x) не является ограниченной снизу, то нельзя утверждать, что |grad/(x/c) | 0 при га -> оо. Действительно, для линейной функции f(x) = (с, х) при с Ф 0 имеем |grad/(®)| = \с\> 0. Ес ли выбрать 2/L, то в процессе итераций минимизируемая функция может не убывать. В самом деле, для ограниченной снизу функции f(x) = Lx2/2, х Е R, выполнено условие (4.41), а (4.40) принимает вид хк = хк~1 —x f\ x k~l) = (1 —xL)xk~l} но при выборе к ^ 2/L получим
Я * ‘ ) = § ((1 - x i) * * - 1)2 > | (х ‘ - ‘ )2 = /(х * - ‘ ),
т.е. последовательность {®fc} не является релаксационной. Наконец, рассмотрим последствия нарушения условия (4.41).
Функция f(x) = |ж|1+<5, где S€ (0,1), имеет точку минимума
х* —0, дифференцируема в Rn, но ее градиент не удовлетворя ет условию (4.41), поскольку
|grad/(a;) - grad/(0)| |
1 +6 |
при |ж -> 0. |
|
|
1*-о| |
оо |
|
||
|ж|1-<5 |
|
|
||
Для этой функции |
|
|
|
|
wk = — grad/(xfc_1) = -(1 + £)|**-1 |*7нрт |
1 + 6 |
Х к ~ \ |
||
\x k - l \ l - S |
||||
|
\х |
|
Поэтому при достаточно малых значениях \хк 1|, соответству ющих приближению к точке х* минимума, из (4.40) имеем
х (! + ^) |
1 |
я{1 + 6) |
lx*-1!1- 15 |
|
la-fc-ip-j |xfc_1|> la?*-1) |
|
|
иf(xk) > f(xk *), т.е. последовательность {|xfc|} не сходится
кнулю. Можно показать, что предел этой последовательности
|
1 |
равен |
1_<J Не удовлетворяет условию (4.41) и диффе |
ренцируемая на Кп функция f(x) —|ж|2+£, е > 0, имеющая ту же точку х* = 0 минимума, так как
|grad /(ж ) — grad /(0 ) [
|
(2 4-е)|ж|£ —>•оо при |а?| -+ оо. |
||
\х |
—о| |
|
|
В этом случае wk= —(2 + e)|xfc |
1|£x fc |
1 и в соответствии с (4.40) |
|
находим |
|
|
|
|xfc|= \хк 1 - |
>с(2 + е)\хк 1\ех к |
*| = |
|1 - х ( 2 + е)\хк 1 |е||a?fc 1|. |
Отсюда видно, что последовательность {ж*1} сходится лишь при условии |l — х(2 + e)|xfe-1|£|< 1, т.е. если начальная точка ж0 удовлетворяет неравенству ус(2 + е)|х°|£ < 2.
Один из недостатков метода градиентного спуска с фикси рованным значением у с в (4.40) состоит в том, что в окрест ности стационарной точки ж дифференцируемой функции / (ж)
шаг спуска на некоторой к-й итерации может оказаться больше расстояния х —х к~1, т.е. при этом алгоритм ппроскакивает “ искомую точку. Более того, этот шаг может быть настоль ко большим, что f { x k) > f ( x k~l) и последовательность { х к} перестанет быть релаксационной. Избежать такой ситуации позволяет выполнение условия (4.41), существенно ограничи вающее класс рассматриваемых функций, а также выбор х Е Е (0,2/Ь) (см. теорему 4.6), который порождает второй недо статок этого метода: по мере приближения к стационарной точке шаг спуска x|grad/(xfc_1)| уменьшается, что сильно за медляет сходимость последовательности {х к} к этой точке.
Из оценки (4.42) следует, что можно избежать „проскакивания“ искомой стационарной точки, если выбрать х = 1/L из условия максимума выражения х(1 — xL/2). Однако в при кладных задачах проверить выполнение условия (4.41) и найти константу L обычно не удается. Поэтому вместо (4.40) исполь зуют рекуррентное соотношение
х к — х к~1 + XkWk — х к~1 — Xfc grad/(xA:” 1), к Е N, (4.43)
и подбирают значение х^ > 0 на каждой к-и итерации из усло вия, которое в меньшей степени, чем (4.41), ограничивает класс минимизируемых функций. В случае ограниченной снизу функции f(x) для обеспечения сходимости последовательности {\gra.df(xk)\} к нулю достаточно, чтобы на каждой fc-й итера ции для некоторого числа ио > 0 выполнялись неравенства
/(® fc_1) - f ( x k) ^w0\wk\2 =wo|grad/(£c*:-1)|2, fce N. (4.44)
В самом деле, суммируя неравенства (4.44) для к = 1, га, полу
чаем
т
/ ( * 0) - / ( * т ) > w o^ | g ra d /(® fc_1)|2.
А:=1
оо
Поэтому знакоположительный ряд |
|grad/(xfc“ 1)|2 сходится, |
к=1
а в силу необходимого признака сходимости его общий член стремится к нулю, т.е. |grad/(ж*)! — 0 при к-* оо.
Следовательно, условие (4.44) в сочетании с (4.43) можно ис пользовать для выбора значения щ. Существуют разные спосо бы такого выбора* Ограничимся рассмотрением двух из них.
Если функция /(ж ) непрерывно дифференцируема в К71, то скалярное произведение
(grad/(ж), wk) = — (grad/(ж ), g ra d /^ * -1))
ее градиента на антиградиент wk = —grad f ( x k~1) является не прерывной функцией. В точке х к~х оно равно —\wk\2 ^ О, причем равенство нулю возможно лишь в случае, когда х к~1— стационарная точка. Ясно, что функция /(ж ) убывает в напра влении антиградиента до тех пор, пока это произведение оста ется отрицательным. Поэтому один из способов выбора значе ния Hk на к-й итерации состоит в том, чтобы в (4.43) х к была ближайшей к х к~х точкой, в которой производная функции /(ж ) по направлению антиградиента обращается в нуль, т.е.
(g ra d /^ fc), wk) = 0, к € N. |
(4.45) |
Указанный способ называют исчерпывающим спуском (дви жение в направлении антиградиента wk происходит до тех пор, пока не будут исчерпаны „подряд идущие" отрицатель ные значения производной функции / (ж) по направлению этого вектора).
Замечание 4.2. Отметим, что точка х к, найденная при помощи исчерпывающего спуска, может не совпадать с со ответствующей точкой, найденной по методу наискорейшего спуска. Показано (см. 4.4), что в случае квадратичной функ ции эти точки совпадают на каждой итерации. Если функция /(ж ) строго выпукла в Г , то в силу теоремы 3.7 функция 'фк(х) = / ( x k~x+ xw k) также строго выпукла. Поэтому, если стационарная точка функции фк(х) существует, то, согласно
теоремам 3.14 и 3.15, эта точка единственна и в ней функция достигает наименьшего значения. #
Из (4.45) следует, что на (к+1)-й итерации новое направ ление исчерпывающего спуска, определяемое антиградиентом wk+1 = — grad/(xfc), ортогонально предыдущему направлению. Так как grad f { x k) коллинеарен вектору нормали в точке х к к поверхности (линии) уровня f(x) = f { x k), то луч, исходящий из точки х к~1 по направлению вектора wk = —grad/(®/c_1), вдоль которого на к-й итерации происходит исчерпывающий спуск,
лежит в |
плоскости, |
касательной к этой поверхности уровня |
в точке |
х к, т.е. луч |
касается поверхности уровня функции, |
проходящей через точку х к. Отметим, что если при переходе через эту точку производная по направлению wk не изменяет
знак, то |
луч пересекает поверхность (линию) уровня f(x) = |
= f ( x k). |
Эти ситуации в плоском случае показаны на рис. 4.1 |
и 4.2. |
|
Замечание 4.3. Покажем, что для функции, удовлетворя ющей условиям теоремы 4.6, существует такое число ыо, что при исчерпывающем спуске на каждой итерации будут вы полняться неравенства (4.44). Для этого используем формулу Тейлора с остаточным членом в форме Лагранжа
f ( x k) - f { x k~l) = (grad/(a;fc-1 + ‘d(xk —x fc-1)), x k -a?fe-1),
где ‘в € (0 ,1). Отсюда, учитывая (4.43), получаем
Д * * - 1) - f ( x k) = —х * (grad/ (a;fc_1 + Ц х к- x k~1)), wk).
Точка х к~г + ,в{хк —х к~г) на прямой исчерпывающего спуска является промежуточной между х к~1 и х к. Производная по направлению wk в этой точке отрицательна, и поэтому
(gra.df(xk~l + '&(xk - x k~1)),wk) =
= h fe|2(grad/(®fc" 1 + Д®* - ®fc_1)), |
< 0. |
Следовательно, выбор |
|
Wo ^ -Xfc (grad/(®fc_1 + -d(xk - ®fc_1)), |
> 0 |
обеспечивает выполнение неравенства (4.44). На рис. 4.3 изо бражены итерации исчерпывающего спуска в случае К2.
Так как при использовании наискорейшего спуска значение функции ф(х) = f ( x k~1+ xw k) в точке ее наименьшего значе-
Рис. 4.3
ния не превышает величины f ( x k) при исчерпывающем спуске, то неравенство (4.44) будет выполнено и в этом случае, что га рантирует сходимость последовательности {ги*} к нулю. #
Нетрудно проверить, что при минимизации функций |ж|1+<у, 5 Е (0,1), и |ж|2+е, е > 0, для которых нарушено условие (4.41), при любом выборе начальной точки исчерпывающий спуск при водит в точку наименьшего значения за одну итерацию. Это указывает на то, что исчерпывающий спуск может дать по ложительный результат при минимизации тех функций, к ко торым не применим метод градиентного спуска с х = const. Исчерпывающий спуск сходится к стационарной точке х е X Q функции /(ж ), непрерывно дифференцируемой на выпуклом множестве П D X Q, если множество X Q= {х Е W1: f(x) « Я * 0)} ограничено. Однако за расширение класса функций по сравне нию с рассмотренным в теореме 4.6 приходится расплачиваться заметным усложнением алгоритма, так как теперь на каждой итерации необходимо решать достаточно трудоемкую задачу одномерной оптимизации при поиске точки х к и соответству ющего значения х^.
Выполнение условия (4.44) можно обеспечить более простым путем.
1.В точке х к~хопределяем направление wk= —grad/(xA:” 1) спуска, вычисляем производную (grad f ( x k~l), wk) = —lu^l2 по этому направлению (если \wk\= 0, то х к~1 — искомая ста ционарная точка), полагаем х^ = хо, где хо > 0 — некоторое произвольное значение, одинаковое на всех итерациях, и пере ходим к п. 2.
2.Находим с помощью (4.43) точку х к = х к~1 + х^ги*, вы числяем значение f ( x k) и переходим к п. 3.
3.Проверяем выполнение неравенства*
f ( x k) < f i x * - 1) - uk\w*\2 < fix * -1) - u x k\w*\2,
*См .: Пшеничный Б .Н .} Данилин Ю .М .
где CJ Е (0 ,1). Если оно не выполнено, то уменьшаем значение х* (например, вдвое) и возвращаемся к п. 2, а в противном случае на к-й итерации фиксируем использованное в п. 2 значение щ и найденную точку х к.
Такой способ подбора значения х^ получил название ме тода дробления шага. На рис. 4.4 показаны итерации с использованием этого метода в случае плоскости.
Рис. 4.4
Несмотря на возможность расширения класса дифферен цируемых функций, для которых метод градиентного спуска позволяет искать стационарные точки, оценку скорости схо димости этого метода к точке минимума удается установить лишь для более узкого класса функций. Пусть множество X Q= = {х Е К71: f(x) ^ /(ж 0)} ограничено. Тогда существует стаци
онарная точка аз*, в которой дифференцируемая функция /(аз) достигает наименьшего значения f(x*) (см. замечание 4.1).
Теорема 4.7. Пусть дифференцируемая в Мп функция /(х ) достигает своего наименьшего значения /(х *) в точке х*. Если множество X Q= {х G /(х ) < /(аз0)} ограничено и для любой точки х выполнено неравенство
|grad/ (х)|2 > £т0(/(х ) - /(х * )), |
(4.46) |
где сто > 0, то для релаксационной последовательности {а:*}, построенной при помощи (4.43) и (4.44) и сходящейся к точке х*, справедливы оценки
Я * * ) - / ( ! О < 4 * ( / ( * 0) - / ( * * ) ) , |
(4.47) |
где С > 0 и q Е (0,1).
◄Так как при построении последовательности { х к} на каждой k-и итерации выполнено неравенство (4.44), то с учетом (4.46) имеем
/( x fc_1) - f { x k) ^ wjfc|grad/(xA:'~1)|2 ^ w0|grad/(x/c_1)|2 ^
^w0CT(/(xfc-1) - f(x*)) > w0a0(f(x k~1) - /(х * )),
ИЛИ
/( * * ) “ /(* * ) < (1 —своего) ( /( x fc_1) - /( x * ) } .
Отсюда, выбирая значене его > 0 так, чтобы q = (1 — OJQCTQ), получаем первое неравенство в (4.47). Используя это нера венство, а также неравенства (4.43), (4.44) и учитывая, что релаксационная последовательность {x fc} удовлетворяет усло вию / ( x fc_1) — f ( x k) ^ / ( x fc_1) — /(х *), находим
|Х* - ®fc-1|2 = x 2|grad/(xfc- 1)|2 < — ( / (*fc_1) — / (xfc)) <
^ ^ ( / ( x * - 1) -/(X *)) — 9*_1(/(ав°) —/(as*)),
Шo