人人范文网 范文大全

黄金分割法

发布时间:2020-03-03 10:46:03 来源:范文大全 收藏本文 下载本文 手机版

机电产品优化设计

课程设计

姓名:

学号:

学院:

2908003032

机械电子工程学院

一维搜索黄金分割法

一、优化方法阐述 1. 原理阐述 1.1基本原理

设一元函数如图1所示,起始搜索区间为[a,b],为所要寻求的函数的极小点。

在搜索区间[a,b]内任取两点

,且

,计算函数与。当将与进行比较时,可能的情况有下列三种:

(1):如图1(a)、(b)所示,这种情况下,可丢掉(,b]部分,而最小点必在区间[a,]内。

(2):如图1(c)、(d)所示,这种情况下,可丢掉[a,)部分,而最小点必在区间[,b]内。

(3))还是丢掉(

:如图1(e)所示,这种情况下,不论丢掉[a,,b],最小点必在留下的部分内。

图1(a)

图1(b)

图1(c)

图1(d)

图1(e)

因此,只要在搜索区间内任取两点,计算它们的函数值并加以比较之后,总可以把搜索的区间缩小。

对于第(1)、(2)两种情况,经过缩小的区间内都保存了一个点的函数值,即

,只要再取一个点

,计算函数值并加以比较,就可以再次缩短区间进行序列消去。但对于第(3)种情况,区间中没有已知点的函数值,若再次缩短区间必须计算两个点的函数值。为了简化迭代程序,可以把第(3)种情况合并到前面(1)、(2)两种情况之一中去,例如可以把上述三种情况合并为下述两种情况:

(1)若,取区间[a,]。

(2)若,取区间[,b]。

这样做虽然对于第(3)种情况所取的区间扩大了,但在进一步搜索时每次只要计算一个点,和第(1)、(2)种情况一致,简化了迭代程序。

1.2 “0.618”的由来

为了简化迭代计算的过程,希望在每一次缩短搜索区间迭代过程中两计算点、在区间中的位置相对于边界来说应是对称的,而且还要求丢去一段后保留点在新区间中的位置与丢去点在原区间中的位置相当。如图2所示,设区间[a,b]全长为L,在其内取两个对称计算点和,并令l/L=称为公比,无论如图2(b)所示丢去(,b],还是如图2(c)所示丢去[a,段比值仍为,

),保留点在新区间

中相应线

(1)

由此得

解此方程的两个根,取其正根为

0.6180339887 这种分割称为黄金分割,其比例系数为,只要第一个试点取在原始区间长的0.618处,第二个试点在它的对称位置,就能保证无论经过多少次缩小区间,保留的点始终处在新区间的0.618处。再要进一步缩短区

间,在其保留点的对称位置再取点做一次比较消去,这种分割每次消去时,区间的缩短率不变,均为0.618,此即“0.618法”名字的由来。

图2(a)

图2(b)

图2(c)

2.基本步骤 (1)在初始区间[a,b]内取两个计算点

,且令,。

(2)比较函数值,缩短搜索区间 1)若新区间

,见图2(b),则丢去区间(

与,其值分别为

,计算函数值

,b],取[a,

],取[

]为,在计算中作如下置换:

,见图2(c),则丢去区间(a,

,b]为 2)若新区间,在计算中作如下置换:

(3)判断迭代终止条件

当缩短的新区间距离小于某一个预先规定的精度,即迭代。此时,小区间内任一点均可作为取区间的中点,即缩小区间的迭代计算。

时,终止

极小值的近似点。例如可

。否则,返回第(2)步重新作进一步3.程序框图

二、优化程序

1.源代码

function[w,ans]=fa(f_1,a,b,j) a(1)=a; b(1)=b; k=j; n=1; t(1)=a(1)+0.382*(b(1)-a(1)); u(1)=a(1)+0.618*(b(1)-a(1));

while((b(n)-a(n))>k) B(n)=b(n)-a(n); m(n)=feval(f_1,t(n)); g(n)=feval(f_1,u(n)); if m(n)>g(n) a(n+1)=t(n); b(n+1)=b(n); t(n+1)=u(n); u(n+1)=a(n+1)+0.618*(b(n+1)-a(n+1)); else

a(n+1)=a(n); b(n+1)=u(n); u(n+1)=t(n); t(n+1)=a(n+1)+0.382*(b(n+1)-a(n+1)); end

n=n+1; end

ans=(b(n)+a(n))/2; t(n)=0; u(n)=0; m(n)=0; g(n)=0; B(n)=b(n)-a(n); n=n-1; w=[a\',b\',t\',u\',m\',g\',B\']; function y=f1(x) y=x^4-5*x^3+4*x^2-6*x+60;

2.操作程序

y=inline(\'x^4-5*x^3+4*x^2-6*x+60\',\'x\');%目标函数 x1=-10;x2=10; %搜索区间 [w,ans]=fa(\'f1\',x1,x2,0.001) ezplot(y,[-10,10]) title(\'目标函数图像\') grid on

3.界面

图一:源代码界面

图二:操作程序界面

三、优化问题分析结果

1.运行结果

w =

-10.0000 10.0000 -2.3600 2.3600 193.1801 33.4176 20.0000 -2.3600 10.0000 2.3600 5.2785 33.4176 180.7348 12.3600 -2.3600 5.2785 0.5579 2.3600 57.1263 33.4176 7.6385 0.5579 5.2785 2.3600 3.4752 33.4176 23.4611 4.7206 2.3600 5.2785 3.4752 4.1636 23.4611 43.9918 2.9185 2.3600 4.1636 3.0490 3.4752 23.5912 23.4611 1.8036 3.0490 4.1636 3.4752 3.7378 23.4611 27.5447 1.1146 3.0490 3.7378 3.3121 3.4752 22.6797 23.4611 0.6888 3.0490 3.4752 3.2118 3.3121 22.7455 22.6797 0.4262 3.2118 3.4752 3.3121 3.3746 22.6797 22.8405 0.2634 3.2118 3.3746 3.2740 3.3121 22.6596 22.6797 0.1628 3.2118 3.3121 3.2501 3.2740 22.6756 22.6596 0.1003 3.2501 3.3121 3.2740 3.2884 22.6596 22.6605 0.0620 3.2501 3.2884 3.2648 3.2740 22.6633 22.6596 0.0383 3.2648 3.2884 3.2740 3.2794 22.6596 22.6590 0.0237 3.2740 3.2884 3.2794 3.2829 22.6590 22.6592 0.0144 3.2740 3.2829 3.2774 3.2794 22.6591 22.6590 0.0089 3.2774 3.2829 3.2794 3.2808 22.6590 22.6590 0.0055 3.2774 3.2808 3.2787 3.2794 22.6590 22.6590 0.0034 3.2787 3.2808 3.2794 3.2800 22.6590 22.6590 0.0021 3.2787 3.2800 3.2792 3.2794 22.6590 22.6590 0.0013 3.2792 3.2800 0 0 0 0 0.0008

ans =

3.2796

xk,xk1

图三:目标函数图像界面

2.结果分析

经过分析在x=3.2796处目标函数值到达最小值,此时精度为0.0008,函数图像如上图所示,此时函数值趋于零达到最优解。

四、心得体会

对于黄金分割法而言,每一步都是在缩小区间,故从在优缺点: 优点:可以通过最少的试验次数,找到“最佳点”。节省时间、人力财力和物力。

缺点:同理论分析和数字化模拟相比较,毕竟还需要经过多试验来查找“最佳点”,要消耗时间,以及人、财、物。

黄金分割

黄金分割

(4)黄金分割

中学数学:《黄金分割》

黄金分割说课稿

趣话黄金分割

黄金分割教案设计

黄金分割说课稿

黄金分割说课稿

黄金分割导学案

黄金分割法
《黄金分割法.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档