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

news2024/11/29 10:40:38

目录

文章摘要:

研究背景:

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

储能配置模型:

粒子群算法:

运行结果:

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.coloradmin.cn/o/967612.html

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

相关文章

博客系统自动化测试项目实战(测试系列9)

目录 前言: 1.博客前端页面测试用例图 2.测试用例的代码实现 2.1登录页面的测试 2.2博客列表页面的测试 2.3写博客测试 2.4博客详情页面的测试 2.5已发布博客的标题和时间的测试 2.6注销用户的测试 结束语: 前言: 之前小编给大家讲…

js实现点击查看全部/收起功能

在上一篇文章实现用js截取文本后,我的另一个需求也迎刃而解了。需求就是一段长文本需要溢出隐藏,然后点击全部时显示全部文本,点击收起又回到溢出隐藏的状态。实现的效果如下图: 实现的思路时点击全部时使用这条数据的原文本&…

04-过滤器和拦截器有什么区别?【Java面试题总结】

过滤器和拦截器有什么区别? 运行顺序不同:过滤器是在 Servlet 容器接收到请求之后,但在 Servlet被调用之前运行的;而拦截器则是在Servlet 被调用之后,但在响应被发送到客户端之前运行的。 过滤器Filter 依赖于 Servle…

【优先级队列】

文章目录 基于无序数组实现基于有序数组的实现基于堆的实现合并多个有序链表-力扣 23 题 基于无序数组实现 要点 入队保持顺序,在数组尾部插入即可出队前找到优先级最高的出队,相当于一次选择排序 基于有序数组的实现 要点 入队后排好序&#xff0c…

企业架构LNMP学习笔记8

1、 运维人员需要考虑安全性、稳定性。 安装: 解压进入到目录: shell > tar zxf php-7.2.12.tar.gz shell > cd php-7.2.12 安装依赖软件: yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel op…

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理,从企业内部的各个业务环境总体掌握,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…

Android 使用OpenCV实现实时人脸识别,并绘制到SurfaceView上

1. 前言 上篇文章 我们已经通过一个简单的例子,在Android Studio中接入了OpenCV。 之前我们也 在Visual Studio上,使用OpenCV实现人脸识别 中实现了人脸识别的效果。 接着,我们就可以将OpenCV的人脸识别效果移植到Android中了。 1.1 环境说…

一个基于YAPI接口生产代码的开源工具

前后端分离的开发模式是一种趋势,但如果缺少好的开发工具跟管理模式,会使得前后端开发人员相互等待,扯皮等问题。从而影响项目的交付进度。 通过实践摸索,YAPI是一款很适合前后端分离开发的协助工具。它以项目为维度,可…

arduino仿真 SimulIDE1.0仿真器

SimulIDE 是一个开源的电子电路模拟器,支持模拟各种电子元器件的行为,可以帮助电子工程师和爱好者进行电路设计和测试。以下是 SimulIDE 的安装和使用说明: 安装 SimulIDE SimulIDE 可以在 Windows、Linux 和 Mac OS X 等操作系统上安装。您…

取证工具prodiscover的基本操作

前言提醒 取证工具ProDiscover在网上讲解操作的文章实在太少,一是prodiscover是用于磁盘取证的工具,本身比较小众比不上其他的编程软件能用到的地方多,二是这个工具是用来恢复提取磁盘中被删除的文件,是比较隐晦的软件。 需要注…

CSAPP的Lab学习——AttackLab

文章目录 前言一、阶段一攻击二、阶段二攻击三、阶段三攻击四、阶段四攻击五、阶段五攻击总结 前言 一个本硕双非的小菜鸡,备战24年秋招。刚刚看完CSAPP,真是一本神书啊!遂尝试将它的Lab实现,并记录期间心酸历程。 代码下载 官方…

【AWS实验】 配置中转网关及对等连接

文章目录 实验概览目标实验环境任务 1:查看网络拓扑并创建基准任务 2:创建中转网关任务 3:创建中转网关挂载任务 4:创建中转网关路由表任务 4.1:创建路由表关联任务 4.2:创建路由传播 任务 5:更…

velodyne_msgs/VelodyneScan数据流消息转化为sensor_msgs/PointCloud2点云帧消息

目的 在查看一个开源数据集时,点云信息格式为velodyne_msgs/VelodyneScan,无法在rviz中显示,需要转换为sensor_msgs/PointCloud2。 软件版本 Ubuntu20.04 Noetic 激光雷达型号 32线激光雷达velodyne 32E 参考方法 ROS Noetic velodyn…

【DP】CF Edu 21 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; 就是一个 N为1e5&#xff0c;M为3e5的背包问题&#xff0c;不过特殊条件是 w < 3 我们去从最简单的情况开始考虑 当只有w 1的物品和w 2的物品时&#xff0c;考虑贪心地把物品按价值排序&#xff0c;然后选…

Python数据分析实战-判断一组序列(列表)的变化趋势(附源码和实现效果)

实现功能 判断一组序列&#xff08;列表&#xff09;的变化趋势 实现代码 from sklearn.linear_model import LinearRegression import numpy as np # 计算相邻两个数之间的差值的均值&#xff0c;并判断变化趋势。 def trend(lst):diff [lst[i1] - lst[i] for i in range(…

Python之循环-三元表达式

Python之循环-三元表达式 continue, break break 结束循环 break语句可以提前结束循环。然后执行循环之后的语句。 continue continue用于跳出当前循环&#xff0c;执行下一次循环。 示例&#xff1a; 如下示例中是一个for循环&#xff0c;range(10)&#xff0c;然后遍历r…

【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《高效编程技巧》《C语言进阶》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言1.如何写出好的代码&#xff1f;1.2 如何分析一个函数写的怎么样 2. 代码板式的重要性2.1 代码…

【C++】学习STL中的stack和queue

❤️前言 今天这篇博客的内容主要关于STL中的stack、queue和priority_queue三种容器。 正文 stack和queue的使用方式非常简单&#xff0c;我们只要根据之前学习数据结构的经验和文档介绍就可以轻松上手。于是我们直接开始对它们的模拟实现。 stack和queue的模拟实现 stack和q…

redis实战-实现优惠券秒杀解决超卖问题

全局唯一ID 唯一ID的必要性 每个店铺都可以发布优惠券&#xff1a; 当用户抢购时&#xff0c;就会生成订单并保存到tb_voucher_order这张表中&#xff0c;而订单表如果使用数据库自增ID就存在一些问题&#xff1a; id的规律性太明显&#xff0c;容易被用户根据id的间隔来猜测…

不同路径【动态规划】

不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f;…