首页 > 编程语言 >基于粒子群优化算法的计及需求响应的风光储能微电网日前经济调度(Python代码实现)

基于粒子群优化算法的计及需求响应的风光储能微电网日前经济调度(Python代码实现)

时间:2025-01-16 19:59:09浏览次数:3  
标签:需求 风光 响应 Python 计及 电网 储能 负荷

目录

0 引言

1 计及风光储能和需求响应的微电网日前经济调度模型

1.1风光储能需求响应都不参与的模型

1.2风光参与的模型

1.3风光和储能参与模型

1.4 风光和需求响应参与模型

1.5 风光储能和需求响应都参与模型 

2 需求侧响应评价

2.1  负载率

2.2 可再生能源消纳率

2.3 用户舒适度

2.4 日最高负荷与日最高-最低负荷比率

3 算例实现

3.1算例介绍

3.2风光参与的模型求解

3.3 风光和储能参与的模型求解

3.5 风光储能和需求响应都参与模型求解

3.6 结果分析对比 

4 Python代码及算例数据


摘要:以实现经济性最优为目标,在得到新能源出力、负荷出力的日前预测上,考虑电网侧的实时电价。对风光储能需求响应都不参与、风光参与、风光和储能参与、风光和需求响应参与、风光储能和需求响应都参与五种调度方案进行探讨。对于需求响应调度,首先基于价格伸缩系数法的价格型需求响应,再加入激励型需求响应调度。对比各种调度情况下负载系数、新能源消纳率及用户舒适度。得到各种方案的供电构成图和供电成本,实验结果表明:风光储能和需求响应都参与微电网经济调度降低微电网的运行成本,并起到很好的消峰填谷的作用。

关键词:实时电价、风机、光伏、储能、需求响应、微电网经济调度


0 引言

近年来,微电网、清洁能源等已成为全球关注的热点。清洁能源在我国可持续发展战略中具有日益重要的地位,政府、企业、学术界均在清洁能源技术及其评价上做了大量工作[1]。

 微电网(Micro-Grid)日前经济调度问题是指考虑电网的分时电价基础上,对常规负荷、光伏出力、风机出力进行日前(未来 24 小时)预测,然后充分利用微网中的储能等可调控手段,使微电网运行的经济性最优[2-5]。

需求响应是电力需求侧管理在电力市场中的最新发展[6]。

 众多学者对此做了大量研究,文献[7]在考虑电价与负荷响应量相关性的基础上,建立了以运行成本最低、可再生能源消纳比例最高和用户满意度最好为目标的日前调度模型。文献[8]考虑风电功率以及可再生能源停运的不确定性,提出一种考虑风险的微电网日前随机优化调度方法。文献[9]以运行成本最小为优化目标、同时考虑储能,提出了一种微电网日前调度调度模型。文献[10]针对微电网新能源出力不确定的问题,提出了考虑电价激励需求响应下微电网日前优化调度方法。文献[11]以提高供电可靠性和能源利润为目的,构建考虑激励型DR和电池储能的优化模型,算例分析了激励型DR和电池储能对微网可靠性与盈利能力的影响。

本文以微电网风光、储能、与主网交换成本、需求侧响应成本为目标函数,考虑功率平衡约束、设备约束以及系统规划约束条件对此微电网进行优化调度,并通过峰值消减指数、可再生能源消纳率以及用户舒适度三个需求侧响应指标来量化需求侧响应效益。在允许微电网与主网进行功率交互的前提下,研究了微电网在不同情况下的调度方法。最后,通过实际算例分析了各种情况下的微电网经济优化及峰谷差最小运行方案。


1 计及风光储能和需求响应的微电网日前经济调度模型

1.1风光储能需求响应都不参与的模型

微网中储能和需求响应不作用,微电网与电网交换功率无约束,且无可再生能源,所以微电网中所需的电量只能从主网购买。这时候只需要满足功率平衡约束即可。

目标函数见式子(1)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

1.2风光参与的模型

若较负荷所需功率不足,不足部分向主网购买;若剩余,则剩余部分售卖给主网。光伏和风机可以舍弃部分。同时微电网与主网交换功率有约束。则目标函数见式子(3):

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

1.3风光和储能参与模型

蓄电池的荷电状态应满足上下限约束,同时蓄电池的单位时间蓄电池充放电功率也有上下限。微电网与主网功率交换有约束,风光可以部分舍弃。在此种情况下:目标函数见式子(5)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

1.4 风光和需求响应参与模型

1.4.1 基于价格型需求响应

在经济学领域,通常采用价格伸缩系数来描述商品的需求对于价格敏感程度[12]。

客户用电量与电价之间的关系采用电价伸缩系数\xi来表示。\xi可以定义为客户用电量波动率与价格波动率的比值,如式(7):

1.4.2 基于激励型的需求响应

负荷可分为可控负荷和不可控负荷,不可控负荷为一些基础性用电设备,如照明用电、通信用电等,在调度时段内优先满足其供电;可控负荷为一些用电时段具有一定灵活性的用电设备,如洗衣机、可定时电饭煲等,在调度时段内采用激励型需求响应直接控制方式进行负荷转移,并给予补偿。

本文所研究的需求侧响应模型主要是以可控制负荷为研究对象。

可转移负荷主要是根据供需双方事先签订好的协议,由调度中心向用户发出信号,将用电高峰时期的某些比较灵活的负荷转移到用电低谷期或者新能源出力的高峰期,经过用户的响应之后,主动转移部分负荷。[15]

目标函数为式子(13)

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.5 风光储能和需求响应都参与模型 


2 需求侧响应评价

电力需求侧响应是通过改变用户用电方式、提高终端用电效率等手段对终端电能使用进行控制,在满足用户电能使用效用的同时降低电力消耗微电网优化调度的主要目标是消减高峰负荷同时提高新能源消纳率。[16]因此可以提出三个指标来量化需求侧响应结果。

2.1  负载率

需求侧管理如果合理规划,可以减少一些高峰时段负荷,从而减轻操作员的压力。负载率可表示为:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.2 可再生能源消纳率

需求侧管理如果合理规划,可以在可再生能源出力峰值时刻多转移一些负荷来消纳风光等能源,所以可再在能源的消纳率应该会增加可再生能源消纳率指数M_{rei}可表示为:

2.3 用户舒适度

用户各时段的用电量同用户的舒适度密切相关,一般来讲,考虑到用户对电价的自适应性,可以认为,在相对稳定的电价水平下,用户将会自主选择其舒适度最大的用电方式需求侧响应的投人会改变系统中负荷结构,使用户舒适度降低.因此用户舒适度也是需求侧响应的一个评价指标,其可表示为:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

2.4 日最高负荷与日最高-最低负荷比率

对于微电网电网而言,如果在其允许的范围内峰值负荷过大,会导致其转带备用容量不足,负荷波动率较高,容易影响该配电网的稳定性 。同时, 通过柯西-施瓦茨不等式证明了网损与最高-最低负荷比率成正比,即日内负荷的峰谷差越小,系统线损率越低。可见,缩小电网的高低负荷比率能够有效降低网损,提高系统负荷率,从而提升设备利用率。

因为这两指标可以从直观上判断出系统的供电能力,故也可以定义这两个规模目标为系统的显性供电能力,其值越小,系统的显性供电能力越好。日最高负荷与日最高-最低负荷比率如式(2.4.1):

3 算例实现

3.1算例介绍

一个含有风机、光伏、蓄电池以及负荷的微电网系统见示意图3.1。

风机的装机容量360kW,单位运维成本0.52元/kWh。光伏的装机容量 260kW,单位运维成本0.75元/kWh。蓄电池额定容量为700kWh,电池 SOC 运行范围 为[0.4,0.9],初始 SOC 值为 0.4,由充电至放电成本为 0.1 元/kWh,1个小时充放电功率最大为储能的20%。微网与主网允许交换功率不超过 200kW。一天的售电和购电价格见表1。

风机出力、光伏出力、常规负荷日前(未来 24 小时)预测见图2,新能源预测出力和净负荷,净负荷表示的是风机、光伏满足负荷后的剩余功率,如图3所示。

         

3.2风光参与的模型求解

在无风光情况下:微电网所需功率全部来自主网,功率等于负荷,在已知负荷和分时电价情况下,可以直接相乘求解。但是由图7我们可以看出,超过了微网与主网交换功率限额。

在有风光参与的情况下,由于风机功率、光伏功率、微电网与主网交换功率都是可变的,故直接相乘得不到结果,通过粒子群算法求解。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.3 风光和储能参与的模型求解

要尽量满足用户负荷需求要,我们考虑未满足负荷用电量和,并与系统运行成本取权重作为新的目标函数。

通过制定策略:风力发电成本最低,所以对于可再生能源发电,优先发风机。然后我们采用允许弃风、弃光的方法,得到可再生能源的最优出力后,若较负荷所需功率不足,则由主网供电。还对风、光、储能和主网出力越限做了惩罚项处理。

3.4 风光和需求响应参与模型求解

对于需求响应参与的模型,我们先对负荷进行K-Means聚类算法,把负荷分为高峰、平段、低谷三个时段,如表2所示。通过1.4.1节的基于价格型需求策略得到需求响应后的负荷P',然后在调度时段内再采用激励型需求响应直接控制方式进行负荷转移,并给予补偿。

这里的出力策略和风光和储能参与的模型求解的策略方法一样,把储能出力换成可转入转出负荷。

 

3.5 风光储能和需求响应都参与模型求解

通过把3.3节和3.4节结合起来,得到如下风光储能和需求响应都参与模型

3.6 结果分析对比 

             

                    

                 

                 

由图7-12可以看出,当只有风光参与供电的模型负荷缺额量很大,当加入储能后负荷缺额量降低了很多。在只考虑风光和需求响应时【电价型】可以很明显的看出,很好的起到了消峰填谷的作用。在风光储能和需求响应都参与的模型中,各方面的效果都有很大改善,如表3-7所示。

可视化结果:

4 Python代码及算例数据

标签:需求,风光,响应,Python,计及,电网,储能,负荷
From: https://blog.csdn.net/q216605q/article/details/145141498

相关文章

  • python中的列表和元组
    列表(List)可变性:列表是可变的(mutable),这意味着你可以在创建列表后添加、删除或更改其中的元素。定义方式:使用方括号[]来定义一个列表my_list=[1,2,3,"apple","banana"]操作:可以对列表执行多种操作,如追加、插入、删除等。追加元素:my_list.append(4)插入元素:my_list.ins......
  • 使用 Python 实现验证码自动识别
    验证码在防止自动化攻击中扮演了重要角色,而使用OCR(光学字符识别)技术可以实现对验证码内容的自动解析和提取。在本文中,我们将使用Python结合TesseractOCR来完成英文数字验证码的识别任务。环境配置安装Python和依赖库首先,确保您已经安装了Python。若尚未安装,请访问Pyt......
  • 使用 Python 实现验证码识别的简单教程
    验证码是用于验证用户是否为机器人的重要工具。在本教程中,我们将利用Python和TesseractOCR引擎编写一个程序,用于识别英文和数字组成的验证码。通过适当的图像预处理,我们可以有效地提高识别的准确性。环境配置更多内容访问ttocr.com或联系1436423940安装Python和必需库......
  • 用 Python 实现验证码文本识别
    在本文中,我们将使用Python和TesseractOCR引擎,编写一个程序来识别英文数字验证码的内容。通过图像处理技术和光学字符识别(OCR),我们可以快速提取验证码中的文本。环境准备安装Python和依赖库确保已安装Python。如果尚未安装,可以访问Python官网进行下载和安装。接着,我们......
  • Python九九乘法表(for循环和while循环)
    运行结果样例:for循环:foriinrange(1,10):forjinrange(1,i+1):print(f"{i}*{j}={i*j}\t",end='')print()具体解释如下:这是一个嵌套的 for 循环。对于 i 的每一个值,都有一个新的 for 循环。range(1,i+1) 创建了一个新的整数序列,该序列从1......
  • 使用python+pytest+requests完成自动化接口测试(包括html报告的生成和日志记录以及层级
    一、API的选择我们进行接口测试需要API文档和系统,我们选择JSONPlaceholder免费API,因为它是一个非常适合进行接口测试、API测试和学习的工具。它免费、易于使用、无需认证,能够快速帮助开发者模拟常见的接口操作(增、删、改、查)。尤其对于我你们学习接口测试的初学开发者来说,它......
  • 尝试用GO给python写共享库
    背景就突发奇想,Go的效率相对来说高一些,那我们可不可以用Go来给python写关键处理库呢查了下,还真可以实现,只是障碍比较多,而且使用起来也比较麻烦,但是也还是能实现的解决用Go编写Python库可以通过Cgo或C共享库的方式实现。Go代码可以被编译为C兼容的共享库(.so或.dl......
  • Python时间序列分析:使用TSFresh进行自动化特征提取
    TSFresh(基于可扩展假设检验的时间序列特征提取)是一个专门用于时间序列数据特征自动提取的框架。该框架提取的特征可直接应用于分类、回归和异常检测等机器学习任务。TSFresh通过自动化特征工程流程,显著提升了时间序列分析的效率。自动化特征提取过程涉及处理数百个统计特征,包括均......
  • SQL中的。和python中的。的区别。让你彻底明白 。
    SELECTsale_order.name,SUM(sale_order_line.price_total)astotal_amountFROMsale_orderJOINsale_order_lineASsale_order_lineONsale_order.id=sale_order_line.order_idGROUPBYsale_order.id像上面的语句中,sale_order.name为什么这个可以.name能像python那......
  • 面向对象分析与设计Python版 控制器与多态原则
    文章目录一、控制器原则二、多态原则一、控制器原则控制器原则名称:控制器Controller应用场景:确定谁负责接收、处理和分发系统的输入事件。解决方案:系统输入事件处理的职责分给控制器对象一个控制器对象实现业务系统的所有输入事件处理和业务逻辑分发,这一类控制器......