一种结合深度学习的机组组合计算方法
技术领域
本发明属于电力系统调度自动化
技术领域
,具体涉及一种结合深度学习的机组组合计算方法。背景技术
机组组合问题是一个高维数、非凸的、离散的、非线性的混合整数优化问题,属于一个NP-hard问题,很难找出理论上的最优解,但由于它能够带来显著的经济效益,人们一直在积极研究,提出各种方法来解决这个问题。关于机组组合问题的求解方法,主要有三种:(1)启发式算法;(2)数学优化法,如动态规划法、内点法、分支定界法等;(3)智能优化算法,如遗传算法、粒子群算法等。这些方法理论性强,逻辑推导严密,但求解过程较为复杂,耗费时间较长。而基于数据驱动的理论方法能够通过深度学习模型,从大量的历史数据中学习映射关系,极大地简化了求解过程。
发明内容
本发明提供了一种结合深度学习的机组组合计算方法,其特征在于,包括以下步骤:
步骤1:对大量的历史数据进行预处理,具体是选取MinMaxScaler方法实现历史数据的归一化,使用K-means聚类算法对历史数据进行划分;
所述MinMaxScaler归一化方法表征为如式(1)所示:
式中,为归一化的值;X为待处理数据,即样本数据;Xmax和Xmin分别为样本数据的最大值和最小值。
所述K-means聚类算法是一种循环迭代的算法,通过以下4步实现:
(1)选择K个初始中心点,作为初始聚类中心a1,a2,…,ak;
(2)计算每个样本xi到K个聚类中心的距离,并将其分到距离最小的类中;
(3)计算K类中所有样本点的均值,作为下一次迭代的聚类中心;
(4)重复步骤(2)、(3),直到聚类中心不再改变或达到迭代次数;
步骤2:构建深度学习模型,输入负荷的预测数据,得到机组启停状态,所述深度学习模型的输入为负荷的预测数据,输出为机组启停状态;
步骤3:将机组启停状态和负荷的预测数据代入到机组组合优化模型中,得到机组出力值;其中,所述机组组合优化模型以火电机组发电成本最小为目标构建目标函数;以系统节点功率平衡约束、火电机组出力上下限约束、火电机组爬坡约束、火电机组开停机时间约束和输电线路潮流约束为约束条件。
优选地,所述深度学习模型包括LSTM神经网络层、Dropout层、全连接层共三个部分,其输入为负荷的预测数据,输出为机组启停状态;
其中,所述LSTM神经网络层是基于RNN改善的结构模型,引入了存储单元和门机制,当前时刻能利用上一时刻句子中的信息;所述LSTM神经网络由4个部分组成:即输入门it、输出门ot、遗忘门ft和记忆单元Ct;
在所述Dropout层中,Dropout是指在深度学习的训练过程中,每次更新参数时随机断开一定比例的神经元,减弱神经元对某些局部特征的依赖性,从而提高模型的泛化能力;
所述全连接层使用了softmax激励函数作为输出层的多层感知;所述全连接指当前层与前一层网络的所有神经元是相互连接的,将提取的高维特征进行降维;该层;位于网络的末端,最后一层的单元数与分类个数相同,并且与softmax激活函数配合使用,以实现对输出特征的分类。
优选地,所述输入门it、输出门ot、遗忘门ft和记忆单元Ct
所述遗忘门ft决定是否保留记忆单元Ct之前的信息,其输出表示为如式(1-1)所示:
ft=σ(Wfhht-1+Wfxxt+bf) (1-1),
式中,ht-1为t-1时刻隐藏层的输出;xt为当前时刻的输入;σ为sigmoid激活函数;Wfh为遗忘门的ht-1的权值;Wfx为遗忘门的xt的权重;bf为遗忘门的偏置参数;
所述输入门it和记忆单元Ct的状态更新如式(1-2)、(1-3)、(1-4)所示:
it=σ(Wihht-1+Wixxt+bi) (1-2),
式中,Wih为输入门的ht-1的权值;Wix为输入门的xt的权重;bi为输入门的偏置参数;为待更新的记忆单元状态;tanh为产生的激活函数;Wch为的ht-1的权值;Wcx为的xt的权重;bc为的偏置参数。Ct和Ct-1为t和t-1时刻的记忆单元状态;
当LSTM神经网络层更新记忆单元Ct后,其输出状态的具体表达式如式(1-5)、(1-6)所示:
ot=σ(Wohht-1+Woxxt+bo) (1-5),
ht=ot·tanh(Ct) (1-6),式中,Woh为输出门的ht-1的权值;Wox为输出门的xt的权重;bo为输出门的偏置参数;ht为当前时刻隐藏层的输出。
更优选地,所述深度学习模型的训练过程包括:
采用Adam算法对所述深度模型进行训练,所述训练过程包括前向传播和反向传播两个阶段;首先,在前向传播中计算输入信号的乘积及其对应的权重,然后,将激活函数作用于这些乘积的总和,得到的输出结果与真实值所形成的误差;接着,在网络的反向传播过程中回传所形成的相关误差,通过计算损失函数对于对各参数的梯度,根据梯度下降法对权值W和偏置b进行更新,如式(2)、(3)所示
式中,为学习率,L(W,b)为损失函数;
选取交叉熵误差作为损失函数,计算公式如式(4)所示:
式中,yi为样本的实际标签,为预测值。
更优选地,在所述深度学习模型的训练过程中,采用Adam算法对参数进行调整,选取均方误差作为损失函数,计算公式如式(5)所示:
式中,yi为数据样本的真实值,为数据样本的预测值。
优选地,步骤3中所述以火电机组发电成本最小为目标所构建目标函数表征为如式(6)所示;
所述系统节点功率平衡约束、火电机组出力上下限约束、火电机组爬坡约束、火电机组开停机时间约束和输电线路潮流约束为约束条件分别表征为如式(7)-(11)所示:
ug,tPg,min≤Pg,t≤ug,tPg,max (8),
其中,Pg,t为火电机组出力,C(Pg,t)表示机组的煤耗成本,C(Pg,t)是一个二次函数,需对其进行分段线性化处理;SUit、SDit为机组的启停成本;ug,t表示机组运行状态。Pd,t为t时段的系统负荷;Pg,max和Pg,min分别为常规机组出力的上、下限;xmn为线路mn的电抗值;Xon,g,t、Xoff,g,t表示机组已经连续开机和停机的时间;Ton,g、Toff,g表示机组开机和停机时间限制;URi和DRi为上下爬坡限制;PLl,t为输电线路的传输功率;为输电线路的最大有功传输容量;θmt为节点m的相角。
附图说明
图1为本发明提供的方法流程图;
图2为LSTM网络结构图;
图3为火电机组启停状态的预测准确率图;
具体实施方式
本发明提供了一种结合深度学习的机组组合计算方法,对大量的历史数据进行预处理,并构建深度学习模型得出机组启停状态,将机组启停状态输入到优化程序中,得到次日的机组组合计划。所提出的深度学习模型采用LSTM神经网络,通过学习大量的历史数据,模型训练完成后得出映射关系。在实时决策中,调用训练好的深度学习模型,即可直接得到机组启停状态;并将结果代入到到机组组合优化程序中,得到机组出力值。结合图1的方法流程图进行介绍,具体包括:
步骤1:对大量的历史数据进行预处理;
步骤2:构建深度学习模型,输入负荷的预测数据,得到机组启停状态;
步骤3:将机组启停状态和负荷的预测数据代入到机组组合优化程序中,得到机组出力值。
其中,步骤1具体包括以下子步骤:
子步骤S11、选取MinMaxScaler方法对历史数据进行归一化处理,如式(1)所示:
式中,为归一化的值;X为待处理数据;Xmax和Xmin分别为样本数据的最大值和最小值;
子步骤S12、使用K-means聚类算法对所述历史数据进行划分,所述K-means聚类算法是一个循环迭代的算法,通过以下4步实现:
(1)选择K个初始中心点,作为初始聚类中心a1,a2,…,ak;
(2)计算每个样本xi到K个聚类中心的距离,并将其分到距离最小的类中;
(3)计算K类中所有样本点的均值,作为下一次迭代的聚类中心;
(4)重复步骤(2)、(3),直到聚类中心不再改变或达到迭代次数。
所述步骤2中,所构建的深度学习模型的输入为负荷的预测数据,输出为机组启停状态;
所述深度学习模型包括LSTM层、Dropout层、全连接层共三部分,具体如下:
①LSTM层。RNN是一种可以获得之前的信息并进行学习的网络模型。在实践中,RNN随着时间的增长会出现梯度消失或梯度爆炸问题。为了这些问题,有学者提出了特殊的循环网络结构,如LSTM网络。
LSTM网络是基于RNN改善的结构模型,LSTM网络引入了存储单元和门机制,当前时刻能利用上一时刻句子中的信息。LSTM网络结构见图2。
LSTM网络的基本结构由4个部分组成:即输入门it、输出门ot、遗忘门ft和记忆单元Ct。遗忘门决定是否保留记忆单元之前的信息,遗忘门的输出为:
ft=σ(Wfhht-1+Wfxxt+bf) (1-1)
式中,ht-1为t-1时刻隐藏层的输出;xt为当前时刻的输入;σ为sigmoid激活函数;Wfh为遗忘门的ht-1的权值;Wfx为遗忘门的xt的权重;bf为遗忘门的偏置参数。
输入门和记忆单元的状态更新如式(1-2)、(1-3)、(1-4)所示:
it=σ(Wihht-1+Wixxt+bi)(1-2),
式中,Wih为输入门的ht-1的权值;Wix为输入门的xt的权重;bi为输入门的偏置参数。为待更新的记忆单元状态;tanh为产生的激活函数;Wch为的ht-1的权值;Wcx为的xt的权重;bc为的偏置参数。Ct和Ct-1为t和t-1时刻的记忆单元状态。式(4)表明,记忆单元的状态由遗忘门控制的历史信息和输入门控制的共同决定。LSTM网络更新记忆单元后,其输出状态的具体表达式如式(1-5)、(1-6)所示:
ot=σ(Wohht-1+Woxxt+bo) (1-5),
ht=ot·tanh(Ct) (1-6),式中,Woh为输出门的ht-1的权值;Wox为输出门的xt的权重;bo为输出门的偏置参数。ht为当前时刻隐藏层的输出。表达式(1-5)说明LSTM网络的输出由输出门控制的记忆单元决定,并由输出门决定其对结果的影响程度。
②Dropout层。在深度学习问题中,过拟合是一个很常见的问题。过拟合是指只能拟合训练数据,对于不在训练集中的数据不能很好地拟合,泛化能力差。对于复杂的网络模型,会使用Dropout方法防止过拟合。Dropout是指在深度学习的训练过程中,每次更新参数时随机断开一定比例的神经元,减弱神经元对某些局部特征的依赖性,从而提高模型的泛化能力。
③全连接层。全连接层使用了softmax激励函数作为输出层的多层感知,其他很多分类器如支持向量机也使用了softmax。“全连接”指的是当前层与前一层网络的所有神经元是相互连接的,将提取的高维特征进行降维。该层一般位于网络的末端,最后一层的单元数与分类个数相同,并且常与softmax激活函数配合使用,以实现对输出特征的分类。
(2)训练算法
本专利采用Adam算法对网络模型进行训练。网络的训练过程包括前向传播和反向传播两个阶段。首先在前向传播中计算输入信号的乘积及其对应的权重,然后将激活函数作用于这些乘积的总和,得到的输出结果与真实值形成误差。在网络的反向传播过程中回传相关误差,通过计算损失函数对于对各参数的梯度,根据梯度下降法对权值W和偏置b进行更新:
式中,为学习率,L(W,b)为损失函数。
选取交叉熵误差作为损失函数,计算公式如下:
式中,yi为样本的实际标签,为预测值;
选取均方误差作为损失函数,计算公式如式(5)所示:
式中,yi为数据样本的真实值,为数据样本的预测值。
步骤3:将机组启停状态和负荷的预测数据代入到到机组组合优化模型中,得到机组出力值;所述机组组合优化模型以火电机组发电成本最小为目标构建目标函数,表征为如式(6)所示:
以系统节点功率平衡约束、火电机组出力上下限约束、火电机组爬坡约束、火电机组开停机时间约束和输电线路潮流约束为约束条件,分别表征为如式(7)-(11)所示:
ug,tPg,min≤Pg,t≤ug,tPg,max (8),
其中,Pg,t为火电机组出力,C(Pg,t)表示机组的煤耗成本,C(Pg,t)是一个二次函数,需对其进行分段线性化处理;SUit、SDit为机组的启停成本;ug,t表示机组运行状态。Pd,t为t时段的系统负荷;Pg,max和Pg,min分别为常规机组出力的上、下限;xmn为线路mn的电抗值;Xon,g,t、Xoff,g,t表示机组已经连续开机和停机的时间;Ton,g、Toff,g表示机组开机和停机时间限制;URi和DRi为上下爬坡限制;PLl,t为输电线路的传输功率;为输电线路的最大有功传输容量;θmt为节点m的相角。
实施例:
为了验证所提模型的合理性,采用IEEE 30系统作为算例,该系统有6台常规机组。本文使用MATLAB2016a上调用YALMIP和Gurobi-8.0.1产生100组数据集,以6:2:2的比例划分为训练集、验证集和测试集,利用python完成数据的预处理。并在基于TensorFlow后端的keras深度学习框架下进行模型的搭建、训练和测试。硬件仿真环境为Intel(R)Core(TM)i7-6700HQ [email protected],运行内存大小为4GB。机组组合优化模型在MATLAB2016a上调用YALMIP和Gurobi-8.0.1实现编程求解
图3为深度学习模型输出结果的准确率,可以看出本专利建立的深度学习模型能够准确地预测火电机组启停状态。
表1为两种方法的性能比较:
方法一:使用深度学习模型得出机组启停状态,将机组启停状态和负荷的预测值代入到机组组合优化模型中,得出机组出力值;
方法二:根据负荷预测值,运行机组组合优化程序,得出机组启停状态和机组出力值。
表1两种方法的性能比较
从表中可以看出,方法一的步骤比方法二多,但决策时间更短。这是因为数据驱动的方法在模型训练完成后,在线决策的时间会非常短,通常不到0.1s。在获得机组启停状态的情况下,较传统的机组组合模型省去了整数变量,这时机组组合优化模型会更容易求解,因此整体的决策时间更短。
与现有技术相比,本发明的有益效果为:在实时决策中,调用训练好的深度学习模型,即可直接得到机组启停状态;并将结果代入到到机组组合优化程序中,较传统机组组合模型减少了计算量。实验结果表明,根据所提出模型得到的机组组合计划,能够达到较高的计算精度,且提升了求解速度。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。