基于群搜索算法的光伏电池参数辨识方法转让专利

申请号 : CN201610571277.9

文献号 : CN106169910B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李春来徐岩高兆

申请人 : 国网青海省电力公司国网青海省电力公司电力科学研究院华北电力大学(保定)

摘要 :

本发明公开了一种基于群搜索的光伏电池参数辨识方法,用于辨识单级式光伏并网发电系统的光伏电池参数,包括以下步骤:获取光伏阵列输出电压和输出电流及光伏电池的输出电压和输出电流;搭建光伏电池机理模型,确定目标函数及需要辨识的参数;初始化模型参数,确定发现者、追随者和游荡者;更新发现者、追随者和游荡者的位置;计算新位置对应的目标函数值,重新分配发现者、追随者和游荡者;输出参数辨识结果。本发明通过游荡者的随机性及发现者的局部寻优,优化速度快,同时一直维持全局搜索,有效地解决了优化问题陷入局部最小值的问题,对于多模态高维非线性函数的优化问题有很明显的优势。

权利要求 :

1.一种基于群搜索的光伏电池参数辨识方法,所述参数辨识方法用于辨识单级式光伏并网发电系统的光伏电池参数,所述光伏电池通过m串n并组成光伏阵列:其特征在于:包括以下步骤:步骤1:获取光伏阵列输出电压UL1和输出电流IL1及光伏电池的输出电压UL和输出电流IL,由以下具体分步骤组成:步骤1-1:读取所述光伏阵列的输出电压UL1和输出电流IL1;

步骤1-2:所述光伏电池的输出电压为UL=UL1/m,输出电流为IL=IL1/n;

步骤2:搭建光伏电池机理模型:

其中,UL、IL分别为输出电压和输出电流,Iph.ref为标准测试条件下的光生电流,Io.ref为标准测试条件下的二极管反向饱和电流,A为二极管品质因子,Rs为负载的串联电阻,Rsh为二极管的并联电阻,T为电池的绝对温度,K为玻尔兹曼常数,K=1.380*10^(-23),q为电子电荷,q=1.680*10^(-19);

步骤3:设置目标函数为适应度是均方根误差RMES;

其中,x=[Iph.ref,Io.ref,Rs,Rsh,A]为所述光伏电池需要辨识的参数;N为测量数据的采样点的数目,适应度为:其中,I为光伏阵列的实测输出电流;

步骤4:初始化:设置群规模a、最大转移距离lmax、最大转向角αmax、最大迭代次数MAXGEN、发现者更新的最大尝试次数try_number;所有成员的初始位置{Xi}、(i=1,2,...a)及其角度 Xi=(x1,x2,...,xa), 其中,Xi为第i个所述光伏电池需要辨识的参数;发现者更新次数为0;迭代次数为0;

步骤5:计算各成员的目标函数值,选取目标函数值最小的成员作为发现者,并随机选取剩余的80%为追随者,之后剩余的20%为游荡者;

步骤6:对发现者、追随者和游荡者进行位置更新;由以下具体步骤组成:步骤6-1:发现者的搜索行为;由以下具体分步骤组成:步骤6-1-1:发现者更新次数加1;发现者从当前位置开始搜索,然后在搜索空间中当前位置的前方、左侧、右侧分别进行扫描,在三个方向分别更新位置,然后计各自的适应度,把适应值更好的点作为新的发现者,三个方向分别按照如下公式更新:前方:

右方:

左方:

其中,Xkp为第k次迭代中发现者的位置; 为第k次迭代中发现者的搜索角度;r1是一个平均值为0,标准差为1的正态分布的随机数;r2是均匀分布在(0,1)的随机数;θmax为最大转移角度,均为标量;Dpk为搜索方向,Dik=(di1k,di2k,...,dimk),搜索方向为一个单位向量,由搜索角度计算而来,过程如下:其中, 为第k次迭代中第p个待辨识参数的搜索角度,p=1,2,…m-1,同理, 为第k次迭代中第j-1个待辨识参数的搜索角度, 为第k次迭代中第m-1个待辨识参数的搜索角度,若三个位置的适应度均未优于当前适应度,则按照下式转变扫描角度,重新随机取点;

其中, 为第k次迭代中发现者的搜索角度, 为第k+1次迭代中发现者的搜索角度,αmax为最大转向角;

步骤6-1-2:判断发现者更新次数是否等于try_number;如果是,转向步骤6-1-3;否则转向步骤6-1-1;

步骤6-1-3:发现者的搜索角度更新为

步骤6-1-4:判断群成员位置是否超出设定取值区间,如果是,转向步骤6-1-5;否则转向步骤6-2;

步骤6-1-5:在搜索空间内随机初始化群成员的位置;

步骤6-2:追随者的位置更新如下式:

k

其中,Xi为第i个追随者在第k次迭代中的位置,r3为均匀分布在(0,1)的随机数;

步骤6-3:游荡者的位置更新如下:

其中,lw=α*r1lmax,lmax为最大转移距离;r1是一个平均值为0,标准差为1的正态分布的k随机数,α为迭代过程中游荡者的转向角;Xw为第w个游荡者在第k次迭代中的位置; 为第k+1次迭代中发现者的搜索角度; 为第k次迭代中游荡者的搜索方向;

步骤7:计算群成员位置更新后的目标函数值RMES值;

步骤8:判断迭代次数是否等于最大迭代次数MAXGEN,如果否转向步骤9,否则转入步骤

10;

步骤9:迭代次数加1;转向步骤5,

步骤10:把发现者的位置作为电池参数的辨识结果输出。

说明书 :

基于群搜索算法的光伏电池参数辨识方法

技术领域

[0001] 本发明涉及一种基于群搜索算法的光伏电池参数辨识方法,属于能源技术领域。

背景技术

[0002] 近年来,光伏发电技术以其独特的发电特性取得了广泛地发展与应用。而光伏电池是光伏发电系统中光伏阵列的重要组成部分,光伏电池输出特性会直接影响整个光伏发电系统的整体输出特性,准确地计算光伏发电系统的输出功率,预测光伏电站的发电量,能够更合理地安排机组出力,有助于大规模光伏发电系统的并网运行与调度。所以建立能够准确描述光伏电池输出特性的模型是开展光伏系统对电力系统影响分析等相关研究及仿真的基础。
[0003] 在光伏电池模型方面,国内外学者已做了大量工作,归纳起来主要有三种模型:光伏组件U-I特性模型(机理模型)、工程用简化模型以及考虑部分阴影遮挡的光伏组件模型。其中,机理模型由于概念清楚,特性与实测更一致,因此为更多数研究者所接受。
[0004] 而在实际上,传统的光伏电池参数辨识和功率预测方法,多基于光伏电池生产厂家提供的数据。但是,将光伏电池串并联为光伏阵列后,阵列中的各个电池工作状态并不一致,此时利用厂家提供的数据无法准确辨识光伏阵列的运行参数,也无法精确地预测光伏阵列的输出功率。
[0005] 目前国内外常规的参数辨识方法有最小二乘法、神经网络算法和粒子群算法等等。传统基于最小二乘法的参数辨识方法实现简单,但该算法适应于求解线性方程组,光伏电池的参数辨识问题明显地不能用线性关系来描述,因此最小二乘法在解决此问题上有很大的局限性;基于神经网络算法的参数辨识方法收敛速度慢,易陷入局部最优;基于粒子群算法的参数辨识方法具有优化时间长、易陷入早熟、实现较繁琐等问题。

发明内容

[0006] 本发明需要解决的技术问题是提供一种基于群搜索的光伏电池参数辨识方法。
[0007] 本发明采用下述技术方案:
[0008] 一种基于群搜索的光伏电池参数辨识方法,所述参数辨识方法用于辨识单级式光伏并网发电系统的光伏电池,所述光伏电池通过m串n并组成光伏阵列:包括以下步骤:
[0009] 步骤1:获取光伏阵列输出电压UL1和输出电流IL1及光伏电池的输出电压UL和输出电流IL,由以下具体分步骤组成:
[0010] 步骤1-1:读取所述光伏阵列的输出电压UL1和输出电流IL1;
[0011] 步骤1-2:所述光伏电池的输出电压为UL=UL1/m,输出电流为IL=IL1/n;
[0012] 步骤2:搭建光伏电池机理模型:
[0013]
[0014] 其中,UL、IL分别为输出电压和输出电流,Iph.ref为标准测试条件下的光生电流,Io.ref为标准测试条件下的二极管反向饱和电流,A为二极管品质因子,Rs为负载的串联电阻,Rsh为二级管的并联电阻,T为电池的绝对温度,K为玻尔兹曼常数,K=1.380*10^(-23),q为电子电荷,q=1.680*10^(-19);
[0015] 步骤3:设置目标函数为适应度是均方根误差RMES;
[0016]
[0017] 其中,x=[Iph.ref,Io.ref,Rs,Rsh,A]为所述光伏电池需要辨识的参数;N为测量数据的采样点的数目,适应度为:
[0018]
[0019] 其中,I为光伏阵列的实测输出电流;
[0020] 步骤4:初始化:设置群规模a、最大转移距离lmax、最大转向角αmax、最大迭代次数MAXGEN、发现者更新的最大尝试次数try_number;所有成员的初始位置{Xi}、(i=1,2,...a)及其角度 Xi=(x1,x2,...,xa), 其中,Xi为第i个所述光伏电池需要辨识的参数;发现者更新次数为0;迭代次数为0;
[0021] 步骤5:计算各成员的目标函数值,选取目标函数值最小的成员作为发现者,并随机选取剩余的80%为追随者,之后剩余的20%为游荡者;
[0022] 步骤6:对发现者、追随者和游荡者进行位置更新;由以下具体步骤组成:
[0023] 步骤6-1:发现者的搜索行为;由以下具体分步骤组成:
[0024] 步骤6-1-1:发现者更新次数加1;发现者从当前位置开始搜索,然后在搜索空间中当前位置的前方、左侧、右侧分别进行扫描,在三个方向分别更新位置,然后计各自的适应度,把适应值更好的点作为新的发现者,三个方向分别按照如下公式更新:
[0025] 前方:
[0026]
[0027] 右方:
[0028]
[0029] 左方:
[0030]
[0031] 其中,Xkp为第k次迭代中发现者的位置; 为第k次迭代中发现者的搜索角度;r1是一个平均值为0,标准差为1的正态分布的随机数;r2是均匀分布在(0,1)的随机数;θmax为最大转移角度,均为标量;Dpk为搜索方向,Dik=(di1k,di2k,...,dimk),搜索方向为一个单位向量,由搜索角度计算而来,过程如下:
[0032]
[0033]
[0034]
[0035] 其中, 为第k次迭代中第p个待辨识参数的搜索角度,p=1,2,…m-1,同理,为第k次迭代中第j-1个待辨识参数的搜索角度, 为第k次迭代中第m-1个待辨识参数的搜索角度,若三个位置的适应度均未优于当前适应度,则按照下式转变扫描角度,重新随机取点;
[0036]
[0037] 其中, 为第k次迭代中发现者的搜索角度, 为第k+1次迭代中发现者的搜索角度,αmax为最大转向角。
[0038] 步骤6-1-2:判断发现者更新次数是否等于try_number;如果是,转向步骤6-1-3;否则转向步骤6-1-1;
[0039] 步骤6-1-3:发现者的搜索角度更新为
[0040] 步骤6-1-4:判断群成员位置是否超出设定取值区间,如果是,转向步骤6-1-5;否则转向步骤6-2;
[0041] 步骤6-1-5:在搜索空间内随机初始化群成员的位置;
[0042] 步骤6-2:追随者的位置更新如下式:
[0043]
[0044] 其中,Xik为第i个追随者在第k次迭代中的位置,r3为均匀分布在(0,1)的随机数;
[0045] 步骤6-3:游荡者的位置更新如下:
[0046]
[0047] 其中,lw=α*r1lmax,lmax为最大转移距离;r1是一个平均值为0,标准差为1的正态分布的随机数,α为迭代过程中游荡者的转向角;Xwk为第w个游荡者在第k次迭代中的位置;为第k+1次迭代中发现者的搜索角度; 为第k次迭代中游荡者的搜索方向;
[0048] 步骤7:计算群成员位置更新后的目标函数值RMES值;
[0049] 步骤8:判断迭代次数是否等于最大迭代次数MAXGEN,如果否转向步骤9,否则转入步骤10;
[0050] 步骤9:迭代次数加1;转向步骤5,
[0051] 步骤10:把发现者的位置作为电池参数的辨识结果输出。
[0052] 采用上述技术方案所产生的有益效果在于:
[0053] 1、本发明通过游荡者的随机性及发现者的局部寻优,优化速度很快。
[0054] 2、本发明通过游荡者的加入,使整个迭代曲线持续下降,有效地解决了优化问题陷入局部最小值的问题,并快速地在整个搜索空间找出最优解。
[0055] 3、本发明在搜索过程中保证群成员在限定范围内搜索,若搜索跃出边界时,就回到搜索空间的初始位置,避免了越限,提高了结果的精度。
[0056] 4、本发明对于多模态高维非线性函数的优化问题有很明显的优势。

附图说明

[0057] 图1是光伏电池机理模型原理示意图;
[0058] 图2是基于群搜索算法的光伏电池参数辨识方法流程图。

具体实施方式

[0059] 下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0060] 如图1所示,光伏电池相当于一般的P-N结,电池的模型可以用反向二极管与电流源的并联电路来等效。根据光伏电池机理模型原理示意图建立光伏电池数学模型,以模型为研究对象,推倒出机理模型中待辨识的未知参数,即标准测试条件下的光生电流Iph.ref,标准测试条件下的二极管反向饱和电流Io.ref,二极管品质因子A,串联电阻Rs,串联电阻Rs与负载RL串联,并联电阻Rsh,并联电阻Rsh与二极管A并联,并以均方根误差RMSE为目标函数。
[0061] 如图2所示,一种基于群搜索的光伏电池参数辨识方法,所述参数辨识方法用于辨识单级式光伏并网发电系统的光伏电池,所述光伏电池通过m串n并组成光伏阵列:包括以下步骤:
[0062] 步骤1:获取光伏阵列输出电压UL1和输出电流IL1及光伏电池的输出电压UL和输出电流IL,由以下具体分步骤组成:
[0063] 步骤1-1:读取所述光伏阵列的输出电压UL1和输出电流IL1;
[0064] 步骤1-2:所述光伏电池的输出电压为UL=UL1/m,输出电流为IL=IL1/n;
[0065] 步骤2:搭建光伏电池机理模型:
[0066]
[0067] 其中,UL、IL分别为输出电压和输出电流,Iph.ref为标准测试条件下的光生电流,Io.ref为标准测试条件下的二极管反向饱和电流,A为二极管品质因子,Rs为串联电阻,串联电阻Rs与负载RL串联,即其为负载的串联电阻,Rsh为并联电阻,并联电阻Rsh与二极管A并联,即其为二极管的并联电阻,T为电池的绝对温度,K为玻尔兹曼常数,K=1.380*10^(-23),q为电子电荷,q=1.680*10^(-19);
[0068] 步骤3:设置目标函数为适应度是均方根误差RMES;
[0069]
[0070] 其中,x=[Iph.ref,Io.ref,Rs,Rsh,A]为所述光伏电池需要辨识的参数;N为测量数据的采样点的数目,适应度为:
[0071]
[0072] 其中,I为光伏阵列的实测输出电流;
[0073] 步骤4:初始化:设置群规模a、最大转移距离lmax、最大转向角αmax、最大迭代次数MAXGEN、发现者更新的最大尝试次数try_number;所有成员的初始位置{Xi}、(i=1,2,...a)及其角度 Xi=(x1,x2,...,xa), 其中,xi为所述光伏电池需要辨识的参数;发现者更新次数为0;迭代次数为0;
[0074] 步骤5:计算各成员的目标函数值,选取目标函数值最小的成员作为发现者,并随机选取剩余的80%为追随者,之后剩余的20%为游荡者;
[0075] 步骤6:对发现者、追随者和游荡者进行位置更新;由以下具体步骤组成:
[0076] 步骤6-1:发现者的搜索行为;由以下具体分步骤组成:
[0077] 步骤6-1-1:发现者更新次数加1;发现者从当前位置开始搜索,然后在搜索空间中当前位置的前方、左侧、右侧分别进行扫描,在三个方向分别更新位置,然后计各自的适应度,把适应值更好的点作为新的发现者,三个方向分别按照如下公式更新:
[0078] 前方:
[0079]
[0080] 右方:
[0081]
[0082] 左方:
[0083]
[0084] 其中,Xkp为第k次迭代中发现者的位置; 为第k次迭代中发现者的搜索角度;r1是一个平均值为0,标准差为1的正态分布的随机数;r2是均匀分布在(0,1)的随机数;θmax为最大转移角度,均为标量;Dpk为搜索方向,Dik=(di1k,di2k,...,dimk),搜索方向为一个单位向量,由搜索角度计算而来,过程如下:
[0085]
[0086]
[0087]
[0088] 其中, 为第k次迭代中第p个待辨识参数的搜索角度,p=1,2,…m-1,同理,为第k次迭代中第j-1个待辨识参数的搜索角度, 为第k次迭代中第m-1个待辨识参数的搜索角度,若三个位置的适应度均未优于当前适应度,则按照下式转变扫描角度,重新随机取点;
[0089]
[0090] 其中, 为第k次迭代中发现者的搜索角度, 为第k+1次迭代中发现者的搜索角度,αmax为最大转向角。
[0091] 步骤6-1-2:判断发现者更新次数是否等于try_number;如果是,转向步骤6-1-3;否则转向步骤6-1-1;
[0092] 步骤6-1-3:发现者的搜索角度更新为
[0093] 步骤6-1-4:判断群成员位置是否超出设定取值区间,如果是,转向步骤6-1-5;否则转向步骤6-2;
[0094] 步骤6-1-5:在搜索空间内随机初始化群成员的位置;
[0095] 步骤6-2:追随者的位置更新如下式:
[0096]
[0097] 其中,Xik为第i个追随者在第k次迭代中的位置,r3为均匀分布在(0,1)的随机数;
[0098] 步骤6-3:游荡者的位置更新如下:
[0099]
[0100] 其中,lw=α*r1lmax,lmax为最大转移距离;r1是一个平均值为0,标准差为1的正态分k布的随机数,α为迭代过程中游荡者的转向角;Xw为第w个游荡者在第k次迭代中的位置;
为第k+1次迭代中发现者的搜索角度; 为第k次迭代中游荡者的搜索方向;
[0101] 步骤7:计算群成员位置更新后的目标函数值RMES值;
[0102] 步骤8:判断迭代次数是否等于最大迭代次数MAXGEN,如果否转向步骤9,否则转入步骤10;
[0103] 步骤9:迭代次数加1;转向步骤5,
[0104] 步骤10:把发现者的位置作为电池参数的辨识结果输出。