Скачиваний:
75
Добавлен:
01.05.2014
Размер:
309.76 Кб
Скачать

1.4.Квазиньютоновские методы

общая структура: xk+1 = xk - kkf(xk)

  1. Если Hk =I , то это градиентный метод.

  2. Если Hk = (2f(xk))-1, то это метод Ньютона.

  3. Если Hk = Hk (f(xi), i=1..k)  (2f(xk))-1, т.е. матрица Hk пересчитывается рекурентным способом на основе информации, полученной на k-й итерации.

Достоинство:

Не надо вычислять обратную матрицу вторых производных.

Обозначим pk = Hkf(xk)

yk= f(xk+1) -f(xk),

,A>0

Тогда для квадратичной функции имеем

yk = A(xk+1-xk) = kApk

k pk = ykA-1,

поэтому матрицу Hk+1 (необязательно для квадратичной функции) выбирают так, чтобы выполнялось так называемое квазиньютоновское условие:

Hk+1yk= kpk (Hk- должна стремиться к (2f(xk))-1

М

етод Давидона- Флетчера- Пауэлла (ДФП)

Проверим выполнение квазиньютоновского условия:

Для квадратичной функции метод сходится за n шагов, где n – размерность пространства состояний. Скорость сходимости этого метода сверхлинейная (быстрее любой геометрической прогрессии).Сходимость глобальная.

Объединяет достоинства градиентных методов и метода Ньютона.

Процедура применения:

На очередном шаге, имея Hk, делаем шаг в направлении pk. Получаем k (например, по методу наискорейшего спуска) , получаем xk+1 , вычисляем yk и пересчитываем Hk+1 для следующего шага .

Недостаток:

(по сравнению с методом сопряженных градиентов)

Надо хранить и пересчитывать Hk размерности mn.

Метод Бройдена-Флетчера –Шенно.

где

Примечание:

Последовательности xk, генерируемые каждым вариантом, для квадратичной функции совпадают. Существует много других модификаций приведенных квазиньютоновских методов.

  1. Методы нулевого порядка

1. Методы апроксимации

В их основе лежит апроксимация градиента и матрицы вторых производных с помощью конечных разностей.

Пусть ej - орт j-й оси.

f (x + ej)  f(x) + f/xj + O(2)

f/xj = ( f(x + ej) - f(x) )/   ( f(x + ej) - f(x - ej) )/ (2)

Здесь под градиентом понимается конечная разность. Если  слишком мала, то слишком велики погрешности при вычислении производных. Если  велика, то из-из O(2) погрешности тоже велики. Таким образом проблема этих методов- выбор .

2. Метод покоординатного спуска

Нужны направления. Раньше их задавал градиент, теперь его нет. Возможен случайный выбор, а можно по координатным осям.

Алгоритм:

  1. j :=1

  2. min f(x-ej)=f(x’’), x’’:= x’- *ej

  3. j:=j+1, x= x’’

  4. if j  n then goto 2)

  5. if not (условие окончания цикла) then goto 1

Достоинство:

Требуется min функции вдоль только одной прямой.

3.Метод симплексов (Нелдера- Нида)

Алгоритм:

1.Фиксируем xo…xn ( n+1- точка)

Если n =2 , то  (выбир. равнобедренный треугольник)

2

.

вычисление отраженной точки

xj

xj

Если f(xj) < f(xj), то xj := xj; k:=0, иначе k:=k+1

k- количество идущих подряд неудачных отражений

3. Если k<n, то (если j<n, то j:=j+1 , иначе j:=0) goto 2.

4.Иначе сжатие : xl = argmin f(xj), 0 j  n - ищем вершину, в которой функция минимальна (то есть наименьшее значение из всех существующих вершин

5. Cжатие : xj = xl + ( xj - xl), j (сжатие в  раз)

Существует много модификации метода.

Особенность: метод в ряде случаев позволяет найти глобальный минимум, т.е. позволяет перескакивать через хребты.

Соседние файлы в папке Конспект по методам оптимизации в формате doc