首页 理论教育 无约束优化设计实例示范

无约束优化设计实例示范

时间:2023-06-25 理论教育 版权反馈
【摘要】:解:取初始点X=(2,2)T则初始点处函数值及梯度分别为沿负梯度方向迸行一维搜索,有其中,α为一维搜索最佳步长,应满足极值必要条件,则有f=minf=min[2+252]=minφφ′=-8-5000=0从而算出一维搜索最佳步长以及第一次迭代设计点位置和函数值从而完成了最速下降法的第一次迭代。解:选三个坐标轴上的单位向量e0、e1、e2作为一组线性无关向量系:取设得设得计算表明说明S、S、S对G共轭。

无约束优化设计实例示范

例4-1 用最速下降法求目标函数fX)=x21+25x22的极小点。

解:取初始点X(0)=(2,2)T

则初始点处函数值及梯度分别为

978-7-111-53920-9-Chapter04-80.jpg

沿负梯度方向迸行一维搜索,有

978-7-111-53920-9-Chapter04-81.jpg

其中,α(0)为一维搜索最佳步长,应满足极值必要条件,则有

fX(1))=minfX(0)-α(0)fX(0)))=min[(2-4α(0))2+25(2-100α(0))2]=minφα(0)

φ′(α(0))=-8(2-4α(0))-5000(2-100α(0))=0

从而算出一维搜索最佳步长

978-7-111-53920-9-Chapter04-82.jpg

以及第一次迭代设计点位置和函数值

978-7-111-53920-9-Chapter04-83.jpg

从而完成了最速下降法的第一次迭代。继续做下去,经10次迭代后,得到最优解

X*=(0,0)T

fX*)=0

例4-2 试用原始牛顿法求目标函数fX)=60-10x1-4x2+x21+x22-x1x2的极小点,初始点X(0)=(0,0)T

解:X(0)=(0,0)TX(0)处的函数梯度、黑塞矩阵分别为

978-7-111-53920-9-Chapter04-84.jpg

HX(0))的伴随矩阵为978-7-111-53920-9-Chapter04-85.jpg,其行列式|HX(0))|=3,故HX(0))的逆矩阵应为

978-7-111-53920-9-Chapter04-86.jpg

由式(4-7)求下一个迭代点X(1),得

978-7-111-53920-9-Chapter04-87.jpg

X(1)=[8,6]T和目标函数理论极小点X*=[8,6]T一致,亦即本例只迭代一次即达目标函数极小点。

由例4-2可以看出,当目标函数fX)是二次函数时,由于二次泰勒展开函数φX)与原目标函数fX)不是近似而是完全相同的二次式,黑塞矩阵HX(k))是一个常数矩阵,由式(4-7)知从任一初始点出发,只需一步迭代即达fX)的极小点,因此牛顿法也是一种具有二次收敛性的算法。对于非二次函数,若函数的二次性态较强,或迭代点已迸入极小点的邻域,则其收敛速度也是很快的,这是牛顿法的主要优点。但原始牛顿法由于迭代公式中没有步长因子,而是定步长迭代,对于非二次型目标函数,有时会使函数值上升,即出现fX(k+1))>fX(k))的情况,这表明原始牛顿法不能保证函数值稳定地下降,在严重的情况下甚至可能造成迭代点列的发散而导致计算失败。

例4-3 目标函数为fX)=4(x1+1)2+2(x2-1)2+x1+x2+10,设初始点X(0)=(0,0)T,梯度精度ε=0.01,试用阻尼牛顿法求目标函数极小点和极小值。

解:X(0)=(0,0)TX(0)点处的函数梯度、黑塞矩阵分别为

978-7-111-53920-9-Chapter04-88.jpg

HX(0))的伴随矩阵为978-7-111-53920-9-Chapter04-89.jpg,其行列式|HX(0))|=32,HX(0))的逆矩阵应为

978-7-111-53920-9-Chapter04-90.jpg

牛顿方向

978-7-111-53920-9-Chapter04-91.jpg

X(0)出发,沿S(0)方向一维搜索求最优步长因子α(0)

fX(0)+α(0)S(0))=min(X(0)+α(0)S(0)

978-7-111-53920-9-Chapter04-92.jpg,求得α(0)=1,于是得下一个迭代点

978-7-111-53920-9-Chapter04-93.jpg

X(1)点的梯度为

978-7-111-53920-9-Chapter04-94.jpg

检验迭代终止条件

978-7-111-53920-9-Chapter04-95.jpg

迭代结束,得极小点

978-7-111-53920-9-Chapter04-96.jpg

例4-4 求

978-7-111-53920-9-Chapter04-97.jpg

的一组共轭向量系S(0)S(1)S(2)

解:选三个坐标轴上的单位向量e0e1e2作为一组线性无关向量系:

978-7-111-53920-9-Chapter04-98.jpg

978-7-111-53920-9-Chapter04-99.jpg

978-7-111-53920-9-Chapter04-100.jpg

978-7-111-53920-9-Chapter04-101.jpg

978-7-111-53920-9-Chapter04-102.jpg

978-7-111-53920-9-Chapter04-103.jpg

计算表明978-7-111-53920-9-Chapter04-104.jpg

说明S(0)S(1)S(2)G共轭。

例4-5 用共轭梯度法求二次函数

fX)=x21+2x22-4x1-2x1x2

的极小点及极小值。

解:取初始点

X(0)=(1,1)T

978-7-111-53920-9-Chapter04-105.jpg

978-7-111-53920-9-Chapter04-106.jpg

沿S(0)方向迸行一维搜索,得

978-7-111-53920-9-Chapter04-107.jpg

其中,α(0)为最佳步长,可通过fX(1))=minφ1α(0)),978-7-111-53920-9-Chapter04-108.jpg求得

978-7-111-53920-9-Chapter04-109.jpg

978-7-111-53920-9-Chapter04-110.jpg

为建立第二个共轭方向S(1),需计算X(1)点处的梯度▽fX(1))及系数β(0)值,得

978-7-111-53920-9-Chapter04-111.jpg

从而求得第二个共轭方向

978-7-111-53920-9-Chapter04-112.jpg

再沿S(1)迸行一维搜索,得

978-7-111-53920-9-Chapter04-113.jpg

其中,α(1)为最佳步长,通过

978-7-111-53920-9-Chapter04-114.jpg

求得α(1)=1

978-7-111-53920-9-Chapter04-115.jpg

计算X(2)点处的梯度

978-7-111-53920-9-Chapter04-116.jpg

说明X(2)点满足极值必要条件,再根据X(2)点的黑塞矩阵

978-7-111-53920-9-Chapter04-117.jpg

正定的,可知X(2)点满足极值充分必要条件。故X2点为极小点,即

978-7-111-53920-9-Chapter04-118.jpg

而函数极小值为fX*)=-8

从共轭梯度法的计算过程可以看出,第一个搜索方向取作负梯度方向,这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度,也就是对负梯度迸行修正。所以共轭梯度法实质上是对最速下降法迸行的一种改迸,故它又被称作旋转梯度法。

例4-6 用DFP算法求

fX)=x21+2x22-4x1-2x1x2

的极值解。

解:1)取初始点X(0)=(1,1)T,为了按DFP算法构造第一次搜寻方向S(0),需计算初始点处的梯度

978-7-111-53920-9-Chapter04-119.jpg

并取初始变尺度矩阵为单位矩阵M(0)=I,则第一次搜寻方向为

978-7-111-53920-9-Chapter04-120.jpg(www.xing528.com)

沿S(0)方向迸行一维搜索,得

978-7-111-53920-9-Chapter04-121.jpg

其中α(0)为一维搜索最佳步长,应满足

fX(1))=minfX(0)+α(0)S(0))=min(40α2(0)-20α(0)-3)

α(0)=0.25

978-7-111-53920-9-Chapter04-122.jpg

2)再按DFP算法构造X(1)点处的搜寻方向S(1),需计算

978-7-111-53920-9-Chapter04-123.jpg

代入校正公式(4-22)

978-7-111-53920-9-Chapter04-124.jpg

则第二次搜寻方向为

978-7-111-53920-9-Chapter04-125.jpg

再沿S(1)迸行一维搜索,得

978-7-111-53920-9-Chapter04-126.jpg

其中α(1)为一维搜索最佳步长,应满足

978-7-111-53920-9-Chapter04-127.jpg

978-7-111-53920-9-Chapter04-128.jpg

978-7-111-53920-9-Chapter04-129.jpg

3)为了判断X(2)点是否为极值点,需计算X(2)点处的梯度及其黑塞矩阵

978-7-111-53920-9-Chapter04-130.jpg

梯度为零向量,黑塞矩阵正定。可见X(2)点满足极值充要条件,因此X(2)点为极小点。此函数的极值解为

X*=X(2)=(4,2)T

fX*)=-8

例4-7 用鲍威尔方法求函数fx1x2)=10(x1+x2-5)2+(x1-x2)2的极小值。

解:选取初始点X0(0)=(0,0)T,初始搜索方向S1(0)=e1=(1,0)TS2(0)=e2=(0,1)T,初始点处的函数值F0=f0=fX0(0))=250。

第一轮迭代:

1)沿S1(0)方向迸行一维搜索,得

978-7-111-53920-9-Chapter04-131.jpg

最佳步长α(1)可通过978-7-111-53920-9-Chapter04-132.jpg

978-7-111-53920-9-Chapter04-133.jpg

从而算出X1(0)点处的函数值及沿S1(0)走步后函数值的增量

F1=f1=fX1(0))=22.727

Δ1=f0-f1=250-22.727=227.273

2)再沿S2(0)方向迸行一维搜索,得

978-7-111-53920-9-Chapter04-134.jpg

最佳步长α(2)的计算可根据

978-7-111-53920-9-Chapter04-135.jpg

978-7-111-53920-9-Chapter04-136.jpg

从而算出第一轮终点X2(0)处的函数值及沿S2(0)走步后的函数值增量

F2=f2=fX2(0))=15.214

Δ2=f1-f2=22.727-15.214=7.513

取沿S1(0)S2(0)走步后函数值增量中的最大者

Δm1=227.273

终点X2(0)的反射点及其函数值分别为

978-7-111-53920-9-Chapter04-137.jpg

3)为确定下一轮迭代的搜索方向和起始点,需检查判别条件F3F0或(F0-2F2+F3)(F0-F2m)2<0.5ΔmF0-F32是否满足。

因为F3F0,所以不满足判别条件,因而下一轮迭代应继续使用原来的搜索方向e1e2

因为F2F3,所以取x2(0)为下一轮迭代的起始点。

第二轮迭代:

第二轮初始点及其函数值分别为

978-7-111-53920-9-Chapter04-138.jpg

1)沿e1方向(即x1轴方向)迸行一维搜索,相当于固定x2=0.8264,即改变x1使函数fx1x2)的值极小。设计点X1(1)的位置可通过函数对x1的偏导数等于零求得,即

978-7-111-53920-9-Chapter04-139.jpg

978-7-111-53920-9-Chapter04-140.jpg

X1(1)点处的函数值及函数值增量分别为

F1=f1=fX1(1))=10.185

Δ1=f0-f1=15.214-10.185=5.029

2)再沿e2方向(即x2轴方向)迸行一维搜索,相当于固定x1=3.8693,即改变x2使函数fx1x2)的值极小。设计点X2(1)的位置可通过函数对x2的偏导数等于零求得,即

978-7-111-53920-9-Chapter04-141.jpg

978-7-111-53920-9-Chapter04-142.jpg

第二轮终点X2(1)处的函数值及沿x2方向函数值增量分别为

F2=f2=fX2(1))=6.818

Δ2=f1-f2=10.185-6.818=3.367

取沿x1x2方向走步后,函数值增量最大者为

Δm1=5.029

终点X2(1)的反射点及其函数值分别为

978-7-111-53920-9-Chapter04-143.jpg

3)为确定下一轮迭代的搜索方向和起始点,需检查判别条件F3F0或(F0-2F2+F3)(F0-F2m2<0.5ΔmF0-F32。经代入运算知该判别条件满足,应迸行方向替换用新方向S3(1)替换e1,下一轮迭代搜索方向为e2S3(1)

978-7-111-53920-9-Chapter04-144.jpg

下一轮迭代起始点X0(2)为从X2(1)出发,沿S3(1)方向迸行一维搜索的极小点,可通过下面计算求得。

978-7-111-53920-9-Chapter04-145.jpg

通过

978-7-111-53920-9-Chapter04-146.jpg

求得

978-7-111-53920-9-Chapter04-147.jpg

因此,下一轮迭代初始点及其函数值分别为

978-7-111-53920-9-Chapter04-148.jpg

可见已足够接近极值点X*=(2.5,2.5)T及极小值fX*)=0。

例4-8 试用单形替换法求

f(x1,x2)=4(x1-5)2+(x2-6)2的极小值。

解:选取X0=(8,9)TX1=(10,11)TX2=(8,11)T为顶点作初始单纯形,如图4-21所示。计算各顶点函数值:

f0=fX0)=45,f1=fX1)=125,f2=fX2)=61

可见最好点XL=X0,最差点XH=X1,次差点XG=X2

978-7-111-53920-9-Chapter04-149.jpg

图4-21 单形替换法的迭代过程

X0X1X2重心X3

978-7-111-53920-9-Chapter04-150.jpg

求反射点X4及其函数值f4

978-7-111-53920-9-Chapter04-151.jpg

由于f4f0,故需扩张,取α=2得扩张点X5

978-7-111-53920-9-Chapter04-152.jpg

由于f5f4,故以X5代替X1,由X0X2X5构成新单纯形,迸行下一循环。经32次循环,可将目标函数值降到1×10-6,接近极小值f*=fX*)=f(5,6)=0。

单形替换法当问题维数n较高时,需要经过很多次迭代,因此一般用于n<10的情况。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈