算法融合之爬山遗传算法二

发布时间:2016-12-31 22:07:12   点击数:

在算法融合之爬山遗传算法(一)中,我们有如下的结论:

我们通过将局部寻优算法(爬山算法)与全局寻优算法(遗传算法)结合起来,发挥了其各自的优势,新的算法特点如下:

1、爬山遗传算法比一般的遗传算法收敛性能好,并能保持住优良个体。

如下图:

2、爬山遗传算法能够全局寻优。

现在,我们来看一下这两种算法是如何融合的?

融合

算法融合框图:从框图中可以看出,我们把爬山算法加在了遗传算法的选择操作之前。

这里说下我们为什么这样做?

遗传算法在经过选择,交叉和变异后,下代的质量会有所提高,也就是新解的适应度高。而通常情况下,尤其对于连续的函数,好的解周围往往也是不错的解。这就像在我们生活中,物以类聚,人以群分。如果在此处加上爬山算法,爬山算法会迅速在周围寻找,如果更优秀,替换之。速度很快。而如果不这样做,遗传算法仍会经过选择,交叉和变异的操作在其周围进行寻找,寻找速度慢。

其次,爬山算法设置在遗传算法的大框架下有什么好处呢?

爬山算法找到的是局部最优解。而遗传算法是全局寻优算法,会在全局随机产生新的解,而在新的解周围,我们设置了爬山算法进行寻找该周围区域的解。举个例子吧。

小明家里混进了一只老鼠,整日偷吃东西,实在受不了了,一天大家坐下来开个家庭会议。父亲说,这样下去不行啊,必须把这个老鼠找出来。小明说,恩,找出最适合老鼠藏居的地方就行。我看就是卧室里床下面的那个洞洞里。小红说,不一定啊,厨房里也有个洞洞呢!老父亲说,恩,小明你去卧室找,小红你去厨房找。一人找一个区域。并在各自的区域内找出最适合的地方。这种做法实际上与爬山遗传算法有类似之处。

关键代码

爬山算法的具体代码请参见《爬山算法源代码》,在







































如何治疗白癜风快
寻常型白癜风能治愈吗


欢迎转载,转载请注明原文网址:http://www.mylinedu.com/zysx/6287.html

------分隔线----------------------------