机组组合的改进自学习粒子群算法

2014-08-02 03:54谢胤喆于汀陈海良赵舫郭瑞鹏蒋雪冬
电力系统及其自动化学报 2014年2期
关键词:整数时段约束

谢胤喆,于汀,陈海良,赵舫,郭瑞鹏,蒋雪冬

(1.浙江大学电气工程学院,杭州310027;2.中国电力科学研究院,北京100192)

机组组合的改进自学习粒子群算法

谢胤喆1,于汀2,陈海良1,赵舫1,郭瑞鹏1,蒋雪冬1

(1.浙江大学电气工程学院,杭州310027;2.中国电力科学研究院,北京100192)

安全约束机组组合是混合整数规划问题,找到高效稳定求解此问题的算法很重要。文中提出了一种新型的离散粒子群求解机组组合问题,通过松弛模型辨识出机组中必开必停的情况,减少离散变量数目,并结合机组组合问题的特性提出了对应的改进自学习策略,能较好地解决含安全约束的机组组合问题。此外,给出了一种初始粒子群生成策略,提高粒子质量。以IEEE30和IEEE118两个标准节点系统为测试算例,通过与传统算法和商业软件包CPLEX的数据对比发现此算法能较快找到最优解或次优解,效率高计算结果稳定,证明该方法可行高效。

机组状态;网络安全约束;整数变量辨识;粒子群算法;自学习

近年来国家电网公司致力于坚强智能电网的发展战略。另外,国家的节能策略也要求机组在保证发电安全的同时减小煤耗。因此,安全约束机组组合SCUC(security constrained unit commitment)问题很有研究的价值。SCUC比较经典的方法主要有规划法[1]、拉格朗日松弛法[2,3]、混合整数规划法[4]、遗传算法[5]等。随着电网互联规模的进一步扩大,SCUC问题较难在有限时间内求得其最优解。研究如何应用各类优化方法或者采用各种启发式策略,以损失解的最优性为代价,力求在尽量短的计算时间内求得尽量优的解显得很有必要[6]。实际的电力系统中,其最大负荷通常达到装机容量的70%甚至更高,这意味着将有大量的机组是必开机组。除了因为两班倒而需经常开停的燃气蒸汽联合循环机组外,多数机组除检修外通常处于全时段开机状态或者关机状态,需要启停的只是部分机组。利用该特点可极大地降低模型中需要计算的整数变量,进而大规模缩小系统的状态组合空间,有效提高机组组合的计算效率。

近年来启发式算法在SCUC研究中取得了较大的进展,文献[7]将SCUC问题分解为机组组合UC(unit commitment)问题和含安全约束的优化潮流问题2个子问题,通过2个子问题的交替求解SCUC。文献[8]将SCUC问题分为确定机组组合状态和系统经济调度2个子问题,采用免疫算法确定机组组合状态,解决了以往基于启发式算法的机组组合模型难以处理大规模安全约束的问题。文献[9]将传统的潮流优化技术与粒子群算法结合起来求解SCUC问题。经典的离散粒子群算法[10,11]DPSO(discrete particle swarm algorithm)通过sigmoid函数来实现-∞~+∞到0~1的映射的方法,虽然将速度转变成概率,但由于在这里位置只能取0或1,那么更新的速度也必将限定在一个很小的范围内,此时再通过sigmoid函数转换时必将只能映射到0~1中很窄的一段区间,会造成的位置更新误差很大。

本文结合整数辨识的技术和一种新型的自学习离散粒子群优化算法来处理离散量,然后用内点法求解最优潮流模型得到连续量。此外本文应用适应SCUC特性的自适应学习策略来更新粒子,使其能够容易跳出局部最优值,获得更好的优化解。另外在文献[12]基础上引入了网络安全约束,暂态稳定不是本文的研究范围,因此安全约束中不计入电源处的暂态安全。本文也给出了一种新的初始粒子群的生成策略,使初始粒子符合约束条件,提高了初始种群的质量。最后本文分别采用本文提出的算法,并以网络热稳限制和机组煤耗最小为安全性指标经济性指标对IEEE30和IEEE118节点模型进行了测试,测试结果证明该方法的可行性和高效性。

1 考虑安全约束的机组组合模型

1.1SCUC模型

机组组合问题的目标函数通常是在满足各种约束条件下使总的发电运行成本最小,即

式中:F(Pi,t,Ii,t)为总发电成本,本文指煤耗,t;Pi,t和Ii,t为决策变量,Pi,t为机组i在t时段的实际出力,MW;Ii,t=1表示机组处于运行状态,Ii,t=0表示机组处于停机状态;Ci(Pi,t)为机组i在t时段的发电运行成本,t;Si,t为机组i在t时段的启动成本,t;M为机组数,T为总时段数,h;PD,t、SD,t分别t时段系统的总负荷和总的备用容量,MW;Pi,min、Pi,max分别为机组i的最小、最大出力,MW;DRi、URi分别为机组i每个时段允许的上、下调出力分别为机组i的最短运行时间和最小停机时间,分别为机组i在t时段前的持续开机时间和持续关机时间分别为节点s在t时段的发电机出力和负荷为线路j的功率上限,MW;Nb为系统节点数;Ks,t为支路潮流-电机出力灵敏度系数,j=1,2,…,Nl,Nl为系统线路数。

1.2 S-SCED模型

文献[13]通过建立不含离散变量的松弛安全约束经济调度模型S-SCED(slacked security constrained economical dispatch),然后基于该S-SCED模型的计算结果确定最小待组合的起作用整数变量全集。但文献[13]并未在松弛模型中考虑备用量,本文在此基础上做了修改,并辨识机组的必停时段,降低模型中需要计算的整数变量,大规模缩小系统的状态组合空间,有效提高机组组合的计算效率。此处S-SCED模型为

1.3 整数变量的辨识

由以上S-SCED的计算结果决定下面的变量集合。

(1)必开机组对应的整数变量集合A,按上述目标函数分别进行松弛计算。若机组i各时段出力均不小于最小开机出力Pi,min,∀t=1,…,T,则机组i为必开机组,其对应的整数变量Ii,t∈A。

(2)必停机组对应的整数变量集合B,按上述目标函数分别进行松弛计算。若计算结果得到的机组i各时段出力均小于即1,…,T,则机组i为必停机组,其对应的整数变量Ii,t∈B,为保证得到全集,通常将λ取得较小,本文取λ=0.05。

(3)部分时段必停的整数变量集合C,若某机组存在连续的H个时段(H>2 h)的出力并且满足最小停机时间约束,则H-2个时段为必停时段,去掉H的头尾时段是为了减小失去最优解的可能性,H单位为h。

(4)未确定的整数变量集合则用粒子群算法寻优。

2 改进离散粒子群算法求解SCUC

本文采用新算法将速度直接定义成概率,使其在0~1之间随机分布,不但继承了连续粒子群算法的参数设置和收敛性,且更容易跟各种改进的连续粒子群算法结合起来,发挥其强大的收索能力,文献[12]中给出过DPSO的运算规则,本文算法的运算规则同DPSO,主要改进体现在自学习的策略上,运算规则放在附录中。

当前比较流行的改进策略有自适应惯性系数调整法[14]、混沌算法[15]、自学习法[16]等。本文算法结合了传统方法和自学习法,可以继承粒子本身的优质粒子又能获取其他所有粒子的优质元素,增加了多样性。该算法更新速度的策略为

式中:ω为惯性系数;c1、c2为学习因子,一般取2;为(0,1)内的随机数为粒子i本身找到的最优值,即个体极值为粒子i所在粒子片段目前找到的全局最优值,称为全局极值。

图1 以单机组所有时段为粒子片段获取自学习粒子的过程Fig.1Process of getting the comprehensive learning particle in single unit status all the time

图2 以单时段所有机组为粒子片段获取自学习粒子的过程Fig.2Process of getting the comprehensive learning particle in all unit status of single time

更新完速度后,第i个粒子需要用更新后的速度Vi来更新位置Xi,更新策略如下。

1)速度和位置的定义

机组组合问题可以转化为含0-1整数的混合整数规划问题,在处理离散量时,元素的取值范围为E=0或1。

速度在SPSO中表示成概率集为

式中:若p(e)前为+号表示该元素取+e的概率;若p(e)前有-号则表示该元素取-e的概率;p(e)∈[0,1]。

V的基本运算为

假设两个速度v1={e/p1(e)|e∈E}和v2={-e/ p2(e)|e∈E},则有

举个例子:假设粒子的空间是二维的,ωvi=和那么按照上面给出的规则有

2、速度与位置的更新

经典的PSO算法速度更新策略为

式中:pbest为粒子本身找到的最优值,即个体极值;gbest为整个种群目前找到的全局最优值,称为全局极值。

更新完速度后,第i个粒子需要用更新后的速度vi来更新位置Xi,首先必须将更新后的速度vi处理成与位置相类似的形式。每一次迭代中,对每一个粒子产生一个随机值α∈(0,1),对进行处理,则有

然后更新位置中每个元素,即

若更新后的Xi满足约束条件,则更新结束;若不满足约束条件则将Xi修正使其满足条件,完成更新。

3 适应SCUC问题的SPSO

3.1 初始粒子群生成策略

本文的扩展粒子群算法SPSO(stretched particle swarm algorithm)采用新的初始粒子生成策略。初始粒子群通常是随机生成,但由于随机生成粒子的盲目性,导致大部分粒子不满足SCUC的约束条件,然而粒子群算法是一种与初始种群关系密切的算法,初始种群的好坏直接影响着粒子的收敛速度和收敛效果。为此本文给出了一种初始种群生成策略,使得初始粒子群能满足SCUC的约束条件,提高了初始粒子群的质量。另外,可以按文献[17]的方法确定不起作用的网络安全约束并去除,大大减少了计算的规模,简化了其数学模型。

初始粒子群生成的具体步骤如下。

步骤1首先将随机生成的粒子按图1的方式排列,进行机组的最小开停机约束校核,若满足约束转步骤2,如不满足进行修正,其修正公式为

步骤2对修正后的粒子按图2的方式排列,将爬坡率约束式(5)改用机组的上下限来表示,即

步骤3解耦完成后,接下来对每个时段的负荷平衡和备用容量约束进行校核和修正,若每个时段内的机组状态满足必要条件

及备用容量约束式(4),则转向步骤4;若不满足约束式(18)、式(4),则在满足最小关机时间约束的机组中按照经济性从高到底的优先顺序采用锦标赛法开机,若不满足约束式(19),则在满足最小开机时间约束的机组中按照经济性从低到高的优先顺序采用锦标赛法关机。

步骤4对于初始例子中不满足网络安全约束的可以剔除。通过步骤3修正的单个时段内机组状态一般可行,对不满足安全约束的机组状态可以用文献[16]中满足SCUC的机组状态的充分必要条件进行判断并排除。

3.2 其他改进措施

为了让粒子群算法取得更好的效果,除采用上述方法外,本文还采用以下改进措施。

(1)重新初始化机制,本文中考虑当迭代5次以上最优解没有更新,则将粒子群中90%的粒子按第3.1节方式重新生成,增加粒子的多样性,避免早熟。

(2)在粒子更新过程中碰到不满足约束条件的粒子也可以用第3.1节办法进行修复,当修正的粒子满足步骤3但不满足步骤4时,该粒子不需舍弃,可以随机抽取图2对应时段的粒子片段返回步骤3继续修正,从而提高粒子的利用率,尽量避免舍弃粒子。

4 算例分析

整数变量的辨识过程中的最优潮流计算和离散量确定后的最优潮流均采用内点法求解,粒子群算法的终止条件为最大迭代次数或连续25代抗体没有找到更优解。仿真是在CPU为Core(TM)22.2 GHz的Dell-PC,Matlab7.7环境下进行。为方便与其他文献中的算法对比,本文采用文献[18]中的IEEE30和文献[19]中IEEE118节点系统。文中粒子群规模为20,迭代50次,惯性权重为ωmax=0.9,ωmin=0.4,随着迭代次数线性递减,加速因子c=2。

4.1IEEE30节点系统

IEEE30节点系统包含9台火电机组,机组参数如表1所示。本文算法模型参数辨识的结果见表2,可见必开机组为1、3、4,必关机组为7、8。

通过机组分类,待定整数变量个数由原有的216个变为74个,这将极大地减少离散变量组合的规模,从而缩短求解时间。

表1 机组参数Tab.1Parameter of units

表2 整数变量辨识结果Tab.2Result of integer variable identification

为了使模型和数据更精确的对比,本文还用商业软件CPLEX11.0中的cplexmiqp函数求解SCUC问题,作为参考数据,对比CPLEX结果和传统SPSO算法的结果见表3,本文得到的结果为最优解。

同样本文对CPLEX和本文粒子群算法的性能做了比较,将原有的24时段按同样的负荷变化规律扩展到调度24~144个时段,本文的粒子群寻优算法可以方便的进行并行计算,当采用matlab的并行工具设置labs=2。表4为CPLEX和本文算法在粒子群迭代50次情况下的计算结果和计算时间。

表3 计算结果对比Tab.3Consumption of different methods

表4 IEEE30节点系统的计算结果比较Tab.4Comparison of the IEEE30 system

表4显示,当调度时段较少时,本文算法的计算时间并无明显优势,但随着时段数增加,CPLEX的计算时间呈指数规模增加,而本文的算法时间则呈线性增加,显示了较高的计算效率。并行计算的加速比和计算机的内核数是成正比的,随着当前计算机的发展和GPU的成熟,并行式计算的引入必将大幅度地减少计算时间。

4.2IEEE118节点系统

IEEE118节点系统包含186条线路、54台发电机。由于文献[19]中安全约束考虑的交流模型而本文用的是直流模型,因而数据没有比对性。为了程序求解的可行性,线路容量数据在文献[19]的基础上乘以1.05。为了对比数据,同样用CPLEX11.0求解作为参考。

表5所示是IEEE118算例进行100次计算得到的平均结果,每次计算时粒子群迭代次数为300次。通过与CPLEX11.0的运算结果比较可以看出本文算法结果和最优解差距较小。另外由于采用参数辨识过后有37个机组为必停必开机组,需要判断启停机组台数缩小至17台,大大减少了变量组合规模,计算复杂程度减少,比传统的粒子群算法更容易得到问题的最优解。

表5 IEEE118不同迭代次数的结果比较Tab.5Comparison of different iteration times for IEEE118

图3给出的是100次计算每次计算迭代次数到100时的最优解分布曲线,从图3可以看出最优解之间的波动小,从而证明该算法有较好的稳定性。

图3 运算100次的最优解分布曲线Fig.3Distribution curve of the optimal solutions with running 100 times

5 结语

由于粒子群算法中每代粒子之间不存在耦合性,可以进行并行式处理,若能使用更强大的并行技术处理可大幅度减少运算时间。

仿真结果可看出,本文算法在计算规模较小时能快速得到全局最优解,计算时间和计算规模成正比,不会出现维数灾,而在计算规模较大时,能在较短的时间内找到次优解,离最优解的距离不超过1%,且计算结果稳定。

本文建立的基于粒子群算法和安全约束的机组组合模型主要特点如下。

(1)改进了文献[13]的参数辨识方法,在松弛模型中考虑旋转备用,使松弛模型更合理。

(2)结合SCUC的特性提出了一种结合了整数辨识方法和离散粒子群的算法,通过算例分析可以看出该算法能较大概率收敛到全局最优解,有较好的稳定性,具有较高的工程应用价值。

(3)给出了一种生成初始可行粒子的方法,并可用于修复在粒子更新中不满足约束条件的粒子,解决了人工智能算法对大规模约束条件难处理的问题,有助于人工智能算法在SCUC问题作更深入的研究。

[1]白晓清,韦化(Bai Xiaoqing,Wei Hua).内点半定规划法求解含机组组合动态最优潮流(SDP-based method for dynamic optimal power flow with unit commitment)[J].电力系统及其自动化学报(Proceedings of the CSU-EPSA),2011,23(6):67-75.

[2]Ongsakul W,Petcharaks N.Unit commitment by enhanced adaptive lagrangian relaxation[J].IEEE Trans on Power Systems,2004,19(1):620-628.

[3]涨潮海,周其节(Zhang Chaohai,Zhou Qijie).机组优化组合的人工神经网络拉格朗日混合方法(Artificial neural-net applied to unit commitment scheduling)[J].电力系统及其自动化学报(Proceedings of the CSU-EPSA),1995,7(2):51-58.

[4]李晓磊,周京阳,于尔铿,等(Li Xiaolei,Zhou Jingyang,Yu Erkeng,et al).基于动态搜索线性混合整数法的机组组合新算法(Linear mixed integer programming algorithm for unit commitment based on dynamic search)[J].电力系统自动化(Automation of Electric Power Systems),2008,32(21):18-21,76.

[5]韩民晓,马杰,姚蜀军,等(Han Minxiao,Ma Jie,Yao Shujun,et al).改进的遗传算法辨识综合负荷模型(Im-proved genetic algorithm and its application to composite load model)[J].电力系统及其自动化学报(Proceedings of the CSU-EPSA),2011,23(3):79-83.

[6]Yong Fu,Shahidehpour M.Fast SCUC for large-scale power systems[J].IEEE Trans on Power Systems,2007,22(4):2144-2151.

[7]杨朋朋,韩学山,查浩(Yang Pengpeng,Han Xueshan,Zha Hao).一种计及静态安全约束机组组合的有效算法(A novel algorithm for static security-constrained unit commitment)[J].电力系统自动化(Automation of Electric Power Systems),2009,33(8):39-43.

[8]王敏蔚,杨莉(Wang Minwei,Yang Li).考虑安全约束的机组组合免疫算法模型(A security constrained unit commitment model based on immune algorithm)[J].电力系统自动化(Automation of Electric Power Systems),2010,34(22):57-61.

[9]Collett R,Quaicoe J.Security-constrained unit commitment using particle swarms[C]//Canadian Conference on Electrical and Computer Engineering,Ottawa,Canada:2006.

[10]Kennedy J,Eberhart R C.A discrete binary version of the particle swarm algorithm[C]//IEEE International Conference on Systems,Man,and Cybernetics,Orlando,USA:1997.

[11]陈烨,赵国波,刘俊勇,等(Chen Ye,Zhao Guobo,Liu Junyong,et al).用于机组组合优化的蚁群粒子群混合算法(An ant colony optimization and particle swarm optimization hybrid algorithm for unit commitment based on operate coding)[J].电网技术(Power System Technology),2008,32(6):52-56.

[12]陈海良,郭瑞鹏(Chen Hailiang,Guo Ruipeng).基于改进离散粒子群算法的电力系统机组组合问题(Unit commitment based on improved discrete particle swarm optimization)[J].电网技术(Power System Technology),2011,35(12):94-99.

[13]汪洋,夏清,康重庆(Wang Yang,Xia Qing,Kang Chongqing).机组组合算法中起作用整数变量的辨识方法(Identification of the active integer variables in security constrained unit commitment)[J].中国电机工程学报(Proceedings of the CSEE),2010,30(13):46-52.

[14]Shi Y,Eberhart R C.Fuzzy adaptive particle swarm optimization[C]//IEEE Conference on Evolutionary Computation,Seoul,Korea:2001.

[15]高鹰,谢胜利(Gao Ying,Xie Shengli).混沌粒子群优化算法(Chaos particle swarm optimization algorithm)[J].计算机科学(Computer Science),2004,31(8):13-15.

[16]Liang J J,Qin A K,Suganthan P N,et al.Comprehensive learning particle swarm optimizer for global optimization of multimodal functions[J].IEEE Trans on Evolutionary Computation,2006,10(3):281-295.

[17]Zhai Qiaozhu,Guan Xiaohong,Cheng Jinghui,et al.Fast identification of inactive security constraints in SCUC problems[J].IEEE Trans on Power Systems,2010,25(4):1946-1954.

[18]Ma H,Shahidehpour S M,Marwali M K C.Transmission constrained unit commitment based on Benders decomposition[C]//American Control Conference,Albuquerque,USA:1997.

[19]Yong Fu,Shahidehpour M,Li Zuyi.Security-constrained unit commitment with AC constraints[J].IEEE Trans on Power Systems,2005,20(3):1538-1550.

Unit Commitment Model Based on Self-learning Particle Swarm Algorithm

XIE Yin-zhe1,YU Ting2,CHEN Hai-liang1,ZHAO Fang1,GUO Rui-peng1,JIANG Xue-dong1
(1.School of Electrical Engineering,Zhejiang University,Hangzhou 310027,China;2.China Electric Power Research Institute,Beijing 100192,China)

The unit commitment has commonly been formulated as a mixed-integer,nonlinear optimization problem. To find an efficient and stable method to solve this problem is important.A novel discrete particle swarm optimization to solve unit commitment was proposed in this paper.A novel identification method for the integer variables was proposed to reduce the dimensions.Besides,according to the characteristics of unit commitment and the security constraints,an improved self-learning strategy based on novel particle swarm optimization was proposed.This method can solve security constrained unit commitment well.In addition,a method to produce initial particles in the feasible region was proposed in order to improve the quality of the solution.The feasibility and effectiveness of the proposed method are demonstrated by two test systems of IEEE30 and IEEE118,and the computational results are compared with the custom benders decomposition and the commercial software CPLEX.The result shows that this method can find the optimum or suboptimum solution quickly,which proves the feasibility and validity of this method.

unit state;network security constrained;integer variable identification;particle swarm algorithm;selflearning

TM713

A

1003-8930(2014)02-0014-07

谢胤喆(1988—),男,硕士研究生,研究方向为电力有功调度、无功优化。Email:zjuxyz@zju.edu.cn

2012-08-30;

2012-11-13

国家科技支撑计划项目(211BAA07B03);国家高技术研究发展计划(863)计划资助项目(2011AA05A118)

于汀(1984—),男,硕士,工程师,研究方向为智能电网调度应用的研究。Email:yuting1984829@163.com

陈海良(1986—),男,硕士,工程师,研究方向为电力有功调度、无功优化。Email:570546231@qq.com

猜你喜欢
整数时段约束
养阳的黄金时段到了
约束离散KP方程族的完全Virasoro对称
四个养生黄金时段,你抓住了吗
一类整数递推数列的周期性
自我约束是一种境界
适当放手能让孩子更好地自我约束
分时段预约在PICC门诊维护中的应用与探讨
分时段预约挂号的实现与应用
CAE软件操作小百科(11)
答案