基于粒子群算法的微网经济优化调度——附Matalb代码

目录

摘要:

代码主要内容:

研究背景:

微电网模型:

粒子群算法:

运行结果:

Matlab代码分享:


摘要:

        提出了一种经济与环保相协调的微电网优化调度模型,针对光伏电池、风机、微型燃气轮机、柴油发电机以及蓄电池组成的微电网系统的优化问题进行研究,在满足系统约束条件下,建立了包含运行成本的微电网经济性目标优化调度模型,并利用粒子群算法(PSO)求解微电网优化调度问题,仿真结果表明该模型对微电网优化调度具有一定的指导作用。

代码主要内容:

        代码主要构建了含风电机组、光伏机组、燃气轮机组以及储能机组的微网日前调度模型,其中考虑了微网与上级电网的交易,采用粒子群算法给出最优调度结果,结果展示了各机组的出力水平,适合初学者学习使用代码属于精品代码。

研究背景:

        随着我国工业和社会经济的快速发展,一次能源生产量与需求量逐渐上升,2020年我国全年能源消费总量已达到了49.8亿吨标准煤,相较于2019年增长了 2.2%。煤炭消费量占能源消费总量的 56.8%,核电、风电、太阳能等清洁能源消费量占能源消费总量的 24.3%。目前,我国在一次能源消费量上远远超过美国和印度,然而传统的煤炭、天然气等能源日益紧缺,逐渐影响我国社会经济的可持续发展。在此背景之下,我国提出了“碳达峰及碳中和”的能源结构转型战略需要。相比于化石能源,以风电为代表的可再生能源具有无污染、可再生的特点,大力发展风力发电技术将有效解决资源短缺和环境污染问题。但由于风电本身具有的随机性和波动性,给风电并网的调度运行带来严峻的安全问题。如何合理利用可再生能源发电、提高综合能量利用效率、降低对传统化石能源的依赖是目前重要的研究方向。

        微电网(MicrogridMG)作为一种能够灵活、高效地应用各类分布式电源,促进风电等可再生能源的利用,因此被认为是促进分布式可再生能源接入大电网的一种有效技术手段。微电网具体是一种由多种分布式能源、储能系统、能量转换设备、负荷以及相应保护系统集成的电力系统,在一定地理区域范围内进行小规模发电,减少上层电网电力传输损失并保持不间断的电力供应,具有孤岛运行和并网运行两种运行方式,也可与主电网进行单边和双边交易,拥有灵活改变运行方式的能力同时具有可调度属性。微电网不仅可以作为单一的可控子系统接入上层电网进行功率交互,而运行也可受到用户侧的控制和管理。微电网中接入储能、光伏、风电等可调度能源能有效应对恶劣天气造成的连锁停电事故,利用可再生能源减少化石燃料燃烧产生的有害污染物,提高微电网运行经济效益。含风柴储的微电网进行的优化调度研究一方面可以满足人们对可再生能源资源高效利用的需求,另一方面可以有效降低我国电力网络对于传统化石能源的依赖性、提升电力网络运行经济性,所以此研究在我们的实际生产生活中非常有必要。

微电网模型:

采用如图1所示的微电网系统,该系统中包含了光伏电池(Photovoltaic Cell,PV)、风机(Wind
Turbine,WT)等清洁不可控发电单元,柴油发电机(Diesel Generator,DE)、微型燃气轮机(Micro Turbine,MT) 等清洁可控发电单元以及储能单元(EnergyStorage Elements,ES)。本文微电网处于孤岛运行,由微电源对微电网内部负荷进行供电。

粒子群算法:

利用改进的惯性权重线性递减粒子群算法对微电网经济运行与优化调度问题进行求解的具体方法为:

(1)粒子群初始化,设置优化求解过程中的相关基本参数:粒子群个数N,最大迭代次数kmax,惯性权重系数ω的以及两个学习因子c1、c2等。

(2)在规定的上下限值之内生成初始粒子,配置每一个粒子的位置和速度,每一个粒子的维度表示微电网系统中微电源的个数,每一个粒子每一维度上的位置则表示该微电源在系统实际运行时的输出(或输入)功率。每一个粒子都表示为经济运行与优化调度问题的一个可行解,也就是微电网正常运行时各微源的一个出力配置方案。

(3)求出每个粒子的目标函数的值,并将这些值同自身曾经历过的最优位置进行比较,若现有粒子目标函数值比后者更优,则用现有粒子位置替代曾经历过的最优位置,将其作为该粒子个体最优值。然后将整个粒子群所有粒子的目标函数值进行比较,并将其中最优的位置同整个粒子群曾经历过的最优位置进行比较,若前者优于后者,则替代之。在第一次进行迭代时(k=0),无个体最优值和群体最优值,将本粒子所在位置设为个体最优值,将群体中的最优位置设为群体最优值。

(4)更新每个粒子的速度以及位置,生成新一代粒子和粒子群。

(5)判断当前迭代次数是否达到规定的最大次数,若未达到,则迭代次数加1(k=k+1),更新惯性权重ω的值,并进行下一次迭代;若达到了最大迭代次数,则退出循环,输出求得的最优解。

运行结果:

Matlab代码分享:

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

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

相关文章

深度解析接口自动化框架封装项目:封装层级,关联调用,极限改进

目录 前言: 一、接口封装与封装层级 二、接口关联和数据准备 三、接口封装极限改进 四、代码示例 五、总结 前言: 接口自动化是软件测试领域中的一个重要环节,它可以自动化执行接口测试用例,快速发现和定位接口问题&#xf…

MyBatis中的别名机制

在我们使用MyBatis中的select语句时&#xff0c;需要指定resultType的值&#xff0c;即查询对象的类型&#xff0c;该值是对象的完整类名&#xff0c;看起来非常的繁琐&#xff0c;因此MyBatis中有了别名机制。 使用步骤 在mybatis-config.xml文件中添加< typeAliases >…

C语言进阶——字符函数和字符串函数(上)

重点&#xff1a; 重点介绍处理字符和字符串的库函数的使用和注意事项 1、求字符串长度 strlen 2、长度不受限制的字符串函数 strcpy strcat strcmp 1、函数介绍 1.1 strlen 函数原型&#xff1a;size_t strlen (const char *str); 1、字符串以‘\0’作为结束标志&#xff0…

如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总

苹果APP安装包ipa如何安装在手机上&#xff1f;很多人不知道怎么把ipa文件安装到手机上&#xff0c;这里就整理了苹果APP安装到iOS设备上的方式&#xff0c;仅供参考 苹果APP安装包ipa如何安装在手机上&#xff1f;使用过苹果手机的人应该深有感触&#xff0c;那就是苹果APP安…

登录appuploader

登录appuploader 常规使用登录方法 双击appuploader.exe 启动appuploader 点击底部的未登录&#xff0c;弹出登录框 在登录框内输入apple开发者账号 如果没有apple开发者账号&#xff0c;只是普通的apple账号&#xff0c;请勾选上未支付688 然后软件会提示输入验证码&#…

【Spring/MySQL数据库系列】数据库事务的特点与隔离级别

⭐️前面的话⭐️ 本文已经收录到《Spring框架全家桶系列》专栏&#xff0c;本文将介绍有关数据库事务的特点以及隔离级别。 &#x1f4d2;博客主页&#xff1a;未见花闻的博客主页 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4…

【C++ STL】 趣学stackqueuepriority_queue【对话情景版】

文章目录 &#x1f4cd;前言C STL 之 stack&queue基础知识及其模拟实现&#x1f4cd;容器适配器&#x1f388;什么是适配器&#xff1f;&#x1f388;STL标准库中stack和queue的底层结构&#x1f388;deque的简单介绍(了解)&#x1f4cc;deque的原理介绍&#x1f4cc;deque…

Python学习27:存款买房(A)

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 你刚刚大学毕业&#xff0c;…

基于Hebb学习的深度学习方法总结

基于Hebb学习的深度学习方法总结 0 引言1 前置知识1.1 Hebb学习规则1.2 Delta学习规则 2 SoftHebb学习算法2.1 WTA(Winner Take All)2.2 SoftHebb2.3 多层Hebb网络2.4 Hebb学习的性能测评 3 参考文献 0 引言 总所周知&#xff0c;反向传播算法&#xff08;back-propagating, B…

图神经网络:(大型图的有关处理)在Pumbed数据集上动手实现图神经网络

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 Pumed数据集文献阅读继续实验 Pumed数据集 导库 from torch_…

不会Elasticsearch标准查询语句,如何分析数仓数据?

1 Elasticsearch的查询语句 ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL,Query DSL是利用Rest API传递JSON格式的请求体(Request Body)数据与ES进行交互&#xff0c;这种方式的丰富查询语法让ES检索变得更强大&#xff0c;更简洁。 1.1 查询预发 # GET /…

案例分享|地弹现象导致DCDC电源芯片工作不正常

很多读者都应该听过地弹&#xff0c;但是实际遇到的地弹的问题应该很少。本案例就是一个DCDC电源芯片的案例。 1. 问题描述 如下图1 &#xff0c;产品其中一个供电是12V转3.3V的电路&#xff0c;产品发货50K左右以后&#xff0c;大约有1%的产品无法启动&#xff0c;经过解耦定…

【C++】深入剖析C++11新特性

目录 一、C11简介 二、统一的列表初始化 1.&#xff5b;&#xff5d;初始化 2.std::initializer_list 三、声明 1.auto 2.decltype 3.nullptr 四、范围for 五、final和oberride 六、STL中一些变化 1.array 2.forward_list 3.unordered_map和unordered_set 七、右…

Python入门(十一)while循环(一)

while循环&#xff08;一&#xff09; 1.简介2.使用while循环3.让用户选择何时退出4.使用标志5.使用break退出循环6.在循环中使用continue7.避免无限循环 作者&#xff1a;xiou 1.简介 for循环用于针对集合中的每个元素都执行一个代码块&#xff0c;而while循环则不断运行&am…

虚幻引擎4利用粒子系统实现物体轨迹描绘

虚幻引擎4利用粒子系统实现物体轨迹描绘 目录 虚幻引擎4利用粒子系统实现物体轨迹描绘前言粒子系统利用粒子系统实现物体轨迹描绘创建粒子系统将粒子系统的产生位置绑定到运动物体上 小结 前言 由于在物体运动时&#xff0c;想要观察其总的运动轨迹&#xff0c;以便对其控制做…

CANoe-如何在Trace窗口显示SYN和FIN报文、同一条以太网报文在Trace窗口中的多条显示

1、如何在Trace窗口显示SYN和FIN报文 当我们使用CANoe实现TCP通信时,希望在Trace窗口直观显示报文的类型:SYN、ACK、FIN。显然Trace窗口也是支持这样的功能的。但很多时候由于一些人为的不正确的设置和配置,造成无法显示。 如果想解析出SYN报文,首先在Trace窗口选择正确的…

java注解

Target({ElementType.METHOD, ElementType.TYPE}) 注解的适用范围&#xff0c;可以用在什么地方&#xff0c;超过这个作用范围,编译的时候就会报错 值说明ElementType.METHOD用于描述方法ElementType.TYPE用于描述类、接口(包括注解类型) 或enum声明ElementType.LOCAL_VARIAB…

编程语言中,循环变量通常都用 i?你知道为什么吗?

01 前天&#xff0c;我在朋友圈发了一个问题&#xff1a; 为什么编程中&#xff0c;循环变量通常都是用 i ? 没想到&#xff0c;回复的人这么多&#xff01;要连翻好几页。 这个问题&#xff0c;有 2/3 的人回答正确&#xff0c;有少部分人知道&#xff0c;但是不太确定。 习惯…

camunda如何发布和调用rest服务接口

一、camunda如何发布rest服务接口 Camunda BPM 平台本身提供了 REST API 接口&#xff0c;可以用于管理和操作 Camunda 平台中的各种资源和数据&#xff0c;如流程定义、流程实例、任务等。因此&#xff0c;我们可以通过编写 Camunda 应用程序的方式&#xff0c;将 Camunda RE…

最流行的开源 LLM (大语言模型)整理

本文对国内外公司、科研机构等组织开源的 LLM 进行了全面的整理。 Large Language Model (LLM) 即大规模语言模型&#xff0c;是一种基于深度学习的自然语言处理模型&#xff0c;它能够学习到自然语言的语法和语义&#xff0c;从而可以生成人类可读的文本。 所谓"语言模…