最优化考试之牛顿法
一、牛顿法
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
牛顿法通常用于求解目标函数的极小值,如果要求是求目标函数的最大值,将目标函数乘以负号后再按照上述步骤求解即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!