c遗传算法的终止条件一般_遗传算法C

遗传算法(GA)是模拟自然进化解决优化问题的计算模型,由John Holland于1975年提出。通过编码、选择、交叉和变异操作,GA在适应度指导下进行搜索。虽然高效且适用广泛,但可能过早收敛于局部最优。为改善这一点,学者们提出动态编码、竞争选择等改进策略,使遗传算法在不同领域得到广泛应用。
摘要由CSDN通过智能技术生成

GA

)是一种有效的解决最优化问

题的方法。它最先是由

John

Holland

1975

年提出的。从那以后,它逐渐发展

成为一种通过模拟自然进化过程解决最优化问题的计算模型。

利用遗传算法解最优化问题,

首先应对可行域中的点进行编码

(一般采

用二进制编码)

然后在可行域中随机挑选一些编码组成作为进化起点的第一代

编码组,

并计算每个解的目标函数值,

也就是编码的适应度。

接着就像自然界中

一样,

利用选择机制从编码组中随机挑选编码作为繁殖过程前的编码样本。

选择

机制应保证适应度较高的解能够保留较多的样本;

而适应度较低的解则保留较少

的样本,

甚至被淘汰。

在接下去的繁殖过程中,

遗传算法提供了交叉和变异两种

算子对挑选后的样本进行交换。

交叉算子交换随机挑选的两个编码的某些位,

异算子则直接对一个编码中的随机挑选的某一位进行反转。

这样通过选择和繁殖

就产生了下一代编码组。

重复上述选择和繁殖过程,

直到结束条件得到满足为止。

进化过程最后一代中的最优解就是用遗传算法解最优化问题所得到的最终结果。

从以上介绍可以看出,

GA

算法具有下述特点:

1)GA

是对问题参数的编码组进行进货,而不是直接对参数本身。

21)GA

的搜索是从问题解的编码组开始搜索,而不是从单个解开始。

31)GA

使用目标函数值(适应度)这一信息进行搜索,而不需导数等其他信息。

4)GA

算法使用的选择、交叉、变异这三个算子都是随机操作,而不是确定规则。

实践表明,

遗传算法解最优化问题的计算效率比较高、

适用范围相当广。

了解释这一现象,

Holland

给出了图式定理。所谓图式,就是某些码位取相同值

的编码的集合。

图式定理说明在进化过程的各代中,

属于适应度高、

阶数低且长

度短的图式的编码数量将随代数以指数形式增长。另外,

Holland

还发现遗传算

法具有隐含的并行计算特性。

最近的研究则表明,

上述遗传算法经适当改进后对

任意优化问题以概率

1

收敛于全局最优解。

将遗传算法用于解决各种实际问题后,

人们发现遣传算法也会由于各种原因

过早向目标函数的局部最优解收敛,

从而很难找到全局最优解。

其中有些是由于

目标函数的特性造成的,

例如函数具有欺骗性,

不满足构造模块假说等等;

另外

一些则是由于算法设计不当。

为此,

不断有人对遗传算法提出各种各样的改进方

案。例如:针对原先的定长二进制编码方案;提出了动态编码、实数编码等改进

方案;针对按比例的选择机制,提出了竞争选择、按续挑选等改进方案;针对原

先的一点交叉算子,提出了两点交叉、多点交叉、均匀交叉等算子;针对原先遗

传算法各控制参数在进化过程中不变的情况,

提出了退化遗传算法、

自适应遗传

算法等。另外,针对不同问题还出现了分布式遗传算法、并行遗传算法等等。

近年来,随着对于遗传算法研究的不断深入完善,有越来越多的人认识了

解了遗传算法,并把它应用到越来越广泛的领域,例如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值