一种基于优化算法的对等模式并行处理方法及框架技术

技术编号:24205611 阅读:23 留言:0更新日期:2020-05-20 14:32
本发明专利技术提供了一种基于优化算法的对等模式并行处理方法及框架,其中,方法步骤包括:主管理进程进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;子管理进程进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;计算进程进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。

A parallel processing method and framework of peer mode based on Optimization Algorithm

【技术实现步骤摘要】
一种基于优化算法的对等模式并行处理方法及框架
本专利技术涉及水文模拟计算技术,尤其涉及一种基于优化算法的对等模式并行处理方法及框架。
技术介绍
在采用水文模型进行水文模拟和预报时,水文工作者一项重要的任务是去寻找水文模型的最优参数集,水文模型模拟的得好坏程度主要就是依赖于水文模型的参数集的选择。因此水文模型中的参数率定部分也就显得很重要,因为这在一定程度上决定了模型的模拟精度。不同的流域包含自己的模型参数,要得到一套适合当前流域的参数集合,传统的方式要么依靠经验,要么通过率定算法进行搜索,而参数空间维度通常高达十几、二十维,高维参数空间搜索计算量巨大,传统搜索方式已经难以实施。随着高性能并行计算技术逐渐兴起,将并行计算技术引入水文模型中进行参数率定是非常必要的,同时也为大尺度水文模拟提供了可能性。参数率定的目标是尽可能快地为待研究流域中的各个子流域寻找一套“最优”的模型参数组,使得使用该参数组进行水文模拟后的模拟结果和观测结果的差异最小。本文采用纳什(Nash-Suttcliffe)系数做为判断参数率定效果的依据,纳什系数越接近于1,模拟结果和观测结果的差异越小。并行计算是一种同时进行许多计算或执行进程的计算类型,其基本思想是用多个处理器来协同求解同一问题,即大问题分解为小问题,然后通过多个处理器来解决小问题以达到同时解决的效果。许多问题都会运用到并行计算,比如计算流体动力学、天文物理、生物学、遗传学、气候模拟、水文模拟、医学等。随着各个领域需要大量数据的计算与处理,并行计算能够有效的提高处理效率。随着超级计算机的出现和高性能并行计算技术的飞速发展,针对分布式大尺度水文模拟中参数率定计算的严重性能瓶颈,并行计算可以被用于水文模拟,以大幅提高参数率定计算效率。本文以粒子群算法和遗传算法为例,说明参数率定混合优化的并行实现过程。粒子群算法是由Kennedy和Eberhart提出的基于群体智能的进化计算方法。粒子群中的粒子通过个体最优以及全局最优来更新每个粒子的速度和位置,从而取得更优解,并逐步向最优解靠近。首先生成一系列随机粒子,根据各粒子的位置得到当前问题的适应度并进行移动、搜索。由动物的行为理论,群体中个体的位置不是固定的,个体会按一定的方向进行相应的迁徙以寻找适应度更好的位置。群体中所有的个体的移动方向一方面会参考自身曾经遇到过的适应度最好的位置,也会参考当前整个群体中适应度最好的位置。个体会根据这两个方向以随机的步长进行移动。这样经过若干步的移动之后,整个群体的的位置会往适应度更好的方向移动,某一个个体就可能占据适应度最好的位置。粒子群算法的优点是,由于搜索方向同时参考了个体最优和群体最优,收敛速度非常快。遗传算法是模拟达尔文进化论的自然选择和孟德尔遗传学的生物进化过程推演出来的一种寻优方法。遗传算法会首先随机生成一系列染色体,每种染色体对物种的外在表现都会有一定的影响,即物种对自然的适应力不尽相同。由达尔文物种进化理论,种群中的基因将以一定概率被遗传给下一代,这样保持了种群的特征不会发生大的改变,且根据优胜劣汰的原理,好的基因会被更多地保留;再者,由于某些自然因素,某些基因又会发生随机的变异,这样又保证了种群中的基因能够跳出当前的基因库去搜寻更好的基因。如此经过若干代的进化以后,整个种群中的基因会向适应值好的方向发展,最终整个种群达到最好的基因库。遗传算法的优点是具有较好的并行性,全局寻优能力强;缺点是收敛速度较慢,局部寻优能力比较差。针对水文模拟中的参数率定,通过混合优化算法和并行技术两个方面来提高水文模拟参数率定的整体效率。
技术实现思路
本专利技术的目的是,解决现有模型参数获取时存在的上述问题。为了实现上述目的,一方面,本专利技术提供了一种基于优化算法的对等模式并行处理方法,应用于由主管理进程、子管理进程和计算进程构成的多级对等并行框架中,该方法包括:主管理进程,用于设定初始参数集合,进行非阻塞式接收;接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;对主管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述主管理进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性,若算法收敛,检查子管理进程是否收敛,若子管理进程已收敛,则进行比较,选择最优解,若子管理进程未收敛,则以当前解为最优解;若主管理进程算法未收敛,检查子管理进程是否收敛,若子管理进程已收敛,则以子管理进程的解为最优解,若子管理进程也未收敛,则回到所述第一预设算法,以此迭代,直至找到最优解。子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;对子管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述子管理进程采用所述第二预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性。若子管理进程算法收敛,检查主管理进程的退出信号和当前子通信域中计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解;若都未收到主管理进程和计算进程信号,则当前子管理进程进行非阻塞广播通知子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若只收到主管理进程的退出信号,则当前子管理进程进行非阻塞式广播通知子通信域中所有进程退出,然后比较当前子管理进程和管理进程找到的解得最优解;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出,然后比较得最优解;若子管理进程算法未收敛,检查主管理进程的退出信号和子通信域中计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解;若只收到主管理进程退出信号,则当前子管理进程进行非阻塞广播通知当前子通信域中所有计算进程退出;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知当前子通信域中所有计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若都未收到信号,则说明当前没有找到满足收敛条件的解,则回到所述第二预设算法,以此迭代,当迭代次数达到gap次后还未找到最优解,则每迭代gap倍次就进行接收操作,接收计算进程的全局最优参数和全局最优解,对接收到的计算进程的最优解和目前子管理进程的全局最优解进行比较,选出当前子管理进程和计算进程的全局最优解,同时执行发送操作,将目前全局最优解和对应的参数发送给计算进程,再以此迭代,直至找到最优解。计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。对计算进程选择的最优解进行收敛性分析,在收敛性不满足时,所述计算进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算本文档来自技高网
...

【技术保护点】
1.一种基于优化算法的对等模式并行处理方法,应用于由主管理进程、子管理进程和计算进程构成的多级对等并行框架中,其特征在于,包括以下步骤:/n主管理进程,用于设定初始参数集合,进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;/n子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;/n计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。/n

【技术特征摘要】
1.一种基于优化算法的对等模式并行处理方法,应用于由主管理进程、子管理进程和计算进程构成的多级对等并行框架中,其特征在于,包括以下步骤:
主管理进程,用于设定初始参数集合,进行非阻塞式接收,接收来自子管理进程的收敛信号,根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序处理,选择最优解;
子管理进程,用于设定初始参数集合,以及进行非阻塞式接收广播,用于接收来自主管理进程的退出信号,再进行非阻塞式接收,用于接收来自计算进程的收敛信号,然后根据第二预设算法进行水文模拟和纳什系数计算,生成一组适应值,并对适应值进行排序,选择最优解;
计算进程,用于设定初始参数集合,然后进行非阻塞式接收广播,用于接收来自子管理进程的退出信号;根据第一预设算法进行水文模拟和纳什系数计算,生成一组适应值,对适应值进行排序,选择最优解。


2.根据权利要求1所述的方法,其特征在于,对主管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述主管理进程采用所述第一预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性,若算法收敛,检查子管理进程是否收敛,若子管理进程已收敛,则进行比较,选择最优解,向所有子管理进程发送结束信号,若子管理进程未收敛,则以当前解为最优解,向所有子管理进程发送结束信号;若主管理进程算法未收敛,检查子管理进程是否收敛,若子管理进程已收敛,则以子管理进程的解为最优解,向所有子管理进程发送结束信号,若子管理进程也未收敛,则回到所述第一预设算法,以此迭代,直至找到最优解。


3.根据权利要求2所述的方法,其特征在于,所述第一预设算法为遗传算法。


4.根据权利要求1所述的方法,其特征在于,对子管理进程选择的最优解进行收敛性分析,在收敛性不满足时,所述子管理进程采用所述第二预设算法更新参数集合,并进行水文模拟和纳什系数计算,检验收敛性。若子管理进程算法收敛,检查主管理进程的退出信号和当前子通信域计算进程的收敛信号,若都收到主管理进程和子管理进程信号,则比较得最优解,并进行非阻塞广播通知当前子通信域中计算进程退出;若都未收到主管理进程和计算进程信号,则当前解即为最优解,且当前子管理进程进行非阻塞广播通知当前子通信域中计算进程退出且向主管理进程进行发送操作通知主管理进程退出;若只收到主管理进程的退出信号,则当前子管理进程进行非阻塞式广播通知其子通信域中计算进程退出,然后比较当前子管理进程和主管理进程找到的解得最优解;若只收到计算进程的收敛信号,则当前子管理进程进行非阻塞广播通知子通信域所有进程退出且向主...

【专利技术属性】
技术研发人员:李强聂宁明全婷王彦棡
申请(专利权)人:中国科学院计算机网络信息中心青岛大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1