基于动态种群的分布式遗传算法

  • 格式:pdf
  • 大小:194.53 KB
  • 文档页数:4

第24卷第5期 2002年lO月 武汉理工大学学报・信息与管理工程版 V01.24 Nl0.5 Oct.200 JOURNALOF哪(肌 鱼 婴 

文章编号:loo7—144x(2cxr2)os—ooo9—04 

基于动态种群的分布式遗传算法 

熊盛武,王冠 

(武汉理工大学计笋机科学与技术学院,湖北武汉430070) 

摘要:提出了一种基于动态种群模型的分布式遗传算法并对其进行了理论分析,该模型由传统并行模型演 变而来,但更适合于分布式并行处理。在一组由Pc机构成的网络环境下给出了该算法求解1sP问题的数值 结果,数值试验证明了该算法的有效性和可行性。 

关键词:动态种群;分布式遗传算法;可扩展集群计算;TSP 

中图法分类号:TP 301 文献标识码:A 

1 引 言 

遗传算法(Genetic Algorithm,GA)是一类借鉴 

生物界自然选择和自然遗传机制发展而来的随机 

搜索算法,在并行计算机上实现GA是增加其性 能和效率的有效途径¨J。近年来,随着计算机网 

络技术的发展和节点机性能价格比的提高,利用 

现有的计算资源,在局域网上开发分布式并行系 

统进行并行计算有着巨大的潜在价值,基于网络 

计算的分布式并行算法将为大规模工程与科学计 

算开辟一个新的领域。对于一般用户来说,廉价 

的可扩展集群计算环境是GA发挥其搜索效率和 大规模并行性的最有效的实现平台l2J。笔者主要 

介绍基于动态种群(Dynamic Demes,DDs)模型的 

分 式遗传算法在TSP问题上的应用 3,通过在 PC机构成的集群计算平台上运用DDs[ ]求解TSP 

问题的试验结果,证明了该方法具有良好的可扩 

展性和加速比。 

2可扩展集群计算 

2.1集群计算 

目前,并行平台从昂贵的、面向特定应用的大 

规模并行计算机(Massively Parallel Processors. 

MPP)向网络计算机转变的趋势越来越明显,计算 

机网络或者集群已经变成了一个非常有吸引力的 

工具。而以PC机集群作为实现并行的平台具有 

更多的优点,它们建立在容易购买且价格低廉的 

商品化硬件(PC机)、快速局域网和标准软件组件 

(比如UNIX、PVM并行编程环境)之上。这些系统 是可扩展的,它们可以根据预算和计算能力要求 

做出调整。 

2.2并行群体模型 

为了实现并行遗传算法(Parallel Genetic Algo. 

rithm,P( ),需要对传统的GA进行并行分割,把 

串行GA等价地变换成一种并行方案,将GA的结 

构修改成易于并行化实现的形式,形成并行群体 

模型。 

①全局并行模型。全局并行模型只有一个群 

体,所有个体的适应值计算都是独立的,个体之间 

可以任意匹配,因而在群体上所作的选择和匹配 

是全局的。全局模型易于实现,但是在异构环境 

中,当工作负载过大时,很容易产生“瓶颈”效应, 

因为所有的进程都不得不等待最后一个完成适应 

值计算的个体,然后才能进行选择操作。 

②粗粒度模型。粗粒度模型是对经典GA结 

构的扩展。它将群体划分为多个子群体,每个子 

群体独自运行GA,区域选择取代了全局选择,配 

偶取自同一区域,子代与同一区域中的亲本竞争, 

所以又称为孤岛模型。但是群体之间也会不时交 

换个体,这种新的遗传操作被称作迁移。我们知 

道粗粒度模型中,子群体规模比串行GA群体规 

模小,所以它的收敛显然要比串行GA快,解的质 

量可能也会下降。粗粒度模型非常适合于异构型 

计算环境,惟一的问题就在于解的质量。此外,它 

的可扩展性也是一个问题。 

③细粒度模型。细粒度模型将群体划分为许 

多非常小的子群体,理想情况是每个处理单元 

(Processing Elements,PE)上只有一个个体。这类 

收稿日期:20o2—04—24. 作者简介:熊貔武({967一),男,湖北成宁人,武汉理工大学计算机科学与技术学院副教授. 基金项目:f目家fJ然科学基金资助项FI(60173046);武汉市青年科技晨光计划资助项目(20005oo404O)

 维普资讯 http://www.cqvip.com lO 汉理工大学学报・信息与管理 猩 

模型适合于MPP,它的主要缺点是通信耗费非常 

高,所以不适合异构型计算环境,否则也会产生 

“瓶颈”。 

2.3并行虚拟机 

并行虚拟机(PvM)是支持异构型网络并行计 

算的软件系统,它主要是基于消息传递的并行通 

讯库。通过它,用户可以将一组由不同网络连接 

的、不同类型的、采用UNIX的计算机看作一个虚 

拟的并行计算机资源。 

2.4旅行商问题 

旅行商(TSP)是图论中有代表性的组合优化 

问题,TSP问题在实际应用中具有很重要的意义, 

例如可以用来解决分配问题、路径问题、车辆调度 

问题、网络问题等。TSP算法其定义域是一个符 

号空间,由于组合爆炸,其解空间通常非常大,属 

于非多项式确定(NP)问题,利用传统优化方法求 

解这一问题是非常困难的。用DDs求解TSP问题 

是对其性能的一个极好考验。 

3动态种群模型在PVM环境下求解TSP 

问题的算法描述 

3.1 M AGER进程 它是系统中惟一的进程,负责启动整个程序。 

它利用pvm—spawn语句初始化SORTER进程、 

COUNTER进程以及所有的SLAVE进程。并把 

SORTER和COUNTER进程的进程标识符(Process 

ID,PII))打包发给所有的SLAVE进程,接着等待 

接收SoR1 R进程发来的终止消息,之后向 

COUNTER进程和所有的SLAVE进程发出终止消 

息。 

3.2 COUNrIER进程 

它和MANAGER一样,也是整个系统中惟一 

的进程。它利用pvm—spawn语句初始化所有 

MASTER进程,然后进行负载平衡的动态管理。 

它的流程如下。 

①初始化MASTER进程,形成一个首尾相接 

的MASTER进程链表。 

②等待SLAVE进程发来的消息,计数器归 

零。 

③确认消息的来源是SLAVE后(通过消息标 

志符),向SLAVE发送当前MASTER进程的PID, 

计数器加1。 

④通过计数器确认当前MASTER进程得到足 

够的SLAVE个体后,下一个MASTER设为当前 

MAS1ER。 

⑤go tO②。 2002年1O月 

⑥当收到MANAGER进程发来的终止消息 

后,进程结束,并向MASTER进程发送终止消息。 

3.3 SLAVE进程 SLAVE进程的数目可以根据需要确定,它的 

个数就是个体数。它的流程如下。 

①随机产生一个TSP个体并计算出自己的适 

应值。 ②通知SORTER进程和COUNTER进程。 

③等待COUNTER进程发来的MASTER进程 

的PID,然后把自己的适应值和PID打包发给该 

MASTER进程。等待MASTER进程进行选择和配 

对。 

④等待接收消息。当确认消息是MASTER进 

程发来的复制消息和交叉消息时,SLAVE进程进 

行复制、交叉、变异操作。计算出新个体的适应值 

并取代当前个体,进行个体更新。go to@。 

⑤收到MANAGER进程的终止消息,进程结 

束。 

3.4 MASTER进程 

MASTER进程的个数根据需要而定,它的个 

数就是子群数。在接收到满足种群数目的个体之 

后,MASTER进行选择操作,确定需要进行复制操 

作和被复制操作的个体PID,以及需要进行交叉 

操作的两个配对个体PID,然后分别向这些个体 

发出复制和交叉消息。它的结束由COUNTER进 

程控制。 

3.5 SoRrIER进程 

收到一个SLAVE进程的消息,计数器加1,当 

满足演化代数后,向MANAGER进程发出终止消 

息。 

4动态种群的理论分析 

DDs具有类似于全局模型,在子群上又具有 

粗粒度模型的特点。前面已经介绍全局并行模型 

的选择操作是基于整个种群,个体有机会和整个 

种群中任何一个个体配对,搜索空间是全局性的; 

而粗粒度模型和细粒度模型的选择操作是在各自 

的子群体内完成,个体只能和子群体中的其他个 

体进行配对,搜索空间是局域性的。要使计算时 

间不至过长,使搜索空间达到尽可能的大,最好的 

办法就是个体的动态分配。从并行观点来看,基 

于DDs的并行遗传算法是一种异步消息传递的 

算法,它的主要思想是在算法中避免等待最慢主 

机或最差个体,使得算法不至因等待而被拖延。 

它具有完全的可扩展性,从全局并行开始,随着改 

变每个种群所拥有的个体数,可以轻易地扩展到 维普资讯 http://www.cqvip.com 第24卷第5期 于动态种群的分布述遗传篡 

细粒度模型。综上所述,可以得出DDs具有以下 

几个优点: 

①具有较好的可扩展性和灵活性。 

②容错能力强。即使一些主机崩溃,算法依 

旧能够继续。 

③动态负载平衡。每个主机分配的进程数虽 

然一样多,但是通过动态分配个体,速度快的主机 

上的个体完成的遗传代数会比速度慢的主机上的 

个体完成得多。 

④简易的控制。 

DDs模型所能获得的加速比主要受PC机硬 

件及网络环境的影响,并行一般不具有无限制的 

可扩展性,加速比会在达到某一极限后停止增加 

并开始下降,这是因为通信的消耗已经开始大于 

并行处理器增加所带来的好处。在这里: 

一 为COUNTER进程循环一次运行时间; 

为MASTER进程循环一次运行时间; l 为 

SLAVE进程循环一次运行时间;tsend为发送一个 

消息所花的时间;N为总的个体数(SLAVE的个 

数);M为子群数(MASTER的个数);n为每个子 

群拥有的个体数(n=N/M)。 

为了便于分析,考虑理想情况,省略循环和条 

件判断语句的运行时间。 

所以 

Tc('llnter=N×tsend 

Tm∞ter:n×tsend+tselection 

这里/selection是在整个种群里进行选择操作所 

需要的时间。 

SL, ̄VE进程循环一次需要先后与MASTER进 

程、COUNTER进程、配对的SLAVE进程进行信息 

交换,此外还要完成适应值计算、交叉、变异等遗 

传操作,因此: 难的。当通信消耗很大时,Ⅳ要很小,即要减小 

群体规模,但是这样往往会使算法陷入局部最优。 

一般而言,处理器能力越强,群体可以越大而且结 

果越好。很难从理论上预测DDs的性能,但是可 

以确定的是,在遗传操作特别是适应值计算比较 

复杂(tfitn 较大)的问题上,运用DDs的性能会比 

较好。这需要通过实验来证明。 

5实验结果及分析 

1ave=tfitness+tmutatlon+£cros80ver+3 tsend 程序要正常运行必须满足条件 

。To0Il t r≤Tslave+ la8t 

综合以上各式可得到: 

N ≥lX t send 因为 

(n+3)×tsend . — : 

所以 

± ≥Ⅳ 

£ 1代表通信消耗,它一般由机器硬件、机器 

负载、网络速度以及网络负载决定,判断它是很困 P实验程序由6个文件组成,分别是在 

LINUX 7.1下C编写的Manager.e、Counter.e、 

Sorter.e、Master.e、Slave.e以及Makefile.aimk文 

件。试验是由处于同一局域网中的4台PC机(P2 

—4OO,2台P2—266,P2—233)组成的PC机集群 

上完成的,并行编程环境是PVM。程序中重要参 

・数值由表1中给出。 

表1实验参数