发明名称 一种基于BRB系统的供水管网建模方法
摘要 本发明公开了一种基于BRB系统的供水管网建模方法。本发明首先收集管网运行的历史数据,其次确定供水管网模型的输入变量和输出变量,然后建立基于BRB的供水管网模型,最后建立基于BRB的供水管网MIMO模型。本发明可以很好的描述供水管网系统工况,用于供水管网的实时优化调度时,可与供水管网的神经网络模型相媲美。而且,通过分析由管网历史运行数据训练得到的规则库,可以进一步挖掘供水管网的未知特性。
申请公布号 CN103530818B 申请公布日期 2016.06.01
申请号 CN201310477641.1 申请日期 2013.10.12
申请人 杭州电子科技大学 发明人 徐哲;杨洁;孔亚广;何必仕;薛安克
分类号 G06Q50/06(2012.01)I 主分类号 G06Q50/06(2012.01)I
代理机构 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人 杜军
主权项 一种基于BRB系统的供水管网建模方法,其特征在于该方法包括以下步骤:步骤1.收集管网运行的历史数据,具体是:从供水管网的SCADA系统和数据库系统中获取管网运行的历史数据,所述的历史数据包括水厂出厂压力、水厂供水量、管网中增压泵站压力、管网中增压泵站流量,管道上可控阀门的开启程度、压力监测点的压力、流量监测点的流量、蓄水池水位和用户用水量;步骤2.确定供水管网模型的输入变量和输出变量,具体是:(2‑1)从实际获得的管网运行的历史数据出发,选取供水管网模型输入输出变量,输入变量包括:水厂出厂压力、水厂供水量、管网中增压泵站压力、管网中增压泵站流量,管道上可控阀门的开启程度;输出变量包括:压力监测点的压力、流量监测点的流量和蓄水池水位;(2‑2)根据选取的输入变量和输出变量,对管网运行的历史数据进行筛选,得到仅含输入变量和输出变量的历史数据,作为样本数据;同时,将样本数据分成两部分,前一部分作为训练数据集,后一部分作为检验数据集;步骤3.建立基于BRB的供水管网模型,具体是:基于BRB系统的模型为MISO模型,供水管网为MIMO模型;因此,基于BRB的供水管网MIMO模型为多个基于BRB的供水管网MISO模型的合成;基于BRB的供水管网MISO模型的建立步骤如下:(3‑1)确定规则库中输入向量和输出向量;规则库中输入向量即为步骤2中选择的输入变量构成的向量,规则库中输出向量为步骤2中选择的输出变量的某一个;设输入向量U=(U<sub>i</sub>,i=1,...,T),其中T为输入向量的分量个数,即输入变量的个数;设输出变量为O(U),其为输入向量U的函数;(3‑2)建立初始规则库;BRB系统中规则库中的规则为:R<sub>k</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>I</mi><mi>F</mi><mrow><mo>(</mo><msub><mi>U</mi><mn>1</mn></msub><msubsup><mi>isA</mi><mn>1</mn><mi>k</mi></msubsup><mo>)</mo></mrow><mi>&Lambda;</mi><mrow><mo>(</mo><msub><mi>U</mi><mn>2</mn></msub><msubsup><mi>isA</mi><mn>2</mn><mi>k</mi></msubsup><mo>)</mo></mrow><mi>&Lambda;</mi><mo>...</mo><mi>&Lambda;</mi><mrow><mo>(</mo><msub><mi>U</mi><mi>T</mi></msub><msubsup><mi>isA</mi><mi>T</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000011.GIF" wi="854" he="95" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>T</mi><mi>H</mi><mi>E</mi><mi>N</mi><mo>{</mo><mrow><mo>(</mo><msub><mi>D</mi><mn>1</mn></msub><mo>,</mo><msub><mi>&beta;</mi><mrow><mn>1</mn><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><msub><mi>D</mi><mn>2</mn></msub><mo>,</mo><msub><mi>&beta;</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><mrow><mo>(</mo><msub><mi>D</mi><mi>N</mi></msub><mo>,</mo><msub><mi>&beta;</mi><mrow><mi>N</mi><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>}</mo><mo>,</mo><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>&le;</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>...</mo><mi>L</mi><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000021.GIF" wi="1301" he="167" /></maths>规则的权重:θ<sub>k</sub>(k=1,...,L),输入变量权重:δ<sub>1,k</sub>,δ<sub>2,k</sub>,...,δ<sub>T,k</sub>;其中,L为规则的总数,<img file="FDA0000919394260000022.GIF" wi="289" he="75" />为第k条规则中第i输入变量的参考值,D=(D<sub>1</sub>,D<sub>2</sub>,...,D<sub>N</sub>)为推理输出向量,β<sub>nk</sub>(n=1,...,N)为推理输出D<sub>n</sub>的信任度;如果<img file="FDA0000919394260000023.GIF" wi="235" he="141" />则称第k条规则是完整的;如果<img file="FDA0000919394260000024.GIF" wi="239" he="135" />则第k条规则被完全忽略;θ<sub>k</sub>(k=1,...,L)为第k规则在规则库中的相对权重,δ<sub>i,k</sub>(i=1,...,T,k=1,...,L)为第k规则中第i输入变量权重;规则库中可变参数为P=(β<sub>nk</sub>,θ<sub>k</sub>,δ<sub>i,k</sub>;n=1,...,N;k=1,...,L;i=1,...,T);为建立初始化规则库,随机初始β<sub>nk</sub>,而θ<sub>k</sub>,δ<sub>i,k</sub>初始设定为1;(3‑3)训练规则库;初始规则库通过学习训练数据集中的输入数据集和输出数据集的映射关系,自动调整可变参数P=(β<sub>nk</sub>,θ<sub>k</sub>,δ<sub>i,k</sub>;n=1,...,N;k=1,...,L;i=1,...,T),最终获得描述输入向量U=(U<sub>i</sub>,i=1,...,T)和输出变量O(U)关系的规则库;规则库中的推理过程如下:Step1:将输入向量U=(U<sub>i</sub>,i=1,...,T)转换成信任分布:S(U<sub>i</sub>)={(A<sub>i,j</sub>,α<sub>i,j</sub>),j=1,...,J<sub>i</sub>};其中J<sub>i</sub>为参考值的个数,α<sub>i,j</sub>为输入U<sub>i</sub>与参考值A<sub>i,j</sub>的相似度;α<sub>i,j</sub>计算如下:如果A<sub>i,j</sub>≤U<sub>i</sub>≤A<sub>i,j+1</sub>,则<img file="FDA0000919394260000025.GIF" wi="380" he="150" />α<sub>i,j+1</sub>=1‑α<sub>i,j</sub>且对于j’=1,...,J<sub>i</sub>,j’≠j,j+1,有α<sub>i,j’</sub>=0;Step2:计算第k规则被激活的权重w<sub>k</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>w</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>&theta;</mi><mi>k</mi></msub><mo>&times;</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msup><mrow><mo>(</mo><msubsup><mi>&alpha;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><msub><mover><mi>&delta;</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub></msup></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>&lsqb;</mo><mrow><msub><mi>&theta;</mi><mi>k</mi></msub><mo>&times;</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msup><mrow><mo>(</mo><msubsup><mi>&alpha;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><msub><mover><mi>&delta;</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub></msup></mrow><mo>&rsqb;</mo></mrow></mrow></mfrac><mo>,</mo><msub><mover><mi>&delta;</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>=</mo><mfrac><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mrow><munder><mi>max</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>T</mi></mrow></munder><mrow><mo>{</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>}</mo></mrow></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000026.GIF" wi="900" he="302" /></maths>Step3:计算输出变量O(U):先计算输出变量的信任分布O(U)={(D<sub>n</sub>,β<sub>n</sub>(U)),n=1,...,N},其中<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mo>{</mo><msub><mi>D</mi><mi>n</mi></msub><mo>}</mo><mo>:</mo><msub><mi>&beta;</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>=</mo><mi>&mu;</mi><mo>&times;</mo><mo>&lsqb;</mo><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><msub><mi>w</mi><mi>k</mi></msub><msub><mi>&beta;</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000919394260000031.GIF" wi="1373" he="159" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mo>{</mo><mi>D</mi><mo>}</mo><mo>:</mo><msub><mi>&beta;</mi><mi>D</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>=</mo><mi>&mu;</mi><mo>&times;</mo><mo>&lsqb;</mo><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000919394260000032.GIF" wi="1045" he="155" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>&mu;</mi><mo>=</mo><msup><mrow><mo>&lsqb;</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><msub><mi>w</mi><mi>k</mi></msub><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>w</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000033.GIF" wi="1540" he="173" /></maths>β<sub>D</sub>(U)表示未知推理结果D的信任度,且满足<img file="FDA0000919394260000034.GIF" wi="463" he="134" />如果信任规则是完整的,即有<img file="FDA0000919394260000035.GIF" wi="525" he="143" />β<sub>D</sub>(U)=0,则最终的输出为L条规则的综合,表为O(U)={(D<sub>n</sub>,β<sub>n</sub>(U)),n=1,...,N},数值输出为<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>O</mi><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>D</mi><mi>n</mi></msub><msub><mi>&beta;</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000036.GIF" wi="445" he="134" /></maths>如果信任规则不完整,即有β<sub>D</sub>(U)>0,则最终的数值输出具有上下界O(U)∈[O<sub>min</sub>(U),O<sub>max</sub>(U)],其中<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>O</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>D</mi><mi>n</mi></msub><msub><mi>&beta;</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>D</mi><mi>N</mi></msub><mo>&lsqb;</mo><msub><mi>&beta;</mi><mi>N</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>&beta;</mi><mi>D</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000919394260000037.GIF" wi="915" he="142" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>O</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>D</mi><mn>1</mn></msub><mo>&lsqb;</mo><msub><mi>&beta;</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>&beta;</mi><mi>D</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>2</mn></mrow><mi>N</mi></munderover><msub><mi>D</mi><mi>n</mi></msub><msub><mi>&beta;</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>U</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000038.GIF" wi="909" he="154" /></maths>至此,给定一个输入U=(U<sub>i</sub>,i=1,...,T)到规则库就有一个输出O(U);对于信任规则是完整情形,规则库的训练就是求解如下优化问题,其中H为训练样本个数,<img file="FDA0000919394260000039.GIF" wi="47" he="63" />为训练样本实际输出;<img file="FDA0000919394260000041.GIF" wi="606" he="134" /><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>0</mn><mo>&le;</mo><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>,</mo><msub><mi>&theta;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>&le;</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&beta;</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000919394260000042.GIF" wi="533" he="244" /></maths>对于信任规则不完整情形,规则库的训练就是求解如下优化问题:<img file="FDA0000919394260000043.GIF" wi="798" he="102" /><img file="FDA0000919394260000044.GIF" wi="653" he="415" />(3‑4)检验规则库;利用检验数据对(3‑1)(3‑2)(3‑3)建立的规则库进行检验,以评价模型的精度;精度的标准用<img file="FDA0000919394260000045.GIF" wi="525" he="142" />来衡量;若ε(P)不符合建模精度要求,重复(3‑1)(3‑2)(3‑3)重新建模;至此,基于BRB的供水管网MISO模型已建立;步骤4.建立基于BRB的供水管网MIMO模型基于BRB的供水管网MIMO模型为多个基于BRB的供水管网MISO模型的合成;所以,根据输出变量的个数,为每个输出变量重复MISO模型的建模过程。
地址 310018 浙江省杭州市下沙高教园区2号大街