《基本遗传算法》PPT课件

上传人:zhu****ei 文档编号:245085108 上传时间:2024-10-07 格式:PPT 页数:56 大小:253.50KB
返回 下载 相关 举报
《基本遗传算法》PPT课件_第1页
第1页 / 共56页
《基本遗传算法》PPT课件_第2页
第2页 / 共56页
《基本遗传算法》PPT课件_第3页
第3页 / 共56页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,基本遗传算法(GA),1 基本遗传算法描述,遗传算法在自然与社会现象模拟、工程计算等方面得到了广泛应用。在各个不同的应用领域,为了取得更好的结果,人们对GA进行了大量改进,为了不至于混淆,我们把Holland提出的算法称为基本遗传算法,简称 GA、SGA(Simple Genetic Algorithm )、CGA(Canonical Genetic Algorithm),将其它的“GA类”算法称为GAs(Genetic Algorithms),可以把GA看作是GAs的一种特例。,1.1 基本遗传算法的构成要素,(1) 染色体编码方法,基本遗传算法使用,固定长度的二进制符号串,来表示群体中的个体,其等位基,因由二值符号集0,1组成。,初始群体中各个个体的基因值用均匀分布的随机数来生成。如:,就可表示一个个体,该个体的染色体长度是,l,18。,(2) 个体适应度评价,基本遗传算法,按与个体适应度成正比的概率来决定当前群体中每个个体遗传,到下一代群体中的机会多少。,为正确计算这个概率,这里要求所有个体的适应,度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数,值到个体适应度之间的转换规则,特别是要预先确定好当目标函数值为负数时,的处理方法。,(3) 遗传算子,基本遗传算法使用下述三种遗传算子:,选择运算:使用,比例选择算子,;,交叉运算:使用,单点交叉算子,;,变异运算:使用,基本位变异算子,。,(4) 基本遗传算法的运行参数,基本遗传算法有下述4个运行参数需要提前设定:,M,:群体大小,即群体中所含个体的数量,一般取为20 100。,T,:遗传运算的终止进化代数,一般取为100 500,p,c,:交叉概率,一般取为0.4 0.99,p,m,:变异概率,一般取为 0.0001 0.1,说明,这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,但目前,尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试,算后才能确定出这些参数合理的取值大小或取值范围。,1.2 基本遗传算法的形式化定义,基本遗传算法可定义为一个7元组:,GA (M, F, s, c, m, p,c, p,m,),M群体大小;,F个体适应度评价函数;,s,选择操作算于;,c,交叉操作算子:,m,变异操作算于;,p,c,交叉概率;,p,m,变异概率;,1.3 基本遗传算法描述,Procedure GA,Begin,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=t+1,end while,end,2 基本遗传算法的实现,根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计,算机语言来实现这个基本遗传算法。,现对具体实现过程中的问题作以下说明:,2.1 编码与解码,(1) 编码,假设某一参数的取值范围是,u,min, u,max,,用长度为,l,的二进制编码符号串来表示该参数,则它总共能够产生 2,l,种不同的编码,参数编码时的对应关系如下:,00000000000000000 u,min,00000000000000011 u,min,+,00000000000000102 u,min,+ 2,1111111111111111=2,l,1 u,max,x = u,min,+ (,b,i, 2,i-1,),1,i=,l,U,max,u,min,2,l, 1,其中,,为二进制编码的编码精度,其公式为:, =,U,max,u,min,2,l, 1,(2) 解码,假设某一个体的编码是:,x: b,l,b,l,-1,b,l,-2,b,2,b,1,则对应的解码公式为:,例 设 -3.0,x,12.1 , 精度要求,=1/10000,由公式:,U,max,u,min,2,l,=,+ 1,1/10000,12.1,+,3.0,+ 1,=,=,151001,即:,2,17, 151001 0,0,if f(X)+C,min,0,F(X) =,C,max,- f(X),if f(X),C,max,0,if f(X),C,max,2.3 比例选择算子,(1) 选择算子或复制算子的作用:,从当前代群体中选择出一些比较优良的个体,并将其复制到下一代群体中。,(2),最常用和最基本的选择算子,: 比例选择算子。,(3),比例选择算子:,指个体被选中并遗传到下一代群体中的概率与该个体的适应度大小成正比。,(4) 执行比例选择的手段是轮盘选择。,轮盘法的基本精神是:个体被选中的概率取决于个体的相对适应度:,p,i,= f,i,/,f,i,( i=1,2,M ),式中 p,i,个体i被选中的概率;,f,i,个体i的适应度;,f,i,群体的累加适应度。,显然,个体适应度愈高,被选中的概率愈大。但是,适应度小的个体也有可,能被选中,以便增加下一代群体的多样性。,轮盘选择的原理:,图中指针固定不动,外圈的圆环可以,自由转动, 圆环上的刻度代表各个个,体的适应度。当圆环旋转若干圈后停止,,指针指定的位置便是被选中的个体。,从统计意义讲,适应度大的个体,其,刻度长,被选中的可能性大;反之,适,应度小的个体被选中的可能性小,但有,时也会被“破格”选中。,上述轮盘选择过程,可描述如下:,.,顺序累计群体内各个体的适应度,得相应的累计值S,i,,最后一个累计值为S,n,;,.,在0, S,n,区间内产生均匀分布的随机数r;,.,依次用S,i,与r比较,第一个出现S,i,大于或等于r的个体j被选为复制对象;,.,重复,、,项,直至新群体的个体数目等于父代群体的规模。,论盘选择示例,2.4 单点交叉算子,(1) 交叉算子作用,通过交叉,子代的基因值不同于父代。交换是遗传算法产生新个体的主要手段。正是有了交换操作,群体的性态才多种多样。,(2) 最常用和最基本,单点交叉算子。,(3) 单点交叉算子的具体计算过程如下:,.,对群体中的个体进行两两,随机,配对。,若群体大小为M,则共有 M/2 对相互 配对的个体组。,.,每一对相互配对的个体,,随机,设置某一基因座之后的位置为交叉点。,若染色体的长度为,l,,则共有(,l,-1)个可能的交,叉点位置。,. 对每一对相互配对的个体,依设定的交叉概率p,c,在其,交,叉点处相互交换两个个,体的部分染色体,从而产生出两个新的个体。,单点交叉运算的示,例,如下所示:,单点交叉,A;10110111 00 A,:10110111 11,B:00011100 11 B,:00011100 00,交叉概率,p,c,=,M,c,M,式中 M群体中个体的数目;,M,c,群体中被交换个体的数目。,交叉操作示例,交叉的个体是随机确定的,如下表所示。某群体有n个个体,每个个体含8,个等位基因。针对每个个体产生一个0, 1 区间的均匀随机数。假设交叉概率,p,c,= 0.6,则随机数小于0.6的对应个体与其随机确定的另一个个体交叉,交叉,点随机确定。,个体编号,个体,随机数,交叉操作,新个体,1,11011000,0.728,11011000,2,10101011,0.589,101010 11,101010 01,3,00101100,0.678,00101100,4,10001101,0.801,100011 01,100011 11,2.5 基本位变异算子,基本位变异算子是最简单和最基本的变异操作算子。,对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作,的某一基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有,基因值为1,则变异操作将其变为0。,基本位变异因子的具体执行过程是:,. 对个体的每一个基因座,依变异概率p,m,指定其为变异点。,.,对每一个指定的变异点,对其基因值做取反运算或用其它等位基因值来代替,,从而产生出一个新的个体。,基本位变异运算的示例如下所示:,A:1010 1 01010 A,:1010 0 01010,变异点,基本位变异,变异是针对个体的某一个或某一些基因座上的基因值执行的,因此变异概率p,m,也是针对基因而言,即:,式中 B每代中变异的基因数目;,M每代中群体拥有的个体数目,l,个体中基因串长度。,P,m,=,B,M,l,变异概率,变异操作示例,变异字符的位置是随机确定的,如下表所示。某群体有3个个体,每个体含4,个基因。针对每个个体的每个基因产生一个0, 1 区间具有3位有效数字的均,匀随机数。假设变异概率 p,m,= 0.01,则随机数小于0.01的对应基因值产生变,异。表中3号个体的第4位的随机数为0.001,小于0.01,该基因产生变异,,使3号个体由 0010 变为 0011 。其余基因的随机数均大于0.01,不产生变异。,开始,Gen=0,编码,随机产生M个初始个体,满足终止条件?,计算群体中各个体适应度,从左至右依次执行遗传算子,j = 0,j = 0,j = 0,根据适应度选择复制个体,选择两个交叉个体,选择个体变异点,执行变异,执行交叉,执行复制,将复制的个体添入新群体中,将交叉后的两个新个体添入新群体中,将变异后的个体添入新群体中,j = j+1,j = j+2,j = j+1,j =,M,?,j = p,c,M,?,j = p,m,LM,?,Gen=Gen+1,输出结果,终止,Y,N,Y,Y,Y,N,N,N,p,c,p,m,2.6 算法流程图,3 基本遗传算法应用举例 ,基本遗传算法在函数优化中的应用,。,例 Rosenbrock函数的全局最大值计算。,max f(x,1,x,2,) = 100 (x,1,2,-x,2,2,),2,+ (1-x,1,),2,s.t. -2.048,x,i,2.048 (x,i,=1,2),如图所示:,该函数有两个局部极大点,,分别是:,f(2.048, -2048)=3897.7342,和,f(-2.048,-2.0048)=3905.9262,其中后者为全局最大点。,下面介绍求解该问题的遗传算法的构造过程:,第一步,:确定决策变量及其约束条件。,s.t. -2.048,x,i,2.048 (x,i,=1,2),第二步:,建立优化模型。,max f(x,1,x,2,) = 100 (x,1,2,-x,2,2,),2,+ (1-x,1,),2,第三步;,确定编码方法。,用长度为l0位的二进制编码串来分别表示二个决策变量x,1,x,2,。,lO位二进制编码串可以表示从0到1023之间的1024个不同的数,故将x,1,x,2,的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-2.048到离散点2.048,依次让它们分别,对应于从0000000000(0)到1111111111(1023)之间的二进制编码。再将分别表示,x,1,和x,2,的二个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。例如,X:0000110111 11011 10001 就表示一个个体的基因型。,第四步:,确定解码方法。,解码时先将20位长的二进制编码串切断为二个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别记为y,1,和y,2,。,依据前述个体编码方法相对定义域的离散化方法可知,将代码y,i,转换为变量x,i,的解码公式为:,例如,对前述个体,X: 0000110111 11011 10001,它由这样的两个代码所组成:,y,1,= 55,y,2,= 881,经上式的解码处理后,得到:,x,1,= -1.828,x,2,= 1.476,x,i,= 4.096,y,i,1023,2.048,( i = 1,2),第五步:,确定个体评价方法。,由式 f(x,1,x,2,) = 100 (x,1,2,-x,2,2,),2,+ (1-x,1,),2,可知, Rosenbrock函数的值域总是非负的,并且优化目标是求函数的最大值,故这里可将个体的适应度直接取为对应的目标函数值,并且不再对它作其他变换处理,即有:,F(x) = f(x,1,x,2,),第六步:,设计遗传算子。,选择运算使用比例选择算子;,交叉运算使用单点交叉算子;,变异运算使用基本位变异算子。,第七步:,确定遗传算法的运行参数。,对于本例,设定基本遗传算法的运行参数如下:,群体大小: M80,终止代数: T200,交叉概率:p,c,0.6,变异概率:p,m,0.001,下图为其进化过程示例及运行结果。,图中两条曲线分别为各代群体中个体适应度的最大值和平均值。,(a),下图所示分别为初始群体、第5代群体、第10代群体和第100代群体中个体的分布情况。,在图(a)中各个个体分布得比较均匀。,在图(b)中大量的个体分布在最优点和次最优点附近。,(b),从图(c) 中可以看出,次最优点也被淘汰。,(c),从图(d)中可以看出,个体更加集中在最优点附近。,(d),由该组图我们可以看出,随着进化过程的进行,群体中适应度较低的一些个体被逐渐淘汰掉,而适应度较高的一些个体会越来越多并且它们都集中在所求问题的最优点附近,从而最终就可搜索到问题的最优解。,作业,说明遗传算法的基本思想和算法流程,说明遗传算法和梯度下降法的关系,利用,遗传,算法,求出下面函数的极小值:,z=2-exp-(x,2,+y,2,), x,y,-5,+5,基本遗传算法源程序,_,=,=,i + +,=,=,=,i + +,_,_,=,i,=,=,=,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!