Метод случайного поиска


Характерной особенностью метода является случайный выбор направления движения на каждом следующем шаге. Так, если изображающая точка после (k-1) рабочего шага занимает в факторном пространстве положение clip_image002, то следующий k-й рабочий шаг совершается после пробного эксперимента или экспериментов в точке

clip_image004, (8.8)

где clip_image006 — случайный вектор фиксированной длины с заданным законом распределения вероятностей. В зависимости от результатов измерения функции Y в точках clip_image002[1] и clip_image008 принимается решение о направлении перемещения в сторону больших (или меньших, если экстремум представляет собой минимум) значений отклика. Обычно такое рабочее перемещение осуществляется на расстоянии Rk (рабочий шаг), превышающее rk (пробный шаг).

Различают методы случайного поиска с обучением и без обучения. Ниже приведем алгоритм наиболее распространенного на практике метода случайного поиска без обучения – алгоритм с возвратом при неудачном шаге. Алгоритмы случайного поиска с обучением являются модификациями алгоритмов случайного поиска без обучения и здесь рассматриваться не будут.

Алгоритм случайного поиска без обучения основан на том, что случайный вектор clip_image010 имеет один и тот же равновероятный закон распределения на любом шаге.

1. Определяется начальная точка clip_image012 в факторном пространстве clip_image014, где ставится эксперимент и измеряется функция отклика clip_image016.

2. Выбираются шаги clip_image018, то есть масштаб по каждому фактору.

3. Задаются длины пробного r и рабочего R шагов (перемещений). В стандартизованном масштабе (то есть в пространстве типа clip_image020), как правило, clip_image022(обычно clip_image024).

4. Вычисляются координаты clip_image026 случайного вектора clip_image028 в k-м цикле поиска (k=1,2,…). Вектор clip_image010[1] представляет собой случайный вектор длиной clip_image031, равномерно распределенный на n-мерной сфере (r в стандартизированном масштабе). Нахождение случайных чисел-координат такого вектора может (и должно) производиться с помощью специальных программ на ПЭВМ. Однако в простейшем варианте двумерного поиска (n=2) для этих же целей несложно использовать таблицу равномерно распределенных случайных чисел. Если извлекать из этой таблицы случайные числа Аk в виде комбинации из трех цифр (что обеспечит вполне приемную точность), то такие числа можно считать равномерно распределенными в диапазоне 0-999. Тогда компоненты случайного вектора clip_image010[2] можно рассчитать по формулам

clip_image034 . (8.9)

5. Осуществляется пробное движение, то есть проводится эксперимент в точке clip_image036:

clip_image038 clip_image040clip_image042 k=1, 2, … . (8.10)

Если clip_image044, то при поиске максимума сделанный пробный шаг считается неудачным и k-й цикл поиска в окрестностях прежней точки clip_image002[2] повторяется (п.п. 4 и 5 выполняются снова – формально для того же значения k и нового вектора clip_image010[3]). В этом случае производится еще одна попытка пробного движения. Если исследователь сталкивается с ситуацией, когда подряд М подобных пробных движений будут неудачными, где М – достаточно велико, то можно полагать, что точка поиска находится вблизи экстремума. На этом процедуру следует закончить. При clip_image047 пробный шаг считается удачным, и тогда можно совершить рабочее движение в найденном направлении.

6. Осуществляется рабочее движение, то есть реализуется эксперимент в точке clip_image049с координатами:

clip_image051. (8.11)

Метод случайного поискаЕсли, как ожидается, при этом окажется clip_image054, то точка clip_image056 принимается за исходную точку следующего цикла. Если же выяснится, что clip_image058, то в качестве исходной точки следующего цикла целесообразно взять точку clip_image036[1]. При R = r пробные и рабочие шаги просто совпадут.

Рис. 8.6. Метод случайного поиска с возвратом при неудачном шаге

В любом случае вся процедура повторяется, начинается с п. 5. Подобные повторения продолжаются до тех пор, пока не будет достигнута область экстремума. По мере приближения к оптимуму желательно постепенное уменьшение коэффициентов R и r, определяющих размеры шагов на каждом цикле поиска. Иллюстрации к сказанному может служить пример двух факторной задачи, изображенной на рис. 8.6.

Существует модификация данного метода, когда при неудачном исходе пробного шага сразу осуществляется рабочее движение в противоположном направлении. Лишь в случае неудачи этого движения делается попытка найти новое направление из той же исходной точки. Ясно, что подобные модифицированный алгоритм мало чем отличается от первоначального.

В целом методы случайного поиска (в том числе и не рассмотренные нами алгоритмы с обучением) достаточно просты, сохраняют работоспособность в условиях помех. Особенно хорошо они работают на начальных этапах поиска, позволяя быстро уменьшить первоначальную область неопределенности. Однако вблизи точки экстремума их эффективность падает и предпочтительным становится применение методов с другими разрешающими способностями, например, нахождение математической модели с помощью планов второго порядка.

Загрузка...