CN111176865B - 一种基于优化算法的对等模式并行处理方法及框架 - Google Patents
一种基于优化算法的对等模式并行处理方法及框架 Download PDFInfo
- Publication number
- CN111176865B CN111176865B CN201911415137.2A CN201911415137A CN111176865B CN 111176865 B CN111176865 B CN 111176865B CN 201911415137 A CN201911415137 A CN 201911415137A CN 111176865 B CN111176865 B CN 111176865B
- Authority
- CN
- China
- Prior art keywords
- sub
- management process
- optimal solution
- receiving
- convergence
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Abstract
本发明提供了一种基于优化算法的对等模式并行处理方法及框架,其中,方法步骤包括:主管理进程进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;子管理进程进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;计算进程进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。
Description
技术领域
本发明涉及水文模拟计算技术,尤其涉及一种基于优化算法的对等模式并行处理方法及框架。
背景技术
在采用水文模型进行水文模拟和预报时,水文工作者一项重要的任务是去寻找水文模型的最优参数集,水文模型模拟的得好坏程度主要就是依赖于水文模型的参数集的选择。因此水文模型中的参数率定部分也就显得很重要,因为这在一定程度上决定了模型的模拟精度。不同的流域包含自己的模型参数,要得到一套适合当前流域的参数集合,传统的方式要么依靠经验,要么通过率定算法进行搜索,而参数空间维度通常高达十几、二十维,高维参数空间搜索计算量巨大,传统搜索方式已经难以实施。随着高性能并行计算技术逐渐兴起,将并行计算技术引入水文模型中进行参数率定是非常必要的,同时也为大尺度水文模拟提供了可能性。参数率定的目标是尽可能快地为待研究流域中的各个子流域寻找一套“最优”的模型参数组,使得使用该参数组进行水文模拟后的模拟结果和观测结果的差异最小。本文采用纳什(Nash-Suttcliffe)系数做为判断参数率定效果的依据,纳什系数越接近于1,模拟结果和观测结果的差异越小。
并行计算是一种同时进行许多计算或执行进程的计算类型,其基本思想是用多个处理器来协同求解同一问题,即大问题分解为小问题,然后通过多个处理器来解决小问题以达到同时解决的效果。许多问题都会运用到并行计算,比如计算流体动力学、天文物理、生物学、遗传学、气候模拟、水文模拟、医学等。随着各个领域需要大量数据的计算与处理,并行计算能够有效的提高处理效率。随着超级计算机的出现和高性能并行计算技术的飞速发展,针对分布式大尺度水文模拟中参数率定计算的严重性能瓶颈,并行计算可以被用于水文模拟,以大幅提高参数率定计算效率。
本文以粒子群算法和遗传算法为例,说明参数率定混合优化的并行实现过程。
粒子群算法是由Kennedy和Eberhart提出的基于群体智能的进化计算方法。粒子群中的粒子通过个体最优以及全局最优来更新每个粒子的速度和位置,从而取得更优解,并逐步向最优解靠近。首先生成一系列随机粒子,根据各粒子的位置得到当前问题的适应度并进行移动、搜索。由动物的行为理论,群体中个体的位置不是固定的,个体会按一定的方向进行相应的迁徙以寻找适应度更好的位置。群体中所有的个体的移动方向一方面会参考自身曾经遇到过的适应度最好的位置,也会参考当前整个群体中适应度最好的位置。个体会根据这两个方向以随机的步长进行移动。这样经过若干步的移动之后,整个群体的的位置会往适应度更好的方向移动,某一个个体就可能占据适应度最好的位置。粒子群算法的优点是,由于搜索方向同时参考了个体最优和群体最优,收敛速度非常快。
遗传算法是模拟达尔文进化论的自然选择和孟德尔遗传学的生物进化过程推演出来的一种寻优方法。遗传算法会首先随机生成一系列染色体,每种染色体对物种的外在表现都会有一定的影响,即物种对自然的适应力不尽相同。由达尔文物种进化理论,种群中的基因将以一定概率被遗传给下一代,这样保持了种群的特征不会发生大的改变,且根据优胜劣汰的原理,好的基因会被更多地保留;再者,由于某些自然因素,某些基因又会发生随机的变异,这样又保证了种群中的基因能够跳出当前的基因库去搜寻更好的基因。如此经过若干代的进化以后,整个种群中的基因会向适应值好的方向发展,最终整个种群达到最好的基因库。遗传算法的优点是具有较好的并行性,全局寻优能力强;缺点是收敛速度较慢,局部寻优能力比较差。
针对水文模拟中的参数率定,通过混合优化算法和并行技术两个方面来提高水文模拟参数率定的整体效率。
发明内容
本发明的目的是,解决现有模型参数获取时存在的上述问题。
为了实现上述目的,一方面,本发明提供了一种基于优化算法的对等模式并行处理方法,应用于由主管理进程、子管理进程和计算进程构成的多级对等并行框架中,该方法包括:
主管理进程,用于设定初始参数集合,进行非阻塞式接收;接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;
对主管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述主管理进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性,若算法收敛,检查子管理进程是否收敛,若子管理进程已收敛,则进行比较,选择最优解,若子管理进程未收敛,则以当前解为最优解;若主管理进程算法未收敛,检查子管理进程是否收敛,若子管理进程已收敛,则以子管理进程的解为最优解,若子管理进程也未收敛,则回到所述第一预设算法,以此迭代,直至找到最优解。
子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;
对子管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述子管理进程采用所述第二预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性。若子管理进程算法收敛,检查主管理进程的退出信号和当前子通信域中计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解;若都未收到主管理进程和计算进程信号,则当前子管理进程进行非阻塞广播通知子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若只收到主管理进程的退出信号,则当前子管理进程进行非阻塞式广播通知子通信域中所有进程退出,然后比较当前子管理进程和管理进程找到的解得最优解;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出,然后比较得最优解;若子管理进程算法未收敛,检查主管理进程的退出信号和子通信域中计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解;若只收到主管理进程退出信号,则当前子管理进程进行非阻塞广播通知当前子通信域中所有计算进程退出;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知当前子通信域中所有计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若都未收到信号,则说明当前没有找到满足收敛条件的解,则回到所述第二预设算法,以此迭代,当迭代次数达到gap次后还未找到最优解,则每迭代gap倍次就进行接收操作,接收计算进程的全局最优参数和全局最优解,对接收到的计算进程的最优解和目前子管理进程的全局最优解进行比较,选出当前子管理进程和计算进程的全局最优解,同时执行发送操作,将目前全局最优解和对应的参数发送给计算进程,再以此迭代,直至找到最优解。
计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。
对计算进程选择的最优解进行收敛性分析,在收敛性不满足时,所述计算进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性;若算法已收敛,检查子管理进程的退出信号,若收到信号,则比较并选择最优解;若未收到子管理进程的退出信号,则向子管理进程进行发送操作通知子管理进程退出;若算法未收敛,检查子管理进程的退出信号,若收到退出信号,则当前进程到达同步点等待退出;若未收到子管理进程的退出信号,则说明当前没有找到满足收敛条件的解,则回到所述第二预设算法,以此迭代,当迭代次数达到gap次后还未找到最优解,则每迭代gap倍次就进行发送操作,将目前计算进程的全局最优参数和全局最优解发送到子管理进程,同时执行接收操作,接收子管理进程发送的当前子通信域的全局最优解和对应的参数,再以此迭代,直至找到最优解。
优选地,第一预设算法为遗传算法。第二预设算法为粒子群优化算法。
另一方面,本发明提供了一种基于优化算法的对等模式并行处理框架,包括主管理进程、子管理进程和计算进程;其中,主管理进程、子管理进程和计算进程通过以下方法确定:
提取当前第一通信域进程号为0的进程为主管理进程,将第一通信域中进程号非0的进程组成第二通信域,并将第二通信域中的进程进行分割处理,由分割后的进程组成多个子通信域。将每个子通信域中进程号为0的进程称为子管理进程,子通信域中进程号非0的进程称为计算进程,同时将主管理进程和子管理进程划分到第三通信域。
本发明针对水文模拟中的参数率定,通过混合优化算法和并行技术两个方面来提高水文模拟参数率定的整体效率。
附图说明
图1为本发明实施例提供的一种基于优化算法的对等模式并行处理框架结构示意图;
图2为本发明实施例提供的一种基于优化算法的对等模式并行处理方法主管理进程-子管理进程流程示意图;
图3为本发明实施例提供的一种基于优化算法的对等模式并行处理方法子管理进程-计算进程流程示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种基于优化算法的对等模式并行处理框架结构示意图。如图1所示,本发明实施例中采用的整体框架是由主管理进程、子管理进程和计算进程构成多级对等并行框架,其中,主管理进程、子管理进程和计算进程通过以下方法确定:
提取当前第一通信域进程号为0的进程为主管理进程,将第一通信域中进程号非0的进程组成第二通信域,并将第二通信域中的进程进行分割处理,由分割后的进程组成多个子通信域。将每个子通信域中进程号为0的进程称为子管理进程,子通信域中进程号非0的进程称为计算进程,同时将主管理进程和子管理进程划分到第三通信域。
在一个具体的实施例中,假设初始种子数量为N,能够利用的处理器数量为m,则总的种子数量为N*m。在进入多级对等模式并行框架之前,首先获得第一通信域mpi_comm_world的组mpi_group_world,并将0号进程排除出当前组,剩下的所有进程形成一个新的组newgrp,将组newgrp组成第二通信域comm,并获得comm通信域中的进程id号newrank(newrank=0,1,2,K,m-2)和进程数量m-1。取color=mod(newrank,subSpace),划分出subSpace个子通信域subcomm,每一个subcomm中的进程按照newrank/subSpace的顺序排列。
接着获取每一个subcomm中进程的进程号subrank和进程数,然后将第一通信域前subSpace+1个进程划分为第三通信域comm1,获取comm1中进程的进程号rank1(rank1=0,1,2,...,subSpace)和进程数。至此,通信域的划分操作已经完成。
具体的步骤可以概括为如下过程:
(1)将第一通信域mpi_comm_world中所有进程创建进程组mpi_group_world;
(2)排除掉进程号为0的进程获取新进程组newgrp;
(3)将新进程组newgrp创建为第二通信域comm;
(4)获得comm中进程的进程号和进程数;
(5)根据color=mod(newrank,subSpace)分割第二通信域comm成subSpace个子通信域subcomm;
(6)获得subcomm中的进程号和进程数;
(7)将第一通信域的前subSpace+1个进程化为组group1,将group1创建为第三通信域comm1;
(8)获得comm1中的进程号和进程数;
图2为本发明实施例提供的一种基于优化算法的对等模式并行处理方法主管理进程-子管理进程流程示意图。如图2所示,主管理进程和子管理进程并行处理步骤包括:
主管理进程步骤如下:
第一步,设定初始参数集合;
第二步,进行标识为REQ,源为ANY的非阻塞式接收,用于接收来自子管理进程的收敛信号;
第三步,根据第一预设算法,进行水文模拟和纳什系数计算,得到一组适应值,对适应值进行排序,选择最优解;
第四步,对第三步得到的最优解进行收敛性检验,若算法已收敛,检查REQ返回与否,若未返回,说明只有当前进程找到最优解,则进行标识为REQ1的非阻塞式广播,然后到达同步点等待退出,若REQ已经返回,说明当前进程和其他进程都找到满足条件的解,则比较并选择最优的解,进行标识为REQ1的非阻塞式广播,然后到达同步点等待退出;若算法未收敛,检查REQ返回与否,若REQ返回,说明当前已有进程找到最优解,则进行标识为REQ1的非阻塞式广播通知所有子管理进程退出,然后到达同步点等待退出,若REQ未返回,说明当前所有进程没有找到最优解,则回到第三步,以此迭代,找到最优解为止。
优选地,第一预设算法为遗传算法。
当最优解未收敛时,进入遗传算法更新参数,将当前的X1,X2,K,XN看作N个染色体,每个染色体的基因为Xi=(xi1,xi2,K,xin),i=1,2,K,N。首先进行选择操作,以轮盘赌的规则确定各染色体被选择的概率,以随机数q∈[0,1]落在[0,1]中的位置来选择被选中的染色体。然后进行交叉操作,对于每一个染色体i,i=1,2,K,N,随机均匀选择两个染色体,以一个随机整数j来决定被选择的两个染色体的某一部分被选中,此是即将进行变异的基因,对于变异的方式,这里使用的是染色体内部基因对换的方式,即对换被选中的两个染色体的被选中的部分,这样直至所有染色体全部完成交叉。然后进入变异操作,对于每一个染色体i,i=1,2,K,N,以一个随机数来决定染色体i的第j个基因Xij被选中,直接变异为变量上下界范围内的随机值。因为所有染色体共享了优质染色体的基因,整个群体的适应值得到提高,由于变异的存在,群体具有了全局收敛性。
子管理进程步骤如下:
第一步,设定初始参数集合;
第二步,进行标识为REQ1的非阻塞式接收广播,用于接收来自主管理进程的退出信号,进行标识为REQ2、源为ANY的非阻塞式接收,接收来自当前子通信域计算进程的收敛信号;
第三步,根据第二预设算法,进行水文模拟和纳什系数计算,得到一组适应值,对适应值进行排序,选择最优解;
第四步,收敛性检验,若算法收敛,检查REQ1和REQ2返回与否,若REQ1和REQ2均未返回,说明当前仅有当前子管理进程找到最优解,则当前子管理进程进行标识为REQ3的非阻塞广播通知当前子通信域所有计算进程退出且进行标识为REQ指向主管理进程的发送操作通知主管理进程当前子通信域找到最优解,然后到达同步点等待退出;若REQ1返回,REQ2未返回,说明主管理进程或其他通信域也找到满足收敛性的解,则当前子管理进程进行标识为REQ3的非阻塞广播通知当前子通信域所有计算进程退出,然后比较得最优解,再到达同步点等待退出;若REQ1未返回,REQ2返回,说明当前子管理进程和当前子通信域中一个计算进程同时找到满足收敛性的解,则当前子管理进程进行标识为REQ指向主管理进程的发送操作通知主管理进程当前子通信域找到最优解,然后取最优值并到达同步点等待退出;若REQ1和REQ2均返回,说明当前子通信域的计算进程和外部进程也都找到满足收敛条件的解,则进行标识为REQ3的非阻塞广播通知当前子通信域所有计算进程退出,然后比较得最优解,到达同步点等待退出。若算法未收敛,检查REQ1和REQ2返回与否,若REQ1返回REQ2未返回,说明主管理进程或其他通信域找到最优解,则当前子管理进程进行标识为REQ3的非阻塞式广播通知当前子通信域所有计算进程退出,然后到达同步点等待退出;若REQ1未返回且REQ2返回,说明只有当前子通信域中进程找到最优解,则当前子管理进程进行标识为REQ3的非阻塞式广播通知当前子通信域中计算进程退出且进行标识为REQ指向主管理进程的发送操作通知主管理进程当前子通信域找扫最优解,然后到达同步点等待退出;若REQ1和REQ2均返回,说明当前子通信域和外部进程均找到满足收敛条件的解,则进行标识为REQ3的非阻塞广播通知当前子通信域所有计算进程退出,比较并找到最优解到达同步点等待退出;若REQ1和REQ2均未返回,说明当前未有满足收敛条件的解出现,回到第三步,以此迭代,当mod(gen,gap)=0(gen为迭代次数,gap为最小迭代次数)后还未找到最优解,则进行接收操作,接收计算进程的全局最优参数和全局最优解,对接收到的计算进程的最优解和目前子管理进程的全局最优解进行比较,选出当前子通信域的全局最优解,同时执行发送操作,将当前子通信域的全局最优解和对应的参数发送给计算进程,再回到第三步,直至找到最优解。
优选地,第二预设算法为粒子群优化算法。
当最优解未收敛时,进入粒子群优化算法更新参数,通过第一步得到的适应值F1,F2,K,FN,排序后将最大值赋给gbestf,并将对应的粒子位置记为群体极值Xg,Xp为粒子的个体极值。其中X1,X2,K,XN为N个粒子,其中Xi=(xi1,xi2,K,xin),i=1,2,K,N为粒子i的位置,Vi=(vi1,vi2,K,vin),i=1,2,K,N为粒子i的速度,从第k代到k+1代的进化过程如下所示:
依此迭代方式,所有点得到更新,获得新参数和最优解。
图3为本发明实施例提供的基于优化算法的对等模式并行处理方法子管理进程-计算进程流程示意图。如图3所示,子管理进程和计算进程并行处理步骤包括:
计算进程步骤如下:
第一步,设定初始参数集合;
第二步,进行标识为REQ3的非阻塞式接收广播,用于接收来自当前子通信域的子管理进程的退出信号;
第三步,根据第一预设算法,进行水文模拟和纳什系数计算,得到一组适应值,对适应值进行排序,选择最优解;
第四步,收敛性检验,若算法已收敛,检查REQ3返回与否,若未返回,说明只有当前进程找到最优解,则进行标识为REQ2指向当前子通信域子管理进程的发送操作通知当前子通信域的子管理进程此计算进程已经收敛,然后到达同步点等待退出,若REQ3已返回,说明当前进程和其他进程都找到满足条件的解,则比较并选择最优的解,到达同步点等待退出;若算法未收敛,检查REQ3返回与否,若REQ3已返回,说明目前已有进程找到最优解,则到达同步点等待退出,若REQ3未返回,说明当前没有进程找到最优解,则回到第三步,以此迭代,当mod(gen,gap)=0(gen为迭代次数,gap为最小迭代次数)后还未找到最优解,则进行发送操作,将目前计算进程的全局最优参数和全局最优解发送到子管理进程,同时执行接收操作,接收子管理进程发送的当前子通信域的全局最优解和对应的参数,再回到第三步,直至找到最优解。
本发明实施例针对水文模拟中的参数率定,通过混合优化算法和并行技术两个方面来提高水文模拟参数率定的整体效率。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于优化算法的对等模式并行处理方法,应用于由主管理进程、子管理进程和计算进程构成的多级对等并行框架中,其特征在于,包括以下步骤:
主管理进程,用于设定初始参数集合,进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;
子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;
计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。
2.根据权利要求1所述的方法,其特征在于,对主管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述主管理进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性,若算法收敛,检查子管理进程是否收敛,若子管理进程已收敛,则进行比较,选择最优解,向所有子管理进程发送结束信号,若子管理进程未收敛,则以当前解为最优解,向所有子管理进程发送结束信号;若主管理进程算法未收敛,检查子管理进程是否收敛,若子管理进程已收敛,则以子管理进程的解为最优解,向所有子管理进程发送结束信号,若子管理进程也未收敛,则回到所述第一预设算法,以此迭代,直至找到最优解。
3.根据权利要求2所述的方法,其特征在于,所述第一预设算法为遗传算法。
4.根据权利要求1所述的方法,其特征在于,对子管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述子管理进程采用所述第二预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性;若子管理进程算法收敛,检查主管理进程的退出信号和当前子通信域计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解,并进行非阻塞广播通知当前子通信域中计算进程退出;若都未收到主管理进程和计算进程信号,则当前解即为最优解,且当前子管理进程进行非阻塞广播通知当前子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若只收到主管理进程的退出信号,则当前子管理进程进行非阻塞式广播通知其子通信域中计算进程退出,然后比较当前子管理进程和主管理进程找到的解得最优解;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知子通信域所有进程退出且向主管理进程进行发送操作通知主管理进程退出,然后比较得最优解;若子管理进程算法未收敛,检查主管理进程的退出信号和当前子通信域中计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解,并进行非阻塞广播通知当前子通信域中计算进程退出;若只收到主管理进程退出信号,则当前子管理进程进行非阻塞广播通知当前子通信域所有进程退出;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知当前子通信域所有计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若都未收到信号,则说明当前没有找到满足收敛条件的解,则回到所述第二预设算法,以此迭代,当迭代次数达到gap次后还未找到最优解,则每迭代gap倍次就进行接收操作,接收当前子通信域中计算进程的全局最优参数和全局最优解,对接收到的计算进程的最优解和目前子管理进程的全局最优解进行比较,选出当前子管理进程和计算进程的全局最优解,同时执行发送操作,将目前全局最优解和对应的参数发送给计算进程,再以此迭代,直至找到最优解。
5.根据权利要求4所述的方法,其特征在于,所述第二预设算法为粒子群优化算法。
6.根据权利要求1所述的方法,其特征在于,对计算进程选择的最优解进行收敛性分析,在收敛性不满足时,所述计算进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性;若算法已收敛,检查子管理进程的退出信号,若收到信号,则比较并选择最优解;若未收到子管理进程的退出信号,则向子管理进程进行发送操作通知子管理进程退出;若算法未收敛,检查子管理进程的退出信号,若收到退出信号,则当前进程到达同步点等待退出;若未收到子管理进程的退出信号,则说明当前没有找到满足收敛条件的解,则回到所述第二预设算法,以此迭代,当迭代次数达到gap次后还未找到最优解,则每迭代gap倍次就进行发送操作,将目前计算进程的全局最优参数和全局最优解发送到子管理进程,同时执行接收操作,接收子管理进程发送的当前子通信域的全局最优解和对应的参数,再以此迭代,直至找到最优解。
7.一种基于优化算法的对等模式并行处理系统,其特征在于,包括如权利要求1所述的主管理进程、子管理进程和计算进程;
主管理进程,用于设定初始参数集合,进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;
子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;
计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解;
其中,主管理进程、子管理进程和计算进程通过以下方法确定:
提取当前第一通信域中进程号为0的进程为主管理进程,将第一通信域中进程号非0的进程组成第二通信域,并将第二通信域中的进程进行分割处理,由分割后的进程组成多个子通信域;将每个子通信域中进程号为0的进程称为子管理进程,子通信域中进程号非0的进程称为计算进程,同时将主管理进程和子管理进程划分到第三通信域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911415137.2A CN111176865B (zh) | 2019-12-31 | 2019-12-31 | 一种基于优化算法的对等模式并行处理方法及框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911415137.2A CN111176865B (zh) | 2019-12-31 | 2019-12-31 | 一种基于优化算法的对等模式并行处理方法及框架 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176865A CN111176865A (zh) | 2020-05-19 |
CN111176865B true CN111176865B (zh) | 2023-04-07 |
Family
ID=70650637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911415137.2A Active CN111176865B (zh) | 2019-12-31 | 2019-12-31 | 一种基于优化算法的对等模式并行处理方法及框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176865B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914431A (zh) * | 2020-08-14 | 2020-11-10 | 贵州东方世纪科技股份有限公司 | 一种有资料地区水文模型参数自动率定方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709181A (zh) * | 2016-12-23 | 2017-05-24 | 浙江大学 | 一种基于并行编程和模块法的分布式水文模型率定方法 |
CN109086479A (zh) * | 2018-06-20 | 2018-12-25 | 浙江大学 | 一种基于并行计算的分布式水文模型参数多目标率定方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195521B2 (en) * | 2012-07-05 | 2015-11-24 | Tencent Technology (Shenzhen) Co., Ltd. | Methods for software systems and software systems using the same |
-
2019
- 2019-12-31 CN CN201911415137.2A patent/CN111176865B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709181A (zh) * | 2016-12-23 | 2017-05-24 | 浙江大学 | 一种基于并行编程和模块法的分布式水文模型率定方法 |
CN109086479A (zh) * | 2018-06-20 | 2018-12-25 | 浙江大学 | 一种基于并行计算的分布式水文模型参数多目标率定方法 |
Non-Patent Citations (1)
Title |
---|
基于MPI多通讯域的地震波频率域二维正演并行算法研究;李祎昕 等;《物探化探计算技术》;20170131;第39卷(第1期);第52-58页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111176865A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694390B (zh) | 一种布谷鸟搜索改进灰狼优化支持向量机的调制信号分类方法 | |
Wang et al. | A cluster-based competitive particle swarm optimizer with a sparse truncation operator for multi-objective optimization | |
CN109063355A (zh) | 基于粒子群优化与Kriging模型的近似优化方法 | |
Yang et al. | Linearly decreasing weight particle swarm optimization with accelerated strategy for data clustering | |
Wang et al. | A new chaotic starling particle swarm optimization algorithm for clustering problems | |
CN111176865B (zh) | 一种基于优化算法的对等模式并行处理方法及框架 | |
CN110555530B (zh) | 一种基于分布式的大规模基因调控网络构建方法 | |
CN110910261A (zh) | 一种基于多目标优化的网络社团检测对抗增强方法 | |
CN110852435A (zh) | 一种基于神经进化计算模型 | |
Broni-Bediako et al. | Evolutionary NAS with gene expression programming of cellular encoding | |
Zhu et al. | Staleness-Reduction Mini-Batch $ K $-Means | |
CN109934344B (zh) | 一种改进的基于规则模型的多目标分布估计方法 | |
CN114117917B (zh) | 一种多目标优化的舰船磁偶极子阵列建模方法 | |
CN115640845A (zh) | 基于生成对抗网络的图神经网络少数类别样本生成方法 | |
CN113408728B (zh) | 遗传算法中种群个体初始化的方法及装置 | |
CN113554144A (zh) | 用于多目标进化特征选择算法的自适应种群初始化方法和存储设备 | |
Zhou et al. | An estimation of distribution algorithm based on nonparametric density estimation | |
CN113989584A (zh) | 一种基于正交设计的神经网络超参数调优方法 | |
CN113704570A (zh) | 基于自监督学习式进化的大规模复杂网络社区检测方法 | |
Sun et al. | Optimization study and application on the K value of K-means algorithm | |
Ge et al. | A hidden markov model and immune particle swarm optimization-based algorithm for multiple sequence alignment | |
CN115577273B (zh) | 基于对比学习的单细胞数据聚类方法、装置、设备及介质 | |
CN112802543B (zh) | 一种基于概率图的基因调控网络分析方法 | |
Gong et al. | Research on data filling algorithm based on improved k-means and information entropy | |
An et al. | An improved multi-objective cross-entropy method for inverse problems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |