实际生活中,又许多涉及优化的问题。例如,何时效益{zd0}?何时消耗最小?这时,我们稍显想到的当然时去找有关的函数解析式,接着在用初等方法或微分法求其极值
。但是,如果目的函数没有明显的表达式或者表达式过于
复杂,微分法是难以奏效的。华罗庚教授曾致力推广的优选法(0.618法),就是处理此类问题的一种有效方法。例如:某电子管厂从仓库里清出了积压多年你的几百万米“废”钼丝,为了能让这些“废”钼丝复活,重新用于生产,科研人员经过分析发现,找出准确的退火温度是使钼丝复活的关键。根据经验已经知道,退火温度的{zd1}点是1400℃,{zg}点是1600℃.因此,试验范围是1400℃-1600℃.如果不考虑其他次要因素,则钼丝的质量指标f(t)是退火温度t的函数,其中t变化范围是区间[1400,1600].由于目标函数的具体表达式不知道,因此,这个问题的关键在于能否通过次数尽量少的调温试验,来找出满足一定精度要求的{zj0}退胡温度。(真实案例)
首先分析:尽管目标函数的具体表达式并不知道,但根据检验可以知道:从退火温度的{zd1}点1400℃开始,随着的增大,质量指标的函数值随之增大;当到达{zj0}退火温度t0时,随着t的增大,一直到{zg}点1600℃,质量指标f(t)的函数值会随之减少。也就是说,f(t)是在实验区间内先增后减的单峰函数,其中只有{wy}一个{zy}点。
等分法通常的想法是:在实验区间[1400,1600]上均匀取点试验,就可以求得满足一定xx要求的{zj0}退火温度.例如,若要求精度到达1/20,我们只要在t1=1410℃,t2=1420℃,t3=1430℃,…]t19=1590℃各点进行试验,通过比较各点的试验结果,就能找到{zy}试验点。若发现t19=1490℃是其中{zh0}的点,就可以断定{zj0}退火温度比在区间(1480,1500)内,在生产实际中,就可以吧1490℃作为{zj0}退火温度。
但是,这种“等分法”在试验区间上均匀取点,对区间的各个部分都等同对待,而不考虑在以前各次试验中已经获得的关于目标函数f(t)的信息,往往需要做很多次试验。那么能否通过较少的试验次数就能找到满足一定精度要求的{zj0}退火温度呢?
优选法
优选法的具体操作步骤如下:
现在试验区间的0.618处做{dy}次试验。{dy}点的温度为:(大-小)*0.618+小=(1600-1400)*0.618+1400=1520℃
再在{dy}点的对称点(关于试验区间的中点对称)处做第二次试验。第二点的温度是:
(大-小)+小=1600-1520+1400=1480℃
比较上面两次试验结果,如果1480℃点比较好,就把1520℃(称为“坏点”)以上的温度去掉。然后再1400℃~1520℃间找出第二试验点(1480℃)的对称点,在该点做第三次试验,再比较两次试验结果,把“坏点”的外部去掉。如此反复进行,温度范围越来越小,{zh1}就能找出一个合适的温度进行生产。
这家工厂由于使用了0.618法,大大减少试验次数,缩短了试验时间,为国家节约资金约10万元。
上述过程可归纳如下:
设试验区间为[a,b],0.618法要求{dy}个试验点安排再x1=a+(b-a)*0.618处,第二个试验点安排再x2=a+b-x1处。这时,对比x1,x2处的结果,截去“坏点”外边的部分,留下的区间长为L2=(b-a)*0.618,精度为G2=(b-a)*0.618^2,且每个试验点xn可按如下公式计算:
xn=剩于区间左端点+剩余区间右端点-留下的试验点。那么,第n次试验后,留下的区间的长度和精度分别为
Ln=(b-a)*0.618^(n-1)
Gn=(b-a)*0.618^n
等分法与优选法试验结果比较:
将等分法与优选法的试验结果进行比较,得表10-4列出的数据。
优选法的工作原理
为生命采用优选法能以较少的试验次数找到{zj0}点呢?不妨设试验区间是[0,1],x1,x2是区间中的任意两点,并且x1>x2。在不知道试验结果以前,x1和x2哪一个好是不知道的。因此,丢掉[0,x2]与丢掉[x1,1]都有可能.为了试验的公平,我们要求它们一样长,即
x2=1-x1
(1)
(1)
x2应是x1关于试验区间的对称点。
为了有利于试验的继续进行,经过取舍以后,保留的一点(即新范围内所含的以试点)在新范围内仍应处于相应的位置。这就是说,若丢掉[x1,1]留下[0,x1],则已试验点x2在[0,x1],中的位置和x1在[0,1]中的位置应该相似,即其比值相同,因此有
x1/1=x2/x1,
即x1^2=x2.
(2)
(2)
把(1)式代入(2)式得方程
x1^2+x1-1=0
(3)
解得方程,得正根
x1=
(-1)/2
若丢掉[0,x2],同理可求得
x1=(-1)/2
我们把k= (-1)/2
叫做{dy}黄金比。
优选法的适用范围:一是目标看做是某个范围[a,b]内变化的一个变量(单因素)x的函数y=f(x);二是不知道函数y=f(x)的具体表达式,但函数y=f(x)是[a,b]上的单峰函数(或单谷函数)。
优选法的基础是信息定理:设函数y=f(x)是[a.b]上的单峰函数(或单谷函数),x2<x1为试验区间[a.b]上的两点,即a≤x2<x1≤b,x*是它的{zy}点,那么:
1
若f(x1)优于f(x2),则x*∈(x1,b);
2
若f(x1)劣于f(x2),则x*∈(a,x2);
3
若f(x1)=f(x2),则x*∈(x1,x2).
以下从几何上加以说明。
如果x1,x2在点x*的两侧,则无论是丢掉[a,x2],还是丢掉[x1,b],x*点均在留下部分内;如果x1,x2在点x*的同侧,且x1,x2在点x*的左侧,则试验结果必是点x1比点x2
好,即f(x1)优于f(x2),那么丢掉[a,x2]部分,{zj0}点x*不会呗丢掉,即
x*∈(x1,b)。同理,若x1,x2在点x*的右侧,{zj0}点x*也不会被丢掉。
以上便是我了解的有关优选法的一些初浅内容,拿来和大家分享,也希望大家在学习数学建模的过程中一路畅通,收获多多。
参考文献:初等数学建模/黄忠裕——成都:四川大学出版社,