遗传算法在matlab环境中的实现

遗传算法在matlab环境中的实现

ID:16075436

大小:143.21 KB

页数:4页

时间:2018-08-07

遗传算法在matlab环境中的实现_第1页
遗传算法在matlab环境中的实现_第2页
遗传算法在matlab环境中的实现_第3页
遗传算法在matlab环境中的实现_第4页
资源描述:

《遗传算法在matlab环境中的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第21卷 第6期武 汉 汽 车 工 业 大 学 学 报Vol.21No.61999年12月JOURNALOFWUHANAUTOMOTIVEPOLYTECHNICUNIVERSITYDec.1999遗传算法在MATLAB环境中的实现汪秉文   范 彳真丁   康小海(华中理工大学)摘 要  探讨了在MATLAB环境中实现遗传算法仿真的方法,并以一个简单的求函数最值的问题作为遗传算法的应用实例,说明遗传算法的全局寻优性及用MATLAB实现仿真的可行性。关键词  遗传算法;MATLAB;全局寻优中图法分类号TP301.6遗传算法GA(G

2、eneticAlgorithm)是近几年发展起来的一种崭新的全局优化算法。它借用[1]了生物遗传学的观点,通过自然选择、遗传和变异等作用机制,使每个个体的适应性提高。由美国Mathwork公司于1967年推出的MatrixLabortory(缩写为MATLAB)软件包,是一种功能强,效率高便于进行科学和工程计算的交互式软件包。在此环境下,所解问题的MATLAB语[2]言表述形式和其数学表达形式相同,不需要按传统方法编程。在MATLAB环境下编制一个简单的遗传算法工具库(SGA),就可以利用MATLAB强大的仿真功能,进行遗传算法的

3、各种仿真实验。1 一个基本的遗传算法遗传算法是将问题的求解表示成“染色体”,从而构成一群“染色体”。将它们置于问题的“环境”中,根据适者生存的原则,从中选择出适应环境的“染色体”进行复制,即再生(reproduction,selection),通过交叉(crossover)、变异(mutation)两种基因操作产生出新一代更适合环境的“染色体”群,这样一代代不断改进,最后收敛到一个最适合环境的个体上(当然也有其他的收敛准则),求得问题的最佳[3][4]解。图1给出了GA的流程图。GA有如下3个基本算子:再生(reproductio

4、n/selection)。再生算子从群体中按某一概率选择个体,某个体Xi被选择的概率Pi与其适应值成正比。最通常的实现方法是轮盘赌(roulettewheel)模型。交叉(Crossover)。交叉算子将被选中的2个个体的基因链按概率Pc进行交叉,生成2个新的个体,交叉位置是随机的。其中Pc是一个系统参数,即交叉概率。收稿日期:1999207214.汪秉文,男,53岁,副教授;武汉,华中理工大学控制科学与工程系(430074).©1995-2003TsinghuaTongfangOpticalDiscCo.,Ltd.Allrigh

5、tsreserved.26武 汉 汽 车 工 业 大 学 学 报       1999年12月  变异(Mutation)。变异算子按一定概率Pm将新个体的基因链的各位进行变异,对二值基因链(0,1编码)来说即是取反。Pm也是一个系统参数,即变异概率。以上各种算子的实现方法是多种多样的,而且许多高级算子正不断提出,以改进GA的某些性能。由于GA的性能具有一定的脆弱性(brittleness),因此GA本身的参数(即系统参数)的选取对GA的运行效果有很大影响。系统参数的选取一般遵循以下原则:①种群数目N。种群数目会影响GA的有效性。

6、N太小,GA会很差或根本找不出问题的解,因为太小的种群数目不能提供足够的采样点;N太大,会增加计算量,使收敛时间延长。一般种群数目在20~160之间比较合适。②交叉概率Pc。此参数控制着交叉操作的频率。Pc太大,会使高适应值的结构很快破坏掉;Pc太小,搜索会停滞不前。一般Pc取0.25~0.75。③变异概率Pm。它是增大种群多样性的第二因素。Pm太小,不会产生新的基因块;Pm太大,会使GA变成随机搜索。一般Pm取0.01~0.20。2SGA库前已述及,MATLAB中最重要的成分是函数,下面简要地介绍一下SGA库中主要的函数及变量。

7、在SGA库中,经常要使用的变量是Pop,它代表一个种群,是各种遗传算子操作的对象。Pop本身是一个维数为popsize×itemsize的矩阵。之所以这样做是考虑到MATLAB处理矩阵的强大能力。矩阵的每一行是一个维数为itemsize的向量(数组),分别代表一个染色体。由于向量维数itemsize理论上可以无限增大,这就保证了染色体的长度可以根据需要无限增长。种群的大小是popsize,即染色体的个数。SGA中包含如下3个实现基本遗传算法的函数:Crossop,即交叉算子,以概率Pc在两染色体上的随机位置交换子串,格式为Pop=

8、crossop(Pop,Pc),其中参数Pc代表交叉概率。Muta,即变异算子,以概率Pm对染色体上任一基因进行干扰,格式为Pop=muta(Pop,Pm),其中Pm代表变异概率。Repro,即繁殖(再生/选择)算子,基本的选择策略是采用轮盘赌模型

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。