遗传算法的设计与实现_第1页
遗传算法的设计与实现_第2页
遗传算法的设计与实现_第3页
遗传算法的设计与实现_第4页
遗传算法的设计与实现_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、遗传算法的设计与实现遗传算法的设计与实现湖南大学软件学院欧阳柳波0 引言引言 通过理论分析,我们对遗传算法有更深入的认识,为解决实际问题提供了很好的指导,但通常情况下,由于实际问题不能满足理论分析所要求的前提条件,一些理论结果往往不能直接应用于实际问题中。 我们需要根据待解决的问题设计不同的遗传算子,选取不同的参数,从而使算法更有效。 在遗传算法实现上,编码方法、遗传算子的选择、控制参数的选取等都是十分关键的问题。1 编码原则与方法编码原则与方法 把优化问题的解的参数形式转换成基因链码的表示形式,这一转换操作就叫做编码编码,也可以称作是问题的表示问题的表示(representation)。 一

2、般来讲,由于遗传算法的鲁棒性,其对编码要求并不苛刻。大多数问题可以采用基于0,1符号集的二值编码形式。 编码的策略或方法对于遗传操作,尤其是对交叉操作的功能影响很大,因而编码问题常被称为编编码码-交叉问题交叉问题。1.1 编码原则(编码原则(1) 通过编码后,问题的解由某种基因链码形式表示。我们称该基因链码的所有个体构成了表达空间。因此编码问题实编码问题实际是从问题空间到表达空间的映射问题际是从问题空间到表达空间的映射问题。 个体因一次变异所能迁移到的局部空间叫做变异近邻变异近邻(mutation neighborhood)。由两个体进行一次交叉所能迁移到的局部空间叫交叉近邻交叉近邻(cros

3、sover neighborhood)。在GA空间中,由于交叉近邻是由两个个体所决定的,所以它比变异近邻迁移要大些。 如果编码方法和交叉处理不当,在遗传算法中因交叉产生的个体有可能成为无用解或无效解。编码策略与交叉策略编码策略与交叉策略互为依存互为依存,恰当地设计编码和交叉策略或方法,对于发挥遗传算法的功能十分重要。1.1 编码原则(编码原则(2) 设计编码策略时,常考虑以下3个问题:(1)完备性完备性(completeness):对于问题空间中的任一点都有表达空间的一个点与之对应。即问题空间的所有可能解都能表示为所设计的基因链码形式。(2)健全性健全性(soundness):对于表达空间中的

4、任一点都有问题空间中的一个点与之对应。即任何一个基因链码都对应一个可能解。(3)非冗余性非冗余性(non-redundancy):问题空间和表达空间一一对应。 对于一些问题,很难设计出同时满足上述3个性质的编码方案,但完备性是必须满足的一个性质。在有些情况下,允许生成无用解,也允许不满足非冗余性。1.1 编码原则(编码原则(3) 为使编码设计能有效地提高算法的搜索效率,De Jong提出更为客观明确的编码评估准则,称之为编码原理或编码规则:(1)有意义基因块编码规则:所设计的编码方案应当易于生成与所求问题相关的短定义距和低阶的基因块。(2)最小字符集编码规则:所设计的编码方案应采用最小字符集以

5、使问题得到自然的表示或描述。1.1 编码原则(编码原则(4) 前章中求f (x)=x2,x0,31函数极值的例子,其采用的是二进制5位编码方法。我们也可给出另一种非二值编码。该编码建立在32个字符组成的字符集基础上,其中包括A-Z共26个字符和1-6中的6个数字。这两种编码的部分对应关系如下表1:二进制字符串x值非二进制字符串适应度值0110113N1691100024Y576010008I641001119T561表1 二值编码和非二值编码表示的比较1.1 编码原则(编码原则(5) 为什么通常情况下要采用二值编码方案?(1)显然,在二值编码情况下,群体码串的相似性很容易找到。在非二值编码情况

6、下,码串的相似性很难观察到。(2)实际上,如果不限制基因链码的长度,可以证明,使用二进制能表达的模式数最多。根据模式理论,一个编码方案应该能提供最多的模式。(3)二进制编码方案符合最小字符集的编码规则。1.1 编码原则(编码原则(6)旅行商问题旅行商问题:一个有穷的“城市”集合C=C1,C2,Cm。 对于任意一对城市Ci,CjC,有“距离”d(Ci,Cj)R+,要求从某个城市出发经过每个城市一次,且只经过一次,找出距离之和最小的路径。 考虑5个城市的旅行商问题,如下图,给问题的一个可行解,给了出如下两种编码表示方法。 (1)ABCDE (2)PABPACPADPAEPBCPBDPBEPCDPC

7、EPDE = 1000100101编码(1)只要考虑每个城市仅在基因链码中出现一次即可避免生成无意义的个体,即满足编码规则(1),但不满足规则(2);编码(2)不易满足规则(1),而更易满足规则(2);显然这两个编码在具体应用中具有矛盾性。真正有效的编码设计应在评估规范和准则的基础上,充分考虑编码与问题真正有效的编码设计应在评估规范和准则的基础上,充分考虑编码与问题约束条件的关系,编码与遗传操作尤其是交叉操作间的关系。约束条件的关系,编码与遗传操作尤其是交叉操作间的关系。ABCDE771061013610951.2 编码方法(编码方法(1) 一维编码是指搜索空间的参数转换到遗传空间后,其相应的

8、基因呈一维排列构成基因链码。即表示个体的字符集中的要素构成了字符串。1.2.1 二进制编码二进制编码 即将原问题的解映射成为0,1组成的位串,然后在串空间上进行遗传操作。结果再通过解码过程还原其解空间的解,然后再进行适应度值的计算。 (1)二进制编码的优点)二进制编码的优点 能表达的模式数最多; 简单易行; 符合最小字符集编码原则; 便于用模式定理进行分析。1.2 编码方法(编码方法(2) (2)二进制编码的缺点,尤其在求解连续优化问题时)二进制编码的缺点,尤其在求解连续优化问题时 相邻整数的二进制编码具有较大的Hamming距离,如15和16的二进制表示为01111和10000。算法要从15

9、改进到16则必须改变所有的位,这种缺陷降低遗传算子的效率。这一缺陷有时被称为Hamming悬崖悬崖(Hamming Cliffs) 二进制编码时,一般要先给出求解的精度,以确定串长。而精度一旦确定 后,就很难在算法中进行调整,从而使算法失去微调功能,若一开始就选取较高的精度,则位串就很长,这样会降低算法的较率。 求解高维优化问题时,二进制编码位串将非常长位串将非常长,从而使得算法的搜索效率很低。1.2 编码方法(编码方法(3)1.2.2 Gray编码编码 Gray编码是将二进制编码通过一个变换一个变换而得到的编码,其目的是克服二进制编码中的Hamming悬崖的缺点。 设有二进制串b1b2.bn

10、,对应的Gray串为a1a2an,则从二进制编码到Gray编码的变换为11bbbiiiaijjiab1)2(mod其中表示模2加法。 而从一个Gray串到二进制串的变换为如果i=1如果i1如,二进制串1101011对应的Gray串为1011110。1.2 编码方法(编码方法(4)1.2.3 动态编码动态编码 动态编码是当算法收敛到某局部极值时增加搜索的精度。增加精度的办法是在保持串长不变的前提下减少搜索区域。1.2.4 实数编码实数编码 对问题的变量是实向量的情形,可以直接采用十进制进行编码。这样便可直接对解进行遗传操作,从而便于引入与问题领域相关的启发式信息以增加遗传算法的搜索能力。 对于大

11、部分数值优化问题,通常需要针对十进制编码的特性, 引入其他一些专门设计的遗传算子,试验证明,采用实数编码比采用二进制编码的算法平均效率要高.1.2 编码方法(编码方法(5)1.2.5 有序串编码有序串编码 若目标函数的值只与表示解的字符串中各字符的位置有关而与其具体值无关,则称为纯排序问题。如前述的5个城市的旅行商问题的第一种编码方式。一般在组合优化问题中使用较多。1.2.6 多参数映射编码多参数映射编码 在优化问题求解中常会碰到多参数优化问题。如:函数f(x,y)=x2y2,x0,63, y0,63的优化中,可如下编码:x用8位的0,1串表示,y也用8位的0,1串表示。将这两个串按x在前,y

12、在后的顺序连接起来,构成16位的0,1串作为基因链码表示。 一般来讲,多参数映射编码中的每一个子串对应各自串的编码参数,所以可用不同长度的基因链码表示各自的参数。1.2 编码方法(编码方法(6)1.2.7 可变长编码(可变长编码(1) 自然界生物进化过程中,越是高等生物其染色体越长,即染色体的长度不是固定不变的。Goldberg于1991年提出的MessyGA(mGA) 就融入了这种机制。 mGA不同于标准的遗传算法,它可以较好地克服标准遗传算法对非线性问题处理的弱点。具有以下特点: 染色体长度可变; 允许过剩指定和缺省指定; 基于切断和拼接操作的交叉处理; 分为二阶段处理,即原始阶段和并立阶

13、段或对接阶段。1.2 编码方法(编码方法(7)1.2.7 可变长编码(可变长编码(2) 在mGA中,基因的意义和基因位置无关,而是由成对的符号所决定,如下表中的(a1) (b4) (c3)可看作是三位长的串,解释为a的值为1,b的值为4,c的值为3。正确指定 (a1) (b4) (c3) 过剩指定 (a1) (b4) (c3) (a3) 缺省指定 (a1) (c3) 1.2 编码方法(编码方法(8)1.2.7 可变长编码(可变长编码(3) mGA在做适应度计算时需要把以表形式表示的个体转换成规定长度的字符串形式。要除去多余指定或补足缺省指定。因此在mGA中经适应度计算后,群体中染色体长度是相等

14、的,但经过其特有的交叉操作后,新群体中的染色体长度又可能不相等了。如:父辈1:111 | 111 111 后代1:111 | 000父辈2:000 000 | 000 后代2:000 000 | 111 111mGA的可变长染色体编码尤其在求解非线性问题求解非线性问题时表现出很好的效果。但是前述的模式定理已不适用于mGA,为此需要再做分析和研究。1.2 编码方法(编码方法(9)1.2.8 二维染色体编码二维染色体编码 在许多应用中,问题的解呈二维或多维表示,此时采用一维编码很不方便,交叉操作也很不直观,因而可采用多维编码。例如图像恢复处理。 图像恢复是指把一个被干扰的图像恢复到它的原始面目。显

15、然图像恢复处理所求的解是一个图像。一个染色体就代表一个图像,可表示为一个二维的二值数组,如下图给出一个88的二值图像编码。00011000001111000110011011000011110000111111111111000011110000111.2 编码方法(编码方法(10)1.2.8 二维染色体编码二维染色体编码 二维染色体编码的交叉操作二维染色体编码的交叉操作纵横交叉窗口交叉父代:子代:模式定理仍然适用。由于图像的数据量很大,用遗传算法进行图像恢复时计算量很大。以3232的二值图像为例,此问题相当于在3232=1024维空间中寻优。2. 适应度函数适应度函数 遗传算法在优化搜索中基

16、本上不用外部信息,仅用适应度函数为寻优依据。 遗传算法对适应度函数的唯一要求是,该函数不能为负,这使GA应用范围很广。 适应度函数的设计要根据待求解问题而定,适应度函数的设计直接影响GA的性能。 在许多问题求解中,其目标是求函数g(x)的最小值,而不是最大值。即使某个问题可自然地表示为求最大值形式,但也不能保证对于所有的x, g(x)都取非负值。由于GA中要对个体的适应度进行比较排序并在此基础上确定选择概率,所以适应度值要取正值。因此将目标函数映射成求最大值形式且函数值非负的适应函数是必要的。2.1 目标函数映射成适应度函数目标函数映射成适应度函数 GA中,把最小化问题转化为最大化问题,可采用

17、以下方法进行转换:maxmax)(),(,0)(CxgxgCxf其他 Cmax可以是一个合适的输入值,也可采用迄今为止进化中g(x)的最大值,或g(x)的最大值。 如果g(x)非负,也可采用f (x)=1/g(x)。 当问题是求g(x)的最大值时,适应度函数的非负性可用如下变换得到保证0)(),(,0minmin)(xgCxgCxf其他 式中系统Cmin可以是合适的输入值,或是当前一代或前k代中g(x)的最小值,或g(x)的最小值。2.2 适应度函数调整适应度函数调整 在进化初期,群体中会出现异常个体,并占据很大的比例,若按照轮盘赌策略,这些异常个体竞争力太突出,会控制选择过程,导致未成熟收敛

18、现象,从而影响算法的全局优化性能。 对于未成熟收敛现象,应设法降低某些异常个体的竞争力,可以通过缩小相应的适应度函数值来实现。有时也需要扩大相应的适应度函数值。这种缩放称作适应度调整(scaling)。 适应度调整已成为保持进化过程中竞争水平的重要技术之一。2.2 适应度函数调整适应度函数调整2.2.1 线性调整(线性调整(1) 设原适应度函数为f (x),调整后的适应度函数为f(x),则线性调整可采用下式表示 f(x)=a f (x)+b 式中系统a和b的选择要满足两个条件:原适应度平均值要等于调整后的适应度平均值;调整后适应度函数的最大值fmax(x)要等于原适应度函数平均值的所指定的倍数

19、。即fmax(x) = C favg(x), 其中C为得到所期待的最优个体的复制数。实验表明,对一个不太大的群体而言,C可以在1.22.0之间取值。条件是为了保证每个群体可以产生一个期待的后代。条件是为了控制原适应度最大的个体产生后代的数目。2.2 适应度函数调整适应度函数调整2.2.1 线性调整(线性调整(2) 图1是正常调整结果,其中少数异常个体的适应度被缩小,同时数量不多的个体适应度被扩大。 图2中坏个体的适应度值远小于平均适应度值和最大适应度值。且favg(x)和fmax(x)又比较接近。当采用线性调整欲把 favg(x)和fmax(x)拉开时,原来低适应度值经调整后变成了负值。可通过

20、把fmin(x)映射到调整后的适应度最小值fmin(x),且使fmin(x)=0来解决。图1 正常调整的结果图2 不合理的调整2.2 适应度函数调整适应度函数调整2.2.2 幂调整幂调整 该调整方法可定义为: f(x)= f k(x) 式中指数k与待求解问题有关,而且在算法过程中可按需要做修正。 该调整方法由Gillies提出,他曾在机器视觉实验中采用了该方法,当时,他取k=1.005。2.3 适应度函数设计对适应度函数设计对GA的影响的影响 适应度函数的设计与GA中的选择操作直接相关,同时也在其他方面有影响。(1)适应度函数影响遗传算法的迭代停止条件 严格地说,遗传算法的迭代停止条件尚无定论

21、,但一般以发现满足最大值或次优解作为GA迭代停止条件。 但一般适应度最大值或次优解适应度下限也很难确定,所以在许多应用中,若发现群体个体进化已趋于稳定状态,即,当发现群体一定比例的个体已完全是同一个体,则终止算法迭代。2.3 适应度函数设计对适应度函数设计对GA的影响的影响(2)适应度函数与问题约束条件 遗传算法由于仅靠适应度来评估和引导搜索,所以求解问题所固有的约束条件不能明确表示出来。 我们可以考虑在进化过程中,每迭代一次就设法检测新个体是否违背了约束条件,若不满足,则删除。但并方法效率不高,而且有时寻找一个有效个体的难度不亚于寻找最优个体。 可采取一种惩罚方法,并将此惩罚体现在适应度函数

22、中。这样一个带约束的优化问题就转换为一个附带考虑代价或惩罚的非约束优化问题。2.3 适应度函数设计对适应度函数设计对GA的影响的影响 例如: 一个带约束最小化问题可描述如下: ming(x) 约束条件: bi(x)0,i=1,n 上述问题可这样转化为非约束问题Miixbrxg1)()(min(其中,(x)为惩罚函数,r为惩罚系数。3. 遗传算子遗传算子 选择算子 交叉算子 变异算子3.1 选择算子(选择算子(1)3.1.1 适应度比例方法适应度比例方法 这是目前最基础也是最常用的选择方法,它也叫轮盘赌选择方法。即每个个体的选择概率和其适应度值成比例。 设群体大小为n,其中个体的适应度值为f,则

23、被选择的概率Psi为njiisiffP1个体的适应度值越大,它选择的机会就越多。3.1 选择算子(选择算子(2)下表给出了采用适应度比例方法的适应度值与选择概率的例子。这里适应度函数采用幂调整方法(幂调整方法(k=2)。当个体被选中后,可随机地组成配对,供后面的交叉操作使用。个体编号原适应度值调整后的适应度值选择概率12.56.250.1821.01.000.0333.09.000.2641.21.440.0452.14.410.1360.80.640.0272.56.250.1881.31.690.0590.90.810.02101.83.240.093.1 选择算子(选择算子(3)3.1.

24、2 最佳个体保存方法最佳个体保存方法 该方法的思想是把群体中适应度值最高的个体不进行配对交叉而直接复制到下一代中。 该方法的优点是,进化过程中某一代的最优解可不被交叉或变异操作破坏。 但也隐含危机,即局部最优个体的遗传基因会急速增加而造成进化陷于局部解。也就是说,该方法的全局搜索能力差。它适合于单峰性质的优化问题的空间搜索,而不适于多峰性质的空间搜索。 该方法一般与其他方法结合使用。3.1 选择算子(选择算子(4)3.1.3 期望值方法期望值方法 在轮盘赌选择方法中,当个体数不太多时,依据产生的随机数有可能出现较大的选择误差,也就是说,适应度高的个体有可能被淘汰,适应度低的个体也有可能被选择。

25、采用期望值方法可解决这个问题。 期望值方法思想如下: 计算群体中每个个体在下一代生存的期望数目iiifnfffM 若某个个体被选中并要参与配对和交叉,则下一代中的生存的期望数目减去0.5;若不参与配对和交叉,则该个体的期望数目减1。 在的两种情况中,若一个个体的期望值小于1,则该个体不参与选择。De JongDe Jong曾对比了上述三种方法曾对比了上述三种方法, ,实验表明实验表明, ,采用期望值方法的性能优于采用期望值方法的性能优于其他两种方法其他两种方法. .3.1 选择算子(选择算子(5)3.1.4 排序选择方法排序选择方法 是指根据适应度值大小在群体中对个体排序,然后把事先设定好的概

26、率表按顺序分配给个体,作为各自的选择概率。 选择概率仅与序号有关与适应度值无直接关系,选择概率和序号的关系需事先确定。基于概率的选择,仍存在统计误差。 右表给出了一个例子。排序个体适应度值选择概率133.00.35212.50.20372.50.15.452.10.105101.80.06681.30.05741.20.04821.00.03990.90.021060.80.003.1 选择算子(选择算子(6)3.1.5 联赛选择方法联赛选择方法 类似体育中的比赛制度。其思想是:从群体中任意选择一定数目的个体(称为联赛规模),其中适应度最高的个体保存到下一代。这一过程反复执行,直到保存到下一代

27、的个体数达到预先设定的数目为止。联赛规模一般取2。 以上几种选择方法,对于遗传算法的性能的影响各不相同,以上几种选择方法,对于遗传算法的性能的影响各不相同,在具体使用这些方法时,应根据问题求解的特点选择一种在具体使用这些方法时,应根据问题求解的特点选择一种方法,或者是把它们结合使用,当然在有些情况下,需要方法,或者是把它们结合使用,当然在有些情况下,需要寻找新的方法寻找新的方法。3.2 交叉算子(交叉算子(1)3.2.1 单点交叉单点交叉 又叫简单交叉,具体操作是:在个体基因串中随机设定一个交叉点,交叉操作时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。 如前例中函数f(x)=x

28、2优化中的交叉方法就是单点交叉。当基因链码的长度为n时,可能有n-1个交叉点位置。3.2.2 两点交叉两点交叉 与单点交叉类似,只是随机设置2个交叉点。父辈两个个体在两个交叉点之间的基因链码相互交换,生成新个体。如下例: 父辈个体1:aaaaaa | aaaaaa | aaaaaa aaaaaa | bbbbbb | aaaaaa 父辈个体2:bbb bbb | bbb bbb | bbb bbb bbbbbb | aaaaaa | bbb bbb 对于两点交叉而言,若染色体长度为n,则可能有 (n-1)(n-2)/2种交叉点的位置。3.2 交叉算子(交叉算子(2)3.2.3 多点交叉多点交叉

29、 又称为广义交叉,若用参数c表示交叉数,则当c=1时,广义交叉就是单点交叉,c=2时,广义交叉就是两点交叉。 多点交叉不常被采用,因为当基因链码的长度n较小,或交叉点数c较大时,即使模式的阶和定义矩较小,具有优良特性的模式也很容易被破坏。另外出于计算速度的考虑,基因链码的长度n不会很长。3.2 交叉算子(交叉算子(3)3.2.3 均匀交叉均匀交叉 均匀交叉是依概率交换两个父辈个体基因串中的每一位。其过程是:先随机地产生一个与父辈个体基因串具有相同长度的二进制串,其中0表示不交换,1表示交换。这个二进制串称为交叉模板交叉模板,然后根据该模板对两个父辈基因串进行交叉,得到的两个新基因串即为后代新个

30、体。例如: 父辈个体1:110010111000 父辈个体2:101011101011 交叉模板: 001101011100 后代个体1:111011101000 后代个体2:100010111011 由于均匀交叉在交换位时不考虑其所在位置,破坏模式的概率较大,但另一方面,它能搜索到一些前面基于点的交叉方法无法搜索到的模式。3.2 交叉算子(交叉算子(4) 在很多应用中,交叉算子是以一定概率实现的,这一概率称为交叉概率交叉概率。 前几种交叉方法,只是最基本的方法,解决实际问题时,由于问题的特殊性和编码方式不同,交叉算子也会有不同。 交叉算子未提供算法向最优解收敛的保证。模式定理只是考虑到选择算

31、子可以维持模式,而交叉算子和变异算子会破坏模式。但这并不影响遗传算法的实用性,许多具有向最优解收敛的算法却牺牲了它们的全局性和灵活性。因此不少很难求解的优化问题,对于基于交叉的遗传算法而言却是简单可解的。 交叉算子对遗传算法收敛性的影响是遗传算法研究中的重要课题之一。3.3 变异算子(变异算子(1)变异操作就是把某些基因位置上的基因值取反,即10,或01。一般来说,变异操作的基本步骤如下: 在群体中所有个体的码串范围内随机地确定基因位置; 以事先设定的变异概率Pm来对这些基因位置的基因值进行变异。GA中,交叉算子以其全局搜索能力而作为主要算子,变异算子因局部搜索能力而作为辅助算子。它们相互配合

32、又相互竞争的操作,使GA具备兼顾全局和局部的均衡搜索能力。所谓相互配合相互配合,是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱;所谓相互竞争相互竞争,是指当通过交叉已形成所期望的基因块时,变异操作可能破坏这些基因块。如何有效地配合使用交叉和变异操作,是目前GA的一个重要研究内容。3.3 变异算子(变异算子(2)3.3.1 基本变异算子基本变异算子 针对二值基因链码而言,对群体中基因链码随机挑选c个基因位置,对这些基因位置的基因值以概率Pm取反,即10,或01。当c=1时,就如前例中函数f(x)=x2的最优求解中的变异方法。3.3.2 均匀变异均匀变

33、异 该变异方法针对实数编码方式。设V=(v1,v2,vm)是群体的一个个体,Z=(z1,z2,zm)是变异产生的后代。在个体V中随机地选择一个分量vk,然后在一个定义的区间ak,bk中均匀随机地取一个数vk代替vk,得到Z,即Z=(v1,vk,vm)3.3 变异算子(变异算子(3)3.3.3 正态变异正态变异 与均匀变异略有不同,首先在个体V中随机地选择一个分量vk,然后不是在一个定义的区间ak,bk中均匀随机地取一个数vk代替vk,而是选择的vk是服从N(vk,2)正态分布的。3.3.4 非一致变异非一致变异 将变异算子与进化代数联系起来,使得在进化的初期,变异的范围相对较大,随着进化的推进

34、,变异的范围越来越小,此时,变异算子起着进化微调的作用。 如:在个体V中随机地选择一个分量vk,对vk变异后的结果vk服从N(vk,2(t)正态分布,这里t是进化的代数,2(t)随着t的增大而趋于0。当然2(t)的不同会导致略微不同的算法。3.3 变异算子(变异算子(4)3.3.5 自适应性变异 非一致性变异加强了算法的局部搜索,但其变异范围只与进化代数有关,而与个体性能无关,即无论解的质量好坏,其变异的范围都是相同的。 我们可采用一种方法使适应度大的个体在较小的范围内变异,而适应度小的个体在较大的范围内变异,因而引入变变异温度异温度的概念。类似于模拟退火中温度的概念。解的变异温度定义为:T=1-f(s)/fmax。其中f(s)表示个体s的适应度,fmax是待求解问题的最大适应度值。对于很多问题, fmax很难确定,只要给出一个粗略的上限即可。也可以使用当前群体中的最大适应度值作为fmax 。 在个体V中随机地选择一个分量vk,对vk变异后的结果vk服从N(vk,2(T)正态分布,这里T是变异温度。2(T)应该随着T的增大而增大。4. 参数选择(参数选择(1)4.1 变异概率变异概率 变异概率是算法中的一个重要参数,它直接影响到算法的收敛性和最终解的性能。 变异概

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论