Читайте также: |
|
Рассмотренные в предыдущих разделах методы поиска минимума основывались на предположениях об унимодальности и в ряде случаев о непрерывности целевой функции. Если ввести дополнительное требование о непрерывности производных, то эффективность поисковых процедур можно еще повысить. Рассматриваемые в этом разделе алгоритмы можно с успехом использовать в методах оптимизации первого порядка.
М е т о д с е к у щ и х
Этот метод ориентирован на нахождение корня уравнения Ja(a)=0 в интервале aÎ[a1, a2], на концах которого w1=Ja(a1)<0 и w2=Ja(a2)>0. В этом методе используется линейная аппроксимация производной Ja и алгоритм поиска следующий.
{{{ Начало алгоритма.
1) Запоминается крайняя точка az=a1.
2) Из подобия треугольников (см. рис.1.2.5) определяем следующее приближение стационарной точки по формуле:
(1.2.9)
В этой точке рассчитывается значение производной w3=Ja(a3).
3) Если w3>0, то эта точка берется в качестве новой правой точки: a2=a3, w2=w3, иначе - в качестве левой: a1=a3, w1=w3.
4) Если |az-a3|<e, то поиск минимума окончен, иначе запоминается новое значение az=a3 и переходим к пункту 2).
}}} Конец алгоритма.
Рис.1.2.5
Алгоритм метода секущих
М е т о д к у б и ч е с к о й а п п р о к с и м а ц и и
Целевая функция в этом методе аппроксимируется полиномом третьей степени. Логическая структура метода аналогична схеме метода квадратичной аппроксимации. Однако в данном методе для аппроксимации используются только две опорные точки a1 и a2 и значения функций и производных в этих точках: J1=J(a1), J2=J(a2), w1=Ja(a1), w2=Ja(a2). Аппроксимирующий полином можно искать в виде:
Y(a)=a0+a1×(a-a1)+a2×(a-a1)×(a-a2)+a3×(a-a1)2×(a-a2). (1.2.10)
Коэффициенты a0-3 определяются путем решения следующей системы
линейных уравнений:
(1.2.11)
Приравняв к нулю производную от полинома (1.2.10) получим квадратное уравнение относительно a, решение которого определяет минимальную точку кубического полинома и для случая w1<0 имеет вид (см. [8]):
amin=(a2-a1)×(1-(w2+b-a)/c), (1.2.12)
где a=3×(J1-J2)/(a2-a1)+w1+w2,
b=(a2-w1×w2)1/2,
c=w2-w1+2×b.
Алгоритм данного метода может выглядеть следующим образом.
{{{ Начало алгоритма.
1) Запоминаем граничное значение переменной az=a1.
2) По формулам (1.2.12) определяем amin и рассчитываем в этой точке Jmin=J(amin) и wmin=Ja(amin).
3) Если Jmin<J1 и wmin<0, то производим следующую замену: a1=amin, J1=Jmin, w1=wmin, иначе: a2=amin, J2=Jmin, w2=wmin.
4) Если |wmin|<e или |amin-az|<e, то поиск заканчивается, иначе полагаем az=amin и переходим к пункту 2).
}}} Конец алгоритма.
Дата добавления: 2015-11-14; просмотров: 44 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Методы полиномиальной аппроксимации | | | Метод Розенброка |