一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于PSO-LSTM的一次调频能力评估与预测系统的制作方法

2022-02-19 02:22:05 来源:中国专利 TAG:

基于pso

lstm的一次调频能力评估与预测系统
技术领域
1.本发明涉及一种基于pso

lstm的一次调频能力评估与预测系统。


背景技术:

2.随着电力需求的急剧增加,我国的发电机组调峰任务也在加剧。发电机组的一次调频能力是维护电网功率平衡和稳定运行的保障,合理的规范化机组一次调频的性能与参数对保障机组良好的一次调频能力和智能电网的优化调度具有重要的作用。
3.长短期记忆(long short

term memory,lstm)神经网络可以通过对历史数据学习挖据出数据与数据之间的联系。由于普通的循环神经网络存在梯度消失问题,只能有短期记忆,而存在“长期依赖”的问题。lstm在rnn的基础上进行了改进,与rnn的基本结构中的循环层不同的是,lstm使用了三个“门”结构来控制不同时刻的状态和输出,即“输入门”“输出门”和“遗忘门”。lstm通过“门”结构将短期记忆与长期记忆结合起来,可以缓解梯度消失的问题,对于数据的预测和学习有着很好的效果。
4.粒子群优化算法(particle swarm optimization,pso)是从随机解出发,通过迭代寻找最优解,也通过适应度来评价解的品质,但它比遗传算法规则更为简单,且能够有效地优化各种函数。该算法以较大的概率收敛于全局最优解,在动态多目标优化环境中寻优,对于非线性、多峰问题也有着较强的全局搜索能力。使用它对lstm网络超参数进行优化,可以使建立的模型更加精确和更好的预测水平。


技术实现要素:

5.本发明所要解决的技术问题是提供一种基于pso

lstm的一次调频能力评估与预测系统,对火电机组的一次调频能力进行预测,辅助调度人员可以在发生扰动时进行紧急的控制。
6.本发明所采用的技术方案是:
7.一种基于pso

lstm的一次调频能力评估与预测系统,其特征在于其包括如下步骤:
8.s100:采集火力发电机组dcs系统中的历史数据;
9.s200:对采集的数据进行处理,得到能反映一次调频过程的有效数据;
10.s300:选择数据的训练集和验证集,确定模型的输入输出变量;
11.s400:构造lstm神经网络并使用pso算法优化网络模型,得到基于pso

lstm的一次调频能力评估与预测模型。
12.进一步的,在s100中,全年4个季度中各选择一个月共计4个月作为机组运行的历史数据s,数据采样时间间隔为1s。
13.进一步的,采集的数据包括系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
以及功率补偿量p
x

14.进一步的,s200的具体步骤如下:
15.s210:设值反映一次调频的调频死区δf=0.033hz,对数据的处理规则如下:
[0016][0017]
式1中f(t)表示第t时刻的频率,f
n
表示额定频率f
n
=50hz,根据公式1当频率偏差超过调频死区时认定为进行一次调频动作,否则没有进行一次调频动作,(t 1,t n

1)时刻范围内的数据为有效数据,并将有效数据提取出来;
[0018]
s220:对火电机组的一次调频性能进行判定效果,根据s100和步骤s210处理过后的数据计算火电机组的调速不等率。
[0019]
进一步的,在s220中,火电机组的调速不等率的计算步骤如下:
[0020]
s221:为保证机组一次调频快速精确将δ取值4%

5%,可通过下式计算:
[0021][0022]
其中δf为电网频率变化量,f
n
为额定频率,δp为发电机组有功变化量,p
n
为发电机组额定功率,f0为发电机组空载频率;
[0023]
s222:根据s221计算的调速不等率来判断机组的调频性能是否合格,4%≤δ≤5%,则表示机组的一次调频性能合格,否则一次调频性能不合格。
[0024]
进一步的,在s300中,将s200处理提取出的数据建立相关数据集并将建立起来的数据集进行归一化处理,使用mapminmax函数将数据归一化至0

1之间;
[0025]
将数据集划分为训练集和验证集,每月随机选择数据集的70%作为训练集每月剩余的30%数据作为验证集将训练集中的系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
作为lstm模型的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],将功率补偿量y和调速不等率δ作为模型的输出变量y(k)=[y,δ],通过构建lstm模型对输入变量和输出变量求解出映射关系。
[0026]
进一步的,在s400中,构造lstm神经网络的模型的具体步骤如下:
[0027]
s410:确定lstm神经网络的初始网络结构、确定隐藏层层数和输出层的层数,初始化训练步长;
[0028]
s420:使用粒子群算法对lstm的隐藏层神经元数量n、学习率lr进行粒子寻优,并将最优参数赋予lstm神经网络模型进行训练,得到基于pso

lstm的一次调频能力评估与预测模型;
[0029]
s430:将在s420中得到的最优隐藏层神经元数量n和学习率lr参数值带入lstm网络,得到优化过后的基于pso

lstm的一次调频能力评估与预测模型,其模型输入变量为系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
,即输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],其模型输出变量为功率补偿量y和调速不等率δ,即输出变量y(k)=[y,δ]。
[0030]
进一步的,在s410中,设置输入门i
t
、输出门o
t
、遗忘门f
t
的激活函数为sigmoid函数,其具体步骤如下:
[0031]
s411:设置输入门i
t
=σ(w
xi
·
x
t
w
hi
·
h
t
‑1 b
i
),在公式当中w
xi
、w
hi
分别表示输入与输出的权重矩阵和隐藏层和输入门权重矩阵,b
i
表示输入层到输出层之间的偏差,x
t
表示t时刻的输入矩阵,h
t
‑1表示t

1时刻的隐藏层的输出;
[0032]
s412:设置输出门o
t
=σ(w
xo
·
x
t
w
ho
·
h
t
‑1 b
o
),在公式当中w
xo
表示输入与输出门权重矩阵,w
ho
表示隐藏层与输出门的权重矩阵;
[0033]
s413:设置遗忘门f
t
=σ(w
xf
·
x
t
w
hf
·
h
t
‑1 b
f
),在公式当中w
xf
、w
hf
分别表示输入和遗忘门权重矩阵、隐藏层和输出门权重矩阵;
[0034]
s414:设置单元状态g
t
=tanh(w
xg
·
x
t
w
hg
·
h
t
‑1 b
g
),在公式当中w
xg
表示输入到记忆单元权重矩阵,w
hg
表示隐藏到记忆单元权重矩阵;
[0035]
s415:设置当前状态函数c
t
=f
t
*c
t
‑1 i
t
*g
t
,对于当前时刻的输出为h
t
=tanh(c
t
*o
t
);
[0036]
s416:对上述构建的初始化lstm网络模型导入数据进行训练,将训练集中的系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
作为lstm模型的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],功率补偿量y和调速不等率δ作为lstm模型的输出变量y(k)=[y,δ],将输入变量x(k)与输出变量y(k)分别导入lstm网络模型进行训练,得到基于lstm的一次调频能力评估与预测模型。
[0037]
进一步的,在s420中得到基于pso

lstm的一次调频能力评估与预测模型的具体步骤如下:
[0038]
s421:初始化粒子群算法参数,确定粒子群的群体大小m、最大迭代次数max_d、惯性权重的最小值w
min
与惯性权重的最大值w
max
、加速因子c1和c2,并根据s410所建立的lstm模型设置隐藏层神经元数量n和学习率lr的取值范围,设隐藏层神经元数量的区间范围[20,60],学习率的区间范围为[0.001,0.1];
[0039]
s422:根据s421初始化的隐藏层神经元数量n和学习率lr的区间范围,以验证集数据的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
]导入到经s416所训练得到基于lstm的一次调频能力评估与预测模型当中,通过该lstm网络模型的输出可以得到功率补偿量的预估值和调速不等率的预估值将模型输出所得到的和值与验证集中的功率补偿量真实值y和调速不等率真实值δ之间的跟均方误差作为粒子群的适应度值f
i
,且适应度函数定义如下:
[0040][0041]
式中n表示验证集的数据总量,表示经s422所得到的功率补偿量预估值,y
n
表示验证集中功率补偿量的真实值,表示经s422所得到的调速不等率的预估值,δ
n
表示验证集中调速不等率的真实值;
[0042]
s423:根据s422所得到的粒子群适应度值对s410所建立的lstm网络模型的隐藏层神经元数量n和学习率lr进行优化,具体步骤如下:
[0043]
s424:将lstm网络模型的隐藏层神经元数量n和学习率lr作为两个粒子,对每一个
粒子用s422定义的适应度值f
i
和个体的极值p
best
=(p1,p2,p3,p4,
……
p
i
‑1,p
i
),i=1,2,3
……
,n进行比较,如果f
i
>p
i
,则用f
i
替换掉p
i
;再对每一个粒子用s422定义的适应度值f
i
和全局的极值g
best
=(g1,g2,g3,g4,
……
g
i
‑1,g
i
)进行比较,如果f
i
>g
i
,则用f
i
替换掉g
i

[0044]
s425:对隐藏层神经元数量n和学习率lr两个粒子的速度和位置进行迭代更新;
[0045]
s426:对隐藏层神经元数量n和学习率lr两个粒子进行更新,并且计算粒子的适应度值f
i
,并和局部与全局的最优解进行比较,当误差足够好或者到达s421所设置的最大的循环次数max_d的时候,退出粒子的更新得到最优的lstm网络模型的隐藏层神经元数量n和学习率lr参数值,否则要返回到s423重新对粒子迭代更新。
[0046]
进一步的,在s425中,使用公式4和公式5进行计算,公式具体如下:
[0047]
v
id
=w*v
id
c1r1(p
id

x
id
) c2r2(p
gd

x
id
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(式4)
[0048]
x
id
=x
id
v
id
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式5)
[0049]
式中c1、c2为学习因子,r1和r2为[0,1]范围内的均匀随机数,v
id
表示粒子的速度,p
id
为个体局部最优解,p
gd
为粒子的全局最优解,x
id
为粒子的位置。
[0050]
本发明的积极效果为:
[0051]
本发明包含历史运行数据的采集、数据的预处理、输入输出变量集合确定、lstm网络模型构建、一次调频能力的评估和一次调频能力的预测部分组成。通过利用火电机组的历史运行数据,确定影响一次调频能力的变量因素,确定一次调频性能评估的方法,并通过构建lstm神经网络模型,对火电机组的一次调频能力进行预测,辅助调度人员可以在发生扰动时进行紧急的控制。本发明对火电机组的一次调频控制精确度和稳定性有着重要的意义。
[0052]
本发明充分考虑火电机组历史数据的时序特性,在步骤s400提出使用lstm神经网络建立模型,lstm模型具有保存历史信息功能,在处理长时间序列输入时较传统神经网络精度更好,从而更好的实现对火电机组的一次调频能力的预测。为解决传统长短期记忆(lstm)神经网络因依靠经验选取模型参数而导致模型拟合能力不够,预测精度较低等问题,步骤s400中提出使用pso优化算法对lstm网络模型的隐藏层神经元数量n、学习率lr进行寻优,并将最优参数赋予lstm神经网络模型进行训练,使得预测模型的预测结果更加准确。通过步骤s400所建立的pso

lstm的一次调频能力评估与预测,可以对火电机组的一次调频能力进行预测,及时发现火电机组一次调频能力不足的情况,辅助调度人员在此之前进行紧急控制,保障机组安全稳定运行。
附图说明
[0053]
图1为本发明步骤流程图;
[0054]
图2为本发明系统流程图。
具体实施方式
[0055]
如附图1、2所示,本发明包括如下步骤:
[0056]
步骤1:从火力发电机组dcs系统当中采集历史数据,在全年选择4个月(每个季度选择一个月)作为机组运行的历史数据s,避免因季度自然原因造成的用电负荷不同所带来的误差。数据采样时间间隔为1s,在采集数据范围内因包含不少于40种负荷水平且每月应
不少于15次的大幅度的升降负荷数据,还要保证在数据采集范围内要火电机组无停机无故障运行;采集的数据包括系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
、功率补偿量p
x

[0057]
步骤2:对数据进行预处理,将采集到的数据经过整理得到能反映一次调频过程的有效数据。其具体步骤如下:
[0058]
步骤2

1:因采集的历史运行数据包含火电机组稳定运行数据,也包含着噪声和非一次调频动作的频率扰动,为采集到的有效数据,设值反映一次调频的调频死区δf=0.033hz,对数据的处理规则如下:
[0059][0060]
式1中f(t)表示第t时刻的频率,f
n
表示额定频率f
n
=50hz,根据公式1当频率偏差超过调频死区时可以认定为进行一次调频动作,否则没有进行一次调频动作,(t 1,t n

1)时刻范围内的数据为有效数据,并将有效数据提取出来。
[0061]
步骤2

2:对火电机组的一次调频性能进行判定效果,根据步骤1和步骤2

1处理过后的数据计算火电机组的调速不等率,其具体步骤如下:
[0062]
步骤2
‑2‑
1:调速不等率反映了机组静态调节特性的快慢,是火力发电机组性能指标当中的重要参数。为保证机组一次调频快速精确在这将δ取值4%

5%。可通过下式计算:
[0063][0064]
其中δf为电网频率变化量,f
n
为额定频率,δp为发电机组有功变化量,p
n
为发电机组额定功率,f0为发电机组空载频率;
[0065]
步骤2
‑2‑
2:根据步骤2
‑2‑
1计算的调速不等率来判断机组的调频性能是否合格。4%≤δ≤5%,则表示机组的一次调频性能合格,否则一次调频性能不合格;
[0066]
步骤3:将步骤2处理提取出的数据建立相关数据集并将建立起来的数据集进行归一化处理,使用mapminmax函数将数据归一化至0

1之间。将数据集划分为训练集和验证集,每月随机选择数据集的70%作为训练集每月剩余的30%数据作为验证集将训练集中的系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
作为lstm模型的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],将功率补偿量y和调速不等率δ作为模型的输出变量y(k)=[y,δ],通过构建lstm模型对输入变量和输出变量求解出映射关系;
[0067]
步骤4:构造lstm神经网络的模型,其具体模型构建步骤如下:
[0068]
步骤4

1:确定lstm神经网络的初始网络结构、确定隐藏层层数和输出层的层数,初始化训练步长。设置输入门i
t
、输出门o
t
、遗忘门f
t
的激活函数为sigmoid函数,其具体步骤如下:
[0069]
步骤4
‑1‑
1:设置输入门i
t
=σ(w
xi
·
x
t
w
hi
·
h
t
‑1 b
i
),在公式当中w
xi
、w
hi
分别表示输入与输出的权重矩阵和隐藏层和输入门权重矩阵,b
i
表示输入层到输出层之间的偏差,x
t
表示t时刻的输入矩阵,h
t
‑1表示t

1时刻的隐藏层的输出;
[0070]
步骤4
‑1‑
2:设置输出门o
t
=σ(w
xo
·
x
t
w
ho
·
h
t
‑1 b
o
),在公式当中w
xo
表示输入与输出门权重矩阵,w
ho
表示隐藏层与输出门的权重矩阵;
[0071]
步骤4
‑1‑
3:设置遗忘门f
t
=σ(w
xf
·
x
t
w
hf
·
h
t
‑1 b
f
),在公式当中w
xf
、w
hf
分别表示输入和遗忘门权重矩阵、隐藏层和输出门权重矩阵;
[0072]
步骤4
‑1‑
4:设置单元状态g
t
=tanh(w
xg
·
x
t
w
hg
·
h
t
‑1 b
g
),在公式当中w
xg
表示输入到记忆单元权重矩阵,w
hg
表示隐藏到记忆单元权重矩阵;
[0073]
步骤4
‑1‑
5:设置当前状态函数c
t
=f
t
*c
t
‑1 i
t
*g
t
,对于当前时刻的输出为h
t
=tanh(c
t
*o
t
);
[0074]
步骤4
‑1‑
6:对上述构建的初始化lstm网络模型导入数据进行训练,将步骤3确定的训练集中的系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
作为lstm模型的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],功率补偿量y和调速不等率δ作为lstm模型的输出变量y(k)=[y,δ],将输入变量x(k)与输出变量y(k)分别导入lstm网络模型进行训练,得到基于lstm的一次调频能力评估与预测模型。
[0075]
步骤4

2:为提高lstm网络性能,使用粒子群算法(pso)对lstm的隐藏层神经元数量n、学习率lr进行粒子寻优,并将最优参数赋予lstm神经网络模型进行训练,得到基于pso

lstm的一次调频能力评估与预测模型其具体步骤如下:
[0076]
步骤4
‑2‑
1:初始化粒子群算法参数,确定粒子群的群体大小m、最大迭代次数max_d、惯性权重的最小值w
min
与惯性权重的最大值w
max
、加速因子c1和c2,并根据步骤4

1所建立的lstm模型设置隐藏层神经元数量n和学习率lr的取值范围,设隐藏层神经元数量的区间范围[20,60],学习率的区间范围为[0.001,0.1];
[0077]
步骤4
‑2‑
2:根据步骤4
‑2‑
1初始化的隐藏层神经元数量n和学习率lr的区间范围,以步骤3中所确定的验证集数据的输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
]导入到经步骤4
‑1‑
6所训练得到基于lstm的一次调频能力评估与预测模型当中,通过该lstm网络模型的输出可以得到功率补偿量的预估值和调速不等率的预估值将模型输出所得到的和值与验证集中的功率补偿量真实值y和调速不等率真实值δ之间的跟均方误差作为粒子群的适应度值f
i
,且适应度函数定义如下:
[0078][0079]
式中n表示验证集的数据总量,表示经步骤4
‑2‑
2所得到的功率补偿量预估值,y
n
表示验证集中功率补偿量的真实值,表示经步骤4
‑2‑
2所得到的调速不等率的预估值,δ
n
表示验证集中调速不等率的真实值;
[0080]
步骤4
‑2‑
3:根据步骤4
‑2‑
2所得到的粒子群适应度值对步骤4

1所建立的lstm网络模型的隐藏层神经元数量n和学习率lr进行优化,具体步骤如下:
[0081]
步骤4
‑2‑
4:将lstm网络模型的隐藏层神经元数量n和学习率lr作为两个粒子,对每一个粒子用步骤4
‑2‑
2定义的适应度值f
i
和个体的极值p
best
=(p1,p2,p3,p4,
……
p
i
‑1,
p
i
),i=1,2,3
……
,n进行比较,如果f
i
>p
i
,则用f
i
替换掉p
i
;再对每一个粒子用步骤4
‑2‑
2定义的适应度值f
i
和全局的极值g
best
=(g1,g2,g3,g4,
……
g
i
‑1,g
i
)进行比较,如果f
i
>g
i
,则用f
i
替换掉g
i

[0082]
步骤4
‑2‑
5:使用公式4和公式5对隐藏层神经元数量n和学习率lr两个粒子的速度和位置进行迭代更新,方法公式具体如下:
[0083]
v
id
=w*v
id
c1r1(p
id

x
id
) c2r2(p
gd

x
id
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式4)
[0084]
x
id
=x
id
v
id
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式5)
[0085][0086]
式中c1、c2为学习因子,r1和r2为[0,1]范围内的均匀随机数,v
id
表示粒子的速度,p
id
为个体局部最优解,p
gd
为粒子的全局最优解,x
id
为粒子的位置;
[0087]
步骤4
‑2‑
6:使用步骤4
‑2‑
5中的公式4和公式5对隐藏层神经元数量n和学习率lr两个粒子进行更新,并且计算粒子的适应度值f
i
,并和局部与全局的最优解进行比较,当误差足够好或者到达步骤4
‑2‑
1所设置的最大的循环次数max_d的时候,退出粒子的更新得到最优的lstm网络模型的隐藏层神经元数量n和学习率lr参数值,否则要返回到步骤4
‑2‑
3重新对粒子迭代更新;
[0088]
步骤4

3:将通过步骤4
‑2‑
6所得到的最优隐藏层神经元数量n和学习率lr参数值带入lstm网络,得到优化过后的基于pso

lstm的一次调频能力评估与预测模型,其模型输入变量为系统的频率f、负荷水平p
a
、有功负荷p
b
、功率缺额p
c
、发电机组的惯性时间常数τ、总备用容量p
r
,即输入变量x(k)=[f,p
a
,p
b
,p
c
,τ,p
r
],其模型输出变量为功率补偿量y和调速不等率δ,即输出变量y(k)=[y,δ]。
[0089]
频率是对于电力系统安全运行的重要参数,频率的大幅度变化会对整个电力系统的安全稳定运行带来严重的危害。本发明通过火力发电机组的历史运行数据去发现火力发电机组的一次调频性能是否满足调频需要,为避免调度人员很难在短时间内准确分析电网的调频情况进行了对一次调频能力的预测,在对知道调度人员在火电机组发生扰度或者故障时进行紧急停机有着重要的意义。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献