Читайте также:
|
|
2. Методы покоординатного спуска (метод Гаусса-Зейделя) (иногда их называют релаксационными методами). Эти методы предусматривают последовательную циклическую оптимизацию по каждой из варьируемых переменных х1.
Направление движения к экстремуму выбирается поочередно вдоль каждой из координатных осей управляемых параметров х1
Рассмотрим процесс поиска экстремума целевой функции W(X) для n-мерной задачи оптимизации при X = (х1, х2,…хn). Предположим, что осуществляется поиск минимума функции W(х). Тогда улучшению ее на шаге (k + 1) поиска будет соответствовать условие
Из выбранной начальной точки поиска Х0 выполняется пробный шаг h0 в положительном направлении одной из координатных осей (обычно вдоль оси первого управляемого параметра х1). В новой точке Х1 с координатами Х1 = (x1,1=x1,0+h0,x2,1=x2,0,…xn,0=xn,0) вычисляется значение целевой функции W(Х) и сравнивается с ее значением в начальной точке W(X0). Если W(X1) < W(X0) это направление принимается для осуществления дальнейшего пошагового движения к экстремуму в соответствии с выражением
В противном случае производится, возврат в исходную точку Х0 и движение осуществляется в отрицательном направлении оси х1:
Движение в выбранном направлении оси х1 выполняется до тех пор, пока целевая функция улучшается, т.е. выполняется условие (6.97). При его нарушении на шаге (k + 1) производится возврат в точку x1,k, определяется направление движения вдоль следующей координатной оси x2 и совершаются спуски в направлении, обеспечивающем улучшение целевой функции.
После осуществления спусков вдоль всей п осей первый цикл спусков N= 1 завершается и начинается новый цикл N= 2. Если на очередном цикле движение оказалось невозможным ни по одной из осей, тогда уменьшается шаг поиска:
Далее поиск экстремума продолжается с уменьшенным шагом. Условие окончания поиска -
При достижении условия (6.102) поиск прекращается, и полученная точка Хk принимается в качестве искомой экстремальной точки X. Точка Xk при этом находится в некоторой малой окрестности точки локального экстремума X*, ограничиваемой задаваемым минимальным значением шага поиска hmin.
Параметрами алгоритма покоординатного спуска являются ho, hmin и γ. Алгоритм обеспечивает сходимость к решению X* за конечное число итераций, если функция W(X) имеет первую и вторую производные в окрестности экстремума.
Пример поиска экстремума методом покоординатного спуска для двумерной задачи при Х=(х1,х2) представлен на рис. 6.22, где показаны два цикла спусков вдоль осей х1 и х2 Линии равных уровней целевой функции W(X) обозначены Н1..., Н4, причем Н1< Н2< Н3< Н4, а минимум ее соответствует точке X*. Траектория поиска изображена жирной линией.
Движение начато из исходной точки X0. При этом в каждом цикле вдоль каждой из осей выполняется несколько шагов. После достижения точки Х1 значение W(X) начинает возрастать, поэтому произошла смена направления движения. На новом направлении вдоль оси Х2 движение осуществляется к точке Х2 и первый цикл спусков на этом завершается. Затем циклы повторяются, пока не будет выполнено условие прекращения поиска.
3. Метод градиента
Градиент - векторная величина, компонентами которой являются частные производные целевой функции по управляемым параметрам:
Градиент всегда сориентирован в направлении наиболее быстрого изменения функции. Градиентное направление является локально наилучшим направлением поиска при максимизации целевой функции, а антиградиентное - при ее минимизации. Это свойство вектора gradW(X) и используется в методе градиента, определяя вид траектории поиска.
Движение по вектору градиента перпендикулярно линиям уровня поверхности отклика (или перпендикулярно поверхности уровня в гиперпространстве в случае, если число проектных параметров больше двух).
Движение в пространстве управляемых параметров осуществляется в соответствии с выражением
где hk - шаг поиска; Sк - единичный вектор направления поиска
на шаге (k + 1), характеризующий направление градиента в точке Хk,. При минимизации целевой функции вектор Sk должен иметь направление, противоположное направлению вектора градиента, поэтому для его определения используется выражение
Дадим краткое изложение алгоритма поиска минимума целевой функции W(X). В каждой точке траектории поиска Хk, в том числе в исходной точке Х0 определяется градиент целевой
функции gradW(Xk) и единичный вектор направления Sk выполняется шаг в пространстве управляемых параметров к точке Хк+1 согласно выражению (6.104) и оценивается успешность поиска на основе неравенства (6.97). При этом вычисляется значение целевой функции W(Xk+1) в точке Хк+1 и сравнивается с ее значением W(Xk+1) предыдущей точке Хk.
Если условие (6.97) выполнено, то шаг поиска успешный, поэтому определяется новое направление движения из точки Хk+1 и выполняется следующий шаг в точку Хk+2
При большой кривизне линий равных уровней (т.е. при сложном рельефе поверхности целевой функции), а также вблизи экстремальной точки принятый в начале поиска шаг hk может оказаться слишком большим, и условие (6.97) на очередном шаге не будет выполнено. В этом случае необходимо возвратиться в предыдущую точку hkуменьшить шаг по формуле ™
где γ в коэффициент уменьшения шага: 0 <γ< 1, и повторить движение в том же направлении, но с меньшим шагом.
Условия окончания поиска методом градиента имеют вид
где ε - малая положительная величина.
При выполнении одного из условий: (6.107) или (6.107)-поиск прекращается, а полученная точка Хk принимается в качестве искомой точки экстремума X. Если поиск прекращен по условию (6.107), то считается, что точка Хk находится в некоторой малой окрестности точки X*, ограничиваемой величиной hmin
Малое значение модуля градиента целевой функции означает, что целевая функция в некоторой области вблизи стационарной точки X* изменяется незначительно и поэтому любая точка в этой области может быть принята в качестве допустимого решения задачи оптимизации.
На рис. 6.23, а показан пример поиска минимума целевой функции для двумерной задачи методом градиента. Линии равных уровней целевой функции обозначены H1..., H7, причем H1<Н2<...<Н7 а траектория поиска проходит через точки X0, Х1, Х2 ….
Движение в градиентном направлении по определению должно приводить к улучшению функции качества Если это не так и W(Xn+1) < W(Xn), можно предположить, что поиск просто «проскочил» оптимальную точку. В этом случае следует уменьшить величину шага и повторить вычисления.
Дата добавления: 2015-07-15; просмотров: 280 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Билет №12 | | | Метод динамического программирования |