一种基于图回溯法的矿井排水网络流向解算方法与流程

文档序号:11251073阅读:452来源:国知局
一种基于图回溯法的矿井排水网络流向解算方法与流程

本发明属于系统科学与信息技术领域,涉及一种基于图回溯法的矿井排水网络流向解算的方法。



背景技术:

地下矿产资源开采过程中,井下采掘工作面、巷道低洼地段和储水仓等区域积聚了大量地下水,尤其在突水事件发生时,该类积水迅速积聚蔓延,严重时甚至淹没巷道,造成严重的人员生命危险和财产损失。为了将水排出地面,人们在井下部署了大量的排水设备,组成排水网络,随着积水点的增多,排水工程师往往会将更多的排水设备接入,导致排水网络越来越复杂,如,我国某大型地下煤矿排水网络中的水泵数量达五百多个,闸阀达一千多个,各类管道总长达两万多米。于是人们面临着两个急需解决的问题:(1)排水工程师在接入新的设备时,确定已有的管道水流方向十分困难;(2)远程调度人员在进行排水调度,尤其在矿井水灾应急指挥中,几乎无法根据排水网络图掌握排水系统中水流的来龙去脉。管道中水流“从哪里来,到哪里去”的确定问题成为迫切需要解决的问题。有必要研究一种方法迅速解算排水网络的水流方向,辅助人们决策。



技术实现要素:

本发明的目的在于提供一种基于图回溯法的矿井排水网络流向解算方法,解决了现有矿井排水时存在的管道水流流向无法准确确定等缺陷。

为了达到目的,本发明采用的技术方案具体如下:

本发明提供的一种基于图回溯法的矿井排水网络流向解算方法,首先将矿井排水网络转化为图拓扑结构,然后利用基于图结构的迷宫回溯法,探寻图结构中流体的所有路径。

优选地,所述矿井排水网络转化为图拓扑结构的具体方法为:将矿井排水网络中正在运转的水泵转化为流向图的驱动节点vd、将停止运转的水泵转化为闭节点vs、开启的闸阀转化为通节点vo、关闭的闸阀转化为闭节点vs、同时,将排水网络中的最终出口转化为出口节点ve、将管道转化为流向边ef,最终得到流体的流向图。

优选地,上述所得到流体的流向图为有向图g,所述有向图g的所有节点的集合v和所有边的集合e,应满足以下条件:

g=(v,e)

v={v|v∈{vd,vo,vs,ve}}

e={<vi,vj>|p(vi,vj)∧<vi,vj>∈{ef}∧vi,vj∈v}

其中,p(vi,vj)表示存在边;{ef}表示流向边集合。

优选地,基于图结构的迷宫回溯法,探寻图结构中的所有可行路径的具体步骤如下:

第一步,设定所述流向图中所有驱动节点vd有且有唯一的相邻通节点,所有边的流源和流目标初始状态为空集,同时对该流向图中的每个节点进行编号;

第二步,找出未被流向解算过的驱动节点vdx∈vd,其唯一的相邻节点va∈vo,将该节点va入栈;

第三步,检查栈内是否存在节点,如果没有则探寻完毕,得出该驱动节点所驱动流体的所有可行路径,该驱动节点vdx的解算周期结束,转第二步继续执行;若存在,设栈顶节点为vb,则进行下一步:

第四步,将栈顶节点vb取出,判断节点vb的节点类型,确定各流向边流源和流目标;

第五步,若所有驱动节点的解算周期完毕,则表示,找寻到所有的路径,从而得出各边的流源和流目标,算法结束。

优选地,第四步中,当栈顶节点vb为闭节点vs时,表示该路径不可行,则将该节点vb出栈,节点va为新的栈顶节点,并将节点vb到节点va所形成的边标记为已访问,转第三步继续检查栈内节点。

优选地,第四步中,当栈顶节点vb为通节点vo时,且该栈顶节点vb除栈内的相邻节点和标记过的边外,有其他相邻节点,则从其他相邻节点中找出任一节点vc,并将节点vc入栈,节点vc为新的栈顶节点,同时,转到第三步继续执行。

优选地,第四步中,当栈顶节点vb为通节点vo时,且该栈顶节点vb除栈内的相邻节点和标记过的边外,无其他相邻节点,则进行回溯,即该节点vb出栈,将该节点vb的所有邻边标记为未访问,同时,转到第三步继续执行。

优选地,第四步中,当栈顶节点vb为出口节点ve时,则表示已到达出口,此时从栈底到栈顶所形成的节点序列即为一条可行路径,将其记录,并在该方向上的所有边的流源集合中加入该路径上的驱动节点vd编号,所有边的流目标集合中加入该路径上的出口节点ve编号,将节点vb出栈,节点va为新的栈顶节点,并将节点vb与节点va所形成的边记为已标记,同时,转到第三步继续执行。

与现有技术相比,本发明的有益效果是:

本发明提供的一种基于图回溯法的矿井排水网络流向解算方法,首先将矿井排水网络转化为图拓扑结构,然后利用基于图结构的迷宫回溯法,探寻图结构中流体的所有路径。本发明的流向图结构简单,构建相对方便,本发明的流向解算方法严谨可靠,且其时间复杂度为o(n)-o(n!),执行效率较高,可应用于大多流体流向计算场合,如通风、供排水、油汽和车流等。

附图说明

图1是各节点的结构图,其中,图1(a)为驱动节点、图1(b)为通节点、图1(c)为闭节点、图1(d)为出口节点、图1(e)为流向边;

图2是流体的流向图;

图3是流体流向图的应用效果图。

具体实施方式

下面结合附图,对本发明进一步详细说明。

本发明提供了一种基于图回溯法的矿井排水网络流向解算方法,基本思想是:将矿井排水管路网络转化为图拓扑结构,构成流向图,可借助基于图结构的迷宫回溯法,从驱动节点出发,探寻所有可行路径,遇通节点则前行,遇闭节点则标记闭合路径并回退,遇出口则记为一条可行路径,标明相应的水流流向,并逐级回退探寻下一可行路径,直到所有路径探寻完毕。

具体地,首先将矿井排水网络转化为流向图:

其中,将矿井排水网络中正在运转的水泵转化为流向图的驱动节点vd、将停止运转的水泵转化为闭节点vs、开启的闸阀转化为通节点vo、关闭的闸阀转化为闭节点vs、同时,将排水网络中的最终出口转化为出口节点ve、将管道转化为流向边ef,最终得到流体的流向图。

所得到流体的流向图为有向图g,所述有向图g的所有节点的集合v和所有边的集合e,应满足以下条件:

g=(v,e)

v={v|v∈{vd,vo,vs,ve}}

e={<vi,vj>|p(vi,vj)∧<vi,vj>∈{ef}∧vi,vj∈v}

其中,vd表示驱动节点,vo表示通节点,vs表示闭节点,ve表示出口节点;p(vi,vj)表示存在边;{ef}表示流向边集合。

相关术语解释如下:

驱动节点vd:能够促使流体从该类节点向远方边流动,通常情况下驱动节点vd处于叶子节点位置,表示法如图1(a)所示。

通节点vo:流体可通过该节点流动,表示法如图1(b)所示。

闭节点vs:阻塞流体流动的节点,表示法如图1(c)所示。

出口节点ve:流体的最终出口节点,表示法如图1(d)所示。

流向边ef:两个节点之间流体流动情况,包括两个方向,通常地,若规定一个方向为正流,则其反方向为逆流;每个方向上标识了该方向上的流源(即流体来自于哪些驱动节点)和流目标(即流体流向哪些出口节点),其语义为:{流源}:{流目标},例如{9,13}:{12}可理解为该流向上的流体来自于9、13号驱动节点,将从12号出口节点流出。

本发明中流向图的解算是指:根据节点类型,确定各流向边流源和流目标的全过程。具体地,每个驱动节点需要一个解算周期,流体从驱动节点出发,找出所有可行路径,此时记录各边的流源和流目标,并进入下一个驱动节点的流向解算周期,直到所有驱动节点解算完成。在确定流向的过程中,不能简单地“见通则行”,当遇到闭节点vs时,导致从驱动节点vd出发的流体经闭节点vs时中断,需要回溯探测。

所述流体的流向图解算的具体步骤如下:

第一步,设定所述流向图中所有驱动节点有且有唯一的相邻通节点,所有边的流源和流目标初始状态为空集,同时对该流向图中的每个节点进行编号;

第二步,找出未被流向解算过的驱动节点vdx∈vd,其唯一的相邻节点va∈vo,将该节点va入栈;

第三步,检查栈内是否存在节点,如果没有则探寻完毕,得出该驱动节点所驱动流体的所有可行路径,该驱动节点vdx的解算周期结束,转第二步继续执行;若存在,设栈顶节点为vb,则进行下一步:

第四步,将栈顶节点vb取出,判断vb的节点类型,

其中,若栈顶节点vb为闭节点vs时,表示该路径不可行,则将该节点vb出栈,节点va为新的栈顶节点,并将节点vb到节点va所形成的边标记为已访问,转第三步继续检查栈内节点;

若栈顶节点vb为通节点vo时,且该栈顶节点vb除栈内的相邻节点和标记过的边外,有其他相邻节点,则从其他相邻节点中找出任一节点vc,并将节点vc入栈,节点vc为新的栈顶节点,同时,转到第三步继续执行;

若栈顶节点vb为通节点vo时,且该栈顶节点vb除栈内的相邻节点和标记过的边外,无其他相邻节点,则进行回溯,即该节点vb出栈,将该节点vb的所有邻边标记为未访问,同时,转到第三步继续执行;

若栈顶节点vb为出口节点ve时,则表示已到达出口,此时从栈底到栈顶所形成的节点序列即为一条可行路径,将其记录,并在该方向上的所有边的流源集合中加入该路径上的驱动节点vd编号,所有边的流目标集合中加入该路径上的出口节点ve编号,将节点vb出栈,节点va为新的栈顶节点,并将节点vb与节点va所形成的边记为已标记,同时,转到第三步继续执行。

第五步,若所有驱动节点的解算周期完毕,则表示,找寻到所有的路径,从而得出各边的流源和流目标,算法结束。

实施例

如图2所示的流向图解算过程。

首先将所有边的流源和流目标初始化为空集,为方便程序设计,将探测前的节点1设置为通节点,探测完毕后恢复为驱动节点:

1)将节点1压入堆栈(即栈内:1);

2)取出栈顶节点1,找出1的任一相邻节点2,将2入栈(即栈内:1、2)。

3)取出栈顶节点2,找出2的任一相邻节点3,将3入栈(即栈内:1、2、3)。

4)取出栈顶节点3,找出3的任一相邻节点4,将4入栈(即栈内:1、2、3、4)。

5)取出栈顶节点4,找出4的任一相邻节点7,将7入栈(即栈内:1、2、3、4、7)

6)取出栈顶节点7,发现7为闭节点,则将7出栈,同时将节点7到新的栈顶节点4标记为已访问(即栈内:1、2、3、4)。

7)取出栈顶节点4,根据“非栈内”和“未访问”等条件,找出4的任一相邻节点5,并将5入栈(即栈内:1、2、3、4、5)。

8)取出栈顶节点5,找出5的任一相邻节点8,并将8入栈(即栈内:1、2、3、4、5、8)。

9)取出栈顶节点8,发现8是出口节点,已到达终点,则栈内节点序列(即站内:1-2-3-4-5-8)便为一条可行路径,此时将1-2、2-3、3-4、4-5、5-8方向上的流源集合加入1号节点,流目标集合加入8号节点,然后将8出栈,同时将8到新的顶节点5标记为已访问。

10)取出栈顶节点5,根据条件找不到5的相邻节点,则进行回溯,即将5到相邻节点的边全部标记为未访问,并将5出栈,然后将5和新的栈顶节点4所形成的边标记为已访问(即栈内:1、2、3、4)。

11)取出栈顶节点4,找不到4的相邻节点,恢复标志,出栈,标记(即栈内1、2、3)。

12)取出栈顶节点3,根据条件找出3的任一相邻节点6,将其入栈(即栈内:1、2、3、6),并找到新的可行路径1-2-3-6。

13)同理,找到可行路径1-2-5-4-3-6和1-2-5-8。

14)至此栈内节点数量为0,寻出的所有路径,从而得出各边的流源和流目标,

本计算方法的应用:

如图3所示,我国某大型地下煤矿因地势平坦开阔,降水渗水补给充分,加之地表有众多小型水库等,矿井涌水量达3600m3/h,属特大型涌水矿井。为保证矿井安全回采,该矿在回采前通过探放水等方案提前放水,并根据水文地质资料和实际涌水量,科学设防、系统抽排,形成了5200方/小时的外排能力。并设置中央排水泵房4个、采区临时泵房2个,安设管路30余万米、出水点15处,水泵238个,闸阀和蝶阀总计510个,总排水能力9200m3/h。为了对该矿排水网络进行智能流向解算,研发了三维可视化智能解算系统,可将排水系统中水泵、闸阀和接头作为节点,管道作为边,构建为图结构,利用本发明的解算方法自动解算,流度大于0的可标注箭头,应用效果较好。

本文主要研究了针对复杂线路网络中流体流向的智能计算算法及其应用,主要结论总结如下:

(1)本发明的“流向图”结构简单,构建相对方便,本发明的流向解算方法严谨可靠,且其时间复杂度为o(n)-o(n!),执行效率较高,可应用于大多流体流向计算场合,如通风、供排水、油汽和车流等。

(2)考虑该方法的通用性,将该方法设计为通用且扩展方便的的计算机程序接口,可供开发人员调用。

(3)本发明在某煤矿矿井排水综合应急管理数字化交互平台中发挥了重要的作用,实现了矿井排水水流流向的智能计算。

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