-
仿生计算的混合蛙跳算法Matlab代码
资源介绍
在自然界的池塘中常常生活着一群青蛙,并且分布着许多石头,青蛙通过在不同的石头间进行跳跃去寻找食物较多的地方。每只青蛙通过跳跃到不同的石头来提高自己寻找食物的能力,而青蛙个体之间通过思想的交流与共享,实现信息的交互。混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFLA)是模拟青蛙觅食过程中群体信息共享和交流机制而产生的一种群体智能算法,是一种全新的启发式群体智能进化算法。该算法由Eusuff和Lansey在2003年首次提出,并成功解决管道网络扩充中管道尺寸的最小化问题。关于蛙跳算法的研究目前还比较少,近年来国内外一些学者多将混合蛙跳算法用于优化问题、旅行商问题、模糊控制器设计等方面。
混合蛙跳算法的实现机理是通过模拟现实自然环境中青蛙群体在觅食过程中所体现出的协同合作和信息交互行为,来完成对问题的求解过程。每只青蛙被定义为问题的一个解。整个青蛙群体采用模因分组方法分为不同的子群体,来模拟青蛙的聚群行为,每个子群体称为模因分组。模因组中的每只青蛙都有为了靠近目标而努力的想法,具有对食物源远近的判断能力,并且受其他青蛙影响,这里称为文化。每个模因组都有自己的文化,影响着其他个体,并随着模因组的进化而进化。在模因组的每一次进化过程中,在每个模因组中找到组内位置最好和最差的青蛙。组内最差青蛙采用类似于粒子群算法中的速度位移模型操作算子,执行局部位置更新,对最差青蛙位置进行调整。模因组内经过一定次数的模因进化后,不同模因组间的青蛙重新混合成整个群体,实现各个模因组间的信息交流与共享,直到算法执行完预定的种群进化次数结束。
- 上一篇: 关于acm青蛙过河的一道题代码acm
- 下一篇: acm课件 HDU 算法大全