一种输电网厂站节点可视化布局的渐进式自动生成方法
技术领域
本发明涉及电力系统的输电网厂站节点自动布局的技术领域,尤其是一种输电网厂站节点布局的渐进式自动生成方法。
背景技术
随着电力系统中输电网的不断扩大,导致运营部门需要对上千甚至上万个电网节点进行监视和检查。对于如此巨大的节点量,电网自动控制中心必须能够将大量的厂站节点以及它们之间的线路连接较为清晰的显示在电脑上,从而方便调度人员的查询与分析。
迄今为止,大量的输电网厂站结构都是由调度人员手工绘制。手工绘制输电网厂站布局有以下优势:
1、布局符合调度人员的使用习惯
2、厂站布局在兼顾地理位置的情况下完成结构的抽象
但是,由于输电网节点数不断增大,手工绘制已经成为一项无法完成的工作。于是,就非常有必要设计一种自动布局方法,能够以较快的速度,完成原来需要调度人员完成的工作。
在输电网的节点自动布局问题中,现在的自动布局方法有基于遗传算法的、模拟退火算法的和各种启发式算法。但是这些方法均存在不同的缺陷,例如计算速度慢、自动布局过程无法显示、最终结果与调度人员的习惯有交大差异等问题。
那么,设计一种适用于电网厂站节点可视化布局的渐进式自动生成方法来协助调度人员完成节点排布是非常有必要的。而且该方法能以较快的速度给出临时排布供调度人员选择,并且能够将自动排布过程动态显示给调度人员从而更好的满足调度人员的可视化习惯。
发明内容
为了克服已有输电网的节点自动布局的计算速度慢、自动布局过程无法显示、最终结果与调度人员的习惯有交大差异等不足,本发明提供了一种具有渐进特征的厂站节点的自动布局方法,使得使用该方法的自动布局系统具备更好的布局效果,能有效提高计算速度,并满足调度人员可视化的习惯。
本发明解决其技术问题所采用的技术方案是:
一种输电网厂站节点可视化布局的渐进式自动生成方法,所述的方法包括以下步骤:
(1)初始化节点信息与首次随机排布:
(1.1)从数据库获取需要布局的所有输电网厂站节点,共计n个节点,节点集合记为N,每个节点表示为Ni;
(1.2)检查每两个节点Ni和Nj之间是否存在线路,如果存在则设定为Lij,如果不存在则该Lij不存在;
(1.3)随机产生所有节点的x坐标和y坐标,记为Ni(x,y);
(2)节点自动排布过程:
(2.1)设定节点遍历计数i=1;
(2.2)设定节点Ni在x轴和y轴的移动分量为dix=0和diy=0;
(2.3)设定节点遍历计数j,从1遍历至n;
(2.3.1)根据Ni和Nj的坐标修正dix和diy,修正方式为:当Nix等于Njx时,dix=dix+R;当Nix不等于Njx时,dix=dix+10/(Nix-Njx);当Niy等于Njy时,diy=diy+R;当Niy不等于Njy时,diy=diy+10/(Niy-Njy);其中,Nix和Niy为节点Ni的x和y坐标;Njx和Njy为节点Nj的x和y坐标;R为一个随机数生成函数,即每次参与运算即产生一个-1至1之间的随机小数;
(2.3.2)判断Ni和Nj节点之间是否存在连接Lij,如果存在,则根据Ni和Nj的连接修正dix和diy;修正方式为:dix=dix+(Njx-Nix)/10+R;diy=diy+(Njy-Niy)/10+R;如果Lij不存在,则不修正dix和diy;
(2.4)根据dix和diy修改Ni(x,y),修改方式为:Nix=Nix+[dix];Niy=Niy+[diy]。其中,符号[]表示对小数进行四舍五入取整;
(2.5)节点遍历计数器i自加1,即i=i+1。判断i是否等于n,如果不相等则跳转至(2.2);
(3)终止自动生成过程并输出结果;
(3.1)判断调度员是否给出了结束生成的指令,如果给出则停止自动生成过程转到步骤(3.2),若未给出则跳转至步骤(2);
(3.2)输出自动排布结果,即所有节点的x和y坐标。
作为优选的一种方案:所述步骤(2)还包括以下步骤:
(2.6)检查调度员是否有手动修改节点坐标的要求,如果有,则与调度员进行交互,由调度员直接设定指定节点的坐标,即手动设置Ni(x,y)。
本发明的技术构思为:为了克服已有技术中在输电网厂站节点可视化布局问题中的计算速度慢、自动布局过程无法显示、最终结果与调度人员的习惯有交大差异等不足,本发明提供了一种具有渐进特征的厂站节点的自动布局方法,使得使用该方法的自动布局系统具备更好的布局效果。在节点布局自动生成方法中采用了逐步变化的渐进式方式,可以使自动排布的中间结果动态的提供给调度人员,实现了排布过程的人工干预和人工判别,最终做到所生成的布局真正符合调度人员的可视化习惯。本发明所设计的方法采用的自动排布计算步骤计算简单,能够以较快的速度完成一次排布周期,从而能比传统方法更快的提供排布结果,使得调度人员有足够的时间进行结构调整。
本发明的有益效果主要表现在:1、渐进式布局生成;2、互动排布;3、快速自动生成。
附图说明
图1是输电网厂站节点可视化布局的渐进式自动生成方法的流程图。
图2是电网厂站节点可视化布局的渐进式自动生成系统的结构图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种输电网厂站节点可视化布局的渐进式自动生成方法,包括以下步骤:
第一步:从数据库获取需要布局的所有厂站节点,共计n个节点,节点集合记为Ni。
第二步:检查每两个节点Ni和Nj之间是否存在线路,如果存在则设定为Lij,如果不存在则该Lij不存在。
第三步:随机产生所有节点的x坐标和y坐标,记为Ni(x,y)。其中x和y的取值范围为0至1000之间的整数。
第四步:设定节点遍历计数i=1。
第五步:设定节点Ni在x轴和y轴的移动分量为dix=0和diy=0。
第六步:设定节点遍历计数j=1
第七步:根据Ni和Nj的坐标修正dix和diy。修正方式为:当Nix等于Njx时,dix=dix+R;当Nix不等于Njx时,dix=dix+10/(Nix-Njx)。当Niy等于Njy时,diy=diy+R;当Niy不等于Njy时,diy=diy+10/(Niy-Njy)。其中,Nix和Niy为节点Ni的x和y坐标;Njx和Njy为节点Nj的x和y坐标;R为一个随机数生成函数,即每次参与运算即产生一个-1至1之间的随机小数。
第八步:判断Ni和Nj节点之间是否存在连接Lij,如果不存在则跳转至第十步。
第九步:根据Ni和Nj的连接修正dix和diy。修正方式为:dix=dix+(Njx-Nix)/10+R;diy=diy+(Njy-Niy)/10+R。若不存在Lij,则不修正dix和diy。
第十步:节点遍历计数器j自加1,即j=j+1。
第十一步:判断j是否等于n,如果不相等则跳转至第七步。
第十二步:根据dix和diy修改Ni(x,y),修改方式为:Nix=Nix+[dix];Niy=Niy+[diy]。其中,符号[]表示对小数进行四舍五入取整。
第十三步:节点遍历计数器i自加1,即i=i+1。
第十四步:判断i是否等于n,如果不相等则跳转至第五步。
第十五步:检查调度员是否有手动修改节点坐标的要求,如果没有则跳转至第十七步。
第十六步:与调度员进行交互,由调度员直接设定指定节点的坐标,即手动设置Ni(x,y)。
第十七步:判断调度员是否给出了结束生成的指令,如果没有则跳转至第四步。
第十八步:输出自动排布结果,即所有节点的x和y坐标。
参照图2,应用本方法实现的输电网厂站节点可视化布局的渐进式自动生成系统,主要包括布局计算子系统和人机交互子系统。
所述的布局子系统包括:
(1)电网数据库交互模块:给布局子系统提供所需的厂站信息和线路信息,该模块与电网数据库接口进行数据获取操作。
(2)渐进式排布模块:根据厂站信息与线路信息应用本发明的计算方法进行自动排布。
(3)动态排布的中间结果输出模块:将每次计算的动态结果输出到标准显示数据格式。
(4)最终排布结果输出模块:将最终的排布结果输出为SVG标准图形格式。
所述的人机交互子系统包括:
(1)排布节点与线路选择界面:给调度人员选择需要排布的节点和线路的界面。
(2)中间布局显示模块:将渐进式排布模块的中间排布结果作为动态图形显示。
(3)人工修正模块:与调度员进行交互,允许人工干预排布过程。
(4)最终结果显示模块:将渐进式排布结果的最终排布显示为SVG标准图形格式。