一种受灾安置选址及人数调度方法及装置与流程

文档序号:34141141发布日期:2023-05-13 09:18阅读:71来源:国知局
一种受灾安置选址及人数调度方法及装置与流程

本发明涉及一种受灾安置选址及人数调度方法及装置。


背景技术:

1、近年全球气候加速变化背景下,极端自然频发,特别是以风暴潮、海啸为主灾害对我国沿海低洼地带的淹没。灾后应急响应是减少人员伤亡和经济损失的重要途径,相关研究势在必行。国内对极端情景下的风暴潮危险性模拟、风险评估与区划等关注较多,但对灾情应急指挥调度方法的研究还有待完善和深入。应急疏散是地理学、社会学和工程学等多学科交叉的科学问题,涉及轨迹规划、安置点选址及人员调度等一系列问题,国内针对研究往往侧重于某单一方向、每一个方向都受限各自专业软件,因而缺乏有效串联。


技术实现思路

1、本发明要解决的技术问题,在于提供一种受灾安置选址及人数调度方法及装置,使得快速进行调度,降低财产损失和人员伤亡。

2、第一方面,本发明提供了一种受灾安置选址及人数调度方法,包括:

3、步骤1、将受灾点进行聚类分析,形成多个空间分布度的簇聚单位;

4、步骤2、为每个簇聚单元搜集最近的安置点,直至所有安置点的容纳人数大于等于对应簇聚单元的人数;

5、步骤3、将剔除设定条件的安置点,使得所有安置点容纳人数等于对应簇聚单元的人数;

6、步骤4、构建簇聚单位内所有受灾点和对应安置点的成本矩阵;

7、步骤5、输入成本矩阵,采用pulp中的函数求解,得到成果矩阵,之后进行最短路径分析,获取受灾点到安置点最佳疏散路线。

8、进一步地,所述步骤1进一步具体为:

9、通过引用python-sklearn建立dbscan-model(eps,min_samples),之后将参数eps设置为0.03,参数min_samples设置为2;受灾点集合d={(x1,y1),(x2,y2),(x3,y3)....(xn,yn)},x,y代表受灾点的经纬度;受灾点集合d投入dbscan-model进行数据训练,以欧式距离来度量受灾点集合距离及决定分布的紧密程度,最后簇划分簇聚集合c={c1,c2,c3,.....ck},ck代表第k个簇聚单位;再将单独的受灾点作为一个簇聚单位纳入簇聚集合中,最终c={c1,c2,c3,.....ck,ck+1,ck+2...ck+m},m为m个独立的簇聚单位。

10、进一步地,所述步骤2进一步具体为:采用python-gdal,对簇聚单位进行convexhull形成最小包络面,然后对该包络面进行缓冲区分析,每次以设定阈值公里步长累加进行缓冲区搜集,并计算每次缓冲区区域内安置点的容纳总人数,当容纳总人数大于等于该簇聚单位内受灾点总人数时,停止缓冲区搜集,确定为该簇聚单位内受灾点疏散安置对象;当容纳总人数等于该簇聚单位内受灾点总人数时,进入步骤4;当容纳总人数大于该簇聚单位内受灾点总人数时,进入步骤3。

11、进一步地,所述步骤3进一步具体为:

12、采用python-pulp的线性规划进行调度分析;缓冲区搜集的安置点总人数大于该簇聚单位内受灾点总人数,人数差值t;对安置点按距离簇聚单位质心距离和总人数进行反序排序,距离最远且人数最多的安置点的容纳人数扣除t,如果该点可容纳人数小于t,则去除该点,第二顺位点的容纳人数扣除累差值,以此类推,直到安置点的容纳总人数等于该簇聚单位内受灾点总人数。

13、进一步地,所述步骤4进一步具体为:

14、构建簇聚单位内所有受灾点和对应安置点的成本矩阵p=∑m∑ndemn onm,n代表第n个安置点,m代表第m个受灾点,demn代表第n个安置点的高程值,onm代表第n个安置点到第m个受灾点的欧式距离,第n个安置点和第m个受灾点,就有n*m个成本方案,形成一个n*m维度的成本矩阵;

15、所述步骤5进一步具体为:

16、采用pulp中lpproblem(objective,constraints)函数求解,objective为目标函数,constraints为约束条件;所述约束条件包括:1)投入安置点的人数不能大于安置点的可容纳人数;2)每个受灾点人数要小于等于该受灾点总人数;3)计算后所有调度路线上人数必须等于总安置人数和总受灾人数;所述目标函数中接入glpk(nind,maxgen,xovr)方式进行线性计算,种群规模nind=100,最大迭代数maxgen=500,重组概率xovr=0.7,输入成本矩阵p,进行计算,得到成果矩阵,即得到最优的人数调度方案;根据调度方案中每个计划所属受灾点和安置点的经纬度,结合python-osmos中的路网结构,采用python-network中最短路径分析,获取受灾点到安置点最佳疏散路线。

17、第二方面,本发明提供了一种受灾安置选址及人数调度装置,包括:

18、簇聚模块,将受灾点进行聚类分析,形成多个空间分布度的簇聚单位;

19、安置点模块,为每个簇聚单元搜集最近的安置点,直至所有安置点的容纳人数大于等于对应簇聚单元的人数;

20、剔除模块,将剔除设定条件的安置点,使得所有安置点容纳人数等于对应簇聚单元的人数;

21、构建矩阵模块,构建簇聚单位内所有受灾点和对应安置点的成本矩阵;

22、调度模块,输入成本矩阵,采用pulp中的函数求解,得到成果矩阵,之后进行最短路径分析,获取受灾点到安置点最佳疏散路线。

23、进一步地,所述簇聚模块进一步具体为:

24、通过引用python-sklearn建立dbscan-model(eps,min_samples),之后将参数eps设置为0.03,参数min_samples设置为2;受灾点集合d={(x1,y1),(x2,y2),(x3,y3)....(xn,yn)},x,y代表受灾点的经纬度;受灾点集合d投入dbscan-model进行数据训练,以欧式距离来度量受灾点集合距离及决定分布的紧密程度,最后簇划分簇聚集合c={c1,c2,c3,.....ck},ck代表第k个簇聚单位;再将单独的受灾点作为一个簇聚单位纳入簇聚集合中,最终c={c1,c2,c3,.....ck,ck+1,ck+2...ck+m},m为m个独立的簇聚单位。

25、进一步地,所述安置点模块进一步具体为:采用python-gdal,对簇聚单位进行convexhull形成最小包络面,然后对该包络面进行缓冲区分析,每次以设定阈值公里步长累加进行缓冲区搜集,并计算每次缓冲区区域内安置点的容纳总人数,当容纳总人数大于等于该簇聚单位内受灾点总人数时,停止缓冲区搜集,确定为该簇聚单位内受灾点疏散安置对象;当容纳总人数等于该簇聚单位内受灾点总人数时,进入构建矩阵模块;当容纳总人数大于该簇聚单位内受灾点总人数时,进入剔除模块。

26、进一步地,所述剔除模块进一步具体为:

27、采用python-pulp的线性规划进行调度分析;缓冲区搜集的安置点总人数大于该簇聚单位内受灾点总人数,人数差值t;对安置点按距离簇聚单位质心距离和总人数进行反序排序,距离最远且人数最多的安置点的容纳人数扣除t,如果该点可容纳人数小于t,则去除该点,第二顺位点的容纳人数扣除累差值,以此类推,直到安置点的容纳总人数等于该簇聚单位内受灾点总人数。

28、进一步地,所述构建矩阵模块进一步具体为:

29、构建簇聚单位内所有受灾点和对应安置点的成本矩阵p=∑m∑ndemn onm,n代表第n个安置点,m代表第m个受灾点,demn代表第n个安置点的高程值,onm代表第n个安置点到第m个受灾点的欧式距离,第n个安置点和第m个受灾点,就有n*m个成本方案,形成一个n*m维度的成本矩阵;

30、所述调度模块进一步具体为:

31、采用pulp中lpproblem(objective,constraints)函数求解,objective为目标函数,constraints为约束条件;所述约束条件包括:1)投入安置点的人数不能大于安置点的可容纳人数;2)每个受灾点人数要小于等于该受灾点总人数;3)计算后所有调度路线上人数必须等于总安置人数和总受灾人数;所述目标函数中接入glpk(nind,maxgen,xovr)方式进行线性计算,种群规模nind=100,最大迭代数maxgen=500,重组概率xovr=0.7,输入成本矩阵p,进行计算,得到成果矩阵,即得到最优的人数调度方案;根据调度方案中每个计划所属受灾点和安置点的经纬度,结合python-osmos中的路网结构,采用python-network中最短路径分析,获取受灾点到安置点最佳疏散路线。

32、本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

33、本技术实施例提供的方法及装置,采用全开源技术,打破应急灾害模拟各方面软件的技术壁垒,采用python编程技术实现从对安置点就近选址、受灾人口合理调度的全链条解决方案。本发明中使用dbscan算法对所有的受灾点进行不定项聚类分析,得出各受灾聚集区,进行更方便进行就近安置点选址;本发明以考虑疏散路径长短段、安置点高程及路网可达性为成本,pulp线性规划算法以产销平衡理论解决受灾人口最优疏散调度。本发明提供给疏散调度方案作为的非工程性防洪措施,将提高灾害应急响应能动性。也为职能部门提供切合实际的决策支持,对降低或避免典型海洋灾害可能造成财产损失和人员伤亡具有重要科学和现实意义。

34、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1