粒子群算法和蚁群算法的结合及其在组合优化中的应用

粒子群算法和蚁群算法的结合及其在组合优化中的应用
粒子群算法和蚁群算法的结合及其在组合优化中的应用

2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30

粒子群算法和蚁群算法的结合及其在

组合优化中的应用

张长春苏昕易克初

(西安电子科技大学综合业务网国家重点实验室,西安710071)

摘要文章首次提出了一种用于求解组合优化问题的PAAA算法。该算法有效地

结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求精确解(即细搜索)。将文中提出的算法用于经典TSP问题的求解,仿真结果表明PAAA算法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性能和优化性能上的双赢,获得了非常好的效果。

主题词蚁群算法粒子群算法旅行商问题PAAA

0引言

近年来对生物启发式计算(Bio-inspiredComputing)的研究,越来越引起众多学者的关注和兴

趣,产生了神经网络、

遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。粒子群优化(ParticleSwarmOptimization,PSO)算法[1,2]是由Eberhart和Kennedy于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1)算法简洁,可调参数少,易于实现;(2)随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。

蚁群算法[3,4](AntColonyOptimization,ACO)是由意大利学者M.Dorigo,V.Maniezzo和A.Colorni

于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP问题[5,6]、二次分配问题、工件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。

文章将粒子群算法和蚁群算法有机地结合,提出了PAAA算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术SPACEELECTRONICTECHNOLOGY76

2007年第2期到优势互补。最后,将该算法用于经典旅行商(TSP)问题的求解,获得了很好的效果。

1旅行商(TSP)问题

TSP(TravelingSalesmanProblem)问题[7]属于NP完全问题,如用穷举搜索算法,则需要考虑所有

可能的情况,找出所有的路径,再对其进行比较,以找到最佳的路径。

这种方法随着城市数n的上升,算法时间随n按指数规律增长,即存在“指数爆炸”问题。

TSP问题描述十分简单,即寻找一条最短的遍历N个城市的路径,其数学描述为:

设有N个城市的集合c=8c1,c2,…,cN9,每两个城市之间的距离为d(c1,c2)!R+,其中ci,cj!c(1≤i,j≤N),求使目标函数:

Td=N-1i=1"d(c

#(i),c$(i+1))+d(c$(N),c$(1))(1)

达到最小的城市序列8c

$(1),c$(2),…,c$(N)9,其中$(1),$(2),…,$(N)是1,2,3,……,N

的全排列。2

蚁群算法描述2.1蚁群算法的优化思想

蚂蚁在觅食的途中会留下一种信息素,蚂蚁利用信息素与其他蚂蚁交流,找到较短路径;经过某地的蚂蚁越多,信息素的强度也就越大。蚂蚁择路偏向选择信息素较强的方向,又因为通过较短路径往返于食物和蚁穴之间的蚂蚁能以更短的时间经过这条路径上的点,所以这些点上的信息素就会因蚂蚁经过的次数增多而增多,这样就会有更多的蚂蚁选择此路径,这条路径上的信息素就会越来越强,选择此路径的蚂蚁也越来越多,直到最后,几乎所有蚂蚁都选择这条最短的路。这是一种正反馈机制。

2.2蚁群优化原理分析

假如路径(i,j)在t时刻信息素强度为τij,蚂蚁k在路径(i,j)上留下的信息素强度为Δ

τkij,信息素的挥发系数为ρ,则该路径上的信息素强度按下式更新:

τij(t+1)=(1-ρ)?τij(t)+∑Δ

τkij(t)(2)设Lk为第k只蚂蚁在本次周游中所走的路径长度,则Δτkij(t)=QLk,Q为常数;设ηij=1dij为启

发式因子,dij为路径(i,j)的长度,启发式因子和信息素强度的相对重要程度分别为α、β

,设U为蚂蚁下一步运动的候选集,则蚂蚁k在t时刻的转移概率为:

pkij(t)=τij(t&’)αηij&(β∑l!Uτij(t&()αηij

&(βj!U0其他

)+*+,

(3)2.3MMAS算法对基本蚁群算法进行改进得到的算法有许多种,其中最大-最小蚂蚁系统(MMAS)是到目前为止解决TSP、QAP等问题最好的ACO算法。它直接来源于AS算法,主要做了如下改进:⑴每次迭代结束后只有最优解路径上的信息素被更新,更好地利用了历史信息;⑵将各条路径的信息素强度限制在[τmin,τmax],有效地避免了算法过早的收敛及不扩散;⑶各路径的信息素初始值设为τmax,有利于算法发现更好的解。

张长春等:粒子群算法和蚁群算法的结合及其在组合优化中的应用77

78

2007年第2期

空间电子技术

3粒子群优化算法

3.1基本粒子群优化算法描述

在某一空间中初始化一群随机粒子,粒子的位置代表问题可能的解,每个粒子都在以一定的速度飞行,粒子群通过多次飞行,即迭代,逐步逼近最优位置,从而得到问题的最优解。在每一次迭代中,粒子根据两个极值来更新自己:一个是单个粒子找到的最优解,即个体极值;另一个是整个粒子群找到的最优解,即全局极值。

粒子根据上述两个极值,按照下面两个公式更新自己的速度和位置:

V=ω*V+c1*rand()*(pBest-X)+c2*rand()*(gBest-X)(4)

X=X+V(5)其中,V=[v1,v2,…,vd]是粒子的速度,X=[x1,x2,…,xd]是粒子的当前位置,d是解空间的维数。pBest是个体极值。gBest是全局极值。rand()是(0,1)之间的随机数。c1,c2被称为学习因子,用于调整粒子更新的步长,ω是加权系数。

粒子通过不断的学习更新,粒子群逐渐靠近最优解所在位置,最终得到的gBest就是算法找到的全局最优解。

3.2对基本PSO的改造

PSO算法成功地应用于连续优化问题,但如果引入交换子和交换序[8]的概念,对基本的PSO算法进行改造,它也可以对TSP问题进行求解。改造后,速度更新公式为:

V′id=Vid"α(Pid-Xid)"β(Pgd-Xid)(6)其中α、β为随机数,α(Pid-Xid)表示基本交换序(Pid-Xid)中的交换子以概率α保留;同理,β(Pgd-Xid)表示基本交换序(Pgd-Xid)中的交换子以概率β保留。"为两个交换序的合并因子。

4粒子群算法和蚁群算法的结合

4.1PAAA(ParticleAlgorithm-AntAlgorithm)算法原理分析

虽然粒子群算法更适合于求解连续优化问题[2],在求解组合优化问题上显得逊色了一些,但是由于初始粒子的随机分布,将其用于求解组合优化问题时,该算法仍具有较强的全局搜索能力和较快的求解速度;蚁群算法在求解组合优化问题时优于粒子群优化算法,但由于信息素的初始分布为均匀分布(对于MMAS而言,强度均为τmax),使得蚁群算法在算法的早期具有盲目性,不能很快地收敛。

文章首次提出的PAAA算法就综合了这两种算法的优势,其基本思想是:在PAAA算法的第一阶段,采用改造的粒子群优化算法,充分利用其随机性、快速性、全局性,经过一定的迭代次数(如20代)得到问题的次优解(粗搜索),利用问题的次优解调整蚁群算法中的信息素的初始分布;在算法的第二阶段,PAAA利用第一阶段得到的信息素的分布,充分利用蚁群算法的并行性、正反馈性、求解精度高等优点,从而完成整个问题的求解(细搜索)。

粒子群算法和蚁群算法相结合,汲取了两种算法的优点,克服了各自的缺点,优势互补,在时间效率上优于蚁群算法,在求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法。它与MMAS算法的不同之处在于:MMAS算法把各路径的信息素初值设为最大值τmax,而在PAAA算法中,首先通过粒子群算法得到一定的路径信息素分布,然后在蚁群算法中将信息素的初值设为:

τS=τC+τP(7)其中,τC为根据具体问题而规定的一个信息素常数,相当于MMAS算法中的τmin,而τP就是由粒

2007年第2期子群算法得到的信息素值。图1表示了PAAA算法的构成方法。

图1PAAA算法的构成方法

4.2仿真试验

以TSP的经典问题eil51、st70和eil76为例,文中采用MATLAB对所提算法的有效性进行验证。首先,粒子群算法进行20次迭代,得到问题的次优解,然后利用次优解的路径长度,根据式(7)得到蚁群算法中的初始信息素分布;在蚁群算法中,ρ=0.02,蚂蚁个数等于城市个数,α=1.0,β=5.0,τmin=0.0001。表1显示了PAAA算法和基本MMAS算法在求解能力和时间效率上的对比情况。

表1仿真试验结果对比

从仿真结果可以看出,PAAA算法中的MMAS的进化代数明显要比基本MMAS算法少,这是因为经过粒子群算法后,信息素的初始分布得到了改善,避免了基本MMAS算法初期由于信息素均匀分布而造成的搜索的盲目性,这样有利于蚁群算法对更精确解的搜索。

图2形象地表示了该算法搜索到的最优路径的情况。

图2PAAA算法找到的最短路径

5结论

从对文中算法的分析以及仿真结果可以看出,该算法在时间性能和优化性能上都取得了非常好的效果,是一种切实可行的算法。另外该算法不只适用于TSP问题的求解,它还可以广泛地用于各类组合优化问题的求解,如网络路由计算、天线调零、频段分配等通信领域中的复杂优化问题。可以相信,随着对该算法的深入研究,它将会展现出非常好的应用前景。

张长春等:粒子群算法和蚁群算法的结合及其在组合优化中的应用MMAS算法PAAA算法进化代数

eil51st70eil7642667553842967854582310341322429678545粒子群202020

MMAS

152

235

281问题已知最优解最短路径进化代数最短路径79

2007年第2期空间电子技术AAdaptiveEqualizationAlgorithmBased

OnChannel-Estimation

WangCanlong,XuZhanqi,ZhuXiaoming

(ISDNXidianUniversity,Xi'an710071)

AbstractUnderHFmulti-pathfadingchannels,Intersymbolinterference(ISI),seriousfallingandfastvarietyofthechannelcharactersarethemainfactorswhichadverselyaffecttheperformanceofdigitalcommunicationsystems.Thecapabilityofreceiverliesontheperformanceofchannel-estimationandchannel-equalization.Butwhenthetrainingsequenceistooshortorhavingchosenaalgorithmwithlowspeedofconvergence,thecoefficientsofequalizationcannotachievetheirbestvalueattheendoftrainingprocess.Thereforeestimatingthechannelimpulseresponsefirstandmappingthechannelparameterstotheequalizer'scoefficientsbysolvingtheWiener-Hopfequations.Thentakingthesquarerootkalmanalgorithmtoadjustthesecoefficientsandtrackthevaryofchannelinthetracking-process.Computersimulationresultsshowthatthisalgorithmhasbetterperformancecomparedtotraditionaladaptivemethods,especiallywhenthetrainingsequenceisshort.

SubjectTermdecisionfeedbackequalizer(DFE)R squarerootKalmanalgorithmR channel-estimation(上接第75页)

参考文献

KennedyJ,EberhartRC.Particleswarmoptimization[A].IEEEInternationalConferenceonNeuralNetworks[C].Perth,Australia,19952ShiY,EberhartRC.Amodifiedswarmoptimizer[A].IEEEInternationalConferenceofEvolutionaryComputation[C].Anchorage,Alaska,1998

3DorigoMandCaroGD.Theantcolonyoptimizationmeta-heuristic.InD.Corne,M.DorigoandF.Glover,Editors,NewIdeasinOptimization[M]:11~32.McGrawHill,London,UK,1999

4BonabeauE,DorigoMandTheraulazG.Swarmintelligence:fromnaturaltoartificialsystems[M].NewYork:OxfordUniversity.Press,1999

5张宏达,郑全弟.基于蚁群算法的TSP的仿真与研究.航空计算技术.Vol35,No4:103~106,2005

吴斌,史忠植.一种基于蚁群算法的TSP问题分段求解算法[J].计算机学报.2001,24(12):1328~13337

胡小兵.蚁群优化原理、理论及其应用研究.重庆大学博士学位论文.20048黄岚,王康平等.粒子群优化算法求解旅行商问题.吉林大学学报(理学版).Vol.41,No.4:477~480,2003

作者简介

张长春1980年生,硕士。主要研究方向为通信信号处理、

卫星通信。苏昕1979年生,博士。主要研究方向为通信信号处理、数字通信。

易克初1943年生,教授,现为西安电子科技大学综合业务网国家重点实验室副主任,博士生导师。发表学术论文100余篇,科研成果获奖中4项为省部级奖,获发明专利授权2项。主要研究方向:卫星通信、通信信号处理。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!80

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

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

基于粒子群优化算法的图像分割 (作者:) () 指导教师: 【摘要】本文通过对粒子群优化算法的研究,采用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研究的背景和意义 技术的不断向前发展,人们越来越多地利用计算机来获取和处理视觉图像信息。据统计,人类

遗传算法与组合优化.

第四章 遗传算法与组合优化 4.1 背包问题(knapsack problem ) 4.1.1 问题描述 0/1背包问题:给出几个尺寸为S 1,S 2,…,S n 的物体和容量为C 的背包,此处S 1,S 2,…,S n 和C 都是正整数;要求找出n 个物件的一个子集使其尽可能多地填满容量为C 的背包。 数学形式: 最大化 ∑=n i i i X S 1 满足 ,1C X S n i i i ≤∑= n i X i ≤≤∈1},1,0{ 广义背包问题:输入由C 和两个向量C =(S 1,S 2,…,S n )和P =(P 1,P 2,…,P n )组成。设X 为一整数集合,即X =1,2,3,…,n ,T 为X 的子集,则问题就是找出满足约束条件∑∈≤T i i C X ,而使∑∈T i i P 获得最大的子集T ,即求S i 和P i 的下标子集。 在应用问题中,设S 的元素是n 项经营活动各自所需的资源消耗,C 是所能提供的资源总量,P 的元素是人们从每项经营活动中得到的利润或收益,则背包问题就是在资源有限的条件下,追求总的最大收益的资源有效分配问题。 广义背包问题可以数学形式更精确地描述如下: 最大化 ∑=n i i i X P 1 满足 ,1C X S n i i i ≤∑= n i X i ≤≤∈1},1,0{ 背包问题在计算理论中属于NP —完全问题,其计算复杂度为O (2n ),若允许物件可以部分地装入背包,即允许X ,可取从0.00到1.00闭区间上的实数,则背包问题就简化为极简单的P 类问题,此时计算复杂度为O (n )。

4.1.2 遗传编码 采用下标子集T 的二进制编码方案是常用的遗传编码方法。串T 的长度等于n(问题规模),T i (1≤i ≤n )=1表示该物件装入背包,T i =0表示不装入背包。基于背包问题有近似求解知识,以及考虑到遗传算法的特点(适合短定义距的、低阶的、高适应度的模式构成的积木块结构类问题),通常将P i ,S i 按P i /S i 值的大小依次排列,即P 1/S 1≥P 2/S 2≥…≥P n /S n 。 4.1.3 适应度函数 在上述编码情况下,背包问题的目标函数和约束条件可表示如下。 目标函数:∑==n i i i P T T J 1 )( 约束条件:C S T n i i i ≤∑=1 按照利用惩罚函数处理约束条件的方法,我们可构造背包问题的适应度函数f (T )如下式: f (T ) = J (T ) + g (T ) 式中g (T )为对T 超越约束条件的惩罚函数,惩罚函数可构造如下: 式中E m 为P i /S (1≤i ≤n )i 的最大值,β为合适的惩罚系数。 4.2 货郎担问题(Traveling Salesman Problem ——TSP ) 在遗传其法研究中,TSP 问题已被广泛地用于评价不同的遗传操作及选择机制的性能。之所以如此,主要有以下几个方面的原因: (1) TSP 问题是一个典型的、易于描述却难以处理的NP 完全(NP-complete )问题。有效地 解决TSP 问题在可计算理论上有着重要的理论价值。 (2) TSP 问题是诸多领域内出现的多种复杂问题的集中概括和简化形式。因此,快速、有效 地解决TSP 问题有着极高的实际应用价值。 (3) TSP 问题因其典型性已成为各种启发式的搜索、优化算法的间接比较标准,而遗传算法 就其本质来说,主要是处理复杂问题的一种鲁棒性强的启发式随机搜索算法。因此遗传算法在TSP 问题求解方面的应用研究,对于构造合适的遗传算法框架、建立有效的遗传操作以及有效地解决TSP 问题等有着多方面的重要意义。

基于混合信息粒子群优化算法

基于混合信息的粒子群优化算法 摘要:本文提出一种基于混合信息的粒子群优化算法。此算法具有充分利用种群信息,保证群体的多样性,快速收敛效果和避免陷入局部极值的能力。 abstract: this paper proposes a particle swarm optimization algorithm based on hybrid information. the new algorithm has the ability to make full use of the whole population information, ensure the diversity of population,has fast convergence effect and escape from local extremum. 关键词:粒子群优化算法;群体智能;混合信息 key words: particle swarm optimization;swarm intelligence;hybrid information 中图分类号:tp301.6 文献标识码:a 文章编号:1006-4311(2013)20-0240-02 0 引言 粒子群优化算法是由kennedy和eberhart[1,2]在1995年提出的一种新的群体智能计算技术。尽管传统的粒子群优化算法在低维空间的函数寻优问题上具有求解速度快、质量高的特点,但随着函数维数的增加,其优化性能便急剧下降,容易陷入局部极值,导致收敛精度低、不易收敛到全局最优。为了克服这一不足,研究者提出了很多粒子群优化算法的改进方法[3]。本文提出一种基于混合信息的粒子群优化算法,算法对粒子的速度进化公式进行改进,使

基于遗传算法的多式联运组合优化

第四章基于遗传算法的集装箱多式联运运输组合优化模型 的求解 4.1 遗传算法简介 4.1.1 遗传算法 遗传算法(Genetic Algorithm,GA)是在20世纪六七十年代由美国密歇根大学的Holland J.H.教授及其学生和同事在研究人工自适应系统中发展起来的一种随机搜索方法,通过进一步的研究逐渐形成了一个完整的理论和方法体系取名为基本遗传算法(Simple Genetic Algorithm)。在接下来几年的研究过程中Holland在研究自然和人工系统的自适应行为的过程中采用了这个算法,并在他的著作《自然系统和人工系统的适配》中对基本遗传算法的理论和方法进行了系统的阐述与描写,同时提出了在遗传算法的理论研究和发展中具有极为重要的作用的模式理论,它的编码技术和遗传操作成为了遗传算法被广泛并成功的应用的基础,经过许多学者多年来的研究,遗传算法逐渐成熟起来,到现在已经成为了一个非常大的体系,广泛的应用于组合优化、系统优化、过程控制、经济预测、模式识别以及智能控制等多个领域。De Jong于1975年在他的博士论文中设计了一系列针对于各种函数优化问题的遗传算法的执行策略,详细分析了各项性能的评价指标。在此基础上,美国伊利诺大学的Goldberg于1989年系统全面的阐述了遗传算法理论,并通过例证对遗传算法的多领域应用进行了分析,为现代遗传算法的研究和发展奠定了基础。 遗传算法是一种模仿基于自然选择的生物进化过程的随机方法,它以类似于基因的编码作为种群的个体,首先,随机的产生初始种群的个体,从这个群体开始进行搜索,根据类似于生物适应能力的适应度函数值的大小,按照不同问题各自的特点,在当前的种群中运用适当的选择策略选择适应能力大的个体,其中所选择出来的个体经过遗传操作、交叉操作以及变异操作产生下一代种群个体。如此反复,像生物的进化过程一样逐代进化,直到满足期望的终止条件为止。

遗传算法和蚁群算法的比较

全局优化报告 ——遗传算法和蚁群算法的比较 某:X玄玄 学号:3112054023 班级:硕2041

1遗传算法 1.1遗传算法的发展历史 遗传算法是一种模拟自然选择和遗传机制的寻优方法。20世纪60年代初期,Holland教授开始认识到生物的自然遗传现象与人工自适应系统行为的相似性。他认为不仅要研究自适应系统自身,也要研究与之相关的环境。因此,他提出在研究和设计人工自适应系统时,可以借鉴生物自然遗传的基本原理,模仿生物自然遗传的基本方法。1967年,他的学生Bagley在博士论文中首次提出了“遗传算法”一词。到70年代初,Holland教授提出了“模式定理”,一般认为是遗传算法的基本定理,从而奠定了遗传算法的基本理论。1975年,Holland出版了著名的《自然系统和人工系统的自适应性》,这是第一本系统论述遗传算法的专著。因此,也有人把1975年作为遗传算法的诞生年。 1985年,在美国召开了第一届两年一次的遗传算法国际会议,并且成立了国际遗传算法协会。1989年,Holland的学生Goldberg出版了《搜索、优化和机器学习中的遗传算法》,总结了遗传算法研究的主要成果,对遗传算法作了全面而系统的论述。一般认为,这个时期的遗传算法从古典时期发展了现代阶段,这本书则奠定了现代遗传算法的基础。 遗传算法是建立在达尔文的生物进化论和孟德尔的遗传学说基

础上的算法。在进化论中,每一个物种在不断发展的过程中都是越来越适应环境,物种每个个体的基本特征被后代所继承,但后代又不完全同于父代,这些新的变化,若适应环境,则被保留下来;否则,就将被淘汰。在遗传学中认为,遗传是作为一种指令遗传码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质。每个基因产生的个体对环境有一定的适应性。基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计原理而形成的。在求解过程中,遗传算法从一个初始变量群体开始,一代一代地寻找问题的最优解,直到满足收敛判据或预先假定的迭代次数为止。 遗传算法的应用研究比理论研究更为丰富,已渗透到许多学科,并且几乎在所有的科学和工程问题中都具有应用前景。一些典型的应用领域如下: (1)复杂的非线性最优化问题。对具体多个局部极值的非线性最优化问题,传统的优化方法一般难于找到全局最优解;而遗传算法可以克服这一缺点,找到全局最优解。 (2)复杂的组合优化或整数规划问题。大多数组合优化或整数规划问题属于NP难问题,很难找到有效的求解方法;而遗传算法即特别适合解决这一类问题,能够在可以接受的计算时间内求得满意的近似最优解,如著名的旅行商问题、装箱问题等都可以用遗传算法得到满意的解。

基于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

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

粒子群算法解决函数优化问题 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 年,高鹰和谢胜利将混沌寻优思想引入到粒子群优化算法中,首先对当前群体中的优粒子进行混沌寻优, 再用混沌寻优的结果随机替换群体中的一个粒子,这样提出另一种混沌粒子群优化算法。

蚁群算法的基本原理

2.1 蚁群算法的基本原理 蚁群优化算法是模拟蚂蚁觅食的原理,设计出的一种群集智能算法。蚂蚁在觅食过程中能够在其经过的路径上留下一种称之为信息素的物质,并在觅食过程中能够感知这种物质的强度,并指导自己行动方向,它们总是朝着该物质强度高的方向移动,因此大量蚂蚁组成的集体觅食就表现为一种对信息素的正反馈现象。某一条路径越短,路径上经过的蚂蚁越多,其信息素遗留的也就越多,信息素的浓度也就越高,蚂蚁选择这条路径的几率也就越高,由此构成的正反馈过程,从而逐渐的逼近最优路径,找到最优路径。 蚂蚁在觅食过程时,是以信息素作为媒介而间接进行信息交流,当蚂蚁从食物源走到蚁穴,或者从蚁穴走到食物源时,都会在经过的路径上释放信息素,从而形成了一条含有信息素的路径,蚂蚁可以感觉出路径上信息素浓度的大小,并且以较高的概率选择信息素浓度较高的路径。 (a) 蚁穴 1 2 食物源 A B (b) 人工蚂蚁的搜索主要包括三种智能行为: (1)蚂蚁的记忆行为。一只蚂蚁搜索过的路径在下次搜索时就不再被该蚂蚁选择,因此在蚁群算法中建立禁忌表进行模拟。 (2)蚂蚁利用信息素进行相互通信。蚂蚁在所选择的路径上会释放一种信息素的物质,当其他蚂蚁进行路径选择时,会根据路径上的信息素浓度进行选择,这样信息素就成为蚂蚁之间进行通信的媒介。 (3)蚂蚁的集群活动。通过一只蚂蚁的运动很难达到事物源,但整个蚁群进行搜索就完全不同。当某些路径上通过的蚂蚁越来越多时,路径上留下的信息素数量也就越多,导致信息素强度增大,蚂蚁选择该路径的概率随之增加,从而进一步增加该路径的信息素强度,而通过的蚂蚁比较少的路径上的信息素会随着时间的推移而挥发,从而变得越来越少。3.3.1蚂蚁系统 蚂蚁系统是最早的蚁群算法。其搜索过程大致如下: 在初始时刻,m 只蚂蚁随机放置于城市中, 各条路径上的信息素初始值相等,设为:0(0)ij ττ=为信息素初始值,可设0m m L τ=,m L 是由最近邻启发式方法构 造的路径长度。其次,蚂蚁(1,2,)k k m = ,按照随机比例规则选择下一步要转

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

基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用 张丽平 俞欢军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

粒子群算法和蚁群算法的结合及其在组合优化中的应用e

2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30 粒子群算法和蚁群算法的结合及其在 组合优化中的应用 张长春苏昕易克初 (西安电子科技大学综合业务网国家重点实验室,西安710071) 摘要文章首次提出了一种用于求解组合优化问题的PAAA 算法。该算法有效地 结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到 初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求 精确解(即细搜索)。将文中提出的算法用于经典TSP 问题的求解,仿真结果表明PAAA 算 法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在 求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性 能和优化性能上的双赢,获得了非常好的效果。 主题词蚁群算法粒子群算法旅行商问题PAAA 0引言 近年来对生物启发式计算(Bio-inspired Computing )的研究,越来越引起众多学者的关注和兴趣,产生了神经网络、遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。 粒子群优化(Particie Swarm Optimization ,PSO )算法[1, 2]是由Eberhart 和Kennedy 于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1) 算法简洁,可调参数少,易于实现;(2) 随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。 蚁群算法[3,4](Ant Coiony Optimization ,ACO ) 是由意大利学者M.Dorigo ,V.Maniezzo 和A.Coiorni 于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP 问题[5,6]、二次分配问题、工 件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。 文章将粒子群算法和蚁群算法有机地结合,提出了PAAA 算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术 SPACE ELECTRONIC TECHNOLOGY !"

基本蚁群优化算法及其改进毕业设计

摘要 自意大利学者M. Dorigo于1991年提出蚁群算法后,该算法引起了学者们的极大关注,在短短十多年的时间里,已在组合优化、网络路由、函数优化、数据挖掘、机器人路径规划等领域获得了广泛应用,并取得了较好的效果。本文首先讨论了该算法的基本原理,接着介绍了旅行商问题,然后对蚁群算法及其二种改进算法进行了分析,并通过计算机仿真来说明蚁群算法基本原理,然后分析了聚类算法原理和蚁群聚类算法的数学模型,通过调整传统的蚁群算法构建了求解聚类问题的蚁群聚类算法。最后,本文还研究了一种依赖信息素解决聚类问题的蚁群聚类算法,并把此蚁群聚类算法应用到对人工数据进行分类,还利用该算法对2005年中国24所高校综合实力进行分类,得到的分类结果与实际情况相符,说明了蚁群算法在聚类分析中能够收到较为理想的结果。 【关键词】蚁群算法;计算机仿真;聚类;蚁群聚类

Study on Ant Colony Algorithm and its Application in Clustering Abstract: As the ant colony algorithm was proposed by M. Dorigo in 1991,it bringed a extremely large attention of scholars, in past short more than ten years, optimized, the network route, the function in the combination optimizes, domains and so on data mining, robot way plan has obtained the widespread application, and has obtained the good effect.This acticle discussed the basic principle of it at first, then introduced the TSP,this acticle also analysed the ant colony algorithm and its improved algorithm, and explanated it by the computer simulates, then it analysed the clustering algorithm and the ant clustering algorithm, builded the ant clustering algorith to solution the clustering by the traditioned ant algorithm. At last, this article also proposed the ant clustering algorith to soluted the clustering dependent on pheromon. Carry on the classification to the artificial data using this ant clustering algorithm; Use this algorithm to carry on the classification of the synthesize strength of the 2005 Chinese 24 universities; we can obtain the classified result which matches to the actual situation case. In the next work, we also should do the different cluster algorithm respective good and bad points as well as the classified performance aspect the comparison research; distinguish the different performance of different algorithm in the analysis when the dates are different. Key words: Ant colony algorithm; Computer simulation; clustering; Ant clustering 目录

比较专家系统、模糊方法、遗传算法、神经网络、蚁群算法的特点及其适合解决的实际问题

比较专家系统、模糊方法、遗传算法、神经网络、蚁群算法的特点及其适合解决的实际问题 一、专家系统(Expert System) 1,什么是专家系统? 在日常生活中大家所认知的“专家”一般都拥有某一特定领域的大量专业知识,以及丰富的实际经验。在解决问题时,专家们通常拥有一套独特的思维方式,能较圆满地解决一类困难问题,或向用户提出一些建设性的建议等。 专家系统一般定义为一个具有智能特点的计算机程序。 它的智能化主要表现为能够在特定的领域内模仿人类专家思维来求解复杂问题。因此,专家系统必须包含领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来解决实际问题。 专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。 图1 专家系统的基本组成 专家系统通常由知识库和推理机两个主要组成要素。 知识库存放着作为专家经验的判断性知识,例如表达建议、 推断、 命令、 策略的产生式规则等, 用于某种结论的推理、 问题的求解,以及对于推理、 求解知识的各种控制知识。 知识库中还包括另一类叙述性知识, 也称作数据,用于说明问题的状态,有关的事实和概念,当前的条件以及常识等。

专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。 推理机实际上是一个运用知识库中提供的两类知识,基于木某种通用的问题求解模型,进行自动推理、 求解问题的计算机软件系统。 它包括一个解释程序, 用于决定如何使用判断性知识推导新的知识, 还包括一个调度程序, 用于决定判断性知识的使用次序。 推理机的具体构造取决于问题领域的特点,及专家系统中知识表示和组织的方法。 推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。 人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。 综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。 知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。 2,专家系统的特点 在功能上, 专家系统是一种知识信息处理系统, 而不是数值信息计算系统。在结构上, 专家系统的两个主要组成部分 – 知识库和推理机是独立构造、分离组织, 但又相互作用的。在性能上, 专家系统具有启发性, 它能够运用专家的经验知识对不确定的或不精确的问题进行启发式推理, 运用排除多余步骤或减少不必要计算的思维捷径和策略;专家系统具有透明性, 它能够向用户显示为得出某一结论而形成的推理链, 运用有关推理的知识(元知识)检查导出结论的精度、一致性和合理性, 甚至提出一些证据来解释或证明它的推理;专家系统具有灵活性, 它能够通过知识库的扩充和更新提高求解专门问题的水平或适应环境对象的某些变化,通过与系统用户的交互使自身的性能得到评价和监护。 3,专家系统适合解决的实际问题 专家系统是人工智能的一个应用,但由于其重要性及相关应用系统之迅速发展,它已是信息系统的一种特定类型。专家系统一词系由以知识为基础的专家系统(knowledge-based expert system)而来,此种系统应用计算机中储存的人类知识,解决一般需要用到专家才能处理的问题,它能模仿人类专家解决特定问题时的推理过程,因而可供非专家们用来增进问题解决的能力,同时专家们也可把它视为具备专业知识的助理。由于在人类社会中,专家资源确实相当稀少,有了专家系统,则可使此珍贵的专家知识获得普遍的应用。 专家系统技术广泛应用在工程、科学、医药、军事、商业等方面,而且成果相当丰硕,甚至在某些应用领域,还超过人类专家的智能与判断。其功能应用领

混合粒子群算法:基于模拟退火的算法

混合粒子群算法:基于模拟退火的算法 1. 算法原理 模拟退火算法在搜索过程中具有概率突跳的能力,能够有效地避免搜索过程中陷入局部极小解。模拟退火算法在退火过程中不但接受好的解,而且还以一定的概率接受差得解,同时这种概率受到温度参数的控制,其大小随温度的下降而减小。 2. 算法步骤 (1) 随机初始化种群中各微粒的位置和速度; (2) 评价每个微粒的适应度,将当前各微子的位置和适应值存储在各微子的i p 中,将所 有pbest 的中适应最优个体的位置和适应值存储在g p 中; (3) 确定初始温度; (4) 根据下式确定当前温度下各i p 的适配值: (()())/(()())/1 ()i g i g f p f p t i N f p f p t i e TF p e ----== ∑ (5) 采用轮盘赌策略从所有i p 中确定全局最优的某个替代值g p ',然后根据下式更新各 微粒的速度和位置: {},,11,,22,,(1)()[()][()]i j i j i j i j g j i j v t v t c r p x t c r p x t ?+=+-+- ,,,(1)()(1),1,2,...i j i j i j x t x t v t j d +=++= 12 C c c ?= =+ (6) 计算各微粒新的目标值,更新各微粒的i p 值及群体的g p 值; (7) 进行退温操作; (8) 若满足停止条件(通常为预设的运算精度或迭代次数),搜索停止,输出结果,否知 返回(4)继续搜索; (9) 初始温度和退温温度对算法有一定的影响,一般采用如下的初温和退温方式: 10,()/ln 5k k g t k t f p λ+== 3. 算法MATLAB 实现 在MATLAB 中编程实现的基于杂交的粒子群算法优化函数为:Sim uA P SO 。 功能:用基于模拟退火的粒子群算法求解无约束优化问题。

遗传算法和蚁群算法的比较

全局优化报告——遗传算法和蚁群算法的比较 姓名:玄玄 学号:3112054023 班级:硕2041

1遗传算法 1.1遗传算法的发展历史 遗传算法是一种模拟自然选择和遗传机制的寻优方法。20世纪60年代初期,Holland教授开始认识到生物的自然遗传现象与人工自适应系统行为的相似性。他认为不仅要研究自适应系统自身,也要研究与之相关的环境。因此,他提出在研究和设计人工自适应系统时,可以借鉴生物自然遗传的基本原理,模仿生物自然遗传的基本方法。1967年,他的学生Bagley在博士论文中首次提出了“遗传算法”一词。到70年代初,Holland教授提出了“模式定理”,一般认为是遗传算法的基本定理,从而奠定了遗传算法的基本理论。1975年,Holland出版了著名的《自然系统和人工系统的自适应性》,这是第一本系统论述遗传算法的专著。因此,也有人把1975年作为遗传算法的诞生年。 1985年,在美国召开了第一届两年一次的遗传算法国际会议,并且成立了国际遗传算法协会。1989年,Holland的学生Goldberg 出版了《搜索、优化和机器学习中的遗传算法》,总结了遗传算法研究的主要成果,对遗传算法作了全面而系统的论述。一般认为,这个

时期的遗传算法从古典时期发展了现代阶段,这本书则奠定了现代遗传算法的基础。 遗传算法是建立在达尔文的生物进化论和孟德尔的遗传学说基础上的算法。在进化论中,每一个物种在不断发展的过程中都是越来越适应环境,物种每个个体的基本特征被后代所继承,但后代又不完全同于父代,这些新的变化,若适应环境,则被保留下来;否则,就将被淘汰。在遗传学中认为,遗传是作为一种指令遗传码封装在每个细胞中,并以基因的形式包含在染色体中,每个基因有特殊的位置并控制某个特殊的性质。每个基因产生的个体对环境有一定的适应性。基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计原理而形成的。在求解过程中,遗传算法从一个初始变量群体开始,一代一代地寻找问题的最优解,直到满足收敛判据或预先假定的迭代次数为止。 遗传算法的应用研究比理论研究更为丰富,已渗透到许多学科,并且几乎在所有的科学和工程问题中都具有应用前景。一些典型的应用领域如下: (1)复杂的非线性最优化问题。对具体多个局部极值的非线性最优化问题,传统的优化方法一般难于找到全局最优解;而遗传算法可以克服这一缺点,找到全局最优解。 (2)复杂的组合优化或整数规划问题。大多数组合优化或整数规划问题属于NP难问题,很难找到有效的求解方法;而遗传算法即特别

遗传算法及其在TSP问题中的应用

遗传算法及其在TSP问题中的应用 摘要:本文首先介绍了遗传算法的基本理论与方法,从应用的角度对遗传算法做了认真的分析和研究,总结了用遗传算法提出求解组合优化问题中的典型问题——TSP问题的最优近似解的算法。其次,本文在深入分析和研究了遗传算法基本理论与方法的基础上,针对旅行商问题的具体问题,设计了基于TSP的遗传算法的选择、交叉和变异算子等遗传算子,提出了求解旅行商问题的一种遗传算法,并用Matlab语言编程实现其算法,最后绘出算法的仿真结果,并对不同结果作出相应的分析。然后,本文还针对遗传算法求解TSP时存在的一些问题对该算法进行了适当的改进。如针对初始群体、遗传算子作出适当改进,或者将遗传算法与其他方法相结合,以及在编程过程中对算法流程的改进。本人在用计算机模拟遗传算法求解TSP问题时,首先分析了用Matlab语言设计遗传算法程序的优越性,接着以遗传算法求解TSP问题为例,深入讨论了各个遗传算子的程序实现,并通过分析实验数据,得到各个遗传算子在搜索寻优过程中所起的作用,最后指出了用Matlab语言编程同用其它高级程序语言编程的差异所在,以及运用Matlab编写遗传算法程序的一些注意事项。最后,本文提出将遗传算法与其它算法相结合来求解一般问题的想法;并将遗传算法的应用范围扩展,提出可以运用遗传算法求解由TSP衍生出的各类TSP扩展问题,如求解配送/收集旅行商问题的遗传算法(TSPD)、遗传算法在货物配送问题中的应用(ST-TSP)、多旅行商问题(MTSP)等。 引言:优化问题可以自然地分为两类:一类是连续变量的优化问题;另一类是离散变量的优化问题,即所谓组合优化问题。对于连续变量的优化问题,一般是求一组实数或一个函数;而在组合优化问题中,一般是从一个无限集或有限的几个无限集中寻找一个对象——它可以是一个整数,一个集合,一个排列或者一个图,也即是从可行解中求出最优解的问题。TSP问题就是其中的典型例子,就本质上而言它可抽象为数学上的组合优化,它描述的是旅行商经N个城市的最短路径问题,因而对TSP问题的求解是数学上,同时也是优化问题中普遍关注的。旅行商问题(Traveling Salesman Problem,简称TSP)也称为货担郎问题,是一个较古的问题,最早可以追溯到1759年Euler提出的骑士旅行问题[9]。旅行商问题可以解释为,一位推销员从自己所在城市出发,必须邀访所有城市且每个城市只能访问一次之后又返回到原来的城市,求使其旅行费用最小(和旅行距离最短)的路径。 TSP是一个典型的组合优化问题,并且是一个NP难题,所以一般很难精确地求出其最优解,因而寻找出其有效的近似求解算法就具有重要的理论意义。另一方面,很多实际应用问题,如公安执勤人员的最优巡回路线、流水作业生产线的顺序问题、车辆调度问题、网络问题、切割问题以至机组人员的轮班安排、教师任课班级负荷分配等问题,经过简化处理后,都可建模为TSP问题,因而对旅行商问题求解方法的研究也具有重要的应用价值。再者,在各种遗传算法应用实例中,其个体编码方法大多都是采用二进制编码方法或浮点数编码方法,而TSP问题是一种典型的需要使用符号编码方法的实际问题,所以,研究求解TSP问题的遗传算法,对促进遗传算法本身的发展也具有重要意义。在过去的20年里,在求解旅行商问题的最优解方面取得了极大的进展。尽管有这些成就,但旅行商问题还远未解决,问题的许多方面还要研究,很多问题还在期待满意的回答。 另外,遗传算法就其本质来说,主要是解决复杂问题的一种鲁棒性强的启发式随机

相关文档
最新文档