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

2025年AEJ SCI2区,动态反向排序教与学优化算法DSTLBO+光伏系统参数辨识,深度解析+性能实测

目录

    • 1.摘要
    • 2.教与学优化算法TLBO
    • 3.光伏模型
    • 4.动态反向排序教与学优化算法DSTLBO
    • 5.结果展示
    • 6.参考文献
    • 7.代码获取
    • 8.读者交流


1.摘要

由于能源枯竭问题,光伏(PV)发电作为领先的可再生太阳能发电方式,受到了广泛关注。如何准确识别光伏系统参数以提高发电效率,已成为该领域的研究热点。本文提出了一种基于动态方向学习策略和排序教学学习优化算法(DSTLBO),用于光伏模型的精准识别。

2.教与学优化算法TLBO

【智能算法】教与学优化算法 (TLBO)原理及实现

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.动态反向排序教与学优化算法DSTLBO

TLBO算法中采用随机初始化的方法,使得种群在搜索空间内具有一定的分散性,但过度分散可能导致解远离最优,影响最终结果的质量。虽然多数群体优化算法均采用此初始化方式,但研究表明初始化质量直接关系到算法的收敛速度和精度。因此,本文引入动态反向学习策略,通过扩展搜索空间至对称区域,提升种群多样性。

O X = X + R 1 × ( R 2 × ( u b + l b − X ) − X ) OX=X+R_1\times(R_2\times(ub+lb-X)-X) OX=X+R1×(R2×(ub+lbX)X)

基于实际教学过程,本文提出了一种排序机制,这种排序机制采用基于适应度排名的选择方法,有利于建立最优个体优势,充分利用种群中所有个体的有效信息,以产生更优的下一代个体。
计算得到排序因子 C R CR CR,用于区分具有不同学习能力的个体,避免所有个体通过相同方式进行信息交互。
i n d i c e s = s o r t ( F i t ) indices=sort(Fit) indices=sort(Fit)

C R ( i n d i c e s ( i ) ) = 0.45 ∗ [ 1 − sin ⁡ ( i n d i c e s ( i ) ∙ π 2 ) ] N P CR(indices(i))=\frac{0.45*[1-\sin\left(indices(i)\bullet\frac{\pi}{2}\right)]}{NP} CR(indices(i))=NP0.45[1sin(indices(i)2π)]

在TLBO算法中优秀学生的标准是其成绩高于班级平均分,因此DSTLBO通过将成绩排名前半部分的学生成绩作为班级平均分来提升学生的整体质量。
X m e a n = 1 2 N P ∑ i = 1 N P / 2 X i X_{mean}=\frac{1}{2NP}\sum_{i=1}^{NP/2}X_i Xmean=2NP1i=1NP/2Xi

根据 C R CR CR可以获得学习能力更强的个体,教师阶段的解:
N e w x ( i , : ) = X ( i , : ) + r a n d × ( u b − X ( i , : ) ) , i f X ( i , : ) = = X t e a c h e r New_x(i,:)=X(i,:)+rand\times(ub-X(i,:)),ifX(i,:)==X_{teacher} Newx(i,:)=X(i,:)+rand×(ubX(i,:)),ifX(i,:)==Xteacher
N e w x ( i , : ) = X ( i , : ) + rand × ( X t e a c h e r − T F × X m e a n ) , if r < C R ( i ) New_x(i,:) = X(i,:) + \text{rand} \times \left(X_{teacher} - T_F \times X_{mean}\right), \quad \text{if} \quad r < CR(i) Newx(i,:)=X(i,:)+rand×(XteacherTF×Xmean),ifr<CR(i)
如果 r < C R ( i ) r < CR(i) r<CR(i),则该个体具有较强的学习能力,会按照TLBO算法的教师阶段流程进行学习。如果该个体是当前的最优个体,则会根据自身的学习方式继续在问题空间中学习,而不与其他成员进行信息交互。(DSTLBO 不会在教师阶段结束后立即进行适应度评估,而是在进入学习者阶段的部分种群分组学习完成后)

在TLBO算法中,学习者阶段仅在两个随机个体之间进行信息交互,缺乏全局搜索能力。DSTLBO则随机选取三个个体互相学习:
N e w X = X t b + r a n d × ( X r 2 − X r 3 ) NewX=X_{tb}+rand\times(X_{r2}-X_{r3}) NewX=Xtb+rand×(Xr2Xr3)

DSTLBO伪代码

DSTLBO VS TLBO 流程图

5.结果展示

单峰表现不行,多峰可以



论文结果

6.参考文献

[1] Wang X, Zhang W. Dynamic opposition learning-based rank-driven teaching learning optimizer for parameter extraction of photovoltaic models[J]. Alexandria Engineering Journal, 2025, 117: 325-339.

7.代码获取

8.读者交流

http://www.xdnf.cn/news/698653.html

相关文章:

  • java课堂笔记10
  • ubuntu创建指定版本python虚拟环境
  • emu8086 v4.08安装教程
  • Python基础语法(下)
  • 打破认知壁垒重构科技驱动美好生活 大模型义务传播计划
  • 数据科学入门
  • CS144 - Lecture 1 记录
  • js中common.js和ECMAScript.js区别
  • 智慧交通新纪元:AI赋能下的交通治理革命与技术演进路径
  • 学习路之Nginx--不同域名的反向代理
  • 有道翻译js分析
  • 对于Const关键字修饰的对象
  • 明远智睿SSD2351开发板:语音机器人领域的变革力量
  • 麻省理工新突破:家庭场景下机器人实现精准控制,real-to-sim-to-real学习助力
  • Conda更换镜像源教程:加速Python包下载
  • C++基础:模拟实现vector(有存在深层次的浅拷贝问题)
  • 【芯片设计- SoC 常用模块 9.1 -- PLL 介绍】
  • 本周白银想法
  • 《数据结构笔记六》队列 ⭐⭐⭐
  • Dolphin文档解析从理论到实践——保姆级教程
  • 【MySQL】第12节|MySQL 8.0 主从复制原理分析与实战(二)
  • VisionPro —— 上料检测模拟
  • AVL树
  • Kotlin扩展函数与属性实战指南:从入门到企业级应用
  • 【c++】【数据结构】红黑树
  • 【位运算】常见位运算总结
  • 云原生架构,各行业数字化转型法宝
  • 回归任务损失函数对比曲线
  • vue3+Pinia+element-plus 后台管理系统项目实战记录
  • 2..3...4.... Wonderful! Wonderful!_cf1930E分析与解答