Характерной особенностью метода является случайный выбор направления движения на каждом следующем шаге. Так, если изображающая точка после (k-1) рабочего шага занимает в факторном пространстве положение
, то следующий k-й рабочий шаг совершается после пробного эксперимента или экспериментов в точке
где
— случайный вектор фиксированной длины с заданным законом распределения вероятностей. В зависимости от результатов измерения функции Y в точках
и
принимается решение о направлении перемещения в сторону больших (или меньших, если экстремум представляет собой минимум) значений отклика. Обычно такое рабочее перемещение осуществляется на расстоянии Rk (рабочий шаг), превышающее rk (пробный шаг).
Различают методы случайного поиска с обучением и без обучения. Ниже приведем алгоритм наиболее распространенного на практике метода случайного поиска без обучения – алгоритм с возвратом при неудачном шаге. Алгоритмы случайного поиска с обучением являются модификациями алгоритмов случайного поиска без обучения и здесь рассматриваться не будут.
Алгоритм случайного поиска без обучения основан на том, что случайный вектор
имеет один и тот же равновероятный закон распределения на любом шаге.
1. Определяется начальная точка
в факторном пространстве
, где ставится эксперимент и измеряется функция отклика
.
2. Выбираются шаги
, то есть масштаб по каждому фактору.
3. Задаются длины пробного r и рабочего R шагов (перемещений). В стандартизованном масштабе (то есть в пространстве типа
), как правило,
(обычно
).
4. Вычисляются координаты
случайного вектора
в k-м цикле поиска (k=1,2,…). Вектор
представляет собой случайный вектор длиной
, равномерно распределенный на n-мерной сфере (r — в стандартизированном масштабе). Нахождение случайных чисел-координат такого вектора может (и должно) производиться с помощью специальных программ на ПЭВМ. Однако в простейшем варианте двумерного поиска (n=2) для этих же целей несложно использовать таблицу равномерно распределенных случайных чисел. Если извлекать из этой таблицы случайные числа Аk в виде комбинации из трех цифр (что обеспечит вполне приемную точность), то такие числа можно считать равномерно распределенными в диапазоне 0-999. Тогда компоненты случайного вектора
можно рассчитать по формулам
5. Осуществляется пробное движение, то есть проводится эксперимент в точке
:
Если
, то при поиске максимума сделанный пробный шаг считается неудачным и k-й цикл поиска в окрестностях прежней точки
повторяется (п.п. 4 и 5 выполняются снова – формально для того же значения k и нового вектора
). В этом случае производится еще одна попытка пробного движения. Если исследователь сталкивается с ситуацией, когда подряд М подобных пробных движений будут неудачными, где М – достаточно велико, то можно полагать, что точка поиска находится вблизи экстремума. На этом процедуру следует закончить. При
пробный шаг считается удачным, и тогда можно совершить рабочее движение в найденном направлении.
6. Осуществляется рабочее движение, то есть реализуется эксперимент в точке
с координатами:
Если, как ожидается, при этом окажется
, то точка
принимается за исходную точку следующего цикла. Если же выяснится, что
, то в качестве исходной точки следующего цикла целесообразно взять точку
. При R = r пробные и рабочие шаги просто совпадут.
Рис. 8.6. Метод случайного поиска с возвратом при неудачном шаге
В любом случае вся процедура повторяется, начинается с п. 5. Подобные повторения продолжаются до тех пор, пока не будет достигнута область экстремума. По мере приближения к оптимуму желательно постепенное уменьшение коэффициентов R и r, определяющих размеры шагов на каждом цикле поиска. Иллюстрации к сказанному может служить пример двух факторной задачи, изображенной на рис. 8.6.
Существует модификация данного метода, когда при неудачном исходе пробного шага сразу осуществляется рабочее движение в противоположном направлении. Лишь в случае неудачи этого движения делается попытка найти новое направление из той же исходной точки. Ясно, что подобные модифицированный алгоритм мало чем отличается от первоначального.
В целом методы случайного поиска (в том числе и не рассмотренные нами алгоритмы с обучением) достаточно просты, сохраняют работоспособность в условиях помех. Особенно хорошо они работают на начальных этапах поиска, позволяя быстро уменьшить первоначальную область неопределенности. Однако вблизи точки экстремума их эффективность падает и предпочтительным становится применение методов с другими разрешающими способностями, например, нахождение математической модели с помощью планов второго порядка.
