导航:首页 > 源码编译 > 遗传算法在资源分配的优缺点

遗传算法在资源分配的优缺点

发布时间:2023-02-10 15:24:19

‘壹’ 使用遗传算法求解支持向量有什么优缺点

遗传算法是一种全局优化概率算法,主要的优点有

  1. 遗传算法对所求解的优化问题没有太多的数学要求,由于他的进化特性,搜素过程中不需要问题的内在性质,对于任意形式的目标函数和约束,无论是线性的还是非线性的,离散的还是连续的都可处理。

  2. 2.进化算子的各态历经性使得遗传算法能够非常有效地进行概率意义的全局搜素。

  3. 3.遗传算法对于各种特殊问题可以提供极大的灵活性来混合构造领域独立的启发式,从而保证算法的有效性。

‘贰’ 请问蚁群算法和遗传算法的优缺点比较(不要一大段一大段的,简洁概括即可)

遗传算法有比较强的全局搜索能力,特别是当交叉概率比较大时,能产生大量的新个体,提高了全局搜索范围,遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题。
蚁群算法适合在图上搜索路径问题,计算开销会大。

两者都是随机算法,只不过遗传算法是仿生学的算法;蚁群算法是数学算法,是应用目前最广的算法 。针对不同的研究方向,它所体现出来的优缺点是不一样的,将这两个算法混合,优势互补,提高优化性能,并且分别来求解离散空间的和连续空间的优化问题。

希望可以帮到您,望采纳!

‘叁’ 遗传算法结合贪婪算法的优缺点

算法,优化。
1、算法。遗传算法从问题解的串集开始搜索,而不是从单个解开始。这是遗传算法与传统优化算法的极大区别。贪婪算法是一种不追求最优解。
2、优化。遗传算法传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。贪婪算法只希望得到较为满意解的方法。

‘肆’ 遗传算法的优缺点

1、早熟。这是最大的缺点,即算法对新空间的探索能力是有限的,也容易收敛到局部最优解。
2、大量计算。涉及到大量个体的计算,当问题复杂时,计算时间是个问题。
3、处理规模小。目前对于维数较高的问题,还是很难处理和优化的。
4、难于处理非线性约束。对非线性约束的处理,大部分算法都是添加惩罚因子,这是一笔不小的开支。
5、稳定性差。因为算法属于随机类算法,需要多次运算,结果的可靠性差,不能稳定的得到解。
大致这些,lz可查阅相关专业书籍!

‘伍’ 遗传算法的迭代次数是怎么确定的,与什么有关

1. 遗传算法简介

遗传算法是用于解决最优化问题的一种搜索算法,算法的整体思路是建立在达尔文生物进化论“优胜劣汰”规律的基础上。它将生物学中的基因编码、染色体交叉、基因变异以及自然选择等概念引入最优化问题的求解过程中,通过不断的“种群进化”,最终得到问题的最优解。

2. 遗传算法实现步骤

在讲下面几个基于生物学提出的概念之前,首先我们需要理解为什么需要在最优化问题的求解中引入生物学中的各种概念。

假设我们需要求一个函数的最大值,但这个函数异常复杂以至于无法套用一般化的公式,那么就会想到:如果可以将所有可能的解代入方程,那么函数最大值所对应的那个解就是问题的最优解。但是,对于较复杂的函数来说,其可能的解的个数的数量级是我们所无法想象的。因此,我们只好退而求其次,只代入部分解并在其中找到最优解。那么这样做的核心就在于如何设定算法确定部分解并去逼近函数的最优解或者较好的局部最优解。

遗传算法就是为了解决上述问题而诞生的。假设函数值所对应的所有解是一个容量超级大的种群,而种群中的个体就是一个个解,接下去遗传算法的工作就是让这个种群中的部分个体去不断繁衍,在繁衍的过程中一方面会发生染色体交叉而产生新的个体。另一方面,基因变异也会有概率会发生并产生新的个体。接下去,只需要通过自然选择的方式,淘汰质量差的个体,保留质量好的个体,并且让这个繁衍的过程持续下去,那么最后就有可能进化出最优或者较优的个体。这么看来原来最优化问题居然和遗传变异是相通的,而且大自然早已掌握了这样的机制,这着实令人兴奋。为了将这种机制引入最优化问题并利用计算机求解,我们需要将上述提到的生物学概念转化为计算机能够理解的算法机制。

下面介绍在计算机中这种遗传变异的机制是如何实现的:

基因编码与解码:

在生物学中,交叉与变异能够实现是得益于染色体上的基因,可以想象每个个体都是一串超级长的基因编码,当两个个体发生交叉时,两条基因编码就会发生交换,产生的新基因同时包含父亲和母亲的基因编码。在交叉过程中或者完成后,某些基因点位又会因为各种因素发生突变,由此产生新的基因编码。当然,发生交叉和变异之后的个体并不一定优于原个体,但这给了进化(产生更加优秀的个体)发生的可能。

因此,为了在计算机里实现交叉和变异,就需要对十进制的解进行编码。对于计算机来说其最底层的语言是由二进制0、1构成的,而0、1就能够被用来表示每个基因点位,大量的0、1就能够表示一串基因编码,因此我们可以用二进制对十进制数进行编码,即将十进制的数映射到二进制上。但是我们并不关心如何将十进制转换为二进制的数,因为计算机可以随机生成大量的二进制串,我们只需要将办法将二进制转化为十进制就可以了。

二进制转换为十进制实现方式:

假设,我们需要将二进制映射到以下范围:

首先,将二进制串展开并通过计算式转化为[0,1]范围内的数字:

将[0,1]范围内的数字映射到我们所需要的区间内:

交叉与变异:

在能够用二进制串表示十进制数的基础上,我们需要将交叉与变异引入算法中。假设我们已经获得两条二进制串(基因编码),一条作为父亲,一条作为母亲,那么交叉指的就是用父方一半的二进制编码与母方一半的二进制编码组合成为一条新的二进制串(即新的基因)。变异则指的是在交叉完成产生子代的过程中,二进制串上某个数字发生了变异,由此产生新的二进制串。当然,交叉与变异并不是必然发生的,其需要满足一定的概率条件。一般来说,交叉发生的概率较大,变异发生的概率较小。交叉是为了让算法朝着收敛的方向发展,而变异则是为了让算法有几率跳出某种局部最优解。

自然选择:

在成功将基因编码和解码以及交叉与变异引入算法后,我们已经实现了让算法自动产生部分解并优化的机制。接下去,我们需要解决如何在算法中实现自然选择并将优秀的个体保留下来进而进化出更优秀的个体。

首先我们需要确定个体是否优秀,考虑先将其二进制串转化为十进制数并代入最初定义的目标函数中,将函数值定义为适应度。在这里,假设我们要求的是最大值,则定义函数值越大,则其适应度越大。那是否在每一轮迭代过程中只需要按照适应度对个体进行排序并选出更加优秀的个体就可以了呢?事实上,自然选择的过程中存在一个现象,并没有说优秀的个体一定会被保留,而差劲的个体就一定被会被淘汰。自然选择是一个概率事件,越适应环境则生存下去的概率越高,反之越低。为了遵循这样的思想,我们可以根据之前定义的适应度的大小给定每个个体一定的生存概率,其适应度越高,则在筛选时被保留下来的概率也越高,反之越低。

那么问题就来了,如何定义这种生存概率,一般来说,我们可以将个体适应度与全部个体适应度之和的比率作为生存概率。但我们在定义适应度时使用函数值进行定义的,但函数值是有可能为负的,但概率不能为负。因此,我们需要对函数值进行正数化处理,其处理方式如下:

定义适应度函数:

定义生存概率函数:

注:最后一项之所以加上0.0001是因为不能让某个个体的生存概率变为0,这不符合自然选择中包含的概率思想。

3. 遗传算例

在这里以一个比较简单的函数为例,可以直接判断出函数的最小值为0,最优解为(0,0)

若利用遗传算法进行求解,设定交叉概率为0.8,变异概率为0.005,种群内个体数为2000,十进制数基因编码长度为24,迭代次数为500次。

从遗传算法收敛的动态图中可以发现,遗传算法现实生成了大量的解,并对这些解进行试错,最终收敛到最大值,可以发现遗传算法的结果大致上与最优解无异,结果图如下:

4. 遗传算法优缺点

优点:

1、 通过变异机制避免算法陷入局部最优,搜索能力强

2、 引入自然选择中的概率思想,个体的选择具有随机性

3、 可拓展性强,易于与其他算法进行结合使用

缺点:

1、 遗传算法编程较为复杂,涉及到基因编码与解码

2、 算法内包含的交叉率、变异率等参数的设定需要依靠经验确定

3、 对于初始种群的优劣依赖性较强

‘陆’ 遗传算法、数值算法、爬山算法、模拟退火 各自的优缺点

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

PS:望采纳!

‘柒’ 遗传算法、粒子群算法、蚁群算法,各自优缺点和如何混合请详细点 谢谢

遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题。
粒子群算法适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题。
蚁群算法适合在图上搜索路径问题,计算开销会大。
要将三种算法进行混合,就要针对特定问题,然后融合其中的优势,比如将遗传算法中的变异算子加入粒子群中就可以形成基于变异的粒子群算法。

‘捌’ 遗传算法、数值算法、爬山算法、模拟退火 各自的优缺点

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

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

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

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

(8)遗传算法在资源分配的优缺点扩展阅读:

注意事项:

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

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

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

‘玖’ 遗传算法、粒子群算法、蚁群算法,各自优缺点和如何混合

遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题.粒子群算法适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题.蚁群算法适合在图上搜索路径问题,计算开销会大.要将...

‘拾’ 遗传算法、粒子群、模拟退火相比于普通的蒙特卡洛算法有什么优势他们相互的优缺点都是什么

他们有类似之处,但差别也不小。
蒙特卡洛算法是数值计算方法,原理是利用随机数来解决计算问题。与它对应的是确定性算法。也就是说该种算法属于随机算法,得到的解是近似解。
而遗传算法、粒子群、模拟退火虽然也是随机近似算法,但这三种都是仿生智能算法,且比蒙特卡洛算法要复杂,应用的领域也不太相同。
显然,蒙特卡洛算法很轻巧,求解问题更快速。

阅读全文

与遗传算法在资源分配的优缺点相关的资料

热点内容
nfc全加密门禁卡 浏览:636
身份信息被加密 浏览:482
我的盐城app怎么添加不了家庭成员 浏览:493
php商城并发 浏览:348
熊猫绘画app怎么做出大佬的笔刷 浏览:603
云存储服务器知识 浏览:461
服务器cpu是什么指令集 浏览:590
糖猫t10怎么安装app 浏览:992
电脑加密u盘怎么使用 浏览:517
linux如何升级php版本升级 浏览:841
二级程序员c语言难度 浏览:352
批处理编译qt 浏览:66
铁友app怎么查询机票订单 浏览:197
myeclipselinux破解版 浏览:417
批处理命令语法不正确 浏览:889
pdf合并成一个pdf在线 浏览:383
柱加密区构造要求 浏览:515
地板木龙骨标准跟加密区别 浏览:151
解压放松的好地方河南 浏览:965
搜狗怎么移动到文件夹 浏览:617