【技术实现步骤摘要】
一种基于Spark的并行化萤火虫算法
本专利技术涉及一种并行化萤火虫算法,特别涉及一种基于Spark的并行化萤火虫算法。
技术介绍
萤火虫算法是由一种基于群体搜索的元启发式算法,该算法通过萤火虫个体之间的相互吸引达到寻优的目的。对于任意两只萤火虫,亮度小的萤火虫会被亮度大的萤火虫吸引而向其移动。随着萤火虫之间距离的增加,吸引力和亮度都会逐渐减小。亮度最大的萤火虫随机移动。萤火虫的亮度由待优化的目标函数的值决定。当萤火虫种群规模变大时,传统的萤火虫算法通常需要较长的计算时间才能完成寻优过程。Spark是一种快速、通用的并行计算框架,它的核心是一种称为弹性分布式数据集RDD。Spark通过对RDD进行并行切片,然后分发到集群中的多个节点上完成相应的变换操作,最后由行动操作触发所有的运算。Spark的这种运算方式非常适合并行化萤火虫算法的实现。
技术实现思路
针对大规模种群时传统萤火虫算法中存在的计算性能问题,本专利技术提供一种在Spark集群的多个节点上并行执行的萤火虫算法。本专利技术为解决上述技术问题采用以下技术方案:本专利技术提供一种基于Spark的并行化萤火虫算法,具体步骤如下:步骤1:随机生成初始萤火虫种群,初始化萤火虫位置和亮度,设置算法参数;步骤2:从初始萤火虫种群创建Spark的RDD,并将RDD划分为多个分区分布到Spark集群的多个节点中,每个分区对应一个萤火虫子种群;步骤3:各个萤火虫子种群在各自的节点上进行目标函数值的计算和萤火虫位置的更新,每个萤火虫子种群通过萤火虫位置的更新,寻找到局部最优解;步骤4:将萤火虫子种群合并为完整的萤火虫种群, ...
【技术保护点】
一种基于Spark的并行化萤火虫算法,其特征在于,具体步骤如下:步骤1:随机生成初始萤火虫种群,初始化萤火虫位置和亮度,设置算法参数;步骤2:从初始萤火虫种群创建Spark的RDD,并将RDD划分为多个分区分布到Spark集群的多个节点中,每个分区对应一个萤火虫子种群;步骤3:各个萤火虫子种群在各自的节点上进行目标函数值的计算和萤火虫位置的更新,每个萤火虫子种群通过萤火虫位置的更新,寻找到局部最优解;步骤4:将萤火虫子种群合并为完整的萤火虫种群,找出当前的最优解。
【技术特征摘要】
1.一种基于Spark的并行化萤火虫算法,其特征在于,具体步骤如下:步骤1:随机生成初始萤火虫种群,初始化萤火虫位置和亮度,设置算法参数;步骤2:从初始萤火虫种群创建Spark的RDD,并将RDD划分为多个分区分布到Spark集群的多个节点中,每个分区对应一个萤火虫子种群;步骤3:各个萤火虫子种群在各自的节点上进行目标函数值的计算和萤火虫位置的更新,每个萤火虫子种群通过萤火虫位置的更新,寻找到局部最优解;步骤4:将萤火虫子种群合并为完整的萤火虫种群,找出当前的最优解。2.根据权利要求1所述的一种基于Spark的并行化萤火虫算法,其特征在于,步骤1中初始萤火虫种群包括n只萤火虫其中是一个d维向量,表示萤火虫i在解空间中的位置;用萤火虫的绝对亮度Ii表示萤火虫所在位置处解的目标函数值,设置的算法参数包括最大吸引力β0、...
【专利技术属性】
技术研发人员:戚荣志,李水艳,安纪存,
申请(专利权)人:河海大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。