理论教育 黄金分割法:解决单峰函数求极小值问题的方法

黄金分割法:解决单峰函数求极小值问题的方法

时间:2023-06-17 理论教育 版权反馈
【摘要】:黄金分割法又称0.618法,是一种消去法。黄金分割法适用于[a,b]区间上的任何单峰函数求极小值问题。如图3-7所示,x1、x2的选取应保证如下关系成立:黄金分割法的具体计算方法及步骤如下:1)给定区间[a,b](a<b)及允许误差ε>0。图3-7 黄金分割法示意4)检验是否满足收敛性判别准则b-a≤ε,若满足,则进行5),否则进行6)。黄金分割法的迭代过程如图3-8所示。

黄金分割法:解决单峰函数求极小值问题的方法

黄金分割法又称0.618法,是一种消去法。消去法的基本原理是,在搜索区间内任取两点,计算其函数值并加以比较,舍去较大值所在区部分(图3-5),把搜索区间缩小,直至最小点存在的范围达到允许的误差范围为止。

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

图3-5 消去法原理图解

黄金分割是将一条长为L的线分为两段,较长的一段记为C,较短的一段记为(L-C),LC、(L-C)三者间应满足如下关系(图3-6):

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

式中 λ——比例常数。

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

图3-6 LC的关系

由上式得

C2+LC-L2=0

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

978-7-111-29617-1-Chapter03-21.jpg,则上式写成:

λ2+λ-1=0

解得两根,取其正根:

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

于是 C=λL≈0.618L

即黄金分割点(长段)位于0.618L处,而短段则为L的0.382倍。黄金分割法适用于[ab]区间上的任何单峰函数求极小值问题。如图3-7所示,x1x2的选取应保证如下关系成立:

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

黄金分割法的具体计算方法及步骤如下:

1)给定区间[ab](ab)及允许误差ε>0。

2)置a+0.618(b-a)⇒x2a+0.382(b-a)⇒x1

3)计算fx1)及fx2)之值,并置fx1)⇒f1fx2)⇒f2

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

图3-7 黄金分割法示意

4)检验是否满足收敛性判别准则b-aε,若满足,则进行5),否则进行6)。

5)比较是否满足不等式f2f1,若满足,则输出x1f1为近似最优解,否则输出x2f2为近似最优解,停止迭代。

6)若f2f1,则置x2bx1x2a+b-x2x1f1f2fx1)⇒f1,返回进行4);否则x1ax2x1a+b-x1x2f2f1fx2)⇒f2,返回进行4)。(www.daowen.com)

黄金分割法的迭代过程如图3-8所示。

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

图3-8 黄金分割法程序框图

【例3-3】 试用黄金分割法求函数fX)=(x-3)2的最优解。已知978-7-111-29617-1-Chapter03-26.jpg978-7-111-29617-1-Chapter03-27.jpg,取ε=0.4。

解(1)取内分点并计算函数值

x1=a+0.382(b-a)=3.292

x2=a+0.618(b-a)=4.708

y1=fx1)=0.085264

y2=fx2)=2.917264

(2)缩短区间 因有y1y2,故作如下置换与计算:

bx2=4.708,x2x1=3.292

y2y1=0.085264

x1=a+0.382(b-a)=2.416456

y1=fx1)=0.340524

(3)检验是否满足收敛准则

b-a=4.708-1=3.708>ε

条件不满足,返回(2),进一步缩短区间。

各次循环迭代计算结果见表3-1。

循环到第7次时,因为

b-a=3.085305-2.750914=0.334391<ε

故迭代可结束,结果为

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

表3-1 例3-3的各次迭代结果

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

当迭代到第k次时,若满足0.618kb-a)≤ε,亦可将最终区间的中点及其函数值作为最优解输出:

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

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

我要反馈