基于双层优化的微电网系统规划设计方法(Matlab代码实现)

目录

💥1 概述

1.1 微电网系统结构

1.2 微电网系统双层规划设计结构

1.3 双层优化模型 

1.4 上层容量优化模型

1.5 下层调度优化模型 

📚2 运行结果

🎉3 文献来源

🌈4 Matlab代码、数据、文章讲解


💥1 概述

文献来源:

 摘要:规划设计是微电网系统核心技术体系之一。从分布式电源的综合优化(组合优化、容量优化)和分布式电源间的调度优化两个方面对其展开研究。根据分布式电源特性,提出了适用于并网型微电网系统和独立型微电网系统的双层优化规划设计模型。上层优化采用综合目标计算系统最优配置;下层优化采用混合整数线性规划算法(MILP)计算系统最优运行方案。运用所建立模型,分别针对并网型和独立型微电网系统作了案例计算,验证了所提方法的正确性。 

关键词:微电网;双层优化;规划设计;最优配置;MILP;

微电网系统可将多种类型的分布式发电单元组合在一起,有效发挥单一能源系统的优点,实现多

种能源互补,提高整个微电网系统的效率、能源利用率和供电可靠性。根据其是否与常规电网相连接,微电网可以分为并网型微电网和独立型微电网[1]。微电网接入配电网并网运行,不仅可以充分利用微电网内部的绿色可再生能源,还可以提高整个电网的安全性,是中国建成智能电网的重要环节。同时,独立型微电网系统是解决偏远地区和海岛供电的有效手段之一[2-3]。

规划设计是微电网系统核心技术体系之一,它直接关系到系统经济性、环保性和可靠性[4]。在规

划设计的过程中,需要考虑可再生能源的间歇性、灵活多变的系统组合方案和不同系统运行控制策

略,这些因素的存在使微电网系统优化规划变得较为复杂[5-7]。本文将从分布式电源的综合优化(优化组合、优化容量)和分布式电源间的优化调度两个方面出发,对微电网系统优化规划展开研究。围绕微电网系统的优化规划,很多学者已对其开展了一定研究,提出一系列运行控制策略和优化规划方法。微电网系统运行控制策略可分为固定策略和优化策略,固定策略以事先拟定的优先级制定系统运行规则,优化策略则根据相应目标函数求解系统最优运行规则[8]。在美国国家新能源实验室(NERL)开发的 Hybrid2[9]仿真软件中,提出十几种独立微电网系统固定运行策略,包括平滑功率策略(Traditional Power Smoothing, TPS)、硬充电策略(Hard Cycle Charge, HCC)等,较为全面地概括了独立微电网系统固定策略控制模式。在该软件中所提出的硬充电策略的基础上,文献[10]提出了一种适用于风光柴储独立微电网系统的修正硬充电策略,可有效延长蓄电池使用寿命。在微电网系统的优化调度方面,通常选取系统调度周期内运行费用最小为优化目标,文献[11-12]研究了独立微电网系统的优化调度方法,文献[13]提出了并网型风光柴微电网系统的微电网动态经济调度模型。

1.1 微电网系统结构

本文研究的微电网系统结构如图1所示。风力发电机、光伏发电和储能系统等通过各自的变流器接

入交流微电网系统,并通过公共连接点(PCC)与配电网连接,组成并网型微电网。通过对该微电网的控制,可实现微电网的孤岛和并网运行。柴油发电机采用同步发电机发电,直接并入交流微电网。在优化规划设计中,忽略线路阻抗引起的损耗。

1.2 微电网系统双层规划设计结构

本文采用双层优化规划方法对微电网系统进行优化,上层为容量优化模块,用于寻找系统最优

配置,包括系统各设备类型、台数和容量,下层为调度优化模块,用于计算系统最优运行方案。

双层优化含有两个层次,上层决策结果一般会影响下层目标和约束条件,而下层则将决策结果反

馈给上层,从而实现上下层决策的相互作用,如图2 所示为本文双层优化逻辑图。

 

1.3 双层优化模型 

Bracken J 和 McGill J T 于 1973 年最早提出了多层规划的概念,已解决多层规划/优化问题,双层

规划是多层规划的特例。双层规划在输电系统、无功优化、配电系统优化规划等领域已有研究报道。数学上双层优化可描述为

                      \begin{array}{l} \left\{\begin{array}{l} J_{1}=\min _{x} F\left(x, y_{1}, y_{2}, \cdots, y_{m}\right) \\ \text { s.t. } \quad G(x) \leq 0 \end{array}\right. \\ \end{array}

                     \left\{\begin{array}{ll} J_{2}=\min _{y} f\left(x, y_{1}, y_{2}, \cdots, y_{m}\right) \\ \text { s.t. } g\left(x, y_{1}, y_{2}, \cdots, y_{m}\right) \leq 0 \end{array}\right.

式中:F()为上层优化的目标函数;x 为上层优化的决策向量;G()为上层优化所需满足的约束条件;f()为下层优化的目标函数;y 为下层优化的决策向量;g()为下层优化所需满足的约束条件。

1.4 上层容量优化模型

1.5 下层调度优化模型 

📚2 运行结果

 

 

 

 

🎉3 文献来源

部分理论来源于网络,如有侵权请联系删除。

[1]刘振国,胡亚平,陈炯聪,余南华.基于双层优化的微电网系统规划设计方法[J].电力系统保护与控制,2015,43(08):124-133.

🌈4 Matlab代码、数据、文章讲解

链接:https://pan.baidu.com/s/1eorVkxp6YZ6jpO5id-Ot8A 
提取码:p7jv 
--来自百度网盘超级会员V3的分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/53583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL:MHA高可用集群部署及故障切换

目录 一、MHA概述 1、什么是MHA 2、MHA 的组成 3、MHA 的特点 4、MHA的工作原理 二、搭建MHA环境 主 从 manager 一、MHA概述 1、什么是MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现…

消息中间件ActiveMQ介绍

一、消息中间件的介绍 介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。 特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点&a…

Android adb shell 查看App内存(java堆内存/vss虚拟内存/详细的内存状况/内存快照hprof)和系统可用内存

1.adb shell 获取app 进程的pid adb shell "ps|grep com.xxx包名"根据某个渠道包,去查询对应的pid,如下所示: 2.通过adb shell 查看设备的java dalvik 堆内存的最大值 执行命令行: adb shell getprop dalvik.vm.h…

【RabbitMQ】之消息的可靠性方案

目录 一、数据丢失场景二、数据可靠性方案 1、生产者丢失消息解决方案2、MQ 队列丢失消息解决方案3、消费者丢失消息解决方案 一、数据丢失场景 MQ 消息数据完整的链路为:从 Producer 发送消息到 RabbitMQ 服务器中,再由 Broker 服务的 Exchange 根据…

微服务项目,maven无法加载其他服务依赖

微服务项目,导入了工具类工程,但是一直报错,没有该类, 检查maven 这里的Maven的版本与idea版本不匹配可能是导致依赖加载失败的最重要原因 检查maven配置,我这是原来的maven,home 修改之后,就不报错了

python文件处理方式

python文件处理方式 file open(D:\pythonText.txt, r, encodingUTF-8) print(file) # <_io.TextIOWrapper nameD:\\pythonText.txt moder encodingUTF-8> print(type(file)) # <class _io.TextIOWrapper>读取文件 file open(D:\pythonText.txt, r, encodingU…

C#文件操作从入门到精通(2)——查看某个dll中有哪些函数

kernel32.dll中含有ini文件操作使用的函数,我们可以通过VisualStudio自带的dumpbin.exe查看dll所包含的函数,操作步骤如下: 1、找到dumpbin.exe所在的文件夹 我的电脑中安装了VisualStudio2019社区版以及VisualStudio2017Professional,但是我发现VisualStudio2019社区版中…

【Linux下6818开发板(ARM)】在液晶屏上显示RGB颜色和BMP图片

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…

使用 CSS 自定义属性

我们常见的网站日夜间模式的变化&#xff0c;其实用到了 css 自定义属性。 CSS 自定义属性&#xff08;也称为 CSS 变量&#xff09;是一种在 CSS 中预定义和使用的变量。它们提供了一种简洁和灵活的方式来通过多个 CSS 规则共享相同的值&#xff0c;使得样式更易于维护和修改。…

PS - Photoshop 抠图与剪贴蒙版功能与 Stable Diffusion 重绘

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131978632 Photoshop 的剪贴蒙版是一种将上层图层的内容限制在下层图层的形状范围内的方法&#xff0c;也就是说&#xff0c;上层图层只能在下层图…

数据结构:谈快速排序的多种优化和非递归展开,以及排序思想归纳

文章目录 写在前面快速排序的基本体系快速排序的优化快速排序的非递归实现排序分类总结插入排序选择排序交换排序归并排序 写在前面 快速排序作为效率相当高的排序算法&#xff0c;除了对于特殊数据有其一定的局限性&#xff0c;在大多数应用场景中都有它特有的优势和应用&…

类加载机制与类加载器

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ Java 源码是如何形成类文件的&#xff0c;类文件又是如何加载到虚拟机的&#xff0c;类加载有哪些机制和原则呢&#xff1f;本文将为大家一一介绍。 1 Java 源码形成类文件…

1.Flink概述

1.1 技术架构 应用框架层: 在API层之上构建的满足特定应用场景的计算框架&#xff0c;总体上分为流计算和批处理两类应用框架。API 层&#xff1a; Flink对外提供能力的接口 &#xff0c;实现了面向流计算的DataStream API和面向批处理的DataSet API。运行时层&#xff1a;Flin…

No Spring环境Mybatis-Plus批量插入并返回主键的两种方式

批量插入,可以把Mybatis-Plus看作是Mybatis加强版;故Mybatis中的相关操作都可以在Mybatis-Plus中使用;在mysql数据库中支持批量插入&#xff0c;所以只要配置useGeneratedKeys和keyProperty就可以批量插入并返回主键了。 下面是批量插入的Dao层接口 一注解方式: 直接撸代码:…

SpringBoot —程序包org.springframework.boot.test.context不存在

一. 遇到问题 &#xff1a;程序包org.springframework.boot.test.context不存在 发生错误的原因是项目中缺少spring-boot-starter-test依赖导致的&#xff0c;解决方案如下: 在项目根目录的pom.xm文件中的<dependencies>节点下增加以下依赖即可&#xff1a; <depen…

网上办理的三网低月租大流量,到底能不能选归属地?

网上办理的三网低月租大流量&#xff0c;到底能不能选归属地&#xff1f; 首先&#xff0c;小编就明确地告诉大家&#xff0c;如果默认的是归属地随机&#xff0c;那么是不可以选择归属地的。 看到这里&#xff0c;可能有人会有疑问&#xff0c;网上的流量卡也是运营商推出的…

编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)

系列文章目录 编程小白的自学笔记十一&#xff08;python爬虫入门三Selenium的使用实例详解&#xff09; 编程小白的自学笔记十&#xff08;python爬虫入门二实例代码详解&#xff09; 编程小白的自学笔记九&#xff08;python爬虫入门代码详解&#xff09; 目录 系列文章…

【Python】Web学习笔记_flask(1)——getpost

flask提供的request请求对象可以实现获取url或表单中的字段值 GET请求 从URL中获取name、age两个参数 from flask import Flask,url_for,redirect,requestappFlask(__name__)app.route(/) def index():namerequest.args.get(name)agerequest.args.get(age)messagef姓名:{nam…

Electron逆向调试

复杂程序处理方式&#xff1a; 复杂方式通过 调用窗口 添加命令行参数 启动允许调用&#xff0c;就可以实现调试发布环境的electron程序。 断点调试分析程序的走向&#xff0c;程序基本上会有混淆代码处理&#xff0c; 需要调整代码格式&#xff0c;处理程序。

32.选择器

选择器 html部分 <div class"toggle-container"><input type"checkbox" id"good" class"toggle"><label for"good" class"label"><div class"ball"></div></label&…