主权项 |
一种基于优胜劣汰、步步选择的粒子群优化方法,其特征在于,该方法包括以下步骤:步骤(1)、设置初始参数:设粒子群内有若干个粒子,随机产生各粒子的初始位置与初始速度,限定任意时刻粒子的速度和位置的取值范围,设定迭代终止条件,设置学习因子、惯性权重、粒子总个数;步骤(2)、迭代寻优,记录当前迭代步数,并以预测误差均方值的大小作为粒子适应度值,计算每个粒子的适应度值,对粒子适应度进行优劣评价,得出粒子优劣度;步骤(3)、按粒子优劣度大小排列函数,并将相应的粒子位置进行排序;步骤(4)、从粒子总个数为M个粒子群中选取并保留适应度较好的m个粒子,并将所述m个粒子的位置范围作为新的解空间,步骤(5)、在新的解空间内重新选择M‑m个粒子代替适应度较差的M‑m个粒子,构造出新的粒子群;步骤(6)、评价上述构造出的新的粒子群中的各粒子的适应度值,并据此更新各粒子的历史最优值及粒子群的全局最优值;按照式(1)更新粒子群中每个粒子的速度,按照式(2)更新粒子群中每个粒子位置;v<sub>ij</sub>(t+1)=w*v<sub>ij</sub>(t)+c<sub>1</sub>*r<sub>1j</sub>(t)*(G<sub>ij</sub>(t)‑P<sub>ij</sub>(t))+c<sub>2</sub>*r<sub>2j</sub>(t)*(G<sub>gi</sub>(t)‑P<sub>ij</sub>(t)) (1)P<sub>ij</sub>(t+1)=P<sub>ij</sub>(t)+0.5v<sub>ij</sub>(t+1) (2)式(1)和式(2)中:下标j:表示粒子的第j维;下标i:表示第i个粒子;P<sub>i</sub>:第i个粒子的当前位置;v<sub>i</sub>:粒子的当前速度;G<sub>i</sub>:所经历的历史最好位置;t:进化到的代数;c<sub>1</sub>、c<sub>2</sub>:学习因子;r<sub>1</sub>、r<sub>2</sub>:在[0,1]范围内变化的随机常数;w:惯性权重,用于平衡粒子群算法的全局和局部搜索能力,决定粒子先前速度对现在速度的影响大小;步骤(7)、判断算法是否收敛,是否达到迭代终止条件,其中,以达到最大迭代步数或满足收敛精度要求为迭代终止条件,若达到迭代终止条件,迭代结束,并输出全局最优粒子的相关参数,否则返回步骤(2)继续迭代,直到满足迭代终止条件。 |