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

【论文复现】基于改进海洋捕食者算法的光伏模型参数估计

目录

    • 1.摘要
    • 2.海洋捕食者算法MPA原理
    • 3.光伏模型
    • 4.改进策略
    • 5.结果展示
    • 6.参考文献
    • 7.代码获取


在这里插入图片描述

1.摘要

太阳能作为一种丰富的清洁能源,具有替代不可再生能源的巨大潜力。光伏系统作为一种能够直接将阳光转化为直流电的技术,展现出巨大的应用前景。然而,光伏系统的参数估计是一项复杂且富有挑战性的任务,直接影响到系统的效率。目前,大多数光伏参数识别方法都存在计算负担重、容易陷入局部最优解,或在算法参数调整上面临困难等问题,难以提供最佳性能。

针对这些挑战,本文提出了一种基于改进海洋掠食者算法的光伏参数估计方法(IMPA),IMPA算法通过一种群体改善策略来提升解的质量,分别对高质量解和低质量解进行不同的处理。高质量解的位置通过自适应变异操作进行优化,而低质量解则根据群体中最佳解和从群体中选出的良好解的位置进行更新。

2.海洋捕食者算法MPA原理

【智能算法】海洋捕食者算法(MPA)原理及实现

3.光伏模型

SDM(单二极管模型)和DDM(双二极管模型)是最常用的太阳能电池电流-电压特性描述模型,这些模型涉及多个需要估计和优化的参数。由于环境变化、非线性特性以及太阳能电池的老化,这些参数的值会随着时间发生变化。

太阳能电池模型

单二极管模型
在这里插入图片描述

SDM的等效电路由一个电流源、一个与二极管并联的电阻和另一个电阻组成,该模型用于描述光伏电池的输出电流:
I = I p h − I D − I s h I D = I R d ( e x p ( V + I ∗ R s n ∗ V t ) − 1 ) I s h = V + I ∗ R s R s h V t = k ∗ T q \begin{aligned} & I=I_{ph}-I_{D}-I_{sh} \\ & I_{D}=I_{Rd}(exp\left(\frac{V+I^{*}R_{s}}{n^{*}V_{t}}\right)-1) \\ & I_{sh}=\frac{V+I^{*}R_{s}}{R_{sh}} \\ & V_{t}=\frac{k^{*}T}{q} \end{aligned} I=IphIDIshID=IRd(exp(nVtV+IRs)1)Ish=RshV+IRsVt=qkT

其中, I p h I_{ph} Iph I D I_D ID分别表示光生电流和二极管电流, I s h I_{sh} Ish是旁路电阻的电流, I R d I_{Rd} IRd是二极管的反向饱和电流。 V V V表示输出电压, V t V_t Vt表示结的热电压。 n n n是二极管的理想因子, R s R_s Rs是串联电阻, k k k是玻尔兹曼常数。输出电流重写为:
I = I p h − I R d ( e x p ( q ∗ ( V + I ∗ R s ) n ∗ k ∗ T ) − 1 ) − V + I ∗ R s R s h I=I_{ph}-I_{Rd}(exp\left(\frac{q^*(V+I^*R_s)}{n^*k^*T}\right)-1)-\frac{V+I^*R_s}{R_{sh}} I=IphIRd(exp(nkTq(V+IRs))1)RshV+IRs

双二极管模型

在这里插入图片描述

双二极管模型等效电路包含两个二极管与电流源、并联电阻和串联电阻并联连接。DDM产生的输出电流I为:
I = I p h − I D 1 − I D 2 − I s h I=I_{ph}-I_{D1}-I_{D2}-I_{sh} I=IphID1ID2Ish

其中, I D 1 I_{D1} ID1 I D 2 I_{D2} ID2分别为二极管的电流:
I D 1 = I R d 1 ( e x p ( V + I ∗ R s n 1 ∗ V t ) − 1 ) I D 2 = I R d 2 ( e x p ( V + I ∗ R s n 2 ∗ V t ) − 1 ) I_{D1}=I_{Rd1}(exp\left(\frac{V+I^*R_s}{{n_1}^*V_t}\right)-1)\\ I_{D2}=I_{Rd2}(exp\left(\frac{V+I^*R_s}{{n_2}^*V_t}\right)-1) ID1=IRd1(exp(n1VtV+IRs)1)ID2=IRd2(exp(n2VtV+IRs)1)
DDM输出电流:
I = I p h − I R d 1 ( e x p ( V + I ∗ R s n 1 ∗ V t ) − 1 ) − I R d 2 ( e x p ( V + I ∗ R s n 2 ∗ V t ) − 1 ) − V + I ∗ R s R s h I=I_{ph}-I_{Rd1}(exp\left(\frac{V+I^{*}R_{s}}{{n_{1}}^{*}V_{t}}\right)-1)-I_{Rd2}(exp\left(\frac{V+I^{*}R_{s}}{{n_{2}}^{*}V_{t}}\right)-1)-\frac{V+I^{*}R_{s}}{R_{sh}} I=IphIRd1(exp(n1VtV+IRs)1)IRd2(exp(n2VtV+IRs)1)RshV+IRs

光伏模块模型

在这里插入图片描述

光伏模块模型的等效电路更加复杂,因为它包含了更多串联和/或并联连接的太阳能电池。光伏模块的输出电流:
I = I p h ∗ N p − I R d ∗ N p ( e x p ( V + I ∗ R s ∗ N s N p n 1 ∗ N s ∗ V t ) − 1 ) − V + I ∗ R s ∗ N s N p R s h ∗ N s N p I=I_{ph}{}^*N_p-I_{Rd}{}^*N_p\left(exp\left(\frac{V+\frac{I^*R_s{}^*N_s}{N_p}}{n_1{}^*N_s{}^*V_t}\right)-1\right)-\frac{V+\frac{I^*R_s{}^*N_s}{N_p}}{\frac{R_{sh}{}^*N_s}{N_p}} I=IphNpIRdNp(exp(n1NsVtV+NpIRsNs)1)NpRshNsV+NpIRsNs
N s N_s Ns表示串联连接的太阳能电池的数量,而 N p N_p Np表示并联连接的太阳能电池的数量。公式可以简化为:
I = I p h − I R d ( e x p ( V + I ∗ R s ∗ N s n 1 ∗ N s ∗ V t ) − 1 ) − V + I ∗ R s ∗ N s R s h ∗ N s I=I_{ph}-I_{Rd}(exp\left(\frac{V+I^*R_s{}^*N_s}{n_1{}^*N_s{}^*V_t}\right)-1)-\frac{V+I^*R_s{}^*N_s}{R_{sh}{}^*N_s} I=IphIRd(exp(n1NsVtV+IRsNs)1)RshNsV+IRsNs

适应度函数

光伏系统的参数估计被视为优化问题,其目标是最小化模拟数据与实测数据之间的误差。使用均方根误差(RMSE)来衡量模拟电流与实测电流之间的差异:
R M S E ( p r e y i ) = 1 M ∗ ∑ k = 1 M F k ( I , V , p r e y i ) RMSE(prey_i)=\sqrt{\frac{1}{M}*\sum_{k=1}^MF_k(I,V,prey_i)} RMSE(preyi)=M1k=1MFk(I,V,preyi)

参数表述为:
F k ( I , V , p r e y i ) = { I p h − I R d ( e x p ( q ∗ ( V + I ∗ R s ) n 3 k ∗ T ) − 1 ) − V + I ∗ R s R s h − f l o r S D M I p h − I R d ( e x p ( V + I ∗ R s n 1 ∗ V t ) − 1 ) − I R d Ω ( e x p ( V + I ∗ R s n 2 ∗ V t ) − 1 ) − V + I ∗ R s R s h − f l o r D D M I p h − I R d ( e x p ( V + I ∗ R s ∗ N s n 1 ∗ N s ∗ V t ) − 1 ) − V + I ∗ R s ∗ N s R s h ∗ N s − l f o r P V m o d u l e \left.F_k(I,V,prey_i)=\left\{ \begin{aligned} & I_{ph}-I_{Rd}\left(exp\left(\frac{q^*(V+I^*R_s)}{n^3k^*T}\right)-1\right)-\frac{V+I^*R_s}{R_{sh}}-florSDM \\ & I_{ph}-I_{Rd}\left(exp\left(\frac{V+I^*R_s}{n_1{}^*V_t}\right)-1\right)-I_{Rd\Omega}\left(exp\left(\frac{V+I^*R_s}{n_2{}^*V_t}\right)-1\right)-\frac{V+I^*R_s}{R_{sh}}-florDDM \\ & I_{ph}-I_{Rd}(exp\left(\frac{V+I^*R_s^*N_s}{n_1{}^*N_s{}^*V_t}\right)-1)-\frac{V+I^*R_s{}^*N_s}{R_{sh}{}^*N_s}-lforPVmodule \end{aligned}\right.\right. Fk(I,V,preyi)= IphIRd(exp(n3kTq(V+IRs))1)RshV+IRsflorSDMIphIRd(exp(n1VtV+IRs)1)IRdΩ(exp(n2VtV+IRs)1)RshV+IRsflorDDMIphIRd(exp(n1NsVtV+IRsNs)1)RshNsV+IRsNslforPVmodule

4.改进策略

种群改善策略

种群改善策略通过将解的适应度与该群体的平均适应度进行比较,来提升群体中任意解的质量。对于高质量解,采用自适应变异操作,其变异概率设为0.5,以减少计算负担。随着变异概率的增加,结果趋于稳定。在变异操作中,随机选择解中的一个位置,并将其值替换为该参数上下界之间随机生成的新值。(贪心保留)

对于低质量解,根据顶级捕食者和从群体前半部分(按适应度排序后)选择的优质捕食者的位置来更新该解,从而提升解的质量。(适者生存)

N e w . p r e y j = T o p . p r e d a t o r j + p r e y . R a n d l o c j 2 , j = 1 , . . . , D , l o c = r a n d ∈ [ 1 , N / 2 ] New.prey_j=\frac{Top.predator_j+prey.Rand_{locj}}{2},j=1,...,D,loc=rand\in[1,N/2] New.preyj=2Top.predatorj+prey.Randlocj,j=1,...,D,loc=rand[1,N/2]

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

5.结果展示

CEC2005
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

单二极管模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

光伏模块模型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6.参考文献

[1] Abdel-Basset M, El-Shahat D, Chakrabortty R K, et al. Parameter estimation of photovoltaic models using an improved marine predators algorithm[J]. Energy Conversion and Management, 2021, 227: 113491.

7.代码获取


http://www.kler.cn/a/456099.html

相关文章:

  • DeepSpeed 使用 LoRA 训练后文件结构详解
  • 运行Springboot + Vue 项目
  • 【GlobalMapper精品教程】091:根据指定字段融合图斑(字段值相同融合到一起)
  • 24.try块怎么用 C#例子
  • 嵌入式硬件杂谈(七)IGBT MOS管 三极管应用场景与区别
  • win版ffmpeg的安装和操作
  • 攻防世界web新手第五题supersqli
  • Bash Shell知识合集
  • Qt6 QML RegularExpressionValidator 输入中文的坑
  • VSCode 插件开发实战(十五):如何支持多语言
  • shell编程7
  • Ubuntu通过mDNS实现局域网local域名和octoprint域名访问
  • 巧用mask属性创建一个纯CSS图标库
  • ‘pnpm’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • 如何在嵌入式系统或计算机系统中验证boot程序
  • CountDownLatch
  • 在K8S中,CNI有什么作用?
  • Day37灯泡开关
  • vim多窗格
  • 访问网页的全过程
  • springmvc-拦截器-异常处理
  • [MySQL报错]关于发生net start mysql 服务无法启动,服务没有报告任何错误的五种解决方案。
  • 串口通信标准RS232、RS422、RS485有什么区别和不同
  • 哪些框架、软件、中间件使用了netty? 哪些中间件、软件底层使用了epoll?
  • HCIA笔记9--NAT、ACL与链路聚合
  • IDE 强大功能背后的 Language Server Protocol 详解