CN105069503A - 基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 - Google Patents
基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 Download PDFInfo
- Publication number
- CN105069503A CN105069503A CN201510458269.9A CN201510458269A CN105069503A CN 105069503 A CN105069503 A CN 105069503A CN 201510458269 A CN201510458269 A CN 201510458269A CN 105069503 A CN105069503 A CN 105069503A
- Authority
- CN
- China
- Prior art keywords
- particle
- population
- group
- xenogenesis
- degree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法,属于进化技术领域。在本发明中,首先,安排同等规模的不同类型群体并行搜索全局最优解,保持各个种群的独立性和优越性;其次,通过并行计算种群粒子间的相关度,筛除相关度低的粒子,同时引入扩张变异、扰动操作和种群融合的方法;最后,根据异种群并行粒子群算法的特点,给出了MapReduce编程模型的实现方法。本发明充分利用了MapReduce的高度并行性,结合异种群并行粒子群增强了群体的多样性,从而提高了寻找最优解。
Description
技术领域
本发明属于进化技术领域,涉及一种基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法。
背景技术
粒子群优化算法(ParticleSwarmOptimizer,PSO)是由Kennedy和Eberhart在研究鸟群觅食行为规律的基础上提出的,是一种新的机遇群体智能的优化算法,通过群体中粒子间的合作与竞争产生的群体智能指导优化搜索。与一般进化算法相比,粒子群优化算法是一种更高效的并行搜索算法。由于其实现简单、控制参数较少等特点而受到众多研究者关注。虽然粒子群算法有很多优点,但该算法也存在“早熟”收敛,进化后期收敛速度较慢或不易收敛等缺点,对于复杂的优化问题很难搜索到全局最优解。尤其是当这种算法在解空间内搜索时,有时会出现在全局最优解附近振荡的现象。具体表现在:首先,由于整个粒子群都是根据全体粒子和自身的搜索经验向着最优解的方向“飞行”,在较大的加速项系数作用下,粒子群有可能错过最优解,在远离最优解的空间里发散,使算法不能收敛;其次,在算法收敛的情况下,由于所有粒子都向最优解的方向游动,所以所有粒子趋向同一,在很大程度上失去了粒子间的多样性,使得后期的收敛速度明显变慢,同时算法收敛到一定精度使,算法无法继续优化,算法所能够达到的精度较低。
PSO算法的改进主要在参数选择、拓扑结构以及其他优化算法相融合方面。当前典型的改进算法有:自适应PSO算法、模糊PSO算法、杂交PSO算法、混合粒子算法(HPSO)和离散PSO算法等等。EberhartShi研究了惯性因子ω对优化性能的影响,发现较大的ω值有利于跳出局部极小点,较小的ω值有利于算法的收敛,由此提出自适应和模糊算法。自适应PSO算法通过线性减小ω值动态的调整参数ω,而模糊PSO算法则在此基础上利用模糊规则动态调整参数ω的值,即构造一个2输入、1输入的模糊推理机来动态地修改惯性因子。
发明内容
有鉴于此,本发明的目的在于提供一种基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法,该算法首先安排不同类型、同种生物的多个种群,分布并行执行标准PSO算法,依据粒子的位置数据计算出种群间的相关度,排除相关度底的粒子。针对粒子群算法和异种群的特点和关系,同时引入扩张变异和扰动的思想。当粒子处于该种群最优位置时容易陷入局部最优,且此时粒子规模减小,所以有必要对其进行扩张变异到初始规模,同时使其跳出局部最优;而且异种群虽多且具有各自独立性的一面,但毕竟都是按一定规则计算,难免不陷入僵局,当算法每迭代到一定次数时对各个粒子群进行扰动。当各种群找出全局最优解时,将各种群融合为一个总群,利用本基于合作度的异种群并行粒子群优化算法(Hetero-populationParallelParticleSwarmOptimizationAlgorithm,HPPSO)继续进化,摆脱传统“大鱼吃小鱼”的模式,呈现群体小鱼捕食大鱼模式。
本发明中的基于合作度的异种群并行粒子群算法模型,该模型中存在多个粒子异种群,每个异种群都会对解空间进行搜索;安排同等规模的不同类型群体并行搜索全局最优解,保持各个种群的独立性和优越性;并行计算种群粒子间的相关度,筛除相关度低的粒子;引入扩张变异、扰动操作和全局最优空间融合法的方法;根据异种群并行粒子群算法的特点,给出了MapReduce编程模型的实现方法。所述该模型中存在多个粒子异种群,包括:确立所述规模参与算法搜索的异种群具备:惯性——保持原有粒子速度和位移属性、认知——搜索能力、社会——信息共享能力、合作度。
为达到上述目的,本发明提供如下技术方案:
一种基于合作度的异种群并行粒子群算法,包括以下步骤:
步骤一、对异种群进行初始化,包括种群数量N,粒子的位置、速度和适应值;
步骤二、计算个体适应值,相关度和扩张变异;
步骤三、根据适应值排序,选取适应值最高的N’个种群,降序排列到种群1到N’之间;
步骤四:判断收敛条件;
步骤五:完成异种群的融合过程;
步骤六:利用合作度速度更新公式,融合种群继续迭代直到达到结束。
进一步,在步骤五和步骤六中,采用全局最优空间融合法,具体包括以下步骤:
异种群在完成群内迭代后,各粒子保持原有运动方向和运动速度,以种群为单位融合成一个总群;
在完成群内迭代后,选取所述种群的全局最优粒子及其位置和适应值;
从所有种群的全局最优粒子及其位置和适应值中分别选取总群相应的当前全局最优粒子N0及其位置x0和适应值f0;
选取距离总群最优粒子N0最近的全局最优粒子Nmc及其位置xc和最远全局最优粒子Nmf其位置xf,最近和最远距离分别记为Dmc、Dmf;
利用各种群的全局最优粒子代表本种群,利用总群的全局最优粒子N0代表融合种群,将总群当前全局最优粒子N0作为中心点;
将其他种群都排列在以N0为球心,D0为半径的球面空间上,确保异种群间最大的信息共享程度,使当前全局最优粒子的经验发挥到最大;
异种群以其群内全局最优粒子为基准,维持所有粒子的原有位移、速度和拓扑结构不变,其中D0=(Dmc+Dmf)/2。
进一步,在步骤六中,利用合作度速度更新公式,融合种群继续迭代直到达到结束;
异种群粒子群算法种群合作度分析,包括:
所述模型中异种群必须具有一定的信息交互能力,异种群之间可以进行并保持通信;
鸟类的异种群中都具有飞行速度(flightspeed,fs)、搜索食物的能力(searchcapability,sc)以及种群间的信息交流(exchangeofinformation,ei);
所述飞行速度、搜索食物的能力和种群间的信息交流三项性能直接影响异种群的合作度,影响粒子群算法的全局搜索能力、收敛速度、精度和稳定性,对所述三项性能量化,对其数据做归一化处理后,抽象出异种群间的合作度(degreeofcooperation,dc)公式,作为异种群间合作关系的衡量标准;两个种群间的合作度公式如下:
dc=fs+sc+ei
其中,fs,sc和ei是三个在(0,1]范围内变化的随机数;
由上可知,dc≤3;当两个种群完全相同时,dc=3;同时将合作度引入到速度更新公式中,将粒子群搜索最优解的公式重新定义为:
xi(t+1)=xi(t)+vi(t+1)。
进一步,利用所述的异种群并行粒子群算法进行MapReduce编程模型的实现方法,包括:
通过安排具有不同进化群体且具有一定信息交流能力的粒子群,即异种群;
利用不同进化特性的粒子群体分布、协同进化,使得粒子在进化过程中有不同飞行特性的粒子群体并行进化;
在种群更新粒子群速度和位置,更新每个粒子及全局最优粒子及其位置和适应值;
根据各粒子的位置数据计算各种群粒子的相关度,由于相关度衡量粒子的合群性,而粒子群在进化的过程中要保证粒子一定程度的合群性,所以筛除相关度底的粒子;
为保证种群规模不受影响,采用扩张变异的方法将种群规模恢复到初始化规模;
将异种群按照全局最优空间融合方法归为一个总群;
利用重新定义的粒子群搜索最优解的公式分别继续更新粒子的速度和位置。
本发明的有益效果在于:本发明最大程度的展现出种群的多样性;将群体智慧融为一体,发挥了群体的最大全局搜索能力;所述算法提高了种群多样性,避免了粒子陷入局部最优,提高了解空间搜索最优解的效率,在一定程度上提高了算法的全局收敛性能。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明实施例中异种群并行粒子群执行流程示意图;
图2为本发明实施例一中异种群融合方案流程图;
图3为本发明实施例一中种群融合全局最优空间融合示意图;
图4为本发明实施例二中MapReduce编程模型详细执行过程示意图;
图5为本发明实施例二中异种群并行粒子群的MapReduce并行化实现示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
实施例一:
图1为本发明实施例中异种群并行粒子群执行流程示意图,实施例一提供了一种异种群间的种群融合方案。参考如下表实例化一个小规模问题,利用全局最优空间融合法将该异种群融合。假设该异种群由7种鸟类组成,N0为当前全局最优粒子。
全局最优粒子空间距离如下表:
由上表可知D0=(Dmc+Dmf)/2=(10+2)/2=6,即异种群都以自己的群内全局最优粒子为代表围绕在以D0为球心,6为半径的球面上。根据附图2,进行异种群融合种群规模扩展分析。
以所述小规模问题为标准规模问题,将选取出来的全局最优粒子依照附图3所示的模型进行排列,相应的表示其各自种群在融合后的排列形式。当种群数量N(N≥2)不确定时执行如下融合方案:
201:当N≥8时,以种群全局最优粒子为衡量因子,从各异种群中选取7个群内全局最优粒子,代表各自种群,编号为0-6;从所有种群的全局最优粒子选取与总群相对应的当前全局最优粒子N0,代表融合种群;将选取出来的7个粒子依照图2所示的模型进行排列,相应地表示其各自种群在融合后的排列形式。
202:当2<N<8时,以种群全局最优粒子为衡量因子,从各异种群中选取N个群内全局最优粒子,代表各自种群,编号为0-(N-1);从所有种群的全局最优粒子选取与总群相对应的当前全局最优粒子N0,代表融合种群;将N0粒子依照图2所示的模型排列到球心,其余N-1个粒子随机选择N1到N6中的N-1个位置排列,相应地表示其各自种群在融合后的排列形式。
203:当N=2时,以种群全局最优粒子为衡量因子,从各异种群中选取2个群内全局最优粒子,代表各自种群,编号为0、1;从这俩个种群的全局最优粒子选取与总群相对应的当前全局最优粒子N0,代表融合种群;将N0粒子依照图4所示的模型排列到球心,另一个粒子随机选择N1到N6中的1个位置排列,相应地表示其各自种群在融合后的排列形式。
本实施例中,本发明提出的异种群间的种群融合,是在完成群内迭代后,选取该种群的全局最优粒子及其位置和适应值;用各种群的全局最优粒子代表本种群,用总群的全局最优粒子代表融合种群,将总群当前全局最优粒子作为中心点;将其他种群都排列在以局最优粒子为球心,距离总群最优粒子最近的全局最优粒子和最远的全局最优粒子距离的平均值作为半径的球面空间上。异种群以其群内全局最优粒子为基准,维持所有粒子的原有位移、速度和拓扑结构不变。
实际搜索全局最优解的过程中,种群粒子的排列方式严重影响粒子的信息共享程度,为保证异种群间最大的信息共享程度,本发明提供了全局最优空间融合法,使得当前全局最优粒子的经验发挥到最大,促进了算法的收敛速度。
实施例二:
随着粒子群算法的种群规模和迭代代数显著增加,导致串行计算方法的时间复杂度比较高,处理能力存在局限性。本发明基于Hadoop技术的云计算基础平台上研究了异种群并行化粒子群算法的MapReduce并行编程实现方法。
附图4,描述了MapReduce的运行机制:在数据输入阶段,JobTracker获得待计算数据片在NameNode上存储元信息;在Map阶段,JobTracker指派多个TaskTracker完成Map运算任务并生成中间结果;在Partition阶段完成中间结果对Reducer的分派,在Shuffle阶段完成中间结果的混排交换;JobTracker指派TaskTracker完成Reduce任务;Reduce任务完成后通知JobTracker与NameNode以产生最后的输出结果。
基于以上MapReduce模型,本发明提出的异种群并行粒子群算法进行MapReduce的基本思路是:把标准的串行粒子群算法的每一次迭代变为一次MapReduce过程。其中,在Map中完成计算个体适应值,相关度,扩张变异的操作;Reduce则判断是否满足收敛条件,若为“是”,则进入到种群融合阶段,利用基于合作的的更新公式继续迭代,否则,进入下一次MapReduce过程。与普通的MapReduce过程不同,在Map阶段结束后,异种群并行粒子群算法的MapReduce通过Partition实现并行化,在各种群间用个体适应度排序选取最优的方法,即依据种群的初始规模,选取满足融合方案的最优种群数量N’。
图5为本发明实施例二中异种群并行粒子群的MapReduce并行化实现示意图,异种群并行粒子群算法(HPPSO)的MapReduce并行化实现过程如下:
501:将目标函数改造为小规模问题,确定异种群规模N、最大迭代次数以及其他PSO相关系数,并规定各种群按标准PSO算法计算。
502:
步骤1:随机初始化产生t=0代所有粒子个体的位置、速度及计算器适应值;第0代粒子的个体最优位置及最优值分别取值为其初始化位置和适应值,并选取各种群及总群的全局最优粒子及其位置和适应值。
步骤2:更新迭代次数t=t+1,当算法迭代到一定次数时进行一次扰动操作。
步骤3:并行计算各种群粒子间的相关度,筛除相关度低的粒子;同时根据现有粒子规模S'和原始粒子规模S计算扩张系数e,e=S'/S。
步骤:4:对处于该种群的所有粒子扩张变异为新种群S”,其变异公式为:S”=e*S',其规模等同于原始规模S。
步骤5:更新异种群速度和位置,更新群内每个粒子及全局最优粒子及其位置和适应值。
503:
步骤:1:选取适应值最高的N’个种群,依照适应度降序排列在种群1到N’之间;
504::
步骤1:判断异种群并行粒子群的收敛条件,满足收敛条件转入步骤9,否则。转入502步骤1;
505:按照本文提出的种群融合方案对异种群进行融合。
506:利用基于合作度的速度位移公式继续迭代搜索。
从N个种群的全局最优粒子及其位置和适应值分别选取总群相应的全局最优粒子及其位置和适应值。判断是否满足终止条件,若不是就返回506,否则结束迭代,输出结果。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (4)
1.一种基于合作度的异种群并行粒子群算法,其特征在于,包括以下步骤:
步骤一、对异种群进行初始化,包括种群数量N,粒子的位置、速度和适应值;
步骤二、计算个体适应值,相关度和扩张变异;
步骤三、根据适应值排序,选取适应值最高的N’个种群,降序排列到种群1到N’之间;
步骤四:判断收敛条件;
步骤五:完成异种群的融合过程;
步骤六:利用合作度速度更新公式,融合种群继续迭代直到达到结束。
2.根据权利要求1所述的一种基于合作度的异种群并行粒子群算法,其特征在于,在步骤五和步骤六中,采用全局最优空间融合法,具体包括以下步骤:
异种群在完成群内迭代后,各粒子保持原有运动方向和运动速度,以种群为单位融合成一个总群;
在完成群内迭代后,选取所述种群的全局最优粒子及其位置和适应值;
从所有种群的全局最优粒子及其位置和适应值中分别选取总群相应的当前全局最优粒子N0及其位置x0和适应值f0;
选取距离总群最优粒子N0最近的全局最优粒子Nmc及其位置xc和最远全局最优粒子Nmf其位置xf,最近和最远距离分别记为Dmc、Dmf;
利用各种群的全局最优粒子代表本种群,利用总群的全局最优粒子N0代表融合种群,将总群当前全局最优粒子N0作为中心点;
将其他种群都排列在以N0为球心,D0为半径的球面空间上,确保异种群间最大的信息共享程度,使当前全局最优粒子的经验发挥到最大;
异种群以其群内全局最优粒子为基准,维持所有粒子的原有位移、速度和拓扑结构不变,其中D0=(Dmc+Dmf)/2。
3.根据权利要求2所述的一种基于合作度的异种群并行粒子群算法,其特征在于,在步骤六中,利用合作度速度更新公式,融合种群继续迭代直到达到结束;
异种群粒子群算法种群合作度分析,包括:
所述模型中异种群必须具有一定的信息交互能力,异种群之间可以进行并保持通信;
鸟类的异种群中都具有飞行速度(flightspeed,fs)、搜索食物的能力(searchcapability,sc)以及种群间的信息交流(exchangeofinformation,ei);
所述飞行速度、搜索食物的能力和种群间的信息交流三项性能直接影响异种群的合作度,影响粒子群算法的全局搜索能力、收敛速度、精度和稳定性,对所述三项性能量化,对其数据做归一化处理后,抽象出异种群间的合作度(degreeofcooperation,dc)公式,作为异种群间合作关系的衡量标准;两个种群间的合作度公式如下:
dc=fs+sc+ei
其中,fs,sc和ei是三个在(0,1]范围内变化的随机数;
其中,fs1、sc1和ei1分别是种群1的飞行速度、搜索食物的能力和种群间的信息交流;fs2、sc2和ei2分别是种群2的飞行速度、搜索食物的能力和种群间的信息交流;由上可知,dc≤3;当两个种群完全相同时,dc=3;同时将合作度引入到速度更新公式中,将粒子群搜索最优解的公式重新定义为:
xi(t+1)=xi(t)+vi(t+1);
其中,vi(t)为粒子i于t时刻的飞行速度;xi(t)为粒子i当前的位置;pi(t)为粒子i所经过的位置中的最好位置;pg(t)为所有粒子经历过的位置中最好位置;c1和c2为加速系数;r1和r2是两个在[0,1]范围内变化的随机数;ω为惯性权重。
4.利用权利要求1至3中任一项所述的异种群并行粒子群算法进行MapReduce编程模型的实现方法,其特征在于,包括:
通过安排具有不同进化群体且具有一定信息交流能力的粒子群,即异种群;
利用不同进化特性的粒子群体分布、协同进化,使得粒子在进化过程中有不同飞行特性的粒子群体并行进化;
在种群更新粒子群速度和位置,更新每个粒子及全局最优粒子及其位置和适应值;
根据各粒子的位置数据计算各种群粒子的相关度,由于相关度衡量粒子的合群性,而粒子群在进化的过程中要保证粒子一定程度的合群性,所以筛除相关度底的粒子;
为保证种群规模不受影响,采用扩张变异的方法将种群规模恢复到初始化规模;
将异种群按照全局最优空间融合方法归为一个总群;
利用重新定义的粒子群搜索最优解的公式分别继续更新粒子的速度和位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510458269.9A CN105069503A (zh) | 2015-07-30 | 2015-07-30 | 基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510458269.9A CN105069503A (zh) | 2015-07-30 | 2015-07-30 | 基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105069503A true CN105069503A (zh) | 2015-11-18 |
Family
ID=54498864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510458269.9A Pending CN105069503A (zh) | 2015-07-30 | 2015-07-30 | 基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069503A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110867224A (zh) * | 2019-10-28 | 2020-03-06 | 南通大学 | 用于大规模脑病历分割的多粒度Spark超信任模糊方法 |
-
2015
- 2015-07-30 CN CN201510458269.9A patent/CN105069503A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110867224A (zh) * | 2019-10-28 | 2020-03-06 | 南通大学 | 用于大规模脑病历分割的多粒度Spark超信任模糊方法 |
CN110867224B (zh) * | 2019-10-28 | 2022-02-08 | 南通大学 | 用于大规模脑病历分割的多粒度Spark超信任模糊方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | An adaptive multi-population differential artificial bee colony algorithm for many-objective service composition in cloud manufacturing | |
Crainic et al. | Parallel meta-heuristics | |
Pace | BSP vs MapReduce | |
Zhang et al. | Dynamic cooperative coevolution for large scale optimization | |
Pacini et al. | Distributed job scheduling based on Swarm Intelligence: A survey | |
Folino et al. | A scalable cellular implementation of parallel genetic programming | |
Desell et al. | An analysis of massively distributed evolutionary algorithms | |
Tawhid et al. | A hybrid social spider optimization and genetic algorithm for minimizing molecular potential energy function | |
CN104572297A (zh) | 一种基于遗传算法的Hadoop作业调度方法 | |
US7860695B2 (en) | Method of creating a load balanced spatial partitioning of a structured, diffusing system of particles | |
Boveiri et al. | A-COA: an adaptive cuckoo optimization algorithm for continuous and combinatorial optimization | |
Zhou et al. | Growable Genetic Algorithm with Heuristic-based Local Search for multi-dimensional resources scheduling of cloud computing | |
Dorronsoro et al. | Combining machine learning and genetic algorithms to solve the independent tasks scheduling problem | |
CN113255873A (zh) | 一种聚类天牛群优化方法、系统、计算机设备和存储介质 | |
Cheng et al. | Multi-strategy adaptive cuckoo search algorithm for numerical optimization | |
CN111414961A (zh) | 一种基于任务并行的细粒度分布式深度森林训练方法 | |
Li et al. | A novel and efficient salp swarm algorithm for large-scale QoS-aware service composition selection | |
Crainic | Parallel meta-heuristic search | |
CN105069503A (zh) | 基于合作度的异种群并行粒子群算法及MapReduce模型的实现方法 | |
Gao et al. | The multi-objective cloud tasks scheduling based on hybrid particle swarm optimization | |
Tsutsui et al. | Fast QAP solving by ACO with 2-opt local search on a GPU | |
CN115001978B (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
Altinoz et al. | Late parallelization and feedback approaches for distributed computation of evolutionary multi-objective optimization algorithms | |
Fomperosa et al. | Task scheduler for heterogeneous data centres based on deep reinforcement learning | |
Nasonov et al. | Metaheuristic coevolution workflow scheduling in cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151118 |
|
RJ01 | Rejection of invention patent application after publication |