基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法

文档序号:9350429阅读:434来源:国知局
基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法
【技术领域】
[0001] 本发明属于进化技术领域,涉及一种基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法。
【背景技术】
[0002] 粒子群优化算法(ParticleSwarmOptimizer,PS0)是由Kennedy和Eberhart在 研究鸟群觅食行为规律的基础上提出的,是一种新的机遇群体智能的优化算法,通过群体 中粒子间的合作与竞争产生的群体智能指导优化搜索。与一般进化算法相比,粒子群优化 算法是一种更高效的并行搜索算法。由于其实现简单、控制参数较少等特点而受到众多研 究者关注。虽然粒子群算法有很多优点,但该算法也存在"早熟"收敛,进化后期收敛速度较 慢或不易收敛等缺点,对于复杂的优化问题很难搜索到全局最优解。尤其是当这种算法在 解空间内搜索时,有时会出现在全局最优解附近振荡的现象。具体表现在:首先,由于整个 粒子群都是根据全体粒子和自身的搜索经验向着最优解的方向"飞行",在较大的加速项系 数作用下,粒子群有可能错过最优解,在远离最优解的空间里发散,使算法不能收敛;其次, 在算法收敛的情况下,由于所有粒子都向最优解的方向游动,所以所有粒子趋向同一,在很 大程度上失去了粒子间的多样性,使得后期的收敛速度明显变慢,同时算法收敛到一定精 度使,算法无法继续优化,算法所能够达到的精度较低。
[0003]PSO算法的改进主要在参数选择、拓扑结构以及其他优化算法相融合方面。当前典 型的改进算法有:自适应PSO算法、模糊PSO算法、杂交PSO算法、混合粒子算法(HPSO)和离 散PSO算法等等。EberhartShi研究了惯性因子O对优化性能的影响,发现较大的O值 有利于跳出局部极小点,较小的《值有利于算法的收敛,由此提出自适应和模糊算法。自 适应PSO算法通过线性减小co值动态的调整参数《,而模糊PSO算法则在此基础上利用模 糊规则动态调整参数《的值,即构造一个2输入、1输入的模糊推理机来动态地修改惯性因 子。

【发明内容】

[0004]有鉴于此,本发明的目的在于提供一种基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法,该算法首先安排不同类型、同种生物的多个种群,分布并行执 行标准PSO算法,依据粒子的位置数据计算出种群间的相关度,排除相关度底的粒子。针对 粒子群算法和异种群的特点和关系,同时引入扩张变异和扰动的思想。当粒子处于该种群 最优位置时容易陷入局部最优,且此时粒子规模减小,所以有必要对其进行扩张变异到初 始规模,同时使其跳出局部最优;而且异种群虽多且具有各自独立性的一面,但毕竟都是按 一定规则计算,难免不陷入僵局,当算法每迭代到一定次数时对各个粒子群进行扰动。当各 种群找出全局最优解时,将各种群融合为一个总群,利用本基于合作度的异种群并行粒子 群优化算法(Hetero-populationParallelParticleSwarmOptimizationAlgorithm, HPPSO)继续进化,摆脱传统"大鱼吃小鱼"的模式,呈现群体小鱼捕食大鱼模式。
[0005] 本发明中的基于合作度的异种群并行粒子群算法模型,该模型中存在多个粒子异 种群,每个异种群都会对解空间进行搜索;安排同等规模的不同类型群体并行搜索全局最 优解,保持各个种群的独立性和优越性;并行计算种群粒子间的相关度,筛除相关度低的粒 子;引入扩张变异、扰动操作和全局最优空间融合法的方法;根据异种群并行粒子群算法 的特点,给出了MapReduce编程模型的实现方法。所述该模型中存在多个粒子异种群,包 括:确立所述规模参与算法搜索的异种群具备:惯性一一保持原有粒子速度和位移属性、认 知 搜索能力、社会 信息共孚能力、合作度。
[0006] 为达到上述目的,本发明提供如下技术方案:
[0007] -种基于合作度的异种群并行粒子群算法,包括以下步骤:
[0008] 步骤一、对异种群进行初始化,包括种群数量N,粒子的位置、速度和适应值;
[0009] 步骤二、计算个体适应值,相关度和扩张变异;
[0010] 步骤三、根据适应值排序,选取适应值最高的N'个种群,降序排列到种群1到N' 之间;
[0011] 步骤四:判断收敛条件;
[0012] 步骤五:完成异种群的融合过程;
[0013] 步骤六:利用合作度速度更新公式,融合种群继续迭代直到达到结束。
[0014] 进一步,在步骤五和步骤六中,采用全局最优空间融合法,具体包括以下步骤:
[0015] 异种群在完成群内迭代后,各粒子保持原有运动方向和运动速度,以种群为单位 融合成一个总群;
[0016] 在完成群内迭代后,选取所述种群的全局最优粒子及其位置和适应值;
[0017] 从所有种群的全局最优粒子及其位置和适应值中分别选取总群相应的当前全局 最优粒子N。及其位置X。和适应值f。;
[0018] 选取距离总群最优粒子N。最近的全局最优粒子Nni。及其位置X。和最远全局最优粒 子Nnif其位置Xf,最近和最远距离分别记为D11^Dnif;
[0019] 利用各种群的全局最优粒子代表本种群,利用总群的全局最优粒子N。代表融合种 群,将总群当前全局最优粒子N。作为中心点;
[0020] 将其他种群都排列在以N。为球心,D。为半径的球面空间上,确保异种群间最大的 信息共享程度,使当前全局最优粒子的经验发挥到最大;
[0021] 异种群以其群内全局最优粒子为基准,维持所有粒子的原有位移、速度和拓扑结 构不变,其中D。= (Dn^Dnif)/2。
[0022] 进一步,在步骤六中,利用合作度速度更新公式,融合种群继续迭代直到达到结 束;
[0023] 异种群粒子群算法种群合作度分析,包括:
[0024] 所述模型中异种群必须具有一定的信息交互能力,异种群之间可以进行并保持通 f目;
[0025]鸟类的异种群中都具有飞行速度(flightspeed,fs)、搜索食物的能力(search capability,sc)以及种群间的信息交流(exchangeofinformation,ei);
[0026] 所述飞行速度、搜索食物的能力和种群间的信息交流三项性能直接影响异种群的 合作度,影响粒子群算法的全局搜索能力、收敛速度、精度和稳定性,对所述三项性能量化, 对其数据做归一化处理后,抽象出异种群间的合作度(degreeofcooperation,dc)公式, 作为异种群间合作关系的衡量标准;两个种群间的合作度公式如下:
[0027] dc=fs+sc+ei
[0028] 其中,fs,sc和ei是三个在(0, 1]范围内变化的随机数;
[0030] 由上可知,dc彡3 ;当两个种群完全相同时,dc= 3 ;同时将合作度引入到速度更 新公式中,将粒子群搜索最优解的公式重新定义为:
[0032]Xi(t+1) =Xi(t)+Vi(t+1)〇
[0033] 进一步,利用所述的异种群并行粒子群算法进行MapReduce编程模型的实现方 法,包括:
[0034] 通过安排具有不同进化群体且具有一定信息交流能力的粒子群,即异种群;
[0035] 利用不同进化特性的粒子群体分布、协同进化,使得粒子在进化过程中有不同飞 行特性的粒子群体并行进化;
[0036] 在种群更新粒子群速度和位置,更新每个粒子及全局最优粒子及其位置和适应 值;
[0037] 根据各粒子的位置数据计算各种群粒子的相关度,由于相关度衡量粒子的合群 性,而粒子群在进化的过程中要保证粒子一定程度的合群性,所以筛除相关度底的粒子;
[0038] 为保证种群规模不受影响,采用扩张变异的方法将种群规模恢复到初始化规模;
[0039] 将异种群按照全局最优空间融合方法归为一个总群;
[0040] 利用重新定义的粒子群搜索最优解的公式分别继续更新粒子的速度和位置。
[0041] 本发明的有益效果在于:本发明最大程度的展现出种群的多样性;将群体智慧融 为一体,发挥了群体的最大全局搜索能力;所述算法提高了种群多样性,避免了粒子陷入局 部最优,提高了解空间搜索最优解的效率,在一定程度上提高了算法的全局收敛性能。
【附图说明】
[0042] 为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行 说明:
[0043] 图1为本发明实施例中异种群并行粒子群执行流程示意图;
[0044] 图2为本发明实施例一中异种群融合方案流程图;
[0045] 图3为本发明实施例一中种群融合全局最优空间融合示意图;
[0046] 图4为本发明实施例二中MapReduce编程模型详细执行过程示意图;
[0047] 图5为本发明实施例二中异种群并行粒子群的MapReduce并行化实现示意图。
【具体实施方式】
[0048] 下面将结合附图,对本发明的优选实施例进行详细的描述。
[0049] 实施例一:
[0050] 图1为本发明实施例中异种群并行粒子群执行流程示意图,实施例一提供了一种 异种群间的种群融合方案。参考如下表实例化一个小规模问题,利用全局最优空间融合法 将该异种群融合。假设该异种群由7种鸟类组成,N。为当前全局最优粒子。
[0051] 全局最优粒子空间距离如下表:
[0052]
[0054] 由上表可知D。= (DniJDnif)A= (10+2)/2 = 6,即异种群都以自己的群内全局最优 粒子为代表围绕在以D。为球心,6为半径的球面上。根据附图2,进行异种群融合种群规模 扩展分析。
[0055] 以所述小规模问题为标准规模问题,将选取出来的全局最优粒子依照附图3所示 的模型进行排列,相应的表示其各自种群在融合后的排列形式。当种群数量N(N> 2)不确 定时执行如下融合方案:
[0056] 201 :当N多8时,以种群全局最优粒子为衡量因子,从各异种群中选取7个群内全 局最优粒子,代表各自种群,编号为0-6 ;从所有种群的全局最优粒子选取与总群相对应的 当前全局最优粒子N。,代表融合种群;将选取出来的7个粒子依照图2所示的模型进行排 列,相应地表示其各自种群在融合后的排列形式。
[0057] 202:当2 <N< 8时,以种群全局最优粒子为衡量因子,从各异种群中选取N个群 内全局最优
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1