
1017
.pdf
Рис. 9. Иллюстрация метода сопряженных градиентов
Пример 20.
Решить задачу из примера 18 методом сопряженного градиента. Решение.
f x x12 25x22 .
Возьмем фиксированную длину шага 0,1; x(0) 2; 2 .
Для организации итерационного процесса выбираем формулу (4.7). |
|||||||||||||||||
Первый шаг делаем по методу наискорейшего спуска (см. табл. 16), где |
|||||||||||||||||
найдена наилучшая точка |
x(1) 0,92; 0 , для |
которой |
f x(1) 0,0,846 , |
||||||||||||||
1,84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f x(1) |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вычисляем направление |
|
|
|
|
|
|
|
|
|
|
|
1,8414 |
|
|
|||
|
1,84 |
|
4 |
|
(1,84 |
2 |
0 |
2 |
) |
|
|
|
|||||
|
s(1) |
|
|
|
2 |
|
|
|
. |
|
|||||||
|
|
|
|
|
(4 |
2 |
|
100 |
) |
|
0,034 |
|
|
||||
|
0 |
|
100 |
|
|
|
|
|
|
||||||||
Строим итерационный процесс по формуле (4.7): |
|
|
|
||||||||||||||
x(2) |
x(1) s(1) |
|
|
0,92 |
|
|
|
|
1,8414 |
|
|
0,736 |
|
||||
|
|
0,1 |
|
|
|
|
|
|
|
|
; |
||||||
|
|
|
|
0 |
|
|
|
|
|
0,034 |
|
|
0,0034 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
f x(2) |
0,542. |
|
|
|
|
|
|
|
Как видим, функция убывает. Продолжаем процесс до достижения требуемой точности решения.
Методы второго порядка
Если целевая функция дважды дифференцируема в Rn, то для поиска точки минимума можно использовать не только градиент функции, но и матрицу Гёссе, повышая скорость сходимости итерационного процесса.
71
Наиболее «мощными» и точными среди таких методов минимизации являются методы ньютоновского типа, классическим среди которых является метод Ньютона.
Метод Ньютона Если частные производные минимизируемой функции приравнять к 0 и
решать полученную систему нелинейных уравнений методом Ньютона, можно получить следующую схему минимизации:
|
x |
(k 1) |
x |
(k ) |
|
|
|
|
2 |
f |
x |
(k ) |
|
1 |
f x |
(k ) |
, |
|
|
|
|
|
(4.8) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
f x |
|
|
|
|
|
f x |
|
|
|
|
|
|
f |
|
|
|
||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
(k ) |
|
|
|
2 |
|
|
|
(k ) |
|
|
|
2 |
|
|
|
(k ) |
|
|
||||
|
|
|
|
|
|
|
x1 x1 |
|
|
|
x1 x2 ... |
|
x1 xn |
|
|
||||||||||||||||||
|
2 f x(k ) |
|
2 |
f x(k ) |
|
2 |
f x(k ) |
|
... |
2 |
f |
x(k ) |
|
||||||||||||||||||||
где |
|
|
x |
x |
|
|
|
|
x |
x |
|
x |
|
x |
n |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
1 |
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
2 |
|
|
|
|
|||
|
|
|
|
|
............. |
............. |
|
|
......... |
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
2 |
f x(k ) |
|
|
2 |
f x(k ) |
|
2 |
f |
x(k ) |
|
|||||||||||||||||
|
|
|
|
|
|
|
x |
x |
|
|
|
|
x |
x |
... |
x |
|
x |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
n |
|
|
1 |
|
|
|
|
n |
|
|
|
2 |
|
|
|
|
|
n |
|
|
|
|
Итерационную схему метода Ньютона можно также получить следующим путем. Представим f x(k 1) в виде ряда Тейлора для функции n пере-
менных до 2-го порядка (квадратичная аппроксимация) в точке x(k ) :
f x(k 1) f x(k ) T f x(k ) x(k ) |
1 |
x(k ) T 2 f x(k ) x(k ) |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O x(k ) |
2 . |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
(4.9) |
|
|
|
|
|
|
|
|
||||
Определим наилучшее |
направление |
x |
путем |
дифференцирования |
|||||||||||||||||||
f x(k 1) по каждой компоненте x |
и приравнивания к нулю полученных |
||||||||||||||||||||||
выражений: |
0 T f x(k ) 2 f x(k ) x(k ) . |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||
Это приводит к выражению |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
x |
(k ) |
|
|
|
2 |
f x |
(k ) |
|
1 |
f |
x |
(k ) |
, |
|
(4.10) |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
(k 1) |
x |
(k ) |
|
|
|
2 |
f x |
(k ) |
|
1 |
f x |
(k ) |
. |
(4.11) |
||||||||
|
|
|
|
|
|
|
|
|
Заметим, что здесь и направление, и величина шага точно определены. Примечательно, что такая схема минимизации решает задачу нахождения минимума квадратичной формы с любого приближения за один шаг. Но в
72

случаеобщейнелинейнойцелевойфункциинельзядостичьминимума f (x)
за один шаг; поэтому вместо уравнения (4.11) используют следующую схему:
|
|
|
|
2 |
f x |
(k ) |
|
1 |
f x |
(k ) |
|
|
|
|
x(k 1) x(k ) (k ) |
|
|
|
|
|
|
|
|
|
. |
(4.12) |
|||
|
|
|
|
f x |
|
|
1 |
f x |
|
|
|
|||
|
|
|
|
2 |
|
(k ) |
|
|
(k ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сложность метода заключается в определении (k) (аналогично методу Ньютона при решении СНАУ), в вычислении и обращении матрицы Гёссе.
Пример 21.
Минимизировать функцию f x x12 x22 x32 методом градиентного
спуска и методом Ньютона. Решение.
1. Выполним 3 шага минимизации функции методом градиентного спуска, выбрав в качестве начальной точку x(0) 1; 2; 3 . Для этой точки
f x(0) 2; 4; 6 . Положим, что (k ) 0,25 .
Тогда по формуле (4.5) x |
(k 1) |
x |
k |
|
(k ) f x(k ) |
получаем: |
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
f x(k ) |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2x |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
f x(k ) |
|
|
|
|
1 |
|
|
|
|
x |
(0) |
|
|
|
|
|
|
f x(0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
2x |
2 |
; |
f |
|
4 |
|
; |
|
|
|
|
|
|
22 42 62 |
7,48; |
|||||||||||||||||||||||||||||||
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
2x |
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
0,25 |
4 |
|
|
0,93 |
|
|
|
|
|
|
|
|
|
1,86 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
x(1) |
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
f x(1) |
|
|
|
|
|
|
|
|
|
f x(1) |
|
|
6,98; |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
2 |
|
|
|
|
|
0,87 |
; |
|
3,73 |
; |
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
3 |
|
|
|
|
|
|
7,48 |
|
|
|
|
2,80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5,60 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
1,86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1,73 |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
0,93 |
|
|
|
0,25 3,73 |
|
|
0,86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
x(2) |
|
|
|
|
|
|
|
|
|
5,60 |
|
|
|
|
|
|
|
|
|
f x(2) |
|
|
|
|
|
|
|
f x(2) |
|
6,48; |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
0,87 |
|
|
|
|
|
|
1,73 |
; |
3,46 |
; |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
2,8 |
|
|
|
|
|
|
|
6,98 |
|
|
|
|
|
2,6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5,20 |
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
1,73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,25 |
3,46 |
|
|
|
|
|
|
|
0,86 |
|
|
|
|
|
|
0,8 |
|
|
|
|
|
5,20 |
|
||||||
x |
(3) |
|
|
|
|
|
|
|
|
|
|
|
1,73 |
|
|
|
|
|
1,6 |
. |
|||
|
6,48 |
|
|||||||||
|
|
|
2,6 |
|
|
|
|
2,4 |
|
||
|
|
|
|
|
|
|
|
|
|
Легко заметить, что итерационный процесс сходится к точному решению задачи – (0,0,0).
2. Найдем минимум функции методом Ньютона по итерационной схеме |
|||||||||||||||||||||||||
(4.8), начиная из той же точки x(0) |
1; 2; 3 : |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
2 |
|
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
|
|
||
2 |
|
|
0 |
|
2 |
0 |
|
; |
|
2 f x(0) |
|
1 |
|
|
0 |
1 |
0 |
|
; |
||||||
f x(0) |
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
0 |
|
0 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
1 |
|
|
|
|
1 |
0 |
0 |
|
2 |
|
0 |
|
|
|
|
||||||||
|
x(1) |
|
2 |
|
0,5 |
|
|
0 |
1 |
0 |
|
|
|
4 |
|
|
0 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
. |
|
|
|
||||||||||||||
|
|
|
3 |
|
|
|
|
|
0 |
0 |
1 |
|
|
|
6 |
|
|
0 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Видим, что метод Ньютона сходится к решению за 1 шаг.
Пример 22.
Выполнить минимизацию функции методами нулевого порядка
ex y z
f x, y, z xy2 z3 .
Начальное приближение взять из интервала
0 x, y, z 10.
Решить методами покоординатного спуска и градиентного спуска в си-
стеме Mathcad.
Решение.
Метод покоординатного спуска.
f(x y z) exp (x y z) x y2 z3
Для наглядности покажем один шаг итерации.
x0 5 |
|
y0 5 |
z0 5 |
начальные значения |
0.001 |
шагвычислений |
|
||
f(x) |
exp (x y0 z0) |
|
|
|
|
|
x y02 z03 |
|
|
74

Найдем минимальное значение функции по координате x, считая y и z постоянными.
X |
0.01 |
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
i 0 |
80 |
|
|
|
|
|
|
|
|
|
|
|
x0 x0 |
|
|
|
|
|
|
|
|
|
||
|
60 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
x1 x0 |
f(x) |
|
|
|
|
|
|
|
|
||
|
f0 f(x0) |
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
20 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
f1 f(x1) |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if f1 f0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 0 |
.4 0.8 1.2 1.6 2 |
|||||||
|
while f1 f0 |
|
|
|
|
|
|
x |
||||
|
x0 x1 |
|
|
|
|
|
|
|
|
|
|
|
x1 x0
f0 f(x0)
f1 f(x1) i i 1
i otherwise
|
x1 x0 |
|
|
|||
|
f1 f(x1) |
|
|
|||
|
while f1 f0 |
|
|
|||
|
|
|
|
x0 x1 |
|
|
|
|
|
|
|
||
|
|
|
|
x1 x0 |
|
|
|
|
|
|
f0 f(x0) |
|
|
|
|
|
|
f1 f(x1) |
|
|
|
|
|
|
i i 1 |
|
|
|
i |
|
|
|||
x0 |
|
|
|
|
|
|
c0 i |
|
|
||||
c1 |
x0 |
400 |
Число итераций |
|||
c |
|
|
|
X |
1 |
Значение x, доставляющее минимум функции |
Найдем минимальное значение функции по координате y, считая x и z постоянными (x берем из предыдущей программы).
f(y) exp X1 y z0 X1 y2 z03
75

Y |
0.01 |
15 |
|
|
|
|
|
|
i 0 |
13 |
|
|
|
|
|
|
y0 y0 |
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y1 y0 |
f(y) |
|
|
|
|
|
|
f0 f(y0) |
9 |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
f1 f(y1) |
|
|
|
|
|
|
|
5 1 |
|
|
|
|
|
|
|
if f1 f0 |
1.6 |
2.2 |
2.8 |
3.4 |
4 |
|
|
while f1 f0 |
|
|
|
y |
|
|
|
y0 y1 |
|
|
|
|
|
|
y1 y0
f0 f(y0)
f1 f(y1) i i 1
i
otherwise
y1 y0
f1 f(y1) while f1 f0
y0 y1
y1 y0
f0 f(y0)
f1 f(y1) i i 1
i
y0
c0 i
c1 |
y0 |
|
300 |
Число итераций |
c |
Y |
|
2 |
Значение y, доставляющее минимум |
|
функции |
|||
|
|
|
|
76

Найдем минимальное значение функции по координате z, считая x и y постоянными (x и y найдены в предыдущих программах).
f(z) exp X1 Y1 z X1 Y1 2 z3
Z |
0.01 |
|
5 |
|
|
|
|
|
|
|
i 0 |
4 |
.7 |
|
|
|
|
|
|
|
z0 z0 |
|
|
|
|
|
|
||
|
4 |
.4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
z1 z0 |
f(z) |
.1 |
|
|
|
|
|
|
|
f0 f(z0) |
4 |
|
|
|
|
|
|
|
|
3 |
.8 |
|
|
|
|
|
|
|
|
f1 f(z1) |
|
|
|
|
|
|
||
|
3 |
.5 |
|
|
|
|
|
|
|
|
if f1 f0 |
2 |
2.4 |
2.8 |
3.2 |
3.6 |
4 |
||
|
while f1 f0 |
|
|
|
|
|
z |
|
|
|
z0 z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z1 z0 |
|
|
||
|
|
|
|
|
|
f0 f(z0) |
|
|
|
|
|
|
|
|
|
|
f1 f(z1) |
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
i |
|
|
|
|
|||
otherwise |
|
|
|
|
||||||
|
|
|
z1 z0 |
|
|
|
|
|||
|
|
|
|
|
|
|||||
|
|
|
f1 f(z1) |
|
|
|
|
|||
|
|
|
while f1 f0 |
|
|
|
|
|||
|
|
|
|
|
|
z0 z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
z1 z0 |
|
|
||
|
|
|
|
|
|
f0 f(z0) |
|
|
|
|
|
|
|
|
|
|
f1 f(z1) |
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
i |
|
|
|
|
|||
z0 |
|
|
|
|
|
|
|
|
|
|
c0 i |
|
|
|
|
||||||
c1 |
|
z0 |
|
200 |
|
|||||
|
|
|
|
|
|
Z |
|
Число итераций |
||
c |
|
|
|
|
|
3 |
|
|
||
|
|
|
|
|
|
|
|
Значение z, доставляющее минимум функции |
||
|
|
|
|
|
|
|
|
|
|
77 |

В результате выполнения одного шага итерации имеем улучшенные координаты: X1 1, Y1 2, Z1 3.
Для того чтобы перейти ко второму шагу вычислений методом покоординатного спуска, необходимо подставить полученные значения координат вместо x0, y0, z0.
Метод градиентного спуска.
f(x y z) |
exp(x |
y z) |
|
|
|
|
|
|||||
|
|
3 |
|
x 5 |
y 5 |
z 5 |
0.001 |
h 0.1 |
||||
|
|
|
x y |
2 |
|
|||||||
|
|
|
|
z |
|
|
|
|
|
|||
S |
x x |
|
|
|
|
|
|
|
|
|
|
|
|
y y |
|
|
|
|
|
|
|
|
|
|
|
|
z z |
|
|
|
|
|
|
|
|
|
|
|
|
h h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i 1 1000 |
|
|
|
|
|
||||||
|
g1 |
d |
f(x y z) |
|
|
|
|
|
||||
|
|
|
|
dx |
|
|
|
|
|
|||
|
g2 |
d |
f(x y z) |
|
|
|
|
|
||||
|
|
|
|
|
|
|
||||||
|
|
|
|
dy |
|
|
|
|
|
|||
|
g3 |
d |
f(x y z) |
|
|
|
|
|
||||
|
|
|
|
dz |
|
|
|
|
|
|
|
d g12 g22 g32 x x h g1d
y y h g2d z z h g3d
break if g1 g2 g3
C0 i |
|
|
|
|
C1 f(x y z) |
|
|
|
|
C2 x |
|
59 |
|
Количество итераций |
C3 y |
|
|
|
Минимальное значение функции |
|
3.738 |
Значения x, y, z, |
||
C4 z |
S |
1.035 |
||
|
2 |
|
доставляющие минимум |
|
|
|
|
функции |
|
C |
|
|||
|
3 |
|
|
78

Пример 23.
Выполнить минимизацию функции f x1 , x2 3,1x12 0,02(x2 50) методом градиентного спуска и методом Ньютона в системе Mathcad. Началь-
ное приближение x(0) |
1, |
x(0) |
48 . |
|
|
|
||||||||
|
1 |
|
|
|
|
2 |
|
|
|
|
|
|||
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|||
Метод градиентного спуска. |
|
|
|
|
||||||||||
S |
|
x1 x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
x2 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i 1 1000 |
|
|
|
|
|
|
||||||
|
|
|
g1 |
d |
|
|
f(x1 x2) |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
Частные производные |
|||||||||
|
|
|
|
dx1 |
|
|
|
|
||||||
|
|
|
|
d |
|
|
|
|
|
|
|
функцииf(x1, x2) по x1 и x2 |
||
|
|
|
g2 |
|
|
f(x1 x2) |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
dx2 |
|
|
|
|
|
|
|
|||
|
|
|
d |
g12 g22 |
|
|
|
|
|
|||||
|
|
|
x1 x1 |
|
h g1 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
x2 x2 |
|
h g2 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
d |
|
|
|
Прекращаем поиск минимума, |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
break |
if |
|
|
g1 |
|
|
g2 |
|
еслиградиентдостаточно |
||
|
|
|
|
|
|
|
|
|||||||
|
|
C0 i |
|
|
|
|
|
|
|
|
|
близок к нулю |
||
|
|
C1 f(x1 x2) |
|
|
|
|
|
|
||||||
|
|
C2 x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C3 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
560 |
|
Количество итераций |
||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
0.000078 |
|
Минимумфункции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
S |
0.005 |
|
Значения x1 и x2, |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
доставляющие минимум |
|
|
|
|
|
|
|
|
|
|
|
50.002421 |
функции |
79
Метод Ньютона.
В системе Mathcad задаем функцию, точку начального приближения и точность вычислений и составляем программу.
f(x1 x2) 3.1 x12 0.02 (x2 50)2 |
|
|
|
|
|
|
|
||||||||||||||
x1 1 |
x2 45 |
|
|
|
0.01 |
|
|
|
|
|
|
|
|||||||||
S |
|
x1 x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
x2 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
for |
i 1 100000 |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
X10 x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
X11 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
f(x1 x2) |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
dx1 |
|
|
|
|
|
|
|
|
|
Градиент функции |
|||||||
|
|
|
|
g1 d |
|
f(x1 x2) |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
dx2 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
d |
d |
|
|
d |
|
|
d |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
f(x1 x2) |
|
|
|
|
|
|
f(x1 |
x2) |
|
||
|
|
|
|
|
|
|
|
dx1 dx2 |
|||||||||||||
|
|
|
|
dx1 dx1 |
|
|
|
|
|
||||||||||||
|
|
|
|
A d |
d |
f(x1 x2) |
d |
|
|
d |
|
x2) |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f(x1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
dx2 dx1 |
|
|
dx2 dx2 |
|
|
|
|||||||||||
|
|
|
|
X1 X1 A 1 g1 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
x1 X10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
x2 X11 |
|
|
|
|
|
|
|
|
|
|
|
|
Прекращаем |
||||
|
|
|
|
break if g10 |
g11 |
|
|
поиск минимума, |
|||||||||||||
|
|
|
|
|
еслиградиент |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
C0 i |
|
|
|
|
|
|
|
|
|
|
|
|
достаточно |
||||||
|
|
C1 f(x1 x2) |
|
|
|
|
|
|
|
|
|
близок к нулю |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
C2 x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
C3 x2 |
|
|
|
2 |
|
Количество итераций |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Минимальное значение функции |
|||||||
|
|
C |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
S 0 |
|
Значения x1 и x2, доставляющие |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
минимумфункции |
|||||||
|
|
|
|
|
|
|
|
|
|
|
50 |
|
|
|
|
|
|
|
|
80