最优化考试之牛顿法
- 一、牛顿法
- 1.问题条件
- 2.求解过程
- 3.例子
- PS
一、牛顿法
1.问题条件
- 目标函数 f ( x ) f(x) f(x),求极小值
- 初始点 x 0 x_0 x0
- 精度要求e(没有提就是近似0)
2.求解过程
- 求解一阶雅克比矩阵 ∇ f ( x ) ∇f(x) ∇f(x)和二阶海森矩阵 ∇ 2 f ( x ) ∇^2f(x) ∇2f(x),k=0,
- 若 ∇ f ( x k ) < e ∇f(x_k)<e ∇f(xk)<e,停止迭代,输出结果,否则k=k+1
- 求海森矩阵的逆矩阵 G = ( ∇ 2 f ( x k ) ) − 1 G=(∇^2f(x_k))^{-1} G=(∇2f(xk))−1
- 当前移动步长 d k = − G ∗ ∇ f ( x k ) d_k=-G*∇f(x_k) dk=−G∗∇f(xk)
- 下一个迭代点 x k + 1 = x k + d k x_{k+1}=x_k+d_k xk+1=xk+dk,跳至第二步
3.例子
求一阶雅克比矩阵:
∇ f ( x ) = [ 6 x 1 − 2 x 2 − 2 x 3 , − 2 x 1 + 6 x 2 − 2 x 3 , − 2 x 1 − 2 x 2 + 6 x 3 ) ] T ∇f(x)=[6x_1-2x_2-2x_3,-2x_1+6x_2-2x_3,-2x_1-2x_2+6x_3)]^T ∇f(x)=[6x1−2x2−2x3,−2x1+6x2−2x3,−2x1−2x2+6x3)]T
求二阶海森矩阵:
求海森矩阵的逆矩阵G
将初始点
x
0
x_0
x0代入
∇
f
(
x
)
,
∇
2
f
(
x
)
∇f(x),∇^2f(x)
∇f(x),∇2f(x)得
∇ f ( x 0 ) = [ 0 , 4 , 0 ] T ∇f(x_0)=[0,4,0]^T ∇f(x0)=[0,4,0]T
∇ 2 f ( x 0 ) = ∇ 2 f ( x ) ∇^2f(x_0)=∇^2f(x) ∇2f(x0)=∇2f(x)(见上图)
因此 d 0 = − G ∗ ∇ f ( x 0 ) = [ − 1 / 2 , − 1 , − 1 / 2 ] T d_0=-G*∇f(x_0)=[-1/2,-1,-1/2]^T d0=−G∗∇f(x0)=[−1/2,−1,−1/2]T
则 x 1 = x 0 + d 0 = 0 x_1=x_0+d_0=0 x1=x0+d0=0
又因为 ∇ f ( x 1 ) = 0 ∇f(x_1)=0 ∇f(x1)=0
因此点 x 1 x_1 x1为最优解点,最优解为 f ( x 1 ) = 0 f(x_1)=0 f(x1)=0
PS
牛顿法通常用于求解目标函数的极小值,如果要求是求目标函数的最大值,将目标函数乘以负号后再按照上述步骤求解即可。