Вы находитесь на странице: 1из 39

1) Погрешности численного решения задач.

2) Постановка задачи численного метода решения нелинейных уравнений


3) Два этапа численного метода решения нелинейных уравнений
4) Метод половинного деления
5) Метод простой итерации
6) Метод Ньютона
7) Метод хорд
8) Сравнения численных методов решения нелинейных уравнений
9) Постановка задачи аппроксимации
10)Виды интерполяции
11)Интерполяционный многочлен Лагранжа.
12)МНК
13)Конечные разности
14)Интерполяционные формулы Ньютона
15)Сравнительная характеристика Лагранжа и Ньютона
16)Постановка задачи численного интегрирования
17)Метод прямоугольников
18)Метод трапеций
19)Метод Симпсона
20)Метод двойного просчета
21)Постановка задачи численного решения ОДУ
22)Метод Эйлера
23)Метод Рунге-Кутты 2 порядка
24)Метод Рунге-Кутты 4 порядка
25)Обобщенный вид формулы Рунге-Кутты для решения ОДУ
26)Метод автоматического выбора шага при решении ОДУ с заданной
точностью
27)Постановка задачи одномерной оптимизации
28)Унимодальность функции
29)Метод дихотомии, Фибоначчи
30)Метод золотого сечения, квадратичной оптимизации
31)Сравнение методов дихотомии и золотого сечения
32)Постановка задачи многомерной оптимизации
33)Методы спуска
34)Градиентный метод с дроблением шага
35)Метод наискорейшего спуска НСА
36)Метод наискорейшего спуска НСЧ
37)Проблема оврагов
38)Метод покоординатного спуска
Погрешности численного решения задач. Абсолютная и относительная погрешности, погрешность
функции.

Степень отличия приближенного значения числа от его точного значения характеризуется погрешностью.
a – точное число и a * –приближенное значение
Абсолютная погрешность: (a*) | a  a* |

| a  a* |
Относительная погрешность δ(a*) 
| a* |

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

при сложении и вычитании чисел абсолютные погрешности складываются (a  b)  (a)  (b);
при умножении и делении чисел отн. погрешности складываются д(a*b)=д(a)+д(b); д(a/b)=д(a)+д(b)
при возведении в степень приближенного числа отн. погрешность умножается на степень δ(ak )  k δ(a).

2
Постановка задачи численного метода решения нелинейных уравнений.

Определение корней уравнения с одним неизвестным можно представить как f(x) = 0. В зависимости от
вида f(x) различают алгебраические и трансцендентные уравнения.

Алгебраическими уравнениями называются уравнения, в которых значение функции f(x) представляет


собой полином n-й степени f(x) = Р(х) = an xn + a2 x2 + …+ a1 x + a0 = 0

Трансцендентным уравнением называется всякое не алгебраическое уравнение (sin(x), cos(x), ln(x),ex)

Решением уравнения f(x)=0 называется совокупность корней, то есть такие значения независимой
переменной x , при которых уравнение обращается в тождество f(x)  0 .

Корень с заданной точностью ( ε >0) найден, если вычислено приближенное значение x , которое
отличается от точного значения корня ξ не более чем на значение  |ξ  x |  ε

3
Два этапа численного метода решения нелинейных уравнений.

1) отделение корней (локализация корней).


2) итерационное уточнение корней.

Корень ξ уравнения f(x)=0 считается отделенным на отрезке [α;β] , если на этом отрезке данное уравнение
не имеет других корней

Существуют графический и аналитический способы отделения корней.

Графическое отделение корней основано на графическом способе решения уравнений – отыскании


точек, в которых функция f(x) пересекает ось 0Х.

Аналитическое отделение. [Т]: Если функция f(x) непрерывна и монотонна на отрезке [α;β] и принимает
на концах отрезка значения разных знаков, то на отрезке [α;β] содержится один корень уравнения f(x)=0.

f(a)∙f(b)<0 и f'(x)>0 для x∈ [a;b], то график функции пересекает ось 0Х только один раз и, следовательно,
на отрезке [a;b] имеется один корень ξ1 уравнения f(x) = 0.

Задача уточнения корня уравнения ξ с точностью ε , отделенного на отрезке [a;b], состоит в нахождении
такого приближенного значения корня x , для которого справедливо неравенство |ξ  x |  ε . Если уравнение
имеет несколько корней, то этап уточнения проводится для каждого отделенного корня.

4
Метод половинного деления.

Пусть корень уравнения f(x)=0 отделен на отрезке ξ  [a;b], то есть на этом отрезке имеется
единственный корень, а функция на данном отрезке непрерывна.

В методе половинного деления от итерации к итерации происходит последовательное уменьшение


длины первоначального отрезка [a0;b0] в два раза. Поэтому на n-м шаге справедлива следующая оценка
погрешности результата: |ξ  x n |  b0  a0 , где ξ - точное значение корня, хn∈ [an;bn] – приближенное
2n
значение корня на n-м шаге.

b−a
Погрешность <E
2n

Алгоритм
1)
Ввод E,a,b
2)
Объявление f(x)
3)
Вычисление f(x) в точке с = (a+b)/2
4)
Проверка |f(c)|<E Если да то 8 если нет то 5
5)
Проверка f(c)*f(b)<0 Если да то a=c иначе b=c
6)
Вывод a,b,f(a),f(b)
7)
C=(a+b)/2, переход к 4
8)
Вывод f(c),c

9) Конец

5
Метод простой итерации. Сходимость метода простой итерации. Способы улучшения
сходимости.
Метод итераций предполагает замену уравнения f(x)=0 равносильным уравнением x=ϕ(x). Если
корень уравнения отделен на отрезке [a;b], то исходя из начального приближения x0∈ [a;b], можно
получить последовательность приближений к корню x1 = ϕ(x0), x2 = ϕ(x1), …
Условие сходимости Пусть ϕ(x) определена и дифф. на [a;b] причем все значения ϕ(x) ∈ [a;b] Тогда
если сущ. правильная дробь q: |ϕ’(x)|<=q<1. Для x∈ [a;b] то процесс итер. сход.независимо от x0∈ [a;b] и
предельное значение x*=lim[n->inf] Xn – единств. корень ур-я x=ϕ(x) на [a;b]
Оценка погрешности
q
| xn  x* | | x n  xn1 |, n  1.
1 q
За число q можно принимать наибольшее значение |'(x)|, а процесс итераций следует продолжать до
тех пор, пока не выполняется неравенство
1 q
xn  xε.
n 1 
q
Геометрическая иллюстрация метода итераций
Корень уравнения х=(x) –точка пересечения y = (x) и y=x. Возьмем x0  [a;b]. На кривой y = (x)
ему соответств. А0=(x0). Проведем через А0 горизонтальную линию до пересечения с прямой y = x (точка
В1) и опустим перпендикуляр до пересечения с кривой (точка А1), то есть х1=(x0). Получаем
последовательное приближение х1, х2, …, хn («лестницу») к корню х*.

В первом случае 0< ’(x)< 1, а во втором


’(x)<0 и ’(x)>-1. Таким образом, если |’(x)|
<1, то процесс итераций сходится к корню.

в третьем случае ’(x) >1

в четвертом случае ’(x) <1

Способы улучшения сходимости процесса итераций


1. Пусть (x) дифф. и монотонна в окрестностях корня и существует число k  |‘(x)|, где k  1 (т.е.
процесс расходится). Заменим уравнение х=(x) эквивалентным ему уравнением х=(х), где
Ψ(х) = 1/ϕ(x) . Тогда | Ψ ' ( x) |= 1 ≤ 1 1
< 1 ,а значит q=1/k < 1 и процесс будет сходиться.
| ϕ ' ( x) | k k
2. Представим ϕ(x) как ϕ(x) = х - λf(x), где λ не равно нулю. Усл.сход: 0<|ϕ′(x)| = |1 - λf′(x)| < 1.
Возьмем λ= 2/(m1+M1), где m1 и M1 минимальное и максимальное значение f’(x) для х∈ [a;b],
т.е. 0≤ m1 ≤ f′(x) ≤ M1≤1. Тогда
2 M 1−m1
| ϕ ' ( x) |=| 1 − f ' ( x) |≤ <1
m1 + M 1 M 1 + m1
и процесс будет сходящимся, рекуррентная формула имеет вид
2
xn 1  xn  f(x), n  0,1,...
m1  M1
Если f(x) < 0, то в рекуррентной формуле f(x) следует умножить на -1.
6
Метод Ньютона для решения нелинейных уравнений(метод касательных).

Пусть корень уравнения f(x)=0 отделен на отрезке [a;b], причем первая и вторая производные f’(x) и f''(x)
непрерывны и знакопостоянны при х∈ [a;b].
f(x n )
Рекуррентная формула x n1  xn 
f '(xn )
Геометрическая интерпретация метода Ньютона: x0 правый конец отрезка [a;b] и в соответствующей
точке В0 на графике функции y = f(x) построим касательную. Точка пересечения касательной с осью OX
принимается за приближение х1. Повторение этой процедуры позволяет получить последовательность
приближений х0, х1, х2 , . . ., которая стремится к точному значению
корня ξ.

Условия сходимости метода Ньютона


f(x) опр и непрер. при любом x; f(a)*f(b)<0; f’(x) и f’’(x)!=0 и на
[a;b] знакопостоянна.
Оценка погрешности метода Ньютона определяется
следующим выражением:
M
  x n 1  2 (x n 1  x n ) 2 , где m1 =min f '(x ) при x  [a;b]; M 2
2m1
=max f "(x ) при x  [a;b].
Условие окончания
f(x n )
x n1  xn  ,
m1
x n1  xε.
n 

7
Метод хорд

Геометрическая интерпретация
1) Неподвижен правый конец
Проведем отрезок прямой через точки A и B. Очередное приближение
x1 является абсциссой точки пересечения хорды с осью 0х. Построим
xa y  f(a)
уравнение отрезка прямой:  .
b  a f(b)  f(a)

Положим y = 0 и найдем значение х = х1 (очередное приближение):


f(a)
x1  a  (b  a). Повторим процесс вычислений для
f(b)  f(a)
получения очередного приближения к корню - х2:
f(x1 )
x 2  x1  (b  x1 ). В нашем случае f”(x)>0. В этом случае
f(b)  f(x1 )
расчетная формула метода хорд имеет вид
f(x n )
xn1  x n  (b  x n ).
f(b)  f(x n )
Эта формула справедлива, когда за неподвижную точку принимается точка b, а в качестве начального
приближения выступает точка a
2)Неподвижен левый конец

Уравнение прямой для этого случая имеет вид


bx f(b)  y
 .
b  a f(b)  f(a)
Очередное приближение х1 при y = 0
f(b)
x1  b  (b  a).
f(b)  f(a)

Тогда рекуррентная формула метода хорд для случая f''(x)<0 имеет вид
f(x n )
xn1  x n  (xn  a).
f(xn )  f(a)
Следует отметить, что за неподвижную точку в методе хорд выбирают тот конец отрезка [a;b], для
которого выполняется условие f (x)∙ f′′ (x)>0.

Условие сходимости: Знакопостоянство f ’’(x) на [a;b]


M1  m1
Оценка погрешности: x *  x n  xn  x n1 .
m1
Условие окончания : |f(Xn)|/m1<=E

8
Сравнение численных методов решения нелинейных уравнений.

Метод половинного деления очень прост и всегда сходится. Скорость сходимости очень мала,
применим для грубого уточнения корня.
Метод касательных (метод Ньютона) эффективен для решения уравнений, график которых в
окрестности корня имеет большую крутизну. Метод обладает высокой скоростью сходимости, но
сходимость зависит от вида функции, поэтому надо выбирать отрезок небольшой длины.
Метод хорд также обладает хорошей скоростью сходимости. При правильном выборе неподвижной
точки последовательность приближений гарантированно сходится к корню уравнения.
Метод простой итерации дает возможность «угадывать» новые значения х на любом шаге.
Следовательно, если процесс сходится медленно, можно вносить коррективы, учитывая предыдущие
результаты. Метод прост и обладает хорошей сходимостью. Однако перед его использованием требуется
преобразование исходного уравнения и проведение дополнительных вычислений.
Отметим, что на практике, при решении нелинейных уравнений обычно используется комбинация
нескольких методов.

9
Постановка задачи аппроксимации. Понятия интерполяции и экстраполяции. Геометрическая
иллюстрация задачи интерполяции.

Задача аппроксимации состоит в следующем. Функцию f(x), заданную таблично, требуется


приближенно заменить (аппроксимировать) некоторой функцией ϕ(х) так, чтобы отклонение ϕ(х) от f(x) в
некоторой области удовлетворяло заданному условию. Функция ϕ(х) называется аппроксимирующей
функцией. В качестве аппроксимирующей функции часто используют алгебраический многочлен вида ϕm(x)
= a 0 + a 1 x + a 2 x2 + … + a m xm В этом случае говорят о параболической аппроксимации.

Частным случаем задачи аппроксимации является интерполяция. Для функции y = f(x), заданной в
(n + 1) точке xi , найти функцию ϕ(х), принимающую в этих точках заданные значения, то есть.
ϕ(Xi)=Yi – условие интерполяции

___ интерполируемая функция

----- интерполирующая функция

10
Виды интерполяции. Полиномиальная интерполяции.

Задача интерполяции состоит в следующем. Функцию f(x), заданную таблично, требуется


приближенно заменить некоторой функцией ϕ(х) так, чтобы ϕ(х) совпадала с f(x) в узлах интерполяции.
Функция ϕ(х) называется интерполирующей функцией. В качестве интерполирующей функции часто
используют алгебраический многочлен вида ϕm(x) = a 0 + a 1 x + a 2 x2 + … + a m xm В этом случае говорят о
параболической интерполяции. ϕ(Xi)=Yi – условие интерполяции.

11
Интерполяционная формула Лагранжа

Пусть функция f(x) задана в (n + 1) узлах, произвольно расположенных на отрезке [a;b]: y0 = f(x0),
y1 = f(x1), … yn = f(xn).
Требуется найти интерполирующий алгебраический многочлен Ln(x), степени не выше n,
удовлетворяющий условию интерполяции.Будем искать Ln(x) вида Ln = Q0(x)y0 + Q1(x)y1 + … + Q n(x) yn,
где Qi(x) – коэффициенты, зависящие от узлов xi и текущего значения х.
Для того, чтобы выполнялись условия интерполяции, требуется, чтобы коэффициенты Qi(x):
 0,если i j, 
Qi  
 1,если i j. 
Чтобы L(х0)=y0, необходимо, чтобы Q0(x0) = 1, Q1(x0) = 0, …, Qn(x0)= 0.
(x  x1 )(x  x 2 )(x  x 3 )...(x  x n )
Этим требованиям отвечает коэффициент вида: Q0 
(x 0  x1 )(x 0  x 2 )(x 0  x 3 )...(x 0  xn )
Чтобы Ln(x1) = y1,необходимо, чтобы Q1(x1) = 1; Q0(x1) = 0… Qn(x1) = 0.
Следовательно:
(x  x 0 )(x  x1 )...(x i1 )(x  xi1 )...(x  x n )
Q(x) 
(x i  x 0 )(x i  x1 )...(xi  xi1 )(x i i1 )...(xi  x n )
Для интерполяционного многочлена Лагранжа это выражение будет следующее:
n
(x  x 0 )(x  x1 )...(x i1 )(x  x i1 )...(x  xn )
Ln (x)   yi .
i0 (xi  x 0 )(xi  x1 )...(x i  x i1 )(xi i1 )...(x i  x n )
Оценка погрешности Rm | f(x)  Lm (x) || Lm1(x)  Lm (x) |, где m – используемое число узлов.

12
Метод наименьших квадратов. Критерий близости, невязка.
n n
Критерий близости E   e   [φ(x i )  f(xi )]  min, где (n+1) – количество узловых точек.
2 2
i
i0 i0

Система уравнений относительно параметров a0, a1, ..., am матрица системы называется м. Грама.
n
Элементы матрицы: (φi,φk )   φ ji (x i )φk (x i ).
i0
E E E
Для получения значений параметров следует решить систему уравнений  0,  0,...  0.
a0 a1 am
Пусть в качестве аппроксимирующей функции выбрана линейная зависимость y= a0+a1x . Тогда
n n E E
E    (a0  a1x i )  yi     (a20  2a0 a1x i  a12 x i2  2a0 yi  2a1xi yi  y i2  .Условия минимума:
2
 0;  0.
i0 i 0 a0 a1
E n

Тогда первое уравнение имеет вид   (2a0  2a1xi  2yi )  0.


a0 i0
n n n
Упрощая получим  a0   a1x i   yi  0 .
i0 i0 i0
n n
Первое уравнение принимает вид: (n  1)a0   a1x i   y i  0 .
i0 i0
Для получения второго уравнения, приравняем нулю частную производную по а1:
E n n n n
  (2a0 xi  2a1x i2  2xi y i )  0 . a0  xi  a1  xi2   xi yi  0 .
a1 i0 i0 i0 i0

Система линейных уравнений для нахождения коэффициентов многочлена φ(x)  a0  a1x :


 n n

 (n  1)a0  a1  x i   yi
 i0 i0
 n n n
 a
0  x i  a1  x i   x i y i.
2
 i0 i0 i0
n
n n
 x y  (n  1)xy
Введем следующие обозначения x i y i
(средние зн.). a0  y  a1 x, a1  i0
i i

x i 0
, y i0 n

n 1 n 1 x
i0
2
i  (n  1)(x)2

В случае применения метода наименьших квадратов для определения коэффициентов аппроксимирующего


многочлена второй степени y=a0+a1x+а2х2, критерий минимизации имеет вид
m
E E E
E    (a0  a1x i  a2 xi2 )  yi  .Из условия
2
 0;  0; 0
i0 a0 a1 a2
 n n n

 (n  1)a0  (  xi )a1  (  xi )a2   yi ,


2

 i 0 i 0 i 0

 n n n n

 (  xi )a0  (  xi )a2  (  xi )a2   x i yi,


2 3

 i 0 i 0 i 0 i 0
 n n n n
 (  xi )a0  (  xi )a1  (  xi )a2   xi yi.
2 3 4 2

 i 0 i 0 i 0 i 0

Решение этой системы уравнений относительно а0, а1, а2 позволяет найти коэффициенты
эмпирической формулы y  a0  a1x  a2 x - аппроксимирующего многочлена 2-го порядка.
2

Невязка
В качестве меры уклонения заданных значений функции y0, y1, ..., yn от многочлена степени m -
1 n
φ(x)=a0 φ0(x)+a1 φ1(x)+...+am φm(x) ,принимается величина ρ  
n  1 i0
[φm (xi )  f(xi )]2 , (n+1) –

количество узлов, m – степень аппроксимирующего многочлена, n+1>=m.


13
Конечные разности. Таблица конечных разностей.

Конечной разностью первого порядка называется разность ∆yi = yi+1-yi, где yi+1= f(xi+h) и yi = f(xi).
y 0  y1  y 0 ,
y1  y 2  y1,
.......................
y n1  y n  y n1.
Конечные разности второго порядка:
 2 y 0  y1  y 0 ;
 2 y1  y 2  y1;
..........................
 2 y n  2  y n 1  y n  2 .
Отметим, что любые конечные разности можно вычислить через значения функции в узлах
интерполяции, например:  y 0  y1  y 0  (y 2  y1 )  (y1  y 0 )  y 2  2y1  y 0 .
2

Для конечной разности k-го порядка: k y i  k 1y i1  k 1y i


.
Для таблицы с равноотстоящими узлами конечные разности k-го порядка постоянны или малы
настолько, что соизмеримы с заданной погрешностью, то функцию можно представить многочленом k-й
степени. Если конечные разности k+1 порядка равны 0, то функцию можно представить многочленом k
порядка.

Таблица конечных разностей


X Y ∆y ∆2y ∆3y

14
Интерполяционные формулы Ньютона. Частные случаи формул. Погрешности.
Пусть функция y = f(x) задана в n+1 равноотстоящих узлах xi , i = 0, 1, 2, …, n, с шагом h.
Первая интерполяционная формулу Ньютона:
y 0 2 y0 2 y0
Pn (x)  y 0  (x  x 0 )  (x  x 0 )(x  x1 )  ...  (x  x 0 )...(x  x n1 ). (интерполяция вперед)
1!h 2!h2 n!hn

x  x0  2 y0 n y0
q , x  x 0  qh Pn (x)  Pn (x n  hq)  y 0  y 0 q  q(q  1)  ...  q(q  1)...(q  n  1).
y 2! n!

Вторая интерполяционная формула Ньютона:


y  2 yn2 n y0
Pn (x)  y n  n1 (x  x n )  (x  x n )(x  x n 1 )  (x  x n )...(x  x1 ).
1!h 2!h2 n!hn

x  xn  2 yn 2 n y 0
q , x  xn  hq Pn (x)  y n  yn1q  q(q  1)  ...  q(q  1)...(q  n  1).
h 2! n!
Погрешности интерполяционных формул Ньютона
q(q  1...(q  n) n1
Rn |  y 0 |,
(n  1)!
q(q  1)...(q  n) n1
Rn |  yn | .
(n  1)!

15
Сравнительная характеристика формул Лагранжа и Ньютона.

Формулу Лагранжа можно применять для таблиц с различными расстояниями между узлами, а
формулы Ньютона – только для таблиц с равноотстоящими узлами.

Формулы Ньютона имеют следующее преимущество перед формулой Лагранжа. Увеличение


степени интерполяционного полинома на единицу (добавление в таблицу значений функции одного узла)
при использовании формулы Лагранжа ведет не только к увеличению числа слагаемых, но и к
необходимости пересчета каждого коэффициента заново, тогда как при использовании формулы Ньютона
достаточно добавить к уже существующему многочлену только одно слагаемое.

16
Постановка задачи численного интегрирования.

Если функция f(x) непрерывна на отрезке [a;b] и дифференцируема, то определенный интеграл от


этой функции в пределах от a до b существует и может быть вычислен по формуле Ньютона-Лейбница:
b

I   f(x)dx  F(b)  F(a),где 


f(x) F'(x).
a

Для функции f(x), заданной в прямоугольной системе координат на


интервале [a;b], этот интеграл численно равен площади, ограниченной
кривой f(x), осью Ox и двумя ординатами ac и bd.

Задача численного интегрирования заключается в нахождении


значения определенного интеграла через ряд значений подынтегральной
функции yi=f(xi), заданной в точках xi (i=0,1,…,n). Причем, x0 = a, xn = b.
Чаще всего интервал разбивают на подынтервалы длиной h = xi+1 - xi.

Формулы численного интегрирования представляют собой квадратурные формулы вида:


b n

 f(x)dx   A if(xi ),
a i0

где Ai – числовые коэффициенты, называемые весами квадратурной формулы, а xi – точки из отрезка -


узлами квадратурной формулы, n > 0 – целое число.
n
Искомый определенный интеграл можно представить в виде суммы интегралов: I   Ii .
i 0

На каждом i-м отрезке функция аппроксимируется некоторой другой легко интегрируемой функцией gi(x). В
b n xi

результате получаем следующую квадратурную формулу:  f(x)dx    g(x)dx


i1 xi1
a .
Для решения поставленной задачи заданную функцию f(x) необходимо заменить приближенной
функцией, которая может быть проинтегрирована в аналитическим виде.Для получения простых формул
интегрирования используют полиномы нулевой, первой и второй степени и соответственно получают
формулы численного интегрирования: прямоугольников, трапеций и Симпсона.
Замена функции f(x) интерполирующим полиномом приводит к образованию погрешности
b
I1   g(x)dx  R; I1  I  R, где I1 – точное значение интеграла, I – значение интеграла,
a

вычисленного численным методом, а R | I1  I | – погрешность.


Отметим, что увеличение числа подынтервалов n (или уменьшение длины шага интегрирования h)
ведет к уменьшению погрешности.

17
Метод прямоугольников: получение формул левых, правых и средних прямоугольников,
геометрическая иллюстрация, алгоритм, погрешности.

Заменим подынтегральную функцию f(x) в пределах элементарного отрезка [xi;xi+1]


интерполяционным многочленом нулевой степени, то есть постоянной величиной, равной f(xi), либо f(xi+1).
y Значение элементарного интеграла равно площади прямоугольника, в
P0(xi) P (x
0 i+1 ) f(x) первом случае I = h∙f(xi), а во втором I = h∙f(xi+1), где h = xi+1 - xi. Для
определения значения интеграла на отрезке [a;b] найдем суммы
d
элементарных интегралов, взяв в первом случае в качестве f(x) -
c
значение подынтегральной функции в левом конце i –го отрезка, а во
втором – в правом конце отрезка, тогда:

xi h h/2 xi+1 x

n 1
I   h f(xi ), левых прямоугольников
i0
n
I   h f(xi ). правых прямоугольников
i1
n 1
h
I   h f(a   i h). средних прямоугольников
i0 2

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


ba ba
R лт  | y |, R лА  h max | f '(x) |,где x [a;b],

2 2

Для средних
ba 2 ba 2
TА 
Rcp |  y |, Rcp  h max | f ''(x) |,где x 
[a;b],
24 24

18
Метод трапеций.
f(x)
f(x)
d
c Разобьем интервал [a;b] на n
равных отрезков и восстановим из
P1 (
x)
полученных точек a, х1, x2, …, b
перпендикуляры до
a=x0 x1 x2 xi Xi+1 пересечения с графиком
Xn-1 b=xn x функции. Соединив точки
пересечения, представим площадь полученной криволинейной трапеции как сумму прямолинейных
трапеций, площади которых легко подсчитать. Заменив подынтегральную функцию f(x) в пределах
элементарного отрезка [xi;xi+1] интерполяционным многочленом первой степени, получим следующие
формулы для элементарных площадей:

b  a (y 0  2y1  2y 2  ...  yn )
I  S0  S1  ...  Sn 
 .
n 2
b
ba n 1
Отсюда получаем формулу трапеций: I  a f(x)dx 
2n
(y 0  y n  2 
i1
i 
y i ),где y f(x ). i

ba 2 ba 2
Погрешность метода трапеций RTА  |  y |, RTP  h max | f ''(x) |,где x [a;b],

TP

12 12

19
Метод Симпсона.
Для получения формулы Симпсона применяется квадратичный интерполирующий полином,
следовательно, за элементарный интервал интегрирования - [xi;xi+2]. Разобьем интервал интегрирования [a;b]
на n отрезков, где n=2m – четное число

y
формула Симпсона выглядит следующим образом:
y f(x) P (x) h
I  [(y 0  4y1  y 2 )  (y 2  4y 3  y 4 )  ...  (y 2m2  4y 2m1  y 2m )] 
i+2 2

3
y
i+1
y h
 [y 0  y 2m  4(y1  y 3  ...  y 2m1 )  2(y 2  y 4  ...  y 2m2 )],
i

3
m m
h
xi Xi+1 X или
i+2
I 
3
(y 0  y 2m  4  y 2i 1  2  y 2i2 ),
x i1 i 2

ba 4 ba 4
Погрешность метода Симпсона RTА  |  y |, RСим  h max | f (4) (x) |,где x [a;b].

Cим

180 180

20
Метод двойного просчета (правило Рунге).
Этот прием основан на двукратном вычислении значения интеграла вначале с шагом h, а затем с
шагом h/2.

Ih  Ih / 2
 R,
2k  1

k=1 - для формул левых и правых прямоугольников;


k=2 - для формул трапеции и средних прямоугольников;
k=4 - для формулы Симпсона.

Если полученная погрешность не удовлетворяет требуемой точности, то вычисляется значение


интеграла при h=h/4 и снова оценивается погрешность, и т.д. до тех пор, пока не окажется, что погрешность
стала меньше заданной точности. Это правило называется правилом Рунге (или правилом двойного
просчета).

21
Постановка задачи численного решения ОДУ
Обыкновенным называется такое дифференциальное уравнение от одной переменной, которое
содержит одну или несколько производных от искомой функции y(x). F(x,y ',y '',...y(n) )  0
Для ОДУ 1-го порядка справедливы следующие формы записи: F(x,y,y ')  0или y ' f(x,y). 

Решением ОДУ первого порядка называется такая функция, которая при подстановке в уравнение обращает
его в тождество.
Общее решение ОДУ первого порядка содержит одну произвольную постоянную
y = ϕ(x,C) и описывает множество функций, удовлетворяющих уравнению y′ = f(x,y)
y
y=φ(x,C1) Если произвольная постоянная принимает конкретное значение
С=С0, то из общего решения ОДУ, по т. Коши, получаем частное
y=φ(x,C0) решение y = ϕ(x,C0), т.к. через каждую точку (x0, y0) проходит
только одна интегральная кривая.
y0

x0 x
Теорема Коши для ОДУ 1-го порядка звучит так:

Если в ОДУ функция y′ = f(x,y) и ее частная производная f′ (x,y) определены и непрерывны в


некоторой области G изменения переменных x и y, то для всякой внутренней точки (x0, y0) этой области
данное уравнение имеет единственное решение.

Значения x0, y0 называются начальными условиями. Таким образом, численное решение ОДУ
представляет собой таблицу значений искомой функции для заданной последовательности аргументов,
xi+1=xi+h, i=0, 1, …,n, где h = xi+1-xi называется шагом интегрирования.
Выделяют два класса методов решения ОДУ: одношаговые и многошаговые. В одношаговых
методах для нахождения следующего значения функции требуется значение только одной текущей точки, то
есть yi1  F[f(xi ,y i )], а в многошаговых – нескольких, например yi1  F(yi3 ,yi 2 ,y i1,yi ).

22
Метод Эйлера
Пусть дано уравнение y=f(x,y), с начальными условиями x0, y0 = y(x0). Требуется найти решение
данного уравнения на отрезке [a;b] (обычно x0=а) в n точках.
Аналитический вывод
График искомой функции y(x) проходит
Аналитическое
y решение ОДУ y(x) через точку А(x0,y0), заданную начальными
условиями.

y2 C Найдем yi = y(xi). Для этого проинтегрируем


Угол α производную, заданную на интервале [x0;x1]
y1 B по формуле Ньютона – Лейбница:
y0 A D
x1

 f(x,y)dx  y(x )  y(x


x0
1 0 )  y1  y 0 .
x0 x1 x2 x
x1
Отсюда значение искомой функции в точке x1 y1  y 0   f(x,y)dx.
x0

Примем допущение, что на интервале [x0;x1] производная исходной функции постоянна и равна своему
значению в точке А(x0,y0). Тогда по формуле прямоугольников
y1  y 0  f(x 0 ,y 0 ) (x1  x 0 )или y y 1  h 0 f(x
 ,y ).0 0

Геометрический вывод
Поскольку значение производной f’(x0,y0)=tg, то в прямоугольном треугольнике ABD y0=htg, и,
следовательно, y1=y0+y0=y0+hf(x0,y0). Таким образом, y1 может быть найдено геометрически в результате
замены искомой кривой y(x) касательной, проведенной в точке А.

Продолжая этот процесс и принимая подынтегральную функцию f(x) на соответствующем участке


[xi,xi+1] постоянной и равной ее значению в начале отрезка, получим решение дифференциального уравнения
в виде значений искомой функции y(x) на отрезке [a;b]. График решения представляет собой ломаную
линию, которая называется ломаной Эйлера. При этом общая формула для определения очередного
значения функции имеет вид: y i1  y i  h f(xi ,y i ).

Погрешность метода Эйлера связана с величиной шага интегрирования отношением e1 =C1h2, где C1 –
произвольная постоянная.

23
Метод Рунге-Кутты 2-го порядка

Сначала вычисляют вспомогательную величину yi+1 по методу Эйлера: y i1  y i  h f(xi ,y i ).


Затем значение производной искомой функции в точке (xi+1,yi+1) используется для вычисления
f(x ,y )  f(xi1,yi1 )
окончательного значения функции: yi1  y i  h  i i .
2
Получим расчетную формулу метода Рунге-Кутты 2-го порядка:
h
yi1  y i   f(x i ,yi )  f(xi  h,y i  hf(xi ,y i )) ,
2
где i  0,1,2,...n.
Этот метод также называют методом прогноза и коррекций. Сначала находят грубое приближение yi+1 по
методу Эйлера (прогноз), а затем уточненное значение yi+1 (коррекция).
В общем виде формулу (6.5.3-3) можно представить как
h
yi1  y i  (k1  k 2 ),
2
где k1  f(xi ,y i ),
k 2  f(x i  h,yi  hk1 )

Построение: yi1 - пересечение перпендикуляра, из точки xi+1 c касательной L1, к кривой y(x) в
предыдущей точке (хi,yi). Затем в точке (xi1, yi1 ) проводится прямая L2, с тангенсом равным f(xi yi 1  .
Прямую L проводят через точку (xi , yi1 ) под углом, тангенс которого – ср. знач. тангенсов углов L1 и L2.
L проводится параллельно L через точку (хi,yi). Ее пересечение с перпендикуляром,из точки хi+1, и дает
уточненное значение yi+1.

Погрешность метода Рунге-Кутты второго


порядка:
e2 =C2h3, где C2 – произвольная постоянная.

24
Метод Рунге-Кутты 4-го порядка

Расчетная формула для метода Рунге-Кутты 4го порядка:


yi+1=yi+h/6(k1+2k2+k4)
k1=f(xi,yi)
k2=f(xi+h/2,yi+hk1/2)
k3=f(xi+h/2,yi+hk2/2)
k4=f(xi+h,yi+h*k3)

Погрешность метода Рунге-Кутты четвертого порядка значительно меньше методов первого и


второго порядков и пропорциональна величине h ( e4 =C4h5).

25
Обобщенный вид формулы Рунге-Кутты для решения ОДУ. Порядок метода.

Методы Рунге-Кутты – это группа методов, применяемых для решения ОДУ. При вычислении
значения искомой функции в очередной точке хi+1,используется предыдущая точка (хi,yi).

Порядок метода Рунге-Кутты определяется кратностью вычисления значения производной


искомой функции f(x,y) на каждом шаге. В соответствии с этим метод Эйлера является методом Рунге-
Кутты первого порядка, поскольку для получения очередного значения yi+1 функция f(x) вычисляется один
раз в предыдущей точке хi, yi. В методах Рунге-Кутты более высоких порядков для вычисления очередного
значения искомой функции в точке хi+1 значение правой части уравнения y’= f(x,y) вычисляется несколько
раз, количество которых и определяет порядок метода.

26
Метод автоматического выбора шага при решении ОДУ с заданной точностью

Для обеспечения требуемой точности применяется автоматический выбор шага методом


двойного просчета. При этом в каждой точке хi по формуле, соответствующей выбранному методу,
производится расчет yi с шагом h (yi(h)) и с шагом h/2 (yi(h/2)). Цель двойного просчета состоит в том, чтобы
для каждой точки численного решения эти значения отличались на величину, не превышающую заданной
погрешности . Для оценки погрешности решения ОДУ методами Рунге-Кутты имеет следующий вид:

yi(h)  y i(h / 2)
 ε, где p – порядок метода Рунге-Кутты.
2p  1

Если | yi(h)) - yi(h/2)|< , то шаг для следующей точки выбирается равным h, иначе шаг уменьшается вдвое и
продолжается уточнение y i в точке хi.

27
Постановка задачи одномерной оптимизации. Локальный и глобальный минимум.

По количеству независимых переменных различают задачи одномерной оптимизации (n=1) и


многомерной оптимизации (n ≥ 2). При этом задача нахождения максимума целевой функции сводится к
задаче нахождения минимума путем замены функции f(x) на -f(x).

В области допустимых значений функция f(x) может иметь несколько экстремумов. Функция f(x)
имеет в точке x* локальный минимум, если существует некоторая положительная величина δ, такая, что
если х – х*< δ, то f(x)≥ f(x*), т.е. существует δ - окрестность точки х*, такая, что для всех значений х в
этой окрестности f(x)≥ f(x*).
Функция f(x) имеет глобальный минимум в точке x*, если для всех х справедливо неравенство
f(x)≥ f(x*). Таким образом, глобальный минимум является наименьшим из локальных.
y

x1 x3 x5
x2
x4

Задачей одномерной оптимизации является нахождение точек локального минимума и


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

28
Унимодальность функции. Необходимые и достаточные условия минимума.

Необходимое условие существования экстремума дифф. функции f(x) - f′(х) = 0.


Точка х, удовлетворяющая данному условию - точкой стационарности.
Достаточное условие существования минимума в точке стационарности - f′′(х)>0,
максимума - f′′(х)<0.

Задача одномерной оптимизации имеет единственное решение, если f(x) на отрезке [a;b] имеет
только один экстремум. Тогда говорят, что функция унимодальная на отрезке [a;b].

Достаточными условиями унимодальности функции на отрезке [a;b] являются:


1. f(x)- дифф. ее производная f′(х) является неубывающей.
2. f(x)- дважды дифф. выполняется неравенство f′′(х)≥0.

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

29
Метод Дихотомии. Метод Фибоначчи.
f(x) -унимодальная на отрезке [a;b]. Обозначим a0=a и b0=b. Поиск минимума начинают с выбора на
отрезке неопределенности [a0;b0] двух симметричных относительно середины точек:
a  b0 a0  b0 ba
α1  0  δиβ 1  δ,  0 δ   , где  - параметр метода.
2 2 2
Сравнивая вычисленные в точках  1 и  1 значения функций f( 1) и f( 1), в силу унимодальности функции
можно провести сокращение отрезка неопределенности следующим образом:
1) если f( 1)  f( 1), то x* [a0; 1] (Рис.1)
2) если f( 1) > f( 1), то x* [ 1;b0] (Рис.2).
y Если описанную процедуру принять за одну
f(x) fx) итерацию, то алгоритм поиска минимума можно
описать следующим образом. Опишем k+1
итерацию, исходя из того, что k-й отрезок
неопределенности найден [ak;bk]:
a0 β1 b0 a0 α1 β1
x
α1 b1 a1 1. Вычисляются
ak  bk ak  bk
αk  1   δиβ k 1  δ. 
2 2
2. Находят значения f( k+1) и f( k+1).
3. Находят k+1-й отрезок неопределенности по правилу:
если f( k+1) > f( k+1), то x*  [ k+1;bk],
если f( k+1)  f( k+1), то x* [ak; k+1]).
bn  1  a n  1
Вычисления проводятся до тех пор, пока не выполнится неравенство Δ n  bn  a n  ε , Δn   δ,
2
где  n – длина n-го отрезка неопределенности.
Длину конечного интервала неопределенности, обеспечивающего заданную величину , можно вычислить
Δ  2δ
по формуле Δ n   2δ.
2n
 b  a  2δ 
Положив  n = , можно определить соответствующее количество итераций: n  log2  .
 ε  2δ 
Метод Фибоначчи
Последовательный метод определения минимума x* унимодальной на [a;b] ф-ции f(x) связан с числами
фибоначчи, определяемых соотношением.
F1=1 F2=1
Fn+2=Fn+1+Fn, n=1,2,3…
Последовательный метод Фибоначчи использует на каждом шаге числа (ak,bk,xk) локализующие минимум
ф-ции на отрезке Дк=bk-ak=(b-a)Fn-k+3/Fn+2, 1<=k<=n, a1=a, b1=b
Точка xk ak<=xk<=bk, f(xi)=min f(xi), 1<=i<=k совпадает с одной из точек
x’k=ak+(b-a)Fn-k+1/Fn+2
x’’k=ak+(b-a)Fn-k+2/Fn+2 - на [ak;bk] симметрично относительно его середины.
На каждом [ak;bk] содержащем xk с предыдущего шага при выборе следующей точки за xk+1 принимаем
наиболее удаленную точку от xk
Точность вычисления x* удовл. |x*-xmin|<=E, xmin – истинное значение аргумента т. минимума ф-ции не
превышает (b-a)/Fn+2
0<E<(b-a)/Fn+1, n>=1 => (b-a)/Fn+2 <=E<(b-a)/Fn+1 Длины последовательных отрезков [ak;bk]:
Ln-1=2Ln-E
Lm-1=Lm+Lm+1, 1<m<n
Ln-j=Fj+1Ln-Fj-1E, j=1,2,3… (n-1)
Число итераций N и число отсчетов n: n=N+1
Длина конечного интервала минимизации по м.Фибоначчи: Ln<=2L0/Fn+2
30
Метод «золотого сечения». Метод квадратичной оптимизации.
Отрезок неопределенности [a.b] разбивается в соотношении золотого сечения, так, что отношение длины
его большей части ко всей длине отрезка равно отношению длины его меньшей части к длине его большей
части:
l

l2 l1
l2 l
 1 ,где l  l1  l 2 , и l 2  l1.
l l2
1  5 3 5
l2   0.618, l1  l  l2   0.382 ,
2 2
Положим l =1, тогда l22= 1 - l2 , а l22 + l2 -1= 0, откуда
l l
k1  1  0.382, k 2  2  0.618,
l l
где k1, k2 - коэффициенты золотого сечения.
В методе золотого сечения каждая точка (х1 и х2)осуществляет золотое сечение отрезка.

5 1
x1  a  (b  a)  a  k1(b  a),
2
3 5
x2  a  (b  a)  a  k 2 (b  a),
2
x1  a  0.618(b  a), k1  0.382, k 2  0.618,
x 2  a  0.382(b  a).
Точка х1 осуществляет золотое сечение не только [a;b], но и [a;х2]. Точно так же х2 осуществляет золотое
сечение не только [a;b], но и [х1;b]. Значение функции на каждой итерации (кроме первой) вычисляется
один раз.После каждой итерации длина отрезка неопределенности сокращается в 1.618 раза. Длина
конечного отрезка неопределенности ∆ n = 0.618n∆ 0, где ∆ 0= (b-a) – начальная длина отрезка.
Условие окончания процесса итераций ∆n ≤
ε. Отсюда можно найти количество итераций,
lg(ε / Δ 0 ) lgε  lg Δ 0
необходимое для достижения точки минимума: n   .
lg0.618 lg0 / 618

Метод квадратичной оптимизации


f(x)- унимодальная на [a;b]. Найдем прибл. знач. мин ф-ции с точностью E.
Аппроксимируем ф-цию f(x) в окр-ти точки мин. ф-цией вида: ц(ч)=Ax2+Bx+C, где точка минимума имеет
координаты: x=-B/2A; y=f(x) Далее: x*==x; f(x*)= y
По значениям f(x) в трех точках x1,x2,x3 из предположения f(x)==ц(ч) на малом отрезке содержащем точки
x1,x2,x3 :

[Ax12+Bx1+C=f1
Ax22+Bx2+C=f2
Ax32+Bx3+C=f3] f1=f(x1); f2=f(x2); f3=f(x3)
Из системы находим A,B,C затем
XM=(x1+x2)/2+((f1-f2)(x2-x3)(x3-x1))/(2*((x2-x3)f1+(x3-x1)f2+(x1-x2)f3)), где XM- прибл. зн. x*
Пусть t- прибл. зн. x* - точки минмума ф-ции f(x). Выберем H=const, H==x*-t

31
Сравнение методов дихотомии и «золотого сечения»

На каждой итерации при использовании метода дихотомии отрезок неопределенности сокращается


практически в два раза, а при использовании метода золотого сечения в 1.618 раз.
Конечная длина отрезка неопределенности при использовании метода дихотомии Δ n  0.5 Δ , а при
n

использовании метода золотого сечения - Δ n  0.618 Δ , поэтому для обеспечения одного и того же
n

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

32
Постановка задачи многомерной оптимизации. Необходимые и достаточные условия
существования минимума.

Задача, требующая нахождения оптимального значения функции m переменных f(Х)=f(x1, x2, …, xm),
называется задачей многомерной оптимизации.
В постановке задачи безусловной оптимизации для f(Х)=f(x1, x2, …, xm) требуется найти хотя бы
одну точку минимума Х* и вычислить f*=f(Х*). Точка Х*∈ Rm называется точкой глобального минимума
функции f на множестве Х, если для всех Х∈ Rm выполняется неравенство f(Х*)≤f(Х). В этом случае
значение f(Х*) называется минимальным значением функции f на Rm.
Точка Х*∈ Rm называется точкой локального минимума функции f, если существует такая δ -
окрестность Uδ этой точки (δ>0), что для всех Х∈Хδ=Х ∩ Uδ выполняется неравенство f(X*)≤f(X).
Множество точек, для которых целевая функция принимает постоянное значение f(x1, x2, …, xm) = c,
называется поверхностью уровня.
Функция f(x1,x2) задает поверхность U=f(x1,x2), низшая точка которой и дает решение задачи
минимизации. Чтобы изобразить рельеф этой поверхности, проведем несколько плоскостей (U = const):
U=c1, U=c2, U=c3.
Проекции на плоскость Ох1х2 линий пересечений
этих плоскостей с поверхностью и дают линии
уровня.
Можно определить вектор из первых частных производных,
который называется градиентом grad(f(x))=
 f(x) f(x) f(x)  .
 , ,..., 
 x1 x 2 xm 
Направление градиента указывает направление
наискорейшего возрастания функции, а его длина равна
скорости возрастания функции.Вектор
- grad(f(x)) называется антиградиентом и показывает
направление наискорейшего убывания функции.
grad(f(x))=0 является необходимым условием того, чтобы точка Х была точкой локального
минимума дифференцируемой функции f. Точка Х, для которой выполняется равенство f’(X) = 0, называется
стационарной точкой функции.
 Q(x, y)
  0,
x
Для функции двух переменных Q(x, y) это условие имеет вид:  Q(x, y)
  0.
 y
Достаточным условием того, чтобы стационарная точка Х была точкой локального минимума, является
положительная определенность матрицы Гессе:
 2f 2f 
 ... 
 x12 x1xm 
 2f 2f 
 ... 
G(x)  f (x)   x 2x1 x 2xm 
 ... ... ... 
 
 2f 2f 
 ... 
 xm x1 xm xm 
Для того, чтобы матрица была положительно определена, необходимо, чтобы все угловые миноры были
положительны.Для функции двух переменных Q(x, y) матрица Гессе имеет вид:
 2 Q  2Q  2Q
 1   0,
x 2 xy x 2
G(x,y)  2 ,а достаточное условие существования минимума: 2
 Q  2Q  2Q  2 Q   2 Q 
2  2  2     0.
yx y 2 x y  xy 

33
Методы спуска (общая характеристика). Градиентные методы.
Большинство итерационных методов, применяемых для решения задач безусловной минимизации
функции нескольких переменных, относятся к классу методов спуска. Это такие методы, для которых
каждая итерация (шаг) приводит к уменьшению значения целевой функции: f(xk+1)<f(xk), для всех k0.
Структура типичного алгоритма метода спуска для функции 2-х переменных Q(x,y) состоит в
следующем:
1. Задается начальная точка (x0, y0)
2. На текущей k-й итерации (k=0,1, …n) определяется вектор G(pk ,sk ), задающий направление
спуска, причем такой, чтобы для всех достаточно малых значений >0 (где - коэффициент,
являющийся шагом поиска) выполнялось неравенство: f(xk + pk, yk+ sk) < f(xk,yk)
3. Вычисляется шаг поиска - k, для которого выполняется условие п.2, и за очередное приближение
к точке минимума принимается точка:(xk + pk, yk+ sk), где xk + pk = xk+1, а yk+ sk = yk+1.

4. Проверяется выполнение критерия окончания итераций. Если критерий метода выполняется, то


полагают (x*,y*)(xk+1,yk+1). В противном случае осуществляется переход к п.2 и выполняется
следующая итерация.

Последовательность точек х1, х2, …, хk, получаемую методом спуска, называют траекторий спуска.
В градиентных методах спуска направление движения к точке минимума целевой функции совпадает с
направлением вектора антиградиента, а направление спуска выбирается по формулам:
Q(x,y) x  x k Q(x,y) x  xk
pk  sk  
x y  yk y y  yk .
Для использования градиентного метода оптимизации необходимо определить правило выбора шага
(k) на каждой итерации и правило прекращения итерационного процесса.
При выборе k следует учитывать, что выбор малого шага на каждой итерации приведет к малым
изменениям аргумента и функции, и, следовательно, к увеличению числа итераций, необходимых для
решения задачи. Выбор слишком большого шага k может привести не к убыванию целевой функции
Q(x,y), а к ее увеличению, и, следовательно, процесс не будет сходиться к точке минимума.

34
Градиентный метод с дроблением шага (ГДШ): суть метода, алгоритм выбора шага,
геометрическая иллюстрация, алгоритм метода, условие останова.
На каждой итерации шаг спуска λ k выбирается таким образом, чтобы выполнялось условие:
λ
Q(xk , y k )  Q(xλk  pk ,y k λk  sk )
 (pk sk2 ). k2
k
2
Выбор шага в методе ГДШ заключается в следующем.
Задается начальное значение шага k = 0 (как правило, 0=0,5). Проверяется условие сходимости.
Если условие сходимости выполняется, то шаг спуска для данной итерации выбран, а если оно не
выполняется, то принимают новый шаг k = k/2, и снова проверяют условие сходимости (и т.д.).
Алгоритм метода ГДШ можно описать следующей последовательностью действий:
1. При k = 0 задаемся начальной точкой спуска (xk, yk), требуемой точностью  и начальным шагом
0 (пусть 0 =0,5).
2. Вычисляем значения
Q Q
Q(x k ,yk ); xk ,yk ; xk ,yk .
x y
3. Вычисляем новые значения переменных
Q
x k 1  xλk   k;x ,y
x k k
Q
y k 1  yλk  k   x.k ,yk
y
4. Проверяем условие сходимости:
5.
λk Q Q
Q(xk ,yk )  Q(xk 1,y k 1 )  (( xk ,yk )  (
2
xk ,yk )2 ).
2 x y
Если условие выполняется, то полагаем величину шага равной λk, в противном случае λk = λk/2 и
переходим к п.3.
6. Проверка окончания процесса итераций (необходимого условия существования минимума):
Q Q
| xk 1,yk 1 
|ε;и | xk 1,yk 1 
|ε.
x y
Если условие выполнено, то минимум найден, а если нет - вычисление координат следующей
точки (k=k+1) и передача управления п.2.

35
Метод наискорейшего спуска с аналитическим выбором шага (НСА): суть метода, получение
аналитического выражения для определения величины шага, геометрическая иллюстрация,
алгоритм метода, условие останова.

Из выбранной точки (x0,y0) спуск осуществляют в направлении антиградиента до тех пор, пока не будет
достигнуто минимальное значение целевой функции Q(x, y) вдоль луча. В найденной точке луч касается
линии уровня. Затем из этой точки спуск проводится в направлении антиградиента (перпендикулярном
линии уровня) до тех пор, пока соответствующий луч не коснется в новой точке проходящей через нее
линии уровня, и т.д.
Выразим целевую функцию Q(x, y) через шаг λ, представим
целевую функцию на определенном шаге как функцию одной
переменной, т.е. величины шага (λ)  Q(xk  λk pk ,yk  λk sk ).
Величина шага на каждой итерации определяется из условия
минимума функции (λ) :
(λ*) = min(  ()) k = *(x k, y k),  >0.
Таким образом, на каждой итерации выбор шага k
предполагает решение задачи одномерной оптимизации. По способу
решения этой задачи различают:
- аналитический метод (НСА);
- численный метод (НСЧ).
В методе НСА значение шага получают из условия  '(λ)  0

36
Метод наискорейшего спуска с численным выбором шага (НСЧ): суть метода, принцип определения
величины шага, геометрическая иллюстрация, алгоритм метода, условие останова.

Из выбранной точки (x0,y0) спуск осуществляют в направлении антиградиента до тех пор, пока не будет
достигнуто минимальное значение целевой функции Q(x, y) вдоль луча. В найденной точке луч касается
линии уровня. Затем из этой точки спуск проводится в направлении антиградиента (перпендикулярном
линии уровня) до тех пор, пока соответствующий луч не коснется в новой точке проходящей через нее
линии уровня, и т.д.
Выразим целевую функцию Q(x, y) через шаг , представим
целевую функцию на определенном шаге как функцию одной
переменной, т.е. величины шага (λ)  Q(xk  λk pk ,yk  λk sk ).
Величина шага на каждой итерации определяется из условия
минимума функции (λ) :
(λ*) = min(  ()) k = *(x k, y k),  >0.
Таким образом, на каждой итерации выбор шага k
предполагает решение задачи одномерной оптимизации. По способу
решения этой задачи различают:
- аналитический метод (НСА);
- численный метод (НСЧ).
В методе НСЧ значение шага получают находя минимум Ф(л) используя методы одномерной
оптимизации, с начальным отрезком неопределенности [0;1]

37
Проблема оврагов. Геометрическая иллюстрация.

К сожалению, выбор антиградиента в качестве направления спуска не всегда является удачным.


Особенно ярко это проявляется для овражных функций.
Градиентный метод сходится достаточно быстро, если для минимизируемой функции поверхности
уровня близки к сферам (при m=2 линии уровня близки к окружностям).
Действительно, известно, что градиентный метод сходится очень медленно, если поверхности уровня
минимизируемой функции сильно вытянуты в некоторых направлениях.
В двумерном случае рельеф соответствует поверхности U=Q(x1,x2) напоминает рельеф местности с
оврагом. Поэтому такие функции принято называть «овражными».

Вдоль направлений, характеризующих «дно оврага», «овражная» функция меняется незначительно, а


в других направлениях, характеризующих «склон оврага», происходи резкое изменение значений функции.
Если начальная точка Х0 попадает на «склон оврага», то направление градиентного спуска
оказывается почти перпендикулярным «дну оврага» и очередное приближение Х1 попадает на
противоположный «склон оврага».
Следующий шаг в направлении ко «дну оврага» возвращает приближение Х2 противоположный
«склон оврага» и т.д.
В результате вместо того, чтобы двигаться вдоль оврага (в направлении точки минимума),
траектория спуска совершает зигзагообразные скачки поперек «оврага».
Один из существенных недостатков градиентного метода связан с его чувствительностью к
погрешностям вычислений. Особенно сильно этот недостаток сказывается в малой окрестности точки
минимума, где антиградиент, задающий направление поиска, мал по модулю. Поэтому, эффективность
градиентного метода на завершающей стадии существенно ниже, чем на начальной.
Проблему «оврагов» позволяют решать специально разработанные «овражные» и другие методы
спуска, например, метод покоординатного спуска.

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

В методе покоординатного спуска в качестве очередного направления спуска выбирают направление


одной из координатных осей. Наиболее известным является метод циклического покоординатного спуска.
Рассмотрим очередной n+1 цикл одного из вариантов этого метода, считая, что приближение к
минимуму функции Q(X)=Q(x1, … xm) уже найдено Хn.

1-й шаг. На первом шаге проводят спуск по координате x1. Значения остальных координат x2 = x2(n) , x3
= x3 , … , xm = xm(n) фиксируют, а x1(n) выбирают из условия:
(n)

Q(x1(n+1) , x2(n) … xm(n) ) = min Q(x1, x2(n) … xm(n) )


x1
Фактически решается задача минимизации функции одной переменной.
Q(x1) = min Q(x1, x2(n) … xm(n) )

2-шаг. На втором шаге производится спуск по координате x2. Значения остальных координат x1 = x1(n) ,
x3 = x3 , … , xm = xm(n) фиксируют, а x2(n+1) выбирают как решение задачи одномерной оптимизации
(n)

Q(x1(n+1) , x2(n+1) , x3(n) … xm(n+1) ) = min Q(x1(n+1), x2, x3(n) … xm(n) )


x2
Аналогично осуществляют следующие шаги.
m-й шаг. На последнем шаге координату xm(n+1) определяют из условия
Q(x1(n+1) , x2(n+1) , … xm-1(n+1),xm(n+1) ) = min Q(x1(n+1), … xm-1(n+1),xm)
x2
В результате получается очередное приближение x(n+1) к точке минимума.
Далее цикл метода снова повторяется. Каждый цикл метода состоит из m шагов (т.е. по количеству
переменных). Т.к. на k-том шаге очередного цикла значение координаты xk(n+1) определяют из условия
минимизации функции f по направлению xk, то необходимо, чтобы в точке (x1(n+1) , x2(n+1) , … xk-1(n+1), xk, xk+1(n+1)
∂Q
, …xm(n+1) ) производная обращалась в ноль.
∂x
На рисунке изображена графическая иллюстрация циклического покординатного спуска для случая
m=2.

(x1y0)
y (x0y0)

(x1y1)
ymin
(x2y1)

x
0 xmin

39

Оценить