【微电网】基于风光储能和需求响应的微电网日前经济调度(Python代码实现)

简介: 【微电网】基于风光储能和需求响应的微电网日前经济调度(Python代码实现)

 目录

1 概述

2 知识点及数学模型

3 算例实现

3.1算例介绍

3.2风光参与的模型求解

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

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

3.6 结果分析对比

4 Python代码及算例数据


1 概述

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

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

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

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

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

 

2 知识点及数学模型

基于风光储能和需求响应的微电网日前经济调度(Python代码实现)【0】

http://t.csdn.cn/HhgWG

3 算例实现

3.1算例介绍

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

image.gif

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

image.gif

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

image.gif        image.gif

3.2风光参与的模型求解

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

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

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

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

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

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

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

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

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

image.gif

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

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

3.6 结果分析对比

            image.gif

                   image.gif

                image.gif

                image.gif

image.gif

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

4 Python代码及算例数据

image.gif

链接:https://pan.baidu.com/s/19TZ8WUKeYivh8mylkO6fyw 

提取码:9jll

--来自百度网盘超级会员V3的分享


相关文章
|
3天前
|
数据安全/隐私保护 Python
Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。
【6月更文挑战第20天】Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。例如,`@simple_decorator` 包装`my_function`,在调用前后添加额外操作。装饰器还能接受参数,如`@logged("INFO", "msg")`,允许动态定制功能。
11 6
|
4天前
|
JavaScript Python
Python代码中的# -*- coding: gbk -*-
由于 Python 默认使用 ASCII 编码来解析源代码,因此如果源文件中包含了非 ASCII 编码的字符(比如中文字符),那么解释器就可能会抛出 SyntaxError 异常。加上# -*- coding: gbk -*-这样的注释语句可以告诉解释器当前源文件的字符编码格式是 GBK,从而避免源文件中文字符被错误地解析
14 6
|
4天前
|
编译器 索引 Python
Python常见异常类型说明及触发代码示例
开发过程中需要根据具体情况选择处理异常,并使用try-except语句来捕获并处理异常,从而保证程序的健壮性和稳定性。在Python中,异常是程序执行期间发生的错误或意外情况。当解释器遇到异常时,会停止程序的正常执行,并在控制台输出异常的相关信息。Python中有许多不同的异常类型,每个异常类型表示不同的错误或意外情况。OSError:操作系统产生的异常(例如打开一个不存在的文件)。AttributeError:尝试访问一个对象没有的属性。UnicodeError:Unicode相关的异常。
12 5
|
4天前
|
Python Windows
在 Windows 平台下打包 Python 多进程代码为 exe 文件的问题及解决方案
在使用 Python 进行多进程编程时,在 Windows 平台下可能会出现将代码打包为 exe 文件后无法正常运行的问题。这个问题主要是由于在 Windows 下创建新的进程需要复制父进程的内存空间,而 Python 多进程机制需要先完成父进程的初始化阶段后才能启动子进程,所以在这个过程中可能会出现错误。此外,由于没有显式导入 Python 解释器,也会导致 Python 解释器无法正常工作。为了解决这个问题,我们可以使用函数。
13 5
|
4天前
|
Python
Python列表推导式是一种简洁的创建新列表的方式,它允许你在一行代码中完成对数据的操作和转换
【6月更文挑战第19天】Python列表推导式是创建新列表的简洁语法,它在一行内处理数据。表达式如`[expr for item in iterable if cond]`,其中`expr`是对元素的操作,`item`来自`iterable`,`if cond`是可选过滤条件。例如,将数字列表平方:`[x**2 for x in numbers]`。嵌套列表推导处理复杂结构,如合并二维数组:`[[a+b for a,b in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]`。简洁但勿过度复杂化。
13 5
|
1天前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
4天前
|
测试技术 Python
Python教程:利用timeit模块对代码进行性能测试
在Python中,了解代码的性能是优化和改进的关键。timeit模块是Python标准库中的一个工具,用于测量代码片段的执行时间。本文将介绍timeit模块的各种接口、命令行使用方法以及如何对代码中的函数或类进行性能测试。
13 3
|
3天前
|
SQL Oracle 关系型数据库
Python连接数据库进行数据查询的操作代码
mysql数据库(mariadb) 连接数据库 首先,你需要使用MySQLdb.connect()函数建立与MySQL数据库的连接。你需要提供数据库服务器的地址(host),用户名(user),密码(passwd),以及你想要操作的数据库名称(db)。 创建Cursor对象 一旦建立了数据库连接,你可以使用连接对象的cursor()方法来创建一个cursor对象。这个方法返回一个cursor实例,你可以使用这个实例来执行SQL查询和命令。
|
4天前
|
IDE 前端开发 开发工具
怎么在isort Python 代码中的导入语句进行排序和格式化
`isort` 是一个Python工具,用于自动排序和格式化代码中的导入语句,提高代码整洁度和可读性。它支持自动排序、保留空白和注释、自定义排序规则、与多种编辑器集成以及命令行使用。安装`isort`可通过`pip install isort`,使用时可直接在Python代码中导入或通过命令行处理文件。示例展示了如何在代码中使用`isort`进行导入排序,包括基本排序、自定义设置和处理多个文件。`isort`适用于标准库、第三方库和自定义模块的导入排序,还可忽略特定导入,并能与IDE和编辑器插件集成,提升开发效率。
|
5天前
|
IDE 开发工具 开发者
isort——Python 代码中的导入语句进行排序和格式化
isort,全称是 "Import Sorting",是一个 Python 工具,用来对 Python 代码中的导入语句进行排序和格式化。它可以帮助我们按照一定的规则对导入的模块进行排序,使得代码更加整洁,易于阅读和维护。