Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДЫ ОПТИМИЗАЦИИ.doc
Скачиваний:
61
Добавлен:
01.05.2014
Размер:
2.4 Mб
Скачать

Приложение 3. Метод Ньютона

Метод Ньютона минимизации функции является обобщением известного метода Ньютона отыскания корня уравнения f '(x) = 0, где f(x) - скалярная функция скалярного аргумента х. Минимизация f(x) основывается на использовании квадратичной аппроксимации функции f(x) в точке xk:

F(x) = f(xk) + f '(xk)(x - xk) + f ''(xk)(x - xk)2* 1/2

В качестве приближения хk+1к минимуму х* берется точка, в которой производная F'(x) равна нулю, т.е.f'(xk) + f ''(xk)(xk+1 -xk) = 0.

Таким образом, xk+1= xk- f '(xk)/f ''(xk).

Итерационный процесс строит последовательность точек {xk}, которая при определенных условиях квадратично сходится к некоторой стационарной точке х* функции f(x), т.е. к точке, в которой f ' (x*) = 0. Процесс останавливается, когдаxk+1- xk≤иf '(xk)≤, где> 0 - заранее заданное малое число.

Существенными недостатками метода Ньютона являются: 1) сложность задания начального приближения х1в малой окрестности искомого минимума х*; 2) необходимость вычисления вторых производных минимизируемой функции.

Приложение 4. Метод линейной интерполяции (метод секущих)

Метод секущих предлагает заменить вторую производную f ''(xk) в ньютоновской формуле её линейной аппроксимацией (f '(xk)-f '(xk-))/(xk-xk-1).

Тем самым очередное приближение хk+1 к стационарной точке х* задаётся формулой вида

xk+1= xk- f '(xk) * (xk- xk-1) / ( f '(xk) - f '(xk-1)).

Легко видеть, что хk+1- точка пересечения с осью абсцисс секущей прямой, проходящей через точки хkи хk-1.

В отличие от метода Ньютона метод секущих гарантирует сходимость точек {xk} к стационарной точке х*, однако, сходимость метода достигается ценой потери быстродейсвия. Как правило, метод дихотомии оказывается эффективнее метода секущих, хотя последний и получен из более быстродействующей схемы.

Начальный этап. Пусть методом Свенна получен интервал неопределённости [a1,b], границы которого удовлетворяют неравенству f '(a1)f '(b1) < 0. Задать- погрешность вычисления минимума и принять k=1.

Основной этап

Шаг 1. Найти очередное приближение хk+1к минимуму х* и проверить условие окончания поиска:

(1) xk+1= bk- f '(bk)*(bk- ak)/(f '(bk) - f '(ak));

(2) если f '(xk+1)≤, то остановиться.

Шаг 2. Уменьшить интервал поиска минимума:

(1) если f '(xk+1) > 0, то aк+1= ak, bk+1= xk+1, в противном случае принять ak+1= xk+1, bk+1= bk;

(2) положить k = k + 1 и перейти на шаг 1.

Приложение 5. Метод кубической интерполяции для одномерной минимизации

Суть алгоритма заключается в том, что на каждой итерации функция f(x) аппроксимируется кубическим полиномом F(x), точка минимума x(*)которого берётся в качестве текущего приближения к искомому минимуму х*. Алгоритм предполагает вычисления в каждой очередной точке значений функции f(x) и её производной f '(x).

Начальный этап. Задать, х1, h1- параметры метода, имеющие общепринятый смысл. Методом Свенна установить начальный интервал [a, b]:

(1) Изменить направление поиска h1= -h1, если f '(x1) > 0.

(2) Вычислять fkв точках xk+1= xk+ hkпри hk= 2hk-1, k=2,3,...m-1 до тех пор, пока не продвинемся в точку xm, такую, что f '(xm)f '(xm-1) < 0.

(3) Если x m-1< xm, то положить a = xm-1, b = xm, иначе - a = xm, b = xm-1.

Основной этап..

Шаг 1. Найти аппроксимирующий минимум:

(1) Вычислить параметр = (z + w - f '(a))/(f '(b) - f '(a) + 2w),

где z = f '(a) + f '(b) + 3(f(a) - f(b)) / ( b - a), w = (z2 - f '(a)f '(b))1/2 .

a + (b - a), если 0≤  < 1,

(2) Принять аппроксимирующий минимум

x(*)= a, если< 0, и

x(*)= b, если> 1.

Шаг 2. Проверить критерий окончания поиска:

Если f '(x)<или x = a, или x = b, поиск окончить. Иначе вернуться на шаг 1, используя новый интервал [a, x], если f '(x) > 0, либо интервал [x, b], если f '(x) < 0.