科学实验中,有相当普遍的一类实验,目标函数只有一个峰值,在峰值的两侧实验效果都差,将这样的目标函数称为单峰函数。
图2-3 上单峰函数
黄金分割法适用于目标函数为单峰函数的情形。所谓黄金分割指的是把长为L的线段分为两部分,使其中一部分对于全部之比等于,它的三位有效数字的近似值就是0.618,所以黄金分割法又称为0.618法。
设实验范围为[a,b],第一次实验点x1选在实验范围的0.618位置上。
第二次实验点选在第一点x1的对称点x2处,即实验范围的0.382位置上。
实验点x1、x2如图2-4所示。
图2-4 0.618法第1、2个试验点分布
设f(x1)和f(x2)表示x1与x2两点的实验结果,且f(x)值越大,效果越好。
(1)如果f(x1)比f(x2)好,根据“留好去坏”的原则,去掉实验范围[a,x2)部分,在剩余范围[x2,b)内继续做实验。
(2)如果f(x1)比f(x2)差,同样根据“留好去坏”的原则,去掉实验范围(x1,b]部分,在剩余范围[a,x1]内继续做实验。
(3)如果f(x1)和f(x2)实验效果一样,去掉两端,在剩余范围[x1,x2]内继续做实验。
根据单峰函数性质,上述三种做法都可使好点留下,将坏点去掉,不会发生最优点丢掉的情况。
继续做实验,第一种境况下,在剩余实验范围[x2,b]上用公式(2-2)计算新的实验点x3。
如图2-5所示,在实验点x3安排一次新的实验。
在第二种情况下,在剩余实验范围[a,x1]上用公式(2-3)计算新的实验点x3。
如图2-6所示,在实验点x3安排一次新的实验。(www.xing528.com)
图2-5 情况①时第三个实验点
图2-6 情况②时第三个实验点
在第三种情况下,在剩余实验范围[x2,x1],用式(2-2)和式(2-3)计算两个新的实验点,x3和x4。
在x3、x4安排两次新的实验。
无论上述三种情况出现哪一种,在新的实验范围内都有两个实验点的实验结果可以进行比较。仍然按照“留好去坏”原则,再去掉实验范围的一段或两段,这样反复做下去,直至找到满意的实验点,得到比较好的实验结果为止;或实验范围已很小,再做下去,实验结果差别不大,则停止实验。
例2-1 为降低水中的浑浊度,需要加入一种药剂,已知其最佳加入量是1 000~2 000g之间的某一点,现在要通过做实验找到它。按照0.618法选点,先在实验范围的0.618处做第1次实验,这一点的加入量可由公式(2-2)计算出来。
再在实验范围的0.382处做第2次实验,这一点的加入量可由公式(2-3)算出,如图2-7所示。
图2-7 降低水中浊度第1、2次实验加药量
比较两次实验结果,x1点较x2点好,则去掉1 382g以左的部分,然后在留下部分再用式(2-2)找出第三个实验点x3。在点x3做第3次实验,在这一点的加入量为1 764g,如图2-8所示。
仍然是x1点好,则去掉1 764g以右的一段,在留下部分按式(2-3)计算得出第四个实验点x4。在点x4做第4次实验,这一点的加入量为1 528g,如图2-9所示。
图2-8 降低水中浊度第三次实验加药量
图2-9 降低水中浊度第四次实验加药量
x4点比x1点好,则去掉1 618~1 764g这一段,在留下部分按同样方法继续做下去,如此重复直至找到最佳点。
0.618法简便易行,对每个实验范围都可计算出两个实验点进行比较,好点留下,从坏点处把实验范围切开,丢掉短而不包括好点的一段,使实验范围缩小。在新的实验范围内,再用式(2-2)、式(2-3)算出两个实验点,其中一个就是刚才留下的好点,另一个是新的实验点。应用此法每次可以去掉实验范围的0.382。因此,该方法可以用较少的实验次数迅速找到最佳点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。