周国亮,李 刚
1.国网冀北电力有限公司 技能培训中心,河北 保定 071051
2.华北电力大学 控制与计算机工程学院,河北 保定 071003
虚拟电厂(Virtual Power Plant,VPP)是未来能源互联网的重要形式之一,是利用先进信息通信技术,实现分布式能源、储能系统、可控负荷、电动汽车等DERs(Distributed Energy Resources)的聚合和协调优化,以作为一个特殊电厂参与电力市场和电网运行的电源协调管理系统,被认为是能源互联网的终极组态[1]。虚拟电厂将多种DERs聚合在一起,实现其整体出力的稳定可靠,为电网提供高效的电能,从而保证并网的稳定性和安全性。虚拟电厂依据运行控制模式可分为集中式、集中-分散式和完全分散式三种[2],其中集中式架构不仅对通信系统具有较高的要求,而且难以应对众多“安装即忘记(fit and forget)”分布式能源的管理,因此为更好地实现DERs的管理,虚拟电厂的调度策略从传统集中式向分布式转换[3],分散型虚拟电厂获得了更多关注,其具有更好的可扩展性和开放性。在分散型虚拟电厂中,通常利用多智能体技术实现DERs的分布式通信,通过智能体与邻居节点之间的信息交互,实现自我调节,并最终趋向于一致性变量[4-5]。但多智能体技术由于无法高效准确获取全局信息,需要通过不断迭代逼近一致性结果,存在计算不够准确和效率偏低等问题。
以多智能体一致性理论为基础的电力系统分散协同模式和当前主流区块链技术的理念高度一致,为基于区块链的分布式能源系统架构设计提供了良好的理论和实践基础[6]。区块链有望成为能源互联网信息基础架构的核心部分之一,相关学者研究了区块链技术在配电网去中心化交易机制[7]、自动需求响应系统[8]、能源互联网多模块协同自治模式[9]、配电网电力交易[10]等领域的应用。区块链与分散式虚拟电厂在去中心化、分散协同、区域自治等方面相吻合,比如在分散式虚拟电厂中没有中心控制机构,各DERs通过直接数据交换获取全局信息,然后自主完成本节点的调控运行。基于区块链共识机制,实现单元间高效的分布式通信,利用数据广播、信息交互,进而达到各单元运行特性的一致性,因此应用区块链共识机制实现分布式调度策略及虚拟电厂最优运行具有可行性。
针对区块链在虚拟电厂中应用,文献[11]展望了区块链技术在虚拟电厂中的应用前景,分析了区块链技术应用于虚拟电厂的可行性,构建了区块链技术应用于虚拟电厂的模型。文献[12]基于能源区块链网络实现了虚拟电厂运行与调度模型,模型可准确反映需求侧实时信息,有助于VPP进行环境友好、信息透明的稳定调度,并提高了系统的数据安全性和存储安全性。文献[13]针对以实时电价为驱动的能源互联网,结合区块链安全、透明、去中心化等特性,建立基于区块链的虚拟电厂模型。区块链根据应用场景划分为公有链、联盟链和私有链,上述研究基于公有链开展,而虚拟电厂由多个不同主体构成,采用联盟链及相关技术更为合适。
国内外机构也开始探索基于区块链的虚拟电厂实践,美国通用电气公司(GE)利用区块链构建虚拟发电厂,将IBM开发的区块链平台Hyperledger集成到公司的Predix平台中,用区块链控制分布式发电厂,也是为了应对大型中央发电厂向分布式发电转变的发展趋势。日本电子零组件大厂京瓷(Kyocera)进行区块链技术的虚拟电厂实验,基于P2P交易平台,将太阳能发电设备的电力,在各用户间有效分配。在国内,国家电网有限公司利用自主研发的区块链平台开展分布式能源交易,该平台后续将应用到能效管理、绿证、碳交易、虚拟电厂等应用场景。
综上所述,本文针对完全分散型虚拟电厂,基于其与区块链在去中心化、点对点交互和分散协同等方面的一致性,提出利用区块链技术实现虚拟电厂分布式调度,结合等耗量微增率准则,将微增量特征作为一致性变量,实现虚拟电厂的最优经济调度。结合区块链共识算法,每个分布式能源节点独立计算各个机组的新功率,并将新功率数据上链存储,同时保持微增量特征全局一致性,实现负荷在机组间的合理分配。
本文以有功功率负荷最优分配为例开展,所谓最优分配是在满足一定量负荷持续供电的前提下,使发电设备在产生电能的过程中单位时间内消耗的能源最少,通常采用“等耗量微增率准则”在机组间分配负荷[14]。为简化描述,采用不计网损的有功最优分配方案。
假设有DERs中的发电机组成本函数为二次型,用Fi(Pi)表示成本函数,实现VPP最小发电成本为:
其中,n表示VPP中DERs机组的个数,Pi表示机组i的输出功率,VPP的总成本记为F,Fi(Pi),ai、bi和ci表示成本函数的系数。
VPP内部的所有DERs机组在运行时满足整个系统的有功功率平衡,不考虑网损的情况下,即有:
PLD表示所有用户的负荷总需求量。
依据“等耗量微增率准则”在机组间分配负荷,当达到最优运行时,所有机组的微增量特征λ一致,λ可以用一阶微分计算得到,即:
因此,可以将λ作为区块链中各节点间的一致性变量,随着负荷的变化进行调整,但全网保持一致。
依据区块链所服务对象的不同,一般区块链划分为:公有链、私有链和联盟链。公有链对所有用户开放,节点可以随意进出;私有链由单个组织控制,只对本单位开放;联盟链介于公有链和私有链之间,对一个特定的行业组织开放,且要求每个新加入的节点都需要经过验证和审核。联盟链可以适应包含少量故障或作恶节点的情况,具有一定容错特性。
一般不同类型的区块链采用不同的共识机制,拜占庭容错(Byzantine Fault Tolerance,BFT)是区块链共识算法中需要解决的核心问题之一。比特币的POW和以太坊的POS等是公有链算法,解决的是包括众多共识节点情况下的BFT。而实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)是在联盟链共识节点较少的情况下BFT的一种解决方案。相较于公有链的POW、POS等,PBFT采用各个节点投票来达成共识的机制,可以解决分叉问题并提升效率。PBFT的运行环境要求是一个相对封闭的集群,每一次共识需要多次两两节点进行通信,通信量是O(n2),n是集群中节点的个数。PBFT适合行业、政府等主导的联盟链,是节点数量有限且不需要虚拟货币激励机制系统的理想选择。基于虚拟电厂的运行特性,本文选择联盟链,并采用PBFT共识算法。
PBFT算法前提是通过密码学技术保证节点之间的消息通信是不可篡改的。PBFT具有一定容错特性,假设系统中的总节点数为:|n|=3f+1,f为PBFT容忍故障或者恶意节点数,也就是为了保障整个系统正常运转,需要有2f+1个正常节点。PBFT执行过程包括三个阶段:预准备(pre-prepare)、准备(prepare)和确认(commit),通过三阶段执行方式保证一致性。联盟链中,经典的代表项目是IBM Hyperledger组织下的Fabric项目,Fabric0.6版本使用PBFT算法。
表1 多智能体与区块链技术的异同点
多智能体技术是分布式人工智能的重要分支,是20世纪末至21世纪初国际上人工智能的前沿学科,其研究的目的在于采用自底向上的方式解决大型、复杂的现实问题。多智能体技术具有自主性、分布性、协调性等特征,可实现系统的自组织、自学习及推理能力。当采用多智能体技术解决实际应用问题时,具有鲁棒性、可靠性和较高的问题求解效率,在能源电力行业获得了广泛应用和研究,如实现能源互联网的优化控制策略[15]、交流微网电流保护[16]、电力市场环境下的电源规划[17]等。
但多智能体技术在20世纪提出,受当时的设备存储能力和网络通信带宽限制,其采用智能体和邻居节点之间的不断迭代方式去逼近最优解或最终所有智能体达到近似一致性。随着近年来理念与多智能体技术相近的区块链技术出现,为类似问题提供了更高效解决方案。随着硬件设备存储容量的提高,在每个节点中可以存储更多的数据,如果只存储关键数据,可以适应更大规模系统数据存储需求;另外网络环境及带宽有了极大改善,随着5G等的普及,带宽及通信延迟对系统的影响将越来越小。这样每个节点可以存储全网关键数据,并通过共识机制和智能合约更新数据,实现全网数据一致,从而获取整体全景数据,为每个节点单独决策提供准确数据依据,并尽而不用迭代逼近,可以通过计算直接获取。
以多智能体一致性理论为基础的电力系统分散协同模式和当前主流区块链技术的理念高度一致,为基于区块链的分布式能源系统架构设计提供了良好的理论和实践基础,区块链系统中每个节点都可以认为是分布式系统中的一个自主和自治的智能体,区块链的工作模式是基于智能体之间谈判、协调与协作的去中心化共识算法,其管理规则是智能合约。表1比较了多智能体与区块链技术的异同点。
完全分散结构的虚拟电厂,不存在中心化的控制机构,各发电和用电单元通过直接交互和多次迭代最终完成决策过程。与分散型虚拟电厂理念相似,在区块链中不存在中心化的节点,任意节点的权利和义务平等,系统中的数据由整个系统中具有维护功能的节点来共同管理,且任一节点停止工作都不会影响系统整体的工作。基于双方理念和需求的一致性,使区块链有望成为构建分散型虚拟电厂的底层架构之一,实现虚拟电厂的调控运行。虚拟电厂与区块链技术的特性比较如表2所示。
基于区块链与虚拟电厂特性的吻合,可以利用区块链构建分散型虚拟电厂的底层信息架构。各DERs组成区块链网络,可实现点对点通信;利用共识机制,计算一致性变量;通过智能合约执行控制决策。具体结构如图1所示。
表2 区块链与虚拟电厂特性比较
图1 基于区块链的虚拟电厂信息架构
如图1所示,由物理的能量传输网和区块链信息网组成,其中能量网负责电力传输,连接各个DERs。每个DERs单元对应区块链信息网络中一个节点,区块链节点与DER之间可以传输数据和控制信号,节点与节点之间组成点对点网络。整个虚拟电厂的调控策略由区块链网络计算,并下发物理网络执行。
依据经济调度“等耗量微增率准则”在机组间分配负荷,当达到最优运行配置时,所有机组的微增量特征λ值相等,因此选择λ为区块链平台的状态信息,通过共识机制完成计算,并保持一致性。
依据区块链数据存储特点,每个节点保存一份完整全局状态数据备份,并与其他节点数据保持同步。依据调度策略,每个发电机组需要保存全网中所有机组的功率信息Pi(单位:kW)和对应机组的成本函数系数(ai,bi,ci),通常成本函数保持不便,每次功率调整后新的功率上链存储。利用区块链技术使每个机组可以准确获取全局状态信息。每个节点的数据存储结构大致如图2所示。
图2 上链存储的数据
依据PBFT共识执行过程,结合等耗量微增率准则,分布式调度计算过程如图3所示。当负荷总需求发生变化后,将功率调整需求广播到所有机组,经过PBFT共识,每个机组单独计算新的功率和λ,并调整机组功率和广播λ。同时将所有机组新的功率上链存储,以备下次调整应用。
图3 分布式计算
具体流程如下:
(1)当总负荷发生变化,激活主节点DER1的功率计算请求操作,主节点选取按照PBFT约定算法规则完成。
(2)主节点收到请求后,按照三阶段协议规则向网络内各DERs节点广播请求。
首先是序号分配阶段,主节点给请求赋值序号,不同请求具有不同的赋值序号,利用序号和请求操作构造pre-prepare消息,并广播给各DERs节点,在本阶段将总的变化负荷PLD和功率计算请求发送到各节点。
然后是交互阶段,各DERs节点接收pre-prepare消息,每个节点向其他DERs节点广播prepare消息;如果节点收到了2f个不同节点的消息,代表该节点的prepare阶段已经完成,至此每个节点得到了变化后总的负荷PLD,具备计算新功率的条件。
最后是序号确认阶段,各节点对视图内的请求和次序进行验证后,如果节点收到了2f+1个commit提交消息,代表大多数节点已经进入commit阶段,这一阶段已达成共识。于是节点会执行请求,运行结果。下面以区块链中第i个节点的计算过程为例,说明按等耗量微增率准则的功率分配计算过程。
依据分布式调度准则,要求所有节点λ一致,即满足公式(4):
将公式(5)代入公式(2),得到公式(6):
由于PLD已知,可计算得到DERsi新功率的,然后将代入公式(5),得到所有节点新的功率值,并将新的值更新到区块链中;同时计算λ值,并将其发送给任务发起节点;驱动DERs机组按照新的功率值工作。
(3)任务发起者接收来自不同的节点响应,若有2f+1个响应λ值相等,则该响应即为本次请求计算的结果,是全网一致性变量,本次分布式功率分配调整完成,实现最优经济调度。
由于分布式能源存在随时加入和退出的问题,当有新的节点加入时,节点广播自身参数及当前功率值,请求完成新节点加入和功率再分配操作。基于PBFT机制,每个节点将新节点参数添加到链上存储,同时基于准则调整功率,保证系统运行在最优状态。当有节点退出时,采用类似操作更新链上数据和调整功率。
为验证本文所提算法的有效性,通过实验进行仿真验证。假设在某VPP系统内分散了四个DERs,类型为微型燃气发电机(Micro Gas Generators,MGGs),MGGs通过区块链网络连接,每个MGG是网络中的一个节点,并假设该网络存在一定网络延时,但保证点对点直接通信。机组的运行参数和初始功率如表3所示[18]。
存在网络时延的情况下,测试一致性变量λ的变化情况。从图4可知,在初始t=1时刻,各机组的λ值不同,不满足等耗量微增率准则,系统没有运行在最优状态。通过一次PBFT共识后,在t=8时刻λ变量达到一致,系统达到最优运行状态。
表3 机组的运行参数和初始功率
图4 微增量特征λ值的变化情况
图5 展示了在共识过程中,总负荷功率PLD与机组发电总功率sum(Pi)的对比,从图中可以发现由于网络延时和共识计算造成的系统波动,但最终达到了功率平衡。
图5 负荷总功率和发电总功率对比
图6 展示了各个MGGs机组的有功功率调整情况,最终功率值稳定在最优运行状态。
图6 各机组功率变化情况
虚拟电厂将是未来能源互联网的终极形态之一,实现更大范围内的资源优化配置,促进分布式能源的消纳。针对分散型虚拟电厂的优化运行,采用等耗量微增率准则,结合分布式、去中心化、自治的区块链技术,实现虚拟电厂的完全分布式运行控制,并对通信、节点故障等因素具有一定的容错能力,提升了虚拟电厂的安全等级。后续将进一步探讨区块链与虚拟电厂的深度融合技术,研究针对更多种DERs特性和运行环境的优化运行,实现虚拟的优化调度运行,促进可再生能源的吸纳。