Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Этот алгоритм содержит две основные процедуры:
а) исследующий покоординатный поиск в окрестности данной точки, предназначенной для определения направления убывания f(x):
б) перемещение в направлении убывании (поиск по образцу).
Опишем алгоритм исследующего покоординатного поиска из заданной точки х с приращениями по каждой координате.
Шаг 1. Положить , j = 1.
Шаг 2. Сделать пробный шаг , где ej — j-й базисный вектор. Если
, то перейти к шагу 3, иначе - к шагу 4.
Шаг 3. Сделать пробный шаг . Если , то перейти к шагу 5,
иначе - к шагу 4.
Шаг 4. Положить
Шаг 5. Положить j = j+1. Если j n, то перейти к шагу 2. В противном случае исследующий поиск окончен - получена точка , для которой , если .
Замечание:
В результате исследующего поиска может оказаться, что . Тогда исследующий поиск считается неудачным. Если при этом норма приращения мала, т. е. , где - заданная точность, то полагают x* = x. Если заданная точность не достигнута, то полагают (постоянная >1 - коэффициент уменьшения шага) и повторяют исследующий поиск.
Приведем теперь полный алгоритм Хука-Дживса.
Шаг 0. Выбрать начальную точку x°, вектор приращений ,
коэффициент уменьшения шага > 1, параметр окончания поиска > 0.
Шаг 1. Провести исследующий покоординатный поиск из точки x0, т. е. найти точку
. Если , то перейти к шагу 3, иначе - к шагу 2.
Шаг 2. Проверка на окончание поиска. Если , то прекратить поиск и
положить x *= x0. Иначе - положить и перейти к шагу 1.
Шаг 3. Перемещение из точки в направлении убывания (): положить
.
Шаг 4. Провести исследующий поиск в точке х1, т. е. найти следующую точку .
Если то положить x° = х1, и перейти к шагу 3. Иначе -положить и перейти к шагу 1.
Дата публикования: 2015-01-26; Прочитано: 817 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!