一种基于强化学习的火电燃烧优化方法与流程

文档序号:15986780发布日期:2018-11-17 01:03阅读:714来源:国知局

本发明涉及火力发电技术领域,尤其是涉及一种基于强化学习的火电燃烧优化方法。

背景技术

在系统稳定的前提下实现最大程度上的优化,是当前火电研究所关注的重要问题。小范围内的优化控制效果不显著,扩大优化范围又常导致燃烧系统不稳定问题。此外,可控输入的高维度导致优化问题求解极为困难,如何在满足约束的范围内实时计算下一时刻的输入变量,从而使系统综合性能指标最优成为一道难题。

从实际的控制角度上分析,由于燃烧过程极为复杂,无法构建完全准确的模型,导致连续的优化控制极为困难。一种常用的方法是采用离散化优化问题,构建近似模型后采用固定时间步长的离散化控制。

当前有许多优化算法都被运用于求解燃烧优化的输入控制问题,总体而言可将现有研究分为以下三类:

启发式算法:常应用于燃烧优化的算法有蚁群算法、模拟退火算法等。启发式算法计算速度快,通用灵活、内存占用少且全局搜索能力强,目前在燃烧优化领域应用比较广泛,而且可与智能算法、数学优化类算法结合使用。但这类方法往往缺乏有效的迭代终止条件,难以找到问题的最优解。

数学优化类算法:根据燃烧机理建模,用数学方程描述燃烧过程,以解析方式求解最优指标。但由于燃烧过程包含了极多复杂反应过程,往往这类方法只应用于部分可知反应的模型构建,只关注某个指标的优化。机理建模的常用方法有白箱模型、灰箱模型。这一类方法的优点在于模型完全确定可知,优化控制求解准确,但缺点也很明显,目标函数往往是非凸函数,需要进一部转化构建,而且迭代算法常无法保证收敛性。

智能算法:被应用于燃烧优化的智能算法有蚁群算法、遗传算法、进化算法等。其中遗传算法是最常用的一种,一般采用将多维输入进行二进制编码,以需要优化的kpi指标作适应度函数,直接对优化问题进行求解。但智能算法的计算量大,所需时间较长,而控制信号输出的间隔不能小于一次离散优化计算的时长,这意味着该方法只能实现阶梯状离散控制。根据实际操作,智能算法要求控制信号输出间隔数量级以分钟计。

总体而言,现有的燃烧优化算法只能适应于部分燃烧过程的单一指标进行优化,对于高维控制输入变量的寻优尚没有快速有效的方法。因此该领域的一个主要研究方向是寻找能够快速解决高维问题的全局优化实时算法。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于强化学习的火电燃烧优化方法。

本发明的目的可以通过以下技术方案来实现:

一种基于强化学习的火电燃烧优化方法,包括以下步骤:

1)获取火力发电燃烧过程中的相关变量,包括可控输入it、中间状态量st和性能指标pt,并定义mt={it,st,pt}为t时刻的数据信息;

2)构建预测网络,根据最近两次历史数据信息mt-1、mt以及下一时刻的可控输入it+1预测下一时刻的中间状态量st+1和性能指标pt+1;

3)将燃烧过程的控制输入优化问题转化为马尔科夫决策问题,定义st={mt-2,mt-1,it}为马尔科夫决策问题在t时刻的状态,以输入对应的增量矢量作为马尔科夫决策问题的动作at,并且以前后状态的线性加权综合指标kpi的增量δcit作为马尔科夫决策问题的奖励rt,并定义状态跳转;

4)采用深度决定性策略梯度对马尔科夫决策问题进行求解,实现将来时刻的燃烧状态变量和性能指标的预测。

所述的步骤2)中,预测网络采用单输入双输出的预测网络,且主输出为性能指标,副输出为中间状态量。

所述的步骤2)中,状态跳转具体为:

将除t-1和t-2时刻的历史数据信息和当前t时刻的可控输入作为预测网络的输入,预测得到t时刻的预测信息,即中间状态量和性能指标,根据t时刻的动作at获取t+1时刻的可控输入,将t-1时刻的历史数据信息、t时刻的预测信息和t+1的可控输入作为下一个状态st+1,完成状态跳转。

所述的步骤3)中,综合指标kpi的表达式为:

cit=gt·pt

其中,cit为综合指标kpi,gt为目标矢量。

所述的步骤3)具体包括以下步骤:

31)构建并训练ddpg框架,在火电燃烧历史数据随机选择一个历史状态作为初始状态s0,并根据ξ-greedy策略选取一个动作,进行状态跳转到下一个状态,并将产生的数据存入经验池,并进行网络更新;

32)判断本次episode是否结束,若否,则返回再次选择动作并进行动作跳转,若是,则判断网络是否收敛,若是,则进行步骤33),若否,则返回步骤31)重新选择初始状态;

33)获取训练过程中的最优模型,并将最优模型中的actor网作为最终的输入决策控制器。

所述的步骤31)中,状态跳转的表达式为:

it=it-1+β·at

st+1={mt-1,{it,f(st-1;θ1),f(st-1,f(st-1;θ1);θ)},it+βat}

其中,it、it-1分别为t时刻和t+1时刻的可控输入,β为增量因子,θ1为双输出子网络参数,θ为双输出主网络参数,f(st-1;θ1)为双输出子网络映射,f(st-1,f(st-1;θ1)为双输出主网络映射。

与现有技术相比,本发明具有以下优点:

本发明比传统用于求解燃烧优化问题的机理建模法具有更普遍适用性,比遗传算法等智能算法有更强的泛化能力和快速响应能力。通过神经网络对燃烧过程进行模型构建,能快速准确地训练出各输入变量和历史状态与当前状态和性能指标之间的关系,而不再受限于反应机理的构建。完成整个燃烧过程的建模后,强化学习算法能对处在任意状态的系统均可输出一个增量信号。最终得到的输入决策控制器对于未知状态的泛化信号,在一定程度上是可接受的,只要保证未知状态与历史存有状态偏离不太大即可保证控制信号的稳定性和有效性。actor网控制信号输出反应速度极快(以毫秒计),几乎可实现近似连续的优化控制效果。

附图说明

图1为单输入双输出的预测网络示意图。

图2为预测网络训练、测试mae图,其中,图(2a)为预测网络训练mae图,图(2b)为预测网络测试mae图。

图3为求解燃烧优化问题的ddpg框架示意图。

图4为燃烧优化问题的求解流程。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

本发明针对现有优化方法的不足,提出一种基于强化学习的燃烧优化算法,主要思路是,不关心燃烧过程的机理,避开繁琐的机理建模过程,仅基于燃烧过程中测量得到的数据,直接采用黑箱模型建模,通过单输入双输出的神经网络结构构建反应预测网,将优化问题转化为马尔科夫决策过程,以输入增量式为动作空间,定义线性加权的综合kpi为奖励,采用深度决定性策略梯度(ddpg)框架实现高维输入优化问题求解,从而得到一个泛化能力极强的实时控制决策网络,即只需输入当前燃烧状态,能立即计算得到下一时刻的输入量变化。本发明比传统用于求解燃烧优化问题的智能算法具有更快速的计算反应能力(控制器所要求的快速性)和强大的泛化能力(对于未探索的燃烧状态均能计算得到可接受的优化输入),极大提高了计算效率,实现了近似连续的全局优化实时控制效果。

本发明的具体内容如下:

1.首先将燃烧过程中的相关变量分为三类:24维输入,16维中间状态和3维性能指标,采用单输入双输出的网络结构构建对16维中间变量(副输出)和3维性能指标(主输出)的预测网络。

2.将燃烧优化问题转化为马尔科夫决策问题:定义最近两次历史信息和下一时刻输入为状态、输入对应的增量矢量为动作和前后状态的综合kpi之差为奖励。

3.定义状态跳转:将除t-1和t-2时刻历史信息和当前输入量作为预测网的输入,计算得到t时刻的中间状态量和主要性能指标,根据t时刻动作计算t+1的输入,将t-1时刻的历史信息、t时刻的预测信息和t+1的输入作为下一个状态,完成状态跳转。

4.从历史数据里随机抽取某一时刻点,定义初始状态,随机选取一个动作,根据上述定义进行状态跳转,并将产生的数据存入经验池。该状态跳转持续进行,直至状态超出预定范围,或该episode到达规定跳转次数而终止。

5.重复步骤4,同时每次从经验池随机抽取一定数量的数据对critic网络进行训练更新,然后再根据更新后的网络梯度计算actor网的参数梯度并进行更新。该步骤重复,直至网络收敛为止。

上述的求解过程中,由于燃烧优化是一个时序相关的问题,欲定义不同时刻下的状态,需要对原始数据进行时序预处理。根据马尔可夫性质,下一个状态仅取决于当前状态而与历史状态无关,而实际上对于一个连续的燃烧过程,下一个状态必然与历史时刻的状态有关。根据网络的拟合发现,前两次历史信息用于拟合当前状态效果最好,即该问题可近似为2阶马尔科夫问题。

完成对马尔科夫状态的定义后,以输入增量式为动作空间,定义线性加权的综合kpi为奖励,燃烧优化问题就转化为求解不同状态下的最优动作(对输入进行增量式控制)。目前对高维动作空间寻优的有效且简单的算法即采用深度强化学习方法,本发明采用深度决定性策略梯度(ddpg)为框架对该问题进行求解,其好处在于收敛速度快,计算效率高。当actor和critic网络训练收敛,或达到设定的迭代次数后,取出训练过程中的最优模型,并将最优模型中的actor网作为最终的输入决策控制器。

由于求解的输入维数过高,若采用框架内置的学习率衰减参数,无论是否完成最终计算,学习率下降到一定程度后网络均会收敛(或发散),这时需要设定一个很小的衰减系数,以适应设定的迭代次数。

实施例

以下结合附图和实施例对本发明的技术方案作具体实施描述。

第一步:根据热力学原理,将变量分为可控输入it、中间状态量st和性能指标pt,记mt={it,st,pt}为t时刻的数据信息。

第二步:根据马尔可夫性,将最近两次历史信息mt-1,mt和下一时刻的输入it+1作为网络输入,预测下一时刻的中间状态量st+1和性能指标pt+1,对单输入双输出网络(如图1所示)进行模型构建和训练(如图2所示),记子网输出的映射为st+1=f(mt-1,mt,it+1;θ),主网输出映射为pt+1=f(mt-1,mt,it+1;θ)。

第三步:预测模型构建完毕后,定义状态st={mt-2,mt-1,it},计算综合指标kpi:cit=gt·pt,其中g为3×1的目标矢量,对三个性能指标作简单的线性加权,则状态-动作的奖励为综合性能指标的增量δcit。

第四步:构建ddpg框架(如图3所示),随机选择一个历史状态为初始状态s0,根据ξ-greedy策略选取动作a0,进行如下状态跳转:

it=it-1+β·at

st+1={mt-1,{it,f(st-1;θ1),f(st-1,f(st-1;θ1);θ)},it+βat}

跳转到下一个状态后,将交互数据存入经验池,并进行网络更新。判断本次episode是否结束,若否,则再次选择动作并进行动作跳转,若是,则判断网络是否收敛;若网络收敛,则停止计算,若否,则返回选择初始状态(如图4所示)。

第五步:取出最优模型中的actor网作为输入决策控制器,对所有历史状态进行测试,观察其优化效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1