基于SARSA(λ)算法的风电-抽蓄联合系统日随机动态调度方法与流程

文档序号:23228978发布日期:2020-12-08 15:15阅读:118来源:国知局
基于SARSA(λ)算法的风电-抽蓄联合系统日随机动态调度方法与流程

本发明属于节能环保产业领域中水资源循环利用与节水活动中的天然水收集与分配问题,采用大数据中的强化学习方法求解。涉及一种基于强化学习sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法。



背景技术:

在能源行业步入高质量发展的今天,风力发电在世界范围内得到了广泛的应用。同时,风电的随机性和波动性给电网的运行调度带来了挑战,如何控制风电并网时的功率特性,高效的消纳大规模风电成为了亟待解决的难题。

随着储能技术的发展,抽水蓄能电站作为技术成熟、应用广泛的储能装置,具有反应灵活、启停迅速的特性,为电力系统配备抽水蓄能电站,不仅可以削峰填谷,而且可以提供旋转备用、负荷跟踪、调相、频率控制等动态服务,提高系统的静稳定性和动稳定性,为系统带来可观的效益,保障电网安全稳定运行。将风电与抽水蓄能电站联合优化运行,可有效提高风电运行效益,降低风电并网局限性,取得可观的经济效益。

现有的方法中,对于风电-抽水蓄能联合系统的调度,采用传统随机动态规划算法,存在调度效果不佳以及效率低的技术问题。



技术实现要素:

本发明提出一种基于sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法,用于解决或者至少部分解决现有技术中存在的调度效果不佳以及效率低的技术问题。

为了解决上述技术问题,本发明提供了基于sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法,包括:

s1:描述风电出力的随机性;

s2:根据风电出力的随机性以及分时电价,构建风电-抽蓄联合系统日随机动态调度模型:

式中:t为一个周期内的时段数;rt为t时段的指标函数;vt为t时段初的抽水蓄能电站上水库的库容;ptgd为t时段抽水蓄能电站发出的功率,小于0为抽水,大于0为发电;rt、ptgd的表达式如下所示:

式中:ct为t时段对应的峰谷电价;将t时段风电预测误差分布函数曲线离散成n个值后,其对应功率为相应的概率为pt,i;gh为抽水蓄能电站启停单个机组所需的费用,nt为抽水蓄能电站t时段开启/关闭的机组台数;当t时段抽水蓄能电站机组处于发电态时,的值为1,否则为0;ptg为t时段机组对应的发电出力;当t时段抽水蓄能电站机组处于电动机态时,的值为1,否则为0,ptd为t时段机组对应的抽水功率;

s3:确定风电-抽蓄联合系统日随机动态调度模型的约束条件;

s4:采用强化学习中的sarsa(λ)算法对风电-抽蓄联合系统日随机动态调度模型进行求解,得到调度结果。

在一种实施方式中,s1具体包括:

采用beta分布来表示风电功率预测误差的概率密度函数,表达式为:

式中:x为风电出力预测误差;a,b为beta分布的形状参数,通过改变a,b的值,可以得到不同形状的beta分布,满足风电出力预测误差可能出现的正偏或负偏性;其中,b(a,b)表达式为:

通过对风电场历史数据的采集整理,得出该风电场预测误差频数分布,由预测误差的均值和方差算出beta分布的形状参数a,b,计算方程式为:

式中:μ为预测误差的均值;σ为预测误差的标准差。

在一种实施方式中,s3中的约束条件包括:

(1)水库库容约束:

vmin≤vt≤vmax

式中:vmin、vmax分别为抽水蓄能电站上水库可利用的最小和最大库容,vt为t时段抽水蓄能电站上水库可利用的实际库容;

(2)每天首末时段库容变动量约束:

v24-v0=0

其中,抽水蓄能水库为日调节,每天首末时段水库的库容相等,v24、v0分别表示24时和0时的水库的库容;

(3)发电、抽水功率约束:

式中:分别为抽水蓄能电站机组的发电出力上下限,ptg为t时段抽水蓄能电站机组的实际发电出力;

抽水功率的约束为:

ptd=pdkt

式中:ptd为t时段抽水蓄能电站单台机组的实际抽水功率,pd为抽水蓄能电站单台机组的额定抽水功率,kt为t时段运行的抽水机组总数;

(4)抽发互斥约束:

该约束表示同一时段下抽水蓄能电站机组不能同时处于发电和抽水状态,为t时段抽水蓄能电站机组是否处于发电态的标识,为t时段抽水蓄能电站机组是否处于电动机态的标识;

(5)机组总台数约束:

式中:为t时段处于工作状态的机组总数,n为抽水蓄能电站所有可用的机组总台数。

在一种实施方式中,s4中的sarsa(λ)算法在与模型无关的sarsa算法基础上,引入一个记录每个回合中走过的路径和衰减情况的e矩阵,以及步伐衰减系数λ,将sarsa算法的单步更新方式改为sarsa(λ)算法的回合更新方式。

在一种实施方式中,sarsa(λ)算法在回合中,每走过一步,即当前状态下选择了一个动作后,效用迹函数e(s,a)对应的(s,a)位置处数值加1,且每次动作后均会对价值函数q(s,a)以及效用迹函数e(s,a)进行更新,q(s,a)更新方式如下:

其中,α为学习率,用于控制学习的收敛情况;γ为衰减因子,用以降低未来的回报对当前策略的影响;td误差δ表示q(s,a)的理想值与实际值的误差;

e(s,a)更新方式如下:

e(s,a)=γλe(s,a)。

在一种实施方式中,sarsa(λ)算法迭代过程中采用贪婪策略来选取各个状态下的动作,具体为:随机生成一个0-1之间的小数,并将其与探索概率ε比较大小;若小于ε,系统采用随机的方式选取动作,每个动作被选取的概率相同;若不小于ε时,系统将选取当前状态下已知的最优动作,见下式:

式中,ai为状态s下已知的最优策略。

在一种实施方式中,s4具体包括:

s4.1:将电价历史数据、风电出力历史数据处理后投入风电-抽蓄联合系统日随机动态调度模型求解中进行预学习,通过预学习阶段不断的探索积累经验,更新q值表和效用迹函数e的元素值;

s4.2:根据预学习阶段得到的更新后的q值表和效用迹函数e的元素值,进行在线学习,根据贪婪策略来选择当前状态下q值最大的动作。

在一种实施方式中,s4.1具体包括:

s4.1.1:初始化q值表、效用迹函数e、迭代次数和学习率,sarsa(λ)算法初始阶段q值表内各元素都为0,所有状态动作对应的效用迹函数e为0;

s4.1.2:确定当前时段对应的上水库库容值为状态序列的第一个状态,由当前时段下的风电预测值以及服从beta分布的风电预测误差概率密度函数,求出当前时段的风电出力;

s4.1.3:确定当前时段抽水蓄能电站上水库的库容值所对应的状态s,并根据当前时段电价以及各时段的电价趋势,通过贪婪策略来选取抽水/发电动作,根据动作确定抽水蓄能电站上水库的抽水/发电流量;

s4.1.4:由状态转移方程得到采取动作后抽水蓄能电站下一时段的上水库库容所对应的新状态s′,以及采取此动作所获得的奖励r;

s4.1.5:求出下一时段风电出力;

s4.1.6:根据下一时段电价以及各时段的电价趋势,通过贪婪策略来选取新的抽水/发电动作;

s4.1.7:根据sarsa(λ)算法的更新方式更新迹函数e(s,a)和td误差δ;

s4.1.8:对当前所有时段对应的上水库库容状态s,以及抽水/发电流量a,更新价值函数q,并对s4.1.7中更新后的迹函数e进行衰减;

s4.1.9:判断算法是否达到指定的迭代次数,若未达到,则令时段t=t+1,返回s4.1.2继续进行迭代。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本发明提供基于sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法,首先考虑风电出力的随机性,并建立考虑分时电价的风电-抽蓄联合系统日随机动态调度模型;然后确定了模型的约束条件,最后将强化学习中的sarsa(λ)算法引入到模型求解中,该方法为解决考虑随机性的风蓄联合优化调度问题提供了新的思路,在研究风电-抽水蓄能联合系统优化调度时对风电出力的随机性进行了分析,可以提高预测的精确度,并建立了考虑分时电价的风电-抽蓄联合系统日随机动态调度模型和约束条件,可以优化调度效果,采用sarsa(λ)算法对模型进行求解,可以提高求解和调度的效率。

进一步地,本发明充分利用风电场当地历史数据,对风电出力的随机性进行分析,同时利用历史数据对系统的优化决策能力进行预学习,逐步积累经验。

进一步地,本发明首次将该算法应用到具有随机性的风蓄联合优化调度问题上,通过预学习更新q值表,以及算法本身的回合更新方式,极大的缩短了求解的时间,避免了传统算法容易出现的“维数灾”问题,同时能够在与环境不断交互过程中学习最佳策略,获得高质量解。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的调度方法的整体结构图;

图2为本发明马尔科夫决策过程图;

图3为本发明强化学习示意图;

图4为本发明sarsa(λ)算法流程图;

图5为本发明sarsa(λ)算法在风蓄联合系统日随机动态调度中应用流程图。

具体实施方式

本申请发明人通过大量的研究与实践发现:随着风电-抽水蓄能优化调度的理论研究逐步改进和成熟,研究此问题考虑的因素越来越复杂,对研究方法也提出了更高的要求。考虑到风电出力预测存在一定的误差,在研究风电-抽水蓄能联合系统优化调度时首先需要对风电出力的随机性进行分析,提高预测的精确度。因此,风电-抽水蓄能联合系统随机优化调度问题是一个高维、多阶段、非线性优化的问题,此问题约束较为复杂,综合考虑的因素较多。在解决此类随机优化调度问题时,常用的求解算法包括粒子群算法、随机动态规划算法等。然而随着系统规模的扩大,在求解的过程中这些算法可能会存在一定的局限性,例如粒子群算法在寻优过程中容易陷入局部最优解,计算过程中需要跳出局部最优,很难找到理论上的全局最优解;而随机动态规划算法虽然可以找到理论上的最优解,但是在求解过程中容易出现“维数灾”,导致求解时间过长,在实际中较难取得应用。

强化学习(reinforcementlearning,rl)是机器学习(machinelearning,ml)领域的一个重要分支,通常包括agent和环境两个部分,agent不会被告知在环境中应该采取什么动作,而是必须通过自己的尝试去发现哪些动作会产生最大的收益。动作往往影响的不仅仅是即时收益,也会影响下一个情境,从而影响随后的收益。试错和延迟收益是强化学习两个最重要最显著的特征。

本发明在现有的研究基础上,首次将强化学习中的sarsa(λ)算法应用在风电-抽蓄联合系统日随机动态调度模型求解上,考虑风电出力的随机性以及马尔可夫决策过程,在经过预学习阶段不断试错积累经验后,q值表内各元素基本更新完毕,再投入到在线学习中,使得模型能够获得高质量解的同时,能够有效的避免“维数灾”问题。该算法为解决具有随机性的多能互补问题提供了新的思路。

为了达到上述技术效果,本发明的主要构思如下:

提供一种新型求解风蓄联合系统日随机动态调度问题的方法,在改善调度效果的同时,能够有效的减少求解时间,提高调度效率。首先通过强化学习与环境间不断交互来学习最佳策略,有效的解决了传统随机动态规划算法容易出现的“维数灾”问题;其次,在与模型无关的sarsa算法基础上,引入一个记录每个回合中走过的路径和衰减情况的e矩阵,以及步伐衰减系数λ,将sarsa算法的单步更新方式改进成了sarsa(λ)算法的回合更新方式,同时,sarsa(λ)算法也属于一种在线学习法,这种改进使得sarsa(λ)算法能够更加迅速的找到高质量解,减少了求解时间。本发明研究风蓄联合系统日随机动态调度问题,在调度期内充分利用水库的抽水蓄能机组,将廉价的风电通过抽水蓄能电站储存起来,在高峰时期高价发出,在满足各项约束条件的前提下,系统所带来的经济效益最大。主要针对以下几个方面展开研究:

1)描述风电出力的随机性。

2)建立考虑分时电价的风电-抽蓄联合系统日随机动态调度模型,以一天内风蓄联合系统经济效益最大为目标,确定目标函数和约束条件。

3)将强化学习理论应用到风蓄联合系统日随机动态调度问题上求解,确定递推方程和状态转移方程。

4)将sarsa(λ)算法应用到模型求解中,确定求解流程。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明实施例提供了基于sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法,包括:

s1:描述风电出力的随机性;

s2:根据风电出力的随机性以及分时电价,构建风电-抽蓄联合系统日随机动态调度模型:

式中:t为一个周期内的时段数;rt为t时段的指标函数;vt为t时段初的抽水蓄能电站上水库的库容;ptgd为t时段抽水蓄能电站发出的功率,小于0为抽水,大于0为发电;rt、ptgd的表达式如下所示:

式中:ct为t时段对应的峰谷电价;将t时段风电预测误差分布函数曲线离散成n个值后,其对应功率为相应的概率为pt,i;gh为抽水蓄能电站启停单个机组所需的费用,nt为抽水蓄能电站t时段开启/关闭的机组台数;当t时段抽水蓄能电站机组处于发电态时,的值为1,否则为0;ptg为t时段机组对应的发电出力;当t时段抽水蓄能电站机组处于电动机态时,的值为1,否则为0,ptd为t时段机组对应的抽水功率;

s3:确定风电-抽蓄联合系统日随机动态调度模型的约束条件;

s4:采用强化学习中的sarsa(λ)算法对风电-抽蓄联合系统日随机动态调度模型进行求解,得到调度结果。

具体来说,本发明提供的一种基于sarsa(λ)算法的风电-抽蓄联合系统日随机动态调度方法,首先描述风电出力的随机性;然后建立考虑分时电价的风电-抽蓄联合系统日随机动态调度模型;接着确定模型的约束条件;最后将sarsa(λ)算法引入到模型求解中,具体包括确定模型的状态转移方程以及递推方程,并确定sarsa(λ)算法求解流程;在具体实施过程中,包括预学习和在线学习两个过程,首先将电价历史数据、风电出力历史数据处理后投入模型求解中进行预学习;预学习完毕后,投入在线学习中。方法的整体结构图如图1所示。

本发明提供的方法中,一方面考虑了风电出力的随机性,保证了风电出力预测值的精度,使模型的效果更加符合实际。

另一方面,考虑了分时电价,用电高峰期往往在中午和晚上,此时风电出力小,靠水库抽水发电;用电低谷期在夜晚,此时风电出力大,多余的风电通过水库蓄能储存起来;既能使联合系统日收益最大化,又能够起到削峰填谷的作用,有效的解决风电消纳问题。

在一种实施方式中,s1具体包括:

采用beta分布来表示风电功率预测误差的概率密度函数,表达式为:

式中:x为风电出力预测误差;a,b为beta分布的形状参数,通过改变a,b的值,可以得到不同形状的beta分布,满足风电出力预测误差可能出现的正偏或负偏性;其中,b(a,b)表达式为:

通过对风电场历史数据的采集整理,得出该风电场预测误差频数分布,由预测误差的均值和方差算出beta分布的形状参数a,b,计算方程式为:

式中:μ为预测误差的均值;σ为预测误差的标准差。

具体来说,由于风速的时变性决定了风电出力的随机性。对于大规模风电场的日内预测,本发明采用beta分布来表示风电功率预测误差的概率密度函数。

在得到基于beta分布的风电出力预测误差概率密度函数后,积分即可得到相应的预测误差分布函数。具体地,得到预测误差分布函数后,离散为n个值,对应的横坐标为预测误差,纵坐标为相应的概率,结合t时段下风电出力预测值,即可求出t时段下风电出力的期望值。主要用于后面求出风电出力期望值,即模型中的pt,i,以及奖励值公式rt中的ptw*

结合次日各时段风电出力的预测值,即可得到t时段风电出力:

式中:t时段风电出力预测值ptw为确定值;t时段风电出力预测误差为随机变量;因此t时段风电出力为随机量,各时段的风电出力构成风电出力序列,即各个时段下风电出力的期望值,是风电出力随机性的体现。

在一种实施方式中,s3中的约束条件包括:

(1)水库库容约束:

vmin≤vt≤vmax

式中:vmin、vmax分别为抽水蓄能电站上水库可利用的最小和最大库容,vt为t时段抽水蓄能电站上水库可利用的实际库容;

(2)每天首末时段库容变动量约束:

v24-v0=0

其中,抽水蓄能水库为日调节,每天首末时段水库的库容相等,v24、v0分别表示24时和0时的水库的库容;

(3)发电、抽水功率约束:

式中:分别为抽水蓄能电站机组的发电出力上下限,ptg为t时段抽水蓄能电站机组的实际发电出力;

抽水功率的约束为:

ptd=pdkt

式中:ptd为t时段抽水蓄能电站单台机组的实际抽水功率,pd为抽水蓄能电站单台机组的额定抽水功率,kt为t时段运行的抽水机组总数;

(4)抽发互斥约束:

该约束表示同一时段下抽水蓄能电站机组不能同时处于发电和抽水状态,为t时段抽水蓄能电站机组是否处于发电态的标识,为t时段抽水蓄能电站机组是否处于电动机态的标识;

(5)机组总台数约束:

式中:为t时段处于工作状态的机组总数,n为抽水蓄能电站所有可用的机组总台数。

在一种实施方式中,s4中的sarsa(λ)算法在与模型无关的sarsa算法基础上,引入一个记录每个回合中走过的路径和衰减情况的e矩阵,以及步伐衰减系数λ,将sarsa算法的单步更新方式改为sarsa(λ)算法的回合更新方式。

具体来说,回合是指强化学习算法中从第一步开始到取得最终的reward(奖励)所经历的步数。

e矩阵:sarsa(λ)是一个回合更新的算法,引入矩阵e的作用是,用来保存在回合路径中所经历的每一步,即在每一个状态下选择了一个动作,对应的e矩阵中(状态,动作)位置处加1,e矩阵中元素的值越大,表明此步骤经历的次数越多,这一步在整合回合中的地位就越重要。e矩阵中即为效用迹函数e。

在一种实施方式中,sarsa(λ)算法在回合中,每走过一步,即当前状态下选择了一个动作后,效用迹函数e(s,a)对应的(s,a)位置处数值加1,且每次动作后均会对价值函数q(s,a)以及效用迹函数e(s,a)进行更新,q(s,a)更新方式如下:

其中,α为学习率,用于控制学习的收敛情况;γ为衰减因子,用以降低未来的回报对当前策略的影响;td误差δ表示q(s,a)的理想值与实际值的误差;

e(s,a)更新方式如下:

e(s,a)=γλe(s,a)。

具体来说,强化学习作为一种通过与环境不断交互来学习最佳策略的方法,除了agent和环境之外,强化学习系统有四个核心要素:策略、收益信号、价值函数以及(可选的)对环境建立的模型。策略定义了学习agent在特定时间的行为方式,它是环境状态到动作的映射。收益信号定义了强化学习问题中的目标,是改变策略的重要基础,它表明了在短时间内什么动作是好的。而价值函数则表示了从长远的角度看什么是好的,一个状态的价值是一个agent从这个状态开始,对将来累积的总收益期望。尽管收益决定了环境状态直接、即时、内在的吸引力,但价值表示了接下来所有可能状态的长期期望。若对所处的环境建立模型,则环境模型会被用于做规划,即在真正经历之前,先考虑未来可能发生的各种情境从而预先决定采取何种动作。使用环境模型和规划来解决强化学习问题的方法被称作有模型的方法。而简单的无模型的方法则是直接地试错,通过不断积累经验来选择最佳动作。强化学习过程如图3所示。

sarsa(λ)算法是一种与模型无关的多步时序差分在线控制算法,是传统sarsa算法的改进版。与sarsa算法相同,它的核心部分在于当前状态s、当前动作a、采取动作后获得的奖励r、采取动作后进入的下一个状态s、下一个状态采取的动作a。不同的是sarsa算法的更新方式属于单步更新,而sarsa(λ)算法属于回合更新方式,为了体现回合更新,sarsa(λ)算法引入了效用迹函数e(s,a)以及步伐衰减系数λ。效用迹函数e(s,a)用于记录每个回合中走过的路径和衰减情况。

请参见图2和图3,图2为马尔科夫决策过程图,图3为本发明强化学习示意图。

在一种实施方式中,sarsa(λ)算法迭代过程中采用贪婪策略来选取各个状态下的动作,具体为:随机生成一个0-1之间的小数,并将其与探索概率ε比较大小;若小于ε,系统采用随机的方式选取动作,每个动作被选取的概率相同;若不小于ε时,系统将选取当前状态下已知的最优动作,见下式:

式中,ai为状态s下已知的最优策略。

具体来说,sarsa(λ)算法流程总结如下:

input:

迭代次数t,状态集s,动作集a,学习率α,衰减因子γ,探索概率ε,步伐衰减系数λ。

start

随机初始化所有的状态和动作对应的价值q,初始阶段q值表内各元素都为0。

forifrom1tot:

a)初始化所有状态动作对应的效用迹函数e为0,初始化s为当前状态序列的第一个状态。设置a为ε-贪婪策略在当前s下选择的动作。

b)在状态s执行动作a后,得到新的状态s′和奖励r。

c)通过ε-贪婪策略选择状态s′下的a′。

d)更新效用迹函数e(s,a)和td误差δ:

e(s,a)=e(s,a)+1

δ=r+γq(s′,a′)-q(s,a)

e)对当前序列所有出现的状态s和对应的动作a,更新价值函数q(s,a)和效用迹函数e(s,a):

q(s,a)=q(s,a)+αδe(s,a)

e(s,a)=γλe(s,a)

f)s=s′,a=a′

g)判断是否达到迭代次数,若达到,则迭代完毕,否则转到步骤b)。

end

output:

q值表中所有的状态和动作对应的价值q。

算法流程中,为了保证动作价值函数q可以收敛,学习率α一般需要随着迭代的进行而逐渐减小。sarsa(λ)算法流程图如图4所示。

在一种实施方式中,s4具体包括:

s4.1:将电价历史数据、风电出力历史数据处理后投入风电-抽蓄联合系统日随机动态调度模型求解中进行预学习,通过预学习阶段不断的探索积累经验,更新q值表和效用迹函数e的元素值;

s4.2:根据预学习阶段得到的更新后的q值表和效用迹函数e的元素值,进行在线学习,根据贪婪策略来选择当前状态下q值最大的动作。

具体来说,sarsa(λ)算法的初始阶段q值表和效用迹函数e的元素值均为0,此时若直接投入在线学习中,初始迭代时需要进行大量的探索,每个状态下所选择的动作大多是随机的,并不是最优策略。因此在投入在线学习之前,先将电价历史数据、风电出力历史数据处理后投入模型求解中进行预学习。通过预学习阶段不断的探索积累经验,更新q值表和效用迹函数e的元素值,再投入到在线学习中,使得系统在初始阶段就基本具备给出最佳动作策略的能力。

预学习完毕后,投入在线学习中。此时的系统q值表内各元素基本更新完毕,各阶段下基本能给出较好的策略,此时的探索概率值应该较大,系统根据贪婪策略来选择当前状态下q值最大的动作。经过以上步骤,sarsa(λ)算法在风蓄联合系统日随机动态调度问题的求解中,既能够保证获得经济效益最大的高质量解,又能够有效的减少求解的时间,避免出现“维数灾”问题。

本发明所述的基于强化学习的sarsa(λ)算法在解决风蓄联合随机优化调度问题上,较传统优化方法有以下三个方面的改进:

其一:建立了以风蓄联合系统日内经济效益最大化为目标,考虑分时电价的风蓄联合系统日随机动态调度模型。

其二:通过引入强化学习理论,在学习系统与环境的不断交互下逐步提高系统的决策能力,保证价值函数q能够在较短的时间内收敛,解决了常规算法容易出现的“维数灾”问题。

其三:将回合制更新的sarsa(λ)算法应用到模型求解中,保证了高质量解的同时,缩短了求解的时间。

在一种实施方式中,s4.1具体包括:

s4.1.1:初始化q值表、效用迹函数e、迭代次数和学习率,sarsa(λ)算法初始阶段q值表内各元素都为0,所有状态动作对应的效用迹函数e为0;

s4.1.2:确定当前时段对应的上水库库容值为状态序列的第一个状态,由当前时段下的风电预测值以及服从beta分布的风电预测误差概率密度函数,求出当前时段的风电出力;

s4.1.3:确定当前时段抽水蓄能电站上水库的库容值所对应的状态s,并根据当前时段电价以及各时段的电价趋势,通过贪婪策略来选取抽水/发电动作,根据动作确定抽水蓄能电站上水库的抽水/发电流量;

s4.1.4:由状态转移方程得到采取动作后抽水蓄能电站下一时段的上水库库容所对应的新状态s′,以及采取此动作所获得的奖励r;

s4.1.5:求出下一时段风电出力;

s4.1.6:根据下一时段电价以及各时段的电价趋势,通过贪婪策略来选取新的抽水/发电动作;

s4.1.7:根据sarsa(λ)算法的更新方式更新迹函数e(s,a)和td误差δ;

s4.1.8:对当前所有时段对应的上水库库容状态s,以及抽水/发电流量a,更新价值函数q,并对s4.1.7中更新后的迹函数e进行衰减;

s4.1.9:判断算法是否达到指定的迭代次数,若未达到,则令时段t=t+1,返回s4.1.2继续进行迭代。

具体来说,将sarsa(λ)算法引入到模型求解中,确定模型的状态转移方程以及递推方程。状态变量的选择是至关重要的,它必须与所求的决策变量有着密切的联系,通过状态变量,能够很好的反应目标,同时还能得出决策变量的大小,更重要的是它应能够很好的反应整个递推过程中的递推过程,以满足“无后效性”的特征。

风蓄联合日随机动态调度问题是一个多阶段决策问题,采用强化学习的sarsa(λ)算法求解时,需要先将状态变量和决策变量进行离散处理。状态变量为抽水蓄能电站上水库的库容,将水位zi离散为从小到大的m个值,相应的库容为vi;决策变量为抽水蓄能电站采取的抽水/发电功率,单台机组的抽水功率为定值,可根据机组台数对抽水功率进行离散,发电功率可根据固定的功率间隔均匀离散。状态变量和决策变量确定后,即可得到状态转移方程如下:

式中,vt、vt+1分别为t时段初、末上水库的库容;qc为t时段的抽水流量,m3/s;qfd为t时段的发电流量,m3/s;δt为t时段进行发电/抽水的时间。

根据bellman原理,在某个状态下,最大化未来奖励相当于最大化即刻奖励与下一状态最大未来奖励之和,当各时段风电出力为独立随机变量时,可得递推方程:

式中:表示从第t个时段出发到第24个时段最大化经济效益的期望值;为第t个时段的经济效益值;为(t+1)~24个时段的最大化经济效益的期望值。

同一状态下,采取不同的决策(动作)所获得的奖励是不同的。在每个状态中,奖励值为:

rt=ct(ptw*+ptgd)-ghnt

请参见图5,为本发明sarsa(λ)算法在风蓄联合系统日随机动态调度中应用流程图,具体实施过程中,每个时段下的风电预测值是已知的,由调度中心根据风电历史数据得出,在前一天给出今天各时段的风电预测值,当前时段电价以及各时段的电价趋势是已知的,可由该地区每天各时段下历史电价趋势得出。s4.1.5中求解下一时段风电出力的方法与步骤s4.1.2相同。

本发明中所描述的具体实施的例子仅仅是对本发明的系统的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形(即采用类似的替代方式),但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。

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