搜索
您的当前位置:首页正文

遗传算法及其仿真

来源:爱go旅游网
维普资讯 http://www.cqvip.com

第16卷第4期 湖南工程学院学报 Vo1.16.No.4 2006年l2月 Journal of Hunan Institute of Engineering Dec.2006 遗传算法及其仿真 阎 纲 (湖南财经高等专科学校,湖南长沙410205) 摘要:介绍了遗传算法的基本概念,并提出了一种基于MATLAB遗传算法与直接搜索工具箱的遗传 算法仿真方法.仿真实验证明,该方法是简单、实用、高效的, 关键词:遗传算法;遗传算法与直接搜索工具箱 中图分类号:TP301.6 文献标识码:A 文章编号:1671—119X(2006)04—0056一o3 搭配成对,对每一个个体,以某个概率(称为交叉概 1遗传算法 率)交换它们之间的部分染色体.交叉体现了信息 交换的思想. 遗传算法(Genetic Algorithms,简称GA)起源于 (3)变异.变异操作首先在群体中随机选择一 对生物系统所进行的计算机模拟研究.美国Michi— 个个体,对于选中的个体以一定的概率随机改变串 gan大学的Holland教授及其学生受到生物模拟技 结构数据中某个串的值,即对群体中的每一个个体, 术的启发,创造出了一种基于生物遗传和进化机制 以某一概率(称为变异概率)改变某一个或某一些 的适合于复杂系统优化的自适应概率优化技术—— 基因座上的基因值为其他的等位基因.同生物界一 遗传算法. 样,遗传算法中变异发生的概率很低.变异为新个体 它与传统的优化算法不同,大多数古典的优化 的产生提供了机会. 算法是基于一个单一的度量函数(评估函数)的梯 遗传算法提供了一种求解复杂系统优化问题的 度或较高次统计,以产生一个确定性的试验解序列; 通用框架,它不依赖于问题具体的领域,对问题的种 遗传算法不依赖于梯度信息,而是通过模拟自然进 类有很强的鲁棒性,所以广泛应用于许多学科,近十 化过程来搜索最优解,它利用某种编码技术,作用于 年来,遗传算法得到了迅速发展.目前,遗传算法在 称为染色体的数字串,模拟由这些串组成的群体的 生物技术和生物学、化学和化学工程、计算机辅助设 进化过程.遗传算法通过有组织的、随机的信息交换 计、物理学和数据分析、动态处理、建模与仿真、医学 来重新组合那些适应性好的串,生成新的串的群体. 与医学工程、微电子学、模式识别、人工智能、生产调 遗传算法有三个基本操作:选择、交叉和变异. 度、机器人学、采矿工程、电信学、售货服务系统等领 (1)选择.选择的目的是为了从当前群体中选 域都得到应用,成为求解全局优化问题的有力工具 出优良的个体,使它们有机会作为父代为下一代繁 之一. 殖子孙.根据各个个体的适应度值,按照一定的规则 或方法从上一代群体中选择出一些优良的个体遗传 2遗传算法与直接搜索工具箱 ’ 到下一代群体中.遗传算法通过选择运算体现这一 思想,进行选择的原则是适应性强的个体为下一代 MATLAB是Mathworks公司推出的一套高性能 贡献一个或多个后代的概率大.这样就体现了达尔 的数值计算和可视化软件.它集数值分析、矩阵运 文的适者生存原则. 算、信号处理和图形显示于一体,构成一个方便的、 (2)交叉.交叉操作是遗传算法中最主要的遗 界面友好的用户环境.MATLAB强大的扩展功能和 传操作.通过交叉操作可以得到新一代个体,新个体 影响力吸引各个领域的专家相继推出了许多基于 组合了父辈个体的特性,将群体内的各个个体随机 MATLAB的专用工具箱.MATLAB强大的科学运算、 收稿日期:2006—06—13 作者简介:阉纲(1977一)。男,博士研究生,研究方向:最优控制 维普资讯 http://www.cqvip.com

第4期 阎纲:遗传算法及其仿真 57 灵活的程序设计流程、高质量的图形可视化与界面 (4)遗传算法与直接搜索工具箱函数可与 设计、便捷的与其他程序和语言的接口功能,使之成 MATLAB的优化工具箱或其他的MATLAB程序结 为当今世界最有活力和最具影响力的可视化软件之 合使用. —一● (5)支持自动的M代码生成. 最新发布的MATLAB7.0 Release 14包含一个 专门设计的遗传算法与直接搜索工具箱(Genetic 3应用举例 Algorithm and Direct Search Toolbox). 使用遗传算法与直接搜索工具箱,可以扩展 遗传算法与直接搜索工具箱包含遗传算法工具 MATLAB及其优化工具箱在处理优化问题方面的能 和直接搜索工具.下面,将通过一个具体的例子,介 力,可以处理传统的优化技术难以解决的问题,包括 绍其中的遗传算法工具及其使用方法.假定我们想 那些难以定义或不便于进行数学建模的问题,可以 要计算下面函数的最小值: 解决目标函数较复杂的问题,比如目标函数不连续 1, 2)= 一2x1 2+6 1+ 2 一6x2 或具有高度非线性、随机性以及目标函数不可微的 首先,必须编写一个M文件,来确定想要优化 情况. 的函数.在MATLAB的File菜单中选择New/M— 遗传算法与直接搜索工具箱中的优化函数总是 File,打开一个新的M文件.在该M文件中,输入如 使目标函数或适应度函数最小化,也就是说,它们求 下两行代码: 解如下形式的问题: function Z=myfun(x) minf(x) Z=X(1) 一2 X(1) X(2)+6 X(1)+X(2) 2 如果想要求出函数,( )的最大值,可以转而求 —6’X(2); 取函数g(X)=-f(x)的最小值,因为函数g( )最 文件确定这个函数必须接受一个长度为2的 小值与函数 )最大值出现的地方相同. 行向量 ,分别与变量 和 :相对应;并且返回一 遗传算法与直接搜索工具箱的功能特点如下: 个标量=,其值等于该函数的值.将该 文件保存为 (1)图形用户界面和命令行函数可用来快速地 my———fun.m. 描述问题、设置算法选项以及监控进程. 然后,打开遗传算法工具.在MATLAB命令行 (2)具有多个选项的遗传算法工具可用于问题 输入以下命令即可: 创建、适应度计算、选择、交叉和变异. gatool (3)直接搜索工具实现了一种模式搜索方法, 遗传算法工具包括许多文本框、复选框和按钮 其选项可用于定义网格尺寸、表决方法和搜索方法. 选项,表1中对它们的功能做了一些简要的说明. 表1 遗传算法工具选项的功能说明 “Fitness function(适应度函数)”文本框要求输 fun.111文件中定义的函数作为适应度函数.“Number 入适应度函数,在此输入:@my—fun,表示把my— of variables(变量数目)”文本框要求输入适应度函 维普资讯 http://www.cqvip.com

58 湖南工程学院学报 2006正 数的变量数目,在此输入:2.在“Options”窗格中可 以改变遗传算法的参数选项.为了查看窗格中列出 的各类参数选项,可单击与之相连的符号“+”. 在“Plots(绘图)”窗格中可以绘制遗传算法运 行时有关信息的各种图形.为了绘制每一代适应度 函数的最佳值和平均值,选中复选框“Best fitness (最佳适应度)”.单击“Start”按钮,运行遗传算法, 将在“Status and results(状态和结果)”窗格中显示 出相应的运行结果,并绘制相关图形. 当算法完成时,“Status and results”窗格如图1 所示.由图可知,算法终止时适应度函数的最终值是 一8.999999898678562.算法终止的原因是超过最大 代数而导致优化终止.最终点是[一1.05357 1. 94674]. 图2各代适应度函数的最佳值和平均值 因为 l, 2)=( l一 2+3) 一9,可知f( l, 了最优解,而且它的精度相当高. )在 一 :+3=0时,取得实际最小值一9.可见, 遗传算法的计算结果非常接近于 ,, :)的实际最 4结束语 小值 实验证明,基于遗传算法与直接搜索工具箱的 遗传算法仿真方法,不仅操作简单,功能强大,而且 能求得令人满意的结果. 遗传算法的许多参数,如种群参数、选择参数、 变异参数、交叉参数等,对运算结果有着重要的作 用.为了得到遗传算法的最好结果,一般需要以不同 的参数试验,选择针对问题的最佳参数.如何选择遗 传算法的参数,以便在实际应用中获得最好的效果, 图1遗传算法的运行结果 是我们今后努力的方向. tions(, 代数)”选项的缺省值。:苎 套 此选项规定了算法计 誓 : 蓥 :: 参考文献 ,。 。 算的最大代数.各代适应度函数的最佳值和平均值 [1]蔡自兴.智能控制[M].北京:电子工业出版社,2004. 如图2所示. [2]玄光男,程润伟・遗传算法与工程优化[M]・北京:清 图中,横坐标是代数,纵坐标是适应度值.在每 华 (学出版社,2004・ ,, :点表示平均适应度值 ! 煮 望 需萎 .图的顶部还显示出当前代的 一 ~ 一 ~~一一 及其应用m 最佳值和平均值.由图可知,遗传算法很快就搜索到 Genetic Algorithms and its Simulation YAN Gang (Hunan Financial and Economic College,Changsha 410205,China) Abstract:The essential concept of Genetic Algorithms is introduced and a simulation method based on MATLAB eGnetic Algorithm and Direct Search Toolbox is proposed.Simulation experiment proves that hte method is simple, practical and efifcient. Key words:genetic algorihtms;genetic algorithm and dierct search toolbox 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top