发明名称 基于改进量子粒子群算法的水电站群优化调度方法
摘要 一种基于改进量子粒子群算法的梯级水电站群优化调度方法,主要解决量子粒子群算法在迭代后期因种群多样性减小发生早熟收敛陷入局部最优,获得的水电站群调度方案并非最优方案的问题。其特征是先选择参与计算电站并设置各电站相应约束条件等,再采用二维实数矩阵对个体进行编码,然后采用混沌初始化种群提高初始种群质量,利用惩罚函数法计算各粒子适应度,更新个体极值与全局极值,加权更新策略计算种群最佳位置中心,对全局最优个体进行邻域变异搜索,按公式更新种群中各个体位置,判定是否满足停止准则。本发明具有操作简单、控制参数少、收敛速度快、计算速度快、鲁棒性强、结果合理有效,可用于梯级水电站群的优化调度及水资源优化配置。
申请公布号 CN103971174B 申请公布日期 2017.04.12
申请号 CN201410186973.9 申请日期 2014.05.06
申请人 大连理工大学 发明人 程春田;冯仲恺;廖胜利;牛文静;武新宇;李刚;申建建
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I;G06N3/12(2006.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 大连理工大学专利中心 21200 代理人 赵连明;梅洪玉
主权项 一种基于改进粒子群算法的水电站群优化调度方法,其特征包括如下步骤,(1)选择参与计算的水电站,并设置各水电站相应约束条件:水位、出力、流量及系统出力;(2)确定个体编码方式,采用二维实数矩阵对个体进行编码;行向量为单一电站在各时段的状态,列向量为各电站在同一时段的状态;单个粒子如下所示:<img file="FDA0001181578430000017.GIF" wi="467" he="231" />其中Z<sub>i,j</sub>表示水电站i在时段j的水位;(3)设置相关计算参数;(4)采用混沌初始化种群提高初始种群质量,采用Logistic映射进行混沌搜索:z<sub>n+1</sub>=4×z<sub>n</sub>×(1‑z<sub>n</sub>),其中z<sub>n</sub>为变量Z在第n次迭代时取值,z<sub>n</sub>∈[0,1];混沌序列生成后,需对各混沌变量分别进行载波处理映射至原优化变量X可行空间内;计算公式为:<img file="FDA0001181578430000012.GIF" wi="412" he="70" />其中X<sub>n</sub>为原优化变量X与混沌变量z<sub>n</sub>相应取值;<img file="FDA0001181578430000013.GIF" wi="77" he="54" /><u>X</u>分别为原优化变量X可行空间上、下限;(5)利用惩罚函数法计算各粒子适应度<maths num="0001"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msub><mi>P</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>t</mi><mi>j</mi></msub><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>A</mi><mi>q</mi></msub><msub><mi>&Delta;X</mi><mi>q</mi></msub></mrow>]]></math><img file="FDA0001181578430000014.GIF" wi="630" he="135" /></maths>其中<maths num="0002"><math><![CDATA[<mrow><msub><mi>&Delta;X</mi><mi>q</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>X</mi><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>-</mo><msub><mover><mi>X</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>,</mo><mi>i</mi><mi>f</mi><mrow><mo>(</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>&gt;</mo><msub><mover><mi>X</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><mi>i</mi><mi>f</mi><mrow><mo>(</mo><msub><munder><mi>X</mi><mo>&OverBar;</mo></munder><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>&le;</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>&le;</mo><msub><mover><mi>X</mi><mo>&OverBar;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><munder><mi>X</mi><mo>&OverBar;</mo></munder><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>-</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>,</mo><mi>i</mi><mi>f</mi><mrow><mo>(</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>&le;</mo><msub><munder><mi>X</mi><mo>&OverBar;</mo></munder><mrow><mi>k</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001181578430000015.GIF" wi="702" he="230" /></maths>式中f(Z<sub>k</sub>)为粒子Z<sub>k</sub>的适应度;N为电站数目;i为电站序号,i=1,2,…,N;T为调度周期;j为时段序号,j=1,2,…,T;P<sub>i,j</sub>为水电站i在时段j出力,kW;t<sub>j</sub>为调度时段j小时数,h;X<sub>k,q</sub>为第k次迭代时约束q对应的决策变量值;k为迭代次数,q为约束破坏编号;<img file="FDA0001181578430000016.GIF" wi="118" he="71" /><u>X</u><sub>k,q</sub>为X<sub>k,q</sub>的上、下限;M为约束破坏个数;A<sub>q</sub>、ΔX<sub>q</sub>分别为约束q的破坏惩罚系数及破坏程度;(6)更新个体极值与全局极值计算得到每个个体的适应度后,与个体历史最优适应度进行比较,若大于自身历史最优适应度,则代替个体历史最优,否则个体最优不变;然后挑选个体最优中适应度值最大的个体与全局最优个体适应度进行比较,若全局最优个体适应度则复制该个体替换全局最优个体;否则不进行操作;(7)采用加权更新策略计算种群最佳位置中心QPSO更新公式如下:<maths num="0003"><math><![CDATA[<mrow><msup><mi>mBest</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mfrac><mn>1</mn><mi>m</mi></mfrac><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>w</mi><mi>i</mi><mi>k</mi></msubsup><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup></mrow>]]></math><img file="FDA0001181578430000021.GIF" wi="977" he="151" /></maths>其中<img file="FDA0001181578430000022.GIF" wi="54" he="67" />可视为在第k次迭代计算种群最优位置中心时粒子i相应权重,<img file="FDA0001181578430000023.GIF" wi="246" he="119" />m为种群规模,即种群中个体数量;<img file="FDA0001181578430000024.GIF" wi="86" he="63" />为粒子i在第k次迭代时历史最优位置;权重由粒子历史最优位置适应度占所有粒子历史最优位置适应度之和比例计算得到,公式为:<maths num="0004"><math><![CDATA[<mrow><msubsup><mi>w</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mi>f</mi><mrow><mo>(</mo><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0001181578430000025.GIF" wi="403" he="238" /></maths>式中<img file="FDA0001181578430000026.GIF" wi="162" he="63" />为粒子i在第k次迭代时历史最优位置相应适应度;故IQPSO更新公式为:<img file="FDA0001181578430000027.GIF" wi="1181" he="182" />式中,<img file="FDA0001181578430000028.GIF" wi="100" he="70" />为第k次迭代时粒子i的第d维决策变量的历史最优位置;(8)对全局最优个体进行邻域变异搜索设变量X变异得到X',计算公式为:X'=X+R<sub>k</sub>(2×r‑1)其中:<img file="FDA0001181578430000029.GIF" wi="494" he="127" />式中R<sub>k</sub>为第k次迭代时邻域搜索半径;<img file="FDA00011815784300000210.GIF" wi="67" he="54" /><u>R</u>分别为邻域搜索半径的上下限;r为[0,1]区间均匀分布的随机数;(9)采用与QPSO相同的进化公式更新种群中各个体位置<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>PP</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>+</mo><mi>b</mi><mo>&times;</mo><msub><mi>a</mi><mi>k</mi></msub><mo>&times;</mo><mo>|</mo><msubsup><mi>mBest</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>X</mi><mi>i</mi><mi>k</mi></msubsup><mo>|</mo><mo>&times;</mo><mi>l</mi><mi>n</mi><mrow><mo>(</mo><mfrac><mn>1</mn><msub><mi>r</mi><mn>1</mn></msub></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA00011815784300000211.GIF" wi="782" he="126" /></maths><maths num="0006"><math><![CDATA[<mrow><msubsup><mi>PP</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msub><mi>r</mi><mn>2</mn></msub><mo>&times;</mo><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>r</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>&times;</mo><msup><mi>GB</mi><mi>k</mi></msup></mrow>]]></math><img file="FDA00011815784300000212.GIF" wi="590" he="71" /></maths><maths num="0007"><math><![CDATA[<mrow><mi>b</mi><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mo>-</mo><mn>1</mn><mo>,</mo><mi>i</mi><mi>f</mi><mo>(</mo><msub><mi>r</mi><mn>3</mn></msub><mo>&le;</mo><mn>0.5</mn><mo>)</mo></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo><mi>i</mi><mi>f</mi><mo>(</mo><msub><mi>r</mi><mn>3</mn></msub><mo>&gt;</mo><mn>0.5</mn><mo>)</mo></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001181578430000031.GIF" wi="390" he="142" /></maths><maths num="0008"><math><![CDATA[<mrow><msub><mi>a</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mo>(</mo><msub><mi>a</mi><mn>1</mn></msub><mo>-</mo><msub><mi>a</mi><mn>2</mn></msub><mo>)</mo><mo>(</mo><mover><mi>k</mi><mo>&OverBar;</mo></mover><mo>-</mo><mi>k</mi><mo>)</mo></mrow><mover><mi>k</mi><mo>&OverBar;</mo></mover></mfrac><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub></mrow>]]></math><img file="FDA0001181578430000032.GIF" wi="493" he="128" /></maths><maths num="0009"><math><![CDATA[<mrow><msup><mi>mBest</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>PB</mi><mrow><mi>i</mi><mo>,</mo><mn>1</mn></mrow><mi>k</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msubsup><mi>PB</mi><mrow><mi>i</mi><mo>,</mo><mi>d</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001181578430000033.GIF" wi="743" he="111" /></maths>式中,<img file="FDA0001181578430000034.GIF" wi="94" he="70" />为第k+1次迭代时粒子i的位置;a<sub>k</sub>表示第k次迭代时扩张–收缩因子;r<sub>1</sub>,r<sub>2</sub>,r<sub>3</sub>为[0,1]区间均匀分布的随机数;b为中间变量,取值为1或‑1;PP<sub>i</sub><sup>k+1</sup>为第k次迭代中粒子i的介于历史最优位置<img file="FDA0001181578430000035.GIF" wi="84" he="70" />和全局最优位置GB<sup>k</sup>之间的位置;<img file="FDA0001181578430000036.GIF" wi="182" he="68" />为第k+1次迭代时种群最优位置中心;a<sub>1</sub>,a<sub>2</sub>分别为压缩因子初始值和终止值,取a<sub>1</sub>=1.0,a<sub>2</sub>=0.5;m为种群规模,i=1,2,…,m;d为粒子维度,j=1,2,…,d;k为迭代次数;<img file="FDA0001181578430000037.GIF" wi="37" he="55" />为最大迭代次数,<img file="FDA0001181578430000038.GIF" wi="278" he="63" />(10)判定是否满足停止准则,若满足停止准则转至步骤(11);否则步骤(5);停止准则采用连续ε代达到最大进化代数;(11)停止计算,输出各水电站最优水位变化序列;全局最优个体的二维矩阵即为各水电站最优水位变化序列。
地址 116024 辽宁省大连市甘井子区凌工路2号