文档库 最新最全的文档下载
当前位置:文档库 › 求解动态优化问题的多种群骨干粒子群算法

求解动态优化问题的多种群骨干粒子群算法

2017,53(19)1引言粒子群优化算法(Particle Swarms Optimization ,PSO )是美国社会心理学学家Kennedy 和电气工程师Eberhart 于1995首先提出的[1]。PSO 算法采用简单的速度-位移模型,种群中的每个个体称之为粒子,粒子在个体认知和社会认知的引导下进化。Clerc 和Kennedy 通过分析粒子的飞行轨迹,完整地证明了随着时间的增加,每个粒子的位置都会收敛于群体最优位置(gbest )和个体最优位置(pbest )的加权均值[2],粒子的收敛方程如式(1)所示:

lim t →∞x ij (t )=c 1Pb ij (t

)+c 2Gb j (t )

c 1+c 2(1)

式中,x ij (t )表示t 代时粒子i 在第j 维上的位置分量;c 1、c 2是加速度系数,分别代表粒子的个体认知系数和社会认知系数;Pb ij (t )为第t 代时,粒子i 在的个体最优位置pbest 在第j 维上的分量,Gb j (t )为第t 代时,群体最优位置在第j 维上分量。

在此研究基础上,Kennedy 于2003年提出了骨干粒求解动态优化问题的多种群骨干粒子群算法

陈健,申元霞,纪滨

CHEN Jian,SHEN Yuanxia,JI Bin

安徽工业大学计算机科学与技术学院,安徽马鞍山243032

School of Computer Science and Technology,Anhui University of Technology,Maanshan,Anhui 243032,China

CHEN Jian,SHEN Yuanxia,JI Bin.Multi-swarms Bare Bones Particle Swarms Optimization of solving dynamic optimization https://www.wendangku.net/doc/b712745706.html,puter Engineering and Applications,2017,53(19):45-50.

Abstract:To solve the challenges of outdated memory and diversity loss in Dynamic Optimization Problem (DOP ),this paper proposes an improved Multi-swarms Bare Bones Particle Swarm Optimization (MBBPSO ).First of all,the particles of environment survey are set to detect timely the change of environment in MBBPSO,which avoids incorrect information guiding the direction of swarms ’evolution.After the change of environment,MBBPSO reinitialize all swarms by using the information which every swarm explores in last environment which enhances fast tracking ability of the excellent solution to the current environment.When the swarm falls into a standstill,MBBPSO designs newly methods to enhance particles ’activation and use the multi-swarms measure to maintain the whole swarm ’s diversity.The simulation experi-ment results show that MBBPSO has stronger competitiveness in dynamic environment.

Key words:dynamic optimization problem;Bare Bones Particle Swarm Optimization (BBPSO );outdated memory;diversity loss;multi-swarms

摘要:针对动态优化问题(Dynamic Optimization Problem ,DOP )中所面临的过时记忆和多样性丧失的挑战,提出了一种改进的多种群骨干粒子群优化算法(Multi-swarms Bare Bones Particle Swarm Optimization ,MBBPSO )。通过设置环境勘探粒子及时检测环境的变化,避免了错误信息误导种群的进化方向;环境改变后,利用上一个环境搜索的信息初始化新的种群,提高MBBPSO 快速追踪到当前环境的优秀解的能力;当种群陷入停滞时,采用新的进化方程以加强粒子的活性和多种群策略维持群体的多样性。仿真实验表明,MBBPSO 在解决动态环境问题中具有较强的竞争力。

关键词:动态优化问题;骨干粒子群算法;过时记忆;多样性丧失;多种群

文献标志码:A 中图分类号:TP301.6doi :10.3778/j.issn.1002-8331.1606-0030

基金项目:国家自然科学基金(No.61300059,No.61502010)。

作者简介:陈健(1993—),男,硕士研究生,主要研究领域为智能优化算法,E-mail :jianchen_ah@https://www.wendangku.net/doc/b712745706.html, ;申元霞(1979—),女,博士,

副教授,研究领域为智能计算、智能信息处理等;纪滨(1969—),男,博士后,副教授,研究领域为智能感知、计算机视觉。收稿日期:2016-06-03修回日期:2016-07-12文章编号:1002-8331(2017)19-0045-06

CNKI 网络优先出版:2016-09-29,https://www.wendangku.net/doc/b712745706.html,/kcms/detail/11.2127.TP.20160929.1701.044.html

Computer Engineering and Applications 计算机工程与应用

45

万方数据

基于粒子群优化算法的图像分割

安康学院 学年论文(设计) 题目_____________________________________________ 学生姓名_______________ 学号_____________________________ 所在院(系)_______________________________________ 专业班级__________________________________________________ 指导教师_____________________________________________ 年月曰

基于粒子群优化算法的图像分割 (作者:) () 指导教师: 【摘要】本文通过对粒子群优化算法的研究,采用Java编程,设计出一套用于图像分割的系统。 基于粒子群优化算法的图像分割系统,可以将一幅给定的图像进行分割,然后将分割结果保存。图像分割的目的是将感兴趣的区域从图像中分割出来,从而为计算机视觉的后续处理提供依据。图像分割的方法有多种,阈值法因其实现简单而成为一种有效的图像分割方法。而粒子群优化(PSO)算法是一类随机全局优化技术,它通过粒子间的相互作用发现复杂搜索空间中的最优区域缩短寻找阈值的时间。因此,基于粒子群优化算法的图像分割以粒子群优化算法为寻优工具,建立具有自适应和鲁棒性的分割方法。从而可以在最短的时间内,准确地确定分割阈值。 关键词:粒子群优化(PSO,图像分割,阈值法,鲁棒性 Abstract T his paper based on the particle swarm optimizati on algorithm, desig ns a set of system for image segme ntati on using Java program min g. Image segme ntati on system based on particle swarm optimizati on algorithm, the image can be a given segmentation, and then the segmentation results would be saved. Image segmentation is the purpose of the interested area from the image, thus providing the basis for the subsequent processing of computer vision. There are many methods of image segmentation, threshold method since its simple realization, becomes a kind of effective method in image segmentation. Particle swarm optimization (PSO) algorithm is a stochastic global optimization technique; it finds optimal regions of complex search spaces for threshold time shorte ned through the in teractio n betwee n particles. Therefore, particle swarm optimization algorithm of image segmentation based on particle swarm optimization algorithm based on optimizati on tools; establish segme ntati on method with adaptive and robust. Therefore, it is possible for us in the shortest possible time to accurately determ ine the segme ntati on threshold. Key word s: PSO, image segmentation, threshold method, robust. 1引言 1.1研究的背景和意义 技术的不断向前发展,人们越来越多地利用计算机来获取和处理视觉图像信息。据统计,人类

基于MATLAB的粒子群优化算法的应用示例

对于函数f=x*sin(x)*cos(2*x)-2*x*sin(3*x),求其在区间[0,20]上该函数的最大值。 ?初始化种群 已知位置限制[0,20],由于一维问题较为简单,因此可以取初始种群N 为50,迭代次数为100,当然空间维数d 也就是1。 位置和速度的初始化即在位置和速度限制内随机生成一个N×d 的矩阵,对于此题,位置初始化也就是在0~20内随机生成一个50×1的数据矩阵,而对于速度则不用考虑约束,一般直接在0~1内随机生成一个50×1的数据矩阵。 此处的位置约束也可以理解为位置限制,而速度限制是保证粒子步长不超限制的,一般设置速度限制为[-1,1]。 粒子群的另一个特点就是记录每个个体的历史最优和种群的历史最优,因此而二者对应的最优位置和最优值也需要初始化。其中每个个体的历史最优位置可以先初始化为当前位置,而种群的历史最优位置则可初始化为原点。对于最优值,如果求最大值则初始化为负无穷,相反地初始化为正无穷。 每次搜寻都需要将当前的适应度和最优解同历史的记录值进行对比,如果超过历史最优值,则更新个体和种群的历史最优位置和最优解。 ?速度与位置的更新

速度和位置更新是粒子群算法的核心,其原理表达式和更新方式如下: 每次更新完速度和位置都需要考虑速度和位置的限制,需要将其限制在规定范围内,此处仅举出一个常规方法,即将超约束的数据约束到边界(当位置或者速度超出初始化限制时,将其拉回靠近的边界处)。当然,你不用担心他会停住不动,因为每个粒子还有惯性和其他两个参数的影响。 代码如下: clc;clear;close all; %% 初始化种群 f= @(x)x .* sin(x) .* cos(2 * x) - 2 * x .* sin(3 * x); % 函数表达式figure(1);ezplot(f,[0,0.01,20]); N = 50; % 初始种群个数 d = 1; % 空间维数 ger = 100; % 最大迭代次数 limit = [0, 20]; % 设置位置参数限制 vlimit = [-1, 1]; % 设置速度限制 w = 0.8; % 惯性权重 c1 = 0.5; % 自我学习因子 c2 = 0.5; % 群体学习因子 for i = 1:d

粒子群算法和遗传算法比较

粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解。PSO和GA的相同点: (1)都属于仿生算法。PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律。 (2)都属于全局优化方法。两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。 (3)都属于随机搜索算法。都是通过随机优化方法更新种群和搜索最优点。PSO 中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作。 (4)都隐含并行性。搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性。并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率。 (5)根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。 (6)对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。 PSO和GA不同点 (1)PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏。 (2)在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动。PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程。在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解。 (3)GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。 (4)在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱。尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。 (5)在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等。

粒子群算法解决函数优化问题

粒子群算法解决函数优化问题 1、群智能算法研究背景 粒子群优化算法(Particle Swarm Optimization,PSO)是由Kennedy 和Eberhart 在研究鸟类和鱼类的群体行为基础上于1995 年提出的一种群智能算法,其思想来源于人工生命和演化计算理论,模仿鸟群飞行觅食行为,通过鸟集体协作使群体达到优。 PSO算法作为一种新的群智能算法,可用于解决大量非线性、不可微和多峰值的复杂函数优化问题,并已广泛应用于科学和工程领域,如函数优化、神经网络训练、经济调度、模式识别与分类、结构设计、电磁场和任务调度等工程优化问题等。 PSO算法从提出到进一步发展,仅仅经历了十几年的时间,算法的理论基础还很薄弱,自身也存在着收敛速度慢和早熟的缺陷。如何加快粒子群算法的收敛速度和避免出现早熟收敛,一直是大多数研究者关注的重点。因此,对粒子群算法的分析改进不仅具有理论意义,而且具有一定的实际应用价值。 2、国内外研究现状 对PSO算法中惯性权重的改进:Poli等人在速度更新公式中引入惯性权重来更好的控制收敛和探索,形成了当前的标准PSO算法。 研究人员进行了大量的研究工作,先后提出了线性递减权值( LDIW)策略、模糊惯性权值( FIW) 策略和随机惯性权值( RIW) 策略。其中,FIW 策略需要专家知识建立模糊规则,实现难度较大,RIW 策略被用于求解动态系统,LDIW策略相对简单且收敛速度快, 任子晖,王坚于2009 年,又提出了基于聚焦距离变化率的自适应惯性权重PSO算法。 郑春颖和郑全弟等人,提出了基于试探的变步长自适应粒子群算

法。这些改进的PSO算法既保持了搜索速度快的特点, 又提高了全局搜索的能力。 对PSO算法的行为和收敛性的分析:1999 年采用代数方法对几种典型PSO算法的运行轨迹进行了分析,给出了保证收敛的参数选择范围。在收敛性方面Fransvan den Bergh引用Solis和Wets关于随机性算法的收敛准则,证明了标准PSO算法不能收敛于全局优解,甚至于局部优解;证明了保证收敛的PSO算法能够收敛于局部优解,而不能保证收敛于全局优解。 国内的学者:2006 年,刘洪波和王秀坤等人对粒子群优化算法的收敛性进行分析,指出它在满足收敛性的前提下种群多样性趋于减小,粒子将会因速度降低而失去继续搜索可行解的能力,提出混沌粒子群优化算法。 2008 年,黄翀鹏和熊伟丽等人分析惯性权值因子大小对PSO算法收敛性所带来的影响,对粒子群算法进行了改进。2009 年,高浩和冷文浩等人,分析了速度因子对微粒群算法影响,提出了一种基于Gaussian 变异全局收敛的粒子群算法。并证明了它能以概率 1 收敛到全局优解。 2010 年,为提高粒子群算法的收敛性,提出了基于动力系统的稳定性理论,对惯性权重粒子群模型的收敛性进行了分析,提出了使得在算法模型群模型收敛条件下的惯性权重和加速系数的参数约束关系,使算法在收敛性方面具有显著优越性。在PSO算法中嵌入别的算法的思想和技术。 1997年,李兵和蒋慰孙提出混沌优化方法; 1998年,Angeline在PSO算法中引入遗传算法中的选择算子,该算法虽然加快了算法的收敛速度,但同时也使算法陷入局部优的概率大增,特别是在优化Griewank 基准函数的优值时得到的结果不理想; 2004 年,高鹰和谢胜利将混沌寻优思想引入到粒子群优化算法中,首先对当前群体中的优粒子进行混沌寻优, 再用混沌寻优的结果随机替换群体中的一个粒子,这样提出另一种混沌粒子群优化算法。

基于粒子群优化算法的神经网络在

基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用 张丽平 俞欢军3 陈德钊 胡上序 (浙江大学化工系,杭州310027) 摘 要 神经网络模型能有效模拟非线性输入输出关系,但其常规训练算法为BP 或其它梯度算法,导致训练时间较长且易陷入局部极小点。本实验探讨用粒子群优化算法训练神经网络,并应用到苯乙酰胺类农药的定量构效关系建模中,对未知化合物的活性进行预测来指导新药的设计和合成。仿真结果表明,粒子群优化算法训练的神经网络不仅收敛速度明显加快,而且其预报精度也得到了较大的提高。关键词 粒子群优化算法,神经网络,定量构效关系  2004201204收稿;2004207225接受 本文系国家自然科学基金资助项目(N o.20276063) 1 引 言 药物定量构效关系(QS AR )是研究药物生理活性和药物分子结构参数间的量变规律并建立相应的 数学模型,进而研究药物的作用机理,从而用于预测未知化合物的生物活性,探讨药物的作用机理,指导新药的设计和合成,在药物和农药的研究与设计中已经显示出广阔的应用前景1。以往QS AR 的建模方法大多基于统计原理,局限于线性模型,只进行简单的非线性处理,由此所建立的模型很难契合实际构效关系,并且其处理过程都比较繁琐2。神经网络通过学习将构效关系知识隐式分布在网络之中,适用于高度非线性体系。 在药物QS AR 中采用神经网络(NN )始于20世纪80年代末3,此后得到迅速的发展,目前已发展为除多重线性回归和多元数据分析之外的第3种方法4。通常多层前传网络采用BP 算法,通过误差反传,按梯度下降的方向调整权值。其缺点是可能陷入局部极小点,且对高维输入收敛速度非常缓慢。 粒子群优化算法(particle swarm optimization ,PS O )是K ennedy 等5源于对鸟群、鱼群和人类社会行为的研究而发展的一种新的进化型寻优技术。PS O 已成为进化寻优算法研究的热点,其最主要特点是简单、收敛速度快,且所需领域知识少。本实验拟将该方法初始化前传神经网络为苯乙酰胺类农药建立良好适用的QS AR 模型。 2 苯乙酰胺类农药的Q SAR 问题 苯乙酰胺类化合物是除草农药,其除草活性与其分子结构密切相关。所有的N 2(12甲基212苯乙基)苯乙酰胺都可用相应的羧酸酰胺通过霍夫曼反应生成。N 2(12甲基212苯乙基)苯乙酰胺的基本结构式为 : 其中X 为Me 、F 、Cl 、OMe 、CF 3和Br 等,Y 为Me 、Cl 、F 和Br 等,由不同的X 和Y 取代基可构成不同的化合物。常用以下7个理化参数描述化合物的分子组成和结构:log P 、log 2P (疏水性参数及其平方项)、 σ(电性效应参数)、E s (T aft 立体参数)、MR (摩尔折射度),1χ、2 χ(分子连接性指数)。于是这类化合物的QS AR 就转化为上述理化参数与除草活性间的关系。为研究这种关系,选用具有代表性的50个化合物, 他们的活性值取自文献1,见表1。 第32卷2004年12月分析化学(FE NXI H UAX UE ) 研究报告Chinese Journal of Analytical Chemistry 第12期1590~1594

粒子群优化算法车辆路径问题.

粒子群优化算法 计算车辆路径问题 摘要 粒子群优化算法中,粒子群由多个粒子组成,每个粒子的位置代表优化问题在D 维搜索空间中潜在的解。根据各自的位置,每个粒子用一个速度来决定其飞行的方向和距离,然后通过优化函数计算出一个适应度函数值(fitness)。粒子是根据如下三条原则来更新自身的状态:(1)在飞行过程中始终保持自身的惯性;(2)按自身的最优位置来改变状态;(3)按群体的最优位置来改变状态。本文主要运用运筹学中粒子群优化算法解决车辆路径问题。车辆路径问题 由Dan tzig 和Ram ser 于1959年首次提出的, 它是指对一系列发货点(或收货点) , 组成适当的行车路径, 使车辆有序地通过它们, 在满足一定约束条件的情况下, 达到一定的目标(诸如路程最短、费用最小, 耗费时间尽量少等) , 属于完全N P 问题, 在运筹、计算机、物流、管理等学科均有重要意义。粒子群算法是最近出现的一种模拟鸟群飞行的仿生算法, 有着个体数目少、计算简单、鲁棒性好等优点, 在各类多维连续空间优化问题上均取得非常好的效果。本文将PSO 应用于车辆路径问题求解中, 取得了很好的效果。 针对本题,一个中心仓库、7个需求点、中心有3辆车,容量均为1,由这三辆车向7个需求点配送货物,出发点和收车点都是中心仓库。 1233,1,7. k q q q l =====货物需求 量12345670.89,0.14,0.28,0.33,0.21,0.41,0.57g g g g g g g =======, 且 m a x i k g q ≤。利用matlab 编程,求出需求点和中心仓库、需求点之间的各 个距离,用ij c 表示。求满足需求的最小的车辆行驶路径,就是求m i n i j i j k i j k Z c x =∑∑∑。经过初始化粒子群,将初始的适应值作为每个粒子的个

粒子群优化算法及其参数设置

附录 程序1 当22111==c c ,5.12212==c c ,2.1=w 。 a)%主函数源程序(main.m ) %------基本粒子群算法 (particle swarm optimization ) %------名称: 基本粒子群算法 %------初始格式化 clear all ; %清除所有变量 clc; %清屏 format long ; %将数据显示为长整形科学计数 %------给定初始条条件------------------ N=40; %3初始化群体个数 D=10; %初始化群体维数 T=100; %初始化群体最迭代次数 c11=2; %学习因子1 c21=2; %学习因子2 c12=1.5; c22=1.5; w=1.2; %惯性权重 eps=10^(-6); %设置精度(在已知最小值的时候用) %------初始化种群个体(限定位置和速度)------------ x=zeros(N,D); v=zeros(N,D); for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end %------显示群位置----------------------

figure(1) for j=1:D if(rem(D,2)>0) subplot((D+1)/2,2,j) else subplot(D/2,2,j) end plot(x(:,j),'b*');grid on xlabel('粒子') ylabel('初始位置') tInfo=strcat('第',char(j+48),'维'); if(j>9) tInfo=strcat('第',char(floor(j/10)+48),char(rem(j,10)+48),'维'); end title(tInfo) end %------显示种群速度 figure(2) for j=1:D if(rem(D,2)>0) subplot((D+1)/2,2,j) else subplot(D/2,2,j) end plot(x(:,j),'b*');grid on xlabel('粒子') ylabel('初始速度') tInfo=strcat('第,char(j+48),'维'); if(j>9) tInfo=strcat('第',char(floor(j/10)+48), char(rem(j,10)+48),'维); end title(tInfo) end figure(3)

粒子群优化算法

什么是粒子群优化算法
粒子群优化算法(Particle Swarm optimization,PSO)又翻译为粒子群算法、微粒群算法、或 粒子群优化算法 微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通 常认为它是群集智能 (Swarm intelligence, SI) 的一种。它可以被纳入多主体优化系统 (Multiagent Optimization System, MAOS). 是由 Eberhart 博士和 kennedy 博士发明。 PSO 模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的 鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是 什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO 从这种模型中得到启示并用于解决优化问题。PSO 中,每个优化问题的解都是搜索空 间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值 (fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最 优粒子在解空间中搜索。 PSO 初始化为一群随机粒子(随机解),然后通过叠代找到最优解,在每一次叠代中,粒子通 过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值 pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值 gBest。另外也可以不 用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。 [编辑]
PSO 算法介绍[1]
如前所述,PSO 模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物。在这 个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多 远 那么找到食物的最优策略是什么呢 最简单有效的就是搜寻目前离食物最近的鸟的周围区域 。 。 。 PSO 从这种模型中得到启示并用于解决优化问题。PSO 中,每个优化问题的解都是搜索空 间中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子 在解空间中搜索 PSO 初始化为一群随机粒子(随机解)。然后通过叠代找到最优解。在每一次叠代中,粒子通 过跟踪两个"极值"来更新自己 第一个就是粒子本身所找到的最优解 这个解叫做个体极值 pBest. 。 。 另一个极值是整个种群目前找到的最优解。这个极值是全局极值 gBest。另外也可以不用整个种 群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。 在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置

粒子群优化算法介绍及matlab程序【精品文档】(完整版)

粒子群优化算法(1)—粒子群优化算法简介 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下: 当x=0.9350-0.9450,达到最大值y=1.3706。为了得到该函数的最大值,我们在[0, 4]之间随机的洒一些点,为了演示,我们放置两个点,并且计算这两个点的函数值,同时给这两个点设置在[0, 4]之间的一个速度。下面这些点就会按照一定的公式更改自己的位置,到达新位置后,再计算这两个点的值,然后再按照一定的公式更新自己的位置。直到最后在y=1.3706这个点停止自己的更新。这个过程与粒子群算法作为对照如下: 这两个点就是粒子群算法中的粒子。 该函数的最大值就是鸟群中的食物。 计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 更新自己位置的公式就是粒子群算法中的位置速度更新公式。 下面演示一下这个算法运行一次的大概过程: 第一次初始化 第一次更新位置

第二次更新位置 第21次更新 最后的结果(30次迭代) 最后所有的点都集中在最大值的地方。

粒子群优化算法(2)—标准粒子群优化算法 在上一节的叙述中,唯一没有给大家介绍的就是函数的这些随机的点(粒子)是如何运动的,只是说按照一定的公式更新。这个公式就是粒子群算法中的位置速度更新公式。下面就介绍这个公式是什么。在上一节中我们求取函数y=1-cos(3*x)*exp(-x)的在[0, 4]最大值。并在[0,4]之间放置了两个随机的点,这些点的坐标假设为x1=1.5,x2=2.5;这里的点是一个标量,但是我们经常遇到的问题可能是更一般的情况—x 为一个矢量的情况,比如二维z=2*x1+3*x22的情况。这个时候我们的每个粒子均为二维,记粒子 P1= (x11,x12),P2=(x21,x22),P3=(x31,x32),......Pn=(xn1,xn2)。这里n 为粒子群群体的规模,也就是这个群中粒子的个数,每个粒子的维数为2。更一般的是粒子的维数为q ,这样在这个种群中有n 个粒子,每个粒子为q 维。 由n 个粒子组成的群体对Q 维(就是每个粒子的维数)空间进行搜索。每个粒子表示为:x i =(x i1,x i2,x i3,...,x iQ ),每个粒子对应的速度可以表示为v i =(v i1,v i2,v i3,....,v iQ ),每个粒子在搜索时要考虑两个因素: 1. 自己搜索到的历史最优值 p i ,p i =(p i1,p i2,....,p iQ ),i=1,2,3,....,n ; 2. 全部粒子搜索到的最优值p g ,p g =(p g1,p g2,....,p gQ ),注意这里的p g 只有一个。 下面给出粒子群算法的位置速度更新公式: 112()()()()k k k k i i i i v v c rand pbest x c rand gbest x ω+=+??-+??-, 11k k k i i i x x av ++=+. 这里有几个重要的参数需要大家记忆,因为在以后的讲解中将会经常用到,它们是: ω是保持原来速度的系数,所以叫做惯性权重。1c 是粒子跟踪自己历史最优值的权重系 数,它表示粒子自身的认识,所以叫“认知”。通常设置为2。2c 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。()rand 是[0,1]区间内均匀分布的随机数。a 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设置为1。这样一个标准的粒子群算法就介绍结束了。下图是对整个基本的粒子群的过程给一个简单的图形表示。 判断终止条件可是设置适应值到达一定的数值或者循环一定的次数。 注意:这里的粒子是同时跟踪自己的历史最优值与全局(群体)最优值来改变自己的位置预速度的,所以又叫做全局版本的标准粒子群优化算法。

粒子群优化算法

1 群体智能概述 1.1 群体智能的概念与特点 群体智能的概念源于对蜜蜂、蚂蚁、大雁等这类群居生物群体行为的观察和研究,是一种在自然界生物群体所表现出的智能现象启发下提出的人工智能实现模式,是对简单生物群体的智能涌现现象的具体模式研究。群体智能指的是“简单智能的主体通过合作表现出复杂智能行为的特性”。该种智能模式需要以相当数目的智能体来实现对某类问题的求解功能。作为智能个体本身,在没有得到智能群体的总体信息反馈时,它在解空间中的行进方式是没有规律的。只有受到整个智能群体在解空间中行进效果的影响之后,智能个体在解空间中才能表现出具有合理寻优特征的行进模式。自然界中动物、昆虫常以集体的力量进行觅食生存,在这些群落中单个个体所表现的行为是简单缺乏智能的,且各个个体之间的行为是遵循相同规则的,但由个体组成的群体则表现出了一种有效的复杂的智能行为。群体智能可以在适当的进化机制引导下通过个体交互以某种突现形式发挥作用,这是个体的智能难以做到的。 通常,群体智能是指一种人工智能模式,体现的是一种总体的智能特性。人工智能主要有两种研究范式,即符号主义和联接主义。符号主义采用知识表达和逻辑符号系统来模拟人类的智能。联接主义则从大脑和神经系统的生理背景出发来模拟它们的工作机理和学习方式。符号主义试图对智能进行宏观研究,而联接主义则是一种微观意义上的探索。20世纪90年代后,计算智能的研究逐渐成为了联接主义人工智能的一个代表性流派。计算智能系统是在神经网络、模糊系统、进化计算三个分支发展相对成熟的基础上,通过相互之间的有机融合而形成的新的科学方法,也是智能理论和技术发展的崭新阶段。神经网络反映大脑思维的高层次结构;模糊系统模仿低层次的大脑结构;进化系统则是从生物种群的群体角度研究智能产生和进化过程。对群居性生物群体行为涌现的群体智能的研究是进化系统的一个新兴研究领域。 群体智能中,最小智能但自治的个体利用个体与个体和个体与环境的交互作用实现完全分布式控制,其具有以下特点: (1)自组织。自组织是一种动态机制,由底层单元(部件)的交互而呈现出系统的全局性的结构。交互的规则仅依赖于局部信息,而不依赖于全局的模式。自组织并不是外部的影响施加给系统而体现的一种性质,而是系统自身涌现出的一种性质。系统中没有一个中心控制模块,也不存在一个部分控制另一部分。正反馈(positive feedback)群体中的每个具有简单能力的个体表现出某种行为,会遵循已有的结构或者信息指引自己的行动,并且释放自身的信息素,这种不断的反馈能够使得某种行为加强。尽管一开始都是一些随机的行为,大量个体遵循正

改进粒子群算法的目标函数变化分类动态优化

龙源期刊网 https://www.wendangku.net/doc/b712745706.html, 改进粒子群算法的目标函数变化分类动态优化 作者:苏玉孔国利 来源:《现代电子技术》2017年第07期 摘要:由于优化问题的目标函数和约束条件都随着时间而改变导致其最优值也发生改变,提出一种基于改进粒子群算法的目标函数变化分类动态优化算法。首先对动态优化问题进行定义,明确问题的研究对象,提出对目标函数随时间变化程度分类的思想,通过对变化的函数进行监测的方法将其分为剧烈变化、中等程度变化和弱变化三种类型,并针对不同的强度变化对粒子群算法采用不同的改进策略,最后将不同的策略融入计算。通过采用移动多峰问题进行测试,结果表明,提出的改进粒子群优化算法能监测目标函数变化,并能随时跟踪到最优解,平均离线误差相对于标准粒子群算法更小,性能更稳定。 关键词:粒子群算法;动态优化;目标函数时变分类;移动峰问题 中图分类号: TN911.1?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2017)07?0175?04 Dynamic optimization of objective function changing classification based on improved particle swarm optimization SU Yu, KONG Guoli (College of Information Engineering, Zhongzhou University, Zhengzhou 450001,China) Abstract: The objective function and constraint condition for the optimization problem are changed with time, and may change its optimal value. A dynamic optimization of the objective function changing classification based on improved particle swarm optimization is proposed. The dynamic optimization problem is defined to determine the study object of the problem. The classification thought that the objective function is changed with the time varying degree is put forward. The varying function is divided into the types of drastic change, medium grade change and weak change with the monitoring method. Different strategies are adopted for the particle swarm optimization according to the different intensity changes, and integrated for computation. The algorithm was tested with the moving multi?peak problem. The test results show that the improved particle swarm optimization can monitor the changes of the objective function, track the optimal solution momentarily, its average offline error is smaller than that of the standard particle swarm optimization algorithm, and the performance is more stable.

粒子群优化算法概述

计算机辅助工艺课程作业 学生:赵华琳 学号: s308070072 时间:09年6月

粒子群优化算法概述 0.前言 优化是科学研究、工程技术和经济管理等领域的重要研究工具。它所研究的问题是讨论在众多的方案中寻找最优方案。例如,工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。在人类活动的各个领域中,诸如此类,不胜枚举。优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。近十余年来,粒子群优化算法作为群体智能算法的一个重要分支得到了广泛深入的研究,在路径规划等许多领域都有应用。本文主要结合现阶段的研究概况对粒子群优化算法进行初步介绍。 1.粒子群优化算法的基本原理 1.1 粒子群优化算法的起源 粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的[1][2]。 设想这样一个场景:一群鸟随机的分布在一个区域中,在这个区域里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作一个函数寻优的过程。鱼群和鸟群的社会行为一直引起科学家的兴趣。他们以特殊的方式移动、同步,不会相互碰撞,整体行为看上去非常优美。生物学家CargiReynolds提出了一个非常有影响的鸟群聚集模型。在他的模拟模型boids中,每一个个体遵循:避免与邻域个体相冲撞、匹配邻域个体的速度、试图飞向感知到的鸟群中心这三条规则形成简单的非集中控制算法驱动鸟群的聚集,在一系列模拟实验中突现出了非常接近现实鸟群聚集行为的现象。该结果显示了在空中回旋的鸟组成轮廓清晰的群体,以及遇到障碍物时鸟群的分裂和再度汇合过程。由此受到启发,经过简化提出了粒子群优化算法。 1.2粒子群优化算法的原理 在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。优化开始时先初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是整个种群目前找到的最优解。这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。第二个极值是粒子本身所找到的最优解,称为个体极值。这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了这个问题。这就是粒子群优化算法的原理。 在算法开始时,随机初始化粒子的位置和速度构成初始种群,初始种群在解空间中为均匀分布。其中第i个粒子在n维解空间的位置和速度可分别表示为X i=(x i1,x i2,…,x id)和V i=(v i1,v i2,…,v id),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己的速度和位置。一个极值是粒子本身到目前为止所找到的最优解,这个极值称为个体极值Pb i=(Pb i1,Pb i2,…,Pb id)。另一个极值是该粒子的邻域到目前为止找到的最优解,

粒子群优化算法

什么是粒子群优化算法 粒子群优化算法(Particle Swarm optimizatio n,PSO) 又翻译为粒子群算法、微粒群算法、 或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。 通常认为它是群集智能(Swarm intelligenee, SI) 的一种。它可以被纳入多主体优化系统(Multiagent Optimization System, MAOS). 是由Eberhart 博士和kennedy 博士发明。 PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什 么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间 中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值 (fitnessvalue) ,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的 最优粒子在解空间中搜索。 PSO初始化为一群随机粒子(随机解),然后通过叠代找到最优解,在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不 用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。 [编辑] PSO算法介绍⑴ 如前所述,PSO模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间 中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fit ness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子 在解空间中搜索 PSO初始化为一群随机粒子(随机解)。然后通过叠代找到最优解。在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解。这个解叫做个体极值pBest.另一个极值是整个种群目前找到的最优解。这个极值是全局极值gBest。另外也可以不 用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。 在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和新的位置

粒子群优化算法实践

粒子群优化算法实践 04123157 王斌一、粒子群优化算法起源及介绍 粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的。 在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。优化开始时先初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是整个种群目前找到的最优解。这个极值是全局极值。第二个极值是粒子本身所找到的最优解,称为个体极值。这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了这个问题。这就是粒子群优化算法的原理。 在算法开始时,随机初始化粒子的位置和速度构成初始种群,初始种群在解空间中为均匀分布。其中第i个粒子在n维解空间的位置和速度可分别表示为X i=(x i1,x i2,…,x id)和V i=(v i1,v i2,…,v id),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己的速度和位置。一个极值是粒子本身到目前为止所找到的最优解,这个极值称为个体极值Pb i=(Pb i1,Pb i2,…,Pb id)。另一个极值是该粒子的邻域到目前为止找到的最优解,这个极值称为整个邻域的最优粒子Nbest i=(Nbest i1,Nbest i2,…,Nbest id)。粒子根据如下的式(2-1)和式(2-2)来更新自己的速度和位置: V i=V i+c1·rand()·(Pbest i-X i)+c2·rand()·(Nbest i-X i) (2-1) X i=X i+V i (2-2) 式中c 1和c 2 是学习因子,也称加速因子,其使粒子具有自我总结和向群体 中优秀个体学习的能力,从而向自己的历史最优点以及群体内历史最优点靠近。

相关文档
相关文档 最新文档