本发明属于太阳能电池及光伏发电阵列的检测,具体涉及一种基于网格搜索和改进nm单纯形算法的光伏模型更新方法。
背景技术:
光伏组件及阵列的精确建模对于优化光伏电站的发电效率具有重要作用。然而,由于光伏组件及阵列安装和工作在复杂的户外环境中,同时受到热循环、湿度,紫外线,风激振等各种环境因素的作用,容易出现局部材料老化、性能下降、裂纹等各种问题,导致模型参数会随着时间发生变化。光伏组件及阵列主要采用单/双二极管模型,其模型参数对模型的准确性有重要影响。基于实测的光伏组件和阵列伏安(i-v)特性输出曲线的模型参数提取方法与技术,能够获取准确的光伏阵列模型参数,用于实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。随着世界各国光伏发电装机量的快速增长,光伏发电系统中光伏组件及阵列的精确模型参数提取方法与技术近年来得到国内外越来越多的学者和相关机构的关注。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于网格搜索和改进nm单纯形算法的光伏模型更新方法,提高了参数提取的精度和速度,能够实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。
为实现上述目的,本发明采用如下技术方案:
一种基于网格搜索和改进nm单纯形算法的光伏模型更新方法,包括以下步骤:
步骤s1:获取光伏面板的实际i-v特性曲线信息;
步骤s2:确定光伏组件模型和目标函数;
步骤s3:采用网格搜索对光伏模型参数进行全局搜索,获取光伏模型参数搜索起始点,并确定模型参数搜索范围;
步骤s4:采用改进的nelder-mead单纯形对步骤s3中的模型参数搜索起始点进行局部搜索,获取全局最优的光伏模型参数向量。
步骤s5:根据得到的全局最优的光伏模型参数向量,实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。
进一步的,所述步骤s1具体为:
步骤s101:获取光伏面板的实际i-v特性曲线信息,包括样本点数量相同的电压、电流,同时获取温度t、光照度trr、开路电压voc和短路电流isc;;
步骤s102:计算i-v特性曲线的最大功率pm和最大功率点的电压vm、电流im。
进一步的,所述步骤s2具体为:
步骤s201:光伏模型采用单二极管模型,单二极管光伏模型数学公式如下所示:
其中i和v为实测i-v曲线中的电流和电压值;vt为热电压由
步骤s202:确定目标函数,按照如下方法获取,记均方根误差为:
其中,n是i-v特性曲线上的样本总数,f(v,i,x)是实测电流和模型估计电流间的绝对误差;对于单二极管的f(v,i,x)为:
进一步的,所述步骤s3具体为:
步骤s301:确定rs和n的搜索范围;
n的搜索下限为:nl=voc,搜索上限为:
rs的搜索下限为:
步骤s302:iph网格阵列第i行,第j列的元素都设置为isc;
步骤s303:计算rs和n的网格阵列:
其中jmax为网格阵列的列的数目,imax为网格阵列的行的数目;
步骤s304:计算io和rsh的网格阵列:rsh网格阵列第i行
步骤s305:构建光伏模型参数阵列(x),阵列每个元素都是一个模型参数向量,每个模型参数向量表示为x(i,j)=[iph,io(i,j),n(i,j),rs(i,j),rsh(i,j)],构建目标函数阵列(f),目标函数阵列的每个元素为光伏模型参数阵列对应参数向量的目标函数,选择目标函数rmse最小时的模型参数向量,记为
步骤s306:确定iph、io和rsh的搜索范围:
其中iphl为iph的搜索下限,iphu为iph的搜索上限,iol为io的搜索下限,iou为io的搜索上限,rshl为rsh的搜索下限,rshu为rsh的搜索上限。
进一步的,所述步骤s4具体为:
步骤s401:在给定的起始点x1,根据xi 1=(1 △)xi,i=1,2,...,n,构造n 1个顶点的单纯形;式中△系数控制初始单纯形的大小,n为自然数;
步骤s402:判断迭代次数iter是否小于最大的迭代数itermax,若是进入步骤s403;否则输出最优解;
步骤s403:对n维单纯形的n 1个顶点进行排序f(x1)≤f(x2)...f(xn)≤f(xn 1);其中f(x)为目标函数rmse(x)
步骤s404:根据公式:xr=xc α(xc-xn 1)计算单纯形的反射点xr,式中
步骤s405:判断是否f(x1)≤f(xr)<f(xn),若是则使得xn 1=xr,并进入步骤s413;否则进入步骤s406;
步骤s406:判断是否f(xr)<f(x1),若是则根据xe=xc β(xr-xc)计算膨胀点xe,式中,β为膨胀系数,并进入步骤s407,否则直接进入步骤s408;
步骤s407:判断是否f(xe)<f(xr),若是则使得xn 1=xe,否则使xn 1=xr,并进入步骤s413;
步骤s408:判断f(xn)≤f(xr)<f(xn 1),若是则根据xoc=xc γ(xr-xc)计算外缩收点xoc,式中,γ为压缩系数,并进入步骤s409,否则直接进入步骤s410;步骤s409:判断是否f(xoc)≤f(xr),若是则使得xn 1=xoc并进入步骤s413;否则直接进入步骤s412;
步骤s410:判断是否f(xr)≥f(xn 1),若是则根据xic=xc-γ(xr-xc)计算内缩收点xic,并进入步骤s411;
步骤s411:判断是否f(xic)≤f(xr),若是则使得xn 1=xic并进入步骤s413;否则直接进入步骤s412;
步骤s412:计算最优n个顶点组成的矩阵的主对角向量xd,使得xn 1=xd并进入步骤s413;
步骤s413:使得当前迭代次数iter增加1,判断迭代次数是否达到最大迭代次数,若达到则结束并输出最优参数向量,若未达到则返回步骤s402。
进一步的,所述反射系数ρ=1,膨胀系数β=2,压缩系数γ=0.5。
本发明与现有技术相比具有以下有益效果:
本发明利用网格搜索快速定位nm单纯形算法的搜索起点,利用改进后的nm单纯性算法快速搜索到最优的结果,同时提高了参数提取的精度和速度,能够实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。
附图说明
图1为本发明方法的总体流程图
图2为本发明一实施例中单二极管光伏模型的等效电路图
图3为本发明一实施例中i-v特性曲线信息测试的所用光伏阵列
图4为本发明一实施例中gr-mnms和现有方法在单二极管模型下参数提取结果的比较示意图。
图5为本发明一实施例中gr-mnm光伏模型参数辨识的收敛曲线
图6为本发明一实施例中gr-mnm光伏模型参数辨识的拟合曲线
图7为本发明在dsp平台上的实现效果
图8为本发明对不同光伏组件的模型参数提取结果。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明提供一种基于网格搜索和改进的nelder-mead单纯形的光伏模型更新方法,流程框图如图1所示。图2为本实施例的光伏阵列、组件串、组件或电池的单二极管等效电路模型,单二极管光伏数学模型如下式所示:
其中i和v为实测iv曲线(伏安曲线)中的电流和电压值;vt为热电压由
本实施例通过在给定的参数向量的范围内,寻找一组最优的参数向量x使得如下述公式所示:
均方根误差目标函数rmse(x)的取值最小,即使得实测iv曲线与仿真iv曲线最优拟合,具体包括以下步骤:
步骤s1:获取光伏面板的实际i-v特性曲线信息;
步骤s2:确定光伏组件模型和目标函数;
步骤s3:采用网格搜索对光伏模型参数进行全局搜索,获取光伏模型参数搜索起始点,并确定模型参数搜索范围;
步骤s4:采用改进的nelder-mead单纯形对步骤s3中的模型参数搜索起始点进行局部搜索,获取全局最优的光伏模型参数向量。
步骤s5:根据得到的全局最优的光伏模型参数向量,实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。
在所述步骤s1中,本实例中的i-v特性曲线是在漳州国绿太阳能科技有限公司的18块gl-m100单晶硅光伏组件(voc:21.5v,isc:6.03a,vmpp:17.5v,impp:5.71a)以6块串联为一串和3串并联而成的阵列上测得,如图3所示。
步骤s101:所述i-v特性曲线信息包括样本点数量相同的电压、电流,同时获取温度t、光照度trr、开路电压voc和短路电流isc;
步骤s102:计算i-v特性曲线的最大功率pm和最大功率点的电压vm、电流im。
在所述步骤s2中,包括以下几个步骤:
步骤s201:光伏模型采用单二极管模型,单二极管光伏模型数学公式如下所示:
其中i和v为实测i-v曲线中的电流和电压值;vt为热电压由
步骤s202:确定目标函数,按照如下方法获取,记均方根误差为:
其中,n是i-v特性曲线上的样本总数,f(v,i,x)是实测电流和模型估计电流间的绝对误差;对于单二极管的f(v,i,x)为:
在所述步骤s3中,包括以下几个步骤:
步骤s301:确定rs和n的搜索范围:n的搜索下限计算方法为:nl=voc;搜索上限计算方法为:
步骤s302:iph网格阵列第i行,第j列的元素都设置为isc;
步骤s303:计算rs和n的网格阵列:rs的网格阵列的第j列元素计算方法为:
步骤s304:计算io和rsh的网格阵列:rsh网格阵列第i行,第j列的元素计算方法为:
步骤s305:构建光伏模型参数阵列(x),阵列每个元素都是一个模型参数向量,每个模型参数向量表示为x(i,j)=[iph,io(i,j),n(i,j),rs(i,j),rsh(i,j)],构建目标函数阵列(f),目标函数阵列的每个元素为光伏模型参数阵列对应参数向量的目标函数,选择目标函数rmse最小时的模型参数向量,记为
步骤s306:确定iph、io和rsh的搜索范围:iph的搜索下限计算方法为:
所述步骤s4中,包括以下几个步骤,其中f(x)为目标函数rmse(x):
步骤s401:在给定的起始点x1,根据xi 1=(1 △)xi,i=1,2,...,n,构造n 1个顶点的单纯形;式中△系数控制初始单纯形的大小,n为自然数;
步骤s402:判断迭代次数iter是否小于最大的迭代数itermax,若是进入步骤s403;否则输出最优解;
步骤s403:对n维单纯形的n 1个顶点进行排序f(x1)≤f(x2)...f(xn)≤f(xn 1);
步骤s404:根据公式:xr=xc α(xc-xn 1)计算单纯形的反射点xr,式中
步骤s405:判断是否f(x1)≤f(xr)<f(xn),若是则使得xn 1=xr,并进入步骤s413;否则进入步骤s406;
步骤s406:判断是否f(xr)<f(x1),若是则根据xe=xc β(xr-xc)计算膨胀点xe,式中,β为膨胀系数,并进入步骤s407,否则直接进入步骤s408;
步骤s407:判断是否f(xe)<f(xr),若是则使得xn 1=xe,否则使xn 1=xr,并进入步骤s413;
步骤s408:判断f(xn)≤f(xr)<f(xn 1),若是则根据xoc=xc γ(xr-xc)计算外缩收点xoc,式中,γ为压缩系数,并进入步骤s409,否则直接进入步骤s410;
步骤s409:判断是否f(xoc)≤f(xr),若是则使得xn 1=xoc并进入步骤s413;否则直接进入步骤s412;
步骤s410:判断是否f(xr)≥f(xn 1),若是则根据xic=xc-γ(xr-xc)计算内缩收点xic,并进入步骤s411;
步骤s411:判断是否f(xic)≤f(xr),若是则使得xn 1=xic并进入步骤s413;否则直接进入步骤s412;
步骤s412:计算最优n个顶点组成的矩阵的主对角向量xd,使得xn 1=xd并进入步骤s413;
步骤s413:使得当前迭代次数iter增加1,并返回步骤s402。
在本发明一实施例中,基本单纯形的系数设置为:反射系数ρ=1,膨胀系数β=2,压缩系数γ=0.5。在本实例中,以步骤s3中的最优参数为搜索起点进行局部搜索,搜索过程目标函数最大迭代次数为itermax=3000。
为了让本领域技术人员进一步了解本发明提出的技术方案,下面结合具体实例进行说明。
如表1所示,为本方法和已提出的isce和eha-nms在单二极管模型下的对比,对测量到的50条i-v曲线的统计学结果进行对比,其中rmsecal代表的是50条曲线的均方根误差的统计学结果,计算方式如下式所示:
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
1.一种基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,包括以下步骤:
步骤s1:获取光伏面板的实际i-v特性曲线信息;
步骤s2:确定光伏组件模型和目标函数;
步骤s3:采用网格搜索对光伏模型参数进行全局搜索,获取光伏模型参数搜索起始点,并确定模型参数搜索范围;
步骤s4:采用改进的nelder-mead单纯形对步骤s3中的模型参数搜索起始点进行局部搜索,获取全局最优的光伏模型参数向量。
步骤s5:根据得到的全局最优的光伏模型参数向量,实时更新光伏阵列的模型,从而便于评估和优化光伏电站的工作状态。
2.根据权利要求1所述的基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,所述步骤s1具体为:
步骤s101:获取光伏面板的实际i-v特性曲线信息,包括样本点数量相同的电压、电流,同时获取温度t、光照度trr、开路电压voc和短路电流isc;
步骤s102:计算i-v特性曲线的最大功率pm和最大功率点的电压vm、电流im。
3.根据权利要求书1所述的基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,所述步骤s2具体为:
步骤s201:光伏模型采用单二极管模型,单二极管光伏模型数学公式如下所示:
其中i和v为实测i-v曲线中的电流和电压值;vt为热电压由
步骤s202:确定目标函数,按照如下方法获取,记均方根误差为:
其中,n是i-v特性曲线上的样本总数,f(v,i,x)是实测电流和模型估计电流间的绝对误差;对于单二极管的f(v,i,x)为:
4.根据权利要求书1所述的基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,所述步骤s3具体为:
步骤s301:确定rs和n的搜索范围;
n的搜索下限为:nl=voc,搜索上限为:
rs的搜索下限为:
步骤s302:iph网格阵列第i行,第j列的元素都设置为isc;
步骤s303:计算rs和n的网格阵列:
其中jmax为网格阵列的列的数目,imax为网格阵列的行的数目;
步骤s304:计算io和rsh的网格阵列:rsh网格阵列第i行
步骤s305:构建光伏模型参数阵列(x),阵列每个元素都是一个模型参数向量,每个模型参数向量表示为x(i,j)=[iph,io(i,j),n(i,j),rs(i,j),rsh(i,j)],构建目标函数阵列(f),目标函数阵列的每个元素为光伏模型参数阵列对应参数向量的目标函数,选择目标函数rmse最小时的模型参数向量,记为
步骤s306:确定iph、io和rsh的搜索范围:
其中iphl为iph的搜索下限,iphu为iph的搜索上限,io1为io的搜索下限,iou为io的搜索上限,rshl为rsh的搜索下限,rshu为rsh的搜索上限。
5.根据权利要求3所述的基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,所述步骤s4具体为:
步骤s401:在给定的起始点x1,根据xi 1=(1 △)xi,i=1,2,...,n,构造n 1个顶点的单纯形;式中△系数控制初始单纯形的大小,n为自然数;
步骤s402:判断迭代次数iter是否小于最大的迭代数itermax,若是进入步骤s403;否则输出最优解;
步骤s403:对n维单纯形的n 1个顶点进行排序f(x1)≤f(x2)...f(xn)≤f(xn 1);其中f(x)为目标函数rmse(x)
步骤s404:根据公式:xr=xc α(xc-xn 1)计算单纯形的反射点xr,式中
步骤s405:判断是否f(x1)≤f(xr)<f(xn),若是则使得xn 1=xr,并进入步骤s413;否则进入步骤s406;
步骤s406:判断是否f(xr)<f(x1),若是则根据xe=xc β(xr-xc)计算膨胀点xe,式中,β为膨胀系数,并进入步骤s407,否则直接进入步骤s408;
步骤s407:判断是否f(xe)<f(xr),若是则使得xn 1=xe,否则使xn 1=xr,并进入步骤s413;
步骤s408:判断f(xn)≤f(xr)<f(xn 1),若是则根据xoc=xc γ(xr-xc)计算外缩收点xoc,式中,γ为压缩系数,并进入步骤s409,否则直接进入步骤s410;
步骤s409:判断是否f(xoc)≤f(xr),若是则使得xn 1=xoc并进入步骤s413;否则直接进入步骤s412;
步骤s410:判断是否f(xr)≥f(xn 1),若是则根据xic=xc-γ(xr-xc)计算内缩收点xic,并进入步骤s411;
步骤s411:判断是否f(xic)≤f(xr),若是则使得xn 1=xic并进入步骤s413;否则直接进入步骤s412;
步骤s412:计算最优n个顶点组成的矩阵的主对角向量xd,使得xn 1=xd并进入步骤s413;
步骤s413:使得当前迭代次数iter增加1,判断迭代次数是否达到最大迭代次数,若达到则结束并输出最优参数向量,若未达到则返回步骤s402。
6.根据权利要求5所述的基于网格搜索和改进nm单纯形算法的光伏模型更新方法,其特征在于,所述反射系数ρ=1,膨胀系数β=2,压缩系数γ=0.5。
技术总结