第四章—牛顿法求解无约束问题
-
牛顿法求解无约束多维优化问题
一、基本思想
牛顿法是一种线性化的
方法,
其基本思想是将非线性方程
f
(
x
)
0
p>
逐步归结
为某种显性线性方程来求解。在
x
k
邻域内用一个二次函数
(
x
)
来近似代替原目<
/p>
标函数,并将
(
x
)
的极小值点作为对目标函数
f<
/p>
(
x
)
求优的下
一个迭代点
x
k
1
。
经多次迭代,使之逼近目标函数
f
(
x
)
的
极小值点。
二、数学模型
将目标函数
f
(
x
p>
)
作二阶泰勒展开,
设
x
p>
k
1
为
(
x
)
的极小值点
(
x
k
1
)
0
< br>
f
(
x
k
)
2
f
(
x
p>
k
)(
x
k
1
x
k
)
0
x
k
1
x
k
[
2
f<
/p>
(
x
k
)]
p>
1
f
(
x
k
)
(
k
0,1,2,3
p>
)
f
(
x
)
(
x
)
< br>
f
(
x
k
)
f
(
x
k
)
p>
T
(
x
x
k
)
1
(
x
< br>x
k
)
T
2
f
(
x
k
)(
x
<
/p>
x
k
)
2
这就是多元函数求极值的牛顿法迭代公式。
对于二次函数,海塞矩阵
H
是一个常矩阵,其中各元素均为常数
,因此,
无论从任何点出发,只需一步就可以找到极小值点。
从牛顿法迭代公式的推导过程中可以看到,
迭代点的位置是按照
极值条件确
定的,
其中并未含有沿下降方向搜寻的概念。
因此对于非二次函数,
如果采用上
述牛顿迭公
式,有时会使函数值上升。
三、算例分析
算例
< br>1
、
f
(
x
)
(
x
1
4)
2<
/p>
(
x
2
8)
2
取初始点
x
[1,1
]
T
初步分析,目标函数为二次函数,经过一次迭代即可得到。
编制程序及计算结果如下:
syms
x1 x2;
f=(x1-4)^2+(x2-8)^2;
v=[x1,x2];
df=jacobian(f,v);
df=df.';
G=jacobian(df,v);
e = 1e-12;
x0=[1,1]';
g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});
G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)});
k=0;
while(norm(g1)>e)
p=-G1g1;
x0=x0+p;
g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});
G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)});
k=k+1;
end;
k
x0
结果: