主权项 |
一种基于粒子群优化算法的太阳电池隐式方程参数辨识方法,其特征在于包括以下步骤:步骤一、针对复杂的非线性隐式方程,设计适应度函数,对于隐式方程模型:y=f(x<sub>1</sub>,x<sub>2</sub>,...,x<sub>n</sub>,y) (1)其中x<sub>1</sub>,x<sub>2</sub>,...,x<sub>n</sub>为方程输入,y为方程输出;输入和输出变量无法直接分开,需先求出隐式方程的根,再结合试验数据构成用于评价的适应度函数,该函数表示为:<img file="FDA0000738134710000011.GIF" wi="1600" he="149" />式中等号右边部分由三个部分组成,第一部分为记忆部分,反映粒子的运动习惯,代表粒子有保持自己先前速度的趋势;第二部分为自我认知部分,反映的是粒子对自身历史经验的记忆,表示粒子有向自身历史最佳位置逼近的趋势;第三部分为粒子社会认知部分,反映了粒子间协同合作与知识共享的群体历史经验,表示粒子有向群体或领域历史最佳位置逼近的趋势;N为数据的维数,x,y为实测输入输出数据,x',y'为采用某一步辨识结果带入隐式方程,对方程求根得到的零点值;步骤二、初始化粒子种群内粒子数目、最大迭代次数、学习因子和惯性权重,确定带辨识参数的变化范围,在各个参数的取值区间内随机粒子的位置和速度,作为粒子的初始状态;并将各个粒子的初始状态存储为每个粒子的个体最优值pbest<sub>i</sub>,并记录下对应粒子所代表的位置,称其为个体最优粒子p<sub>id</sub>;步骤三、按照以下公式对所有粒子的速度和位置进行更新:V<sub>id</sub>(t+1)=ω×V<sub>id</sub>(t)+C<sub>1</sub>×r<sub>1</sub>×(P<sub>id</sub>‑X<sub>id</sub>(t))+C<sub>2</sub>×r<sub>2</sub>×(P<sub>gd</sub>‑X<sub>id</sub>(t)) (3)X<sub>id</sub>(t+1)=X<sub>id</sub>(t)+V<sub>id</sub>(t+1) (4)其中,C<sub>1</sub>和C<sub>2</sub>是两个学习因子,也称为加速参数,是两个非负常数;r<sub>1</sub>和r<sub>2</sub>为[0,1]范围内的随机数;t为迭代次数;V<sub>id</sub>是飞行速度,V<sub>id</sub>∈[‑V<sub>max</sub>,V<sub>max</sub>],V<sub>max</sub>是常数,由用户设定用来限制粒子的飞行速度;更新后的粒子位置即为参数某一时刻的辨识结果;步骤四、将步骤三的参数辨识结果带入隐式方程,通过数值解法求取此时方程的零点;结合试验数据,带入步骤一中设计的适应度函数,计算各个粒子的适应度值;步骤五、根据步骤四得到的适应度值,更新所有的个体最优值pbest<sub>i</sub>和个体最优粒子p<sub>id</sub>,以及全局最优值gbest和全局最优粒子p<sub>gd</sub>;步骤六、根据需要设定循环结束条件,为适应度值达标的解或最大迭代次数;达到结束条件则结束搜索,输出辨识结果;否则转入步骤三,继续循环更新粒子的位置和速度。 |