基于混合优化算法的并行处理方法
【专利摘要】本发明涉及一种基于混合优化算法的并行处理方法,包括:设计并实现了一个通用的主-从式并行计算框架,主进程负责新点的生成、发送、适应值的接收、排序以及收敛性分析工作,从进程则只进行适应值的发送、新点的接收以及正演过程。其中主进程的新点生成过程中,本发明设计了一个结合粒子群算法和遗传算法特点的混合算法,具有粒子群算法的快速收敛性以及遗传算法的全局收敛能力。在此基础上,本发明引入多通信子空间概念,即将整个通信空间分割成多个子通信空间,从进程的正演过程,由多个进程在各自的通信子空间中共同并行完成,进一步加速了求解速度。本发明提高了收敛速度和最优解质量,并且加速了并行反演过程。
【专利说明】基于混合优化算法的并行处理方法
【技术领域】
[0001]本发明涉及数据并行处理,尤其涉及基于混合优化算法的并行处理方法。
【背景技术】
[0002]随着人们对大自然了解的深入,利用数学模型来进行自然现象的模拟成为人们精确认识和研究自然的有力武器,此即正演。而对大多数模型而言,正演模型提出以后,选出一套合适的输入参数是进行正演的必要条件,此即反演。反演问题本质上是一种数学优化问题,即根据初始值通过一定的搜索方向和搜索步长找到问题的最优解。根据经典数学最优化理论,目前成熟的经典优化算法对于问题的正演模型有着严格的限制,如线性模型、二次模型或者有着特定结构的数学模型,目前理论上已经被解决,而现实中的正演模型千差万别,往往含有偏微分方程或超越函数等难以求解的形式,对于此类非线性规划,目前尚无一种一般的算法能够解决所有的非线性数学模型。而在近几十年,随着一系列启发式智能算法的兴起,解决非线性优化问题出现了新的解决方案,这类方法对问题的正演数学模型本身没有任何的要求,模拟了自然演化中的物种进化、动物迁徙等自然形式来进行寻优,经过了几十年的发展,其中最有代表性的是粒子群算法和遗传算法。
[0003]粒子群算法首先生成一系列随机粒子,根据各粒子的位置得到当前问题的适应度并进行移动、搜索。由动物的行为理论,群体中个体的位置不是固定的,个体会按一定的方向进行相应的迁徙以寻找适应度更好的位置。群体中所有的个体的移动方向一方面会参考自身曾经遇到过的适应度最好的位置,也会参考当前整个群体中适应度最好的位置。个体会根据这两个方向以随机的步长进行移动。这样经过若干步的移动之后,整个群体的的位置会往适应度更好的方向移动,某一个个体就可能占据适应度最好的位置。粒子群算法的优点是,由于搜索方向同时参考了个体最优和群体最优,收敛速度非常快。遗传算法首先随机生成一系列染色体,每种染色体对物种的外在表现都会有一定的影响,即物种对自然的适应力不尽相同。由达尔文物种进化理论,种群中的基因将以一定概率被遗传给下一代,这样保持了种群的特征不会发生大的改变,且根据优胜劣汰的原理,好的基因会被更多地保留;再者,由于某些自然因素,某些基因又会发生随机的变异,这样又保证了种群中的基因能够跳出当前的基因库去搜寻更好的基因。如此经过若干代的进化以后,整个种群中的基因会向适应值好的方向发展,最终整个种群达到最好的基因库。遗传算法的优点是,由于基因变异的存在,有能够有效的避免局部最优。因此如果能结合这两种方法的特点,就可以得到收敛速度快,并且全局搜索能力强的混合算法。
[0004]另一方面,近几年随着各学科的发展,计算需求成指数倍增长,大规模的数值模拟成为主要发展趋势,如气象、流体力学等领域做大规模的正演、反演模拟按照当前PC机的计算能力往往需要几个月甚至几年的时间,因此各学科对高性能并行计算的需求日益迫切。而随着计算机科学的发展,高性能计算机的计算能力已经达到几P、几十P,实际上完全能够满足当前的计算需求,唯一的问题是目前应用并行软件的发展并没有跟上硬件的更新步伐。如在模型反演领域,不同参数集的正演过程实际上没有相关性,反演过程本身有着良好的并发度,再加上优化算法良好的寻优能力,进行大规模的反演成为可能,这样许多反演问题就可以迎刃而解。
[0005]当前解决反演问题所使用的方法大多都是独立的优化算法,如遗传算法、模拟退火算法、粒子群算法等,少数能够用到多核资源实现了并行的优化算法。王彦飞总结了地球物理领域所用到计算方法,基于最优化理论,并将反演问题系统地做了总结;施宏对定量气溶胶反演的极大似然估计和Bayes反演进行了分析与阐述;吴秀波利用粒子群算法和郭涛算法进行了地震反演的实验,对混合智能算法进行了尝试;周浩利用OpenMP进行了卫星重力场的并行反演,取得了不错的效果;刘其成利用基于区域分解的模拟退火算法对时移地震进行了并行反演;柳建新利用MPI进行了瞬变电磁测深的一维反演;倪绍虎基于消息传递策略,对传统粒子群算法引入“加速因子”,并将其应用到地下工程并行优化反演中;付天新基于MapReduce技术进行了生态遥感参数反演并行化的实现。各个行业均有自己的反演模型,所使用的反演技术也各有特色,收敛速度也因算法而异,但都有效地解决了各自的反演需求。并行化的反演也已多次被提及,由于并行模型如OpenMP、MPI的加入,使得反演速度大大提高,可以说目前的反演技术处于百花齐放的阶段。
[0006]缺点之一是由于目前反演的寻优算法太繁杂,不同的学科都在做自己的寻优算法,而除去学科因素来看,反演本质上是一个统一的过程,即根据不同的输入参数进行正演,将正演结果与实际值比较,选出最接近实际值的一组参数作为反演的最优参数。在生成新参数阶段,优化算法的选择至关重要,但是现实中不同的学科都在设计各自的优化算法,实际上优化算法都是现成的,每一次重写都是一种重复工作。寻优过程完全可以在考虑了各优化算法的收敛速度、全局搜索能力之后,选择一个能够适应大多数反演需求的优化算法,或者几个优化算法结合,做成一个一般的、能够被各学科可以直接使用的优化框架,这样就可以避免不同学科设计优化算法的重复工作。
[0007]缺点之二是当前反演过程速度太慢。影响反演速度的因素有很多,优化算法、样本大小、收敛因子都直接或间接地影响了收敛速度。但除去这些人为设定因素之外,计算能力也是影响收敛速度的一个重要因素。随着计算机科学的发展,并行计算已经成为处理大型计算程序的主要解决方案。虽然当前的反演方法也有使用并行算法,但并行策略并不统一,各学科设计自己的并行算法也是一种重复工作。反演过程的并行化完全可以考虑现有的并行模型,选出一种最通用的并行方式来设计成一个一般的并行框架,来适应各学科的反演需求。再者,目前反演问题所使用的并行方案中,有使用共享内存的,有使用机群系统的,但都没有考虑扩展性问题,即当处理器增多的时候,或者增加处理机以后,当前的并行方案是否还适应新的架构,是否还需要重新修改并行方案,如果并行方案跟所使用处理器的数量直接相关,那么这个并行方案是不完美的。还有,并行处理使用处理器的数量直接影响了最终的并行效率。无论使用怎样的优化算法、并行架构,能够使用的处理器的数量总是一定的,因为当处理器数达到某个值的以后,再多的处理器并不能继续提高反演速度。因此如何使用更多的处理器来进一步提高反演速度也是当前亟待解决的问题。
【发明内容】
[0008]本发明的目的是提供一种基于混合优化算法的并行处理方法。
[0009]为实现上述目的,本发明提供了一种基于混合算法的并行处理方法,包括:提取当前的第一通信空间的主进程,将第一通信空间中的从进程组成第二通信空间,并且将所述第二通信空间中的从进程进行分割处理,由分割后的从进程组成多个子通信空间;
[0010]所述第二通信空间中的第一数量个子通信空间的首进程发送初始的第一适应值到所述主进程;
[0011]所述主进程接收所述第一适应值,并将所述第一数量个点平均分配给多个种群;获取所述种群最优及当前全局最优信息,采用第一预设算法,迭代确定各点的第一位置参数;
[0012]所述主进程将所述各点的所述第一位置参数发送至第二通信空间的第一数量个子通信空间的首进程,第一数量个子通信空间并行正演,生成第二适应值,并将所述第二适应值发送至所述主进程,所述主进程根据所述第二适应值将所述各点进行排序处理,生成第一点序列;
[0013]对所述第一点序列进行适应性和收敛性分析,在适应性不满足且不收敛时,采用所述第一预设算法更新各点的第一位置参数,并发送至各子通信空间迭代进行并行正演直至满足收敛性;在更新后各点的第一位置参数仍不满足适应性时,对更新后各点的第一位置参数采用第二预设算法,确定各点的第二位置参数并发送给所述第一数量个子通信空间的首进程,所述第一数量个子通信空间并行正演,根据各点的第二位置参数生成第三适应值,所述主进程根据所述第三适应值将所述各点进行排序处理,生成第二点序列;直至满足收敛性和适应性。
[0014]优选地,所述方法之前还包括:所述主进程和从进程构成主进程-从进程并行框架。
[0015]优选地,所述主进程和第二通信空间构成主进程-第二通信空间并行框架,在所述第二通信空间的从进程首次进入所述主`进程-第二通信空间并行框架时,所述主进程接收所述第二通信空间中的第一特定值,所述主进程不进行第一适应值记录。
[0016]优选地,所述第一数量个子通信空间接收各点的第一位置参数,正演过后向主进程发送第二适应值,主进程循环接收第一数量个子通信空间的最新第二适应值,当循环次数大于种群个数时,主进程发送第二特定值给第一数量个子通信空间,结束适应值的计算,主进程根据所述最新第二适应值将所述各点进行排序处理。
[0017]优选地,所述第一预设算法为粒子群算法,根据Κ(Λ + 1) =.&⑷+ Κ/(( + 1)Δ?
计算出粒子的第一位置参数集合;其中,<(幻为第k代第i个种群第j个点的位置,v;(k)为第k代第i个种群第j个点的速度,Λ t为时间间隔。
[0018]优选地,所述 V;(k + l) 通过公式V;(k + \) = ων; (k) + cVl (Xip - Xij {k)) / Δ? + c2r, (XG - Xi^k)) i Δ? 得到,其中,ω 是惯性权重,为
[O, I]之间的一个常数,学习因子Cl,C2是非负常数,r” r2是介于[0,I]之间的随机数,k为迭代次数。
[0019]优选地,所述第二预设算法为遗传算法。
[0020]优选地,所述第二预设算法中,将所述各点等价为染色体,每个染色体被选择的概率通过公式
【权利要求】
1.一种基于混合优化算法的并行处理方法,其特征在于,所述方法包括: 提取当前的第一通信空间的主进程,将第一通信空间中的从进程组成第二通信空间,并且将所述第二通信空间中的从进程进行分割处理,由分割后的从进程组成多个子通信空间; 所述第二通信空间中的第一数量个子通信空间的首进程发送初始的第一适应值到所述主进程; 所述主进程接收所述第一适应值,并将所述第一数量个点平均分配给多个种群;获取所述种群最优及当前全局最优信息,采用第一预设算法,迭代确定各点的第一位置参数; 所述主进程将所述各点的所述第一位置参数发送至第二通信空间的第一数量个子通信空间的首进程,在第一数量个子通信空间中并行正演,生成第二适应值,并将所述第二适应值发送至所述主进程,所述主进程根据所述第二适应值将所述各点进行排序处理,生成第一点序列; 对所述第一点序列进行适应性和收敛性分析,在适应性不满足且不收敛时,采用所述第一预设算法更新各点的第一位置参数,并发送至各子通信空间迭代进行并行正演直至满足收敛性;在更新后各点的第一位置参数仍不满足适应性时,对更新后各点的第一位置参数采用第二预设算法,确定各点的第二位置参数并发送给所述第一数量个子通信空间的首进程,在所述第一数量个子通信空间中并行正演,根据各点的第二位置参数生成第三适应值,所述主进程根据所述第三适应值将所述各点进行排序处理,生成第二点序列;直至满足收敛性和适应性。
2.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,所述方法之前还包括:所述主进程和从进程构成主进程-从进程并行框架。
3.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,所述方法还包括:所述主进程和第二通信空间构成主进程-第二通信空间并行框架,在所述第二通信空间的从进程首次进入所述主进程-第二通信空间并行框架时,所述主进程接收所述第二通信空间中的第一特定值,所述主进程不进行第一适应值记录。
4.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,所述主进程将所述各点的所述第一位置参数发送至第二通信空间的第一数量个进程,第一数量个子通信空间并行正演,生成第二适应值包括: 所述第一数量个子通信空间接收各点的第一位置参数,正演过后向主进程发送第二适应值,主进程循环接收第一数量个子通信空间的最新第二适应值,当循环次数大于种群个数时,主进程发送第二特定值给第一数量个子通信空间,结束适应值的计算,主进程根据所述最新第二适应值将所述各点进行排序处理。
5.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,所述第一预设算法为粒子群算法,根据K.(/c +1) = X){k) + V;(k + 1)Δ/计算出粒子的第一位置参数集合;其中,Xij(T)为第k代第i个种群第j个点的位置,V;(Jc)为第k代第i个种群第j个点的速度,At为时间间隔。
6.如权利要求5所述的基于混合优化算法的并行处理方法,其特征在于,所述G0+ 1)通过公式
7.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,所述第二预设算法为遗传算法。
8.如权利要求7所述的基于混合优化算法的并行处理方法,其特征在于,所述第二预设算法中,将所述各点等价为染色体,每个染色体被选择的概率通过公式
9.如权利要求1所述的基于混合优化算法的并行处理方法,其特征在于,进行适应性和收敛性分析时,如果各点适应性满足,主进程将收敛信息发送至第二通信空间,结束适应性和收敛性分析。
10.如权利要求1-9任一项所述的基于混合优化算法的并行处理方法,其特征在于,所述主进程的发送-接收的循环次数等于种群的个数与从进程个数之和。
【文档编号】G06N3/00GK103646282SQ201310692849
【公开日】2014年3月19日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】陆忠华, 李强, 王彦棡, 单桂华, 田东, 谢茂金 申请人:中国科学院计算机网络信息中心