理论教育 一维优化方法——格点法的实现与应用

一维优化方法——格点法的实现与应用

时间:2023-06-17 理论教育 版权反馈
【摘要】:格点法是一种应用序列消去法原理的直接寻优法。图3-3 格点法图解如果新区间的长度还不能满足预定的精度要求,则将其作为新的初始区间,重复上述步骤,进一步缩短区间,直到满足xm+1-xm-1≤ε时,xm和ym就是具有足够精度的一维优化近似解:X*=xm,Y*=ym。 试用格点法求一维目标函数f=4x2-12x+10的最优解。不足之处是,格点法的计算效率较低,即在一定精度要求下计算函数值的次数较多,因而不宜用于维数较高的复杂问题中。

一维优化方法——格点法的实现与应用

初始搜索区间[ab]确定之后,一维优化的任务就在于通过某种方法将此区间逐步缩小到最优点X*附近极小的邻域内。该邻域的大小取决于计算者根据实际问题的需要而预定的收敛精度εε>0),或称迭代精度。

格点法是一种应用序列消去法原理的直接寻优法。其具体思路是:设函数fX)的初始搜索区间为[ab],在此区间内取n个内等分点x1x2,…,xn,并计算这些点的函数值,记作y1y2,…,yn,比较这些函数值的大小,找出其中的最小者:

ym=min{yii=1,2,…,n}于是在与ym相对应的点xm之左右相邻点xm-1xm+1之间即构成了包含fX)极小点X*在内的被缩短了的新区间,如图3-3所示。

978-7-111-29617-1-Chapter03-4.jpg

图3-3 格点法图解

如果新区间的长度还不能满足预定的精度要求,则将其作为新的初始区间,重复上述步骤,进一步缩短区间,直到满足xm+1-xm-1ε时,xmym就是具有足够精度的一维优化近似解:X*=xmY*=ym

在一维搜索中,每一次区间缩短的快慢程度可用新旧区间长度之比来表示,称为区间缩短率,常用λ表示。在格点法中,若每次区间缩短时取内分点数为n,依定义,则有

978-7-111-29617-1-Chapter03-5.jpg

由此可见,内分点数取得越多,λ值越小,意味着区间缩短得越快。但另一方面,寻优过程也越长,越费机时。因而n不宜取过大。

格点法的一维优化过程如图3-4所示。

【例3-2】 试用格点法求一维目标函数fX)=4x2-12x+10的最优解。已知初始区间[ab]=[1,2.2],迭代精度ε=0.2,n=4。

解 初始区间端点的函数值为

fa)=2,fb)=2.96

978-7-111-29617-1-Chapter03-6.jpg

图3-4 格点法程序框图(www.daowen.com)

区间中内分点的位置及其函数值按下式计算:

978-7-111-29617-1-Chapter03-7.jpg

(1)第一次计算 把已知条件代入式(3-2),分别计算xkyk

978-7-111-29617-1-Chapter03-8.jpg

显然,最小函数值:

978-7-111-29617-1-Chapter03-9.jpg

对应的点为978-7-111-29617-1-Chapter03-10.jpg,新区间的端点是

978-7-111-29617-1-Chapter03-11.jpg

b(1)-a(1)=0.48>ε=0.2

未满足迭代精度,需继续进行计算。

(2)第二次计算 以新区间取代旧区间,重复上述步骤,结果如下:

978-7-111-29617-1-Chapter03-12.jpg

于是,978-7-111-29617-1-Chapter03-13.jpg,新区间端点为:a(2)=1.432,b(2)=1.624。因为978-7-111-29617-1-Chapter03-14.jpg,故其最优解为:978-7-111-29617-1-Chapter03-15.jpg978-7-111-29617-1-Chapter03-16.jpg

从上述优化过程可以看出,格点法的计算程序简单。对于离散变量的一维优化问题,分点可以取在这些离散值处。不足之处是,格点法的计算效率较低,即在一定精度要求下计算函数值的次数较多,因而不宜用于维数较高的复杂问题中。

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

我要反馈