并行遗传算法
并行遗传算法综述
收稿日期:1997-09-15第一作者:男,1962年出生,华南理工大学博士生,广东工业大学副教授;主要研究方向:计算智能、计算机应用并行遗传算法综述王大明 毛宗源(华南理工大学自动化系,510641,广州)关键词: 遗传算法;并行;进化算法中图分类号: TP 18遗传算法是一类基于自然选择和遗传学原理的有效搜索方法,许多领域成功地应用遗传算法得到了问题的满意解.虽然GAs 通常能在合理的时间内找到满意解,但随着求解问题的复杂性及难度的增加,提高GAs 的运行速度便显得尤为突出.GAs 具有天然的并行性,非常适合于在大规模并行计算机上实现,而大规模并行计算机的日益普及,为并行GAs 奠定了物质基础.实现PGAs,不仅要把串行GAs 等价地变换成一种并行方案,更重要的是要将GAs 的结构修改成易于并行化实现的形式,形成并行群体模型.并行群体模型对传统GAs 的修改涉及到两个方面:一是要把串行GAs 的单一群体分成多个子群体,分而治之;二是要控制、管理子群体之间的信息交换.不同的分治方法产生不同的PGAs 结构.这种结构上的差异导致了PGAs 的三种基本模型:全局并行模型、粗粒度模型和细粒度模型.1 全局并行模型全局并行模型是串行GAs 的一种直接并行化方案,它只有一个群体,所有个体的适合度都根据整个群体的适合度计算,个体之间可以任意匹配,因而在群体上所作的选择和匹配是全局的.功能划分 GAs 对个体评价是独立的,个体之间无需通信,因此,通常由各处理机并行地评价群体中的个体,主机(主进程)负责选择、重组和变异操作,而从机(从进程)负责函数的适应值计算.此外,也可以把交叉和变异操作交从机完成.不过,这些操作都比较简单,而选择操作需要了解整个群体的处机,这样,反而会增加主机从机之间传递个体的通信开销,降低系统的性能.通信 主机与从机之间的通信表现在与个体评价有关的活动上.主机将群体中的部分个体发送到从机上,从机评价完个体之后,将它们的适应值发送给主机.如果把交叉和变异也分配给从机,则还需把子代发送到主机上.通信方式 大多数的全局模型都采用同步通信方式,待各从机把各个体的适应值送到主机后,再由主机计算适应度,可方便地计算出个体的绝对适应度并作选择操作.显然,这是一种性能更佳的传统GAs.第19卷第1期1998年2月 暨南大学学报(自然科学版) Journal of Jinan U niversity(Netural Science) Vol.19No.1 Feb.1998如果采用异步通信方式,则主机不等待较慢的从机,这种方式类似于自然进化,但个体绝对适应度的计算,以及如何进行选择操作则较为困难.比较容易实现并行化的选择竞争匹配选择.研究表明,盲目地增加从处理机数量,会导致通信开销急剧上升[1].Cantu-Paz [2]在对从机数量与通信量的研究表明,存在着一个对最小化全局并行GAs 执行时间的优化从机数.全局模型易于实现,如果计算时间主要用在评价上,这是一种非常有效的并行化方法.此外,它还保留了简单GA 的搜索行为,因而可直接应用简单GA 的理论成果.2 粗粒度模型粗粒度模型是对经典GAs 结构的扩展,具有不同的行为.它将群体划分为多个子群体(又称区域),每个区域独自运行一个GA.此时,区域选择取代了全局选择,配偶取自同一区域,子代与同一区域中的亲本竞争.因此,这种模型又称为孤岛模型.这类PGAs 通常在分布式存储器MIMD 计算机上实现,故也称为分布式GAs.除了基本的遗传算子外,粗粒度模型引入了/迁移0算子,负责管理区域之间的个体交换.在粗粒度模型的研究中,要解决的重要问题是参数选择,包括:迁移拓扑、迁移率、迁移周期等.2.1 区域结构在群体划分成子群体(区域)后,要为群体指定某种迁移拓扑.迁移拓扑与特定的并行机结构有着内在的对应关系,常取并行计算机的结构.如果在顺序计算机上实现粗粒度模型,则可以考虑采用任意结构.区域数目 大多数情况下区域数目是固定的,等于可用处理器数,典型值为2的幂,从4到64不等.在群体数目一定的情况下,区域数目也确定了各区域的个体数目.通常,各区域子群体中的个体数在50至100之间.迁移拓扑 迁移拓扑确定了区域之间个体的迁移路径.迁移拓扑大多采用类似于给定并行处理机的互连拓扑,如超立方体、二维网络拓扑等.在区域数较少时,可采用全互连迁移拓扑,以便迁移个体可以同时迁移到其它各区域中.但另一种看法是:在空间上孤立区域对优化处理是有利的,例如,Tanese [3]在超立方体迁移拓扑中,虽然其范围非常小,但在每个迁移阶段,只允许个体沿着超立方体的一维方向作迁移操作;而Starkw eather 等[4]在环形迁移拓扑中,在第i 次迁移阶段中,区域r 同区域r +i modR 交换个体.Muhlenbein 等[5]则采用了所谓的/阶梯(Ladder)0作为迁移拓扑,其中区域R 同超环面2*R /2网格连接,因而该拓扑的范围比方阵网格大得多.拓扑结构是影响PGAs 性能的重要方面,也是迁移成本的主要因素.在粗粒度模型中,运行前指定拓扑后保持不变的静态拓扑,是当前的主要趋势.Cantu -Paz 和Mejia -Olvera [6]在比较密集拓扑与松散拓扑中发现,前者通过较少的函数评价就能找到全局最优解.也有在动态拓扑结构[7]中,按群体的多样性、两个群体中的基因型距离等衡量标准,允许个体动态地迁移到其它子群体中去.2.2 迁移规模区域之间的个体交换由两个参数控制:迁移率和迁移周期.大规模的迁移将使粗粒度模型21第1期王大明等:并行遗传算法综述22暨南大学学报(自然科学版)1998年以类似于全局并行模型的方式工作,而小规模的迁移形成具有较小群体的GA独立运行.迁移率在每个迁移周期,可以迁移一个或几个个体,迁移率常以绝对数或以子群体大小的百分比形式给出.有的实现采用大于1的迁移率,理由是迁移个体在同其它区域中完全不同的个体重组时,其生存机会较小.典型的迁移率是子群体数目的10%到20%之间.迁移周期迁移周期决定了个体迁移的时间间隔,一般是隔几代(时期)迁移一次,也可以在一代之后迁移.通常,迁移率越高,则迁移周期就越长.大多数的粗粒度并行GAs采用同步迁移方式,但也有采用异步迁移方式的[7,8],仅当某种事件发生后,才在区域之间通信.Braun[8]的方案是:当GAs在区域上产生(早熟)收敛时,才进行迁移:Kroger等[9]则采用子另一种途径:每当一个区域中发现一个改进的个体,就异步地执行迁移操作.而M arin等[6]采用集中式方案,各从进程在其子群体中执行GA,并周期地将最好的部分结果发送给主进程,主进程则从中选择出最适应的个体广播给从节点,在网络上所作的实验表明,运行速度以接近线性加速比增加.迁移时机的把握还需作进一步的研究.2.3迁移策略迁移基本上可以采用与匹配选择和生存选择相同的策略.虽然区域选择更偏向区域内部的较好个体,但在迁移选择和替换中,也可以采用其它标准.迁移选择迁移选择负责选出迁移个体,通常选择一个或几个最优个体,也可象匹配选择一样,采用适应度比例或者排列比例选择来选择迁移个体,也有采用随机选取和替换的.迁移替换在大多数情况下,是把最差或者有限数目的最差个体替换掉.与迁移选择类似,可采用适应度比例或者排列比例选择,确定被替换的个体,以便对区域内部的较好个体产生选择压力.Pettey等[10]提出的方案是,以基因型的海明距离作为相似性度量,用迁入者替换那些最相似的个体;T anese[3]在研究一种/移民模型0中,用迁入个体取代区域中的迁出个体.后两种方案的出发点是保持区域内部的多样性.进入90年代,粗粒度PGAs的理论工作开始展开.Petty和Leuze[11]在每代把随机选择的个体广播到其它领域的办法,导出了与串行GAs类似的模式理论.实验工作进入实质性阶段,开始测试大型高难度的函数,提出了函数测试平台[5,12], Starkweather等[4]还观察了并行GAs所适用的问题类型.3细粒度模型细粒度模型又称领域模型,它对传统GA的结构作了修改.虽然细粒度模型也只有一个群体在进化,但在群体平面网格细胞上,将群体划分成了多个非常小的子群体(理想情况是每个处理单元上只有一个个体),子群体之间具有极强的通信能力,便于优良解传播到整个群体.全局选择被领域选择取代,个体适应度的计算由局部领域中的个体决定,重组操作中的配偶出自同一领域,且子代同其同一领域的亲本竞争空间,即选择和重组只在网格中相邻个体之间进行.细粒度模型要解决的主要问题是领域结构和选择策略.3.1领域结构领域结构既决定了群体中个体的空间位置,也确定了个体在群体中传播的路径.领域结构主要受特定并行计算机的内存结构和通信结构影响.领域拓扑领域拓扑确定一个个体的邻居,构成该个体的局部领域.对个体数相当少的群体,应采用大范围的拓扑;而在较大的群体中,通常采用具有4个或8个信领域的方格超环面网格.领域半径 通常,只有一个拓扑的直接领域才属于其局部领域.若把某个固定步数内所能到达的所有个体也包含在内,则可以扩大领域半径.3.2局部选择策略对细粒度模型,全局选择被邻域选择取代,但基于上可以把全国选择策略用于细粒度模型.在确定选择策略时,要考虑到选择压力的变化,而选择压力与领域结构有关.局部匹配选择 对于领域拓扑的所有位置,通过局部匹配选择确定一对个体.两个亲本既可从局部领域中选择,也可以把该邻域中心的个体作为一个亲本,而从局部邻域中选择另一个亲本.与全局匹配选择类似,局部匹配选择可以采用局部适应度比例、排列比例选择,以及随机行走选择.Collins 和Jefferson [13]考察了随机行走选择,对邻域拓扑的各个位置,把一条随机生成的路径中的两个最佳个体选作为亲本.局部生存选择 局部生存选择确定局部邻域中被替换的个体.如果子代自动替换邻域中心的那个个体,那么可以直接使用代替换作为局部生存策略.由于最优个体替换需要整个群体的全局知识,故不能用在局部生存选择中.3.3 实现M anderick 和Spiessens [14]在实现细粒度并行GA 时,将群体分布在2维网络上,只在邻域之间选择和配对,分析结果表明[15]:若子群体大小为s ,串长为1,根据所用的选择方案,该算法的时间复杂性为O (s +1)或者O (s log s +1).Sarm a 和Jong [16]分析了邻域的大小与形状对选择机制的影响,发现邻域的半径与整个网络的半径之比是一个关键参数,可用来控制整个群体上的选择压力,并定量分析了把一个优良解传播到整个群体的时间随邻域大小变化的情况.将两种基本模型加以组合,便形成了混合并行GAs,以期望结合各模型的优势,获得更好的性能.通常,混合并行GAs 以层次结构组合,上层多采用粗粒度模型,下层既可采用粗粒度模型,也可采用细粒度模型.4 三种模型的比较就现有的研究结果来看,很难分出各模型的高低,得出的结论有时是矛盾的.例如,在粗粒度模型中,是采用低迁移率,还是采用高迁移率,还需深入研究:对于细粒度模型,是采用大范围的邻域模型,还是采用小范围直径也有争议.在评价并行模型的差异时,有时还得深入到实现细节上,如问题的差异、群体大小、或者不同的局部搜索方法等.但有一个结论是肯定的:不采用全局并行模型,而采用粗粒度模型或者细粒度模型通常能获得更好的性能.粗粒度模型与细粒度模型孰优孰劣,尚是一个未知数.Baluja [17]在MasPar M P-1阵列处理机上实现了三个细粒度模型和一个粗粒度模型,并在测试平台上作了试验.其结论偏向于细粒度模型,但试验中采用了一个非常大的迁移周期100,有的测试问题是完全没有迁移的情况下求解的,故其结果尚有争议.Gordon 和Whitley [12]在一台顺序计算机上对四个全局并行模型、四个粗粒度模型和一个细粒度模型上的测试结果表明,粗粒度模型,特别是粗粒度GENI -TOR 的变种性能更优,但GENEITOR 在评价目标函数时,每代的评价次数是其它模型24的23第1期王大明等:并行遗传算法综述24暨南大学学报(自然科学版)1998年两倍,故该结论也有争议.Gordon等[12]的数据流分析表明,较之粗粒度模型,细粒度模型的潜在并行性更大,且关键路径更短.目前,以粗粒度模型最为流行,因为一是其实现较容易,只需在串行GAs中增加迁移子例程,在并行计算机的节点上各自运行一个副本,并定期交换几个个体即可;二是在没有并行计算机时,也可在网络或单机系统上模拟实现.虽然并行GAs能有效地求解许多困难的问题,也能在不同类型的并行计算机上有效地实现,但仍有一些基本的问题需要解决.群体大小可能既影响大多数Gas的性能,也决定GAs找到解所需时间的主要因素.Cantu -Paz和Goldberg的理论分析与实验[18,19]表明:在孤立模型中,随着子群体的增加,并行GAs 找到最小期待品质解的概率也相应增加,但速度增益却没有显著变化;对于全连接模型,在将迁移率设置为最大化的情况下,能预测局部收敛到正确值的概率,在通信时间不定的情况下,恰当地组合子群体与其大小,可能获得最优速度增益.在PGAs中,另一个重要问题是如何降低通信开销,包括迁移率的确定,使得区域的行为象单个群体一样;确定通信拓扑,既能充分地组合优良解,又不导致过多的通信开销;能否找到一个最优的区域数等.对串行GAs所作的每个改变都会极大地改变其语义及行为,发展相应的并行GAs理论是十分必要的.以还很薄弱的串行GAs理论来理解其并行实现,几乎没有什么帮助.要更充分地利用它们,还需作深入的理解和探索.参考文献1Abramson D,M ills G,Perkins S.P ar allelisation of a genetic algor ithm for the computation of efficient train schedules.In:Pr oceeding of the1993Parallel Computing and T ransputers Conference,1993.139~1492Cantu-Paz E.Designing efficient master-slav e parallel g entic algor ithms,I T R97004.U rbana,IL:U niversit y of I llinois at U rbana-Champaign,19973T anese R.Parallel g enet ic algor ithms for a hypercube,Genetic Algor ithms and their Applicat ion:ICGA2, L awrence Er lbaum Associates,1987.177~1834Starkweat her T,W hitley D,M athias K.Optimization using di stributed genetic algor ithms.PPSN I,Berlin: Spr ing er-Verlag,Schwefel H-P,M anner R ed.1991.176~1865M uhlenbein H,Schomisch M,Born J.T he parallel g enetic algorithm as function optimizer.Parallel Co mputing, 1991,17(6-7):6196Cantu-Paz E,M ejia-Olv era M.Ex perimental results in distributed genetic algor ithms.Int.Symp.on Applied Corpor ate Computing,M nterrey,M ex ico,1994.99~1087M uneto mo M,T akaiY,Sato Y.An efficient migration scheme for subpopulation-based asynchronously par allelg enetic alg orithms.ICGA5,Foreest S,ed.CA:M or gan-K aufmann.1993.6498Br aun H.O n solving T rasvelling Salesman Pr oblems by Genetic A lgor ithms,PPSN I.Berlin:Spr ing er-Verlag, Schw efel H-P,M anner R ed.1991.129~1339K roger B,Schwender ling P,V ornberger O.Parallel genetic packing o f rectangles.PPSN I,Berlin:Spr ing er-Ver-lag,Schwefel H-P ,M anner R ed.1991.160~16410 Petty C B,Leuze M R ,Grefenstette J J.A par allel g enetic algor ithm.ICGA 2.L aw rence Erlbaum Associates,Gr efeenstette J J,ed.,1987.155~16111 P etty CC,L euze M R.A t heoretical investigation of a parallel genetic algorithm.ICGA3,Belew R K ,Boo ker LB ed.,CA:Mo rgan-K aufmman.1989.398~40512 G ordon V S,Whitley D.Serial and parallel genetic algo rithms as funct ion optimizers,I CGA4,For rest S ed.,CA :M org an-K aufmann,1993.177~18313 Collins R J,Jefferson D R.Select ion in massively parallel genetic algorithms.I CGA3,Belew R K,Booker L B,ed.,CA :M org an K aufmann Publishers,1991.249~25614 M anderick b,Spiessens P.fine -grained parallel g enetic algorithms,ICGA 3,Schaffer J D ed.,CA :M organK aufman,1989.428~43315 Spiessens P,M anderick B.A massively parallel genetic algorit hm:I mplementation and first analysis.ICGA 4,Belew R K,booker L B ed.,CA:M or gan-K aufmann,1991.279~28616 Sarma J,Jong K D.An analysis of t he effects of neig hborhoo d size and shape on local selection algor ithms,PPSNÔ.Berlin:Spr ing er -Verlag,1995.236~24417 Balja S.Structure and Performence of F ine-Grain P ar allelism in Genetic Search,ICGA 5.For rest S ed.,CA:M org an-Kaufmann,1993.155~16218 Cantu-Paz E,Goldberg D E.Predicting Speedups of Idealized Bounding Cases o f Parallel Genetic A lgorit hms,I CGA7.Back T ,ed.,CA:M or gan K aufmann Publishers,199719 Cantu-Paz E,Goldberg D E.M odeling I dealized Bounding Cases of Parallel Genetic Algor ithms,G enetic Pro -gramming 1997:P roceedings of the Second Anual co nference,Koza J,Deb K,Dorigo M ,F ogel D,Garzo n M ,Iba H,Rio lo R ed.CA:Mor gan K aufmann Publishers,1997.353~36125第1期王大明等:并行遗传算法综述。
基于Hadoop求解大规模VRPTW问题的并行遗传算法
摘要车辆路径问题广泛应用于各个领域,不论是机器人自主无碰运动、服务网络规划等学术研究领域,还是数字地图导航、仓库AGV无导引小车运作等工业生产环境,甚至是与人们生活息息相关的快递配送业,都要用到车辆路径问题的优化理论。
车辆路径问题的研究,不仅具有重要的学术研究意义,而且有重要的生产实用价值。
带有时间窗的车辆路径问题在车辆路径问题的基础上考虑了时间成本的影响,更加符合实际需求。
针对带有时间窗的车辆路径问题的研究已经比较成熟,包括精确算法、启发式算法、元启发式算法等,但这些算法基本都是串行的集中式算法,大都只能求解中小规模的车辆路径问题,然而现在的车辆路径问题动辄就是上千个节点的规模,加上时间窗的约束,传统串行算法求解效率比较低,短时间内很难求解出可接受解。
当今大数据、云计算等计算机技术的蓬勃发展,为并行计算提供了技术支持,也为并行化解决大规模带有时间窗的车辆路径问题提供了新的思路。
针对集群式并行计算具有高容错性、高扩展性、高可用性和廉价性等方面的优势,本研究选用了经典的集群分布式并行计算平台----Hadoop作为并行计算的基础架构,基于此使用MapReduce并行框架进行分布式并行算法的设计与优化,用以解决大规模带有时间窗的车辆路径问题。
本研究在基础算法的设计上,选取了具有天然并行特性的遗传算法。
为了最大限度地降低遗传算法的巨大计算开销,本文选择并改进了比较优秀的选择、交叉、变异算子。
在MapReduce框架中,map和reduce阶段的设计上,充分考虑了大规模车辆路径问题的遗传基因的长度带来的影响,同时考虑了如何降低集群间信息传输的压力,最终采用粗粒度并行模型----遗传算法岛屿模型嵌入MapReduce框架。
在键值对的处理上,利用键值对中“键”的不变性保持遗传算法解个体和适应度值的一致性,并将迁徙操作与shuffle阶段结合起来,保证迁徙过程顺利执行。
本文使用带有时间窗的车辆路径问题的大规模标准算例----Gehring & Homberger (1999)算例进行了算法验证,分别从并行算法的有效性、串行和并行算法的对比、集群处理器数量对算法的影响和处理器配置对算法的影响等四个方面进行了数值实验与精确的分析,并论述了本文研究的有效性和重要价值。
多种群协同进化的并行遗传算法
多种群协同进化的并行遗传算法多种群协同进化并行遗传算法(Multi-population Cooperative Coevolutionary Parallel Genetic Algorithm, MCCPGA)是一种基于群体协作的进化算法,通过将一个大问题分解为多个子任务,并使用多个种群并行地进行进化,以提高算法效率。
本文将对多种群协同进化并行遗传算法的原理、优点以及应用进行详细介绍。
首先,多种群协同进化并行遗传算法的基本原理是将一个大问题分解成多个子任务,每个子任务由一个种群独立进化。
不同子任务之间通过共享信息交流、协作进化来改善效果。
算法的基本步骤为:初始化多个种群,每个种群为一个子任务的解空间;进行进化操作,包括选择、交叉、变异等;定期进行群体间信息交流,如共享精英个体、最优个体传递等;直到满足终止条件为止。
多种群协同进化并行遗传算法具有以下几个优点。
首先,通过并行计算,同时进行多个种群的进化,加快了算法的速度和收敛速度。
其次,多种群之间的信息交流可以引入不同种群的优势,提高了群体的多样性和整体的能力。
此外,不同子任务的粒度可以根据问题的特点进行调整,灵活性较高,适用范围广。
多种群协同进化并行遗传算法已经在多个领域得到了广泛应用。
例如,在优化问题中,可以将每个种群看作是一个决策变量的子集,通过不同种群的协作进化来求解全局最优解。
在机器学习中,不同种群可以分别学习不同任务的特征,通过信息交流来提高整体的分类准确率。
在智能控制中,可以构建多个控制子系统,通过种群之间的协同来优化整体的控制性能。
总而言之,多种群协同进化并行遗传算法是一种通过多个种群的协作进化来求解复杂问题的进化算法。
通过并行计算和信息交流,该算法能够加快速度、提高能力,已经在优化问题、机器学习、智能控制等领域取得了良好的效果。
未来,随着计算力的提升和算法的改进,多种群协同进化并行遗传算法有望在更多的应用领域发挥重要作用。
遗传算法的并行实现
遗传算法的并行实现遗传算法(Genetic Algorithm,GA)是一种模拟自然进化过程的优化算法。
它模拟了生物进化的基本原理,通过迭代的方式不断优化空间中的解,以找到最优解或者接近最优解。
在遗传算法的实现中,可以采用并行计算的方式来提高算法的效率和性能。
并行计算将任务拆分成多个子任务,同时进行处理,并通过协同工作来加速计算过程。
并行实现遗传算法的主要思路有以下几种方式:1. 池式并行(Pool-Based Parallelism):多个遗传算法进程同时运行,并且每个进程都具有自己的种群和繁殖操作。
这些进程可以根据需要交换信息,例如交换最佳个体,以进一步加速过程。
2. 岛模型并行(Island Model Parallelism):将种群划分为多个子种群,每个子种群在独立的进程中进行演化。
定期地选择一些个体进行迁移,使得不同子种群的个体可以交流基因信息。
这种方式类似于地理上的岛屿,每个岛屿代表一个子种群,岛屿之间的迁移模拟了个体在不同岛屿之间的迁徙。
3. 数据并行(Data Parallelism):将种群的每个个体划分成多个部分,每个部分在不同的处理器上进行计算。
这种方法将空间分割成多个子空间,以加速算法的收敛过程。
4. 任务并行(Task Parallelism):将遗传算法的各个操作(例如选择、交叉、变异等)分解为多个任务,并行执行这些任务。
每个任务可以在不同的处理器上同时进行,从而加速算法的执行。
并行实现遗传算法的优势在于它可以通过利用多个处理单元,同时处理并行化的任务,使得算法的过程更加高效。
并行计算可以加速算法的收敛速度,减少空间中的局部最优解,并提供更好的全局能力。
然而,并行实现也会带来一些挑战和注意事项。
例如,如何划分任务以达到最佳的负载均衡,如何设计通信、同步和数据共享机制等等,都需要仔细考虑和解决。
总之,遗传算法的并行实现是一个非常广泛且复杂的课题,需要综合考虑问题的特性、硬件的条件和算法设计的需求。
一种求解TSP问题的多种群并行遗传算法
收稿日期:2008-06-09 修回日期:2008-07-08 第25卷 第9期计 算 机 仿 真2008年9月 文章编号:1006-9348(2008)09-0187-04一种求解TSP 问题的多种群并行遗传算法邓长春1,朱儒明1,李咏霞1,许波2(1.重庆城市管理职业学院,重庆400055;2.湖南大学计算机与通信学院,湖南长沙410082)摘要:遗传算法是一种基于自然群体遗传机制的有效搜索算法,由于它在搜索空间中同时考虑许多点,减少了收敛于局部极值的可能,也增加了处理的并行性。
因此可以利用并行遗传算法研究典型的TSP 问题的求解。
提出一种有效的多种群并行算法求解旅行商(TSP )问题,应用多种群遗传并行进化的思想,并在种群之间进行遗传信息交流,以解决经典遗传的收敛到局部最优值问题。
仿真实验结果表明,方法在解的精度上以及解的质量上优于经典的遗传算法。
关键词:遗传算法;旅行商问题;并行遗传算法中图分类号:P393 文献标识码:AA M ulti -Group Para llel Geneti c A lgor ithm for TSPDENG Chang -chun 1,ZHU Ru -m ing 1,L I Yong -xia 1,XU Bo2(1.Chongqing CityM anage ment Pr ofessi onal College,Chongqing 400055,China;2.College of Computer and Communicati on,Hunan University,Changsha Hunan 410082,China )ABSTRACT:Genetic algorith m is an effective search algorith m based on the natural genetic mechanis m.Because it takes int o account a nu mber of points,s o it may reduce the convergence in the l ocal m ini m u m,and will increase the parallel p r ocessing .So the parallel genetic algorith m can be used t o s olve typ ical TSP p r oble m.This paper p resents an effective multi -gr oup parallel algorithm for s olving traveling sales man (TSP )p r oble m.By using parallel genetic ev oluti on,and making genetic inf or mati on exchange bet w een populati ons,the classical convergence p r oblem will be s olved .The experi m ental results show that the accuracy and quality of the method are better than that of the classical algorith m s .KE YWO RD S:Genetic algorith m s;Traveling sales man p r oble m (TSP );Parallel genetic algorith m1 引言旅行商问题(Traveling Sales man Pr oble m,TSP )是一个典型的、易于描述却难于处理的NP 完全问题,是许多领域内出现的多种复杂问题的集中概括和简化形式[1]。
并行遗传算法研究综述
GA0 i— u n。H E Gu— i Jaq a ixa
( h in o l e Z ei g Unv ri f e h oo y Z ia gC l g , h j n i s y o c n l ,Ha g h u3 0 2 ,C ia j e a e t T g n z o 1 0 4 hn )
题 . 过 模 型 比 较 发 现 粗 粒 度 模 型 以其 较 小 的 通 信 开 销 和 对 种 群 多 样 化 , 得 了 最 广 泛 的 应 用. 通 获 最
后介 绍 了 目前 并行 遗传 算法 的主要 评价模 型 , 并指 出了并行 遗传 算法 的今后 主要研 究 方向 , 向理 将
论化 、 型化 、 模 异步化 及混 合化 等 方向发展 .
关键 词 : 并行遗 传 算法 ; 并行计 算 ; 并行模 型
中图分 类 号 : 1 TP 8 文 献标识 码 : A 文 章编 号 :0 64 0 (0 7 0 —0 60 1 0 —3 3 2 0 ) 10 5 —4
A e i w fp r le e e i l o ih s r v e o a a l lg n tc a g r t m
0
引 目
遗传 算 法 ( n t g r h ,GAs 是 美 国 Ge ei Aloi ms c t )
并 以概 率 1收敛 到 全局 最 优解 [ . 1 这种 良好 的特 性 3
pr blm swhih ne d b ol e o mpr v ng is a lc to r u e t d Th o gh c mpa i g o e c e e s v d f ri o i t pp ia i n a e s gg s e . r u o rn t s he e mod l e s,i ss wn t tc a s — a n d m o e s mo ewi e y a ple o t itec mm u — ti ho ha o r egr i e d li r d l p i d f rislt l o ni
一种改进的并行混合遗传算法在求解TSP问题中的应用
科技创业PIONEERINGWITHSCIENCE&TECHNOLOGYMONTHLY月刊科技创业月刊2007年第1期遗传算法(GeneticAlgorithm,GA)是一种模拟自然界生物进化的搜索算法。
由于其简单易行、鲁棒性强,尤其是不需要专门的领域知识而仅用适应度函数作评价来指导搜索过程,从而使它的应用范围极为广泛。
旅行商问题(TravelingSalesmanProb-lem,TSP)是一个典型的、易于描述却难于处理的NP完全问题,是许多领域内出现的多种复杂问题的集中概括和简化形式。
近年来,利用模拟自然进化的过程来求解TSP问题的研究十分活跃,这方面的工作有基于遗传算法的研究和基于进化规划的研究,并以前者居多。
TSP问题因其典型已成为许多启发式搜索及优化算法的间接比较标准。
遗传算法就其本质来说,主要是处理复杂问题的一种鲁棒性强的启发式随机搜索算法。
遗传算法在TSP问题求解方面的应用研究,对于构造适当的遗传算法框架、建立有效的遗传操作以及有效地解决TSP问题等具有多方面的重要意义。
1遗传算法简介遗传算法是J.Holland教授等人通过模拟自然进化规律,提出的一种与传统优化不同的优化搜索算法。
该算法从一个种群开始,利用选择、交叉、变异等遗传算子对种群进行不断优化,最后得到全局最优解。
GA通常包括五个基本因素:参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定。
在实际应用中主要按上述五个基本因素考虑GA的设计。
同时GA也存在不足,如GA的搜索效率通常比传统的优化搜索算法低。
因此,一般采用如下几种方法提高搜索效率:①与其它搜索方法相结合(例如可以与局部搜索方法或模拟退火方法结合);②优化GA的五个基本因素;③采用并行遗传算法(PGA)。
由于GA是从群体出发,GA在本质上具有很好的并行处理特性。
特别是GA中各个体适应值的计算可独立进行而彼此之间无需任何通信,所以并行效率很高。
PGA正成为GA的一个重要研究方向。
matlab 并行多种群遗传算法
《使用MATLAB实现并行多种群遗传算法》1. 引言在当今信息时代,计算机科学和人工智能技术的迅猛发展,为解决复杂问题和优化算法提供了无限可能。
而遗传算法作为一种基于自然选择和遗传机制的优化算法,被广泛应用于工程、经济、生物等领域。
而在现实中,我们面对的问题往往是复杂多样的,传统的遗传算法可能无法满足需求,本文将探讨如何利用MATLAB实现并行多种群遗传算法,来解决这类问题。
2. 并行多种群遗传算法介绍并行多种群遗传算法是将多个遗传算法进行并行化处理的一种优化方法。
它通过将种群划分为多个子种群,每个子种群独立运行遗传算法进化过程,最终融合各子种群的结果,以达到更好的全局搜索能力和更快的优化速度。
与传统的遗传算法相比,这种并行化设计可以显著提高算法的收敛性和全局搜索能力。
3. MATLAB实现并行多种群遗传算法的步骤在MATLAB中实现并行多种群遗传算法,主要包括以下步骤:(1)初始化参数:包括种群数量、染色体长度、遗传代数等;(2)初始化种群:生成多个子种群,并对每个子种群进行初始化;(3)并行遗传算法进化:对每个子种群分别进行遗传算法的选择、交叉和变异操作;(4)合并结果:将每个子种群得到的优化结果进行合并,得到最终的全局最优解。
4. 并行多种群遗传算法的优势和应用相对于传统的遗传算法,使用MATLAB实现并行多种群遗传算法具有以下优势:(1)加速算法收敛速度:并行处理多个子种群可以大大加快整体算法的求解速度;(2)增强全局搜索能力:多个独立的子种群有助于更好地探索搜索空间;(3)解决复杂问题:对于复杂多样的实际问题,通过并行多种群设计可以更好地适应问题的特性。
具体应用上,MATLAB实现的并行多种群遗传算法可应用于工程领域的优化设计、机器学习中的参数优化、生物统计学的模型拟合等多个领域,帮助用户更高效地实现优化目标。
5. 个人观点和总结笔者认为,MATLAB实现并行多种群遗传算法作为一种先进的优化算法设计,具有很大的应用潜力。
并行遗传算法
混合模型是近些年快速发展起来的模型结构,主要是通过把前面三种基本模型混合形成层次结构。目前混合模 型组合关系主要有三种:粗粒度—细粒度、粗粒度—粗粒度和粗粒度—主从式。在形成的层次结构中,在下层的并 行模型中,子群体的规模是真实的,即为一个处理进程所处理的个体数量。而对于上层模型,将每个下层的并结构 都视为一个‘’集合子群体”,而“集合子群体”之间按上层的并行模型协调运行。对于此混合模型,无论在下 层还是在上层,都是子群体内部信息交互量大,之间信息交互量小。
细粒度模型又称作邻域模型,在整个进化过程中虽然保持一个群体,但要求子群体的划分要非常细小,最理想 状态是每个节点机(或处理器)只有一个个体,要求各节点机(或处理器)具有极强的通信能力,对于每个染色体,选 择和交叉操作都只在所处的节点机(或处理器)及其邻域中进行。由于整个进行过程中,不需要或者需要很少的全 局操作,因此充分发挥了遗传算法并行特性。
对于此四种模型,哪种模型更好没有一个明确的标准,甚至对于不同问题往往得出互相矛盾的答案.对于主从 式模型,由于仅适用计算时间主要集中在适应度评估的问题,因此适用的范围受到了极大的限制 ;对于细粒度模型, 是采用大范围的邻域模型,还是采用小范围直径也有争议,特别是由于对节点机(或处理器)的数量和通信能力要求 很高,所以细粒度模型的应用范围也不广;对于粗粒度模型,虽然采用什么样的迁移拓扑、迁移规模和迁移策略还 需深入研究,但由于通信开销较小,可获得接近线性的加速比,而且非常适合运行在通信带宽较低的集群系统上 [ 16],因此得到了广泛的应用;混合模型是在前三种模型的基础上建立起来的,由于具有很好的并行性特点,已成 为人们研究的主流,但从应用效果看,目前只有粗粒度 —主从式模型应用较好
遗传算法并行模型
主从式模型 粗粒度模型
并行遗传算法的新进展
2002年2月系统工程理论与实践第2期 文章编号:100026788(2002)022*******并行遗传算法的新进展郭彤城,慕春棣(清华大学自动化系,北京100084)摘要: 并行遗传算法将并行计算机的高速并行性和遗传算法固有的并行性相结合,极大地提升了遗传算法的求解速度和质量L在主从式、细粒度和粗粒度这三类遗传算法并行化模型中,粗粒度模型以其较小的通讯开销和对种群多样化,获得了最广泛的应用L本文概括了基于模式定理和有限状态马尔可夫链的遗传算法理论,总结了前人在粗粒度模型下开展的理论分析和实践应用,并指出并行遗传算法的研究将向异步化,理论化和模型化的方向发展,而有限状态马尔可夫链是构建并行遗传算法可执行模型的有力工具L关键词: 遗传算法;并行计算;粗粒度;有限状态马尔可夫模型中图分类号: T P18 文献标识码: A aT he Parallel D rifts of Genetic A lgo rithm sGU O Tong2cheng,M U Chun2di(D epartm en t of A u tom ati on,T singhua U n iversity,Beijing100084,Ch ina)Abstract: T he parallel GA s(PGA s)com b ine the h igh2speed parallel2ab ility of su2percompu ters w ith the inheren t parallelity of GA s,and i m p rove greatly the efficiencyand accu racy of GA s.Among the m aster2slave,fine2grained and coarse grained parallelavenues,the coarse2grained model is mo st w idely u sed fo r its little comm un icati onoverhead and its diversifying of the popu lati on.In th is paper,the schem a theo ry andthe model based on the li m it M arkov chain are generalized,the p revi ou s analysis andi m p lem en tati on on the coarse grained model are review ed.It is show n that researchesof PGA s w ill focu s on asynch ron izati on,theo rizati on and modelizati on.Fu rthermo re,the theo ry of li m it M arkov chain p rovides pow erfu l too ls to con struct execu tab le mod2els of PGA s.Keywords: genetic algo rithm s;parallel compu tati on;coarse grain;li m it M arkovchain1 引言组合优化和函数优化需要在复杂庞大的搜索空间中寻找最优解或次最优解(满意解),是存在于各学科中的普遍难题L遗传算法(Genetic A lgo rithm s,GA s)从一组初始可行解出发,在不需要除目标函数值外的其它信息的条件下实现对可行域的全局高效搜索,并以概率1收敛到全局最优解[1]L这种良好的特性使遗传算法成为组合优化和函数优化的有利工具,并成为计算智能(compu tati onal in telligence)领域的研究热点L随着科学技术的不断发展,问题的规模不断扩大,面对复杂程度越来越高的搜索空间遗传算法在优化效率(时间)和求解质量上都显得“力不从心”L并行遗传算法将并行计算机的高速并行性和遗传算法天然的并行性相结合,极大地促进了遗传算法的研究与应用L并行处理的引入不但加速了遗传算法的搜索过a收稿日期:2000206216资助项目:863应用基础研究基金(863251129432014)程,而且由于种群规模的扩大和各子种群的隔离,使种群的多样性得以丰富和保持,减少了未成熟收敛的可能性,提高了求解质量L2 遗传算法的运行机理对遗传算法运行机理的解释有两类:一是传统的模式理论;二是1990年以后发展起来的有限状态马尔可夫链模型L2.1 模式理论模式理论由Ho lland创建[2],主要包括模式定理,隐并行性原理和积木块假说三部分[3,4]L模式是可行域中某些特定位取固定值的所有编码的集合L模式理论认为遗传算法实质上是模式的运算,编码的字母表越短,算法处理一代群体时隐含处理的模式就越多L当算法采用二进制编码时,效率最高,处理规模为N 的一代群体时,可同时处理O(N3)个模式[5]L遗传算法这种以计算少量编码适应度而处理大量模式的性质称为隐并行性L模式理论还指出,目标函数通常满足积木块假说,即阶数高,长度长,平均适应度高的模式可以由阶数低,长度短,平均适应度高的模式(积木块)在遗传算子的作用下,接合而生成[6]L而不满足积木块假说的优化问题被称为骗问题(decep tive p rob lem)[7]L模式理论为遗传算法构造了一条通过在群体中不断积累、拼接积木块以达到全局最优解的寻优之路L近十多年的研究,特别是实数编码遗传算法的广泛应用[8-11]表明,上述理论与事实不符L1)首先,只有在线性空间,或满足与全局最优解之间的“距离”越小则适应度越高的单极值(one2m ax )空间才满足阶数低,长度短,平均适应度高的模式(积木块)可拼接成阶数高,长度长,平均适应度高的模式,甚至全局最优解L事实也表明,只有搜索空间为单极值空间(one2m ax)时,模式理论才能够准确地预测搜索过程[12]L但事实上线性空间和单极值空间的优化问题可以非常方便地利用梯度算法解决L而需要利用GA搜索的空间几乎全部是非线性、多极值(m u lti p le2op ti m a,m u lti p le2modal)空间,即GA绝大多数情况下处理的是骗问题L可见模式理论用只适合于线性、单极值空间的思想去解释非线性、多极值空间中的现象是不严谨的L2)由于骗问题的广泛存在,利用模式理论无法证明GA的全局收敛性L2.2 有限状态马尔可夫链模型由于模式理论的种种缺陷,从80年代末开始,研究者开始尝试利用有限状态马尔可夫链模型研究遗传算法的运行过程L尤其是Gun ter R udo lph[1]在1994利用有限状态马尔可夫链模型证明了只要对标准遗传算法稍作改进,在循环过程中保存搜索到的适应度最高的染色体,那么无论搜索空间多么复杂,在循环次数趋于无穷时,保证遗传算法以概率1收敛到全局最优解L对于遗传算法可以解决的优化问题,问题的可行域都是由有限个点组成的L即便是参数可以连续取值的问题,实际上搜索空间也是以要求精度为单位的离散空间L因此遗传算法的实际运行过程可以用有限状态马尔可夫链的状态转移过程建模和描述L对于有m个可行解的目标函数和群体规模为N的遗传算法,N个个体共有N+m-1m-1种组合,相应的马尔可夫模型也有N+m-1m-1个状态[1]Z实际优化问题的可行解数量m和群体规模N都十分可观,马尔可夫模型的状态数几乎为天文数字,因此利用精确的马尔可夫模型计算群体的状态分布是不可能的Z 为了换取模型的可执行性,必须对实际模型采取近似简化,保持算法的实际形态,通过对目标函数建模,简化目标函数结构实现模型的可执行性L U I U C的M ahfoud博士提出了一种基于可行域等价划分的目标函数模型[13]:优化问题的可行域可划分成若干个等价类,每个等价类包含且只包含一个局部极值点,并且该极值点是等价类中函数值中最大(最小)的点,利用这些极值点代表其所属等价类中的所有点(候选解),即各可行域中所有点的函数值均近似为所属等价类所对应的局部极值,并假定算法总能正确判定各点所属的等价类L北京理工大学的邹燕明博士对上述模型进行了改进[14],他把任意两点间距离近似为其61系统工程理论与实践2002年2月所属等价类所对应的局部极值点的距离,以进一步讨论算法判断和选择不正确时的性能,拓宽了模型的适用范围L 这样,群体中个体间的竞争被近似抽象成以邻域结构为依据划分成的等价类之间的竞争L遗传算法优化的过程,可以看作算法在循环过程中不断对可行域进行随机抽样,利用前面抽样的结果对目标点的概率分布进行估计,然后根据估计出的分布推算下一次的抽样点L 模式理论将包含相同模式的个体集合视为等价类,并进一步认为,对模式的抽样结果提供了对整个等价类的信息,可用于估计等价类的适应度;相反,没有处理任何不包含该编码的模式,也就绝对没有获得相应模式的任何信息L 但非常明显的是对一个个体的抽样结果,可用于对个体的邻域进行较精确的估计,但提供给与抽样点“距离”较大的个体的信息很小,尤其是在多极值空间中,即抽样结果对等价类(模式理论意义下)中个体的参考价值是不同的,对距离近的个体参考价值大,距离远的个体参考价值小L 对于处于不同极值点邻域内的个体,甚至提供的是噪声,这个矛盾很难利用模式理论作出解释L 而马尔可夫模型认为遗传算法是通过对搜索空间不同区域的抽样,来估计不同区域的适应度,进而估计最优解存在于不同区域的概率,以调整算法对不同区域的抽样密度和搜索力度,进而不断提高对最优解估计的准确程度L可见,以邻域结构为依据划分等价类的马尔可夫模型更符合实际,对问题的抽象更能体现优化问题的本质L3 粗粒度(coarse -gra i n )并行遗传算法遗传算法的并行模型可分为三类[15]:主从式模型,细粒度模型和粗粒度模型L 主从式模型将选择、交叉、变异等全局操作交由主处理器(m aster )串行执行,而将适应度评估等局部操作交予从处理器网络(slaves )并行执行L 由于未对串行遗传算法的框架进行改动,所以主从式模型不可避免的存在着主、从节点负荷忙闲不均衡的问题L 而且一次局部操作完成后,从节点都要向主节点发送结果,造成瓶颈和大的通信延迟,所以运行效率不高,一般只用于适应度评估的工作量很大的情况[16-17]L当并行计算机系统的规模很大,处理器多到可以与染色体一一对应,即每一处理器上驻扎一个染色体时,可以采用细粒度模型的并行遗传算法L 对于每个染色体,选择操作和交叉操作都只在其所处的处理器及其邻域中进行,这样的并行模型无需或只需很少的全局控制,在最大的限度上发挥了遗传算法的并行潜力[18-20]L 由于对处理器数量的要求很高,所以细粒度模型的应用范围不广,一般只运行于大规模的S I M D (single in structi on m u lti p le datastream )并行计算机L粗粒度模型又称分布式模型[21](distribu ted style )或孤岛模型[22,23](island 2based model ),是适应性最强和应用最广的遗传算法并行化模型L 粗粒度模型是将随机生成的初始群体依处理器个数分割成若干个子群体L 各个子群体在不同的处理器上相互独立的并发执行进化操作,每经过一定的进化代,各子群体间会交换若干的个体以引入其它子群体的优秀基因,丰富各子群体的多样性,防止未成熟收敛的发生[24]L粗粒度模型的通信开销较小,可获得接近线性的加速比,而且非常适合运行在通信带宽较低的集群系统[25]上L3.1 子群体的初始化各子群体的初始分布可以同为随机分布在整个可行域中,不论是在一个处理器(主节点ho st )上产生一个大的群体以后,再随机分配到各个节点上[26];还是各个节点独立的随机生成自己的初始群[27-29]L 另一种情况,各子群体的初始群体分布在整个可行域的不同区域中[30-32]L 比较而言,后者的效果较好L3.2 连接拓扑各子群体间的连接拓扑包括完全隔离(无迁移)[33,34],单向环[35],双向环[29],超立方体[36],网格[37]等等L 文献[32]利用大量的实验比较了各种拓扑连接对解质量的影响,发现单向环拓扑既保证了优良基因在群体间的扩散,又较好地隔离了子群体,保护了群体间的多样性,虽然收敛速度较慢,但解的质量较高L为了克服收敛速度和解质量之间的矛盾,文献[32]提出了一种圆锥形的连接拓扑(图1):每间隔一段时期,圆锥中处于同一层次中的小群体间迁移随机挑选的个体;同时,向上层传递最佳个体L 不但保持层内的多样性,而且加强了层间的进化压力,效果良好L71第2期并行遗传算法的新进展3.3 粗粒度模型的迁移策略在粗粒度模型的各种实现方法中,有的选择子群体中的最优个体向外“移民”[22,29,38];有的“移民”则是随机选出的[32]L有的算法用迁入者取代群体中的最差个体[28,35];有的被取代者则是随机选出的[38,39]L利用最优个体迁出最差个体被取代(本文称其为最优最差准则)是最常用的方法[28,35],但对特定问题,有时随机选择迁出个体或随机被取代个体的效果可能更好[34]L大多数情况下,迁出者只是被复制到其它的子群体,但也有的算法[27]利用迁入者取代迁出者,即将迁出者在本地删除L1)确定迁移间隔(同步迁移)在最初的粗粒度遗传算法中,个体迁移的间隔是固定的L这时,利用消息传递迁移个体前,各进程间要进行同步,以确保各子群体进化了相同的代数L实验结果表明,间隔过大,会未成熟收敛(收敛到次优解),虽然收敛快,但解的质量不高;间隔过小,使子群体之间的多样性被破坏,在可接受的时间内依然得不到高质量的解[22,33,40]L所以迁移间隔要视具体问题而定L2)非确定迁移间隔(异步迁移)自然界中存在着这样的现象,当外部个体迁入稳定的局部环境时,会导致环境中个体的飞跃式发展L 于是异步迁移的粗粒度并行遗传算法模型被提出来:当一个子群体的发展(经过一定的进化代)一直停滞不前,则向其它子群体发出申请——申请个体迁入;而当一个子群体的最佳个体的适应度提高后,向其邻居子群体发送这个最佳个体L每个处理器都为收发个体分配了缓冲区,开辟了通讯线程管理个体的收发L 文献[41]提出的in jecti on island GA(iiGA)和文献[42]提出的R andom Island M odel(R I M)都属于异步迁移方式,它们都得到了良好的收敛速度和解质量,文献[43]利用iiGA进行复合结构梁的优化设计,取得了比同步迁移粗粒度并行遗传算法更好的效果L文献[44]注意到同样的自然现象,设计了H ypergamou s Parallel GA(图2),各子群体成树状的层次关系,各子群体的遗传操作中没有变异,这致使各子群体很快进入未成熟收敛状态,这时各子群体将各自的最佳个体汇集到上层的父亲节点中,如此循环直至树的根节点的进化也完全收敛L图1 圆锥形拓扑图2 H ypergamous Paralle1GA图3 粗粒度2主从式 异步执行方式还使在In ternet上实现并行遗传算法成为可能,文献[45]完成了这样的工作:构成系统的处理节点限制在一定范围(如某个网关)以内L整个处理系统依据并行随机发动算法(parall random launch algo rithm,PRLA)来组织,当一个处理节点收到启动请求和并行处理系统的状态信息后,将创建一个计算进程,然后随机的选择一个未启动的节点并发送启动请求;同时,计算进程忽略此后到达的启动请求L由于In ternet上各节点能提供的计算资源不统一,数据传输的时延也无法准确估计,所以为保证一个纪元(epoch,即一定次数的循环)结束后,新的纪元立刻开始,采用异步迁移策略L每个节点维护一个接收缓冲区,当节点完成一个纪元之后,将一部分个体发送到随机选出的一个接收缓冲区空的节点L然后用接收缓冲区的个体取代发送出的个体,开始下一个纪元;如果节点的接收缓冲区为空,则省略取代步骤,直接进入下一个纪元L当迁移目的地的接收缓冲区已满时,迁移的个体(数据包)将转向其它节点L算法随机81系统工程理论与实践2002年2月选择迁移的目的节点,避免了固定的拓扑连接关系L 这样,无论是一次迁移失败(数据包在网上丢失),还是一个节点中途退出,都不会使系统瘫痪,极大地提高了系统的容错性能L 此外为避免死锁和拥塞,算法还进行了特殊的优化LJen s L ien ing 博士[46]通过大量的实验发现:1)过多以及过频繁的迁移会破坏子群体的多样性,致使多个搜索进程集中到相同的区域,不利于提高解的质量;过少的迁移以及迁移频率过低,使各子群体不能充分利用其它子群体的信息,同样不利于提高解的质量L2)选择适应度最高的个体迁移,在短期内收敛快,解的质量提高快;但利用随机挑选的个体迁移,在一段时间后能得到质量更高的解L3)保持子群体的规模,增加子群体的数量,能够明显地提高解的质量L 而且在保持总群体规模不变的前提下,一定范围内减小子群体规模,同时增加子群体的数量,也能提高解的质量L 文献[22]也观察到了类似的结果L3.4 混合模型并行遗传算法将上述三种模型混合形成层次结构L 在下层的并行模型中,子群体的规模是真实的,即为一个处理进程所处理的个体数量L 而对于上层模型,将每个下层的并行结构都视为一个“集合子群体”,而“集合子群体”之间按上层的并行模型协调运行L 无论是从下层还是从上层角度看,都是子群体(集合子群体)内部信息交互量大,子群体(集合子群体)之间信息交互量小L上、下层模型的组合关系主要有三种[12]:粗粒度2细粒度,粗粒度2粗粒度,粗粒度2主从式L实际中应用较多是粗粒度2主从式模型[47,48](图3)L 由于并行资源有限(处理器的个数有限),文献[48]下层的主从式依靠分布在不同处理器上的线程实现,即每个从节点上运行着为不同主节点服务的多个工人线程,但这种作法对提高搜索效率和质量并无明显的效果L3.5 结合局部搜索的并行遗传算法虽然遗传算法具有大范围的优化搜索能力,但对搜索空间中的局部邻域结构并不敏感L 而很多其它的优化算子,如人工神经网,快速下降法等等都属于梯度算法,能够保证收敛到局部极值点L 通过引入交叉和变异以外的局部优化算子,将遗传算法大范围搜索与局部搜索相结合,能够有效的提高解的质量L虽然局部优化搜索和并行机制的相互影响不大,但由于二者的结合效果能够获得更好的优化效果,所以被广泛用于主从式模型[49,50]和粗粒度模型[15,28,30]L 与并行遗传算法结合的局部优化方法多为针对问题特点设计的局部爬山(cli m b ing h ill )算法[15,28,30,49,50]L局部优化的使用方法也有区别,文献[28]随机选择子群体的40%进行局部优化;文献[50]选择子群体中最好的20%进行局部优化;文献[15]只在子群体停止进化一段时期后才使用局部优化方法;文献[30,49]则对整个子群体进行局部优化L但是局部优化不能过于“精细”,虽然文献[30]获得的解质量略有提高,但进化时间提高了近10倍,效率很低L3.6 并行小生境遗传算法在遗传算法中,小生境是指包含且只包含一个目标函数极值点的可行子区域L 能够在一次搜索过程中得到目标函数多个极值点的遗传算法被称为小生境方法(n ich ing m ethods )L 当前小生境方法实现上述能力的途径主要有两条:适应度调整和直接竞争限制L 基于适应度调整的小生境方法还可进一步分为共享机制(Sharing )和清除机制(C learing );而基于直接竞争限制的小生境方法,又称排挤机制[13]L现有的结合并行技术与小生境技术的研究工作,都是在主从式(M aster 2Slave )的框架下展开的L 文献[51]利用了主从式模型并行化共享机制,把适应度计算环节并行执行L 文献[50]结合了局部优化(local op ti m izati on )和排挤(crow ding )机制,在利用排挤机制进化完成一代以后,从中挑出一定比例的个体利用局部爬山(cli m b ing 2h ill )进行微调,然后开始下一代进化L 由于局部爬山与其它个体无关,所以可以同适应度计算环节一起交予从节点(Slave )执行L 由于文献[50]的初衷是寻找全局最优解而非全部极值点,所以91第2期并行遗传算法的新进展02系统工程理论与实践2002年2月局部爬山对低适应度,小规模物种的维持性能不必关心,引入排挤的目的是维持群体中的多样性,防止未成熟收敛L4 并行遗传算法的评价模型有的文献[12,22,52]利用Am dah l定律[53]评价并行遗传算法,即绝对加速比(speedup)S:S=T s T p L其中,T s为串行遗传算法(单个处理器)的执行时间;T p为并行遗传算法的执行时间LAm dah l定律适用于负载固定的情况,具体到并行遗传算法,适用于总群体规模不变的情况L所以对于主从式和细粒度模型Am dah l定律是适用的,在适应度评价计算量较大时,主从式模型可以得到接近线性的加速比[12]L由于细粒度模型的应用较少,适用的S I M D并行机的可扩展性也不突出,所以很少有人评价细粒度模型的加速比L利用Am dah l定律评价粗粒度模型时,需保持总的群体规模,即子群体数量和子群体规模成反比L这种情况下粗粒度模型的加速比接近线性,这是由于粗粒度模型的通信开销和同步开销都不大L文献[47]还从实用的角度给出了两条定性评价并行遗传算法的指标:1)确定一个适应度指标,利用串行遗传算法最短的搜索时间(找到一个个体适应度高于适应度指标)除以并行遗传算法的搜索时间,作为并行遗传算法的加速比指标L在此指标下,并行遗传算法能够达到超线性加速比[22,47]L2)给定一段时间,利用并行遗传算法进行优化,能够得到的最高适应度比利用串行遗传算法搜索到的最高适应度高出多少L第二条定性评价指标非常有实用价值,因为遗传算法的应用者需要的是在一定的时间内获得最好的优化效果[47]L5 并行遗传算法的可执行模型在在上世纪90年代中期以前,虽然并行遗传算法被广泛应用于各种领域,但主要限于实践,为得到好的优化效果,研究者要进行大量的实验,试用各种策略和参数L从1994年开始,U I U C的Go ldberg教授和他的学生Can tu2Paz博士着手设计了一种基于模式理论(及积木块假设)的并行遗传算法的可执行模型[12]L他们以一个由20个4位基因串联而成的染色体表示单极值(O ne2m ax)目标函数为例(函数的适应度等于染色体中被置为1的比特数),建立了以基因为描述对象的模型:他们在分析过程中忽略了交叉和变异对积木块的构造和破坏作用,并将选择视为最优模式与其它模式的竞争L假设每个纪元结束时,子群体都收敛,即子群体中的个体已无法再进化后,子群体之间依照最优最差准则进行同步迁移L Can tu2Paz博士利用可靠性理论对模型进行了详细的分析(分析搜索不到全局最优点的概率),得到了一系列的结论:1)总群体的规模(各个分群体规模之和)越大,搜索的错误概率越小,需要进化的代数就越少L2)群体间的迁移率越大,搜索的效果越好L3)连接拓扑的度(子群体直接邻居的数量)越大,搜索的效果越好L总之,并行遗传算法中子群体之间的隔离越弱,越象单一群体遗传算法(Si m p le GA w ith a aggregate popu lati on)性能越好L文献[54]还利用实验验证了这个以基因为描述对象的马尔可夫模型可以较好地预测加性可分解函数(additively2decompo sab le functi on),即染色体由交迭子串组成,染色体的适应度等于交迭子串适应度的和,而子串的适应度函数可以是多极值的L与前面文献[32,34,46]的实验结果相对比,可以发现Can tu2Paz的理论分析结果[12]与实际观察有着不小的偏差,这是由于Can tu2Paz的研究分析是基于单极值函数的,而在实用中遗传算法几乎都是用于多极值的复杂空间搜索L即使是加性可分解函数,也与实际情况相差甚远L所以Can tu2Paz关于迁移率越大,连接拓扑的度越大,则搜索的效果越好的结论与事实严重不符L可见依据Can tu2Paz的并行遗传算法可执行模型很难准确地设置遗传参数和迁移策略L。
多种群协同进化的并行遗传算法
多种群协同进化的并行遗传算法
多种群协同进化的并行遗传算法是一种基于并行计算的优化算法,它利用多个子种群协同地进行进化,以加速优化的过程。
下面是该算法的主要步骤:
1. 初始化多个子种群:首先,根据问题的特点和要求,初始化多个子种群,每个子种群包含一定数量的个体。
2. 个体交流:每个子种群内的个体进行交叉和变异产生新个体,并计算适应度值。
3. 信息共享:每个子种群选择一部分个体与其他子种群共享信息,例如最好的个体解或一些遗传算子。
这种信息交流可以通过共享内存、消息传递等方式进行。
4. 个体迁移:根据共享的信息,每个子种群选择一些个体迁移到其他子种群中。
迁移的个体可能是最好的个体解,或者是通过一些选择策略选择出来的个体。
5. 子种群进化:每个子种群根据选择策略选择一些个体进行
交叉和变异,生成新的个体,并计算适应度值。
6. 判断终止条件:判断是否满足终止条件,例如达到预定的迭代次数或找到满意的个体解。
7. 结果汇总:将各个子种群的最好的个体解汇总,并输出最终的优化结果。
多种群协同进化的并行遗传算法通过将优化任务分配给多个子种群,并通过信息共享和个体迁移实现个体间的合作与协同,从而加速进化的过程,提高了算法的性能和收敛速度。
同时,多种群协同进化的并行遗传算法也能够保持种群的多样性,避免过早陷入局部最优解。
基于并行遗传算法和agent的组合优化研究
基于并行遗传算法和agent的组合优化研究摘要:针对并行遗传算法中计算资源的分配问题, 采用遗传算法和多智能体技术相结合的方法,实现了基于粗粒度的并行GA算法结构,该方法有利于改进遗传算法的性能,提高遗传算法搜索的效率.关键词:遗传算法;多智能体;并行处理1 概述。
遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。
其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
遗传算法经过多年的研究与发展,取得了许多的应用和发展,并行性与遗传算法的结合,大大促进了遗传算法的发展。
在遗传算法的并行化研究方面,提出了两大著名的并行模型,即粗粒度并行模型[2]和细粒度并行模型。
在基于粗粒度的并行模型中引入agent,采用multi-agent方法实现了子群体内部的遗传操作及子群体之间的交互,这种方法将极大地减少通讯开销并充分发挥并行遗传算法的求解问题的能力。
2 并行遗传算法。
遗传算法的运算过程中,适应度的计算是很费资源的。
因此,随着求解问题的复杂性及难度增加,提高遗传算法的运行速度便显得尤为突出。
所以,遗传算法跟并行性的结合,是自然的,也是必要的。
对于并行遗传算法,总的来说,并行遗传算法的实现有如下几种方案。
2.1全局型。
全局型又称主从式模型,顾名思义,并行系统分为一个主处理器和若干个从处理器。
主处理器负责整个种群的运行,各个从处理器处理来自主处理器的个体主要负责个体的适应度计算,并把结果发给主处理器全局处理。
全局型并行遗传算法模型最大的优点是简单,保留了传统遗传算法的搜索行为,因而可直接应用遗传算法的理论来预测一个具体问题能否映射到并行遗传算法上求解。
对于适应度估值操作比其他遗传算子计算量大的多时,它是很有效的,并且不需要专门的计算机系统结构。
2.2分布式型。
这种模型又叫独立型、粗粒度模型或者孤岛模型,该种模型是对传统遗传算法的扩展,与全局型不同的是:它将种群划分为多个子种群与各个对应的处理器,每个处理器进行单独的完整遗传算法操作。
遗传算法的并行实现
遗传算法的并行实现章衡 2007310437一、 问题描述遗传算法是通过模拟自然界生物进化过程来求解优化问题的一类自组织、自适应的人工智能技术。
它主要基于达尔文的自然进化论和孟德尔的遗传变异理论。
多数遗传算法的应用是处理一个由许多个体组成的群体,其中每个个体表示问题的一个潜在解。
对个体存在一个评估函数来评判其对环境的适应度。
为反映适者生存的思想,算法中设计一个选择机制,使得:适应度好的个体有更多的机会生存。
在种群的进化过程中,主要存在两种类型的遗传算子:杂交和变异。
这些算子作用于个体对应的染色体,产生新的染色体,从而构成下一代种群中的个体。
该过程不断进行,直到找到满足精度要求的解,或者达到设定的进化代数。
显然,这样的思想适合于现实世界中的一大类问题,因而具有广泛的应用价值。
遗传算法的每一次进化过程中的,各个体之间的操作大多可以并列进行,因此,一个非常自然的想法就是将遗传算法并行化,以提高计算速度。
本报告中试图得到一个并行遗传算法的框架,并考察并行化之后的一些特性。
为简单起见(本来应该考虑更复杂的问题,如TSP 。
因时间有些紧张,请老师原谅),考虑的具有问题是:对给定的正整数n 、n 元函数f ,以及定义域D ,求函数f 在D 内的最大值。
二、 串行遗传算法 1. 染色体与适应度函数对函数优化问题,一个潜在的解就是定义域D 中的一个点011(,,...,)n x x x -,因此,我们只需用一个长度为n 的实数数组来表示一个个体的染色体。
由于问题中要求求函数f 的最大值,我们可以以个体所代表点011(,,...,)n x x x -在f 函数下的值来判断该个体的好坏。
因此,我们直接用函数f 作为个体的适应度函数。
2. 选择机制选择是遗传算法中最主要的机制,也是影响遗传算法性能最主要的因素。
若选择过程中适应度好的个体生存的概率过大,会造成几个较好的可行解迅速占据种群,从而收敛于局部最优解;反之,若适应度对生存概率的影响过小,则会使算法呈现出纯粹的随机徘徊行为,算法无法收敛。
并行遗传算法的研究评述
南昌航空工业学院学报1998年第2期 Jou rnal of N anchang In stitu te of A eronau tical T echno logy №2 1998并行遗传算法的研究评述周 明 孙树栋 彭炎午(西北工业大学)摘要:并行遗传算法是遗传算法研究中的一个重要方向,受到了研究人员的高度重视。
本文系统地综述了各种并行遗传算法的构成原理,介绍了其典型应用情况,并指出了需进一步研究的课题。
关键词:并行遗传算法;遗传算法;并行计算;优化中图分类号:T P30116前言美国M ich igan大学的J.H.Ho lland[1]创立的遗传算法(Genetic A lgo rithm s,简称GA s)是模仿自然界生物进化过程中“物竞天择,适者生存”的原理而进行的一种多参数、多群体同时优化方法。
经过二十多年的发展,遗传算法已经在货郎担问题(T SP)的求解、生产调度、函数优化、机器学习等领域得到成功的应用,并显示出其良好的性能。
传统的遗传算法虽然具有隐含的并行性,但其实现方法在本质上仍是串行的。
这种串行的遗传算法在解决一些实际问题时,由于需要较多的个体数量和大量的计算,使得进化过程缓慢,难以达到实时要求。
因此并行遗传算法(Parallel Genetic A lgo rithm,简称PGA)[2]就受到了较大的重视。
本文拟对目前已开发出的并行遗传算法进行分类和总结,以便能为新的并行遗传算法的开发和应用以及并行遗传算法的机理分析提供参考。
1 遗传算法的并行性分析D.E.Go ldberg[3]归纳出了基本遗传算法模型(Si m p le Genetic A lgo rithm,简称SGA),它是一个反复迭代的进化计算过程,通过对一组表示候选解的个体进行评价、选择、交叉、变异等操作,来产生新一代的个体(候选解),这个迭代过程直到满足某种结束条件为止。
对应于基本遗传算法的运行过程,为实现其并行化要求,如图1所示,可以从下面四种并行性方面着手对其进行改进和发展。
并行遗传算法
并行遗传算法及其应用1、遗传算法( GA)概述GA是一类基于自然选择和遗传学原理的有效搜索方法,它从一个种群开始,利用选择、交叉、变异等遗传算子对种群进行不断进化,最后得到全局最优解。
生物遗传物质的主要载体是染色体,在GA中同样将问题的求解表示成“染色体Chromosom”e,通常是二进制字符串表示,其本身不一定是解。
首先,随机产生一定数据的初始染色体,这些随机产生的染色体组成一个种群( Population ),种群中染色体的数目称为种群的大小或者种群规模。
第二:用适值度函数来评价每一个染色体的优劣,即染色体对环境的适应程度,用来作为以后遗传操作的依据。
第三:进行选择( Selection ),选择过程的目的是为了从当前种群中选出优良的染色体,通过选择过程,产生一个新的种群。
第四:对这个新的种群进行交叉操作,变异操作。
交叉、变异操作的目的是挖掘种群中个体的多样性,避免有可能陷入局部解。
经过上述运算产生的染色体称为后代。
最后,对新的种群(即后代)重复进行选择、交叉和变异操作,经过给定次数的迭代处理以后,把最好的染色体作为优化问题的最优解。
GA通常包含5个基本要素:1、参数编码:GA是采用问题参数的编码集进行工作的,而不是采用问题参数本身,通常选择二进制编码。
2、初始种群设定:GA随机产生一个由N个染色体组成的初始种群( Population ),也可根据一定的限制条件来产生。
种群规模是指种群中所含染色体的数目。
3、适值度函数的设定:适值度函数是用来区分种群中个体好坏的标准,是进行选择的唯一依据。
目前主要通过目标函数映射成适值度函数。
4、遗传操作设计:遗传算子是模拟生物基因遗传的操作,遗传操作的任务是对种群的个体按照它们对环境的适应的程度施加一定的算子,从而实现优胜劣汰的进化过程。
遗传基本算子包括:选择算子,交叉算子,变异算子和其他高级遗传算子。
5、控制参数设定:在GA的应用中,要首先给定一组控制参数:种群规模,杂交率,变异率,进化代数等。
并行遗传算法
隐含并行性
□ 设ε为一小正数,L< ε(l-1)+1,N=2l,2,则遗传 算法一次处理的存活概率不小于1- ε且定义 长度不大于L的模式数位O(N3). □ 遗传算法表面上仅对每代的N个个体作处理 ,但实际上并行处理了大约O(N3)个模 式,并且无额外的存储,这正是遗传算法 具有高校搜索能力的原因,这就是遗传算 法的隐含并行。
并行遗传算法
□ 传统的遗传算法出现的问题: 局部搜索性能较差,对某些分布变化缓慢,面对大型计算 问题速度难以达到要求 □ 并行遗传算法提出: 在遗传算法并行运算的基础上,通过多种群并行进化和引 入迁移算子进行进行种群之间的信息交流,实现多种群的 协同进化。通过人工选择系数对每个种群最优化个体保存 ,通过对协调种群间的信息交换策略得到最好的进化效果 。 □ 遗传算法的并行化实现就是将进化过程划分到不同的计算 节点上,进行分布式进化,并通过一定的种群间信息交换 策略实现优良基因的转换。
pi fi
f
i 1
n
i
□ Pi反映了个体i的适应度在整个群体的个体适应度总和中所占的比例。适应度 越高,被选中的概率越高。
算法终止条件
□ 在实际中算法是不允许无止境的发展下去 的,而且对通常问题的最优解具有不确定 性,因此需要一个条件来终止算法的进程 。目前最常用的终止条件是事先给定一个 最大进化步数,或者判断最佳优化值是否 连续且经过若干步后都没有变化等。
算法参数选择
□ 种群的数目:影响算法优化性能和效率。种群太小导致采 样点数目不足,算法性能低;而种群数目太大又会增加计 算量,导致收敛时间过长。所以在设计算法时应该针对具 体问题选择适宜的种群数目; □ 交叉概率:用于控制交叉操作的频率。概率太大,种群中 串的更新很快,会使高适配值的个体很快被破坏掉;概率 太小,交叉操作很少进行,会使搜索停止不前; □ 变异概率:增加种群多样性。基于二进制编码的GA中, 一个非常小的变异率就会改变整个种群的基因。变异概率 必须取一个适当的值,太小不会产生新个体,太大又会使 GA完全的随机搜索; 总结:遗传算法参数的选择是非常重要的,同时也非常复 杂,参数选取需要按照问题的实际大小来进行选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行遗传算法及其应用1、遗传算法(GA)概述GA是一类基于自然选择和遗传学原理的有效搜索方法,它从一个种群开始,利用选择、交叉、变异等遗传算子对种群进行不断进化,最后得到全局最优解。
生物遗传物质的主要载体是染色体,在GA中同样将问题的求解表示成“染色体Chromosome”,通常是二进制字符串表示,其本身不一定是解。
首先,随机产生一定数据的初始染色体,这些随机产生的染色体组成一个种群(Population),种群中染色体的数目称为种群的大小或者种群规模。
第二:用适值度函数来评价每一个染色体的优劣,即染色体对环境的适应程度,用来作为以后遗传操作的依据。
第三:进行选择(Selection),选择过程的目的是为了从当前种群中选出优良的染色体,通过选择过程,产生一个新的种群。
第四:对这个新的种群进行交叉操作,变异操作。
交叉、变异操作的目的是挖掘种群中个体的多样性,避免有可能陷入局部解。
经过上述运算产生的染色体称为后代。
最后,对新的种群(即后代)重复进行选择、交叉和变异操作,经过给定次数的迭代处理以后,把最好的染色体作为优化问题的最优解。
GA通常包含5个基本要素:1、参数编码:GA是采用问题参数的编码集进行工作的,而不是采用问题参数本身,通常选择二进制编码。
2、初始种群设定:GA随机产生一个由N个染色体组成的初始种群(Population),也可根据一定的限制条件来产生。
种群规模是指种群中所含染色体的数目。
3、适值度函数的设定:适值度函数是用来区分种群中个体好坏的标准,是进行选择的唯一依据。
目前主要通过目标函数映射成适值度函数。
4、遗传操作设计:遗传算子是模拟生物基因遗传的操作,遗传操作的任务是对种群的个体按照它们对环境的适应的程度施加一定的算子,从而实现优胜劣汰的进化过程。
遗传基本算子包括:选择算子,交叉算子,变异算子和其他高级遗传算子。
5、控制参数设定:在GA的应用中,要首先给定一组控制参数:种群规模,杂交率,变异率,进化代数等。
GA的优点是擅长全局搜索,一般来说,对于中小规模的应用问题,能够在许可的范围内获得满意解,对于大规模或超大规模的多变量求解任务则性能较差。
另外,GA本身不要求对优化问题的性质做一些深入的数学分析,从而对那些不太熟悉数学理论和算法的使用者来说,无疑是方便的。
2、遗传算法的运行机理:对GA运行机理的解释有两类: 一是传统的模式理论;二是1990 年以后发展起来的有限状态马尔可夫链模型。
(1)模式理论:由Holland创建,主要包括模式定理,隐并行性原理和积木块假说三部分。
模式是可行域中某些特定位取固定值的所有编码的集合。
模式理论认为遗传算法实质上是模式的运算,编码的字母表越短,算法处理一代种群时隐含处理的模式就越多。
当算法采用二进制编码时,效率最高,处理规模为N的一代种群时,可同时处理O(N3)个模式。
遗传算法这种以计算少量编码适应度而处理大量模式的性质称为隐并行性。
模式理论还指出,目标函数通常满足积木块假说,即阶数高,长度长,平均适应度高的模式可以由阶数低,长度短,平均适应度高的模式(积木块)在遗传算子的作用下,接合而生成。
而不满足积木块假说的优化问题被称为骗问题(deceptive problem)。
模式理论为遗传算法构造了一条通过在种群中不断积累、拼接积木块以达到全局最优解的寻优之路。
但近十多年的研究,特别是实数编码遗传算法的广泛应用表明,上述理论与事实不符。
(2)有限状态马尔可夫链模型:由于模式理论的种种缺陷,研究者开始尝试利用有限状态马尔可夫链模型研究遗传算法的运行过程。
对于遗传算法可以解决的优化问题,问题的可行域都是由有限个点组成的,即便是参数可以连续取值的问题,实际上搜索空间也是以要求精度为单位的离散空间,因此遗传算法的实际运行过程可以用有限状态马尔可夫链的状态转移过程建模和描述。
对于有 m 个可行解的目标函数和种群规模为N的遗传算法,N 个个体共有种组合,相应的马尔可夫模型也有个状态。
实际优化问题的可行解数量 m 和种群规模 N 都十分可观,马尔可夫模型的状态数几乎为天文数字,因此利用精确的马尔可夫模型计算种群的状态分布是不可能的。
为了换取模型的可执行性,必须对实际模型采取近似简化,保持算法的实际形态,通过对目标函数建模,简化目标函数结构实现模型的可执行性。
遗传算法优化的过程,可以看作算法在循环过程中不断对可行域进行随机抽样,利用前面抽样的结果对目标点的概率分布进行估计,然后根据估计出的分布推算下一次的抽样点。
马尔可夫模型认为遗传算法是通过对搜索空间不同区域的抽样,来估计不同区域的适应度,进而估计最优解存在于不同区域的概率,以调整算法对不同区域的抽样密度和搜索力度,进而不断提高对最优解估计的准确程度。
可见,以邻域结构为依据划分等价类的马尔可夫模型更符合实际,对问题的抽象更能体现优化问题的本质。
3、并行遗传算法(PGA)虽然在许多领域成功地应用遗传算法,通常能在合理的时间内找到满意解,但随着求解问题的复杂性及难度的增加,提高GA的运行速度便显得尤为突出,采用并行遗传算法(PGA)是提高搜索效率的方法之一。
由于GA从种群出发,所以具有天然的并行处理特性,非常适合于在大规模并行计算机上实现,而大规模并行计算机的日益普及,为PGA奠定了物质基础。
特别是GA中各个体适值计算可独立进行而彼此间无需任何通信,所以并行效率很高。
实现PGA,不仅要把串行GA等价地变换成一种并行方案,更重要的是要将GA的结构修改成易于并行化实现的形式,形成并行种群模型。
并行种群模型对传统GA的修改涉及到两个方面:一是要把串行GA的单一种群分成多个子种群,分而治之;二是要控制、管理子种群之间的信息交换。
不同的分治方法产生不同的PGA结构。
这种结构上的差异导致了不同的PGA模型:全局并行模型、粗粒度模型、细粒度模型和混合模型。
3、1全局PGA模型该模型又称主从PGA模型,它是串行GA的一种直接并行化方案,在计算机上以master-slave编程模式实现。
它只有一个种群,所有个体的适应度都根据整个种群的适应度计算,个体之间可以任意匹配,每个个体都有机会和其他个体杂交而竞争,因而在种群上所作的选择和匹配是全局的。
对于这个模型有多种实现方法:第一种方法是仅仅对适值度函数计算进行并行处理;第二种方法是对遗传算子进行并行处理。
全局模型易于实现,如果计算时间主要用在评价上,这是一种非常有效的并行化方法。
它最大的优点是简单,保留了串行GA 的搜索行为,因而可直接应用GA 的理论来预测一个具体问题能否映射到并行GA上求解。
对于适应度估值操作比其他遗传算子计算量大的多时,它是很有效的,并且不需要专门的计算机系统结构。
3、2粗粒度PGA模型该模型又称分布式、MIMD、岛模式遗传算法模型,它是对经典GAs 结构的扩展。
它将种群划分为多个子种群(又称区域),每个区域独自运行一个GA。
此时,区域选择取代了全局选择,配偶取自同一区域,子代与同一区域中的亲本竞争。
除了基本的遗传算子外,粗粒度模型引入了“迁移”算子,负责管理区域之间的个体交换。
在粗粒度模型的研究中,要解决的重要问题是参数选择,包括:迁移拓扑、迁移率、迁移周期等。
在种群划分成子种群(区域)后,要为种群指定某种迁移拓扑。
迁移拓扑确定了区域之间个体的迁移路径,迁移拓扑与特定的并行机结构有着内在的对应关系,大多采用类似于给定并行处理机的互连拓扑。
如果在顺序计算机上实现粗粒度模型,则可以考虑采用任意结构。
拓扑结构是影响PGA 性能的重要方面,也是迁移成本的主要因素。
区域之间的个体交换由两个参数控制:迁移率和迁移周期。
迁移基本上可以采用与匹配选择和生存选择相同的策略,迁移率常以绝对数或以子种群大小的百分比形式给出,典型的迁移率是子种群数目的10%到20%之间。
迁移周期决定了个体迁移的时间间隔,一般是隔几代(时期) 迁移一次,也可以在一代之后迁移。
通常,迁移率越高,则迁移周期就越长。
有的采用同步迁移方式,有的采用异步迁移方式。
迁移选择负责选出迁移个体,通常选择一个或几个最优个体,有的采用适应度比例或者排列比例选择来选择迁移个体,也有采用随机选取和替换的。
在大多数情况下,是把最差或者有限数目的最差个体替换掉.与迁移选择类似,可采用适应度比例或者排列比例选择,确定被替换的个体,以便对区域内部的较好个体产生选择压力。
基于国内的现状,分布式PGA为国内PGA研究的主要方向。
分布式PGA作为PGA 的一种形式,一般实行粗粒度及全局级并行,各子种群间的相互关系较弱,主要靠一些几乎串行GA来加速搜索过程。
采用分布式PGA求解问题的一般步骤为:(1)将一个大种群划分为一些小的子种群,子种群的数目与硬件环境有关;(2)对这些子种群独立的进行串行GA操作,经过一定周期后,从每个种群中选择一部分个体迁移到另外的子种群。
对于个体迁移存在多种方法,第一种方法,在执行迁移操作时,每次从子种群中随机选择一部分染色体发送出去,接收的染色体数应该与发出的染色体相同。
第二种方法,在执行迁移操作时,首先在每个子种群内只使用选择而不使用其它遗传算子繁殖一些后代,这些后代的数目与迁移数相同。
然后再将这些后代的原子种群合并成一个大子种群并均匀随即地从该子种群中选择个体进行迁移。
这样,待迁移后子种群的规模便又恢复到正常状态。
而当子种群接收到从其他子种群迁移来的个体时则均匀随即地替换掉子种群内的个体。
第三种方法,将其中一个子种群设置为中心子种群,其他子种群与中心子种群通信。
中心子种群始终保持着整个种群中当前的最优个体,其他子种群通过“引进”中心子种群中的最优个体来引导其加快收敛速度,改善个体特征。
3、3 细粒度PGA模型该模型又称领域模型或SIMD PGA模型,对传统GA作了修改。
虽然细粒度模型也只有一个种群在进化,但在种群平面网格细胞上,将种群划分成了多个非常小的子种群(理想情况是每个处理单元上只有一个个体),子种群之间具有极强的通信能力,便于优良解传播到整个种群。
全局选择被领域选择取代,个体适应度的计算由局部领域中的个体决定,重组操作中的配偶出自同一领域,且子代同其同一领域的亲本竞争空间,即选择和重组只在网格中相邻个体之间进行。
细粒度模型要解决的主要问题是领域结构和选择策略。
领域结构既决定了种群中个体的空间位置,也确定了个体在种群中传播的路径。
领域结构主要受特定并行计算机的内存结构和通信结构影响。
领域拓扑确定一个个体的邻居,构成该个体的局部领域。
通常,只有一个拓扑的直接领域才属于其局部领域,若把某个固定步数内所能到达的所有个体也包含在内,则可以扩大领域半径。
在确定选择策略时,要考虑到选择压力的变化,而选择压力与领域结构有关。
与全局匹配选择类似,局部匹配选择可以采用局部适应度比例、排列比例选择,以及随机行走选择。