求解约束优化问题的元胞混洗蛙跳算法及应用
2021-03-09姜慧清郭玉洁
张 强, 姜慧清, 王 颖, 郭玉洁
(东北石油大学 计算机与信息技术学院, 黑龙江 大庆 163318)
0 引 言
混洗蛙跳算法[1](SFLA: Shuffled Frog Leaping Algorithm)在求解优化问题时具有以下优势: 1) 采用多族群的种群结构, 使其能很好地求解具有不连续的、 非凸的、 存在局部最优等特点的复杂目标函数, 且易实现并行计算; 2) 采用多子群全局寻优和局部寻优相结合的模因进化机制, 使算法拥有较好的全局寻优能力和快速收敛效率, 已被应用于函数优化[2-3]、 车间调度[4]、 故障诊断[5]、 聚类问题[6]和图像处理[7]等多个领域。但SFLA在解决多模优化问题时也存在寻优精度低、 易于陷入局部最优的问题。许多学者在族群多样化[8-9]、 进化方式改进[10-13]和算法融合[14-15]等方面做了一些研究。分析其原因主要是由混洗蛙跳算法的分组方法与进化方式引起的。SFLA的分组是通过适应值降序排序后进行分组, 导致最后一个子群的青蛙都不如之前子群中的青蛙, 而SFLA的进化方式是先参照子群内最优青蛙, 再参照族群内最优青蛙, 这样最后子群的青蛙可能需要较多的进化计算, 并且最差青蛙进化公式中没有有效借鉴族群内其他青蛙的进化信息, 导致子群易于被限制在较小的寻优空间。元胞自动机[16](CA: Cellular Automata)是依据一定演化规则在离散时间维上同步演化的动力学系统, 能通过简单的局部转换规则模拟全局演化的复杂情况, 已广泛应用于社会、 经济和科学研究的相关领域[17-18]。目前元胞自动机理论与智能进化算法相结合方面的研究主要有元胞遗传算法[19]、 元胞微粒群算法[20]、 元胞蝙蝠算法[21]和元胞差分进化算法[22]等。……
