文档介绍:基本遗传算法(基本遗传算法(GAGA))1 1 基本遗传算法描述基本遗传算法描述遗传算法在自然与社会现象模拟、工程计算等方面得到了广泛应用。在各个不同的应用领域,为了取得更好的结果,人们对GA进行了大量改进,为了不至于混淆,我们把Holland提出的算法称为基本遗传算法,简称GA、SGA(Simple ic Algorithm )、CGA(Canonical ic Algorithm),将其它的“GA类”算法称为GAs(ic Algorithms),可以把GA看作是GAs的一种特例。 基本遗传算法的构成要素基本遗传算法的构成要素(1) (1) 染色体编码方法染色体编码方法基本遗传算法使用固定长度的二进制符号串固定长度的二进制符号串来表示群体中的个体,其等位基因由二值符号集{0,1}组成。初始群体中各个个体的基因值用均匀分布的随机数来生成。如:x;100111001000101101就可表示一个个体,该个体的染色体长度是l=18。1(2) (2) 个体适应度评价个体适应度评价基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的机会多少。到下一代群体中的机会多少。为正确计算这个概率,这里要求所有个体的适应度必须为正数或零。这样,根据不同种类的问题,必须预先确定好由目标函数值到个体适应度之间的转换规则,特别是要预先确定好当目标函数值为负数时的处理方法。(3) (3) 遗传算子遗传算子基本遗传算法使用下述三种遗传算子:?选择运算:使用比例选择算子比例选择算子;?交叉运算:使用单点交叉算子单点交叉算子;?变异运算:使用基本位变异算子基本位变异算子。(4) (4) 基本遗传算法的运行参数基本遗传算法的运行参数基本遗传算法有下述4个运行参数需要提前设定:?MM:群体大小,即群体中所含个体的数量,一般取为20 ~ 100。?TT:遗传运算的终止进化代数,一般取为100 ~ 500?:交叉概率, ~ ?ppmm:变异概率, ~ [[说明说明]]这4个运行参数对遗传算法的求解结果和求解效率都有一定的影响,但目前尚无合理选择它们的理论依据。在遗传算法的实际应用中,往往需要经过多次试算后才能确定出这些参数合理的取值大小或取值范围。 基本遗传算法的形式化定义基本遗传算法的形式化定义基本遗传算法可定义为一个7元组:GAGA==(M, F, s, c, m, p(M, F, s, c, m, pcc, p, pmm ) ) M——群体大小;F——个体适应度评价函数;s——选择操作算于;c——交叉操作算子:m——变异操作算于;pc——交叉概率;pm——变异概率; 基本遗传算法描述基本遗传算法描述Procedure 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=t+1 end whileend42 2 基本遗传算法的实现基本遗传算法的实现根据上面对基本遗传算法构成要素的分析和算法描述,我们可以很方便地用计算机语言来实现这个基本遗传算法。现对具体实现过程中的问题作以下说明: 编码与解码编码与解码(1) (1) 编码编码假设某一参数的取值范围是[umin , umax],用长度为l的二进制编码符号串来表示该参数,则它总共能够产生2l种不同的编码,参数编码时的对应关系如下:00000000…00000000=0