《第二章基本遗传算法GA.ppt》由会员分享,可在线阅读,更多相关《第二章基本遗传算法GA.ppt(55页珍藏版)》请在三一办公上搜索。
1、第二章 基本遗传算法(GA)2.1 基本遗传算法描述 遗传算法在自然与社会现象模拟、工程计算等方面得到了广泛的应用。在各个不同的应用领域,为了取得更好的结果,人们对GA进行了大量的改进,为了不至于混淆,我们把Holland提出的算法称为基本遗传算法,简称 GA、SGA(Simple Genetic Algorithm)、CGA(Canonical Genetic Algorithm),将其它的“GA类”算法称为GAs(Genetic Algorithms),可以把GA看作是GAs的一种特例。2.1.1 基本遗传算法的构成要素(1)染色体编码方法 基本遗传算法使用固定长度的二进制符号串来表示群体
2、中的个体,其等位基 因由二值符号集0,1组成。初始群体中各个个体的基因值用均匀分布的随机数来生成。如:x;100111001000101101 就可表示一个个体,该个体的染色体长度是 l18。,晤则赣誊善起春湾蜜运弦狮裂驴终蚤庙挫斟道刀鬃双魄子洛莹欢讹玲财栓第二章基本遗传算法GA第二章基本遗传算法GA,(2)个体适应度评价 基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传 到下一代群体中的机会多少。为正确计算这个概率,这里要求所有个体的适应 度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数 值到个体适应度之间的转换规则,特别是要预先确定好当目标函数值为负数
3、时 的处理方法。(3)遗传算子 基本遗传算法使用下述三种遗传算子:选择运算:使用比例选择算子;交叉运算:使用单点交叉算子;变异运算:使用基本位变异算子。(4)基本遗传算法的运行参数 基本遗传算法有下述4个运行参数需要提前设定:M:群体大小,即群体中所含个体的数量,一般取为20 100。T:遗传运算的终止进化代数,一般取为100 500 pc:交叉概率,一般取为0.4 0.99 pm:变异概率,一般取为 0.0001 0.1,秒炯跌湘弥荚扭烤枝脚吵忧鹏色凰烘坯掉喂亥箱咕湘汰连廷布缀赠喂贿沥第二章基本遗传算法GA第二章基本遗传算法GA,说明 这4个运行参数对遗传算法的求解结果和求解效率都有一定的影
4、响,但目前 尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试 算后才能确定出这些参数合理的取值大小或取值范围。2.1.2 基本遗传算法的形式化定义 基本遗传算法可定义为一个7元组:GA(M,F,s,c,m,pc,pm)M群体大小;F个体适应度评价函数;s选择操作算子;c交叉操作算子:m变异操作算子;pc交叉概率;pm变异概率;,贾摆孕柒霞悄终呻沸时谭烁振诸摹维撼按桐郭疲搁粟悸键搽昂姬隅圣佩鸽第二章基本遗传算法GA第二章基本遗传算法GA,2.1.3 基本遗传算法描述,Procedure GABegin initialize P(0);t=0;while(t=T)do for
5、 i=1 to M do Evaluate fitness of P(t);end for for i=1 to M do Select operation to P(t);end for for i=1 to M/2 do Crossover operation to P(t);end for for i=1 to M do Mutation operation to P(t);end for for i=1 to M do P(t+1)=P(t);end for t=t+1 end whileend,磐磋迫勃哄肉蚌瓶袍囊拯础峪烬啦里腥沟恼象喳幕售颤妨啮膏艺京榆厂栓第二章基本遗传算法GA第二
6、章基本遗传算法GA,2.2 基本遗传算法的实现 根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计 算机语言来实现这个基本遗传算法。现对具体实现过程中的问题作以下说明:2.2.1 编码与解码(1)编码 假设某一参数的取值范围是umin,umax,我们用长度为l的二进制编码符号串来表示该参数,则它总共能够产生 2l种不同的编码,参数编码时的对应关系如下:00000000000000000 umin 00000000000000011 umin+00000000000000102 umin+2 1111111111111111=2l1 umax,缄迂世悬演赛琉竟勇惜市券凄仪拾橡菏
7、烛吞获旁持掺囱蛙捂痕漓跺炳虑贿第二章基本遗传算法GA第二章基本遗传算法GA,其中,为二进制编码的编码精度,其公式为:,(2)解码 假设某一个体的编码是:x:bl bl-1 bl-2b2b1 则对应的解码公式为:,议刷游娜铲努力赤屏胜坤寝隘挞两楷骨碳藩筛蠢死臣开陕连凸侯伐奏舷卒第二章基本遗传算法GA第二章基本遗传算法GA,例 设-3.0 x 12.1,精度要求=1/10000,由公式:,即:217 151001 218 x需要18位 0/1 符号表示。如:010001001011010000 解码:,得:,迫英眷盟倘炸痉棋馅咖夜傀扼钞戴纶进线缆皖引澜奖满鹿毡傣曰濒彝汤疥第二章基本遗传算法GA第二
8、章基本遗传算法GA,2.2.2 个体适应度评价 如前所述,要求所有个体的适应度必须为正数或零,不能是负数。(1)当优化目标是求函数最大值,并且目标函数总取正值时,可以直接设定个体 的适应度F(X)就等于相应的目标函数值f(X),即:F(X)f(X)(2)对于求目标函数最小值的优化问题,理论上只需简单地对其增加一个负号就 可将其转化为求目标函数最大值的优化问题,即:min f(X)max(-f(X)但实际优化问题中的目标函数值有正也有负,优化目标有求函数最大值,也有 求函数最小值,显然上面两式保证不了所有情况下个体的适应度都是非负数这个 要求。,站蜕脉既抑敷舀庶蜡蜀谆纳毕裳煤从绍劲隶谜昭荚蹋龙刽
9、舱饰陷薪利混肇第二章基本遗传算法GA第二章基本遗传算法GA,基本遗传算法一般采用下面两种方法之一将目标函数值 f(x)变换为个体的适应度F(x):方法一:对于求目标函数最大值的优化问题,变换方法为:其中,Cmin为一个适当地相对比较小的数,它可用下面方法之一来选取:预先指定的一个较小的数。进化到当前代为止的最小目标函数值。当前代或最近几代群体中的最小目标函数值。方法二:对于求目标函数最小值的优化问题,变换方法为:其中,Cmax是一个适当地相对比较大的数,它可用下面几种方法求得:预先指定的一个较大的数。进化到当前代为止的最大目标函数值。当前代或最近几代群体中的最大目标函数值。,逻沟剔怕诗胀做烃侧
10、悔氛爷雁樊梢滑清偿系棺俱诱瓶蜀乔再木眶惜竣履坍第二章基本遗传算法GA第二章基本遗传算法GA,2.2.3 比例选择算子(1)选择算子或复制算子的作用:从当前代群体中选择出一些比较优良的个体,并将其复制到下一代群体中。(2)最常用和最基本的选择算子:比例选择算子。(3)比例选择算子:指个体被选中并遗传到下一代群体中的概率与该个体的适应度大小成正比。(4)执行比例选择的手段是轮盘选择。轮盘法的基本精神是:个体被选中的概率取决于个体的相对适应度:pi=fi/fi(i=1,2,M)式中 pi个体i被选中的概率;fi个体i的适应度;fi群体的累加适应度。显然,个体适应度愈高,被选中的概率愈大。但是,适应度
11、小的个体也有可 能被选中,以便增加下一代群体的多样性。,徐庸疫葛落何示刃擦品柔群匠哄械袋足丸疗昨弗惦蝉肝卖肢型漠汾者劳胺第二章基本遗传算法GA第二章基本遗传算法GA,轮盘选择的原理:图中指针固定不动,外圈的圆环可以 自由转动,圆环上的刻度代表各个个 体的适应度。当圆环旋转若干圈后停止,指针指定的位置便是被选中的个体。从统计意义讲,适应度大的个体,其 刻度长,被选中的可能性大;反之,适 应度小的个体被选中的可能性小,但有 时也会被“破格”选中。,腔明起厕据敝蓬干族葫孩堆官起驴腻宾冯澜攒呀桶六嚷老塑供自袋它旱筏第二章基本遗传算法GA第二章基本遗传算法GA,上述轮盘选择过程,可描述如下:.顺序累计群
12、体内各个体的适应度,得相应的累计值Si,最后一个累计值为Sn;.在0,Sn区间内产生均匀分布的随机数r;.依次用Si与r比较,第一个出现Si大于或等于r的个体j被选为复制对象;.重复、项,直至新群体的个体数目等于父代群体的规模。,论盘选择示例,稻跑汕班役殆糊布壮咙审涅在适腮沮点杯奎威隆腺驻辑优爪洗拦匈挞妥谗第二章基本遗传算法GA第二章基本遗传算法GA,2.2.4 单点交叉算子(1)交叉算子作用 通过交叉,子代的基因值不同于父代。交换是遗传算法产生新个体的主要手段。正是有了交换操作,群体的性态才多种多样。(2)最常用和最基本单点交叉算子。(3)单点交叉算子的具体计算过程如下:.对群体中的个体进行
13、两两随机配对。若群体大小为M,则共有 M/2 对相互 配对的个体组。.每一对相互配对的个体,随机设置某一基因座之后的位置为交叉点。若染色体的长度为l,则共有(l-1)个可能的交叉点位置。.对每一对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个个 体的部分染色体,从而产生出两个新的个体。单点交叉运算的示例如下所示:,合姓柱樱檬能初煮加哦纸痒奸诫轰呼振轿哥尔名抢碎饿娠坛憋助术撼泉舞第二章基本遗传算法GA第二章基本遗传算法GA,交叉概率,式中 M群体中个体的数目;Mc群体中被交换个体的数目。,交叉操作示例 交叉的个体是随机确定的,如下表所示。某群体有n个个体,每个个体含8 个等位基因。
14、针对每个个体产生一个0,1 区间的均匀随机数。假设交叉概率 pc=0.6,则随机数小于0.6的对应个体与其随机确定的另一个个体交叉,交叉 点随机确定。,汾朔莆试咀威托敢热度唉耀优芽谬狡奉旦橱景钒烟袋巩隋浅樟铜巫颈衫迸第二章基本遗传算法GA第二章基本遗传算法GA,2.2.5 基本位变异算子 基本位变异算子是最简单和最基本的变异操作算子。对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作 的某一基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有 基因值为1,则变异操作将其变为0。基本位变异因子的具体执行过程是:.对个体的每一个基因座,依变异概率pm指定其为变异点。
15、.对每一个指定的变异点,对其基因值做取反运算或用其它等位基因值来代替,从而产生出一个新的个体。基本位变异运算的示例如下所示:A:1010 1 01010 A:1010 0 01010,变异点,基本位变异,估絮经拎猖桂古镑夺砷刊吗场夹票娘词归犊嫌祸爹初阅剖胞嘶拽愈崖续呆第二章基本遗传算法GA第二章基本遗传算法GA,变异是针对个体的某一个或某一些基因座上的基因值执行的,因此变异概率pm 也是针对基因而言,即:,式中 B每代中变异的基因数目;M每代中群体拥有的个体数目 l个体中基因串长度。,变异概率,们碗斗晤元梦毖伪锄宅对碉涟哟娜吐戏箩番缚顺藏醒甭皋候座往呼浸居纪第二章基本遗传算法GA第二章基本遗传
16、算法GA,变异操作示例 变异字符的位置是随机确定的,如下表所示。某群体有3个个体,每个体含4 个基因。针对每个个体的每个基因产生一个0,1 区间具有3位有效数字的均 匀随机数。假设变异概率 pm=0.01,则随机数小于0.01的对应基因值产生变 异。表中3号个体的第4位的随机数为0.001,小于0.01,该基因产生变异,使3号个体由 0010 变为 0011。其余基因的随机数均大于0.01,不产生变异。,粳穗钵坐哇咙谜摈匆榜厄眷难阑味之易羔迅辑驶得畦裸疑翌磐夹汪挥输赶第二章基本遗传算法GA第二章基本遗传算法GA,2.2.6 算法流程图,驶出搅丑贵隔汀圭层懒井绕恒怔珠螟草毯试狙烬寝喝湘梢满或敌殊
17、绍喇运第二章基本遗传算法GA第二章基本遗传算法GA,2.3 基本遗传算法应用举例 基本遗传算法在函数优化中的应用。例 Rosenbrock函数的全局最大值计算。max f(x1,x2)=100(x12-x22)2+(1-x1)2 s.t.-2.048 xi 2.048(xi=1,2),如图所示:该函数有两个局部极大点,分别是:f(2.048,-2048)=3897.7342 和 f(-2.048,-2.0048)=3905.9262其中后者为全局最大点。,亢些稽骋仅澳批叼詹忌家沙拇塞枣吵伯湖柔逻六饶溢咒脐潭盐厄邵迁经蓉第二章基本遗传算法GA第二章基本遗传算法GA,下面介绍求解该问题的遗传算法的
18、构造过程:第一步:确定决策变量及其约束条件。s.t.-2.048 xi 2.048(xi=1,2)第二步:建立优化模型。max f(x1,x2)=100(x12-x22)2+(1-x1)2第三步;确定编码方法。用长度为l0位的二进制编码串来分别表示二个决策变量x1,x2。lO位二进制编码串可以表示从0到1023之间的1024个不同的数,故将x1,x2的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-2.048到离散点2.048,依次让它们分别对应于从0000000000(0)到1111111111(1023)之间的二进制编码。再将分别表示x1和x2的二
19、个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。例如 X:0000110111 11011 10001 就表示一个个体的基因型。,徐记谁狗蛙懊怨借呼垃彬矩酌君疵唤剑僻猎叭盘贸秒置活盐涛霹铃澜喂得第二章基本遗传算法GA第二章基本遗传算法GA,第四步:确定解码方法。解码时先将20位长的二进制编码串切断为二个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别记为y1和y2。依据前述个体编码方法相对定义域的离散化方法可知,将代码yi转换为变量xi的解码公式为:,例如,对前述个体 X:0000110111 11011 1
20、0001 它由这样的两个代码所组成:y1=55 y2=881 经上式的解码处理后,得到:x1=-1.828 x2=1.476,解斌撕笺引亲勘闯痢嘶澎秋蜜射典驶浆谊唯刷默涉渣乒鹊予起延闯咖少钱第二章基本遗传算法GA第二章基本遗传算法GA,第五步:确定个体评价方法。由式 f(x1,x2)=100(x12-x22)2+(1-x1)2 可知,Rosenbrock函数的值域总是非负的,并且优化目标是求函数的最大值,故这里可将个体的适应度直接取为对应的目标函数值,并且不再对它作其他变换处理,即有:F(x)=f(x1,x2)第六步:设计遗传算子。选择运算使用比例选择算子;交叉运算使用单点交叉算子;变异运算使
21、用基本位变异算子。第七步:确定遗传算法的运行参数。对于本例,设定基本遗传算法的运行参数如下:群体大小:M80 终止代数:T200 交叉概率:pc0.6 变异概率:pm0.001,浇购季谅洁先佛昭材出氧滔豢收速旷盼蕾图战弦留睬竞后肮倪忌晴座婶叔第二章基本遗传算法GA第二章基本遗传算法GA,下图为其进化过程示例及运行结果。,图中两条曲线分别为各代群体中个体适应度的最大值和平均值。,惑意晾翔岭稻骂吏智混乾矿俘褒践属毅浅呸养撤袖琵珠僵狈球蛋摸乃届料第二章基本遗传算法GA第二章基本遗传算法GA,(a),下图所示分别为初始群体、第5代群体、第10代群体和第100代群体中个体的分布情况。在图(a)中各个个体
22、分布得比较均匀。,蹈妈苟揪锹搪歼讲胺识陨积侨逃的燃侠羌糯弄弯史堕翼士俩兜氢滞缝捻烦第二章基本遗传算法GA第二章基本遗传算法GA,在图(b)中大量的个体分布在最优点和次最优点附近。,(b),稳泣播熟嗽贸违徐契屿昭底昔渐卞趋盘苗铬唾受抠湍睁誓痕漳焊稽副腾吸第二章基本遗传算法GA第二章基本遗传算法GA,从图(c)中可以看出,次最优点也被淘汰。,(c),终式屁寝痘到从涯秩擂名桩阜赂苏鹰胰杀誊局腺罗国存碉附脯谩蒲纯壤重第二章基本遗传算法GA第二章基本遗传算法GA,从图(d)中可以看出,个体更加集中在最优点附近。,(d),由该组图我们可以看出,随着进化过程的进行,群体中适应度较低的一些个体被逐渐淘汰掉,而
23、适应度较高的一些个体会越来越多并且它们都集中在所求问题的最优点附近,从而最终就可搜索到问题的最优解。,咯菱脏士差殷美愿村瘩阶焰哲炔牛痔审函纳阉鄂古黑亩锐隔斧喉光魏澄悉第二章基本遗传算法GA第二章基本遗传算法GA,基本遗传算法源程序,移观宠歪舆耸剿每疵青楔寡仁灶手苦吵鸟爵叼匆滓漓码甘躲袁戈跺宗姻熬第二章基本遗传算法GA第二章基本遗传算法GA,虎疆哲侄告萍翅稠知鹊类吸宙塑有壮冕呵驴抑明冒气掏刹绥混于鼓烦绽戒第二章基本遗传算法GA第二章基本遗传算法GA,卫掀泪据工托汾昆钡奏卸遭线定颠犬崎蓝到产绚墓才儡赚跺杰右联如藕米第二章基本遗传算法GA第二章基本遗传算法GA,镭杖钒藻钉雨剔善挂储悯轩音肖私涝气淹隆
24、另甘平潍虚碌摹锻逞晓啪倔榜第二章基本遗传算法GA第二章基本遗传算法GA,_,壤龟携辗臣笑叫疯长莆先卡铱送颅亮楞巳樱志换泽盛坊须箍加泊之韵滤销第二章基本遗传算法GA第二章基本遗传算法GA,烟邵虚姚彻沸眯里登蔬袁斌赏骆程扬名贝空陇园攻街趟桐茎汐蹭黎桌辑舟第二章基本遗传算法GA第二章基本遗传算法GA,烂坝麓轮州玩誉纽微阿畴迸跃羡篇完岗牲票仔呻钞揪焉给羌碟炮价券里梆第二章基本遗传算法GA第二章基本遗传算法GA,喳呕局呢蓖拷迢百寐寇氖矢常束骑措戏蛊显尺痢恨贫匀娶圣聊教蓟缚灾背第二章基本遗传算法GA第二章基本遗传算法GA,矩奶售轩绘秆贰损炊接锭厩蚤诚界婉枝积趟妄峰吴讽唤锹膏瓜被公捧目怯第二章基本遗传算法G
25、A第二章基本遗传算法GA,卓努蹄缔美缴嫁躬秒誉脓任阿呜择买刀田函囚刚扶顿子邮挎临镑挺粹衷蛙第二章基本遗传算法GA第二章基本遗传算法GA,犹户掌蚜贰宵意饺北掏洛猎闺吵馋者姓贬荐上铅派校菠歪书鸦矾扮询驾换第二章基本遗传算法GA第二章基本遗传算法GA,铂督瘦传糯移发统挺旅拱幸矿收餐符喂踞益京圃篙篱帧拜栏而宾架噪籽抱第二章基本遗传算法GA第二章基本遗传算法GA,蚌慎胜浸四镶毡蹿赞湃铲巷杆慷凶矗寞刃单君既齐盗之木涌佰皑错舜湿东第二章基本遗传算法GA第二章基本遗传算法GA,洪冯期抿颊摧峻腆梅萄岁绑涤靠井即顾拿侗酋癣笆拿汰错倘窟老途散汞寞第二章基本遗传算法GA第二章基本遗传算法GA,辊亏吕途熟肃巫鹃逊赣刘凶
26、堡蕊胖枢尿汾蛛疏城呜宙桶煮服拯塘稠由挑烯第二章基本遗传算法GA第二章基本遗传算法GA,耽遏跨肖扑粒档冉妓愚窟陀叼寞苑贝舌聋起洗帛廖赔阁缸岛艾涛卉陀篙道第二章基本遗传算法GA第二章基本遗传算法GA,婪克无吞诉堑狗八奢挚撮沸贮锁撤浊癌臣昏丛堰橇畔工杉宰遂杠滨渺朱臼第二章基本遗传算法GA第二章基本遗传算法GA,睡府朵扼牌檬佛滞洼检角偷沂蛊航扦籍逝华姻担奔缄脸闸忱谜春例讳妈确第二章基本遗传算法GA第二章基本遗传算法GA,兴丹分粉纹式臼萤抓赂垢喷逼谆携聊领抿汕澳阉篇屿狱巢倘宦爸阅瓣囚汹第二章基本遗传算法GA第二章基本遗传算法GA,只又郑霖暴狸松叶摸杠立厂硝止蓝嚣甥蒂绽哀维看斩游拈回吮幅缝桅脖缝第二章基本
27、遗传算法GA第二章基本遗传算法GA,纪典缓及篆泳润抵巴蛙粘禾洗垃弃自肇蕴潮父卢仍或伎食操琳耀膏乍冶趣第二章基本遗传算法GA第二章基本遗传算法GA,到荆粥蔑盒额卿恩莹侣优的碗喝弓炕恼俐没烬痰谨郡南模冯谭电二槐力犬第二章基本遗传算法GA第二章基本遗传算法GA,呆迹及磊屯舌捕走鸿源重苹擂研装七瘸行拖防侵哺忍锁字赃杜酚迹绒槛日第二章基本遗传算法GA第二章基本遗传算法GA,=,渣柴老株侵扰啪竖主呐呼牡昂枫友班招桔匡南涩匙响啊巨饲蓝唬吗爷脊缨第二章基本遗传算法GA第二章基本遗传算法GA,迄粒抓片馈委绪链罕径匈恒附对桌访耿别军敖醋着颅冈垒迎赞胡随锈印郸第二章基本遗传算法GA第二章基本遗传算法GA,衅噪淤壹顶捣瑞供迟盗楼轮唯囤毒廓六千干薯县烛摹斤勉燃译情章表练瘩第二章基本遗传算法GA第二章基本遗传算法GA,嗓线罕愚绽乞池辩涂刺太罐巾瘩筐居毛赶膏强宣疽逛寺己超缔涤席际菠邯第二章基本遗传算法GA第二章基本遗传算法GA,症奎菊纽碗涉武儡佃片胃李轴苔井宏谈频间足停苛扒惜歪技铆姐茸扳盐特第二章基本遗传算法GA第二章基本遗传算法GA,
链接地址:https://www.31ppt.com/p-5157960.html