10 блок_ Шуляков_планирование эксперимента / (010) / Методы многомерного поиска экстремума
.pdfМетоды многомерного поиска экстремума
Все методы поиска экстремума на 2-м этапе подразделяются на градиентные и неградиентные.
Классификация методов поиска
Градиентныеметодыпоискаэкстремума.
1. Градиентный метод.
Рассмотрим кривые равного уровня поверхности отклика для функции двух переменных.
Пусть экстремум существует в точке X * . Если попытаться попасть в окрестность этой точки из начальной точки X0 с помощью одного из методов однофакторного анализа (одномерного поиска), то мы
сначала должны зафиксировать один фактор: x1 const |
и изменять второй фактор в направлении AB до |
|||||||||||||||||||
тех пор, пока не увеличится уровень y . Затем в точке B |
зафиксировать фактор x2 const и, изменяя x1 , |
|||||||||||||||||||
двигаться в направлении CD до точки |
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
и т.д. путь к экстремуму будет довольно долгим. Наиболее |
|||||||||||||||||
короткий путь – направление градиента – это направление, перпендикулярное линиям равного уровня. |
||||||||||||||||||||
Градиент однозначной непрерывной функции f есть вектор: |
|
|
|
|
||||||||||||||||
|
|
f |
f |
|
|
|
|
f |
|
|
... |
f |
|
|
|
|
|
|
|
|
|
|
|
i |
|
j |
k |
a a |
2 |
... a |
n |
, |
|||||||||
|
|
|
|
|||||||||||||||||
|
|
|
x1 |
|
|
|
|
x2 |
|
|
|
1 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
xn |
|
|
|
|
где i , j , k - единичные векторы в направлении координатных осей. Тогда любая точка X m 1 выбирается из условия:
Здесь gradf X m f X m |
|
f |
|
f |
|
|
|
- вектор – градиент функции y f X в точке |
|
||||||||||
|
,..., |
|
|
|
|
||||||||||||||
|
x |
x |
|
|
|
|
|||||||||||||
X m x1m , x2m ,..., xnm ; |
|
|
1 |
|
n |
|
Xm |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
- некоторая положительная скалярная величина. |
|
|
|
|
|||||||||||||||
|
|
X1 X0 |
gradf X0 X0 f X0 . |
|
|
||||||||||||||
|
|
Здесь gradf X0 f X0 |
|
f |
f |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|||||||||||||
|
|
|
x ,..., x |
. |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
n |
|
X 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
x1i x0i |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
x |
. |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
X 0 |
|
|
|
|
|
Различные методы градиентного метода отличаются друг от друга способом выбора величины . |
|
||||||||||||||||||
|
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a2 Х1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
Х0 |
a1 |
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Итак, пусть задана начальная точка |
X0 , y0 |
y X0 . |
Для нахождения составляющих градиента |
||||||||||||||||
f a1 a2 |
... an по направлениям факторов проводятся n экспериментов: |
|
|
||||||||||||||||
|
|
x10 x10 y10 |
|
y10 y0 y10 ; |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
xn0 xn0 yn0 |
|
yn0 y0 yn0 . |
|
|
|
||||||||||||
Тогда |
отношения |
y10 a |
, … , |
yn0 a |
n0 |
|
представляют собой |
a3 |
|
||||||||||
|
|
x`10 |
10 |
|
|
x`n0 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
a2 |
|
||||||
составляющие градиента f X0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Тогда вторую точку X1 мы определим : |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
X1 X0 f X0 |
|
|
|
|
|
|||||||||
или по составляющим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
x |
|
|
a |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
11 |
|
10 |
|
|
10 |
|
|
|
|
|
|
|
||
|
|
|
|
|
.................. . |
|
|
|
|
|
|
||||||||
|
|
|
|
|
x |
x |
|
|
a |
n0 |
|
|
|
|
|
|
|
||
|
|
|
|
|
n1 |
|
n0 |
|
|
|
|
|
|
|
|
|
|
||
В данном случае |
величины |
a10 ,…, |
an0 |
представляют |
собой |
значения |
рабочего шага |
по |
|||||||||||
направления x1 ,…, xn . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В данном методе увеличение |
приводит к отклонению рабочей траектории от траектории градиента, |
||||||||||||||||||
что замедляет путь, но при этом значительно сокращает число экспериментов и объем расчетов (хотя |
|||||||||||||||||||
точность падает). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Признак достижения экстремума: все ai 0 , т.е. signai |
signai 1 . |
|
|
|
|
||||||||||||||
Погрешность определяется зоной неопределенности ai . |
|
|
|
|
|
2. Метод крутого восхождения
Одним из вариантов градиентного метода является метод крутого восхождения (ищется максимум). Пусть X0 x10 , x20 ,..., xn0 - начальная точка. Вектор-градиент в этой точке
f X0 |
|
f |
|
|
|
f |
|
|
|
|
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
x |
i |
x |
|
j ... |
x |
||||||||||
|
|
k . |
|||||||||||||
|
|
10 |
|
|
|
20 |
|
|
|
|
|
n0 |
|
|
|
Если X0 не является стационарной точкой, то |
все |
|
|
|
f |
0 и |
направление вектора градиента |
||||||||
|
|
xi0 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функции в этой точке будет направлением наибыстрейшего возрастания функции.
Как видно из рисунка точка X0 не является стационарной. Сделаем некоторый первый шаг в направлении градиента. Координаты новой точки X x1, x2 ,..., xn определяются из выражения:
xi xi0 |
f |
(*) |
xi xi |
x |
|||
|
i0 |
|
|
где 0 - параметр шага.
xi0 xi xi0 .
Выражение (*) представляет собой уравнение луча.
|
Полагая, что функция y f X |
является линейно унимодальной, найдем координаты точки |
X1 , в |
|||||||
которой функция достигает максимума при движении в направлении градиента: |
|
|
||||||||
|
|
f X1 |
f x11, x21,..., xn1 f x1 0 , x2 0 ,..., xn 0 max f x1 , x2 ,..., xn |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f X1 f x11, x21,..., xn1 max f x11 , x21 ,..., xn1 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
Тогда очевидно, что X1 X0 0 f X0 , где вычисляется из предыдущего. |
|
||||||||
|
Далее вычислим градиент в точке |
X1 и снова повторим процесс движения в направлении точки X 2 |
||||||||
и т.д. В общем случае координаты точки X m 1 : |
|
|
||||||||
f x1 m 1 , x2 m 1 ,..., xn m 1 f x1m m , x2m m ,..., xnm m max f x1m m , x2m m ,..., xnm m , |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
где |
x |
x |
|
|
f |
. |
|
|
|
|
|
|
|
|
|
||||||
|
im |
im |
|
|
m x |
|
|
|
||
|
|
|
|
|
|
im |
|
|
|
|
|
Векторная форма записи: |
X m 1 X m m f X m . |
|
|
||||||
|
|
|
|
f X m f X m 1 , и |
X m конечна, |
|
||||
По |
определению |
следовательно, если последовательность |
то ее |
последний элемент является точкой максимума.
Таким образом, в методе крутого восхождения параметр m
решения одномерной задачи максимизации:
max f X m f X m , где 0
т.е. задача многомерного поиска сводится к одномерному поиску. На следующем после экстремума m 1 шаге градиент функции f X m 1 будет ортогонален градиенту f X m , что и является признаком окончания поиска.
Если параметром оптимизации является минимум функции y f X , то данный метод называется методом наискорейшего спуска.
Практически метод крутого восхождения (наискорейшего спуска) реализуется следующим образом: |
|||||||
первый шаг делается как и в градиентном методе в точке X0 |
x10 , x20 ,..., xn0 , а следующие шаги |
||||||
делаются в соответствии с рекуррентным соотношением: |
|
|
|
||||
|
|
X m 1 l X m l f X m , |
|||||
где l |
|
- число подшагов в направлении градиента от точки |
X m до точки X m 1 . Или в скалярной |
||||
1, L |
|||||||
форме записи: |
f |
|
|
|
z(x1, x2) |
||
|
|
|
|||||
|
|
xi m 1 l xi m l |
. |
(x10, x20+? x2) |
|||
|
|
|
|||||
|
|
|
xi m |
|
|
|
|
Т.е. поиск идет по правилу : |
|
|
|
|
|
||
|
|
ym 1 ym . |
|
|
(x10+? x1, x20) |
||
|
|
|
|
|
(x10, x20) |
Из точки X0 делается первый шаг на величину
xi 1 1 xi0 xfi0
в направлении градиента и получается y1 1 y0 . Тогда находим
xi 1 2 xi0 2 xfi0 .
При этом вычисление градиента в этих точках не производится. Эта процедура повторяется до тех пор, пока
y |
y |
, тогда фиксируется точка X |
1 |
X |
1 l ` |
, находится новое значение градиента |
f |
и всё |
|
||||||||
1 l 1 |
1 l |
|
|
|
xi1 |
|
||
|
|
|
|
|
|
|
|
повторяется.
Этот метод требует гораздо меньше опытов и объема вычислений, а его сходимость лишь немного уступает сходимости градиентного метода. Метод имеет плохую сходимость в случаях, когда экспериментальная область представлена в виде узких хребтов или впадин (можно проскакивать экстремум и долго его искать).
3. Метод сопряженных градиентов
Последнего недостатка метода крутого восхождения лишен метод сопряженных градиентов. Его идея заключается в том, что проводятся два опорных
эксперимента x1 и x2 и две серии пробных экспериментовf X1 и f X 2 , тогда A f x1 f x2 .
Вектор A принимается за направление следующей серии опытов.
x2
Х1 A
Х0 Х2
0 |
x1 |
Неградиентные методы поиска экстремума
Метод Гаусса – Зейделя
В основе метода Гаусса – Зейделя лежит идея координатного поиска: ищется частный экстремум при изменении одного из факторов. Пусть из n переменных x1 , x2 ,…,
xn выбрана какая – то одна xq , а значения всех остальных зафиксированы, т.е. определена прямая, параллельная одной из осей, а именно оси xq . Поиск производится вдоль этой
прямой в пределах области эксперимента (т.е. одномерный поиск). Пусть в начале экспериментаx2 const . Поиск ведется вдоль оси x1 . В результате становится возможным
определить точку частного экстремума x* |
функции |
y , в |
частности x* x , если |
|
1 |
|
|
1 |
13 |
y f x13 max . После этого фиксируется значение x13 |
const |
и проводится одномерный |
поиск вдоль прямой x13 , т.е. находится значение x2* x22 . Далее фиксируется x22 const и т.д.
В данном методе одна и та же переменная может быть исследована не один раз. Достоинства:
1.Простота процедуры и отсутствие локальных исследований окрестностей опорных точек;
2.Использование методов одномерного поиска.
Недостаток:
1.Ограничение возможности применения: метод применим, когда переменные x1 , x2 ,…, xn - независимы;
2.Нет гребней.
Всвязи с этим возможно осложнение, возникающее на практике. Предположим, что
первая серия опытов привела к отысканию частного экстремума x1* , а попытка сделать следующий шаг будет неудачной, какая бы переменная не выбиралась – улучшить значение y - не удается, хотя известно, что x1* не есть глобальный экстремум x* .
Множество точек, из которых невозможно продолжить процедуру Гаусса – Зейделя называется гребнем.
Метод симплекса
Симплекс – это фигура с n 1 вершинами, с помощью которой формализуется
процедура поиска следующей точки при эффективном движении к экстремуму. Если фигура имеет равные ребра, то она называется однородной, если разные - то неоднородной.
Пусть |
n 2 , |
тогда |
симплекс |
– x2 |
|
|
|
||
треугольник. Число вершин n 1 3 . |
|
|
2 |
3 |
|
||||
1) Выберем три точки с координатами |
|
||||||||
(x12,x22) |
(x13,x23) |
||||||||
|
x11, x21 , |
x12 , x22 , |
x13 , x23 . |
Им |
|||||
|
|
1 |
|
||||||
|
соответствуют значения функции |
|
|
||||||
|
отклика y1 , y2 , y3 . В результате |
|
(x11,x21) |
||||||
|
сравнения получим: |
|
|
|
|
|
x1 |
||
|
|
0 |
|
|
|||||
|
|
y2 y1 y3 , т.е. |
y2 min yi . |
|
|
||||
|
|
|
|
|
|
Перевернем симплекс относительно прямой 1-3, противоположной вершине y2 min , получим точку 4 с координатами x14 , x24 . В результате чего получим:
2)y1 , y3 , y4 , среди них y1 min yi , тогда
3)y3 , y4 , y5 , среди них y3 min yi , т.е симплекс совершает вращательно
поступательное движение в направлении экстремума.
Признаком достижения экстремума является или 1. Вращение симплекса вокруг одной вершины
или 2. Повторение симплекса (качание относительно
одного ребра). Точка вращения является наиболее близкой к экстремуму. В случае повторения симплекса вносят изменение в процедуру повторения:
исключают не точку yl min , а точку y l 1 , т.е. предыдущую. Если это не дает результата, то исключают точку y l 2 или изменяют размер симплекса.
Точность определения экстремума: Rz n 1 1 z ,
где z - размер ребра симплекса, т.е. разрешающей способностью (для n 2 Rz 13 z ).