基于遗传算法随机优化搜索.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2009/7/9 遗传算法是基于进化论,在计算机上模拟生 命进化机制而发展起来的一门新学科,它根据适 者生存、优胜劣汰等自然进化规则搜索和计算问 题的解。 作为强有力且应用广泛的随机搜索和优化方 法,遗传算法是影响最广泛的进化计算方法之 一。 遗传算法的基本思想是:从一组解的初值开始 进行搜索,这组解称为一个种群,种群由一定数 量、通过基因编码的个体组成,其中每一个个体 称为染色体。不同个体通过染色体的复制、交叉 和变异又生成新的个体,依照适者生存的规则, 个体也在一代一代进化,通过若干代的进化最终 得出条件最优的个体。 变异 就是改变染色体某个(些)位上的基因。 例如, 设染色体 s将其第三位上的0变为1, 即 s s′。 s′也可以看做是原染色体s的子代染色体。 遗传算法的一般流程为: Step1:随机产生初始种群,个体数目一定,每个个体表示为染色体的基因编码; Step2:计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转step3; Step3:依据适应度选择再生个体,适应度高的个体被选中的概率高,适应度低的个体可能被淘汰; Step4:按照一定的交叉概率和交叉方法,生成新个体; Step5:按照一定的变异概率和变异方法,生成新个体; Step6:由交叉和变异产生新一代的种群,返回step2。 步5 按选择概率P(xi)所决定的选中机会,每次从S中随机选定1个个体并将其染色体复制,共做N次,然后将复制所得的N个染色体组成群体S1; 步6 按交叉率Pc所决定的参加交叉的染色体数c,从S1中随机确定c个染色体,配对进行交叉操作,并用产生的新染色体代替原染色体,得群体S2; 分析 原问题可转化为在区间[0, 31]中搜索能使y取最大值的点a的问题。那么,[0, 31] 中的点x就是个体, 函数值f(x)恰好就可以作为x的适应度,区间[0, 31]就是一个(解)空间 。这样, 只要能给出个体x的适当染色体编码, 该问题就可以用遗传算法来解决。 首先计算种群S1中各个体 s1= 13(01101), s2= 24(11000) s3= 8(01000), s4= 19(10011) 的适应度f (si) 。 容易求得 f (s1) = f(13) = 132 = 169 f (s2) = f(24) = 242 = 576 f (s3) = f(8) = 82 = 64 f (s4) = f(19) = 192 = 361 再计算种群S1中各个体的选择概率。 于是,得到第二代种群S2: s1=11001(25), s2=01100(12) s3=11011(27), s4=10000(16) 4 遗传算法的MATLAB求解 MATLAB7.0版本(早期版本没有官方的工具箱) 带有遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox),可以解决与遗传算法 相关的各类问题。 遗传算法与直接搜索工具箱提供了gatool()函数, 在MATLAB命令窗口输入gatool命令,可以打开遗传 算法程序界面,可以用可视的方式设置遗传算法的各 类参数,如初始种群、交叉变异、选择函数等。 遗传算法与直接搜索工具箱提供了ga()函数,可利用遗 传算法处理最优化问题,调用格式为 [x, f, flag, out]=ga(fun, n, opts) 其中,fun为描述目标函数的MATLAB函数,n为自变量个 数,opts为遗传算法控制选项,可以调用gaoptimset()函数设 置各种选项。例如,用其Generations属性可以设定最大允许 代数,InitialPopulation属性可以设置出始种群,用 PopulationSize属性可给定种群规模,用SelectionFcn属性可 以定义选择函数等。(参看MATLAB Help中

文档评论(0)

liyxi26 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档