当前位置: 首页 > news >正文

基于粒子群算法的微网经济优化调度——附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代码分享:

相关文章:

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

目录 摘要: 代码主要内容: 研究背景: 微电网模型: 粒子群算法: 运行结果: Matlab代码分享: 摘要: 提出了一种经济与环保相协调的微电网优化调度模型,针对光伏电池…...

Flink入门

目录 一、Flink简介 二、为什么选择Flink 三、与传统数据处理架构相比 四、Flinik批处理数据基础代码 五、Flink流处理基础代码 一、Flink简介 Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数 据流进行状态计算。 二、为什么选择Flink 流数据更…...

【Go微服务开发】gin+grpc+etcd 重构 grpc-todolist 项目

写在前面 最近稍微重构了之前写的 grpc-todolist 模块 项目地址:https://github.com/CocaineCong/grpc-todoList 1. 项目结构改变 与之前的目录有很大的区别 1.1 grpc_todolist 项目总体 1.1.1 改变前 grpc-todolist/ ├── api-gatway // 网关模块 ├── ta…...

单板硬件设计:存储器SD卡( NAND FLASH)

在单板设计中,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计: 1、存储器介绍 存储器的分类大致可以划分如下: ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数…...

C++实现日期类Date(超详细)

个人主页:平行线也会相交💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…...

实验室检验系统源码,集检验业务、质量控制、报告、统计分析、两癌等模块于一体

云 LIS 系统针对区域化 LIS 而设计,依托底层云架构,将传统的 LIS 功能模块进行“云化”。 该系统是集检验业务、科室管理、质量控制、报告、统计分析、两癌等模块于一体的数据检验信息平台。通过计算机联网,实现各类仪器数据结果的实时自动接…...

学习RHCSA的day.03

目录 2.6 Linux系统的目录结构 2.7 目录操作命令 2.8 文件操作命令 2.6 Linux系统的目录结构 1、Linux目录结构的特点 分区加载于目录结构: 使用树形目录结构来组织和管理文件。整个系统只有一个位于根分区的一个根目录(树根)、一棵树。…...

电子邮件协议(SMTP,MIME,POP3,IMAP)

SMTP 关键词: 电子邮件协议:SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口,C/S工作。仅传送ASCII码文本 详细介绍: SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上…...

Golang笔记:使用embed包将静态资源嵌入到程序中

文章目录 目的使用演示//go:embed 指令在WebServer中应用总结 目的 Golang编译程序默认是静态编译,会把相关的库都打包到一起,这在分发部署使用时非常方便。不过如果项目中用到的外部的静态资源文件,通常就需要将这些资源和程序一起拷贝分发…...

ImportError: cannot import name ‘OldCsv‘ from ‘pyflink.table.descriptors‘

我最近开始使用flink用于数据处理。 当我尝试执行table api 用于计数时 我不能导入OldCsv and FileSystem from pyflink.table.descriptors. I have also downloaded apache-flink using: pip install apache-flink [rootmaster flink]# pip3 list | grep flink apache-fli…...

YouCompleteMe(YCM)安装

vim在各个linux版本中是个比较好编辑器,反正nano我是用不惯。但这个ycm的安装也是不断的在变,现在的安装比之前要简单的多,基本个几命令就搞定了,而且 也不用关心系统里有没有vim,ycm已经可以自动安装。具体安装步骤如下&#xff…...

day33_css

今日内容 零、 复习昨日 一、CSS 零、 复习昨日 见代码 一 、引言 1.1CSS概念 ​ 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文…...

10个最流行的向量数据库【AI】

矢量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。 每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。 推荐:用 NSDT场景设计器 快速搭建3D场景。 矢量数据库&…...

vite3+vue3 项目打包优化二 —— 依赖分包策略

在没有配置构建工具的分包功能时,构建出来的文件将无比巨大且是独立的一个 js 和 css 文件(如下图),这样本地加载文件时会存在巨大的压力。 默认情况下,浏览器重复请求相同名称的静态资源时,会直接使用缓存…...

中国社科院与美国杜兰大学金融管理硕士——与时间赛跑,充分利用每一分钟

不管你愿不愿意,时间总是在不经意间流去。林清玄在《和时间赛跑》中写道:“虽然我知道人永远跑不过时间,但是可以比原来快跑几步。那几步虽然很小很小,但作用却很大很大”。是的,我们需要与时间赛跑,充分利…...

什么是Dirichlet分布?

Dirichlet分布是一种概率分布,用于描述多维随机变量的概率分布。它是一个连续分布,通常用于处理具有多种可能取值的离散型随机变量。在LDA模型中,Dirichlet分布通常被用作先验分布,用来表示主题的概率分布和单词的概率分布。 Dir…...

web前端开发需要哪些技术?学前端顺序千万千万不要搞错啦!

宝子们,下午好,之前给大家分享了前端岗位的前景规划,小源看的出来,还是有不少宝子想入行前端的! 那除了会面试,还要有充足丰富的知识储备,需要什么技术,怎么样做才能找到高薪工作呢&…...

【AFNetWorking源码(二)AFURLSessionManger和AFHTTPSessionManager】

前言 学习了Mananger的初始化和以GET请求为例的过程,发现整个过程离不开AFHTTPSessionManager和AFURLSessionManger的某些方法。这两个是AFN的重要的网络通信模块内容,对它们作揖详细的学习。 AFURLSessionManager和AFHTTPSessionManager都是AFNetwork…...

编程不头秃,Google「AI程序员」来了,聊天就能敲代码

上周 Google 在 I/O 大会宣布了一个能够辅助编程的聊天机器人 Codey,现在它终于上线 Google Colab 啦! 🌟 Codey 是基于 Google 目前最新的大语言模型 PaLM 2 运行,有着强大的语言理解和编程能力。 Codey 有这些功能&#xff1…...

【数据结构与算法】基础数据结构

文章目录 数组概述动态数组二维数组局部性原理越界检查 链表概述单向链表单向链表(带哨兵)双向链表(带哨兵)环形链表(带哨兵) 队列概述链表实现环形数组实现 栈概述链表实现数组实现应用 双端队列概述链表实…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

算法刷题-回溯

今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...

Netty自定义协议解析

目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

视觉slam--框架

视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...