迭代例子

2022-04-23 06:30:12   文档大全网     [ 字体:小 中 大 ] [ 阅读: ]

【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《迭代例子》,欢迎阅读!
迭代,例子
22

优化函数为f x =x1+x2−2x1x2−4x1−6x2+10,初始点为

[0;0],迭代精度为ε=0.1。



第一轮迭代:

第一轮迭代的搜索方向取两个坐标的单位向量

S1=e1=[1;0]和S2=e2=[0;1]

从X0出发,先从S1方向进行一维最优搜索

X1=X0+a1.e1=[a;0]

将X1带入f(x)方程得:f X =a12−4a1+10

对上式进行求导,并令导数等于0,可得最优步长a1=2。 由此得最优点:X1=[2;0]。

同理,沿e2方向进行一维搜索得:

X2=X1+a2.e=[2;a]

将X2带入f(x)方程得:f X2 =a22−10a22+6

对上式进行求导,并令导数等于0,可得最优步长a2=5. 由此得最优点:X=[2;5]。

计算第三个方向:S3=X2-X0=[2;5] 计算S3方向的反射点:X=[4;5], 计算相邻两点函数值的下降量 f(X0)=10,f(X1)=6,f(X2)=-19 Δ1=4,Δ2=25,则Δm=25

令f1= f(X0)=10,f2= f(X2)=-19, f3= f(X3)=-30 则可得:f3



f1−2f2+f3 f1−f2−Δm <0.5Δm(f1−f3)2

2

故可将S3代替第三个方向,并求S3方向上的极小值点 X∗=X2+a3*S3=[2a3+2;5a3+5]

将X∗带入f(X∗)方程得:f X∗ =9a−a3−19

对上式进行求导,并令导数等于0,可得最优步长a2=1.111。 由此得最优点:X∗=[4.2;10.6]。

由于||X∗-X0||=11.4>ε=0.1,不满足结束条件,继续迭代。 第二轮迭代:

X20=X∗=[4.2;10.6];

S21=e1=[1;0];S22=S3=[2;5]

X21=X20+a21*S21=[4.2+a21;10.6]

将X21带入f(x)方程得:f X21 =a212−168a12+A 对上式进行求导,并令导数等于0,可得最优步长a2=8.4 由此得最优点:X22=[12.6;10.6]。

X22=X21+a22*S22=[12.6+2a22;10.6+5a22]

将X22带入f(x)方程得:f X22 =9a222−50a222+B 对上式进行求导,并令导数等于0,可得最优步长a2=2.778 由此得最优点:X23=[18.1;24.4]。


计算第三个方向:S23=X23-X20=[13.8889;13.8] 计算S3方向的反射点:X23=[32;38.2], 计算相邻两点函数值的下降量

f(X20)=-30,f(X21)=-10,f(X22)=-169 Δ1=70,Δ2=69,则Δm=70

令f1= f(X20)=-30,f2= f(X22)=-169, f3= f(X23)=-307.9 则满足:f3

f1−2f2+f3 f1−f2−Δm <0.5Δm(f1−f3)2

故可将S23代替第三个方向,并求S23方向上的极小值点 X∗=X22+a23*S23=[18.1+13.889a23;24.4+13.8a23]

将X∗带入f(X)方程,对上式进行求导,并令导数等于0,可得最优步长a2=0。 由此得最优点:X∗=[18.1;24.4]。

由于||X∗-X20||=19.6>ε=0.1,不满足结束条件,继续迭代。

程序迭代两次的计算结果:

x11 =

2.0000 0

x12 =

2.0000 5.0000

x13 =

4.2222 10.5556 n =

1

x22 =

12.5556 10.5556

2




x23 =

18.1111 24.4444

x24 =

18.1111 24.4444 n =

2


本文来源:https://www.wddqxz.cn/f0b8903313a6f524ccbff121dd36a32d7375c72f.html

相关推荐