发明名称 一种基于遗传算法的风电场功率优化控制方法
摘要 本发明公开了风电场运行控制技术领域的一种基于遗传算法的风电场功率优化控制方法。其技术方案是,根据风电场实发功率与风电场接受的电网调度指令,得到风电场的功率偏差值,再根据功率偏差值判断风电场是否需要通过启动风机进行升功率控制,或者通过停止风机进行降功率控制;再基于运行风机的实测功率或基于待机风机的预测功率,利用遗传算法对风机启动或停止的组合方案进行优化,最终得到优化的风机启动或停止的组合方案。本发明的有益效果是,在风电场升降负荷控制中,通过遗传算法优化,快速决策出最优的机组启停组合方案,在保证不超发的条件下,使风电场功率尽可能接近目标负荷;同时也提高了风电场调度的自动化水平。
申请公布号 CN102891489B 申请公布日期 2014.07.16
申请号 CN201210359170.X 申请日期 2012.09.24
申请人 华北电力大学 发明人 肖运启;杨锡运
分类号 H02J3/14(2006.01)I;H02J3/46(2006.01)I 主分类号 H02J3/14(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 陈波
主权项 一种基于遗传算法的风电场功率优化控制方法,其特征在于,具体包括以下步骤:步骤1:根据风电场实发功率与风电场接受的电网调度指令,得到风电场的功率偏差值△P;步骤2:再根据功率偏差值判断风电场是否需要通过启动风机进行升功率控制,或者通过停止风机进行降功率控制;判断当前风电场的状态的方法是,通过功率偏差△P判断当前风电场的状态;当功率偏差△P﹤0时,则当前风电场处于超发状态,通过停止部分风机进行降功率控制;当功率偏差△P>0时,通过启动部分待机风电机组进行升功率控制;步骤3:再基于运行风机的实测功率或基于待机风机的预测功率,利用遗传算法对风机启动或停止的组合方案进行优化;针对步骤2中得到的△P﹤0,即风电场处于超发状态的情况,通过遗传算法得到实现降功率控制所需要停止的风电机组序列的方法为:通过转化得到优化问题为:目标:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>max</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>1</mn></mrow></munderover><msub><mi>X</mi><mi>i</mi></msub><mo>*</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000495551500000011.GIF" wi="378" he="153" /></maths>约束:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>1</mn></mrow></munderover><msub><mi>X</mi><mi>i</mi></msub><mo>*</mo><msub><mi>P</mi><mi>i</mi></msub></mrow><mo>&le;</mo><msub><mi>P</mi><mi>tar</mi></msub></mrow>]]></math><img file="FDA0000495551500000012.GIF" wi="372" he="151" /></maths>其中,n<sub>1</sub>为当前正在运行的风电机组的数量;P<sub>tar</sub>为目标功率;P<sub>i</sub>为当前正在运行的第i台风电机组的发电功率;优化目标中X<sub>i</sub>表示第i台风机的运行状态,X<sub>i</sub>=1,表示第i台风机保持运行;X<sub>i</sub>=0,表示第i台风机停止运行,进入待机状态;该目标表示当前运行的风机群的总功率取最大值;约束条件表示当前运行的风机群的总功率不能超过目标功率;基于遗传算法的降功率优化过程具体包括以下步骤:步骤①:针对风机停止问题,建立基于二进制的变量个体X=[X<sub>1</sub>,X<sub>2</sub>,…,X<sub>n1</sub>],其中X<sub>i</sub>=1代表所对应的第i台风机保持运行状态;X<sub>i</sub>=0代表所对应的第i台风机停止;步骤②:设种群中具有m个个体,通过随机方法初始化种群矩阵A:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>X</mi><mn>1</mn><mn>1</mn></msubsup></mtd><mtd><msubsup><mi>X</mi><mn>2</mn><mn>1</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>X</mi><mrow><mi>n</mi><mn>1</mn></mrow><mn>1</mn></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mn>1</mn><mn>2</mn></msubsup></mtd><mtd><msubsup><mi>X</mi><mn>2</mn><mn>2</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>X</mi><mrow><mi>n</mi><mn>1</mn></mrow><mn>2</mn></msubsup></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mn>1</mn><mi>m</mi></msubsup></mtd><mtd><msubsup><mi>X</mi><mn>2</mn><mi>m</mi></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>X</mi><mrow><mi>n</mi><mn>1</mn></mrow><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000495551500000021.GIF" wi="678" he="375" /></maths>步骤③:针对本优化问题,设计适应度函数f(x):<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>*</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow></mtd><mtd><mi>if</mi></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>*</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&le;</mo><msub><mi>P</mi><mi>tar</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>*</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>></mo><msub><mi>P</mi><mi>tar</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000495551500000022.GIF" wi="1100" he="311" /></maths>其中,n<sub>1</sub>为当前正在运行的风电机组的数量;P<sub>tar</sub>为目标功率;P<sub>i</sub>为当前正在运行的第i台风电机组的发电功率;优化目标中X<sub>i</sub>表示第i台风机的运行状态;步骤④:将初始种群中的个体随机组对后,进行交叉、选择和变异,通过迭代计算得到最终优化个体X<sub>opt</sub>=[X<sub>1</sub>,X<sub>2</sub>,…,X<sub>n1</sub>];步骤⑤:将得到的优化个体的各位上的变量作为风机状态控制的指令,若X<sub>i</sub>=1,则第i台风机保持运行,若X<sub>i</sub>=0,则第i台风机停机;针对步骤2中风电场功率未达到目标功率的情况,即△P>0,结合处于待机状态的风电机组的预测功率P<sub>j</sub><sup>pre</sup>,通过遗传算法得到实现升功率控制所需要启动的风电机组序列的方法为:通过转化得到优化问题为:目标:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>max</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>2</mn></mrow></munderover><msub><mi>Y</mi><mi>j</mi></msub><mo>*</mo><msubsup><mi>P</mi><mi>j</mi><mi>pre</mi></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000495551500000031.GIF" wi="452" he="176" /></maths>约束:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>2</mn></mrow></munderover><msub><mi>Y</mi><mi>j</mi></msub><mo>*</mo><msubsup><mi>P</mi><mi>j</mi><mi>pre</mi></msubsup></mrow><mo>&le;</mo><mi>&Delta;P</mi></mrow>]]></math><img file="FDA0000495551500000032.GIF" wi="457" he="172" /></maths>其中,n<sub>2</sub>为处于待机状态的风电机组的数量;P<sub>j</sub><sup>pre</sup>为第j台处于待机状态的风电机组的预测功率;△P为功率偏差;优化目标中Y<sub>j</sub>表示第j台风机的运行状态,Y<sub>j</sub>=1,表示第j台风机启动,Y<sub>j</sub>=0,表示第j台风机保持待机;该目标表示希望启动的风电机群的总预测功率尽可能大;约束条件表示启动的风电机群的总预测功率不能超过当前功率偏差;基于遗传算法的升功率优化过程具体包括以下步骤:步骤a:针对风机启动问题,建立基于二进制的变量个体Y=[Y<sub>1</sub>,Y<sub>2</sub>,…,Y<sub>n2</sub>],其中Y<sub>j</sub>=0代表所对应的第j台风机保持停止状态;Y<sub>j</sub>=1,代表所对应的第j台风机启动;步骤b:设种群中具有k个个体,通过随机方法初始化种群矩阵B;<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>Y</mi><mn>1</mn><mn>1</mn></msubsup></mtd><mtd><msubsup><mi>Y</mi><mn>2</mn><mn>1</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>n</mi><mn>2</mn></mrow><mn>1</mn></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>Y</mi><mn>1</mn><mn>2</mn></msubsup></mtd><mtd><msubsup><mi>Y</mi><mn>2</mn><mn>2</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>n</mi><mn>2</mn></mrow><mn>2</mn></msubsup></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>Y</mi><mn>1</mn><mi>k</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mn>2</mn><mi>k</mi></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>kn</mi><mn>2</mn></mrow><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000495551500000041.GIF" wi="577" he="350" /></maths>步骤c:针对本优化问题,设计适应度函数g(x):<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>2</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>*</mo><msubsup><mi>P</mi><mi>j</mi><mi>pre</mi></msubsup><mo>)</mo></mrow></mtd><mtd><mi>if</mi></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>2</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>*</mo><msubsup><mi>P</mi><mi>j</mi><mi>pre</mi></msubsup><mo>)</mo></mrow><mo>&le;</mo><mi>&Delta;P</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mn>2</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>*</mo><msubsup><mi>P</mi><mi>j</mi><mi>pre</mi></msubsup><mo>)</mo></mrow><mo>></mo><mi>&Delta;P</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000495551500000042.GIF" wi="1267" he="355" /></maths>其中,n<sub>2</sub>为处于待机状态的风电机组的数量;△P为功率偏差;Y<sub>j</sub>表示第j台风机的运行状态;P<sub>j</sub><sup>pre</sup>为第j台处于待机状态的风电机组的预测功率;步骤d:将初始种群中的个体随机组对后,进行交叉、选择和变异,通过迭代计算得到最终优化个体Y<sub>opt</sub>=[Y<sub>1</sub>,Y<sub>2</sub>,…,Y<sub>n2</sub>];步骤e:将得到的优化个体的各位上的变量作为相对应的风机状态控制的指令,若Y<sub>j</sub>=1,则第j台风机启动,若Y<sub>j</sub>=0,则第j台风机保持待机状态;步骤4:通过由遗传算法得到的最终优化个体,得出风电机组的优化启停组合方案。
地址 102206 北京市昌平区朱辛庄北农路2号