第四章—牛顿法求解无约束问题

萌到你眼炸
683次浏览
2021年02月11日 06:08
最佳经验
本文由作者推荐

-

2021年2月11日发(作者:tatanic)


牛顿法求解无约束多维优化问题



一、基本思想



牛顿法是一种线性化的 方法,


其基本思想是将非线性方程


f


(


x


)



0


逐步归结


为某种显性线性方程来求解。在


x


k


邻域内用一个二次函数


< p>
(


x


)


来近似代替原目< /p>


标函数,并将



(


x


)


的极小值点作为对目标函数


f< /p>


(


x


)


求优的下 一个迭代点


x


k


1



经多次迭代,使之逼近目标函数


f


(


x


)


的 极小值点。



二、数学模型



将目标函数


f


(


x


)


作二阶泰勒展开,






x


k



1




(


x


)


的极小值点





(


x


k



1


)



0

< br>



f


(


x


k


)




2


f


(


x


k


)(


x


k



1



x

< p>
k


)



0



x


k


1



x


k



[



2


f< /p>


(


x


k


)]



1



f


(


x


k


)


(


k



0,1,2,3



)



f


(


x


)




(


x


)

< br>


f


(


x


k


)




f


(


x


k


)


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


结果:


-


-


-


-


-


-


-


-