1. 混合蛙跳算法简介
(以下描述,均不是学术用语,仅供大家快乐的阅读)
混合蛙跳算法(Shuffled Frog Leaping Algorithm)是根据青蛙在石块上觅食时的种群分布变化而提出的算法。算法提出于2003年,时间有点久远,但相关的论文并不是特别多,仍有较大的研究和改进空间。
混合蛙跳算法中,每个青蛙的位置代表了一个可行解。青蛙所在的池塘中有数块石块,每一代,青蛙们会被分配到石块上。在这一代中,只有石块上位置最差的青蛙会跳动。该青蛙首先会向着同一个石块上的最优位置的青蛙跳动,如果新的位置比原位置差则向则全局最优位置跳动,若该位置仍旧比原位置差则在解空间内随机跳动一次。可以看出每只跳动青蛙在每代中至少跳动一次,至多跳动三次,但由于每次跳动的青蛙数量等于石块数,故当石块数<青蛙数/3时,每代总跳动次数小于青蛙总数。
(查找文献追根溯源的时候看到了一个有趣的现象,原始的提出论文提出于2000年(Shuffled frog leaping algorithm:a memetic meta-heuristic for combinatorial optimization.)但是到2006年才出版,而2003年的论文(Optimization of Water Distribution Network Design Using the Shuffl