基于粒子群算法的考虑需求响应的风-光-柴-储容量优化配置

目录

文章摘要:

研究背景:

考虑柔性负荷的风、光、柴、储微电网模型:

储能配置模型:

粒子群算法:

运行结果:

1. 全年运行效果展示:

2. 典型日运行效果:

Matlab代码+数据分享:


文章摘要:

为了充分发挥需求响应技术在削峰填谷、消纳可再生能源方面的作用,本文针对一个含风、光、柴、储资源的微型电网系统进行储能容量配置,该微电网系统采用风光的互补优势,结合蓄电池及柴油机对负荷进行供电。本文基于Matlab平台建立了以总净现值成本最低为目标函数,并以燃料消耗、蓄电池容量、柴油机功率及其污染物的排放量为约束条件,对其进行容量配置。采用了粒子群算法进行优化,提高了算法的收敛速度,避免陷入局部最优解。仿真结果表明,在对负荷进行容量配置的过程中,本文方法可以有效进行寻优,提高了系统的稳定性和经济性。

研究背景:

近年来,推广可再生能源的利用、减少能源浪费、降低对化石能源的依赖已成为全球发展的关注点。然而风能和光能等可再生能源的大规模渗透和其本身具有的随机性,不仅带来了本地消纳的困难的问题,还影响了微电网的经济运行。并且单纯的依靠储能平抑可再生能源出力的波动性以及负荷和可再生能源出力之间功率的不平衡不仅无法解决这些问题还会带来容量冗余,使微电网配置成本增加。作为一种可调度的负荷侧资源,柔性负荷在作为调度发电补充同时还可以作为“虚拟储能”,既实现了供需互动还可以协调储能系统对可再生能源供电的平衡作用,可有效提高可再生能源的利用率和降低系统成本。因此,柔性负荷和微电网的结合可使两者实现互补,给微电网面临的问题提供了可行方案。

作为未来智能电网的重要组成部分,合理利用自然资源,对微电网系统容量进行优化配置是微电网规划设计领域中的核心课题。近年来,针对微电网在经济性、可靠性、环境保护、能源利用、节能降损等方面的影响和效益,国内外已有较多研究成果。基于已有是研究,当前微电网(独立型和并网型)容量优化配置方法大致可分为对目标函数和求解方法的研究两大类。

考虑柔性负荷的风、光、柴、储微电网模型:

微电网结构模式的确定是进行微电网规划设计的前提条件,结构模式的构建对微电网具体接入电网的电压等级和容量规划以及具体分布式电源的选择会产生较大影响。本文中,由风力发电、光伏发电、储能系统、逆变器以及负荷(包含固定负荷和柔性负荷)构成了风/光/储微电网系统。其中,本文将可调度的柔性负荷分为工业高载负荷、商业聚合负荷和居民智能家用负荷3类。并且根据风/光/储微电网系统各种组网方式的特点,选择了具有控制简单、扩容方便等优点的直流母线组网方式,其系统结构如图2-1所示。

储能配置模型:

出力模型分析在容量配置中,出力模型由风力发电机、光伏、蓄电池以及柴油机组成。其中,风力发电机的功率由该地区的风速及风力发电机的额定功率决定。光伏的实际输出功率由光照强度和光伏的额定功率决定。蓄电池在容量配置中的作用是进行能量调节和平衡负载,原理是将化学能转换为电能,这个过程就是蓄电池充放电的过程。柴油机作为互补系统中主要的后备发电设备,它的输出功率与耗油量及柴油机的型号有关。

在进行风光柴储的容量配置中,需要在兼顾经济性的同时考虑到系统的稳定性,经济性由系统的投资成本Cin、维护成本Cm、缺电损失成本Ccop、治污成本Con及燃油成本Cf组成[4]。稳定性考虑到负荷缺电率(lossofpowersupplyprobability,LPSP)和能量浪费率(energywasterate,EWR)两个指标,为了提高系统的收敛速度,把负荷缺电率和能量浪费率合并成一个指标,以LE表示,用α进行平衡。由此,系统的多目标函数表达式为:

粒子群算法:

粒子群算法的发展过程。粒子群优化算法(ParticalSwarmOptimizationPSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。由于PSO操作简单、收敛速度快,因此在函数优化、图像处理、大地测量等众多领域都得到了广泛的应用。

粒子群算法(ParticleSwarmOptimization,PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。最简单有效的策略?寻找鸟群中离食物最近的个体来进行搜素。PSO算法就从这种生物种群行为特性中得到启发并用于求解优化问题。

用一种粒子来模拟上述的鸟类个体,每个粒子可视为N维搜索空间中的一个搜索个体,粒子的当前位置即为对应优化问题的一个候选解,粒子的飞行过程即为该个体的搜索过程.粒子的飞行速度可根据粒子历史最优位置和种群历史最优位置进行动态调整.粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子单独搜寻的最优解叫做个体极值,粒子群中最优的个体极值作为当前全局最优解。不断迭代,更新速度和位置。最终得到满足终止条件的最优解。

算法流程如下:

1、初始化

首先,我们设置最大迭代次数,目标函数的自变量个数,粒子的最大速度,位置信息为整个搜索空间,我们在速度区间和搜索空间上随机初始化速度和位置,设置粒子群规模为M,每个粒子随机初始化一个飞翔速度。

2、个体极值与全局最优解

定义适应度函数,个体极值为每个粒子找到的最优解,从这些最优解找到一个全局值,叫做本次全局最优解。与历史全局最优比较,进行更新。

3、更新速度和位置的公式

4、终止条件

(1)达到设定迭代次数;(2)代数之间的差值满足最小界限

以上就是最基本的一个标准PSO算法流程。和其它群智能算法一样,PSO算法在优化过程中,种群的多样性和算法的收敛速度之间始终存在着矛盾.对标准PSO算法的改进,无论是参数的选取、小生境技术的采用或是其他技术与PSO的融合,其目的都是希望在加强算法局部搜索能力的同时,保持种群的多样性,防止算法在快速收敛的同时出现早熟收敛。

运行结果:

1. 全年运行效果展示:

2. 典型日运行效果:

Matlab代码+数据分享:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决RabbitMQ报错Stats in management UI are disabled on this node

文章目录 问题描述:解决步骤:进入容器后,cd到以下路径修改 management_agent.disable_metrics_collector false退出容器重启rabbitmq容器 问题描述: linux 部署 rabbitmq后,打开rabbitmq管理界面。点击channels&#…

代码随想录打卡—day56—【编辑距离】— 9.2 编辑距离系列

1 583. 两个字符串的删除操作 583. 两个字符串的删除操作 【注意点1】感觉和下面这题很像。就是一模一样,return变一下就是。 1143. 最长公共子序列 【注意点2】注意这题和day55的最后一题的区别,本题求的是最大长度,那题求的是组合方式。…

基于jeecg-boot的flowable流程自定义业务驳回到发起人的一种处理方式

有些粉丝,希望对自定义业务中,驳回到发起人进行处理,比如可以重新进行发起流程,下面就给出一种方式,当然不一定是最好的方式,只是提供一种参考而已,以后可以考虑动态根据流程状态或节点信息进行…

【前端demo】CSS border-radius可视化 原生实现

文章目录 效果原理代码 前端demo系列目录:https://blog.csdn.net/karshey/article/details/132585901 效果 效果预览:https://codepen.io/karshey/pen/zYyBPBR 参考: Fancy Border Radius Generator (9elements.github.io) https://borde…

测试开发【Mock平台】09开发:项目管理(五)搜索、删除和Table优化

【Mock平台】为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React框架完成搭建一个测试工具平台,希望作为一个实战项目对各位的测试开发学习之路有帮助,大奇一个专注测试技术干货原创与分享的家伙。 Mock平台系统项目基本…

【C++】一文解析std::binary_function、std::bind1st、std::bind2nd、std::bind

STL中有一个叫做“适配器”的概念,它指的是某些函数可能定义了两个形参,但是某些算法需要的函数却有时候需要一个形参,那么就需要对其进行适配,将原本只需要两个参数的函数转变成需要1和参数就能正常运行的函数。就像你为你的笔记…

数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式

文章目录 一、目标检测1.1 labelImg1.2 介绍1.3 安装1.4 使用1.5 转换1.6 验证 二、图像分割2.1 labelme2.2 介绍2.3 安装2.4 使用2.5 转换2.6 验证 一、目标检测 1.1 labelImg 1.2 介绍 labelImg是一个开源的图像标注工具,用于创建图像标注数据集。它提供了一个…

iOS 设置下载部分文件,如何获取完整文件的大小

在视频的需求中,遇到这样一个需求,播放一视频的时候,要预下载 后面10条视频,但是只下载后面十条视频的前面1M 实现方法 1 创建请求时设置cacheLength resource [[IdiotResource alloc] init];resource.requestURL task.request…

不同路径 II【动态规划】

不同路径 II 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上…

深入解析即时通讯App开发中的关键技术

即时通讯App开发在现代社交和通信领域中扮演着重要的角色。随着移动设备的普及和网络的高速发展,人们对即时通讯工具的需求不断增加。本篇文章将深入探讨即时通讯App开发中的关键技术,帮助读者了解该领域的最新动态和技术趋势。 基础架构和通信协议 现…

【Python】Python 利用模块实现单例模式

Python 利用模块实现单例模式 在GOF的23种设计模式中,单例是最常使用的模式,通过单例模式可以保证系统中 一个类只有一个实例而且该实例易于被外界访问,从而方便对实例个数的控制并节约系统资 源。每当大家想要实现一个名为XxxMangcr的类时&…

阻塞/非阻塞、同步/异步(网络IO)

1.阻塞/非阻塞、同步/异步(网络IO) 【思考】典型的一次 IO 的两个阶段是什么? 数据就绪 和 数据读写 数据就绪 :根据系统 IO 操作的就绪状态 阻塞 非阻塞 数据读写 :根据应用程序和内核的交互方式 同步 异步 陈硕:在处理 IO …

【JS】公共鼠标滚动事件(从下进入,从上进入),可vue做指令使用

unilateralScroll 方法是动画主事件 enterFromBelow 方法是鼠标从上向下滚动事件 enterFromAbove 方法是鼠标从下向上滚动事件 Action[“事件名”] 是使用自定事件 // index.js 文件/** 从下进入事件 -- FromLeftToRight 默认动画 */ const enterFromBelow (el, event) > A…

ISP——3A算法

目录 前沿一. 自动曝光AE1.1. 自动曝光1.2. 18%灰1.3. 测光区域1.4. 摄影曝光加法系统1.5. AE算法1.5.1. 考虑事项1.5.2. AE实现过程 1.6. AE算法 二. 自动对焦AF2.1. 什么是自动对焦2.2. 图像清晰度评价方法2.2.1. Brenner 梯度函数2.2.2. Tenengrad 梯度函数2.2.3. Laplacian…

1.12 进程注入ShellCode套接字

在笔者前几篇文章中我们一直在探讨如何利用Metasploit这个渗透工具生成ShellCode以及如何将ShellCode注入到特定进程内,本章我们将自己实现一个正向ShellCodeShell,当进程被注入后,则我们可以通过利用NC等工具连接到被注入进程内,…

【go】异步任务解决方案Asynq实战

文章目录 一.Asynq介绍二.所需工具三.代码示例四.Reference 一.Asynq介绍 Asynq 是一个 Go 库,一个高效的分布式任务队列。 Asynq 工作原理: 客户端(生产者)将任务放入队列服务器(消费者)从队列中拉出任…

【vue】this.$nextTick解决this.$refs undefined的问题

说明 1、发邮件页面分成两个部分:模态框页面(头部和底部)和form页面(操作按钮) 2、点击回复按钮,要将发件人信息带到模态框页面,给定默认值且禁止收件人下拉选择(多个邮箱&#xff…

Go用两个协程交替打印100以内的奇偶数

方式1&#xff08;使用无缓冲的channel&#xff09; package mainimport ( "fmt" "time")var flagChan make(chan int)func wokr1() { for i : 1; i < 100; i { flagChan <- 666 // 塞入 if i%2 1 { fmt.Println("协程1打印:", i) …

Windows Update Blocker,windows系统关闭自动更新工具

今天打开电脑发现系统又自动更新了 这一天天更新真的太烦了 然后我从网上找到一个工具 可以自由开启和关闭系统自动更新 这里分享一下网址&#xff1a;https://www.filehorse.com/download-windows-update-blocker/ 若网址失效&#xff0c;蓝奏云盘链接 https://wwgw.lanzouc.c…

leecode 数据库:1164. 指定日期的产品价格

导入数据&#xff1a; Create table If Not Exists Products (product_id int, new_price int, change_date date); Truncate table Products; insert into Products (product_id, new_price, change_date) values (1, 20, 2019-08-14); insert into Products (product_id, new…