遗传算法与模拟退火算法比较

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、遗传算法与模拟退火算法比较

分析模拟退火算法的基本原理可以看出,模拟退火算法是通过温度的不断下降渐进产生出最优解的过程,是一个列马尔科夫链序列,在一定温度下不断重复Metropolis过程,目标函数值满足Boltzmann概率分布。在温度下降足够慢的条件下,Boltzmann分布收敛于全局最小状态的均匀分布,从而保证模拟退火算法以概率为1收敛到全局最优。另外,不难看出,模拟退火算法还存在计算结构简单、通用性好以及鲁棒性强等优点。但是,模拟退火算法存在如下缺陷:

1. 尽管温度参数下降缓慢时理论上可以保证算法以概率为1地收敛到最优值,但是需要的时间过长加之误差积累与时间长度的限制,难以保证计算结果为最优;

2.如果降温过程加快,很可能得不到全局最优解,因此,温度的控制是一个需要解决的问题;

3.在每一种温度下什么时候系统达到平衡状态,即需要多少次Metropolis过程不易把握,从而影响模拟退火算法的最终结果。

与模拟退火算法相比较,遗传算法具有如下典型特征:

这两种算法的相同点是都采用进化控制优化的过程。主要不同点是模拟退火是采用单个个体进行进化,遗传算法是采用种群进行进化。模拟退火一般新解优于当前解才接受新解,并且还需要通过温度参数进行选择,并通过变异操作产生新个体。而遗传算法新解是通过选择操作进行选择个体,并通过交叉和变异产生新个体。具体说来,遗传算法具有如下特点:

(1)与自然界相似,遗传算法对求解问题的本身一无所知,对搜索空间没有任何要求(如函数可导、光滑性、连通性等),只以决策编码变量作为运算对象并对算法所产生的染色体进行

评价,可用于求解无数值概念或很难有数值概念的优化问题,应用范围广泛;

(2)搜索过程不直接作用到变量上,直接对参数集进行编码操作,操作对象可以是集合、序列、矩阵、树、图、链和表等;

(3)搜索过程是一组解迭代到另一组解,采用同时处理群体中多个个体的方法,因此,算法具有并行特性;

(4)遗传算法利用概率转移规则,可以在一个具有不确定性的空间寻优,与一般的随机性优化方法相比,它不是从一点出发按照一条固定路线寻优,而是在整个可行解空间同时搜索,可以有效避免陷入局部极值点,具有全局最优特性;

(5)遗传算法有很强的容错能力.由于遗传算法初始解是一个种群,通过选择、交叉、变异等操作能够迅速排除与最优解相差较大的劣解.

与模拟退火算法相比,遗传算法存在局部搜索能力差、容易陷入过早收敛等缺陷,因此,人们将模拟退火算法与遗传算法相结合得到的混合算法可以避免两种算法的缺陷,有利于丰富优化过程的搜索行为,增强全局和局部意义下的搜索能力和效率。

二、混合遗传算法举例

遗传算法的不足:如求解精度不尽如意、难以控制、局部搜索能力较差,随之而来的问题就是算法的稳定性较差、算法的收敛速度较慢.这些不足都妨碍了它的进一步推广.因此,如何提高算法的精度、稳定性以及算法摆脱局部最优的能力,成了当前遗传算法研究的难点与热点.

另一方面,在一些实际应用中,存在许多含有针对该问题的有效知识型启发式算法,这些算法可以克服遗传算法局部搜索能力弱的缺陷,通常具有局部搜索能力强、计算效率较高的优点(例如,神经网络算法、模拟退火算法、共轭梯度法等),因此,在遗传算法的搜索过程中融入这些专门领域知识或高效局部算法的思想,构成一种混合遗传算法(hybrid genetic algorithm, 简记为Hybrid GA),从而达到提高遗传算法效率和算法质量的一种行之有效的手段.

混合遗传算法的主要特点体现在下面两个方面:

(1)在遗传算法的执行步骤中增加局部搜索过程.基于种群X t中各个个体的表现形态,进行局部搜索,从而接受为新一代()

个体的是()

X t中个体所对应在当前环境下的局部最优解.

(2)在遗传算法的设计(如编、解码过程、交叉与变异操作)中融入与问题相关的启发式信息.

下面通过两个个例子说明混合遗传算法的应用.首先考虑添加局部搜索的混合遗传算法.

例1(函数优化问题的混合遗传算法)考虑下列多元函数优化问题

min ()X E

f X ∈ 其中1212(,,,),,T n n i X x x x E E E E E ==⨯⨯⨯为某个定义区间,()f X 为多元函数.

求解例1 的混合遗传算法与传统遗传算法相比较,其特点是在每一代找到最优个体后并不立即进行下一代操作,而是以当代最优个体为中心的一个固定区域(如半径为ε的圆)进行局部搜索.以便找到更好的个体.

算法描述( ε混合遗传算法)

第一步:初始化种群;

第二步:计算种群中个体适应值,选择最优个体;

第三步:以种群中适应值最大的个体为中心,在ε为半径的圆内进行最优寻优(可以采用神经网络或梯度类算法),进入循环过程,直到满足循环停止条件;

第四步:将当代最优个体用局部寻优得到的最优值代替; 第五步:种群内部进行选择、交叉、变异;

第六步:转入第二步继续算法,直到满足进化条件.

利用上面描述的ε混合遗传算法,下面具几个具体案例. 例2 分别用下面的两个测试函数验证ε混合遗传算法的性能.

案例1 性能测试函数F2

22211()[100()(1)]

[ 5.12,5.12]

n i i i i i f X x x x x +==⨯-+-∈-∑ F2 函数是一个单峰函数,极小值点为[1,1,,1]T ,最小值为0,极小值点的位置既不位于定义域 的中心,也不位于定义域边界,是一种有一定难度的优化问题.将标准遗传算法和ε混合遗传算法分别运行100次,其中混合遗传策略编码长度为10,局部搜索半径ε取值为1,标准遗传算法的编码长度为80,两种算法的种群规模和最大进化代数都为200,它们每次运行的最优值的折线图分别如图1与图2所示:

相关文档
最新文档