一种改进的粒子群算法
改进的粒子群优化算法

改进的粒子群优化算法背景介绍:一、改进策略之多目标优化传统粒子群优化算法主要应用于单目标优化问题,而在现实世界中,很多问题往往涉及到多个冲突的目标。
为了解决多目标优化问题,研究者们提出了多目标粒子群优化算法 (Multi-Objective Particle Swarm Optimization,简称MOPSO)。
MOPSO通过引入非劣解集合来存储多个个体的最优解,并利用粒子速度更新策略进行优化。
同时还可以利用进化算法中的支配关系和拥挤度等概念来评估和选择个体,从而实现多目标优化。
二、改进策略之自适应权重传统粒子群优化算法中,个体和全局最优解对于粒子速度更新的权重是固定的。
然而,在问题的不同阶段,个体和全局最优解的重要程度可能会发生变化。
为了提高算法的性能,研究者们提出了自适应权重粒子群优化算法 (Adaptive Weight Particle Swarm Optimization,简称AWPSO)。
AWPSO通过学习因子和自适应因子来调整个体和全局最优解的权重,以实现针对问题不同阶段的自适应调整。
通过自适应权重,能够更好地平衡全局和局部能力,提高算法收敛速度。
三、改进策略之混合算法为了提高算法的收敛速度和性能,研究者们提出了将粒子群优化算法与其他优化算法进行混合的方法。
常见的混合算法有粒子群优化算法与遗传算法、模拟退火算法等的组合。
混合算法的思想是通过不同算法的优势互补,形成一种新的优化策略。
例如,将粒子群优化算法的全局能力与遗传算法的局部能力结合,能够更好地解决高维复杂问题。
四、改进策略之应用领域改进的粒子群优化算法在各个领域都有广泛的应用。
例如,在工程领域中,可以应用于电力系统优化、网络规划、图像处理等问题的求解。
在经济领域中,可以应用于股票预测、组合优化等问题的求解。
在机器学习领域中,可以应用于特征选择、模型参数优化等问题的求解。
总结:改进的粒子群优化算法通过引入多目标优化、自适应权重、混合算法以及在各个领域的应用等策略,提高了传统粒子群优化算法的性能和收敛速度。
改进的粒子群算法

改进的粒子群算法粒子群算法(PSO)是一种优化算法,通过模拟鸟群觅食的行为寻找最优解。
传统的PSO 算法存在着易陷入局部最优解、收敛速度慢等问题,为了解决这些问题,研究人员不断对PSO算法进行改进。
本文将介绍几种改进的PSO算法。
1.变异粒子群算法(MPSO)传统的PSO算法只考虑粒子的速度和位置,而MPSO算法在此基础上增加了变异操作,使得算法更具有全局搜索能力。
MPSO算法中,每一次迭代时,一部分粒子会发生变异,变异的粒子会向当前最优解和随机位置进行搜索。
2.改进型自适应粒子群算法(IAPSO)IAPSO算法采用了逐步缩小的惯性权重和动态变化的学习因子,可以加速算法的收敛速度。
另外,IAPSO算法还引入了多角度策略,加强了算法的搜索能力。
3.带有惩罚项的粒子群算法(IPSO)IPSO算法在传统的PSO算法中加入了惩罚项,使得算法可以更好地处理约束优化问题。
在更新粒子的位置时,IPSO算法会检测当前位置是否违背了约束条件,如果违背了,则对该粒子进行惩罚处理,使得算法能够快速收敛到满足约束条件的最优解。
4.细粒度粒子群算法(GPSO)GPSO算法并不像其他改进的PSO算法那样在算法运行流程中引入新的因素,而是仅仅在初始化时对算法进行改进。
GPSO算法将一部分粒子划分为近似最优的种子粒子,其他粒子从相近的种子粒子出发,从而加速算法的收敛速度。
5.基于熵权的粒子群算法(EPSO)EPSO算法在传统的PSO算法中引入了熵权理论,并在更新速度和位置时利用熵权确定权重系数,达到了优化多目标问题的目的。
EPSO算法的权重系数的确定基于熵权理论,具有客观性和系统性。
此外,EPSO算法还增加了距离度量操作,用于处理问题中的约束条件。
综上所述,改进的PSO算法不仅有助于解决算法收敛速度慢、易陷入局部最优解的问题,更可以应用到具体的优化实际问题中。
因此,选择合适的改进的PSO算法,对于实际问题的解决具有重要的现实意义。
一种改进的粒子群遗传算法

一种改进的粒子群遗传算法改进粒子群遗传算法简介改进粒子群遗传算法(Improved Particle Swarm Optimization,IPSO)是一种基于遗传算法理论的新型混合优化算法。
它结合了粒子群算法和最优化原理,有效地解决了复杂的非凸优化问题。
该算法通过将粒子群,pbest,gbest等元素进行综合,实现了全局优化效果。
算法原理IPSO算法结合了粒子群和遗传算法,充分发挥其高效率和平衡能力。
首先,将群体中的所有粒子看作是多个变量的n维向量,将所有粒子的维度构建成一颗搜索树。
随后,采用以下两种基本过程进行优化:(1)粒子群进化。
将群体中的每个粒子看作是遗传算法的一对父母,根据粒子内在的适应度函数迭代调整其位置;(2)最佳位置进化。
根据所有粒子的最佳适应度,采用染色体交叉、变异及筛选等操作,改变父母粒子最优位置的变量,以达到全局优化效果的目的。
算法的优势IPSO算法有效地结合了粒子群算法和遗传算法耦合优化处理和组合优化方法,在局部优化以及全局优化能力上都有很强大的收敛能力和搜索能力。
它不仅可以有效解决复杂的优化问题,而且可以实现更快的收敛速度以及更高的精度。
此外,该算法简单易行,实现成本低廉,能够较好地在复杂的环境中获得有效的搜索结果,具有比较强的优化能力和智能化能力。
应用领域IPSO算法可以广泛应用于智能控制、系统实时优化等领域,特别是能够实现多约束优化问题的求解,具有重要的应用价值。
例如,可以用它实现模糊逻辑控制,用它来解决下面的这类问题:最大化成功次数/最小化失败次数,最小化服务时间/最大化服务质量等。
此外,还可以用它来解决机器学习、网络带宽优化等问题。
结论改进粒子群遗传算法是一种非常有效且智能的优化算法,它可以实现自适应的优化函数的搜索、实现全局优化效果和提高计算效率。
它的优势在于充分发挥粒子群和遗传算法的优势,可以实现快速搜索和自适应解决复杂优化问题。
一种改进的基于pareto解的多目标粒子群算法

文章编号 :0 6— 3 8 2 1 ) 5— 0 6— 4 10 9 4 (0 0 0 0 9 0
计
算
机
仿
真
20 月 0 年5 1
一
种 改进 的基 于 p rt 的 多 目标 粒 子 群算 法 aeo解
李 纬, 张兴 华
( 南京工业大学 自动化学 院, 江苏 南京 2 00 ) 10 9
摘要 : 研究一种改进的多 目 标粒子群优化算法 , 算法采用精英归档策 略, 利用粒 子的个体最 优定位 , 通过 P r o a t 支配关系更 e 新全体粒子最优位置 , 由档案库 中动态提供。根据 P r o a t支配关系来更新粒子 的个体最优位置。使 用非劣解 目标 的密度距 e 离度量非劣解前端的均匀性 , 通过删除密度距离小 的非劣解提高非劣解前端的均匀性 。从归档 中根据粒子的密度距离大小 依 照概率选取作为粒子的全局最优位置 , 以保持解 的多样性。标 准函数 的仿真实验结 果表明 , 所提算法能够 获得 大量且较
fo t rn.
KE W OR Y DS:a iesam; l —ojcv vl i aya oi m; pia; ya i c w ig Prc w r Mu i bet eeo t nr l rh O t l D n c r dn tl t i uo g t m m o
Байду номын сангаас
1 引 言
粒子群优化算法是由 K n ey和 E ehr提出的一种进 e nd brat
c ie t t g su e hv d s a e y i s d,go a e tp st n i r vd d b o —d mi ae o ui n n t e a c ie a d i dv d a r lb lb s o i o s p o ie y n n i o n td s l t s i h r h v n n ii u o l
改进粒子群算法matlab代码

改进粒子群算法matlab代码粒子群算法是一种基于群体智能的优化算法,其主要思想是将优化问题转化为粒子在搜索空间中寻找最优解的过程。
粒子群算法的运作方式是通过定义一群随机粒子,并根据它们在搜索空间中的位置和速度,来引导粒子向着更好的解决方案进行搜索。
以下是改进版粒子群算法的MATLAB代码:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 粒子群算法-改进版%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 初始化参数和粒子群function [gbest_x, gbest_y] = PSO(num_particles,max_iterations, f, lower_bound, upper_bound)% 定义粒子群基本参数w = 0.7; % 惯性权重c1 = 1.4; % 学习因子1c2 = 1.4; % 学习因子2% 初始化粒子位置和速度particles_position = unifrnd(lower_bound, upper_bound, [num_particles, 2]);particles_velocity = zeros(num_particles, 2);% 初始化个体最优解和全局最优解pbest_position = particles_position;pbest_value = zeros(num_particles, 1);for i = 1:num_particlespbest_value(i) = f(particles_position(i,:));end[global_min_value, global_min_index] = min(pbest_value); gbest_position = particles_position(global_min_index, :);gbest_value = global_min_value;% 迭代优化for iter = 1:max_iterationsfor i = 1:num_particles% 更新粒子速度particles_velocity(i,:) = w *particles_velocity(i,:) ...+ c1 * rand() * (pbest_position(i,:) -particles_position(i,:)) ...+ c2 * rand() * (gbest_position -particles_position(i,:));% 限制粒子速度范围particles_velocity(i,1) = max(particles_velocity(i,1), lower_bound);particles_velocity(i,1) = min(particles_velocity(i,1), upper_bound);particles_velocity(i,2) = max(particles_velocity(i,2), lower_bound);particles_velocity(i,2) = min(particles_velocity(i,2), upper_bound);% 更新粒子位置particles_position(i,:) = particles_position(i,:) + particles_velocity(i,:);% 限制粒子位置范围particles_position(i,1) = max(particles_position(i,1), lower_bound);particles_position(i,1) = min(particles_position(i,1),upper_bound);particles_position(i,2) = max(particles_position(i,2), lower_bound);particles_position(i,2) = min(particles_position(i,2), upper_bound);% 更新个体最优解temp_value = f(particles_position(i,:));if temp_value < pbest_value(i)pbest_value(i) = temp_value;pbest_position(i,:) = particles_position(i,:);endend% 更新全局最优解[temp_min_value, temp_min_index] = min(pbest_value);if temp_min_value < gbest_valuegbest_value = temp_min_value;gbest_position = pbest_position(temp_min_index,:);endend% 返回全局最优解gbest_x = gbest_position(1);gbest_y = gbest_position(2);end其中,num_particles为粒子数目,max_iterations为最大迭代次数,f为目标函数句柄,lower_bound和upper_bound为搜索空间的下界和上界。
一种改进粒子群算法的移动机器人路径规划

3
4
参考文献:
机 电技术
21年 1 月 01 0
【】Sf Y E eh ̄ F zy a at e at l s r pi zt nT e IE oge n E ouinr o ua o ,a 1 i b ra t u z dpi p re wam o t ai .h E E C n rsO v lt ay C mP tinSn v ie mi o o t
步 骤 4 当适应 值等 于全 局最 优值 时 ,个体 进行 变 异 ,计 算 动态 优化 因子 ,生 成新 的位 置并 计算 其速 度和 适 应值 ,并 保 留其为 该个 体最 优位
置。
本 P O 算法进 行简 单 的分析 ,最后 得 出粒 子 的飞 S
行是 不断地 从 一个 幅度和 频率 的 正弦波 跳跃 到 另
第 5期
余罗兼 等 :一种改进粒子群算法的移 动机器人路径规划
3
重要参 考标 准 ,对惯 性 因子进 行 调节 ,使惯 性权
重具备 更好地 调整 算法 的全局 搜索 能力 。 2 目前 较 多学 者 对 于 粒 子群 算 法 收敛 性 的 )
步 骤 2 t0 = 时粒 子 的速度 、 - 位置 等参 数信 息 , 并确 定全局 最优 粒子及 其位 置 ; 步 骤 3 更新迭 代 次数 ,通过 P O算 法确 定 S
不 发生变 化 ,而 空 间维数发 生成 倍 的变化 ,从 而 在 一定程 度上 避免 过早地 陷入 全局最 优 。 设 空 间 中的粒 子 ( x ,. )则其 动态 优 ,2. , . ,
化 因子 的描述 为:
, _ ,
xi=xi+二 ( ( ) ( ) f ) 在 引入 了该 动态 优化 因子 之后 , 飞行粒 子可
改进的粒子群算法

改进的粒子群算法
粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,它模拟了鸟群或鱼群等生物群体的行为,通过不断地迭代寻找最优解。
然而,传统的粒子群算法存在着一些问题,如易陷入局部最优解、收敛速度慢等。
因此,改进的粒子群算法应运而生。
改进的粒子群算法主要包括以下几个方面的改进:
1. 多目标优化
传统的粒子群算法只能处理单目标优化问题,而现实中的问题往往是多目标优化问题。
因此,改进的粒子群算法引入了多目标优化的思想,通过多个目标函数的优化来得到更优的解。
2. 自适应权重
传统的粒子群算法中,粒子的速度和位置更新是通过权重因子来控制的,而这些权重因子需要手动设置。
改进的粒子群算法引入了自适应权重的思想,通过自适应地调整权重因子来提高算法的性能。
3. 多种邻域拓扑结构
传统的粒子群算法中,邻域拓扑结构只有全局和局部两种,而改进的粒子群算法引入了多种邻域拓扑结构,如环形、星形等,通过不
同的邻域拓扑结构来提高算法的性能。
4. 多种粒子更新策略
传统的粒子群算法中,粒子的速度和位置更新是通过线性加权和非线性加权两种方式来实现的,而改进的粒子群算法引入了多种粒子更新策略,如指数加权、逆向加权等,通过不同的粒子更新策略来提高算法的性能。
改进的粒子群算法在实际应用中已经得到了广泛的应用,如在机器学习、图像处理、信号处理等领域中都有着重要的应用。
未来,随着人工智能技术的不断发展,改进的粒子群算法将会得到更广泛的应用。
一种改进的粒子群算法

一种改进的粒子群算法摘要:粒子群算法是一种基于群体智能的优化算法,具有全局搜索能力和简单易用的特点,但存在收敛速度慢、易陷入局部最优等问题。
本文针对粒子群算法的不足,提出了一种改进的粒子群算法,主要包括两个方面的改进:自适应惯性权重和差分进化算子。
实验结果表明,改进后的算法在求解复杂函数优化问题时具有更快的收敛速度和更高的搜索精度。
关键词:粒子群算法;自适应惯性权重;差分进化算子;全局搜索1.引言粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,由Kennedy和Eberhart于1995年提出[1]。
PSO算法通过模拟鸟群捕食、觅食等行为,将待优化问题转化为粒子在搜索空间中的移动过程,通过粒子之间的信息交流和个体经验积累,逐步找到全局最优解。
相比其他优化算法,PSO算法具有简单易用、全局搜索能力强等优点,在多个领域都得到了广泛应用[2]。
然而,PSO算法也存在一些不足之处。
首先,PSO算法的收敛速度较慢,需要较长的迭代次数才能找到较优解。
其次,PSO算法容易陷入局部最优解,导致搜索精度不高。
为了解决这些问题,研究者们提出了许多改进的PSO算法,如自适应权重PSO[3]、混沌PSO[4]、改进收缩因子PSO[5]等。
本文针对PSO算法的不足,提出了一种改进的PSO算法,主要包括自适应惯性权重和差分进化算子两个方面的改进。
2.算法描述2.1 基本PSO算法基本PSO算法是由一群粒子组成的集合,每个粒子表示一个解向量。
每个粒子在搜索空间中随机初始化,然后根据自己的经验和全局最优解进行位置更新,直到满足停止条件为止。
具体算法流程如下:(1)初始化粒子群,包括粒子数量、搜索空间范围、速度范围、惯性权重等参数。
(2)对每个粒子,随机初始化位置和速度。
(3)对每个粒子,计算其适应度函数值。
(4)对每个粒子,更新速度和位置。
(5)更新全局最优解。
(6)判断是否满足停止条件,若不满足则返回第(3)步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在 1995 年提出的一种基于群体智能的随机优化算法, 是在鸟群、 鱼群和人类社会行为规律的启发下提出 来的. 由于算法收敛的速度快、 设置参数少、 实现简 单, 近年来受到学术界的广泛重视. 现在, 粒子群算 法已广泛应用在函数优化、 神经网络训练、 模式分 类、 模糊系统控制以及其他工程领域 . 尽管传统的粒子群算法在低维空间的函数优
Abstract:Particle swarm optimization is a new computational method for tackling optimization functions. However,it is easily trapped into the local optimization when solving highdimension functions. To overcome this shorts velocity and position update rule to adjust its coming ,a new particle swarm optimization which improves particle’ movement based on the individual best position is proposed in the paper. The modified algorithm can enhance capability of optimization. Five benchmark functions are tested, and the results indicate that the modified particle swarm optimization is effective to find the global optimal solution. Key words:particle swarm optimization; swarm intelligence; evolutionary computation
要:粒子群算法是求解函数优化问题的一种新的进化算法 , 然而它在求解高维函数时容易 陷入局部最优. 为了克服这个缺点, 提出了一种新的粒子群算法, 算法对粒子的速度和位置更新公 摘 式进行了改进, 使粒子在其最优位置的基础上进行位置更新 , 增强了算法的寻优能力. 通过对 5 个 , . 基准函数的仿真实验 表明了改进算法的有效性 关键词:粒子群算法; 群体智能; 进化计算 中图分类号: TP301. 6 文献标志码: A 文章编号: 1007- 2683 ( 2010 ) 02- 0031- 04
收稿日期: 2009 - 05 - 23 Email: sdggh@ 163. com; 作者简介: 郭广寒( 1980 —) , 男, 助教, 王志刚( 1978 —) , 男, 讲师.
粒 子 群 算 法 是 由 Kennedy 和 Eberhart
32
哈
尔
滨
理
工
大
学
学
报
第 15 卷
操作的粒子群算法 . 在前人研究的基础上 , 提出了 , 一种改进的 粒 子 群 算 法 算 法 对 粒 子 的 更 新 方 式 使粒子在其最优位置的基础上产生下 进行调整 , 一时刻的位 置 , 这样使得粒子的新位置可以在一 增加了粒子获得较好解的几 个较优起点 上 产 生 , 率 . 5 个基准测试函数的实验结果说明了新方案在 防止算法陷入局部最优的能力和解的稳定性方面 都有了明显提高 .
1
传统的粒子群算法
粒子群算法是一种基于种群的优化算法, 种群
称为粒子群, 粒子群中的个体称为粒子. 设有 N 个 其中第 i 个粒子表示为一个 D 粒子组成一个群体, x i2 , …, x iD ) , i = 1, 2, …, N, 维的向量 x i = ( x i1 , 即第 i 个粒子在 D 维的搜索空间中的位置是 x i . 第 i 个粒 记为 v i = ( v i1 , 子的飞行速度也是一个 D 维的向量, v i2 , …, v iD ) , 记第 i 个粒子迄今为止搜索到的最优位 p i2 , …, p iD ) . 整个种群迄今为止搜索 置为 p i = ( p i1 , p g2 , …, p gD ) ,Kennedy 和 到的最优位置为 p g = ( p g1 , Eberhart 最早提出的 PSO 算法采用下面的公式对粒 子进行操作, 即 v id = c1 r1 ( p id - x id ) + c2 r2 ( p gd - x id ) x id = x id + v id (1) (2)
第 15 卷
第2 期
哈 尔 滨 理 工 大 学 学 报
JOURNAL OF HARBIN UNIVERSITY OF SCIENCE AND TECHNOLOGY
Vol. 15 No. 2 Apr. 2010
2010 年 4 月
一种改进的粒子群算法
1 2 郭广寒 , 王志刚
( 1. 哈尔滨理工大学 荣成学院, 山东 威海 264300 ;2. 南京师范大学 泰州学院 数学系, 江苏 泰州 225300 )
0
引
言
[ 1 - 2]
质量高的特点 , 但是一 化问题上具有求解速度快 、 旦函数的维度增加 , 其优化性能便急剧下降 , 易陷 入局部最优解 . 为了克服这一不足 , 研究者提出了 3] 很多 PSO 的改进方法 , 如文[ 引入了压缩因子来 4] 改进算法 ; 文[ 引入了自适应调整惯性权重因子 w 的方法来改进算法 ; 文[ 5] 提出了具有高斯变异 6] 的粒子群优化算法 ; 文[ 提出了协同粒子群优化 ; [ 7 ] , Lovbjerg 算法 文 中 等人将遗传算法中的群体 概念引入 PSO 算法中 , 同时引入 繁 殖 算 子 以 进 行 8] 子群体间的信息交流 ; 文[ 提出了带新颖学习策 9] 略的粒子群算法 ; 文[ 提出了一种引入随机摄动
A Modified Particle Swarm Optimization
GUO Guanghan1 , WANG Zhigang2
( 1. School of Rongcheng,Harbin University of Science and Technology,Weihai 264300 ,China; 2. Department of Mathematics, Taizhou College, Nanjing Normal University, Taizhou 225300 , China)
i = 1, 2, …, N, d = 1, 2, …, D,c1 和 c2 表示学习 其中, 0, 1] 因子,r1 和 r2 是[ 上均匀分布的随机数, 每一维 粒子的速度都被限制在一个最大速度 vmax ( vmax > 0 ) vi = vmax ; 若 vi < - vmax 时, vi = 之间, 若 vi > vmax 时, - vmax . 3] 文[ 在粒子群算法中引入压缩因子, 将式 ( 1 ) 变换为 v id = χ ( v id + c1 r1 ( p id - x id ) + c2 r2 ( p gd - x id ) ) ( 3 ) 在式 ( 3 ) 中,χ = 为 压 缩 因 子, 2 |2 - - 槡 - 4 | = c1 + c2 > 4 , 通常取 χ = 0. 729 ,c1 = c2 = 2. 05 , 把 这种改进算法记为 PSO1 . 4] 文[ 在粒子群算法中引入了线性减小的惯性 权重,将式( 1 ) 变换为 v id = wv id + c1 r1 ( p id - x id ) + c2 r2 ( p gd - x id ) ( 4 ) N MAXITER - N iter + w2 , w1 、 w2 式( 4 ) 中,w = ( w1 - w2 ) N MAXITER N iter 为当前迭代次数, 为惯性权重的初始值和终值, N MAXITER 为最大迭代次数, 把这种改进算法记 PSO2 . 2
第2 期
郭广寒, 等:一种改进的粒子群算法
33
行对比. 6 ) 若未达到结束条件 ( 通常设为足够好的适应 度或达到一个预设最大代数 G max ) , 则返回步骤 2 ) .
下对 5 个测试函数分别独立运行 30 次得到平均最 优适应值和标准差.
表2
函数 f1 f2 f3 f4 f5
PSO1 、 PSO2 、 MSPO 对函数的测试结果
PSO1 2.623%8E-43 7.914%1E-43 37.645%0 40.685%7 95.548%5 34.164%3 0.018%9 0.024%7 -9%368.811 703.108%8 PSO2 1.205%8E-16 3.245%4E-16 77.808%2 69.392%6 47.758%1 12.180%2 0.012%9 0.016%1 -10%639.56 518.933%7 MPSO 1.159%3E-112 2.523%9E-112 15.452%9 21.040%7 31.334%9 18.579%5 0.007%1 0.007%3 -12%305.63 211.839%1
2
改进的粒子群算法
在粒子群算法的迭代公式中, 把式( 1 ) 和式 ( 2 ) 结合起来可以得到如下公式: x id ( t + 1 ) = x id ( t) + w ( x id ( t) - x id ( t - 1 ) ) + c1 r1 ( p id ( t) - x id ( t) ) + c2 r2 ( p gd ( t) - x id ( t) ) (5) 即粒子在 t + 1 时刻的位置是粒子在 t 时刻的位置上 c1 r1 ( p id ( t ) - x id ( t ) ) 和 沿着 w ( x id ( t) - x id ( t - 1 ) ) 、 c2 r2 ( p gd ( t) - x id ( t ) ) 的矢量和的方向前进, 而不考 虑粒子在 t 时刻位置上的好坏. 此外在传统的粒子 群算法中, 每个粒子获得的信息只有自身最优位置 那么其他粒子的最优信 信息和群体最优位置信息, 息是否对粒子的运动有参考作用呢 ? 正如社会学家 E. O. Wilson[10]所说 :“至少在理论上, 在群体搜索食 物的过程中, 群体中的每个个体可以从群体的新发 . 因此在 现和群体中所有其他个体的经验中受益 ” 这里可把公式( 5 ) 改为 x id ( t + 1 ) = p id ( t) + w ( x id ( t) - p id ( t - 1 ) ) + c1 r1 ( q d ( t) - p id ( t) ) + c2 r2 ( p gd ( t) - p id ( t) ) (6) 即把传统粒子群算法中的速度和位置更新公式变为 v id = wv id + c1 r1 ( q d - p id ) + c2 r2 ( p gd - p id ) ( 7 ) x id = p id + v id (8) 其中 q 是种群中通过赌轮方式选出的粒子最优位 置. 更新后的速度和位置更新公式表示粒子每次都 在其最优位置上往下一个方向飞行, 当其无法获得 , 更新时 粒子依旧停留在原来的最优位置处 , 直到粒 子最优位置的适应值更新. 这样可以使粒子在一个 比较好的起点上产生下一时刻的位置, 增加了粒子 产生一个新的较好位置的几率, 使算法的寻优能力 得到提高. 算法步骤如下: 1 ) 在初 始 化 范 围 内, 对粒子群进行随机初始 化, 包括初始位置和速度. 2 ) 计算每个粒子的适应度. 3 ) 对于每个粒子, 将其适应度与所经历过的最 好位置的适应度进行比较, 如果更好, 则将其作为粒 用当前位置更新个体历史最 子的个体历史最优值, 好位置. 4 ) 对每个粒子, 将其历史最优适应度与群体内 或邻域内所经历的最好位置的适应度进行比较 , 若 , . 更好 则将其作为当前的全局最好位置 5 ) 根据式( 7 ) 和式 ( 8 ) 对粒子的速度和位置进