遗传算法论文:浅谈遗传算法的研究与改进 下载本文

遗传算法论文:浅谈遗传算法的研究与改进 【摘 要】遗传算法是模拟自然界生物进化机制的概率性搜索算法,可以处理传统搜索方法难以解决的非线性问题。但是经典遗传算法存在局部收敛、收敛速度慢等缺点,这使得经典遗传算法有时很难找到全局最优解。本文针对经典遗传算法中所存在的缺点,采用阶段式的适应度函数、基于竞争机制的交叉方式和仿粒子群变异操作,使遗传算法的收敛速率、全局收敛概率都得到了较大的提高。

【关键词】遗传算法 适应度 交叉操作 仿粒子群变异 一 遗传算法

遗传算法(genetic algorithm,简称ga)是holland在研究自然遗传现象与人工系统的自适应行为时,模拟生物进化现象,并采用自然进化机制来表现复杂现象的一种全局群体搜索算法。遗传算法的基本思想起源于darwin进化论和mendel的遗传学说。作为一类智能计算工具和学习算法,由于其实现简单、对目标函数要求不高等特性,遗传算法已广泛应用于如人工智能、组合优化等研究领域。

1.遗传算法的优越性

遗传算法(genetic algorithm)利用某种编码技术作用在称为染色体的二进制串上,模拟由这些串组成的个体的进化过程。通过有组织的、随机的信息交换来重新结合那些

适应性好的串,在每一代中,利用上一代串结构中适应性好的位和段来形成一个新的串的群体,同时在串结构中尝试用新的位和段来代替原来的部分以形成新的个体,以增加种群的多样性。遗传算法的最大优点是能够通过群体间的相互作用,保存已经搜索到的信息,这是基于单次搜索过程的优化方法所无法比拟的。但是,遗传算法也存在着计算速度较慢,并且容易陷入局部最优解的问题中。

遗传算法的优越性归功于它与传统搜索方法不同的特定结构。

第一,遗传算法的操作对象是编码,对问题的限制极少,对函数的一些约束条件如连续性、可导性等不做要求,减少了要解决问题的复杂性。

第二,遗传算法同时搜索解空间内的许多点,因而可以有效地防止搜索过程中收敛到局部最优解,并获得全局最优解,与其他单点搜索的方法相比,在计算时间上也有较大的优势。

第三,遗传算法使用遗传操作时是按概率在解空间进行搜索,因而既不同于随机搜索,也不同于枚举法那样盲目地举例,而是一种有目标、有方向的启发式搜索。

2.遗传算法的基本步骤

遗传算法的实现中包括复制、交叉、变异三个算子,需

要确定关键的几个参数与标准包括:种群规模、基因编码、适值函数、选择概率、遗传算子以及停机准则。下面分别对其进行说明:

第一,表示法与适应度计算。标准遗传算法(二进制编码)作用于确定长度的二进制位串上,即i={0,1}l。假设需要

解决如下函数优化问题 ,一般

是将位串分为n段,每段长度为lx,即l=nlx,每段表示分量

xi∈[ui,vi]的二进制代码。位段译码函数 的常见形式为:

…(1)

其中 … 记为个体 … 的第

i段。把位段译码函数 组合成一个个体的译码函数 … ,则适应度函数可设置为 ,其中δ为比例变换函数,作用之一是确保适应值为正值,并且最好使个体的适应度值最大。常见的比例变换有线性比例、幂比例和指数比例等。

第二,交叉。交叉操作是将已有个体组合出新个体,使两个个体的有效信息得以遗传到下一代,并可能得到新的个体信息。在遗传算法中,交叉操作是主要的遗传操作,它把两个不同个体上的有用段组合在一起,ga的性能在很大的程