单目标应用:Tiki-taka算法(TTA)求解太阳能光伏模型MATLAB

news2025/1/11 14:21:57

一、四种太阳能光伏模型

随着石油、煤炭、天然气等不可再生能源的快速枯竭,以及空气环境的严重污染,可持续、无污染的能源供应成为热点和关键问题。风能、太阳能、水能、潮汐能等可再生能源的开发利用,必然在未来的可持续发展中发挥至关重要的作用。其中,太阳能作为最成熟、前景最广阔的选择,近年来越来越受到关注。与对场地有严格要求的风能,水和潮汐能以及水力发电厂和风车的建造成本极高相比,太阳能无处不在且取之不尽用之不竭。

太阳能通过光伏(PV)发电系统转化为电能。通过使用新材料技术,一直致力于提高光伏系统中太阳能电池的功率转换效率。基于钙钛矿太阳能电池的冠军器件具有24.8%的认证功率转换效率,仍有很大的改进空间。因此,对精确的光伏电池模型进行仿真、控制和优化对于使光伏发电系统在不同天气条件和温度下具有更高和稳定的转换效率具有帮助和至关重要。

关于光伏模型,有几种主流模型,包括单二极管模型(SDM),双二极管模型(DDM),三二极管模型(TDM),光伏组件模型(MM)等。精确的光伏电池建模被认为是分析光伏系统的特定特性(如电流-电压(I-V)特性)的关键,而参数估计是光伏模型中的一个关键问题。希望找到接近实验数据的模型参数值,以最大限度地提高PV模型在特定条件下的性能。光伏系统的仿真、性能评估、优化设计和实时控制的参数估计至关重要。为了获得高性能的光伏模型,总是要施加准确的参数。此外,它可以为太阳能电池制造中的应用设计、光伏转换增强和最大功率点跟踪提供有价值的指导。因此,光伏模型中的参数估计越来越受到关注,并提出了各种方法来解决这个问题。

 上图中(a)~(d)分别为单二极管(SDM)、双二极管(DDM)、三二极管模型(TDM)和光伏组件模型(MM)。

为了正确估计PV模型中的参数,首先设计了一个误差函数来描述测量电流数据和实验电流数据之间的差异。显然,我们的目标是在光伏模型中找到一组参数,以尽量减少这种误差。将设计的误差函数视为目标函数,在此基础上评估所有解,并演化并保存优秀解以存活到下一次迭代中。

对于 SDM、DDM、TDM 和 MM,误差函数由方程定义:

然后,将均方根误差(RMSE)用作这些优化方法的目标函数,以量化总体误差,给出如下:

其中N表示实验数据的数量。

参考文献:

[1] Gao S , Wang K , Tao S , et al. A state-of-the-art differential evolution algorithm for parameter estimation of solar photovoltaic models[J]. Energy Conversion and Management, 2021, 230:113784.

二、Tiki-taka算法(TTA)

极致攻守算法(Tiki-Taka Algorithm,TTA)由Mohd Fadzil Faisae Ab. Rashid于2020年提出,该算法受tiki-taka 足球风格的短传、球员定位和保持控球的特点所启发。其旨在控制控球权并利用其战术优势击败对手,TTA算法新颖高效。

参考文献:

[1]Ab. Rashid, M.F.F. (2021), "Tiki-taka algorithm: a novel metaheuristic inspired by football playing style", Engineering Computations, Vol. 38 No. 1, pp. 313-343. https://doi.org/10.1108/EC-03-2020-0137

[2]Zamli, Kamal Z , Kader, et al. Selective chaotic maps Tiki-Taka algorithm for the S-box generation and optimization. 

三、实验结果

Tiki-taka算法(TTA)求解6组太阳能光伏模型【单二极管模型(SDM)双二极管模型(DDM)三二极管模型(TDM),光伏组件模型(MM)的三种情形(Photowatt-PWP201STP6-120 / 36STM6-40 / 36)】,部分代码如下:

close all
clear
clc
addpath('Benchmark_Solar_Cell');
func_flag=1;%1-6(共有6种模型,对应论文里面的6种模型)
fobj = @(x)evaluate_normal_fitness(x,func_flag);
Prfobj = @(x)Prevaluate_normal_fitness(x,func_flag);


[lb,ub,Dim]=PV_Xrange(func_flag);
SearchAgents_no=30; % 种群大小(可以修改)
Max_iteration=1000; % 最大迭代次数(可以修改)
[bestX,fMin,curve]=TTA(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj);  
Result=Prfobj(bestX);
Result.curve=curve;
save Result Result %保存结果


%% 显示结果
display(['算法获得的最佳参数为:', num2str(bestX)]);
display(['算法获得的RMSE为:', num2str(fMin)]);


%% 画图
plotFigure;%画图

部分结果如下:

(1)TTA求解单二极管(SDM)结果

(2)TTA求解双二极管模型(DDM)结果

(3)TTA求解三二极管模型(TDM)结果

(4)TTA求解Photowatt-PWP201结果

(5)TTA求解STP6-120 / 36结果

(6)TTA求解STM6-40 / 36结果

四、参考MATLAB代码

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

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

相关文章

德国企业数据统计分析【1】-基于pandas的GENESIS ONLINE数据简单统计与柱状图可视化

引言: 德国拥有很多年销售额不超过50亿美元的中小企业,但他们却是某些细分制造、工业领域的翘楚。并且隐身于大众视野之外。此处,隐形冠军指的就是细分领域行业处于绝对领先地位并且年销售额不超过50亿美元的中小企业。这一概念是由德国著名中小企业管理学家赫尔曼西蒙创立的…

电脑开机密码忘记了怎么办?使用优盘重装系统

大家可以在网上搜索,其他方法。尽量找回密码。我这是因为已经很久没有使用这个电脑,而且c盘也没有怎么重要资料的情况下。我才选择重装系统的。 请慎重。 前期准备: 1、准备一个4G以上的U盘 2、备份U盘重要文件,制作过程中会格式…

「深度学习之优化算法」(五)差分进化算法

1. 差分进化算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读) 差分进化算法(Differential Evolution Algorithm,DE)是一种基于群体的进化算法,它模拟了群体中的个体的合作与竞…

黑马点评短信登录功能

一、基于session实现短信登录 1、发送短信验证码 流程图如下: 1、实现UserController下的sendCode方法: /*** 发送手机验证码*/PostMapping("/code")public Result sendCode(RequestParam("phone") String phone, HttpSession se…

微博粉丝清理工具丨2023年最新粉丝批量清理_微博怎么批量清理粉丝

2023年最新微博怎么批量清理粉丝?可能还有不少小伙伴不太清楚 接下来就为大家带来微博批量清理僵尸粉方法 有需要的朋友可以来了解一下,希望下文可以帮到大家 第一种:客服界面清粉方法 然后在客服中心界面选择修正粉丝; 最后点击一下确认就…

const修饰的成员函数

const修饰的成员函数 问题: 哪里出现编译报错了, 如何修改? class A { public:const int get1() const{a1 10;return a1;}private: int a1 0; }; int main() {A a;a.get1();return 0; }当时以为是a是一个非const对象,调用了const成员函数导致编译错误…

关于guacamole项目中的一点感悟与理解

关于guacamole项目中的一点想法 前言一、guacd模块启动相关二、一些感悟与理解参考 前言 Guacamole 是基于 Web 的 VNC 客户端,使用它可以通过web浏览器访问远程服务器终端并进行操作。它的基本架构如下图所示。 巧合之下,前段时间了解了项目中guacd模块…

构建大数据环境:Hadoop、MySQL、Hive、Scala和Spark的安装与配置

前言 在当今的数据驱动时代,构建一个强大的大数据环境对于企业和组织来说至关重要。本文将介绍如何安装和配置Hadoop、MySQL、Hive、Scala和Spark,以搭建一个完整的大数据环境。 简介 安装Hadoop 首先,从Apache Hadoop的官方网站下载所需的…

测试(一)

1.用户需求 可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。 2.软件需求 或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能(所谓的测试文档)。 大多数公司在进行…

05- c语言函数 (C语言)

一 函数的概念 1、在程序设计过程中,为了实现某个功能需要编写多行代码,例如求一个二维数组中的最大值,如果 该功能需要被多次使用,我们可以在每次使用时将原来的代码重复编写,但是这样未免有“凑代码”的嫌疑&#x…

大数据治理.数据储存技术

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转…

Spark大数据处理学习笔记(3.8.3) Spark RDD典型案例-利用RDD实现分组排行榜

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Twpwe】 文章目录 一、任务目标二、准备工作2.1 在本地创建成绩文件2.2 将成绩文件上传到HDFS上指定目录 三、完成任务3.1 在Spark Shell里完成任务3.1.1 读取成绩文件得到RDD3.1.2 利用映射算子生…

Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)

0x01 产品简介 Openfire是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器甚至可支持上万并发用户。 0x02 漏洞概述 Openfire的管理控制台是一个基于 Web 的…

自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

分类目录:《自然语言处理从入门到应用》总目录 在双向语言模型预训练完成后,模型的编码部分(包括输入表示层以及多层堆叠LSTM)便可以用来计算任意文本的动态词向量表示。最自然的做法是使用两个LSTM的最后一层隐含层输出作为词的动…

Qt项目网络聊天室设计

效果演示 网络聊天室 Qt网络聊天室服务端 网络聊天室程序 基于TCP的可靠连接(QTcpServer、QTcpSocket) 一个服务器,多个客户端 3. 服务器接收到某个客户端的请求以及发送信息,经服务器发给其它客户端 最终实现一个共享聊天内容的聊天室! …

大数据治理.数据采集/归集技术

第一部分 阿里巴巴DATAx DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX设计理念 DataX本身作为数据同步框架,将不同…

分布式系统消息通信技术:MOM与RPC

一、中间件 什么是中间件 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台…

springboot配置 spring.profiles.active spring.profiles.include @profile

springboot配置 spring.profiles.active spring.profiles.include profile spring.profiles.active spring.profiles.include profile的命名方式 以 application-开头, --横杠(减号)不能少 application-{这部分自定义}.propertiesapplication-{这部分自定义}.ymlapplicatio…

c++多态详解

前言: 对于面向对象语言来说,多态是面向对象的三大特性之一,简单一点来说多态就是多种形态,是不同对象接收到同一种消息产生的不同动作或者反应,听起来有点抽象,实际上就是完成一个任务让不同的对象来做产生…

合宙Air724UG Cat.1模块硬件设计指南--模拟语音通道

模拟语音通道 简介 模拟音频技术是由传感器采集得到的连续变化的值,根据其电压的幅度用来展示声音强弱。CAT.1内置3种音频输出模式,分别为扬声器(SPK)输出,耳机(HP)输出和听筒(RECEIVER)输出。 特性 SPK接口 SPK-、SPK。Speaker差分信号接口…