Донецкий национальный технический университет
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 3115 / 710 | Оценка: 4.34 / 4.12 | Длительность: 13:54:00
Специальности: Программист

Лекция 9: Однопараметрическая (одномерная) оптимизация. Методы одномерной оптимизации: метод дихотомии, метод Фибоначчи, метод "золотого сечения", метод Ньютона.

< Лекция 8 || Лекция 9: 123 || Лекция 10 >

3. Метод Ньютона

Следующий из рассматриваемых методов однопараметрической оптимизации является градиентным методом второго порядка. В нем при поиске экстремума целевой функции используется ее первые и вторые производные. Этот метод носит название метода Ньютона.

Метод применим для вогнутой (или выпуклой), функции F(x), что соответствует монотонности ее первой производной f(x).

Известно, что если функция F(x) имеет локальный минимум (или максимум) в точке \overline{x}, то в этой точке градиент функции F(x) (вектор ее производных) равен нулю, т.е.

F'(x) \equiv f(x) = 0

Следовательно, если функция F(x) дифференцируема, то для нахождения ее экстремума нужно решить уравнение

f(x) = 0 , ( 3.1)
где f(x) = F'(x). \overline{x} - корень уравнения (3.1), точка, то есть, координата в которой F'(x)=0, а функция F(x) имеет минимум (или максимум) (рис.9.8).

Вогнутая функция F(x) и ее производная f(x).

Рис. 9.8. Вогнутая функция F(x) и ее производная f(x).

Алгоритм метода Ньютона сводится к линейному представлению функции f(x) и решению уравнения (3.1).

Разложим функцию f(x) в ряд Тейлора:

f(x_{i+1}) = f(x_i) + h_i \cdot f'(x_i) + 
\frac{h_i^2}{2!} \cdot f''(x_i) + 
\frac{h_i^3}{3!} \cdot f'''(x_i) + \ldots ,
где hi=xi+1-xi.

Отбросим члены ряда, содержащие h_i^2, h_i^3, \ldots.

В результате имеем:

f(x_{i+1}) = f(x_i) + (x_{i+1} - x_i ) f'(x_i).
Если в точке (xi+1) достигается экстремум функции F(x), то f(xi+1)=0.

Тогда

f(x_i)+(x_{i+1}-x_i) f'(x_i)=0.

Отсюда точка экстремума равна:

x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)} = x_i - \frac{F'(x_i)}{F''(x_i)} . ( 3.2)

Для нахождения экстремума функции F(x) необходимо на каждом шаге итерационного процесса поиска определить первую F1 и вторую F2 производные целевой функции F(x), т.е.

\begin{align*}
& F1 = f(x) = F'(x), \\
& F2 = f'(x) = F''(x).
\end{align*}

Начальные приближения х рекомендуется выбирать в той точке интервала [a,b], где знаки функции f(x) и ее кривизны f''(x) совпадают, т.е. выполняется условие

f(x) \cdot f''(x) > 0 , ( 3.3)
где
f''(x) = F'''(x) = F3

Словесный алгоритм метода Ньютона:

  1. Выбираем начальную точку х. Если F'(a) \cdot F'''(a) > 0,то x=a, иначе x=b.
  2. Находим приближение корня (xi+1) по выражению (3.2).
  3. Итерационный процесс поиска продолжается до тех пор, пока
    |x_{i+1} - x_i| < \varepsilon. ( 3.4)

На основании (3.2) условие (3.4) можно записать как

\left|
x_i = \frac{f(x_i)}{f'(x_i)} - x_i
\right| < \varepsilon
В результате условие (3.4) будет иметь вид
\left|
\frac{f(x_i)}{f'(x_i)} - x_i
\right| < \varepsilon

В точке экстремума \overline{x} производная F'(x) меняет знак.

Если в точке \overline{x} функция F(x) имеет минимум, то производная F'(x) в окрестности \overline{x} меняет знак с отрицательного на положительный, т.е. F'(x) является возрастающей функцией, значит, F''(x) > 0 (рис. 9.9 a).

Если в точке \overline{x} функция F(x) имеет максимум, то производная F'(x) в окрестности \overline{x} меняет знак с положительного на отрицательный, т.е. F'(x) является убывающей функцией, значит, F''(x) < 0 (рис. 9.9 b).

Следовательно, по знаку F''(x) можно судить: в точке \overline{x} максимум или минимум функции F(x).


Рис. 9.9.

Если функция F(x) не дифференцируема или вычисление ее производных очень сложно, то для определения производных функции F(x) можно воспользоваться приблизительными оценками производных с помощью разностных схем:

F'(x) = \frac{\Delta F}{h}; \; F''(x) = \frac{\Delta F'}{h}; \;\; \text{и т.д.}

Схема алгоритма метода Ньютона представлена на рис. 9.10.

Схема алгоритма метода Ньютона

Рис. 9.10. Схема алгоритма метода Ньютона

На рис.9.10: \overline{x} - координата точки в которой функция F(x) имеет минимальное (или максимальное) значение, FM - значение, функции F(x) в точке \overline{x}.

< Лекция 8 || Лекция 9: 123 || Лекция 10 >