CN113282797A - 一种采用并行排序构建水库调度网络节点拓扑关系的方法 - Google Patents
一种采用并行排序构建水库调度网络节点拓扑关系的方法 Download PDFInfo
- Publication number
- CN113282797A CN113282797A CN202110427083.2A CN202110427083A CN113282797A CN 113282797 A CN113282797 A CN 113282797A CN 202110427083 A CN202110427083 A CN 202110427083A CN 113282797 A CN113282797 A CN 113282797A
- Authority
- CN
- China
- Prior art keywords
- river
- array
- information
- reservoir
- nodes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012163 sequencing technique Methods 0.000 title claims abstract description 30
- 238000010276 construction Methods 0.000 claims abstract description 14
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 57
- 238000003491 array Methods 0.000 claims description 38
- 238000010586 diagram Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 15
- 150000003839 salts Chemical class 0.000 claims description 10
- 230000010365 information processing Effects 0.000 claims description 9
- 238000011144 upstream manufacturing Methods 0.000 claims description 9
- 230000001629 suppression Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000010248 power generation Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000011160 research Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 241000124033 Salix Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及水利工程技术领域,具体涉及一种采用并行排序构建水库调度网络节点拓扑关系的方法。相比于以前只能手动构建或单目标构建网络拓扑图并且构建速度慢的构建方法,本发明所提出的并行排序构建水库调度网络节点拓扑关系的方法具有两方面优势,一方面在于根据所需的调度目标构建拓扑图,简化节点,并提供节点信息,方便查看;另一方面之前的遍历关联方法平均时间复杂度为O(m2),本方法的平均时间复杂度为O(nlog2 n),其中m为所有节点数量,n为河道数量,且节点数量远大于河道数量。因此本发明所提出方法快于目前已有方法,且当拓扑关系趋于复杂时,时间优势越明显。
Description
技术领域
本发明涉及水利工程技术领域,具体涉及一种采用并行排序构建水库调度网络节点拓扑关系的方法。
背景技术
水库优化调度网络拓扑图关系构建是编制通用型水库优化调度模型的基础工作。水库优化调度网络拓扑图具有普适性、通用性,能为开发通用型水库优化调度系统发挥重要作用。将其应用于流域水库优化系统,不仅能清晰的得到其空间分布信息,且能够充分表现河网的层次关系且便于利用计算机实现,对流域适应性强。但由于水库建设目标、调度方案目标的不同,传统一次性手动构建的流域水系全拓扑关系虽然能直观表现所需水库、控制断面之间的关系及断面约束要求等情况,但难以适应调度水库数量变化的情况,导致重复编写计算程序代码,增大工作量。近年来,国内外部分学者对上述问题也做了相关研究,但仍存在以下不足之处:
一方面从DEM中处理获取拓扑关系上,利用arcgis等处理DEM数据可以直接生成流域拓扑关系,如任洪玉等撰写的论文《全国水文计算单元空间数据库的建立与应用》利用Arc/Info基于DEM水文分析生成流域图和河网图后,根据流域和河段的对应关系,人工进行流域拓扑关系的建立;雷晓辉等撰写的论文《基于DEM的流域尺度水资源网络图构建》以DEM为基础数据利用ArcGIS开展海河流域划分研究;刘先龙等撰写的论文《流域拓扑关系建立方法研究》基于该方法将河段看作节点,将河段的拓扑关系看作节点的连接边,从而利用ArcGIS图表达河网结构;此类方法虽能构建流域的拓扑关系,但仅反映河流与各支流关系,且形成的拓扑网络图是静态的,难以适应调度程序动态变化的需求。
上述拓扑关系仅反映了河道关系,并未反应河道内节点关系,并不适合于实际调度中使用,因而部分学者采用其他方式以适应调度需求,如魏传江等撰写的《区域水资源配置系统网络图》详细论述了水资源系统网络图的基本原理,提出绘制水资源系统网络图的基础是水量平衡原理,并针对水资源配置供需平衡分析和耗水平衡分析,将经济、生态环境、水资源系统简化和抽象为节点、计算单元水传输系统、流域单元水传输系统三类元素,并进行了实例应用。此类方法生成的拓扑图虽然可以直接为调度服务,但同样也是静态网络拓扑,并不能根据调度目标直观表示拓扑关系。陈立华等撰写的论文《西江流域水资源优化调度网络图动态构建研究》利用Unity3D将水库、水文站简化成点,河道简化为线段,通过遍历关联所有节点及线段来生成全流域拓扑。上述研究不仅反映了流域各水文节点间的拓扑关系,而且能在实际调度中使用,但仅采用遍历数据库进行关联节点,仅能将所有节点均用来构建拓扑关系,无法根据不同的调度目标选择不同的节点生成不同的拓扑关系图。并且此类方法采用的遍历关联法是通过单线程循环所有节点的方式来生成拓扑关系,当流域节点过多时,生成时间较长,平均时间复杂度为O(n2),即当节点数增加,网络拓扑变复杂时,所需时间增加迅速。另外该论文所生成的拓扑图仅能展示河段线段,水库、水文站节点之间的空间关系,对于节点之间的时间关系无法进行表示。
发明内容
为了解决上述问题,本发明提供了一种采用并行排序构建水库调度网络节点拓扑关系的方法,其包括水库信息处理、控制断面信息处理、河道信息处理及水网拓扑生成四部分,具体技术方案如下:
一种采用并行排序构建水库调度网络节点拓扑关系的方法,包括以下步骤:
S1:水库信息处理:根据建设目标对水库进行分类,以水库编号为主键,建立库表结构,存入对应信息,建立水库信息表;
S2:控制断面信息处理:根据断面信息,对每个断面类型进行记录,并以断面编号为主键,建立库表结构,存入对应信息,建立断面信息表;
S3:河道信息处理:收集各支流归入干流的节点信息,每个节点获取上下游水库信息及断面信息;根据水库、断面、节点信息表,建立各节点上下游最近信息表并存入数据库中;根据水库、断面、节点信息表从上至下以顺序为主键ID建立河道信息表,并将河道长度,河道马斯京根参数存入表中;
S4:根据选择的调度目标,利用并行排序法动态生成水库调度网络节点拓扑关系图。
优选地,所述步骤S1中每座水库可有一个或多个目标,所述目标包括防洪、生态、发电、压咸、通航。
优选地,所述步骤S1中还包括:建立水电站基本信息表,根据水电站基本参数,包括正常蓄水位、死水位、运行调度表,并以水库编号为主键,建立库表结构,存入对应信息。
优选地,所述步骤S1中还包括:建立水电站基本特性曲线表,以水库编号为主键,将水位库容关系、尾水下泄流量关系、泄流特性曲线、出力特性曲线、出力限制曲线、机组振动区、水头损失曲线、水头耗水率曲线存入数据库中。
优选地,所述步骤S1中还包括:建立梯级水流滞表,通过将流量离散,使流量过程均能找到对应的水流滞时,生成流量-水流滞时对应表,存入数据库中。
优选地,所述步骤S2中每个断面收集其对应流量条件,防洪控制断面需收集其安全泄量,生态控制断面需收集其枯水期生态流量,抑咸控制断面需收集其抑咸流量,通航断面需收集其航道等级现状及最低通航水位,并以断面标号为主键,建立库表结构,存入对应信息。
优选地,所述步骤S2还包括生态断面、抑咸断面需要收集生态流量过程、压咸流量过程线,并以断面标号为主键,建立库表结构,存入对应信息。
优选地,所述步骤S4中的并行排序法的步骤包括:
S41:根据用户选择,从数据库中选择对应的水库、断面,形成基础选择列表;
S42:从数据库中获取水库、断面所在河道信息,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[n];所述n为河道的数量;
S43:根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],…,ini[1][m1],…,ini[n][1],…,ini[n][mn];其中m1至mn分别为河道1至n内总节点数;
S44:将上述所述的无序二维数组拆分为n+1个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序;其中n+1个无序数组分为1个一维河道无序数组及n个二维河道内水库、断面无序数组;
S45:n个二维河道内水库、断面无序数组根据数据库排列关系表由index值由小到大直接生成有序数组,无需重新排序,生成新数组order数组:order[1][1],order[1][2],…,order[1][m1],…,order[n][1],order[n][mn];
S46:河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流、一级支流、二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从干流1到干流G,其中G为干流河道数量,根据此时的干流河道,获取当前干流河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流进一步获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组river数组;如若节点均在干流上则为一维数组表示为river[1],river[2],…,river[G],存在节点在一级支流上则为二维数组表示为river[1][1],river[2][1],…,river[G][R1],存在节点在二级支流上则为三维数组表示为river[1][1][1],river[1][1][2],…,river[G][R1][R2],其中R1,R2为一级支流,二级支流河道总数;
S47:根据river数组、order数组拓扑关系生成基础网络拓扑图;
S48:对生成的拓扑图中的节点及线段对象进行监听click事件;所述节点包括水库、断面;所述线段包括干流、一级支流、二级支流;
S49:获取被选择的节点属性、被选择的线段属性,并将获取的节点属性、线段属性加至基础网络拓扑图中的节点和线段上形成水库调度网络节点拓扑关系图
优选地,所述步骤S48还包括:
当断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息;
当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线及水流滞时图;
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
本发明的有益效果为:相比于以前只能手动构建或单目标构建网络拓扑图并且构建速度慢的构建方法,本发明所提出的并行排序构建水库调度网络节点拓扑关系的方法具有两方面优势,一方面在于根据所需的调度目标构建拓扑图,简化节点,并提供节点信息,方便查看;另一方面之前的遍历关联方法平均时间复杂度为O(m2),本方法的平均时间复杂度为O(nlog2 n),其中m为所有节点数量,n为河道数量,且节点数量远大于河道数量。因此本发明所提出方法快于目前已有方法,且当拓扑关系趋于复杂时,时间优势越明显,提高了拓扑图生成的效率。
附图说明
图1为本发明的流程示意图;
图2为本发明建立的水库、节点、河道信息表;
图3为本发明水库间不同量级下水流滞时示意图;
图4本发明以防洪为目标建立的拓扑关系图;
图5为本发明节点全年生态流量所需示意图;
图6本发明以生态为目标建立的拓扑关系图;
图7本发明以通航为目标的建立拓扑关系图。
具体实施方式
为了更好的理解本发明,下面结合附图和具体实施例对本发明作进一步说明:
如图1所示,一种采用并行排序构建水库调度网络节点拓扑关系的方法,包括以下步骤:
S1:水库信息处理:根据建设目标对水库进行分类,以水库编号为主键,建立库表结构,存入对应信息,建立水库信息表;每座水库可有一个或多个目标,所述目标包括防洪、生态、发电、压咸、通航。
建立水电站基本信息表,根据水电站基本参数,包括正常蓄水位、死水位、运行调度表,并以水库编号为主键,建立库表结构,存入对应信息。
建立水电站基本特性曲线表,以水库编号为主键,将水位库容关系、尾水下泄流量关系、泄流特性曲线、出力特性曲线、出力限制曲线、机组振动区、水头损失曲线、水头耗水率曲线存入数据库中。
建立梯级水流滞表,通过将流量离散,使流量过程均能找到对应的水流滞时,生成流量-水流滞时对应表,存入数据库中。
综上,建立的水库信息表如图2所示。
S2:控制断面信息处理:根据断面信息,对每个断面类型进行记录,并以断面编号为主键,建立库表结构,存入对应信息,建立断面信息表。
每个断面收集其对应流量条件,防洪控制断面需收集其安全泄量,生态控制断面需收集其枯水期生态流量,抑咸控制断面需收集其抑咸流量,通航断面需收集其航道等级现状及最低通航水位,并以断面标号为主键,建立库表结构,存入对应信息。
生态断面、抑咸断面需要收集生态流量过程、压咸流量过程线,并以断面标号为主键,建立库表结构,存入对应信息。
综上,建立的节点信息表如图2所示。
S3:河道信息处理:收集各支流归入干流的节点信息,每个节点获取上下游水库信息及断面信息;根据水库、断面、节点信息表,建立各节点上下游最近信息表并存入数据库中;根据水库、断面、节点信息表从上至下以顺序为主键ID建立河道信息表,并将河道长度,河道马斯京根参数存入表中。
综上,建立的河道信息表如图2所示。
S4:根据选择的调度目标,利用并行排序法动态生成水库调度网络节点拓扑关系图。并行排序法的步骤包括:
S41:根据用户选择,从数据库中选择对应的水库、断面,形成基础选择列表;
S42:从数据库中获取水库、断面所在河道信息,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[n];所述n为河道的数量;
S43:根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],…,ini[1][m1],…,ini[n][1],…,ini[n][mn];其中m1至mn分别为河道1至n内总节点数;
S44:将上述所述的无序二维数组拆分为n+1个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序;其中n+1个无序数组分为1个一维河道无序数组及n个二维河道内水库、断面无序数组;
S45:n个二维河道内水库、断面无序数组根据数据库排列关系表由index值由小到大直接生成有序数组,无需重新排序,生成新数组order数组:order[1][1],order[1][2],…,order[1][m1],…,order[n][1],order[n][mn];
S46:河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流、一级支流、二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从干流1到干流G,其中G为干流河道数量,根据此时的干流河道,获取当前干流河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流进一步获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组river数组;如若节点均在干流上则为一维数组表示为river[1],river[2],…,river[G],存在节点在一级支流上则为二维数组表示为river[1][1],river[2][1],…,river[G][R1],存在节点在二级支流上则为三维数组表示为river[1][1][1],river[1][1][2],…,river[G][R1][R2],其中R1,R2为一级支流,二级支流河道总数;
S47:根据river数组、order数组拓扑关系生成基础网络拓扑图;
S48:对生成的拓扑图中的节点及线段对象进行监听click事件;所述节点包括水库、断面;所述线段包括干流、一级支流、二级支流;
当断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息;
当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线及水流滞时图;
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
S49:获取被选择的节点属性、被选择的线段属性,并将获取的节点属性、线段属性加至基础网络拓扑图中的节点和线段上形成水库调度网络节点拓扑关系图。
相对于陈立华等论文《西江流域水资源优化调度网络图动态构建研究》仅能将所有节点一次性生成出来,也不能展示相关信息,本发明可以根据需求生成对应拓扑关系图,下面分别以防洪、生态、航运为例详细说明本发明操作流程。
(a)以防洪为目标的调度目标的拓扑图生成
当选择防洪作为目标时,从数据库中水库节点根据字段“FH”选择参与防洪调度的水库,控制断面。本例为简化说明,共有7座水库,7个控制断面。
从数据库中获取节点所在的具体最末级河道信息,即本实施例中河道为红水河、柳江、黔江、浔江、郁江、西江、桂江干流、桂江支流1、桂江支流2、桂江支流3、桂江支流4共计为11条,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[11]。
根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],ini[2][1],ini[2][2],ini[3][1],ini[4][1],ini[5][1],ini[5][2],ini[6][1],ini[7][1],ini[8][1],ini[9][1],ini[10][1],ini[11][1],如表1所示。
表1河道内节点数量表
编号 | 河道 | 节点数 |
1 | 红水河 | 2 |
2 | 柳江 | 2 |
3 | 黔江 | 1 |
4 | 浔江 | 1 |
5 | 郁江 | 2 |
6 | 西江 | 1 |
7 | 桂江 | 1 |
8 | 桂江支流1 | 1 |
9 | 桂江支流2 | 1 |
10 | 桂江支流3 | 1 |
11 | 桂江支流4 | 1 |
将无序二维数组拆分为12个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序,即共12个线程、1个1维河道无序数组thread1,用于将河道无序数组按照正确顺序排列;11个二维河道内水库、断面无序数组thread2-thread12,用于每条单独河道内部水库节点及断面节点的排序,如表2所示。
表2线程对应表
11个水库断面数组根据数据库排列关系表,数组转列表后,利用列表特性,根据index值由小到大直接生成有序列表,再转回数组,生成新order数组:order[1][1],order[1][2],…,order[5][1],…,order[11][1]。
河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流,一级支流,二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从1到G,G为干流河道数量,根据此时的干流河道,获取当前河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组,本实施例为river[1][1],river[2][1],river[3][1],river[4][1],river[5][1],river[6][1],river[7][1],river[7][2],river[7][3],river[7][4]。由于采用并行计算,当节点及河道数量逐步增加时,并行排序算法时间增加相对较少,遍历关联法增加明显,为了测试时间差距,本发明利用两种算法分为两种情况对比所需时间,当河道数目增加,水库断面节点增加时(总计100个节点,1000个节点,10000个节点三种情况)进行拓扑,获取河道、节点拓扑结果,并统计时间,如表1所示。当节点数逐步增加时,遍历排序时间增加迅速,而并行排序法,主要用时在于河道数组生成,当河道数组变化不大时,用时变化不大,并不会明显增加。
表3河网编号
表4当河网复杂度增加时两种算法所用时间对比
节点数 | 100 | 1000 | 10000 |
并行排序法 | 0.0115ms | 0.595ms | 80.5104ms |
遍历关联法 | 22.697ms | 103.562ms | 989.3ms |
根据上述的river数组,断面数组拓扑关系,利用Unity3D生成基础网络拓扑图。对生成的拓扑图节点及线段对象进行监听click事件。
当控制断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息。
相对于陈立华等论文《西江流域水资源优化调度网络图动态构建研究》等所生成的拓扑关系图,仅能表示出节点、河道相对位置,没有其他有关信息的展示,本发明中当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线信息、当河道被选择时,提供节点间不同量级洪水传播时间的水流滞时图,如图3所示。
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
将以上获取的节点属性,河道属性附加至基础拓扑图中节点与河道上去,形成最终以防洪为目标的拓扑图,如图4所示。
(b)以生态调度为目标的拓扑图生成
当选择生态作为目标时,从数据库中水库节点根据字段“ST”选择参与生态调度的水库和控制断面。本例为简化说明,共有5座水库,2个控制断面。
从数据库中获取节点所在的具体最末级河道信息,即本案例中河道为红水河、柳江、郁江、黔江、浔江、西江共计为6条,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[6]。
根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],ini[1][3],ini[2][1],ini[3][1],ini[4][1],ini[5][1],ini[6][1],如表5所示。
表5河道内节点数量表
编号 | 河道 | 节点数 |
1 | 红水河 | 3 |
2 | 柳江 | 1 |
3 | 黔江 | 1 |
4 | 浔江 | 1 |
5 | 郁江 | 1 |
6 | 西江 | 1 |
将无序二维数组拆分为7个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序,即共7个线程、1个一维河道无序数组thread1,用于将河道无序数组按照正确顺序排列;6个二维河道内水库、断面无序数组thread2-thread7,用于每条单独河道内部水库节点及断面节点的排序,如表6所示。
表6线程对应表
线程编号 | 数组 |
thread1 | 河道无序数组 |
thread2 | 红水河节点数组 |
thread3 | 柳江节点数组 |
thread4 | 黔江节点数组 |
thread5 | 浔江节点数组 |
thread6 | 郁江节点数组 |
thread7 | 西江节点数组 |
6个水库断面数组根据数据库排列关系表,由index值由小到大直接生成有序数组,无需重新排序,生成新数组order[1][1],order[1][2],…,order[6][1]。
河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流,一级支流,二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从1到G,G为干流河道数量,根据此时的干流河道,获取当前河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组,本案例为river[1],river[2],river[3],river[4],river[5],river[6],如表7所示。
表7河网编号
数组编号 | 干流河道 |
river[1] | 红水河 |
river[2] | 柳江 |
river[3] | 黔江 |
river[4] | 浔江 |
river[5] | 郁江 |
river[6] | 西江 |
根据river数组,断面数组拓扑关系,利用Unity3D生成基础网络拓扑图。对生成的拓扑图节点及线段对象进行监听click事件。当控制断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息。
相对于陈立华等论文《西江流域水资源优化调度网络图动态构建研究》等所生成的拓扑关系图,仅能表示出节点、河道相对位置,没有其他有关信息的展示,本发明中当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线信息、当河道被选择时,提供节点间不同量级洪水传播时间的水流滞时图,当生态节点被选择时,提供全年生态流量需水示意图,如图5所示。
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
将以上获取的节点属性,河道属性附加至基础拓扑图中节点与河道上去,形成最终拓扑图,如图6所示。
(c)以通航调度为目标的拓扑图生成
当选择通航作为目标时,从数据库中水库节点根据字段“TH”选择参与通航调度的水库和控制断面。本例为简化说明,共有6座水库,2个控制断面。
从数据库中获取其所在河道信息,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[5]。
从数据库中获取节点所在的具体最末级河道信息,即本案例中河道为红水河、柳江、郁江、黔江、浔江共计为5条,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[5]。
根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],ini[2][1],ini[3][1],ini[4][1],ini[5][1],ini[5][2],ini[5][3],ini[5][4],如表8所示。
表8河道内节点数量表
编号 | 河道 | 节点数 |
1 | 红水河 | 2 |
2 | 柳江 | 1 |
3 | 黔江 | 1 |
4 | 浔江 | 1 |
5 | 郁江 | 4 |
将无序二维数组拆分为6个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序,即共6个线程、1个一维河道无序数组thread1,用于将河道无序数组按照正确顺序排列;6个二维河道内水库、断面无序数组thread2-thread6,用于每条单独河道内部水库节点及断面节点的排序,如表9所示。
表9线程对应表
线程编号 | 数组 |
thread1 | 河道无序数组 |
thread2 | 红水河节点数组 |
thread3 | 柳江节点数组 |
thread4 | 黔江节点数组 |
thread5 | 浔江节点数组 |
thread6 | 郁江节点数组 |
5个水库断面数组根据数据库排列关系表,由index值由小到大直接生成有序数组,无需重新排序,生成新数组order[1][1],order[1][2],…,order[5][1]。
河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流,一级支流,二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从1到G,G为干流河道数量,根据此时的干流河道,获取当前河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组river[1],river[2],river[3],river[4],river[5],如表10所示。
表10河网编号
根据river数组,断面数组拓扑关系,利用Unity3D生成基础网络拓扑图。对生成的拓扑图节点及线段对象进行监听click事件。当控制断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息。
相对于陈立华等论文《西江流域水资源优化调度网络图动态构建研究》等所生成的拓扑关系图,仅能表示出节点、河道相对位置,没有其他有关信息的展示,本发明中当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线信息、当河道被选择时,提供节点间不同量级洪水传播时间的水流滞时图。
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
将以上获取的节点属性,河道属性附加至基础拓扑图中节点与河道上去,形成最终拓扑图,如图7所示。
本发明不局限于以上所述的具体实施方式,以上所述仅为本发明的较佳实施案例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:包括以下步骤:
S1:水库信息处理:根据建设目标对水库进行分类,以水库编号为主键,建立库表结构,存入对应信息,建立水库信息表;
S2:控制断面信息处理:根据断面信息,对每个断面类型进行记录,并以断面编号为主键,建立库表结构,存入对应信息,建立断面信息表;
S3:河道信息处理:收集各支流归入干流的节点信息,每个节点获取上下游水库信息及断面信息;根据水库、断面、节点信息表,建立各节点上下游最近信息表并存入数据库中;根据水库、断面、节点信息表从上至下以顺序为主键ID建立河道信息表,并将河道长度,河道马斯京根参数存入表中;
S4:根据选择的调度目标,利用并行排序法动态生成水库调度网络节点拓扑关系图。
2.根据权利要求1所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S1中每座水库可有一个或多个目标,所述目标包括防洪、生态、发电、压咸、通航。
3.根据权利要求1所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S1中还包括:建立水电站基本信息表,根据水电站基本参数,包括正常蓄水位、死水位、运行调度表,并以水库编号为主键,建立库表结构,存入对应信息。
4.根据权利要求1所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S1中还包括:建立水电站基本特性曲线表,以水库编号为主键,将水位库容关系、尾水下泄流量关系、泄流特性曲线、出力特性曲线、出力限制曲线、机组振动区、水头损失曲线、水头耗水率曲线存入数据库中。
5.根据权利要求1所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S1中还包括:建立梯级水流滞表,通过将流量离散,使流量过程均能找到对应的水流滞时,生成流量-水流滞时对应表,存入数据库中。
6.根据权利要求2所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S2中每个断面收集其对应流量条件,防洪控制断面需收集其安全泄量,生态控制断面需收集其枯水期生态流量,抑咸控制断面需收集其抑咸流量,通航断面需收集其航道等级现状及最低通航水位,并以断面标号为主键,建立库表结构,存入对应信息。
7.根据权利要求6所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S2还包括生态断面、抑咸断面需要收集生态流量过程、压咸流量过程线,并以断面标号为主键,建立库表结构,存入对应信息。
8.根据权利要求1所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:
所述步骤S4中的并行排序法的步骤包括:
S41:根据用户选择,从数据库中选择对应的水库、断面,形成基础选择列表;
S42:从数据库中获取水库、断面所在河道信息,每段河道赋值为一个数值,生成初始无序数组ini[1],ini[2],…,ini[n];所述n为河道的数量;
S43:根据所选择的水库、断面,将水库、断面赋值至所在河道,其初始值为河道信息内收集的节点信息表中的index值,即将初始无序的一维数组扩展至二维无序数组ini[1][1],ini[1][2],…,ini[1][m1],…,ini[n][1] ,…,ini[n][mn];其中m1至mn分别为河道1至n内总节点数;
S44:将上述所述的无序二维数组拆分为n+1个无序数组,并给每个数组分配一个单独线程,各线程之间进行独立排序;其中n+1个无序数组分为1个一维河道无序数组及n个二维河道内水库、断面无序数组;
S45:n个二维河道内水库、断面无序数组根据数据库排列关系表由index值由小到大直接生成有序数组,无需重新排序,生成新数组order数组:order[1][1],order [1][2],…,order [1][m1],…,order [n][1],order [n][mn];
S46:河道数组的重新排序,首先根据一维河道数组,根据河道信息获取所处干流、一级支流、二级支流及汇流点数据将其存入临时数组,从数据库获取全流域河道数组,利用For循环,从干流1到干流G,其中G为干流河道数量,根据此时的干流河道,获取当前干流河道内一级支流总数R,再次利用For循环,将临时数组中不存在的一级支流剔除掉,根据剩下的一级支流数R1,再次利用For循环,对每次循环中获得的一级支流进一步获取二级支流,根据临时数组将不存在的二级支流再次去掉,结束循环时,不存在的一级、二级支流将被去掉,获得所需的河网数组river数组;如若节点均在干流上则为一维数组表示为river[1],river [2],…,river[G],存在节点在一级支流上则为二维数组表示为river[1][1],river[2][1],…,river[G][R1],存在节点在二级支流上则为三维数组表示为river[1][1][1],river[1][1][2],…,river[G][R1][R2],其中R1,R2为一级支流,二级支流河道总数;
S47:根据river数组、order数组拓扑关系生成基础网络拓扑图;
S48:对生成的拓扑图中的节点及线段对象进行监听click事件;所述节点包括水库、断面;所述线段包括干流、一级支流、二级支流;
S49:获取被选择的节点属性、被选择的线段属性,并将获取的节点属性、线段属性加至基础网络拓扑图中的节点和线段上形成水库调度网络节点拓扑关系图。
9.根据权利要求8所述的一种采用并行排序构建水库调度网络节点拓扑关系的方法,其特征在于:所述步骤S48还包括:
当断面节点被选择时,提供断面弹出窗口,提供相关流量过程及相关信息;
当水库节点被选择时,提供弹出窗口,提供水库基本信息、特性曲线及水流滞时图;
根据河道内节点信息,将节点直接河道数据进行合并,河道长度数据相加,河道马斯京根参数合并,长度信息展示在河道线段上方,马斯京根参数信息通过弹窗展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427083.2A CN113282797B (zh) | 2021-04-20 | 2021-04-20 | 一种采用并行排序构建水库调度网络节点拓扑关系的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427083.2A CN113282797B (zh) | 2021-04-20 | 2021-04-20 | 一种采用并行排序构建水库调度网络节点拓扑关系的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282797A true CN113282797A (zh) | 2021-08-20 |
CN113282797B CN113282797B (zh) | 2022-07-01 |
Family
ID=77277009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110427083.2A Active CN113282797B (zh) | 2021-04-20 | 2021-04-20 | 一种采用并行排序构建水库调度网络节点拓扑关系的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282797B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116307651A (zh) * | 2023-05-19 | 2023-06-23 | 杭州银江环保科技有限公司 | 基于glcd系统的厂网河联合调度智能水务系统及方法 |
CN117077571A (zh) * | 2023-10-13 | 2023-11-17 | 长江三峡集团实业发展(北京)有限公司 | 一种水面线模拟方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740342A (en) * | 1995-04-05 | 1998-04-14 | Western Atlas International, Inc. | Method for generating a three-dimensional, locally-unstructured hybrid grid for sloping faults |
US20100088031A1 (en) * | 2008-10-02 | 2010-04-08 | Certusview Technologies, Llc | Methods and apparatus for generating an electronic record of environmental landmarks based on marking device actuations |
CN105631168A (zh) * | 2016-03-25 | 2016-06-01 | 中国水利水电科学研究院 | 一种实时高效的流域洪水演进可视化仿真方法 |
CN108643116A (zh) * | 2018-05-08 | 2018-10-12 | 河海大学 | 一种山区性水库库区河道水面宽度的估算方法 |
CN109992909A (zh) * | 2019-04-08 | 2019-07-09 | 珠江水利委员会珠江水利科学研究院 | 树状河网梯级水库水动力水质泥沙耦合模拟方法及系统 |
CN110633849A (zh) * | 2019-09-10 | 2019-12-31 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种基于启发式大系统分解协调思想的水资源配置方法 |
CN110717251A (zh) * | 2019-09-19 | 2020-01-21 | 中国水利水电科学研究院 | 一种考虑多要素的分布式水文模型子流域划分方法 |
CN111680171A (zh) * | 2020-07-08 | 2020-09-18 | 中国水利水电科学研究院 | 一种基于专题知识图谱的河系洪水预报方案构建方法 |
-
2021
- 2021-04-20 CN CN202110427083.2A patent/CN113282797B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740342A (en) * | 1995-04-05 | 1998-04-14 | Western Atlas International, Inc. | Method for generating a three-dimensional, locally-unstructured hybrid grid for sloping faults |
US20100088031A1 (en) * | 2008-10-02 | 2010-04-08 | Certusview Technologies, Llc | Methods and apparatus for generating an electronic record of environmental landmarks based on marking device actuations |
CN105631168A (zh) * | 2016-03-25 | 2016-06-01 | 中国水利水电科学研究院 | 一种实时高效的流域洪水演进可视化仿真方法 |
CN108643116A (zh) * | 2018-05-08 | 2018-10-12 | 河海大学 | 一种山区性水库库区河道水面宽度的估算方法 |
CN109992909A (zh) * | 2019-04-08 | 2019-07-09 | 珠江水利委员会珠江水利科学研究院 | 树状河网梯级水库水动力水质泥沙耦合模拟方法及系统 |
CN110633849A (zh) * | 2019-09-10 | 2019-12-31 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种基于启发式大系统分解协调思想的水资源配置方法 |
CN110717251A (zh) * | 2019-09-19 | 2020-01-21 | 中国水利水电科学研究院 | 一种考虑多要素的分布式水文模型子流域划分方法 |
CN111680171A (zh) * | 2020-07-08 | 2020-09-18 | 中国水利水电科学研究院 | 一种基于专题知识图谱的河系洪水预报方案构建方法 |
Non-Patent Citations (7)
Title |
---|
C. HU 等: ""Optimal Dispatch Model of Wind Power Accommodation in Combined Heat and Power System Based on Unit Commitment"", 《IEEE INNOVATIVE SMART GRID TECHNOLOGIES - ASIA》 * |
C. HU 等: ""Optimal Dispatch Model of Wind Power Accommodation in Combined Heat and Power System Based on Unit Commitment"", 《IEEE INNOVATIVE SMART GRID TECHNOLOGIES - ASIA》, 24 October 2019 (2019-10-24), pages 1834 - 1839 * |
唐国磊 等: ""水库群预报调度系统业务层重构研究"", 《大连理工大学学报》, 30 September 2010 (2010-09-30), pages 742 - 748 * |
陈玉芬等: "流域拓扑结构分析与计算机实现", 《干旱地区农业研究》, no. 05, 10 March 2006 (2006-03-10), pages 183 - 186 * |
陈立华 等: ""西江流域水资源优化调度网络图动态构建研究"", 《中国农村水利水电》 * |
陈立华 等: ""西江流域水资源优化调度网络图动态构建研究"", 《中国农村水利水电》, 15 August 2019 (2019-08-15), pages 1 - 11 * |
黄瑶等: "基于WebGIS的水库群调度拓扑设计分析与应用", 《人民长江》, no. 13, 14 July 2018 (2018-07-14), pages 125 - 131 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116307651A (zh) * | 2023-05-19 | 2023-06-23 | 杭州银江环保科技有限公司 | 基于glcd系统的厂网河联合调度智能水务系统及方法 |
CN117077571A (zh) * | 2023-10-13 | 2023-11-17 | 长江三峡集团实业发展(北京)有限公司 | 一种水面线模拟方法、装置、计算机设备及存储介质 |
CN117077571B (zh) * | 2023-10-13 | 2024-01-26 | 长江三峡集团实业发展(北京)有限公司 | 一种水面线模拟方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113282797B (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282797B (zh) | 一种采用并行排序构建水库调度网络节点拓扑关系的方法 | |
CN101408900B (zh) | 一种网格计算环境下的分布式空间数据查询优化方法 | |
CN102722531B (zh) | 一种云环境中基于分片位图索引的查询方法 | |
CN108228724A (zh) | 基于图数据库的电网gis拓扑分析方法及存储介质 | |
CN101556464A (zh) | 基于关联规则的城市电力负荷预测模型自动推荐方法 | |
CN108799844B (zh) | 一种基于模糊集的供水管网压力监测点选址方法 | |
CN107368648A (zh) | 一种面向市政给水管网压力监测点优化布置方法 | |
CN104572833B (zh) | 一种映射规则创建方法及装置 | |
CN109214549A (zh) | 一种基于图论的供水管网辅助dma分区方法和系统 | |
CN102176200A (zh) | 一种软件测试用例自动生成方法 | |
CN110502509A (zh) | 一种基于Hadoop与Spark框架的交通大数据清洗方法及相关装置 | |
CN113256028B (zh) | 一种面向大范围长历时干旱的应急供水调配方法 | |
CN106033442B (zh) | 一种基于共享内存体系结构的并行广度优先搜索方法 | |
CN106296315A (zh) | 基于用户用电数据的情境感知系统 | |
CN106250566A (zh) | 一种分布式数据库及其数据运算的管理方法 | |
CN104820684A (zh) | 一种基于空间位置的快速联机分析处理方法 | |
CN108960335A (zh) | 一种基于大规模网络进行高效聚类方法 | |
CN115495429A (zh) | 一种基于Hadoop集群的海量空间数据质检方法和系统 | |
CN108959356A (zh) | 一种智能配用电大数据应用系统数据集市建立方法 | |
CN105493050B (zh) | 数据处理装置及数据处理方法 | |
CN107276807A (zh) | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 | |
Min et al. | Data mining and economic forecasting in DW-based economical decision support system | |
CN113282568B (zh) | 一种iot大数据实时时序流分析应用技术方法 | |
Tran et al. | Structures of association rule set | |
CN108446342A (zh) | 一种环境质量评价系统、方法、装置及存储装置 |
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 |