全球旧事资料 分类
设定。流程如图1所示。
图1遗传算法基本流程
f简单遗传算法的运行过程为一个典型的迭代过程,其必须完成的工作内容和基本步骤如下:1)选择编码策略,把参数集合X和域转换为位串结构空间S。2)定义适应度函数。3)确定遗传策略,包括选择群体大小
,选择、交叉、变异方法,以及确定交叉概率、变异概率等遗传参数。4)随机初始化生成种群P。5)计算群体中个体位串解码后的适应度值。6)按照遗传策略,运用选择、交叉和变异算子作用与群体,形成下一代群体。7)判断群体性能是否满足某一目标,或者已完成预定迭代次数,不满足则返回步骤6),或者修改遗传策略再返回步骤6)。下面对基本步骤进行分解,进一步详细介绍流程中一些细节。编码表示。在许多问题求解中,编码是遗传算法中首要解决的问题,对算法的性能有很重要的影响。Holla
d提出的二进制编码是遗传算法中最常用的一种编码方法,它采用最小字符编码原则,编解码操作简单易行,利于交叉、变异操作的实现,也可以采用模式定理对算法进行理论分析。但二进制编码用于多维、高精度数值问题优化时,不能很好地克服连续函数离散化时的映射误差;不能直接反映问题的固有结构,精度不高,并且个体长度大、占用内存多。针对二进制编码存在的不足,人们提出了多种改进方法,比较典型的有以下几种:(1)格雷码编码。为了克服二进制编码在连续函数离散化时存在的不足,人们提出了用格雷码进行编码的方法,它是二进制编码的变形。格雷码不仅具有二进制编码的一些优点,而且能够提高遗传算法的局部搜索能力。假设有一个二进制编码为Xxmxm1x2x1,其对应的格雷码为Yymym1y2y1,则
ymxm
im1m21
yixi1xi
f(2)实数编码。该方法适合于遗传算法中表示范围较大的数,使遗传算法更接近问题空间,避免了编码和解码的过程。它便于较大空间的遗传搜索,提高了遗传算法的精度要求;便于设计专门问题的遗传算子;便于算法与经典优化方法的混合作用,改善了遗传算法的计算复杂性,提高了运算效率。(3)十进制编码。该方法利用十进制编码控制参数,缓解了“组合爆炸”和遗传算法的早熟收敛问题。(4)非数值编码。染色体编码串中的基因值取一个仅有代码含义而无数值含义的符号集,这些符号可以是数字也可以是字符。非数值编码的优点是在遗传算法中可以利用所求问题的专门知识及相关算法。对于非数值编码,问题的解和染色体的r
好听全球资料 返回顶部