1. 引言
为应对近些年来全球环境污染、气候变暖和日益严重的能源短缺问题,可再生能源的利用成为世界能源问题讨论的焦点。太阳能光伏(PV)电池为基础的能源是解决世界能源问题的一种方法 [1] 。为了控制和优化光伏系统,大量学者对太阳能光伏电池的非线性电流电压特性进行了研究,使用精确的模型来描述光伏电池的非线性输出特性并且快速准确辨识未知参数 [2] ,能够为光伏电池功率跟踪 [3] 、性能诊断 [4] 等技术提供理论依据,对高效利用光伏发电系统具有实际意义。
目前,光伏模型参数辨识的方法主要分为两类:确定性算法和元启发式算法。确定性算法有非线性最小化和Lambert W函数 [5] ,它们存在一定的局限性。且PV模型参数辨识往往是隐式的、非线性的和多模态的,这导致在采用确定性算法时求解效果不佳。与确定性算法相比,元启发式算法随机性强、辨识精度高、计算能力强,故近些年来它被广泛应用于光伏模型参数辨识问题中。例如粒子群优化算法 [6] 、模拟退火算法 [7] 、人工蜂群算法 [8] 、差分进化算法 [9] 、JAYA算法 [10] 、多重学习回溯搜索算法 [11] 等。调研发现上述元启发式算法存在容易陷入局部最优解的问题。
TLBO算法 [12] 是RAO等人提出的一种智能优化算法,简单且具有较快的收敛速度,并在参数辨识领域内取得了不错的成果。近年来如下TLBO变体被用于PV模型参数辨识,文献 [13] 提出了基于广义对立教学优化TLBO算法(GOTLBO),其初始化阶段采用基于广义对立的两个步骤同时进行的方法来提高其收敛性,加快了收敛速度,但是参数辨识精度不高;文献 [14] 提出了基于改进的教学优化TLBO算法(ITLBO),改进了教与学的策略,参数辨识的精度得到了提高,但迭代过程中算法收敛的速度较慢;文献 [15] 提出了一种基于经验学习的自适应教学优化TLBO算法(ELATLBO),提出了经验学习策略,并将群体分为适合解和劣解,自适应地选择教师阶段或学习者阶段,提高了参数辨识的精度,加快了收敛的速度,但其辨识能力的稳定性不足。
针对上述问题,本文提出了一种改进的TLBO算法即DEITLBO。首先使用混沌精英学习法 [16] 更新种群,拓宽种群分布,降低了算法陷入局部最优的可能性。其次,引入绩效导向机制 [17] ,计算适应度值,按照排名对种群进行分类,解决了个体进化方向重叠的问题,极大程度避免了局部最优解。最后,利用差分进化策略 [18] 更新种群,进一步提高算法在局部的更新能力。将DEITLBO算法与其他6种优化算法在本文所讨论的模型下进行比较,实验结果表明,该算法在搜索能力、收敛速度、辨识精度和稳定性方面表现最佳。
2. 光伏电池模型及评价函数
目前常见的光伏电池模型主要包括:单二极管模型和双二极管模型。本文选择双二极管模型和基于单二极管模型经过串联和并联组合而成的光伏组件模型作为研究对象。
2.1. 双二极管模型
双二极管模型的等效图如图1所示。数学表达式为
(1)
式中,Iph为光生电流;I为输出电流;V为输出电压;q为电荷量;Rs为串联电阻;k为玻尔兹曼常数,
;T为热力学温度;n1,n2为二极管扩散复合因子;Rsh为并联电阻;Isd1,Isd2为二极管内部反向饱和电流。
![](//html.hanspub.org/file/117-1701497x10_hanspub.png?20240506095502305)
Figure 1. Illustrates the analogous circuit of the dual diode model
图1. 双二极管的等效电路
2.2. 光伏组件模型
光伏组件模型由若干个单二极管模型经过串联和并联组合而成,如图2所示。数学表达式为
(2)
式中,Np为光伏电池并联数量;Ns为光伏电池串联数量。光伏组件模型中含有5个待识别参数。分别为Iph,Isd,n,Rsh,Rs。
![](//html.hanspub.org/file/117-1701497x12_hanspub.png?20240506095502305)
Figure 2. Illustrates the equivalent circuit of the PV module model
图2. 光伏组件模型的等效电路
2.3. 评价函数
本文取均方根误差(Root Mean Square Error, RMSE)为评价函数,公式如下:
(3)
式中,Num为实测数据样本点数量;Itar,i为目标电流;Icar,i为计算电流。
3. 算法设计
3.1. TLBO算法
TLBO是Rao等人提出的一种简单高效的优化方法。主要包括两个阶段:教师阶段和学习者阶段。具体如下所示。
3.1.1. 教师阶段
在教学阶段,通常把班内最好的学生定义为教师,教师与学生存在学习互动的关系,关于平均水平使用均值(Xmean)体现,公式如下:
(4)
式中,Np是班级内学生人数;
是每个学生的个体。
在教学过程中,每个学生个体的更新公式如下:
(5)
式中,Xi,new表示为第i次更新的学生个体;Xteacher表示为班级中视为老师的个体;rand是[0, 1]范围内的随机数值;TF为教学因子,其值一般设为1或2。
在每次迭代过后,都要根据目标函数对Xi,new进行评估。如果Xi,new比Xi好,则更新Xi为Xi,new;否则,Xi不变。
3.1.2. 学习阶段
在学习阶段,学生随机互动交流,分享学习经验,通过互相比较来提高自己的学习水平。对于学习者Xi,new,更新公式如下:
(6)
其中Xi和Xj是两个不同的学生个体,
是Xi的评价函数值。如果Xi,new优于Xi,则接受Xi,new为函数值;否则,不变。
TLBO算法利用教师阶段与学习阶段的结合,将原有的学生个体通过在整体中学习和个体之间进行比较学习的方法,来提高整体与个体的水平,从而提高了寻找最优值的效率与准确性。但TLBO在解决参数辨识中的性能会受到最高水平学习者,教师的干预,会有一些限制性因素。
3.2. DEITLBO算法
为解决TLBO算法在参数辨识问题中求解精度低,稳定性差的问题,提出了改进的DEITLBO算法。
3.2.1. 混沌精英学习法
针对初始化目标种群后,算法在局部最佳区域内进行范围性探索,导致目标结果过早收敛的问题,引入基于混沌精英的学习方法来提高最优解的质量,公式如下:
(7)
(8)
式中m为迭代次数,Zm为第mth次混沌迭代后产生的值,初始值Z0是在[0, 1]范围内随机生成的。
是最优解的jth变量的更新值。更新后的解若优于原始最优解则取代其成为最佳解。
由于混沌精英中的序列本身具有随机性和全局性,能够更好的覆盖整个模块区域,围绕一个解来展开形成新的解,能充分利用整个空间,避免陷入局部最优从而提高原始解的质量。
3.2.2. 绩效导向机制
通常情况下,探索能力帮助算法革新适应空间,重新定位目标;开发能力是在原有的位置帮助算法接续开采,挖掘最佳方案。开发和探索能力之间的平衡决定了元启发式算法的性能。如何在合理的资源分配下平衡这两个能力是设计算法的关键。引入绩效导向机制通过合理分配资源的方式来提高算法的性能。这里用概率来量化个体在整体中的表现,每个个体通过贴合自身的概率系数来进行不同的进化策略,来最大限度地匹配上相应的探索能力与开发能力。
首先,实行个人绩效量化,对每个个体进行一个概率性评估,公式如下
(9)
(10)
其中Np为种群的规模,Ri为针对每个个体的排序值,Pi为其所对应的概率。
然后,个体根据所标记上的概率值,自适应选择适合自己的更新策略,提高自身能力。第一种更新策略如下
(11)
(12)
其中
和
为最优解和最差解的评价函数值,w为自适应权值。
第二种更新策略如下
(13)
其中,
和
分别为第l和第m个体的第jth变量的值。其中Pl和R都分别对应第l和第m个体的概率值。
策略一引入了自适应权值帮助个体提高探索能力,原理在于可以在早期帮助概率值较高的个体更大程度地接近最优解,找到势域,在势域中细化搜索范围,趋近最优解,避开最劣解。策略二加强了个体的勘探能力,选择两个不同的个体,根据个体的差异性确定开发的方向,搜索更多的最优区域的信息,进而改进个体的探索空间。综合来讲,策略一与策略二分别为种群中较好的个体与较差的个体提供了进化方向的引导,针对不同水平制定不同方案,提高了找到全局最优解的效率。
3.2.3. 差分进化策略(DE)
为了减少TBLO算法陷入局部最优的情况,引入功能强大并且极易容易实现的差分进化策略(DE)。三部分,即变异,交叉和选择。在DE中,第t次迭代的第i个种群个体表示为
,其中,
,
,ps为种群大小,tmax为最大迭代次数,D为问题维数,DE通过组合父个体来创建新的候选个体。如果父节点被对应的候选节点击败,它将被替换。
在变异过程中,突变算子作为DE的核心,对每个目标个体
生成相应的突变向量
,计算公式如下
(14)
其中为
第t次迭代中的最优个体
互斥并且与
不同,
为突变比例因子。
交叉发生在产生突变向量
之后,试验向量
是由
和
进行交叉后产生的二进制机制向量。表达式如下
(15)
其中Cr为交叉率,drand为
中的随机挑选的整数。
选择部分是将上述两种类型的产物比较并且择优选择的过程,实行选择运算符以确定试验向量是否存活到下一次迭代,过程可以表示为
(16)
差分进化策略依靠上述三个部分,将目标种群进行去中心化,在保证探索效率的同时拓宽了种群的随机多样性,允许突变后的种群个体加入到进化路线当中,通过择优选择的方式,将好的个体与较差个体的差距变成另一维度的平行竞争关系。
3.2.4. DEITLBO算法的操作步骤
图3所示DEITLBO的算法流程图及表1所示其伪代码。
4. 实验与分析
为了验证本文提出的DEITLBO算法在光伏组件模型参数辨识中的有效性,选择双二极管模型和S75
多晶硅光伏组件进行实验测试。模型的参数范围见表2。
实验总共选取了6种算法作为对比算法,包括教学优化TLBO算法 [12] 、广义对立教学优化GOTLBO算法 [13] 、改进教学优化ITLBO算法 [14] 、基于经验学习的自适应教学优化ELATLBO算法 [15] 、IJAYA算法 [16] 、性能导向PGJAYA算法 [17] 、算法的参数设置见表3。选取这些算法是因为它们在本文所讨论的方向上取得了较好的效果以及部分策略的关联性。
表2中,F为比例因子,Jr为跳跃率,CR为交叉率,TF为教学因子,其值设为1或者2,我们统一设定为1。
实验中,算法的最大迭代次数ITER-MAX为50000。算法在CPU为Intel® Core™ i7-8700,主频为3.2 GHz内存为16.0 GB的台式计算机上采用MATLAB 2021a编程实现。
![](Images/Table_Tmp.jpg)
Table 2. Parameter ranges for photovoltaic module models
表2. 光伏组件模型的参数范围
![](Images/Table_Tmp.jpg)
Table 3. Parameter settings of the algorithms
表3. 算法的参数设置
4.1. 双二极管模型实验结果
双二极管模型的实验I-V数据取自文献 [19] 。将DEITLBO算法与IJAYA、PGJAYA、TLBO、ITLBO、ELATLBO、GOTLBO进行参数辨识,辨识结果与RMSE值如表4所示。
由表4可知,在所比较的算法中,ITLBO、ELATLBO算法和DEITLBO算法获得了几乎相当的最佳RMSE值。为了进一步说明本文所提算法的优越性,将六种对比算法与DEITLBO算法独立运行30次得到的最小RMSE值,最大RMSE值,平均RMSE值和RMSE值的标准偏差作为对比实验,结果见表5。
![](Images/Table_Tmp.jpg)
Table 4. Comparison of DEITLBO with other algorithms on the double diode model
表4. 双二极管模型下DEITLBO与其他算法的比较
![](Images/Table_Tmp.jpg)
Table 5. Comparison of RMSE values of DEITLBO and other algorithms on the double diode model
表5. 双二极管模型下DEITLBO与其他算法RMSE值的比较
如表5所示,DEITLBO的RMSE值在9.8248E−04和9.8602E−04间浮动,优于性能最接近DEITLBO算法的ELATLBO算法,RMSE性能最优;DEITLBO算法的标准偏差为1.1003E−08,算法的平均值为9.8296E−04,均优于其它六种比较算法对应指标值。表5可以看出DEITLBO算法的辨识精度、稳定性表现最优。
不同算法的迭代收敛曲线如图4所示。由图4可以看出,DEITLBO算法在参数辨识的迭代过程中收敛速度较快,能够比其他几种算法提前达到相对稳定的状态,高效地将算法从局部最优的风险中脱离出来,无论在局部还是在全局当中,其搜索能力均有不错的表现。
![](//html.hanspub.org/file/117-1701497x55_hanspub.png?20240506095502305)
Figure 4. Convergence plots from various algorithms
图4. 不同算法的迭代收敛曲线
4.2. S75多晶硅光伏组件模型实验结果
为了验证DEITLBO算法在不同辐照度和不同温度实验条件下对光伏组件模型参数辨识的有效性,选择S75多晶硅光伏组件模型进行实验。实验数据分别在辐照度为1000 W/m2、800 W/m2、600 W/m2、400 W/m2、200 W/m2,温度为25℃、50℃、60℃环境下测得,实测数据与文献 [20] 一致。待辨识参数的搜索空间见表2,其中ISC为光伏组件短路电流,计算公式如下:
(17)
式中,
为辐照度G和温度T下的短路电流;ISC_STC为光伏组件短路电流;GSC_STC为辐照度,GSTC = 1000 W/m2;TSTC为温度,TSTC = 25℃;α为短路电流温度系数。表6列出了在两种场景,面对不同温度和不同辐照度的条件下,DEITLBO算法在S75多晶硅光伏组件模型中的各个参数的辨识结果,及其评价指标RMSE值和标准偏差。
从表中可以看出,该算法在不同的场景下均得到了较低的RMSE值,其标准偏差也稳定小于E-16,展现了DEITLBO算法在不同环境下的精确性和稳定性。另外辨识的参数如光电流Iph,从物理角度,其值会随着光照辐射度的增加而变大,表6中也印证了这一点。参数Isd为二极管反向饱和电流,其值与温度成正相关,表6中当温度升高,辐照度不变的情况下,Isd逐渐增加,符合物理原理 [21] 。另外,理想因子n值,无论在哪种情况下,都稳定在40左右,符合在某一特定的型号组件在不同情况下的理想因子基本不变的原理。综上所述,从物理学的角度来看,本文算法在不同条件下提取的参数是准确合理的。
![](Images/Table_Tmp.jpg)
Table 6. Results of parameter identification of S75 polycrystalline silicon PV module by DEITLBO algorithm in different scenarios
表6. 不同场景下DEITLBO算法在S75多晶硅光伏组件模型参数辨识结果
为进一步验证DEITLBO算法参数辨识的普适应性,绘制算法在不同温度情况下S75多晶硅光伏组件模型中模型曲线与实测数据的电流–电压特性曲线如图5所示;绘制算法在不同辐照度下S75多晶硅光伏组件模型中模型曲线与实测数据的电流–电压特性曲线如图6所示。图5和图6表明了DEITLBO算法计算的电流值与实测值基本一致,验证了所提算法的普适性。
5. 结论
针对TLBO算法存在收敛速度低,辨识准确性差等问题,本文提出了一种基于差分进化的绩效导向制教学优化算法DEITLBO算法,并将其应用到不同光伏模型的参数辨识中。创新之处在于采用混沌精英学习法和绩效导向两种机制,提高原始解的同时对不同个体分类更新,引入差分进化的更新策略进而改进TLBO算法。在双二极管模型参数辨识实验中,综合评价本文算法与其他算法,结果表明DEITLBO算法能够获得最精准的参数值,且寻优精度、稳定性、收敛速度优于其他几种对比算法;此外,利用不
![](//html.hanspub.org/file/117-1701497x58_hanspub.png?20240506095502305)
Figure 5. Irradiance is 1000 W/m2 under different temperature conditions
图5. 辐照度为1000 W/m2时不同温度条件下
![](//html.hanspub.org/file/117-1701497x59_hanspub.png?20240506095502305)
Figure 6. When the temperature is 25˚C, under different irradiance conditions
图6. 温度为25℃时不同辐照度条件下
同辐照度和不同温度下S75多晶硅光伏组件的实测数据进行实验,实验结果进一步验证了本文算法的有效性和实用性,为光伏组件模型参数辨识提供了一种新的方法。
基金项目
国家自然科学基金资助项目(11774017)。
NOTES
*通讯作者。