当前位置:文档之家› 主从式并行遗传算法框架应用*

主从式并行遗传算法框架应用*

主从式并行遗传算法框架应用1099

主从式并行遗传算法框架应用*

安竹林’刘晓平’,2张伟林’

合肥}业大学计算机与信息学院可视化与协同计算(VCC)研究室,合肥230009

2中国科学院等离子体物理研究所CAD室合肥230031

3安徽建筑r_ A}学院合肥230022

摘要主从式并行遗传算法框架,是合肥工业大学计算机与信息学院可视化与协同计算研究室

基于D. L. Carroll的“遗传算法驱动”所开发的一个开放的可重用的遗传算法框架.本文将此框

架应用于物理计算问题的求解,并在一台双至强处理器的工作站上对其进行了测试,并给出了测试

结果及分析。 -i_ 4 ial并行债祛算法主从式物理计算

1引言

1.1遗传算法

遗传算法是一种模拟自然选择过程的有效的随机化搜索方法。它将问题的解表示成染色体,即三进

制编码串。在搜索前给出一定种群大小的染色体群,然后将这些初始染色体至于问题的环境中,并按适

者生存、优胜劣汰的遗传机制,从中选出较适应环境的染色体进行复制,再进行交叉、变异过程。产生更适应环境的新一代染色体群。这样一代一代地进化,最后就会收敛到最适应环境的一个染色体上,即

问题的最优解

1.2并行遗传算法

随着科学技术的不断发展,问题规模的不断扩大,面对复杂程度越来越高的搜索空间,串行遗传算法的搜索过程将成倍地延长。因此,其在优化效率和求解质量上都显得“力不从心’,。由于遗传算法有着

固有并行性,并行处理是很自然的解决途径。并行遗传算法将并行计算机的高速并行性和遗传算法的大然并行性相结合。极人的促进了遗传算法的研究与应用。并行处理不但加速了遗传算法的搜索过程,而

且由于种群规模的扩大和各子种群的隔离,使种群的多样性得以丰富和保持,减少了未成熟收敛的可能

性,提高了求解的质量。 目前并行遗传算法的实现大致可以分为三类[DI:全局型一主从式模型,独立型一粗粒度模型,分散

型一细粒度模型。主从式模型是遗传算法并行化的一种最直接的方式。主从式并行遗传算法系统分为一

个主处理器和若干从处理器,主处理器监控整个染色体种群,并基于全局统计执行的选择操作,各个从

处理器接受来自主处理器的个体进行重组交叉和变异,产生新一代个体,并计算适应度再把结果传给从处理器。主从式并行遗传算法比较直观,并且针对适应度评价计算量大的问题,主从模式可以的到接近

‘基金项目:女徽省教育厅自然科学研究项目(2004kj097),安徽省自然基金项目((01042201),国家自然基金项目共同资

助(60273044)安竹林(1980-),男,山东省青岛人,硕士研究生,研究方向为协同计算、授,博导,研究方向为CAD/CG。张伟林(1954-),男,安徽毫州人,教授,集群计算:刘晓平(1964-),男,山东济南人,教研究方向为网络与并行计算。

1100计算机技术与应用进展."2004

线性的加速比。

2主从式并行遗传算法框架

2.1简介

主从式并行遗传算法框架,是在D. L. Carroll的“遗传算法驱动”[21基础上改进而成的。D. L. Carroll

的“遗传算法驱动”是一个免费的结构化遗传算法框架。利用该框架,只需要编写和改动少量的代码,即可在相应的程序程序中加入遗传算法。主从式并行遗传算法框架对原框架所进行改进,旨在维持其原

来的易用性的同时,在其内部封装对MPI的调用,从而使原框架可以在MPI环境中并行的执行。

2.2程序结构

主从式并行遗传算法,对串行程序所作的主要改动是,

在适应度的计算阶段,由主处理器将适应度的计算分配到

各个处理器上去进行,计算完毕之后再由主处理器收集结

果。然后由土处理器进行选择、交叉、变异等操作,并由此产成新一代种群,从而完成一次循环。主从式遗传算法

框架结构如图]所示:

2.3与实际问题的结合

主从式并行遗传算法框架,继承了原“遗传算法驱动”

的易用性,其应用与“遗传算法驱动”完全相同。其内部的遗传算法与MPI对用户是完全透明的,使用者不需要具

备遗传程序设计和并行程序设计基础,只要略知遗传算法

的机理,便可应用该框架求解实际问题。

具体应用时只需作如下修改: (I)在配置文件中,设定遗传算法参数以及可调参数

范围。 (2)将待求解问题作为一个子程序加入框架中,并由

此子程序确定适应度函数。图1主从式遗传算法框架结构

3应用

3.1问题描述

文[[3]提出了一个典型的物理计算问题,该问题具有计算量大,耗时长等特点。本文将主从式并行遗

传算法框架应用于该问题的求解。由于该问题的可行解在解空间中占的比例非常小,所以在实际应用中

通常给出一个经验值,在此经验值附近寻找最优值。

3.2测试方法

测试方法是,分别记录串并行程序到达指定精度的适应度的时间,并计算加速比。需要指出的是,

由于遗传算法是一种随机算法,对于不同的随机数种子,其计算过程是各异的。因此,为了使串并行程

序的计算过程具有可比性,整个计算过程采用相同的随机数种子。

主从式并行遗传算法框架应用......................................................皿..里鱼口鱼鱼鱼国鱼鱼鱼鱼鱼鱼鱼鱼鱼鱼鱼鱼里皿里口口国困里口.自里里旦旦旦旦巨旦3.3测试结果

遗传算法在第172代找到最优值,其与目标值和经验值的比较如表1所示:

表1优化结果比较10

三角变形

目标值

经验值

优化值大半径

4.0

4.049

4.000小半径

1.0

0.795

0.8040.4-0.5

0.4110.456拉e.比

1.8-2.02.338

2.294

单双CPU同时趋向给定精度的耗时如表2所示:

表2性能测试结果

苏吞雾CIE 0.880CPU's(0.8850.8900.8950.900

3.996

2.0952卫44

4.03819.744

10.56149.048

26.537661.573

384.540

双CPU相对单CPU的加速比如表3所示: 安3双CPU相对单CPU的加速比

精度

加速比旦.880

1.907些旦互

1.9179.89旦

1.869旦.895

1.848

3.4结果分析

通过表1所示可以看出,优化值较原经验值更加逼近目标值,这说明遗传算法对问题的求解是非常

成功的。 表2为单双CPU同时趋向给定精度的耗时,由此可以清楚的着出单双CPU耗时随适应度的增加而

增加。同时对于同一适应度值,单CPU耗时大致为双CPU的两倍,这种情况在表3中更加明显,加速比基本恒定不变。这说明了该遗传算法框架具有良好的并行性,极大的提高了原遗传算法的时间性能。

4结论

本文成功的将主从式并行遗传算法框架应用于一物理计算问题的求解,结果和时间效率均达到非常好的效果。由于该问题的可行解在解空间中占的比例非常小,使其不能利用遗传算法直接求解,这必须

就改进遗传算法,这是我们以后要完成的。

参考文献

[1] Erick Cantu-Paz.A Survey of Parallel Genetic Algorithms. IlliGAL Report No 97003, Illinois Genetic

Algorithms Laboratory, Urbana, IL. 1997.[2] FORTRAN Genetic Algorithm (GA) Driver Available at: hup://cuaerospace.com/carroll/ga.html[3]虞清泉,朱思铮,查学军.托卡马克等离子体平衡的数值研究.计算物理,2000,19(5) 413-418.

1102计算机技术与应用进展-2004

Application of Master-Slave Parallel Genetic Algorithm

Framework

An Zhu-lint Liu Xiaopingt'2 Zhang Weilin3

VCC Division, School of Computer&Information, Hefei University of Technology, Hefei, 230009, China Institute of Plasma Physics, Chinese Academy of Science, Hefei, 230031, China3 Anhui Institute of Architecture&Industry, Hefei, 230022, China

Abstract Master-Slave GA framework is an open and reusable Genetic Algorithm framework. It isdeveloped by VCC Division on "D几.Carroll's FORTRAN Genetic Algorithm Driver". In this paper, we

applied it to a physic computing problem. The program was test on a double Xeon workstation, the result

and analysis was given too. Keywords Parallel Genetic Algorithms; Master-Slave; Physic computing

相关主题