您好, 访客   登录/注册

基于改进粒子群算法的机组负荷优化分配研究

来源:用户上传      作者:郝浩 张庭玉

  摘   要:为了降低火电厂煤耗,针对厂内机组负荷分配问题,本文提出模拟退火的粒子群算法进行优化。该方法采取异步变化的学习因子和模拟退火算法对标准粒子群算法进行改进。通过对比实验发现,改进的算法能有效进行负荷分配,具有较高的优化效率和精度。
  关键词:改进粒子群算法  负荷优化分配  模拟退火  异步变化学习因子
  中图分类号:TP39                                   文献标识码:A                        文章编号:1674-098X(2019)10(a)-0106-03
  随着电力市场改革的进一步推进,发电企业之间的市场竞争愈发激烈。降低煤耗对火电厂降低成本,增强市场竞争力至关重要。负荷优化分配的目的就是在满足电力系统约束条件的基础上,根据机组的煤耗特性,科学合理分配各机组负荷,使得机组总煤耗等目标尽可能小[1]。因此,解决负荷分配问题对火电厂实现经济运行,提高经济效益有着重要意义。
  目前,解决这类约束优化问题主要有传统算法和智能优化算法。传统算法主要有等微增率,线性规划[2],动态规划等。智能优化算法主要有粒子群,遗传算法等[3]。本文提出将模拟退火算法与异步学习因子粒子群算法进行结合的方法。通过与其他算法的比较,本文算法能有效加快收敛速度,提高全局寻优能力,优化负荷分配,降低煤耗。
  1  关键技术
  1.1 负荷分配数学模型
  设某台机组i的标准煤耗为Fi,此机组的输出功率为pi,那么二次函数关系式fi(pi)为:式中:ai、bi、ci为此机组煤耗特性曲线系数。
  本文以全厂总煤耗F最小为目标,设电厂有N台机组投入运行,那么负荷优化分配的目标函数为:电网下达至电厂的总负荷为D,每台机组都有最大最小输出功率pimax、pimin,那么约束条件如下:
  1.2 粒子群算法
  粒子群算法(Particle Swarm Optimization, PSO)的具体描述如下:设有D维空间,种群X由n个粒子组成,粒子i在空间中的位置为Xi,速度为Vi,计算出每个粒子位置Xi对应的适应度值,并比较适应度值大小,找到当前个体最优解Pi。粒子从当前最优解所在位置寻找到符合目标函数的位置,得到全局最优解为Pg。在迭代过程中,粒子根据公式(4)、(5)更新Xi和Vi,如果寻找到的新解比当前最优解好,那么更新Pi,如果新解比当前全局的最优解要好,那么将其赋值给Pg。速度和位置更新的公式如下:式中,w为惯性权重;d=1,2,…,D;i=1,2, …,n;k表示当前迭代次数;为粒子的速度;c1和c2为加速度因子;r1和r2表示分布在[0,1]之间的随机数。
  1.3 改进算法
  1.3.1 异步学习因子
  学习因子c1和c2决定了粒子更新速度时自身经验和社会经验所占的权重,本文采用异步变化的学习因子,使学习因子能够随着迭代次数不同发生变化,这样在迭代初期,粒子自身经验在计算粒子速度时所占的权重较大,在迭代后期,粒子社会经验在计算粒子速度时所占的权重较大,最终增强了算法的全局搜索能力。本文异步变化学习因子的公式为:
  1.3.2 本文算法
  本文提出模拟退火的粒子群算法(Simulated Annealing Particle Swarm Optimization, SAPSO)。模拟退火算法模拟了物理固体退火的过程,采取Metropolis准则,有一定概率接受劣质解的特点。本文算法借鉴SA算法,每当粒子群产生一个新解,先利用SA计算新解的突跳概率,之后进行判断是否接受。这样不仅控制着整个迭代过程往最优解的方向进行,又能以一定概率跳出局部极值点,从而达到优化效果。算法步骤如下:
  Step1 设置粒子群算法的参数,在机组最大最小输出功率范围内随机生成初始种群,调用煤耗特性曲线计算适应度,找到初始全局最优解和最优适应度。
  Step2 设置SA算法的初始温度,为当前全局最优适应度值。
  Step3 根据公式(6)得到异步学习因子,根据公式(4)更新粒子的速度和位置,并计算适应度值。
  Step4 计算更新后的粒子新解的突跳概率,将其与[0,1]之间的随机数进行比较,判断是否接受本次更新,如果大于随机数,就接受该新解,执行下一步,否则重新更新粒子速度和位置。
  Step5 比较新解与原粒子的适应度,如果小于当前个体最优解,那么把更新后的粒子赋值给当前位置,如果仍小于当前全局最优解,那么修改全局最优解为更新后的粒子。
  Step6 进行退火操作,c为退火系数,如果此时已经达到收敛条件,那么结束本次迭代,否则进入Step2进入下一次迭代,继续寻优。
  2  机组负荷优化分配模型的建立
  电厂厂级负荷具体分配流程图如下图1所示。具体流程如下:
  (1)获取电厂每台机组的历史运行数据,进行数据预处理,选择稳态数据。
  (2)利用非線性最小二乘法分别拟合出每台机组的输出功率与实际机组煤耗之间的二次函数关系。
  (3)获取电厂的总负荷指令,该电厂机组数以及每台机组的最大最小输出功率。
  (4)利用改进粒子群算法进行负荷优化分配,得到各机组的分配结果,并输出。   (5)判断电厂是否接收到新的负荷指令,如果有新的负荷指令,跳至第(3)步,继续优化分配负荷,否则结束本次分配流程。
  3  实验与结果分析
  本文以某火电厂SIS系统中的机组历史运行数据进行实验。该火电厂有2台机组,历史数据为2018年每天间隔4小时的数据。利用非线性最小二乘法拟合得到机组特性函数式系数和各机组的最大最小输出功率见表1。本文将SAPSO与标准PSO,动态惯性权重WPSO算法[3]的实验结果进行比较。不同算法参数设置如表2所示。
  3.1 优化结果分析
  将实际生产中的两台机组历史同一时段的负荷值相加,得到该段时间内电厂收到的总负荷指令。通过SAPSO算法,将所得到的总负荷进行分配。该火电厂某天24h每间隔4h的6个负荷指令值进行优化分配的結果与实际运行情况之间的对比如表3。
  观察表3的实际煤耗与SAPSO煤耗可以发现,SAPSO结果都低于实际煤耗,当总负荷为1608.68MW时,SAPSO煤耗比实际煤耗降低了9.71g/kwh,当总负荷为1602.73MW时,SAPSO煤耗比实际煤耗降低了6.45g/kwh,说明SAPSO进行负荷分配,一定程度地降低了煤耗。通过对比两个分配方案,发现SAPSO负荷分配方案里机组1分到的负荷普遍比机组2多,而实际的分配接近于平均分配方法,说明SAPSO更能根据机组煤耗特性进行分配,从而降低煤耗,为电厂调度提供参考。
  3.2 不同算法迭代速度比较
  图3为迭代次数相同,负荷为1500MW时,各粒子群算法的适应度值变化曲线。可以看出,不同负荷下,SAPSO表现都优于PSO和WPSO。WPSO基本在迭代次数20以内接近最优解,SAPSO在迭代次数10次以内已经接近最优解,SAPSO的收敛速度更快,算法寻优能力明显提高。
  4  结语
  本文采用模拟退火改进的粒子群算法进行电厂机组负荷优化分配。通过对比实验发现,改进粒子群算法进行负荷分配能有效降低煤耗,分配方案明显优于实际情况;在迭代次数相同,总负荷相同的情况下,改进粒子群算法的收敛速度更快。综上所述,本文算法具有较强的实用性和适用性。
  参考文献
  [1] 金洪吉. 火电厂机组负荷优化分配的混沌粒子群算法分析[J]. 电子器件,2017,40(1):212-216.
  [2] 王惠杰, 范志愿,李鑫鑫.基于线性规划法和等微增率法的电厂负荷优化分配[J].电力科学与工程, 2016, 32(1):1-5,30.
  [3] 亢国栋,孙伟,杨海群,等.基于改进粒子群优化算法的火电厂机组负荷分配[J].计算机测量与控制,2015, 23(2):593-596.
转载注明来源:https://www.xzbu.com/1/view-15142596.htm