粒子群算法原理及在函数优化中的应用(附程序)
粒子群算法原理及在函数优化中的应用(附程序)
粒子群算法原理及其在函数优化中的应用
1 粒子群优化(PSO)算法基本原理
1.1 标准粒子群算法
假设在一个D维的目标搜索空间中,有m个代表问题潜在解的粒子组成一个种群x [x1,x2,...,xm],第i个粒子的信息可用D维向量表示为
xi [xi1,xi2,...,xiD]T,其速度为vi [vi1,vi2,...,viD]T。算法首先初始化m个随机粒子,然后通过迭代找到最优解。每一次迭代中,粒子通过跟踪2个极值进行信息交流,一个是第i个粒子本身找到的最优解,称之为个体极值,即
pi [pi1,pi2,...,piD]T;另一个是所有粒子目前找到的最优解,称之为群体极值,即pg [pg1,pg2,...,pgD]T。粒子在更新上述2个极值后,根据式(1)和式(2)更新自己的速度和位置。
vti 1 wvti c1r1(pti xti) c2r2(ptg xit)
(1)
xti 1 xti vti 1 (2)
式中,t代表当前迭代次数,r1,r2是在[0,1]之间服从均匀分布的随机数,c1,c2
称为学习因子,分别调节粒子向个体极值和群体极值方向飞行的步长,w为惯性权重,一般在0.1~0.9之间取值。在标准的PSO算法中,惯性权重w被设为常数,通常取w 0.5。在实际应用中,x需保证在一定的范围内,即x的每一维的变化范围均为[Xmin,Xmax],这在函数优化问题中相当于自变量的定义域。
1.2 算法实现步骤
步骤1:表示出PSO算法中的适应度函数fitness(x);(编程时最好以函数的形式保存,便于多次调用。)
步骤2:初始化PSO算法中各个参数(如粒子个数,惯性权重,学习因子,最大迭代次数等),在自变量x定义域内随机初始化x,代入fitness(x)求得适应度值,通过比较确定起始个体极值pi和全局极值pg。
步骤3:通过循环迭代更新x、pi和pg: ①确定惯性权重w的取值(当w不是常数时)。
②根据式(1)更新粒子的速度vik 1,若速度中的某一维超过了Vmax,则取为
Vmax。
③根据式(2)更新自变量x,若x的取值超过其定义域,则在其定义域内重新
你可能喜欢
- 机器学习
- 遗传算法原理
- 进化计算
- 蚁群算法原理
- 遗传算法解决TSP问题
- 效用函数
- 期望效用理论
- 人工智能 第七章 机器学习15页
- 机器学习读书笔记34页
- 中科院机器学习Lecture1_Introduction71页
- 微软亚洲研究院机器学习组招聘实习生2页
- 机器学习的主要策略综述7页
- 3模式识别与机器学习期末考查12页
- 遗传算法原理与应用65页
- 第四章 遗传算法的基本原理与方法17页
- 遗传算法原理及其应用71页
- 遗传算法原理与应用课件103页
- 基于遗传算法的PID整定原理及matlab仿真程序5页
- 遗传算法的基本原理及其应用研究3页
- 第9章 进化计算信息处理方法与应用22页
- 进化与计算的结合2页
- 进化计算 复习总结模版3页
- 进化计算 复习题及部分参考答案9页
- 进化计算题8页
- 进化计算与遗传算法66页
- 蚁群算法 原理 应用 综述46页
- 蚁群优化算法基本原理及研究进展2页
- 蚁群优化算法基本原理及其应用asdf4页
- 蚁群算法原理的仿真研究4页
- 蚁群优化算法原理及Matlab编程实现8页
- 蚁群优化算法的原理及改进3页
- 遗传算法解决TSP问题32页
- 遗传算法解决TSP问题的Matlab程序4页
- 遗传算法解决TSP问题,C++版(带注释)29页
- 遗传算法解决TSP问题的Matlab程序4页
- 遗传算法解决TSP问题8页
- 基于Matlab的遗传算法解决TSP问题的报告12页
- 效用函数75页
- 2-3效用函数43页
- 一人具有期望效用函数4页
- 第二讲_效用函数59页
- 第二讲 预期效用函数于均方偏好68页
- 效用函数与风险测量(20110307)27页
- 期望效用理论的发展4页
- 第1讲 期望效用函数理论与单期定价模型49页
- 金融数学1_期望效用理论122页
- 期望效用理论53页
- 第二讲 期望效用理论93页
- 非期望效用理论外文原文8页


