Файл: Васильев Ф.П. Лекции по методам решения экстремальных задач.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 240
Скачиваний: 1
150 |
М И Н И М И З А Ц И Я Ф У Н К Ц И И М НОГИ Х ПЕРЕМЕННЫ Х |
|
[Гл. 2 |
|
Если |
un+ a p n^.U, то принимается |
un+i = un+ a p n. |
Если |
же |
un+ apn giU, то повторяют описанный |
процесс с новым |
набором |
||
из s |
реализаций случайного вектора |
Величины s > l , а > 0 , |
у > 0 |
являются параметрами алгоритма. Вектор рп называют статисти ческим градиентом. Если U = E m, s — m и векторы ^ я вл я ю тся не случайными и совпадают с соответствующими единичными вектора ми в {= ( 0 , . . , 0, 1, 0 , . . , 0), £ =1 , 2 , . . , /п, то описанный алгоритм,
как нетрудно видеть, превращается в разностный аналог градиент ного метода.
2. В описанных вариантах а), б), в) метода случайного пои ка предполагается, что закон распределения случайного вектора £ не зависит от номера итераций. Такой поиск называют случайным поиском без обучения. Алгоритмы случайного поиска без обучения не обладают «способностью» анализировать результаты предыду щих итераций и выделять, направления, более перспективные в смысле убывания минимизируемой функции, и сходятся, вообще го воря, медленно.
Между тем ясно, что от метода случайного поиска можно ожи дать большей эффективности, если на каждой итерации учитывать накопленный опыт поиска минимума на предыдущих итерациях и перестраивать вероятностные свойства поиска так, чтобы направле ния £, более перспективные в смысле убывания функции, станови лись более вероятными. Иначе говоря, желательно иметь алгорит мы случайного поиска, которые обладают способностью к самообу чению и самоусовершенствованию в процессе поиска минимума' в зависимости от конкретных особенностей минимизируемой функ ции. Такой поиск называют случайным поиском с обучением [204].
Обучение алгоритма осуществляют посредством целенаправленного изменения закона распределения случайного вектора £ в зависимо сти от номера итерации и результатов предыдущих итераций таким образом, чтобы «хорошие» направления, по которым функция убы вает, стали более вероятными, а другие направления — менее ве роятными. Таким образом, на различных этапах метода случайного поиска с обучением приходится иметь дело с реализациями случай ных векторов | с различными законами распределения. Имея в ви
ду это обстоятельство, итерационный процесс |
(1) |
удобнее записать |
|
в виде |
|
|
|
ы„+ 1 = ип + |
а„£л, п = 0 , 1 , . . . , |
(2) |
|
подчеркнув зависимость случайного вектора | от п. |
|||
В начале поиска закон |
распределения |
случайного вектора |
|
£=£о выбирают с учетом имеющейся априорной |
информации о |
минимизируемой функции. Если такая информация отсутствует, то поиск обычно начинают от случайного вектора = (|о, ••■, £сГ),
компоненты |о,£= 1, 2 , . . . , пг, которого представляют собой незави симые случайные величины, распределенные равномерно на отрез
§ 12] О методе случайного поиска и некоторые других методах 151
ке [— 1, 1]. Для обучения алгоритма в процессе поиска часто берут
■семейство случайных векторов g = £ (io ), |
зависящих от параметров |
|||||||||||||
(ад1, . . . , |
wm), и при переходе от п-го шага итерации к п+1-му |
|||||||||||||
шагу имеющиеся значения параметров wn заменяют новыми |
зна |
|||||||||||||
чениями шп+1 с учетом результатов предыдущего поиска. |
|
|||||||||||||
Приведем два варианта метода случайного поиска с обучением |
||||||||||||||
для минимизации функции J (и) |
на всем пространстве Ет. |
|
||||||||||||
а) |
Алгоритм |
покоординатного |
обучения [204]. Пусть |
имее |
||||||||||
■семейство случайных векторов £= |(ад) = |
(g1, . . . , gm), каждая коор |
|||||||||||||
дината g1' которых принимает два |
значения: §г’= 1 |
с вероятностью |
||||||||||||
Рг и V — — 1 |
с вероятностью 1—/Я, |
где |
вероятности |
pi зависят |
от |
|||||||||
.параметра кя следующим образом: |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
0 |
при ад‘ < |
|
— 1, |
|
|
|
|
|
|||
|
Р‘ = |
|
-J- |
(1 + W1) |
при |
|ад‘ |< |
1, |
|
|
(3) |
||||
|
|
|
1 |
при ад‘ >> 1, |
|
|
|
|
|
|
||||
i = 1, 2, . . . |
, in. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Пусть начальное приближение Uq уже выбрано. |
Тогда для опреде |
|||||||||||||
ления следующего приближения щ в формуле (2) |
при п = 0 берет |
|||||||||||||
ся какая-либо реализация |
случайного |
|
вектора |
| о=|(0), соответ |
||||||||||
ствующего значению параметров |
ш= |
шо='(0, |
0, ..., |
0). |
Приближе |
|||||||||
ние и2 определяется по формуле |
(2) |
при п — 1 |
с помощью случай |
|||||||||||
ного вектора gi= g (.0). |
Пусть известны |
приближения щ,, щ, ..., ип |
||||||||||||
и значения |
параметров |
wn- i = ( w ln- U ..., адт „_i) |
при некотором |
|||||||||||
л ^ 1 . Тогда полагаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wln = |
— 6 sign [(/ (un_,) — J |
|
(un_ 2)) (u„_i — ul_2>], |
|
||||||||||
|
i=l, |
2,... , т\ |
п = |
2, 3,... , |
|
|
(4) |
|||||||
где величина (32^0 |
называется |
параметром |
забывания, 6^=0 — |
|||||||||||
параметром |
интенсивности |
обучения, |
|
|
р+ 6 > 0 . |
При |
определении |
|||||||
следующего приближения ип+1 в формуле (2) |
|
берем |
какую-либо |
|||||||||||
реализацию случайного вектора |
|
|
|
|
wn — (wh> •••. w"n)- |
|
||||||||
Из формул (3), (4) |
видно, что если |
переход |
от точки «„_2 к |
точке « „ _ 1 привел к уменьшению значения функции, то вероятность выбора направления ип- Х— и„_2 на следующем шаге увеличивается. И наоборот, если при переходе от ип- 2 к i значение функции увеличится, то вероятность выбора направления ип- 1— ип- 2 на сле дующем шаге уменьшается. Таким образом, формулы (4) осуще ствляют обучение алгоритма. Величина 6 ^ 0 в (4) регулирует ско рость обучения: чем больше 6 > 0 , тем быстрее обучается алгоритм; при 6 = 0, как видно, обучения нет. Величина в формулах (4) регулирует влияние предыдущих значений параметров на обуче ние алгоритма; при |3 = 0 алгоритм «забывает» предыдущие значе
152 МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ [Гл. 2
ния шл_|. Для устранения возможного чрезмерного детерминиро вания алгоритма и сохранения способности алгоритма к достаточно'
быстрому обучению на параметры w\ |
накладываются ограничения. |
|
и при нарушении этих ограничений |
Wn заменяют |
|
ся ближайшим из чисел Ci или— с,-, t |
= l , 2 , т. |
Величины р, б, |
ci являются параметрами алгоритма.
Вместо формул (4), посредством которых производится обу
чение алгоритма, часто пользуются другими формулами [204]: |
|
Щ. = Pa'n-i — 8 (J (tin—i) — (J (Un-a)) (Un-1 — Un-2), |
|
i = 1, 2, . . . , m\ n = 2, 3 ........... |
(5) |
Описанный алгоритм покоординатного обучения имеет тот не достаток, что поиск и обучение происходят лишь по одному из 2т направлений £ = (|‘, . . . , £т ), где либо £’ = 1 , либо £* = — 1. Отсутст вие «промежуточных» направлений делает покоординатное обуче ние немобильным в областях с медленно изменяющимися направ лениями спуска. От этого недостатка свободен следующий алго ритм.
б) Алгоритм непрерывного самообучения [204]. Пусть имее
ся |
семейство |
случайных |
векторов |
| = |
|(m) = |
^ w ■, где |
|
(до1, . . . , wm) — параметры обучения, |
|
|
I Г) + w1 |
||
ш = |
т]= |
(rj1, . . . , |
т)т ) — слу |
чайный вектор, координаты rf которого представляют собой неза висимые случайные величины, распределенные равномерно на отрезке [ - U ] . Поиск начинается с рассмотрения случайных векторов £о = £(0), £i = £(0), реализации которых используются при определении приближений u0, ut по формулам (2). Обучение алгоритма при 2 призводится так же, как в алгоритме поко ординатного обучения, с помощью формул (4) или (5). При боль
ших значениях |
|ш„| влияние случайной величины т} уменьшается' |
и направление |
£п = £(до„) становится более детерминированным и |
близким к направлению шп. Во избежание излишней детермини
рованности метода |
на параметры wn = (wln, . . . , w |
накладыва |
ются ограничения |
|a>n | ^ c = const, и при нарушении |
этих огра- |
„ |
wn |
|
ничении wn заменяется на ------- с. |
|
|
|
\w„\ |
|
Более подробные рассмотрения различных вариантов метода случайного поиска, их сравнительные характеристики, вычисли тельные аспекты метода случайного поиска см. в работах [79],. [204].
3. Приведенные алгоритмы случайного поиска с обучение показывают, что процесс обучения в ходе поиска сопровождается уменьшением фактора случайности и увеличением степени детер минированности алгоритма поиска минимума, направляя поиск.
§ Щ |
О методе случайного поиска и некоторые других методах |
153 |
преимущественно по направлениям убывания функции. В |
то ж е' |
|
время |
наличие случайного фактора в выборе направления |
дает |
возможность алгоритму «переучиваться», если свойства функции в районе поиска изменились или предыдущее обучение было не точным. Случайный поиск с обучением в некотором смысле зани мает промежуточное положение между случайным поиском без обучения и детерминированными методами поиска минимума из предыдущих параграфов. Разумеется, и в методах предыдущих параграфов можно обнаружить в том или ином виде элементы самообучения алгоритма, однако наличие случайного фактора в алгоритме делает метод случайного поиска более гибким и поэто му более приспособленным к поиску минимума многоэкстремаль ных функций, т. е. функций со многими глобальными и локальны ми минимумами в рассматриваемой области.
Следует сказать, что задача отыскания глобального миниму ма многоэкстремальных функций существенно более трудна, и ме тоды решения таких задач в настоящее время разработаны недо статочно. Для изучения поведения многоэкстремальных функций и
поиска их глобального минимума наряду с методом |
случайного |
||
поиска [204] может быть |
использован также |
овражный метод |
|
[67], [211]. Для функций, |
удовлетворяющих |
условию |
Липшица, |
здесь можно предложить метод, обобщающий метод ломаных из главы 1, однако его реализация с возрастанием размерности про странства весьма усложняется [85]. Другие методы минимизации многоэкстремальных функций изложены в работах [103, 174, 214].
4.Весьма усложняет решение задачи минимизации функц
многих переменных наличие помех, когда на значения функции J (и) в каждой точке и накладываются случайные ошибки. В этих случаях можно использовать метод стохастической аппроксимации
([45, 79, 230] и др.). Одним из вариантов этого метода является процедура Кифера — Вольфовица, краткое описание которой бы ло дано в § 1.12 применительно к задачам минимизации функций одной переменной. Для функций m переменных эта процедура приводит к построению последовательности {«„} по закону
Z О/, + С„е,) — Z (и„ — с„е,)
Un-\-1 —
Сп
i = 1, 2, . . . , m; п = 0, 1, . . . ,
где = ( 0 , . . . , 0, 1, 0 , . . . , 0), z(u) — наблюдаемые в эксперимен те значения функции J (и) в точке и, последовательности {а„}, {с„} удовлетворяют условиям (1.12.2). Различные варианты мето да стохастической аппроксимации, строгое обоснование этого ме тода и различные приложения можно найти в работе [45]. Для минимизации функции при наличии помех могут быть использо ваны также метод случайного поиска [204] и некоторые другие методы [ПО, 214].