Читайте также: |
|
Поиск минимума вдоль направления P является одномерным поиском относительно параметра a в выражении (1.1.2). Одномерный поиск осуществляется в два этапа.
На первом этапе определяется приближенно область параметра aÎ[a1, a2] в которой предполагается находится минимум целевой функции J(a). Строгих методов для этой процедуры нет. Если не вычисляются производные от целевой функции по a, то обычный алгоритм заключается в следующем (см. рис.1.2.1).
Рис.1.2.1
Алгоритм приближенного определения минимума функции
1) Задаются начальным шагом по a - ha0, который определяют экспериментально. Начальное значение a полагают равным нулю - a=0 и ha=ha0.
2) Далее запоминаем текущие значения a1=a и J1=J(a1) и увеличиваем значение a на величину ha. В новой точке a2=a1+ha вычисляется значение целевой функции J2=J(a2).
Если J2 £ J1 и ha³ ha0, то
а) шаг ha обычно увеличивают вдвое, т.е. ha=2×ha, вводится система пере обозначений вида: a0=a1, J0=J1, a1=a2, J1=J2, a=a1 и снова идем на начало пункта 1) до тех пор пока ha не превысит начальное значение шага ha в 210 раз. Это означает, что в данном направлении минимум отсутствует. Иначе: б) Если ha > ha0, то имеется три точки по a - a0 ,a1 ,a2 , заключающие внутри себя точку минимума целевой функции amin, и можно в этом случае переходить к методу уточнения местоположения минимума, т.е. к пункту 3), в противном случае начальный шаг делим на четыре - ha= ha/4, полагаем a1=a=0, J1=J(0) и идем к пункту 2). Деление шага ha производят до тех пор пока он не станет меньше начального шага ha0 в 220 раз. Если он станет меньше, то в данном направлении будем считать минимума нет.
3) Уточняем местоположения минимума целевой функции по a - amin.
В случае расчета производных от целевой функции по параметру a, алгоритм приближенного определения местоположения минимума целевой функции может быть следующим(см. рис.1.2.2).
Рис.1.2.2
Алгоритм приближенного определения минимума функции с использованием производных
1) Зададимся начальным шагом по a - ha0, который, например, можно вычислить по формуле:
ha=½(Jmin-J(0))/(2Ja(0))½, (1.2.1)
где Jmin - предполагаемое минимально возможное значение целевой функции, Ja(0) - производная от целевой функции по параметру a в начальной точке, где a=0. В общем случае эта производная вычисляется как
(1.2.2)
т.е. как проекция градиента g (Xk) на поисковое направление Pk. Если эта производная будет положительна, то это означает что в данном направлении минимум отсутствует и следует рассчитать новое поисковое направление Pнов. Начальное значение a полагают равным нулю - a=0 и ha= ha0.
2) Далее запоминаем текущие значения a1=a, w1=Ja(a1) и J1=J(a1) и увеличиваем значение a на величину ha. В новой точке a2=a1+ ha вычисляется значение целевой функции J2=J(a2) и производная w2=J(a2). Если w2<0 и J2<J1, то
а) вводится система пере обозначений a1=a2, w1=w2, a=a1, J1=J2, шаг увеличивают в два раза - ha=2 ha и идем в начало пункта 1), иначе
б) переходим к пункту 3) - уточнению местоположения минимума.
3) Вызов процедуры уточнения местоположения минимума целевой функции по a на отрезке a1 - a2.
На втором этапе одномерного поиска осуществляется уточнение местоположения минимума целевой функции по параметру a в заданном интервале и с заданной точностью - e.
Дата добавления: 2015-11-14; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Классификация методов оптимизации | | | Методы исключения интервалов |