Лекция: Алгоритм Хука-Дживса

Этот алгоритм содержит две основные процедуры:

а) исследующий покоординатный поиск в окрестности данной точки, предназначенной для определения направления убывания 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.

еще рефераты
Еще работы по биологии