遗传算法的优缺点?

作者&投稿:胡佩 (若有异议请与网页底部的电邮联系)
遗传算法优点,要详细一些的~

遗传算法是一种全局优化概率算法,主要的优点有
1.遗传算法对所求解的优化问题没有太多的数学要求,由于他的进化特性,搜素过程中不需要问题的内在性质,对于任意形式的目标函数和约束,无论是线性的还是非线性的,离散的还是连续的都可处理。
2.进化算子的各态历经性使得遗传算法能够非常有效地进行概率意义的全局搜素。
3.遗传算法对于各种特殊问题可以提供极大的灵活性来混合构造领域独立的启发式,从而保证算法的有效性。

遗传算法:其优点是能很好地处理约束,跳出局部最优,最终得到全局最优解。缺点是收敛速度慢,局部搜索能力弱,运行时间长,容易受到参数的影响。



模拟退火:具有局部搜索能力强、运行时间短的优点。缺点是全局搜索能力差,容易受到参数的影响。



爬山算法:显然爬山算法简单、效率高,但在处理多约束大规模问题时,往往不能得到较好的解决方案。



数值算法:这个数值算法的含义太宽泛了,指的是哪种数值算法,阵列算法与爬山算法一样,各有优缺点。

扩展资料:
注意事项:
遗传算法的机制比较复杂,在Matlab中已经用工具箱中的命令进行了打包,通过调用可以非常方便的使用遗传算法。







函数GA:[x,Fval,reason]=GA(@fitnessfun,Nvars,options)x为最优解,Fval为最优值,@Fitnessness为目标函数,Nvars为自变量个数,options为其他属性设置。系统的默认值是最小值,所以函数文档中应该加上一个减号。







要设置选项,您需要以下函数:options=GaOptimset('PropertyName1','PropertyValue1','PropertyName2','PropertyName3','PropertyValue3'…)通过该函数,可以确定一些遗传算法的参数。

优点:

1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。

另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。

2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。

3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。

另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。

4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。

5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。

缺点:

1、遗传算法在进行编码时容易出现不规范不准确的问题。

2、由于单一的遗传算法编码不能全面将优化问题的约束表示出来,因此需要考虑对不可行解采用阈值,进而增加了工作量和求解时间。

3、遗传算法效率通常低于其他传统的优化方法。

4、遗传算法容易出现过早收敛的问题。

扩展资料

遗传算法的机理相对复杂,在Matlab中已经由封装好的工具箱命令,通过调用就能够十分方便的使用遗传算法。

函数ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最优解,fval是最优值,@fitnessness是目标函数,nvars是自变量个数,options是其他属性设置。系统默认求最小值,所以在求最大值时应在写函数文档时加负号。

为了设置options,需要用到下面这个函数:options= gaoptimset ('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通过这个函数就能够实现对部分遗传算法的参数的设置。

参考资料来源:百度百科-遗传算法



遗传算法的优缺点
遗传算法属于进化算法( Evolutionary Algorithms) 的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解. 遗传算法有三个基本算子:选择、交叉和变异。
数值方法求解这一问题的主要手段是迭代运算。一般的迭代方法容易陷入局部极小的陷阱而出现"死循环"现象,使迭代无法进行。遗传算法很好地克服了这个缺点,是一种全局优化算法。
生物在漫长的进化过程中,从低等生物一直发展到高等生物,可以说是一个绝妙的优化过程。这是自然环境选择的结果。人们研究生物进化现象,总结出进化过程包括复制、杂交、变异、竞争和选择。一些学者从生物遗传、进化的过程得到启发,提出了遗传算法(GA)。算法中称遗传的生物体为个体(individual),个体对环境的适应程度用适应值(fitness)表示。适应值取决于个体的染色体(chromosome),在算法中染色体常用一串数字表示,数字串中的一位对应一个基因(gene)。一定数量的个体组成一个群体(population)。对所有个体进行选择、交叉和变异等操作,生成新的群体,称为新一代(new generation)。
遗传算法计算程序的流程可以表示如下:
第一步 准备工作
(1)选择合适的编码方案,将变量(特征)转换为染色体(数字串,串长为m)。通常用二进制编码。
(2)选择合适的参数,包括群体大小(个体数M)、交叉概率PC和变异概率Pm。
(3)确定适应值函数f(x)。f(x)应为正值。
第二步 形成一个初始群体(含M个个体)。在边坡滑裂面搜索问题中,取已分析的可能滑裂面组作为初始群体。
第三步 对每一染色体(串)计算其适应值fi,同时计算群体的总适应值 。
第四步 选择
计算每一串的选择概率Pi=fi/F及累计概率。选择一般通过模拟旋转滚花轮(roulette,其上按Pi大小分成大小不等的扇形区)的算法进行。旋转M次即可选出M个串来。在计算机上实现的步骤是:产生[0,1]间随机数r,若r<q1,则第一串v1入选,否则选v2,使满足qi-1<r<qi(2≤i≤m)。可见适应值大的入选概率大。
第五步 交叉
(1)对每串产生[0,1]间随机数,若r>pc,则该串参加交叉操作,如此选出参加交叉的一组后,随机配对。
(2) 对每一对,产生[1,m]间的随机数以确定交叉的位置。
第六步 变异
如变异概率为Pm,则可能变异的位数的期望值为Pm ×m×M,每一位以等概率变异。具体为对每一串中的每一位产生[0,1]间的随机数r,若r<Pm,则该位发生反转,如对染色体二进制编码为数字0变为1,1变为0。
如新个体数达到M个,则已形成一个新群体,转向第三步;否则转向第四步继续遗传操作。直到找到使适应值最大的个体或达到最大进化代数为止。
由于选择概率是由适应值决定的,即适应值大的染色体入选概率也较大,使选择起到"择优汰劣"的作用。交叉使染色体交换信息,结合选择规则,使优秀信息得以保存,不良信息被遗弃。变异是基因中得某一位发生突变,以达到产生确实有实质性差异的新品种。遗传算法虽是一种随机算法,但它是有导向的,它所使用的"按概率随机选择"方法是在有方向的搜索方法中的一种工具。正是这种独特的搜索方法,使遗传算法自然地避开了其它最优化算法常遇到的局部最小陷阱。

遗传算法与传统的优化方法(枚举,启发式等)相比较,以生物进化为原型,具有很好的收敛性,在计算精度要求时,计算时间少,鲁棒性高等都是它的优点。

遗传算法的优点:
1. 与问题领域无关切快速随机的搜索能力。
2. 搜索从群体出发,具有潜在的并行性,可以进行多个个体的同时比较,robust.
3. 搜索使用评价函数启发,过程简单
4. 使用概率机制进行迭代,具有随机性。
5. 具有可扩展性,容易与其他算法结合。

遗传算法的缺点:
1、遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,
2、另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.
3、没有能够及时利用网络的反馈信息,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间。
4、算法对初始种群的选择有一定的依赖性,能够结合一些启发算法进行改进。
5、算法的并行机制的潜在能力没有得到充分的利用,这也是当前遗传算法的一个研究热点方向。
在现在的工作中,遗传算法(1972年提出)已经不能很好的解决大规模计算量问题,它很容易陷入“早熟”。常用混合遗传算法,合作型协同进化算法等来替代,这些算法都是GA的衍生算法。
遗传算法具有良好的全局搜索能力,可以快速地将解空间中的全体解搜索出,而不会陷入局部最优解的快速下降陷阱;并且利用它的内在并行性,可以方便地进行分布式计算,加快求解速度。但是遗传算法的局部搜索能力较差,导致单纯的遗传算法比较费时,在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟收敛的问题。采用何种选择方法既要使优良个体得以保留,又要维持群体的多样性,一直是遗传算法中较难解决的问题。
模拟退火算法虽具有摆脱局部最优解的能力,能够以随机搜索技术从概率的意义上找出目标函数的全局最小点。但是,由于模拟退火算法对整个搜索空间的状况了解不多,不便于使搜索过程进入最有希望的搜索区域,使得模拟退火算法的运算效率不高。模拟退火算法对参数(如初始温度)的依赖性较强,且进化速度慢。

1.在遗传编码时, 一般将瓦片的坐标作为基因进行实数编码, 染色体的第一个基因为起点坐标, 最后一个基因为终点坐标, 中间的基因为路径经过的每一个瓦片的坐标。在生成染色体时, 由起点出发, 随机选择当前结点的邻居节点中的可通过节点, 将其坐标加入染色体, 依此循环, 直到找到目标点为止, 生成了一条染色体。重复上述操作, 直到达到指定的种群规模。
2.神经网络的搭建,输入,隐藏与输出的设置。应用到遗传算法中,我们制定一个规则,什么样的坦克是好坦克:比如杀一个坦克+15,按存活时间+10,死亡后-25;这样判别优秀的坦克基因;然后遗传给下一代重新训练。
将遗传算法与宠物养成游戏相结合,不仅可以增加游戏可玩性,给玩家带来新鲜的游戏体验,丰富玩家渴求惊喜与刺激的游戏心理,又可以丰富遗传算法的应用领域与辐射面。






“OFDM”是正交频分复用有什么优缺点?
OFDM技术既有优点也有缺点,分析如下:首先,它有诸多优点:1.抗衰落能力强。2.频率利用率高。3.适合高速数据传输。4.OFDM加载算法的采用,使系统可以把更多的数据集中放在条件好的信道上以高速率进行传送。5.抗码间干扰(ISI)能力强。其次,它也有很多缺点:1.对频偏和相位噪声比较敏感。2.功率峰值...

NB-IoT和LoRa优缺点对比分析?
低带宽:意味着不需要复杂的均衡算法 低速率:意味着不需要大缓存,所以可以缓存小、DSP 配置低;低成本:这些因素使得 NB-IoT 芯片可以做得很小,因此成本就会降低 NB-IOT与LoRa简单对比未来NB-IoT将在运营商级网络中大放异彩,为物联网时代带来广覆盖、大连接、低成本的网络解决方案;而LoRa则在智慧...

网络层向上提供的服务有哪两种?试比较其优缺点
网络层向上提供的服务有两种:1、“面向连接”的虚电路服务 优点:(1)保证传送的分组不出错、不失序,重复和丢失。(2)保证传送分组的时限。缺点:路由复杂而且成本高。2、“无连接”的数据报服务 优点:(1)无网络资源障碍问题。(2)简单灵活、无连接、尽最大努力交付的数据包服务。缺点:不提供...

bp神经网络对输入数据和输出数据有什么要求
通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。BP网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步数多、易于陷入局部极小和全局搜索能力差等缺点。

深入浅出BP神经网络算法的原理
深入浅出BP神经网络算法的原理 相信每位刚接触神经网络的时候都会先碰到BP算法的问题,如何形象快速地理解BP神经网络就是我们学习的高级乐趣了(画外音:乐趣?你在跟我谈乐趣?)本篇博文就是要简单粗暴地帮助各位童鞋快速入门采取BP算法的神经网络。BP神经网络是怎样的一种定义?看这句话:一种按“误差...

bp算法是什么?
误差反向传播算法:BP算法的基本思想是,学习过程包括两个过程:信号前向传播和误差后向传播。(1)前向传播:输入样本->输入层->各隐层(处理)->输出层。(2)错误反向传播:输出错误(某种形式)->隐藏层(逐层)->输入层。BP算法基本介绍:多层隐含层前馈网络可以极大地提高神经网络的分类能力,但长期...

深度学习在乒乓球比赛视频分析中的应用有哪些?
在实际应用中,目标容易受到背景的干扰,比如当目标的颜色与背景颜色相似时,就会导致检测的效果不理想,再者,当目标发生形变或者各种姿态变化等原因也会导致最后的检测受到影响。传统的目标检测方法通常采用人工来设计目标特征,这样做的缺点是成本太高。二,深度学习在乒乓球比赛视频分析中的应用 深度学习的...

...机制是相对廉价的?注意力机制相对更对于RNN系列及CNN系列算法...
硬性注意力模型的缺点: 硬性注意力的一个缺点是基于最大采样或随机采样的方式来选择信息。因此最终的损失函数与注意力分布之间的函数关系不可导,因此无法使用在反向传播算法进行训练。为了使用反向传播算法,一般使用软性注意力来代替硬性注意力。硬性注意力需要通过强化学习来进行训练。——《神经网络与深度学习》 变种2...

网络拓扑结构的优缺点是什么?
缺点:所有的数据都需经过总线传送,总线成为整个网络的瓶颈;出现故障诊断较为困难。最著名的总线拓扑结构是以太网(Ethernet)。2. 星型拓扑结构 每个结点都由一条单独的通信线路与中心结点连结。 优点:结构简单、容易实现、便于管理,连接点的故障容易监测和排除。缺点:中心结点是全网络的可靠瓶颈,中心...

关于java新闻网站的算法
但目前关于网络新闻传播的算法伦理的国内研究还存在不足:国内算法伦理和网络新闻传播算法伦理的研究还是在起步阶段,比较成熟的系统性研究还未出现;关于算法开发人员和平台的责任机制的研究都比较薄弱,总上所述,算法推送新闻的伦理问题研究是有必要继续加强的。2.新闻推荐算法的兴起、发展与原理2.1 新闻推荐算法的兴起随着...

太原市19114676458: 遗传算法的不足之处 -
佼蚂康诺: (1)编码不规范及编码存在表示的不准确性.(2)单一的遗传算法编码不能全面地将优化问题的约束表示出来.考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加. (3)遗传算法通常的效率比其他传统的优化方法低.(4)遗传算法容易过早收敛.(5)遗传算法对算法的精度、可行度、计算复杂性等方面,还没有有效的定量分析方法.

太原市19114676458: 求教遗传算法优缺点有哪些 -
佼蚂康诺: 遗传算法……好高大上的样子……

太原市19114676458: 遗传算法有哪些利弊?
佼蚂康诺: 遗传算法在适应度函数选择不当的情况下有可能收敛于局部最优[1],而不能达到全局最优

太原市19114676458: 遗传算法(借鉴生物界进化规律的计算模型) - 搜狗百科
佼蚂康诺: 每个算法都各自的特点和它的优劣性.牛顿迭代法是一种求近似解的方法.遗传算法也是一种可以全程求最优值的方法,一般就算法之间没有办法说优劣性,只能是说在特定的条件下该用什么...

太原市19114676458: 遗传算法、粒子群算法、蚁群算法,各自优缺点和如何混合?请详细点 谢谢 -
佼蚂康诺: 遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题. 粒子群算法适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题. 蚁群算法适合在图上搜索路径问题,计算开销会大. 要将三种算法进行混合,就要针对特定问题,然后融合其中的优势,比如将遗传算法中的变异算子加入粒子群中就可以形成基于变异的粒子群算法.

太原市19114676458: 遗传算法、数值算法、爬山算法、模拟退火 各自的优缺点 -
佼蚂康诺: 遗传算法:优点是能很好的处理约束,能很好的跳出局部最优,最终得到全局最优解,全局搜索能力强;缺点是收敛较慢,局部搜索能力较弱,运行时间长,且容易受参数的影响. 模拟退火:优点是局部搜索能力强,运行时间较短;缺点是全局搜索能力差,容易受参数的影响. 爬山算法:显然爬山算法较简单,效率高,但是处理多约束大规模问题时力不从心,往往不能得到较好的解. 数值算法:这个数值算法的含义太广,你说的是哪一种数值算法?多数数组算法与爬山算法的有优缺点类似. PS:望采纳!

太原市19114676458: 遗传算法的问题 -
佼蚂康诺: 遗传算法有可能得到的是局部最优解,而不一定是全局最优解,也就是局部收敛,就是所谓的“早熟现象”.随着遗传算法的发展,这个问题也正在逐步改进.比如提高变异算子的变异概率,变异算子是跳出局部收敛的重要操作算子,当然,遗传算法有很多的改进类型.

太原市19114676458: 为什么在多目标优化时选择遗传算法,而不用其他算法?在结构参数优化时,为什么在多目标优化时可以选择遗传算法,而不用其他算法?遗传算法相对其... -
佼蚂康诺:[答案] 会说不可以用其他算法了,遗传算法最精华就在于fitness,要是多目标优化也是把多个目标融合在一起 变成一个目标 然后再结合实际目标意义(越大越优,越小越优)进行计算fitness.至于优点,在大多数智能搜索算法里面,遗传算法的全局最优概...

太原市19114676458: 请问蚁群算法和遗传算法的优缺点比较(不要一大段一大段的copy,简洁概括即可) -
佼蚂康诺: 蚁群算法受起止点位置和障碍分布的影响,环境复杂时蚂蚁容易陷入不可行点,甚至出现路径迂回和死锁.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网