Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и методы оптимизации. Учебное пособие
.pdf
Пример
x
(
)
x
x
Найти минимум целевой функции
x
(, ) 2
fxy x x e
22
12
12
методом градиентного спуска при начальных приближениях
02
(0,0); 1; 5 10x
0
.
Целевая функция представлена на рис. 3.10.
Рис. 3.10
0
1. Вычислим
f
.
1
0
1.1. Пробный шаг – для определения величины и направления гра-
диента:
xx
0
21
xe
()
fx
41
xe
12
1
xx
12
2
0
0,0
.
1.2. Смещение в сторону градиента всех координат вектора x:
10 0
xfx
;
1
x
011
1
011
()
0
.
51

1.3. Проверим условие цели поиска
f
10
ff
3,145 1
10
10
f:
.
Условие не выполняется, следовательно необходимо дробить шаг:
0
00
1.4. Градиент не был изменен, т. е.
, 0,5
.
2
()
fx
1
0
1
.
Смещение в сторону градиента координат вектора x:
010,5
1
x
0,5
010,5
.
Проверим условие цели поиска:
10
()1,118 ()1fx fx
.
Условие не выполняется, необходимо дробить шаг:
0
00
, 0,25
2
.
1.5. Смещение в сторону градиента координат x:
010,25
1
x
0,25
010,25
.
Проверим условие цели поиска:
10
( ) 0,794 ( ) 1fx fx
,
условие поиска выполняется.
Необходимо менять направление градиента.
2. Пробный шаг – для определения величины и направления гради-
ента:
xx
1
20,106
xe
()
fx
4 0,393
xe
12
1
xx
12
2
1
x
(0,25, 0,25)
.
2.1. Смещение в сторону градиента координат вектора x:
0,25 0,106 0, 276
2
x
0,25 0,393 0,151
0,25
.
Проверим условие цели поиска:
21
( ) 0,774 ( ) 0,794fx fx,
условие поиска выполняется.
Необходимо менять направление градиента.
52

3. Пробный шаг – для определения величины и направления гради-
x
f
f
ента:
xx
2
2 0,0982
xe
()
fx
40,0451
xe
12
1
xx
12
2
2
( 0,276, 0,151)
x
.
3.1. Смещение в сторону градиента координат вектора x:
0,301
3
x
0,162
.
Проверим условие цели поиска:
32
( ) 0,772 ( ) 0,774,fx fx
условие поиска выполняется.
4. Пробный шаг – для определения величины и направления гради-
ента:
xx
3
2 0,0262
xe
() .
fx
40,023
xe
12
1
xx
12
2
3
x
( 0,301, 0,162)
Заданная точность достигнута, конец поиска.
При выполнении расчетов результаты целесообразно заносить в
таблицу. В табл. 3.2 представлены пошаговые результаты поиска экстремума.
Таблица 3.2
Метод градиентного поиска
k
k
k
()
x ()
0 0, 0 1
1 –1, –1 3,145 – f ↑α/2
0, 0 1
–0,5, –0,5 1,118 – f ↑α/2
0, 0 1
2 –0,25, –0,25 0,794
3
–0,276,
–0,1516
0,774
4 –0,301, –0,163 0,772
0,106 > ε
–0,393 > ε
0,0982 > ε
0,0451 < ε
0,0262 < ε
–0,023 < ε
x
1> ε
1> ε
1> ε
1> ε
1> ε
1> ε
k
k
Примечание
1
0,5
0,25
0,25 f ↓
0,25 f ↓
ε < 0,05
53

Графическая иллюстрация стратегии поиска приведена на рис. 3.11.
f
f
f
kk
x
x
x
–1
0
*
–1
Рис. 3.11. Геометрическая иллюстрация
3.4.1.Методнаискорейшегоспуска(методКоши)
Метод наискорейшего спуска – это модификация градиентного метода.
k
Отличается от него способом нахождения длины шага
Предлагается находить длину шага
k
на каждой итерации из ус-
ловия
() min[ ( )].
k
Из (3.10) следует, что величина
минимизации функции
шага
k
может быть найдена как стационарная точка из решения урав-
()
1
k
x
вдоль направления ()
kk
xfx
k
находится как решение задачи
нения
в формуле (3.8).
(3.10)
k
x , т. е. длина
Основные этапы метода Коши:
1. Нахождение градиента
2. Если
k
()
fx
[()]
fx fx
k
()
fx
печать результатов , ( )
k
()
fx
.
x
k
0
.
kk
fx , конец; если
Шаг 3.
54

3. Из решения уравнения
x
x
x
–
x
kk
[()]
находим
fx fx
k
(аналитически либо методами одномерного поиска).
0
4. Движение вдоль градиента
1
kk k
xfx
k
→ Шаг 1.
()
Пример
Найти методом наискорейшего спуска минимум функции
() 2
fx x x e
22
12
x
12
при начальных приближениях
0
(0,0); 1; 5 10
0
2
a
.
Вычислим
0
.
f
1
0
Запишем критерий минимизации (3.10) относительно неизвестного
() [ ( )]
[0 1,0 1] [ , ]
ff
0
222 22
23.
00
fx fx
ee
Продифференцируем полученное уравнение относительно переменной
:
2
'( ) 6 2 0e
0
.
Решение этого уравнения дает оптимальное значение длины шага
0,2188.
0
На рис. 3.12 приведено графическое решение.
Ф(α)
2α
е
3α
:
α
*0,2165
Рис. 3.12. Графическое нахождение шага
55

Вычислим
x
f
x
f
f
f
f
f
f
f
10 0
[ ( )] [ 0,2163; 0,2163]xx fx
;
0
1
[ ] 0,7892fx
.
Отметим, что в методе простого градиентного спуска путем дробления шага было найдено значение
11
[ 0, 25; 0,25], [ ] 0,794xfx .
Замечание
Сравнивая рассмотренные градиентные методы, нужно отметить,
что метод простого градиентного спуска с неопределенным шагом. Метод Коши – с шагом оптимальной длины для выбранного направления.
Полностью результаты решения примера методом Коши приведены в табл. 3.3.
Таблица 3.3
Промежуточные вычисления методом Коши
k
k
k
()
x
1k
k
()
x
0
1
2
0
0
0,2163
0,2163
0,2884
0,1442
1
1
0,2163
0,2163
0,0721
0,0721
< ε
0,2163
0,0333
0,2163
0,2163
0,288
0,1442
– –
Градиент является чрезвычайно важным направлением.
Пусть
( , ..., )
dd d
1
минимальная скорость изменения функции ()
– произвольное заданное направление. Тогда
n
x вдоль направления d
выражается скалярным произведением
(,) () cosfd fx d
,
где – угол между направлениями векторов
и d (рис. 3.13).
Скалярное произведение принимает максимальное значение, когда
0
cos( ) 1
, т. е. угол
градусов.
1
0,7892
0,7736
Таким образом, скорость изменения ()
x максимальна, когда
совпадает с заданным направлением d , а градиент
наискорейшего возрастания функции ()
x .
– направление
56

x
f
f
x
f
f
x
x
x
f(x1, x2)
d
f(x)
d
1
x
1
d
x
2
Рис. 3.13
Направление градиента перпендикулярно в каждой точке линии
постоянного уровня, рис. 3.14.
2
()fx
k
k
()
x
1
Рис. 3.14
В методе наискорейшего спуска используется это свойство гради-
ента. Из некоторой точки
ществляется в сторону антиградиента (()
Если ввести вектор
k
дикулярен вектору
ции функции
P , поскольку
kk
(())
xfx
, рис. 3.15.
k
движение в направлении минимума осу-
x
).
k
1kk k
Px x
, тогда вектор
1k
была выбрана путем минимиза-
перпен-
k
()
x
1
57

f
x
A
f
x
f
x
f
x
P
x
P
2
x
P
x
2
1
0
3
1
0
Рис. 3.15
() ()
k
P – это градиент оптимальной длины.
т. е.
kk k k k
Px fx x fx
, (3.11)
kk
Замечания
1. Метод Коши хорошо работает на больших расстояниях от оптимума. Поэтому часто используется в качестве начальной процедуры.
Однако в окрестности оптимума сходимость низкая. Здесь рекомендуется подключать метод Ньютона (II порядка).
T
2. Для квадратичной функции
()
1
xxAx
формула Коши
2
примет вид
Величина
1kk k
xAx
может быть найдена в явном виде:
k
((),())
k
((),())
kk
fx fx
kk
fx fx
.
. (3.12)
3. Для сепарабельных функций зоптимальное решение достигается
за n шагов.
3.4.2.Методсопряженныхградиентов
Понятиесопряженностивекторов
k
2
()
В разделе 3 была введена матрица Гессе
которой для n-мерного пространства R
22 2
H
... ... ... ...
xx x
2
xx xx
112 1
22
... ...
1
nn
H
имеют вид
n
ff
...
n
.
f
2
58
x
, элементы
x
ij

Пусть имеем два направления, которые характеризуются векторами
(
)
H
f
0
x
f
2
P0P
0
P и 1P .
Если скалярное произведение
10
(, )0PP
, то векторы ортогональ-
ны, т. е. взаимно перпендикулярны.
Если скалярное произведение
10
,
0PHP
, то векторы называ-
ются сопряженными относительно матрицы H. Здесь H – положительно
определенная квадратная матрица.
Приведенные определения имеют определенную геометрическую
иллюстрацию, приведенную на рис. 3.16. Матрица
0
вектор
, изменяет его длину и поворачивает на некоторый угол.
P
И этот новый полученный вектор ортогонален к вектору
1
0
HP
Рис. 3.16
, умноженная на
1
P .
Свойство сопряженности векторов используется в методе сопряженных градиентов, который отличается от метода наискорейшего
спуска только выбором направления уменьшения функции на каждом
шаге. Вместо вектора
k
метод использует вектор
()
x
k
P .
Формула метода сопряженных градиентов имеет вид
1
kk k
xx Pk
, 0,1,...
k
, (3.13)
выбирается ана-
k
где
n
R – вектор начальных приближений. Шаг
логично (3.10) из решения задачи одномерной оптимизации:
Направление спуска
()min[ ].
k
k
P
определяется по формуле
kk k
Pfx P
0
()
, (3.15)
kk
xP
k
(3.14)
1
где
Векторы
00
k
()
fx
k
, , PPP являются сопряженными.
123
k
1
()
fx
()Pfx
,
n
2
22
i
1
n
1
i
k
()
fx
x
i
k
1
()
fx
x
i
.
59

Замечания
f
R
f
f
1. В данном методе направление спуска определяет не только анти-
градиент
k
()
x , но и направление спуска на предыдущем шаге
1k
P.
2. Для снижения влияния накапливающихся ошибок вычисления
рекомендуется через n шагов поиска обнулять длину шага
.
0
n
3. Если целевая функция – выпуклая квадратичная функция, при-
надлежащая пространству
n
, то для нахождения экстремума методом
сопряженных градиентов требуется не более n итераций. Конечное
число шагов – большое достижение для практики. Это обеспечивается
поворотом главных осей линий уровня таким образом, чтобы одна из
главных осей прошла через точку экстремума.
4. Для функции общего вида (а не квадратичной) метод сопряжен-
ных градиентов еще не
разработан. Основная трудность в том, что мат-
рица Гессе получается функциональной, т. е. зависящей от переменных.
Пример. Найти методом сопряженных градиентов минимум функции
() 2 7 7
xx xxx x x
при начальных приближениях
22
121212
02
(0,0); 5 10x
.
Так как функция
ное решение
*
x должно быть найдено за 2 шага.
opt
()
x – квадратичная, следовательно, оптималь-
Вычислим градиент:
() (2 7, 4 7)fx x x x x
12 1 2
.
Шаг 1. По формулам (3.15) и (3.14) находим направление спуска и
формируем функцию для нахождения длины шага
0
Pfx xxx x
00
49 2 49 49 49 49
0
()2 7, 4 7 (7,7)
() [ ()] (7 ,7 )
22
fx fx f
222
(49 98 49) (49 49) 98(2 ).
12 1 2
00
0
x
0
.
Из уравнения
'( ) 0
находим значение
0
:
410,
0,25.
По формуле (3.13) найдем новое значение вектора решений
10
xx P
0
(0,0) 0,25( 7, 7) ( , )
77
.
44
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
