华罗庚黄金分割优选法

二十世纪六十年代,当时数学界掀起了理论联系实际和数学直接为国民经济服务之风,华先生率领一大批数学家走出校门到工农业生产单位去寻求线性规划的实际应用案例,取得了一批应用与理论成果。

华先生考虑生产工艺的(局部)层面,如何选取工艺参数和工艺过程,以快速提高产品质量。由于线性规划和其它一些方法要求繁杂的计算(当时没有计算机),国民教育水平不高,线性规划的方案无法难以进行大规模的推广。华先生总结经验,不断思考,要寻求一些易于被人接受、应用面广的数学方法,提出了优选法,可以用最少的试验次数来找出最优点。这种方法非常简单,对当时中国既缺乏数学人才,又缺乏计算机的企事业单位提高效率起到了巨大的作用。

案例一:

在生产过程中存在大量优化工艺参数的过程,如怎样选取合适的配方,合适的制造过程,使产品的质量最好?在质量标准要求下,如何使产量最高、成本最低、生产过程最快?已有的仪器怎么调试,使其性能最好?

也许有人说我们可以做大量实验,把所有可能性穷尽了。但是大量的实验要花去大量的时间、精力、器材。如一个一平方公里的池塘,我们要找其最深点,如果每隔一米测量一次,那我们必须测量1000*1000次,总共需要一百万个点。假如一天测一万个点,那也需要一百天。

优选法的目的在于减少实验次数,找到最优方案,如上面所说的池塘问题,130次就可以替代一百万次测量。

案例二:

举例我们蒸馒头,想试验一下一公斤面放多少碱合适。按照优选法来说,首先我们要找到这个问题的答案,当然你可以每次增加10%一次次地试验,但是这样可能试验的次数特别多。因此,优选法还希望只进行两三次试验,就找到合适的分量。

优选法的原理就是基于我们前面介绍的黄金分割,因此华先生又称之为“0.618法”。为方便说明,我们就假定影响结果的变量(华先生称之为因子)只有一个,比如做馒头时放碱的量。

我们假定1公斤面粉,放碱的重量范围为0~10克之间,精准度到0.1克。当然碱放得太多太少都不行。我们还假定用不同碱量做出来的馒头的口味是可以量化度量的:

根据优选法,第一次试验取在黄金分割点,也就是0~10克之间6.18克的位置。如果我们发现这样做出来的馒头碱多了,那么怎么办呢?根据华先生的优选法,第二次做试验选择从0到6.18克之间的黄金分割点。

黄金分割有一个特别好的性质,如1:0.618=1.618:1,(1-0.618)/0.618=0.618,这样一来,0到6.18克的黄金分割点正好是10-6.18= 3.82克的位置,这就使得这前后两次找到的黄金分割点,6.18和3.82中间出现了中间点,恰好是5.0克,这两个点距离0-1的中间点0.5距离相同,也就是说5.0成了两次黄金分割点的对称点:

华先生用了一个非常生动形象的方法来解释这一特征,他称之为折纸法,即把第一个黄金分割点,点在一张纸上,然后把纸从中间对折一下,第二个黄金分割点的位置也显就出来了。

黄金分割法适用场景

黄金分割法通常适用于不预先限定试验次数的,单峰的函数,如这样的:

我们假设一个因子,其取值范围为1000~2000。可以制作一张纸条,在两端分别标上1000和2000。取纸条的0.618长度,即因子设定1618,做第一次试验,如下图

把纸条对折过来,得到第一个试验点的镜像点0.382,即因子设定1382,做第二次试验。

比较两次试验,如果(1)好于(2),则将(2)左边的纸条剪掉,反之剪掉(1)右边的纸条,剩下的长度就是原长的0.618。假设(2)比(1)好,剪掉(1)右边的纸条后再将剩下的纸条对折,找到第三个试验点,即1236。

比较两次试验,如果(2)好于(3),则剪掉(3)左边的纸条,留下0.618的长度,然后再对折,找到下一个试验点,直至找到最佳点。

这样的方法需要的试验次数不多,5次试验就可以将范围缩小到原来的0.618^5=0.09,6次可以将范围缩小到原来的0.618^6=0.056,呈指数收敛效果。

黄金分割法与二分法适应场景差异

单峰函数找极值适用黄金分割法,单调函数找零点适合二分法。单峰函数找极值的时候,二分法是不能够一次实验就把可行区域一分为二,我们不能断言极值一定在右边半个区域。我们需要四个点,极值一定在第二个点到第四个点之间,但不能确定是第三个点左侧还是右侧。使用黄金分割法的时候,第二个点和第三个点构成区间的黄金分割,当确定是在第二个点到第四个点的时候,第三个点刚好是新区间的黄金分割,可以在下一次实验中复用,这样就大大减少了实验次数。

发布了19 篇原创文章 · 获赞 2 · 访问量 3130

猜你喜欢

转载自blog.csdn.net/beyondqinghua/article/details/105171466