[发明专利]一种基于Spark的分布式进化算法岛模型并行化方法有效
申请号: | 201711461284.4 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108182243B | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 周东清;孙康丽;程春田;武新宇 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06N3/12 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 陈玲玉 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于进化算法分布式并行领域,提供了一种基于Spark的分布式进化算法岛模型并行化方法。该方法解决单机进化算法求解大规模组合优化的效率问题,实现基于岛模型的同质与异质分布式进化算法,其中异质算法能提高种群的多样性,避免未成熟收敛的问题。在Spark集群环境下,实现了多个子种群的同质与异质分布式并行,并通过Spark的广播变量或集中式服务器两种方式实现迁移算子。基于Spark平台,分布式进化算法通过分而治之的思想将整个种群分布到集群不同的节点执行独立地进化过程,提升了求解效率,并且因种群在迁移周期内进行子种群交换而提高了整个种群的求解精度。 | ||
搜索关键词: | 一种 基于 spark 分布式 进化 算法 模型 并行 方法 | ||
【主权项】:
1.一种基于Spark的分布式进化算法岛模型并行化方法,其特征在于,包括如下步骤:步骤1:对所要解决的现实优化问题进行数学建模,定义分布式进化算法中的个体表示方式,初始化生成染色体向量后,根据优化目标,建立染色体向量到目标函数值的映射,初始化目标函数;所述个体包括染色体向量、所属子种群的标志、目标函数值和是否满足问题约束属性;所述的染色体向量包括染色体向量的编码方式、染色体向量的维数以及每一维的约束,都根据所求实际问题进行定义;所述所属子种群的标志,用于在进行分区间个体交换时,子种群迁出个体到达共享变量后,再根据该标志决定个体迁入的分区;所述的是否满足问题约束属性,即在计算目标函数过程中以及后续的进化算子变化染色体向量时,判别染色体向量是否满足问题约束;步骤2:定义迁移操作,包括判断迁移条件、制定迁移选择策略,制定迁移替换策略以及迁移拓扑;所述的迁移拓扑规定了子种群之间进行个体交换的图以及基于拓扑编写的每个子种群从其他子种群迁入个体时所使用的映射函数;其中,个体交换的图包括环状、花环状或立方体状;迁移拓扑中的每个子种群初始化进化算子,对于同质算法,只需要初始化一个进化算子;对于异质进化,每个子种群应用相同进化算子但进化参数不同的异质,或者子种群应用不同进化算子的异质,或者是子种群应用不同进化算法进化;步骤3:利用RDD的创建操作,将步骤1产生的个体集合初始化成RDD,RDD的分区数量与迁移拓扑中定义的子种群数量相同,每个子种群相当于RDD的一个分区,RDD执行mapPartitionsWithIndex转换操作,其传入的函数类型表示对RDD分区的进化操作;当执行同质进化时,所有子种群都执行同样的操作;当执行异质进化时,每个分区执行不同的进化算子在该函数内部,根据该函数的Int类型参数,对各个分区映射步骤2中初始化的不同的进化算子,实现异质的分布式进化算法;步骤4:当进化代数到达步骤2定义的迁移条件,分布式进化算法执行迁移操作,按照步骤2中迁移选择策略选出的个体发送到所有分区共享的变量中,然后每个分区从该集群的共享变量中取出迁入自己分区的个体,根据迁移替换策略替换原有分区上个体,形成新的子种群,继续执行迭代进化;步骤5:当进化过程到达结束条件,所有分区选择出最优个体;然后对RDD执行collect行动操作,将RDD的每个分区的最优个体返回到Driver节点,以数组的形式保存在Driver的内存中;对得到的数组进行内部排序,得到优化结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711461284.4/,转载请声明来源钻瓜专利网。