首页 理论教育 遗传算法的原理与应用

遗传算法的原理与应用

时间:2023-06-30 理论教育 版权反馈
【摘要】:遗传算法的优点是在搜索和优化过程中不易陷入局部解,缺点是收敛速度比较慢。群体、染色体、适应值和模式是遗传算法中的常用概念。与一般的优化算法不同,遗传算法不是从单个个体的属性来确定搜索方向,而是从群体的总体属性中确定搜索方向。简单的遗传操作实际包含了并行进行的、丰富的模式隐含操作,使得遗传算法得以有效进行。遗传算法的基本操作有编码、复制、杂交和变异。遗传算法的计算过程如下:1)参数初始化。

遗传算法的原理与应用

基因遗传算法(Genetic Algorithm)是由美国密歇根大学Holland教授等人提出的一种采用自适应启发式和群体型迭代式全局搜索算法的优化技术,来源于达尔文的生物进化论和群体学原理,是根据适者生存、优胜劣汰等自然进化原则建立的。最初用于模拟自然系统的自适应现象,后来被广泛引入到工程领域遗传算法的优点是在搜索和优化过程中不易陷入局部解,缺点是收敛速度比较慢。群体、染色体、适应值和模式是遗传算法中的常用概念。

群体(Population)是指每一个迭代步中参与操作的解的集合。与一般的优化算法不同,遗传算法不是从单个个体的属性来确定搜索方向,而是从群体的总体属性中确定搜索方向。群体中解的个数称为群体规模,每一个迭代步中的群体称为一代。

染色体(Chronome)是指将设计变量根据某种规则转换成的代码串,这与自然界中的过程一样,遗传过程中实际操作的是染色体,而非其显式形状。代码串中的每一位称为基因。

适应值函数(Fitness Function)是指目标函数经过某种变换后得到的数值。适应值反映了对应于此目标函数的染色体对环境的适应程度,适应值高,表明染色体对环境的适应程度高,反之则为适应程度低。

模式(Schema)表示基因中某些特定位相同的结构。简单的遗传操作实际包含了并行进行的、丰富的模式隐含操作,使得遗传算法得以有效进行。

遗传算法的基本操作有编码、复制、杂交和变异。其中编码计算适应值是准备操作,复制、杂交和变异为三个基本操作。

编码(Encoding)是将设计变量转化成染色体的过程,主要有浮点法和符号法。适应值是由目标函数经过某种函数关系转换而来的,对于求最小值问题,适应值可以通过求下述函数得到:

式中Cmax的选取有多种方法,可以取为输入参数、目前为止Fi的最大值和在当前群体中或者几代中Fi的最大值。

复制(Reproduction)是按照某种规则从父代群体中选择染色体构成交配池。复制过程又称为选优过程,具有高适应值的染色体具有较高的选中机会,甚至可以经过多次复制以供随后使用。复制得到的群体不生成染色体,但群体中染色体的平均适应值增加。染色体的选择有专用算法,最常用的是转轮法。

杂交(Crossover)是遗传算法最具特色的操作,首先将交配池中的染色体随机配对,配对染色体随机选择一个或多个杂交点,配对的两个染色体互换杂交点后面的所有基因位,产生两个新的染色体,新染色体构成子代群体。(www.xing528.com)

变异(Mutation)是从子代群体中按概率Pm随机选择染色体,然后对每个染色体随机选取其某一位置进行反运算,即将基因反转,从而产生一个在某一基因位不同于原染色体的新染色体。此操作模仿生物进化过程中的基因突变,主要为了避免过早收敛。

遗传算法的计算过程如下:

1)参数初始化。首先确定群体规模n、杂交算子Pc和变异算子Pm,并设定收敛准则。收敛准则有两种,一种是设定迭代的最大次数,另一种是考察适应值目标函数的收敛情况,当发现目标函数在连续几步中无明显变化,则认为迭代收敛。

2)产生初始群体。由计算机随机产生初始群体,构成第一代染色体。

3)计算目标函数值。将Xi,(i=1,2,…,n)译码,并求得各自对应目标函数值FXi)。

4)计算适应值。将对应于每条染色体的目标函数值根据选定的窗口函数转换成对应的适应值fi

5)遗传造作。将这一代群体视作父代群体,进行复制、杂交和变异操作,生成新的染色体构成新的群体。

6)重复3)~5),直至迭代收敛。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈