Matlab|基于改进粒子群算法的混合储能系统容量优化

目录

 主要内容   

 部分程序   

下载链接 


 主要内容   

为了调高风光互补发电储能系统的经济性,减少其运行费用,研究风光互补发电储能系统的容量优化配置模型,探讨粒子群算法的改进及混合储能容量优化方法。首先通过对全生命周期费用静态模型的介绍,利用蓄电池和超级电容器作为风光互补系统混合储能装置,以其全生命周期费用最小为目标,以系统的缺电率等运行指标为约束条件,建立了一种混合储能系统容量优化配置模型,其次,通过优化不对称加速因子进而改进了粒子群算法,最后利用算例在 Matlab 中进行了仿真与求解,结果表明,该方法不仅优化了蓄电池的工作状态,降低了储能系统的全生命周期费用,而且加快了收敛速度。

模型的建立风光互补发电系统中,将蓄电池-超级电容器混合作为储能装置,系统构成如图 1 所示,它由风力发电机组、光伏阵列、蓄电池、超级电容器、变流器、负载等组成。

 部分程序   

%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
​
maxgen=400;    %进化次数  
sizepop=100;    %种群规模
Vmax=10;      %速度最大值
Vmin=-10;     %速度最小值
popmax=[49060 9847457]; %粒子最大值
popmin=[1400 295198];   %粒子最小值 
​
​%% 产生初始粒子和速度for i=1:sizepop%随机产生一个种群pop(i,1)=(49060-1400)*rand+1400;    %初始种群pop(i,2)=(9847457-295198)*rand+295198;V(i,:)=0.5*rands(1,2);  %初始化速度%计算适应度fitness(i)=funm(pop(i,:));   %染色体的适应度end
​%% 个体极值和群体极值[bestfitness bestindex]=min(fitness); %找最小适应度zbest=pop(bestindex,:);   %全局最佳gbest=pop;    %个体最佳 fitnessgbest=fitness;   %个体最佳适应度值fitnesszbest=bestfitness;   %全局最佳适应度值
​%% 迭代寻优for i=1:maxgenfor j=1:sizepop%计算权重weight=1;weight=0.9+(0.9-0.4)*exp(-20*(i^6)/(maxgen^6));%计算学习因子%速度更新V(j,:) = weight*V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));V(j,find(V(j,:)>Vmax))=Vmax;V(j,find(V(j,:):)=pop(j,:)+V(j,:);for k=1:2if pop(j,k)>popmax(k)pop(j,k)=popmax(k);endendfor k=1:2if pop(j,k)endend%适应度值fitness(j)=funm(pop(j,:)); endfor j=1:sizepop
​%个体最优更新if fitness(j) < fitnessgbest(j)gbest(j,:) = pop(j,:);fitnessgbest(j) = fitness(j);end
​%群体最优更新if fitness(j) < fitnesszbestzbest = pop(j,:);fitnesszbest = fitness(j);endend yy(i)=fitnesszbest;    %保存下每一代的最优值
​end
%% 结果分析
plot(yy,'k')
title('最优个体适应度','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
zbest
fitnesszbest

下载链接 

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

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

相关文章

全身动作捕捉设备Dreamscap X1,赋予影视、游戏动画全新创作体验

在影视动画、游戏动画制作领域&#xff0c;全身动作捕捉设备具有完整的动作捕捉性能捕获&#xff0c;无需关键帧动画技能&#xff0c;也可以捕捉真人全范围的运动姿态&#xff0c;通过全身动作捕捉设备系统将动作捕捉数据直接流式传输到3D模型上&#xff0c;辅助动画师制作出逼…

【DataWhale学习笔记-蝴蝶书共读】大语言模型背后

从图灵测试到ChatGPT 1950年&#xff0c;艾伦•图灵(Alan Turing)发表论文《计算机器与智能》&#xff08; Computing Machinery and Intelligence&#xff09;&#xff0c;提出并尝试回答“机器能否思考”这一关键问题。在论文中&#xff0c;图灵提出了“模仿游戏”&#xff…

超越标签的探索:K-means与DBSCAN在数据分析中的新视角

最近在苦恼为我的数据决定分组问题&#xff0c;在查找资料时&#xff0c;恰好看到机器学习中的无监督学习的聚类分析&#xff0c;正好适用于我的问题&#xff0c;但是我之前学机器学习时。正好没有学习无监督部分&#xff0c;因为我认为绝大多数问题都是有标签的监督学习&#…

部署Zabbix Agents添加使能监测服务器_Windows平台_MSI/Archive模式

Windows平台 一、从MSI安装Windows代理,添加Windows Servers/PC 概述 可以从Windows MSI安装包(32位或64位) 安装Zabbix agent 32位包不能安装在64位Windows中 所有软件包都支持TLS,配置TLS可选 支持UI和命令行的安装。 1、下载Agent代理程序,使用Agent2升级版,官网链接如…

前端安全——最新:lodash原型漏洞从发现到修复全过程

人生的精彩就在于你永远不知道惊喜和意外谁先来&#xff0c;又是一个平平无奇的早晨&#xff0c;我收到了一份意外的惊喜——前端某项目出现lodash依赖原型污染漏洞。咋一听&#xff0c;很新奇。再仔细一看&#xff0c;呕吼&#xff0c;更加好奇了~然后就是了解和修补漏洞之旅。…

Java基础-泛型

泛型 基本概念为什么我们需要泛型泛型类型泛型类简单泛型类多元泛型类 泛型接口泛型方法为什么要使用泛型方法呢?使用方法 泛型的上下限上限下限加点难度的例子例子一例子二例子三 泛型数组深入理解泛型什么是泛型擦除后保留的原始类型泛型类型擦除原则如何进行擦除的?怎么证…

鸿蒙开发中闭包的使用

闭包的使用要分成三个部分&#xff0c;闭包的声明&#xff0c;闭包的实现&#xff0c;闭包的调用 第一中写法 闭包的声名 callSurfaceId:(surfaceid: string) >void (surfaceid:string) > {}闭包的实现 VideoDetail({ screenHeight: this.videoHeight, avPlayerUtil: …

汽车超级充电桩

在2023国际数字能源展主论坛上&#xff0c;深圳官宣建设“超充之城”&#xff0c;提出到2025年&#xff0c;深圳市将建设超充站300座&#xff0c;“超充/加油”数量比在国内率先达到1:1&#xff1b;2030年&#xff0c;超充站将增至1000座&#xff0c;完成超充骨干网建设&#x…

理论学习:使用early stopping解决神经网络过拟合问题,early stopping是什么?

Early stopping 是一种用来防止神经网络过拟合的正则化技术&#xff0c;其核心思想非常直接&#xff1a;在训练过程中定期检查模型在一个或多个验证集上的性能&#xff0c;并在性能不再显著提升时停止训练。这种方法既简单又有效&#xff0c;因为它利用了一个观察&#xff1a;训…

Linux课程四课---Linux第一个小程序(进度条)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

openxml对worksheet数值化

如果您想要将单元格中的公式直接替换为其计算后的数值&#xff0c;可以使用 OpenXML SDK 的 CellValue 属性来获取计算后的数值。以下是修改后的代码&#xff1a; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; using System;public cl…

【Docker】常用命令 docker build

文章目录 基本用法常用选项-t&#xff1a;指定镜像名称和标签--build-arg&#xff1a;设置构建参数-f&#xff1a;指定Dockerfile文件名 实际示例构建一个基于Node.js的Web应用镜像构建一个基于Python的API应用镜像 总结 在深入探讨 docker build命令之前&#xff0c;我们首先…

从入门到精通:深入解析IO流之FileWriter类的使用技巧!

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

微服务篇-C 深入理解第一代微服务(SpringCloud)_III 深入理解Ribbon负载均衡和Feign远程服务调用

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载 Part 1 理论部分 1 什么是客户端负载均衡&#xff1f; 在SpringCloud中&#xff0c;使用Ribbon作为负载均衡客户端实现客户端负载均衡。 …

前端面试拼图-知识广度

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录并添加部分可参考的文档&#xff0c;如下... 1. 移动端H5 click有300ms延迟&#xff0c; 如何解决&#xff1f; 背景&#xff1a;double tap to zoom 移动端H5中的300ms点击延迟问题通常是由浏览…

从零开始学习在VUE3中使用canvas(三):font(字体)

一、简介 我们可以使用font在canvas中绘制文字&#xff0c;方式如下: const ctx canvas.getContext("2d"); // 绘制文字 ctx.font "24px 黑体, 宋体"; //字体大小 首选字体 备选字体 ctx.fillText("这里是显示的字的内容", 100, 50); //文字…

python--高阶函数

python--高阶函数 mapmap的用法map的代码示例 filterfilter的用法filter的代码示例 reducereduce的用法reduce的代码示例 返回函数IO编程打开文件文件打开--打开格式文件打开--上下文管理器打开文件&#xff08;会自动close文件&#xff09; 文件读取文件读取--file.read(m)文件…

反射计数(100%用例)(JavaPythonC++Node.jsC语言)

给定一个包含0和1的二维矩阵 给定一个初始位置和速度 一个物体从给定的初始位置触发,在给定的速度下进行移动,遇到矩阵的边缘则发生镜面反射 无论物体经过0还是1,都不影响其速度 请计算并给出经过t时间单位后,物体经过1点的次数 矩阵以左上角位置为[0,0](列(x),行(行)),例如下面…

全量知识系统 微服务及特征复数空间和立体逻辑方阵的设想及SmartChat回复

Q1..一个立方逻辑方阵给出全量知识有关的8个复合逻辑之间的真假制约关系&#xff0c;是 设计中的“全量知识系统”程序化的基础。理解这句话&#xff0c;并使用一个立方逻辑方阵来描述“全量知识系统”中全量知识的量纲化的程序结构&#xff0c;作为全量知识系统中量纲原型的一…

[QJS xmake] 非常简单地在Windows下编译QuickJS!

文章目录 前言准备C编译器xmake编译包 工程准备修改版本号第一遍编译第二遍编译效果 前言 quickjs是个很厉害的东西啊&#xff0c;我一直想编译一下的&#xff0c;奈何一直没成功。现在找了点时间成功编译了&#xff0c;写篇文章记录一下。当前版本&#xff1a;2024-1-13 应该…