Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и методы оптимизации. Учебное пособие
.pdf
3.2.Методыпоискабезусловногоэкстремума
R
x
x
x
x
x
x
f
f
x
x
x
x
x
x
Пусть в
n
задан вектор
вательность векторов
01
, , ...,
xxR
01
( ) ( ) ... ( ) ...
fx fx fx (3.4)
0
. Требуется построить такую последо-
kn
, чтобы выполнялось условие
k
Методы поиска экстремума, обеспечивающие выполнение условия
(3.4), разделяются на ряд этапов.
I.
Выбор начальной точки
тельно, значения вектора
0
0
. Так как ограничений нет, следова-
любые, но целесообразнее выбрать
близкое к минимуму.
II.
Выбор направления движения в сторону экстремума.
Выбор шага перемещения.
III.
При любом методе спуска (поиска) последовательность
0,1...k , подчиняется условию:
1
kk
где
d – направление спуска;
k
Если
d нормализовано, т. е. 1
k
xx dk
d – величина шага.
kk
, 0,1...
k
k
d
k
, то величина шага равна
, (3.5)
Компоненты формулы (3.5) представлены на рис. 3.5.
0
k
{},
.
k
2
1
k
2
k
2
k
1
k
d
1, 1
1
k
1
Рис. 3.5. Направление движения и величина шага
Так как в задачах без ограничений все направления возможны, то ограничение определяется лишь смыслом поиска (например, поиск минимума). Таким образом, возможное направление определяется формулой
kk
()()
xdfx
Разложим в ряд Тейлора
k
k
k
()
xd
k
.
, ограничиваясь линейными
k
членами разложения:
41

kkk
x
x
,
f
f
( ) () () ...
fx d fx fx d
kk
kk
T
Отсюда, чтобы направление было возможным (приемлемым)
() 0
kT
fx d
. (3.6)
Механизм поиска экстремума в значительной степени определяется
видом целевой функции и дополнительной информацией о её свойствах.
В зависимости от этого различают следующие группы методов безусловного многомерного поиска.
1. Прямые методы поиска, использующие только значения.
2. Градиентные методы, использующие значения первых производ-
ных целевой функции.
3. Методы второго порядка, использующие значения
первых и вто-
рых производных целевой функции.
3.3.Методыпрямогопоиска
Методы прямого поиска не используют никакой информации кроме значений целевой функции.
К этой группе относятся следующие методы:
1. Метод покоординатного спуска.
2. Метод Нелдора–Мида.
3. Метод Хука–Дживса.
Самая простая идея прямого поиска заключается в сканировании
{ , ,..., }
возможного пространства переменных
xx x
12
Пусть D – двумерная область изменения переменных
.
n
{, }
xx ,
12
ε – заданная точность нахождения экстремума. В результате сканирова-
ния вычисляем значения целевой функции
12
( ), ( ), ..., ( )
xfx fx
12
D
n
Затем находим экстремальное значение функции (*)
1.
min{ ( ) }
области D. Для случая двух переменных они приведены на рис. 3.6.
i
fx . Здесь верхний индекс означает номер шага сканирования.
i
Для направленного сканирования существуют два способа обхода
а б
Рис. 3.6. Способы сканирования области двух переменных:
а – строчная развертка; б – спираль
42
n
n
x

Также проста идея с выбором базовой точки и оценивания значе-
x
f
x
x
x
x
ний целевой функции в окружении базовой точки, например в квадратном образце.
Методы прямого поиска малоэффективны. Большая трудоемкость
методов связана с большим количеством вычислений целевой функции.
3.3.1.МетодХука–Дживса
Метод Хука–Дживса – это комбинация исследующего поиска с
циклическим изменением переменных и ускоряющего поиска по образцу. Схематично стратегия поиска изображена на рис. 3.7.
Данный метод является аналогом метода циклического покоординатного спуска с изменяющимся шагом.
В 1961 году Хук и Дживс придумали эвристический метод n-мерного прямого поиска, но он до
оригинальным и популярным.
Суть метода такова:
1. Исследующий поиск
Вначале для выбора базовой точки исследуется окрестность
{, ,..., }
xx x
12
по различным координатам вектора x (может быть с
n
различным шагом). После того как выбрано приемлемое направление
(фиксируется новая базовая точка), осуществляется переход к этапу 2.
Если значение целевой функции ()
сих пор является весьма эффективным,
x увеличилось, то необходимо вер-
нуться в предыдущую точку и сделать половинный шаг.
2. Установление конфигураций (поиск по образцу)
Из базовой точки в приемлемом направлении делается большой
шаг, и шаг увеличивается в этом направлении до тех пор, пока целевая
функция уменьшается. Когда функция перестанет уменьшаться, то от
принятой конфигурации необходимо отказаться и размер шага уменьшить. Производится новое обследование окрестности. Таким образом,
делается попытка поиска оврага целевой функции, а
затем движение по
этому оврагу. Поиск по образцу – это движение вдоль прямой, соединяющей две базовые точки.
Введем обозначения:
k
– текущая базовая точка;
1 k
– предыдущая базовая точка;
1 k
– новая базовая точка;
1 k
– точка, построенная при движении по образцу:
p
11
kkkk
xxxx
p
().
43

x
x
x
x
x
x
x
2
x
p
2
x
1
x
0
x
3
x
p
Рис. 3.7. Геометрическая иллюстрация метода Хука–Дживса
Как только движение по образцу не приводит к уменьшению целе-
1 k
вой функции, точка
фиксируется в качестве временной базовой
p
точки и вновь проводится исследующий поиск.
Если в результате получается точка с меньшим значением целевой
функции, чем в точке
ка
1kx
. С другой стороны, если исследующий поиск неудачен, необхо-
димо вернуться в точку
k
, то она рассматривается как новая базовая точ-
k
и провести исследующий поиск с целью выявления нового направления минимизации. В конечном итоге возникает
ситуация, когда такой поиск не приводит к успеху. В этом случае требуется уменьшить величину шага и возобновить исследующий поиск. Поиск завершается, если величина шага меньше заданной точности вычис-
ления экстремума
ε.
АлгоритмизацияметодаХука–Дживса
Шаг 1. Задать начальные условия –
точность вычисления экстремума –
1
, число итераций 0k .
, коэффициент шага убывания –
Шаг 2. Провести исследовательский поиск:
.
1kk
1
xx
1
xx
i
в зависимости от убывания
kk
11
kk
22
(), 1,2
fx x i .
Шаг 3. Оценить, произошло ли убывание целевой функции:
1
kk
если
если
() ()
fx fx
() ()
fx fx
Шаг 5;
1
kk
Шаг 4.
44
0
, шаг перемещения –
;
;
,

Шаг 4. Окончание поиска:
x
x
f
x
если x
если , , 1,2
xi
выход из процедуры, печать результатов
i
i
переход на Шаг 2.
kk
,( )
fx
;
Шаг 5. Провести поиск по образцу
11
kkkk
.
p
()
xxx
Шаг 6. Оценить убывание целевой функции:
если
если
() (),
fx fx x x
() ()
fx fx
Шаг 5;
p
1
kk
p
kk
11
p
Шаг 4.
1
kk
Замечание. Достоинством метода Хука–Дживса является то, что он
позволяет восстанавливать направление движения вдоль оврага, когда
из-за искривления оврага установленная конфигурация теряется.
Пример
Найти методом Хука–Дживса минимум функции
2
с точностью ε = 10
() 8 4 5
xxxxx
–1
, при заданных начальных условиях:
,
1122
0
x
1. Исследовательский поиск:
f
Фиксируем
Фиксируем
0
2
3
ffx
4
1
1
3
ffx
3
1
4,x
200 ( ) 272
3,x
153 ( ) 272
1
1
2
41 3x,
41 3x,
2. Поиск по образцу:
21 10
xxxx
p
()
2
()68
fx
p
4
,
4
4
4
0
0
3(34) 2
3(34) 2
1;
2.
272
.
успех.
успех.
успех.
.
45

Временная базовая точка
p
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
32 21
xx xx
p
()
2(23) 1
2(23) 1
3
()17
fx
p
успех.
Временная базовая точка
0
4
,
x
p
fx
0
Временная базовая точка
1
5
1
,
()17
fx
x
p
3. Исследовательский поиск:
возврат к предыдущей базовой точке
0
4
x
11
ff
11
0
, 1
,
17
54
xx
,
ff
22
x
.
33
x
p
4
()0
p
44
x
p
5
p
.
успех.
.
неуспех.
.
11
11
9
.
,
неуспех
,
0,5
4. Исследовательский поиск:
,
0,5
0,5 0,5
ff
00
неуспех
54
xx.
0,25
2
,
.
0, 25,
5. Исследовательский поиск:
,
0,25
0,25 0,25
ff
00
неуспех
54
xx.
0,125,
0,125
6. Исследовательский поиск:
,
0,125
0,125 0,25
ff
00
0,125
.
00
ff
0,5 0,5
1, 2 5
x
00
0,5
.
,
,
ff
0,25 0,25
x
54
xx
.
00
ff
0,125 0,125
,
0,313
0,078
,
,
неуспех
.
0,0625,
x
46

Выход из итерационной процедуры. Решением задачи оптимизации
x
является последняя базовая точка
4
. Следовательно,
0
*0x
;
Стратегия поиска приведена на рис. 3.8.
–4
1
x
0
x
Рис. 3.8
0
f
0
x
2
–4
.
0
x
1
3.3.2.Методоврагов
Существует большое количество модификаций метода Хука–Дживса.
Однако во всех процессах локального поиска существует опасность «зацикливания», т. е. блуждания в окрестности локального экстремума, в
котором значения целевой функции меньше, чем в близлежащих точках,
но весьма далеки от абсолютного минимума. Аналогичная идея лежит в
основе метода оврагов, предложенного для отыскания экстремумов
функций многих переменных И.М. Гельфандом и М.Л. Цетлиным.
Метод оврагов имеет хорошую геометрическую иллюстрацию,
представленную на рис. 3.9, а и 3.9, б на поверхности и линиях уровня
(дне оврага) соответственно.
Эффективность метода особенно проявляется, если переменные,
определенные целевой функцией, можно разделить на существенные и
несущественные. В этом состоит наглядная ассоциация
но зависящем от координаты y и слабо зависящем от координаты x.
с оврагом, силь-
47

Геометрическая интерпретация метода следующая.
A
f
B
A
A
A0A
B1B
Из произвольной точки
го спуска, пока уменьшение целевой функции (, )
кальный спуск привел нас в некоторую точку В
берем некоторую точку А
спуск и попадем в точку В
A
0
B0
1
осуществляется ряд итераций локально-
0
xy
. Зафиксируем ее и вы-
0
из которой также осуществим локальный
1,
.
A
1
A
2
B1
B2
а
. Пусть ло-
A
0
2
1
б
Рис. 3.9. Геометрическая иллюстрация метода оврагов
Далее соединим точки В0 и В1 и сделаем большой шаг вдоль луча
B в сторону уменьшения целевой функции. Попадаем в точку
01
точки
вновь осуществим локальный спуск. Таким образом, процеду-
2
. Из
2
ра повторяется.
Таким чередованием существующий и несуществующих переменных хорошо отслеживается дно оврага и путь к глобальному экстремуму.
Замечание. Недостаток метода – сложно разделить на существен-
ные и несущественные переменные.
Некоторое развитие метода оврагов – метод релаксаций.
48

3.4.Градиентныеметоды
x
x
f
x
f
x
f
Будем считать, что компоненты вектора градиента целевой функции могут быть записаны в аналитическом виде.
Основа стратегии поиска безусловного экстремума по-прежнему со-
01
, ,...,
стоит в построении последовательности векторов
для целевой функции выполнялось условие
01
( ) ( ) ... ( ) ...
fx fx fx
xxR , чтобы
Пусть в результате поиска экстремума найдена точка
требуется определить направление наискорейшего локального спуска,
т. е. наибольшего локального уменьшения целевой функции. Разложим
целевую функцию в ряд Тейлора, ограничиваясь линейными членами:
() () () ...
fx fx f x x
kkk
[, ].
xxx x
T
kk k
(3.7)
Локальное уменьшение целевой функции определяется вторым
k
( ) const
слагаемым, т. к.
fx . Наибольшее уменьшение целевой функ-
ции ассоциируется с выбором такого направления, которому соответствует наиболее отрицательная величина скалярного произведения
k
n
k
kn
R и
(,)
x . Отсюда следует формула простейшего метода градиентного
спуска:
1
kk k
где
xfx
k
– некоторый положительный параметр, характеризующий длину
, (3.8)
k
()
шага на каждой итерации и обеспечивающий выполнение цели оптимизации,
1
kk
() ()
xfx
.
Реализация простейшего алгоритма на основе формулы поиска (3.8)
носит название метода
градиентного поиска и включает два этапа.
1. Пробный шаг для определения направления градиента.
2. Одновременное смещение в сторону градиента всех координат
вектора
Если на некоторой итерации поиска условие
полняется, то шаг
.
1
kk
() ()
xfx
не вы-
k
в формуле (3.8) дробят для выполнения условия и
вычисления продолжаются.
В качестве окончания итерационного процесса обычно используют
близость к нулю градиента, которая оценивается для всех координат
вектора-градиента:
49

k
x
x
x
x
x
()
fx
,1,
; (3.9а)
x
i
n
1
i
k
()
fx
x
i
in
2
. (3.9б)
Формулы (3.9) являются правилами останова итерационной процедуры поиска в градиентных методах и при выполнении условий оста-
kk
*, *()
нова (3.9) считается, что оптимум найден
xf fx.
Замечание. Недостатком градиентного метода является долгое дви-
жение к экстремуму при наличии в линиях уровня оврагов и гребней.
Алгоритмизацияметодаградиентногоспуска
1. Задание исходных данных:
0
– начальные условия;
– точность вычисления экстремума;
– длина шага движения;
число итераций
0k .
2. Пробный шаг – для определение величины и направления гради-
ента:
k
()
fx
.
k
x
3. Проверка условий останова:
если ()
k
fx
печать результатов ,()
kk
fx , выход из ите-
рационной процедуры;
если ()
Шаг 4.
k
fx
4. Одновременное смещение в сторону градиента всех координат:
1
kk k
xfxkk
.
k
(), 1
5. Проверка цели оптимизации:
если
kk
() ( )
fx fx
Шаг 2 (вычисление нового градиента);
1
если
kk
() ( )
fx fx
Шаг 4.
1
2
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
