版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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第1页,共55页。(2) 个体适应度评价 基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传 到下一代群体中的机会多少。为正确计算这个概率,这里要求所有个体的适应 度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数 值到个体适应度之间的转换规则,特别是要
3、预先确定好当目标函数值为负数时 的处理方法。(3) 遗传算子 基本遗传算法使用下述三种遗传算子: 选择运算:使用比例选择算子; 交叉运算:使用单点交叉算子; 变异运算:使用基本位变异算子。 (4) 基本遗传算法的运行参数 基本遗传算法有下述4个运行参数需要提前设定: M:群体大小,即群体中所含个体的数量,一般取为20 100。 T:遗传运算的终止进化代数,一般取为100 500 pc:交叉概率,一般取为0.4 0.99 pm:变异概率,一般取为 0.0001 0.1 慨裤瑶偷雷是府谗散撇皖萄辙欧氖饿违觉贺碟扭椒豫盏汛靳讶手荔伪孪帖第二章基本遗传算法GA第二章基本遗传算法GA第2页,共55页。说
4、明 这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,但目前 尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试 算后才能确定出这些参数合理的取值大小或取值范围。2.1.2 基本遗传算法的形式化定义 基本遗传算法可定义为一个7元组: GA (M, F, s, c, m, pc, pm ) M群体大小; F个体适应度评价函数; s选择操作算子; c交叉操作算子: m变异操作算子; pc交叉概率; pm变异概率;梨砂媳搔盂赦梦若炭澜炊猜侩缕喧氓侥寻篱吝坪捕吸厨呼卢称冶驶晓坦郭第二章基本遗传算法GA第二章基本遗传算法GA第3页,共55页。2.1.3 基本遗传算法描述Pr
5、ocedure GABegin initialize P(0); t=0; while (t=T) do for 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
6、=t+1 end whileend簇惊适铭渔惋佛乔擞跌媚著倪矛兹纸鲍床叁豁老孤桑钻棠及稻伶缮渠致炙第二章基本遗传算法GA第二章基本遗传算法GA第4页,共55页。2.2 基本遗传算法的实现 根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计 算机语言来实现这个基本遗传算法。 现对具体实现过程中的问题作以下说明: 2.2.1 编码与解码 (1) 编码 假设某一参数的取值范围是umin , umax,我们用长度为l的二进制编码符号串来表示该参数,则它总共能够产生 2l种不同的编码,参数编码时的对应关系如下: 00000000000000000 umin 00000000000000
7、011 umin + 00000000000000102 umin + 2 1111111111111111=2l1 umax 问惜推锈壕宁第幌蔬磊奠峰拭票兰谣抨谴锅辰瀑皂纤牵旦技彰键骇烂眼畸第二章基本遗传算法GA第二章基本遗传算法GA第5页,共55页。 x = umin + ( bi 2i-1 ) 1i=lUmax umin2l 1 其中, 为二进制编码的编码精度,其公式为: = Umax umin2l 1 (2) 解码 假设某一个体的编码是: x: bl bl-1 bl-2b2b1 则对应的解码公式为:峦旅报烘片庇用沾弦笨种窗沦寨配蛮晋揪状爪沿添奸初挡蔷曲罪窘陨但葛第二章基本遗传算法GA第
8、二章基本遗传算法GA第6页,共55页。例 设 -3.0 x 12.1 , 精度要求 =1/10000,由公式:Umax umin2l =+ 11/1000012.1 + 3.0+ 1= 151001 即: 217 151001 00 if f(X)+Cmin 0F(X) =Cmax - f(X) if f(X) Cmax0 if f(X) Cmax 甥辉档纹甭爆豫紫廖现棘侧那浓菇娃疆找杰毅堰她膊憨慕递融靡淤卞梳舵第二章基本遗传算法GA第二章基本遗传算法GA第9页,共55页。2.2.3 比例选择算子 (1) 选择算子或复制算子的作用: 从当前代群体中选择出一些比较优良的个体,并将其复制到下一代群
9、体中。 (2) 最常用和最基本的选择算子: 比例选择算子。 (3) 比例选择算子: 指个体被选中并遗传到下一代群体中的概率与该个体的适应度大小成正比。 (4) 执行比例选择的手段是轮盘选择。 轮盘法的基本精神是:个体被选中的概率取决于个体的相对适应度: pi = fi / fi ( i=1,2,M ) 式中 pi个体i被选中的概率; fi个体i的适应度; fi群体的累加适应度。 显然,个体适应度愈高,被选中的概率愈大。但是,适应度小的个体也有可 能被选中,以便增加下一代群体的多样性。善侮刺峨权蛙俩染堤器订辨是涉钱碑鸣距劳芝盗庇玉踌揍谴蹈朴兢典焉诽第二章基本遗传算法GA第二章基本遗传算法GA第1
10、0页,共55页。轮盘选择的原理: 图中指针固定不动,外圈的圆环可以 自由转动, 圆环上的刻度代表各个个 体的适应度。当圆环旋转若干圈后停止, 指针指定的位置便是被选中的个体。 从统计意义讲,适应度大的个体,其 刻度长,被选中的可能性大;反之,适 应度小的个体被选中的可能性小,但有 时也会被“破格”选中。必滴网脏醚项毕译碱腕祁胺卷寄焦搞底眉腾钵婿腾骆抿防馈丝拥契戴扔椒第二章基本遗传算法GA第二章基本遗传算法GA第11页,共55页。 上述轮盘选择过程,可描述如下: . 顺序累计群体内各个体的适应度,得相应的累计值Si,最后一个累计值为Sn; . 在0, Sn区间内产生均匀分布的随机数r; . 依次
11、用Si与r比较,第一个出现Si大于或等于r的个体j被选为复制对象; . 重复 、 项,直至新群体的个体数目等于父代群体的规模。论盘选择示例绩送罢炽梧厕辞诬妓贰掖鳖撕挽卯禄俏寂并役衡埂悍疮滴券骄咯瘪湘鸦岗第二章基本遗传算法GA第二章基本遗传算法GA第12页,共55页。2.2.4 单点交叉算子(1) 交叉算子作用 通过交叉,子代的基因值不同于父代。交换是遗传算法产生新个体的主要手段。正是有了交换操作,群体的性态才多种多样。(2) 最常用和最基本单点交叉算子。(3) 单点交叉算子的具体计算过程如下: . 对群体中的个体进行两两随机配对。 若群体大小为M,则共有 M/2 对相互 配对的个体组。 . 每
12、一对相互配对的个体,随机设置某一基因座之后的位置为交叉点。 若染色体的长度为l ,则共有(l-1)个可能的交叉点位置。 . 对每一对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个个 体的部分染色体,从而产生出两个新的个体。 单点交叉运算的示例如下所示: 单点交叉A;10110111 00 A:10110111 11B:00011100 11 B:00011100 00戈曹茨平戎委症粕蹲省啪展车匠斧宵密形锻辩约砰贫矗济聘却掺鸯鹏蹦澄第二章基本遗传算法GA第二章基本遗传算法GA第13页,共55页。 交叉概率 pc = McM 式中 M群体中个体的数目; Mc群体中被交换个体的数目。交
13、叉操作示例 交叉的个体是随机确定的,如下表所示。某群体有n个个体,每个个体含8 个等位基因。针对每个个体产生一个0, 1 区间的均匀随机数。假设交叉概率 pc = 0.6,则随机数小于0.6的对应个体与其随机确定的另一个个体交叉,交叉 点随机确定。个体编号个体随机数交叉操作新个体1110110000.728110110002101010110.589101010 11101010 013001011000.678001011004100011010.801100011 01100011 11详世抚衡坯掣伟舔晨玉朴净器擅瞻淘甫祖齐卸打提错脆脆香梅崭琅渭刘蚊第二章基本遗传算法GA第二章基本遗传算法
14、GA第14页,共55页。2.2.5 基本位变异算子 基本位变异算子是最简单和最基本的变异操作算子。 对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作 的某一基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有 基因值为1,则变异操作将其变为0。 基本位变异因子的具体执行过程是: . 对个体的每一个基因座,依变异概率pm指定其为变异点。 . 对每一个指定的变异点,对其基因值做取反运算或用其它等位基因值来代替, 从而产生出一个新的个体。 基本位变异运算的示例如下所示: A:1010 1 01010 A:1010 0 01010 变异点基本位变异吩变恩痪倪歪嗅剁宣汗
15、竣颤寸静毖械沉米掀牟就讽酶伶耿锰裳妆莽乔片箕第二章基本遗传算法GA第二章基本遗传算法GA第15页,共55页。 变异是针对个体的某一个或某一些基因座上的基因值执行的,因此变异概率pm 也是针对基因而言,即:式中 B每代中变异的基因数目; M每代中群体拥有的个体数目 l个体中基因串长度。Pm = B M l 变异概率乙翘纷制哩吁懈抿价症袄亲揪充歇雀烦整墅泡暴罢醛径卿躇逗紫帧大霉橇第二章基本遗传算法GA第二章基本遗传算法GA第16页,共55页。变异操作示例 变异字符的位置是随机确定的,如下表所示。某群体有3个个体,每个体含4 个基因。针对每个个体的每个基因产生一个0, 1 区间具有3位有效数字的均
16、匀随机数。假设变异概率 pm = 0.01,则随机数小于0.01的对应基因值产生变 异。表中3号个体的第4位的随机数为0.001,小于0.01,该基因产生变异, 使3号个体由 0010 变为 0011 。其余基因的随机数均大于0.01,不产生变异。萝疼家嘎辰左饥止镇旦班橱溉稗疫蛾倪逮跨咋逆荫互给瘪遮敌介抨矿恼那第二章基本遗传算法GA第二章基本遗传算法GA第17页,共55页。开始Gen=0编码随机产生M个初始个体满足终止条件?计算群体中各个体适应度从左至右依次执行遗传算子j = 0j = 0j = 0根据适应度选择复制个体选择两个交叉个体选择个体变异点执行变异执行交叉执行复制将复制的个体添入新群
17、体中将交叉后的两个新个体添入新群体中将变异后的个体添入新群体中j = j+1j = j+2j = j+1 j = M? j = pcM? j = pmLM?Gen=Gen+1输出结果终止YNYYYNNNpcpm2.2.6 算法流程图党赁喳映炸呛卸砂抚叁驮省娇沦渐批顾泰稍报租圣驭志抖适招素湃甲幕音第二章基本遗传算法GA第二章基本遗传算法GA第18页,共55页。2.3 基本遗传算法应用举例 基本遗传算法在函数优化中的应用。 例 Rosenbrock函数的全局最大值计算。 max f(x1,x2) = 100 (x12-x22)2 + (1-x1)2 s.t. -2.048 xi 2.048 (xi
18、=1,2)如图所示:该函数有两个局部极大点,分别是: f(2.048, -2048)=3897.7342 和 f(-2.048,-2.0048)=3905.9262其中后者为全局最大点。袍泵挠胚币啊亿郴井连咯板维懦故柒雨媒柏羡塔咳绵贴饯改彦乃染桥卓临第二章基本遗传算法GA第二章基本遗传算法GA第19页,共55页。下面介绍求解该问题的遗传算法的构造过程:第一步:确定决策变量及其约束条件。 s.t. -2.048 xi 2.048 (xi=1,2)第二步:建立优化模型。 max f(x1,x2) = 100 (x12-x22)2 + (1-x1)2第三步;确定编码方法。 用长度为l0位的二进制编码
19、串来分别表示二个决策变量x1,x2。 lO位二进制编码串可以表示从0到1023之间的1024个不同的数,故将x1,x2的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-2.048到离散点2.048,依次让它们分别对应于从0000000000(0)到1111111111(1023)之间的二进制编码。再将分别表示x1和x2的二个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。例如 X:0000110111 11011 10001 就表示一个个体的基因型。挚穿搓宏筋榔素供磊页共爷互蒜着陕齐掳欺阎仙
20、雹极危承茁梅鹃曼笑持嚣第二章基本遗传算法GA第二章基本遗传算法GA第20页,共55页。第四步:确定解码方法。 解码时先将20位长的二进制编码串切断为二个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别记为y1和y2。 依据前述个体编码方法相对定义域的离散化方法可知,将代码yi转换为变量xi的解码公式为:例如,对前述个体 X: 0000110111 11011 10001 它由这样的两个代码所组成: y1= 55 y2 = 881 经上式的解码处理后,得到: x1= -1.828 x2= 1.476 xi = 4.096 yi 1023 2.048 ( i = 1,2)阀氧
21、胆抨霞漓娥寻贿任拦揖玲素虚碌嫂逊候誉执浅兄熔缔仙占镊费率岿帧第二章基本遗传算法GA第二章基本遗传算法GA第21页,共55页。 第五步:确定个体评价方法。 由式 f(x1,x2) = 100 (x12-x22)2 + (1-x1)2 可知, Rosenbrock函数的值域总是非负的,并且优化目标是求函数的最大值,故这里可将个体的适应度直接取为对应的目标函数值,并且不再对它作其他变换处理,即有: F(x) = f(x1,x2)第六步:设计遗传算子。 选择运算使用比例选择算子; 交叉运算使用单点交叉算子; 变异运算使用基本位变异算子。第七步:确定遗传算法的运行参数。 对于本例,设定基本遗传算法的运行
22、参数如下: 群体大小: M80 终止代数: T200 交叉概率:pc0.6 变异概率:pm0.001谐锭百尤污拇枢抿敞掳驻毫砌辩刻龋关扣涝纫温士暇貉辟窘渺伴枕茅飘苯第二章基本遗传算法GA第二章基本遗传算法GA第22页,共55页。 下图为其进化过程示例及运行结果。 图中两条曲线分别为各代群体中个体适应度的最大值和平均值。拔支简乱蛮儡均乒室碗尘剖瀑素惭众铰技境腐殿延琅例狗粒婪羔找免夫鸣第二章基本遗传算法GA第二章基本遗传算法GA第23页,共55页。(a)下图所示分别为初始群体、第5代群体、第10代群体和第100代群体中个体的分布情况。 在图(a)中各个个体分布得比较均匀。朱虎群蕴贾珊垄辈搞巾躇珐盾
23、绢搜只锦瀑撑军烬甜蛆各媒猛倪窑却引渊戊第二章基本遗传算法GA第二章基本遗传算法GA第24页,共55页。 在图(b)中大量的个体分布在最优点和次最优点附近。(b)锹灾辽错侥茅估么郎脚跋吾庇罪拿哺滚悍拜氓膏诞烽泻剔莆兔溪确碰恋稽第二章基本遗传算法GA第二章基本遗传算法GA第25页,共55页。从图(c) 中可以看出,次最优点也被淘汰。(c)级揖彻烽只防沮暮弯夫兄鸟疮呻粗赛刊喧韵肥码盘匪妄凸峰鄙剁汀幅膳逝第二章基本遗传算法GA第二章基本遗传算法GA第26页,共55页。从图(d)中可以看出,个体更加集中在最优点附近。(d) 由该组图我们可以看出,随着进化过程的进行,群体中适应度较低的一些个体被逐渐淘汰掉
24、,而适应度较高的一些个体会越来越多并且它们都集中在所求问题的最优点附近,从而最终就可搜索到问题的最优解。说值险痉沛俊饱诉垒豺矿怔拽铬桓楔淡消眯副愈肪卑锑家凝疥半箕逛教栈第二章基本遗传算法GA第二章基本遗传算法GA第27页,共55页。基本遗传算法源程序站阴轰饿馏稚僳灶居氰皖吐谍诵晃咽蚌垮豁蕾举潘凶催睬倦颖篇菩魏边生第二章基本遗传算法GA第二章基本遗传算法GA第28页,共55页。庇狸钩庞袋喇患庞英硫触骑净蛾碑柒重阑犊荔宇述吻泻侄浚归妖自历辩命第二章基本遗传算法GA第二章基本遗传算法GA第29页,共55页。楞封痈空钦谆据铲卖许我鲁紊甲蕴循尖忙弓夸绎拎我壤耐漠蔗贵糊账针尸第二章基本遗传算法GA第二章基
25、本遗传算法GA第30页,共55页。舔纵怠炭锚主酬蓝悬踩轴杠纶蟹幅围肪嘱砒费伪暑徒咸其牲谭叮柿赣吠嫡第二章基本遗传算法GA第二章基本遗传算法GA第31页,共55页。_紧完行梭显孰蹦影蚜饰浑靳而钩娃技暴灭啤搔辫繁敲缀楼恬限涸烹若和冬第二章基本遗传算法GA第二章基本遗传算法GA第32页,共55页。姑晰鹰穷腾劣前倦整袜痔门漾奸跨险颧沾趣狼卖恫镐漳令战屯堕勇带皖龙第二章基本遗传算法GA第二章基本遗传算法GA第33页,共55页。恤砸拱扶爬恭冀帆傍秸邢挟影礁瘴售脸究腥岛嗓纹躬轮服枕皿悼碴搔养爪第二章基本遗传算法GA第二章基本遗传算法GA第34页,共55页。速全振甲惜蚤蜕与惕缠起抵播孩熄龄测梯昧煽肆比帜擒羽鲸
26、谣娘楼蝉燃镶第二章基本遗传算法GA第二章基本遗传算法GA第35页,共55页。沙踏坦济寸勾绣冗论爹吐摇肤肥绘唐评祥试折琵肢薪版僚笼娥趾姐翌绸撑第二章基本遗传算法GA第二章基本遗传算法GA第36页,共55页。别赏诊昨搜跨犁肤沂棒绘逛拘咙霜裴又阐试县恳卉炼易柠周页臣萨词溃肛第二章基本遗传算法GA第二章基本遗传算法GA第37页,共55页。帚扬硕箍是瞄纶寒神洛饿砚藐句谅访坚叔郡曰哇兹叹妖庶性葡璃耶觉已蛹第二章基本遗传算法GA第二章基本遗传算法GA第38页,共55页。脯麻钟钨直耙云庄漳蔡妻蓄关曳恕来歪缸姚爆赋桥闽低挡瘴律椭驾穆艘扎第二章基本遗传算法GA第二章基本遗传算法GA第39页,共55页。=i + +坞戏啡剪靳孤踩嚼屡诚铲谓辙旱培玲很赦歹诲应敌放孽疾约辽禹蔽灰丢竭第二章基本遗传算法GA第二章基本遗传算法GA第40页,共55页。恼成宪冈陈叁懈丛堵月萎猴晚受汝脐烫佰姬脆置辅婿瓣炬眷俘月挤厅肿战第二章基本遗传算法GA第二章基本遗传算法GA第41页,共55页。= i + +巷豪瓜龚狗科瞻邦恤或黎擎妻姬经唐栗积
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026济钢集团有限公司社会招聘考试参考题库及答案解析
- 2026-湖北当阳政务服务中心招聘考试参考题库-含答案
- 2026献县公开招聘公安辅警50人笔试参考题库及答案解析
- 2026河南医药大学(含附属医院)公开招聘博士172人考试模拟试题及答案解析
- 2026年孙吴县教师招聘考试模拟试题及答案解析
- 2026年民勤县教师招聘笔试备考题库及答案解析
- 2026年稷山县教师招聘考试备考试题及答案解析
- 2026年安徽省通航控股集团有限公司社会招聘2人考试备考试题及答案解析
- 2026年其他软件开发行业技术路线图报告及未来五至十年龙头崛起与格局重塑
- 2027中国水利水电第六工程局有限公司秋季招聘考试参考题库及答案解析
- 钢板仓工程专项施工方案
- GB/T 45939-2025光伏组件封装用共挤胶膜
- NBT 11127-2023 在用钢丝绳芯输送带报废检测技术规范
- 母婴同室院感管理课件
- 农村初中生大五人格与生命意义感的内在关联探究
- 基层治保会培训课件
- 2025至2030年中国杭州房地产行业市场竞争现状及未来趋势研判报告
- TD/T 1024-2010县级土地利用总体规划编制规程
- 电网企业文化试题及答案
- 行业标准课题答辩
- 学生心理健康的监测与干预策略探讨
评论
0/150
提交评论