Суть метода векторного поиска экстремума функции
заключается в использовании возможностей правильного симплекса, построенного в n-мерном факторном пространстве. Поиск состоит из чередующихся периодов ориентации и восхождения (движения в направлении экстремума). Целью ориентации является нахождение наиболее перспективного направления движения, которое получается как равнодействующий вектор направлений из всех (n+1) вершин симплекса. Само восхождение по этому направлению происходит из центра симплекса. Система поиска обладает памятью: удачное в прошлом направление движения запоминается и учитывается при расчете очередного рабочего шага. При реализации алгоритма в периоды ориентации существенное значение имеет возраст точек, что позволяет учитывать возможный дрейф поверхности отклика.
Условимся вершинам симплекса приписать значение рангов 1,2,…, n+1, если их проранжировать в хронологическом порядке реализации опытов: самой «старой» вершине приписывается значение «1» следующей по «возрасту» – значение «2» и так далее, а самой «молодой» – значение «n+1». Алгоритм поиска учитывает также тот факт, что с приближением к экстремуму полезный сигнал становится слабее (приращение функции отклика уменьшается, так как обычно поверхность отклика становится более пологой), а слежение – более трудным. С этой целью предусматриваются приёмы модулирования длин рабочего шага R(Y) и коэффициента запоминания удачного в прошлом направления движения a(Y) от достигнутого уровня функции отклика (параметра оптимизации) Y. Для упрощения алгоритма можно величину рабочего шага фиксировать (R = const), а коэффициенту a придавать только два значения: a=1, если выход из последней ориентации был удачным, и a=0, если выход был неудачным.
Поиск удобнее вести в пространстве безразмерных (нормированных) факторов, как это принято в теории планирования экспериментов. В целях лучшего пояснения метода нижеследующее изложение алгоритма проведем для двухфакторной задачи. Тогда при ориентации система состоит из трех точек, расположенных в вершинах симплекса – правильного треугольника.
Пусть система, находясь в периоде восхождения, совершила неудачный шаг Ai ® Ai+1 (Ai, Ai+1 – два последних следовавших друг за другом состояния системы), то есть, известны значения Yi+1. Поиск ведется в соответствии со следующей операторной схемой:
P1 W2 P3 P4 P5 P6 W7 Q8 P9 W10 Q11 . (8.17)
Операторы Р представляют собой вычислительные процедуры, операторы Q являются логическими и служат для принятия решения в возникающих при движении ситуациях, операторы W отражают реализации опытов, на основании которых получаются соответствующие отклики Y.
P1: Расчетным путем (см. раздел 8.4) находится точка Аi+2, которая вместе с точками Аi и Ai+1 образует случайно ориентированный в двумерном пространстве правильный симплекс. В нашем случае (n=2) это одна из двух возможных точек, образующих с точками Аi и Ai+1 равносторонний треугольник (выбирается случайным образом). При n >2 число правильных симплексов, которые можно построить на двух точках Аi и Ai+1 , бесконечно большое.
W2: Реализуется опыт в точке Аi+2, получается отклик Yi+2.
Р3: Находим единичный вектор
где
— вектор, направленный из точки Аi в точку Аk (Yk>Yj), численно равный
— расстояние между точками Аi и Аk (ребро симплекса; при n=2 – сторона равностороннего треугольника);
— сумма рангов j-й и k-й точек;
b— коэффициент доверия результатам опытов, учитывающий из возраст (0<b?1). Чем быстрее дрейф, тем меньше должно быть b.
При образовании вектора (8.18) в случае n=2 происходит оценка изменения функции отклика Y по направлениям трех ребер двумерного симплекса – сторон равностороннего треугольника, в то время как в градиентных методах ее изменение оценивается лишь по двум направлениям – вдоль координатных осей. При увеличении размерности n число ребер ощутимо возрастает. Так, при n=3 число ребер равно
, при n = 4 —
, при n = 5 –
и так далее, что даёт возможность весьма тщательного исследования поведения функции отклика Y в факторном пространстве (X1,X2,….,Xn) в самых различных направлениях.
Р4: Находим вектор
где
В векторе
сливаются новое перспективное направление движения и прежнее удачное направление. Функции d(Y) и a(Y) необходимо предварительно создать, используя априорные представления о хороших и плохих значениях параметра оптимизации Y. Желательно, чтобы во время поиска функции d(Y) менялась монотонно в интервале (1,5; 2,0), а функция d(Y) — в интервале (0,5; 1,0), причем верхние границы интервалов должны соответствовать отличным ее значениям Y, а нижние – плохим значениям. Рассчитывая значения d(Y) и a(Y) оператора Р4, необходимо подставить в эти функции значение Y, полученное в последнем опыте.
Р5: Находится центр тяжести – Ст точек Аi,Аi+1, Аi+2 (центр симплекса).
Р6: Совершается шаг из центра тяжести Ст, равный
и находится точка Аi+3.
W7: Реализуется опыт в точке Аi+3, определяется значение(величина отклика) Yi+3.
Q8: 1) Yi+3 меньше хотя бы двух значений Y, найденных ранее («неудача»). Переход к оператору P1. Период ориентации начинается с точек Аi+2, Аi+3. Вектор
сохраняется неизменным до тех пор, пока система не совершает удачный шаг при восхождении.
2) Yi+3 больше хотя бы двух значений Y, найденных раннее (“удача”). Переход к оператору Р9.
Р9: Совершается шаг длиной d(Y) в направлении вектора
, находится точка Ai+4. Функция d(Y) сохраняет свое прежнее значение.
W10: Реализуется опыт в точке Аi+4, определяется значение Yi+4.
Q11: 1) Yi+4>Yi+3 (“удача”). Переход к оператору Р9;
2) Yi+4
Yi+3 (“неудача”). Переход к оператору Р1.
Период ориентации начинается с точек Аi+3, Ai+4. Поиск начинается со случайного правильного симплекса, построенного на основе этих точек.
Идеи метода иллюстрирует рис. 8.10.
Эффективность метода в значительной степени зависит от параметров движения b, a, d. Рассматривая эти параметры как независимые переменные, которые подлежат непрерывной корректировке во время поиска, мы получим еще большую адаптивность метода.
Рис. 8.10. Определение направления рабочего шага в методе векторного поиска
