遗传算法的收敛性
‘壹’ 遗传算法问题:群体大小N,染色体长度M,为了收敛可能性较大,那么N 和M 是不是有一定关系啊,讲讲收敛吧
N和M没有关系的,收不收敛跟你采取的算子策略(选择、交叉、变异)有关系,跟种群大小也有点关系,但跟染色体长度没关系。
‘贰’ 遗传算法有收敛性分析吗有的话怎么分析呢
神经网络的设计要用到遗传算法,遗传算法在神经网络中的应用主要反映在3个方面:网络的学习,网络的结构设计,网络的分析。 1.遗传算法在网络学习中的应用 在神经网络中,遗传算法可用于网络的学习。这时,它在...
‘叁’ 基本遗传算法和改进的遗传算法以概率多少收敛
这个没有确定的数值,对不同的问题概率也不一样,只能定性地说“以接近于1的概率全局收敛”。
‘肆’ 关于MATLAB遗传算法的问题
不知道你这个遗传算法得出的结果与你已知的最小值差距多大?其实遗传算法作为优化算法,得到的只是优化解,不一定是最优解,此其一,其二,基本遗传算法可调整的参数太多,例如选择,交叉的方法,而这些对结果影响还是比较大的,如果你用轮盘赌方法效果不怎样,可以选择用其他方法试试。
最后,matlab是有遗传工具箱的,你可以直接使用工具箱得到结果,如果你不确定你的程序有没有写错的话。也可以作为一个参考。
‘伍’ 遗传算法的作用
与传统的优化相比,在求取符合运行要求的全局最优解时,遗传算法作为一种搜索的方法,已经成为成熟的具有良好收敛性、极高鲁棒性和广泛适用性的优化方法,很好的解决了电力系统的多变量、非线性、不连续、多约束的优化控制问题。
‘陆’ 遗传算法具体应用
1、函数优化
函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数:连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。
2、组合优化
随着问题规模的增大,组合优化问题的搜索空间也急剧增大,有时在目前的计算上用枚举法很难求出最优解。对这类复杂的问题,人们已经意识到应把主要精力放在寻求满意解上,而遗传算法是寻求这种满意解的最佳工具之一。
此外,GA也在生产调度问题、自动控制、机器人学、图象处理、人工生命、遗传编码和机器学习等方面获得了广泛的运用。
3、车间调度
车间调度问题是一个典型的NP-Hard问题,遗传算法作为一种经典的智能算法广泛用于车间调度中,很多学者都致力于用遗传算法解决车间调度问题,现今也取得了十分丰硕的成果。
从最初的传统车间调度(JSP)问题到柔性作业车间调度问题(FJSP),遗传算法都有优异的表现,在很多算例中都得到了最优或近优解。
(6)遗传算法的收敛性扩展阅读:
遗传算法的缺点
1、编码不规范及编码存在表示的不准确性。
2、单一的遗传算法编码不能全面地将优化问题的约束表示出来。考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加。
3、遗传算法通常的效率比其他传统的优化方法低。
4、遗传算法容易过早收敛。
5、遗传算法对算法的精度、可行度、计算复杂性等方面,还没有有效的定量分析方法。
‘柒’ 遗传算法的优缺点
优点:
1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。
另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。
2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。
3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。
另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。
4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。
5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。
缺点:
1、遗传算法在进行编码时容易出现不规范不准确的问题。
2、由于单一的遗传算法编码不能全面将优化问题的约束表示出来,因此需要考虑对不可行解采用阈值,进而增加了工作量和求解时间。
3、遗传算法效率通常低于其他传统的优化方法。
4、遗传算法容易出现过早收敛的问题。
(7)遗传算法的收敛性扩展阅读
遗传算法的机理相对复杂,在Matlab中已经由封装好的工具箱命令,通过调用就能够十分方便的使用遗传算法。
函数ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最优解,fval是最优值,@fitnessness是目标函数,nvars是自变量个数,options是其他属性设置。系统默认求最小值,所以在求最大值时应在写函数文档时加负号。
为了设置options,需要用到下面这个函数:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通过这个函数就能够实现对部分遗传算法的参数的设置。
‘捌’ 遗传算法中,当我设置最大进化代数maxgen不同时,收敛图的最小值总是不一致,总是不断的下降
是收敛性不好,交叉率小了点,设置为0.9~0.97;
另外,不要用轮盘赌法,换一种有效一点的选择方法,例如排序法。
‘玖’ 遗传算法的收敛性问题
是算子有问题,交叉的方法都是比较简单的,但对于某些情况可能并不好用,也就是说算法本身无法体现出优胜劣汰的规则,可能因此导致无法收敛。
收敛数列令为一个数列,且A为一个固定的实数,如果对于任意给出的b>0,存在一个正整数N,使得对于任意n>N,有|an-A|<b,则数列存在极限A,数列被称为收敛。非收敛的数列被称作“发散”(divergence)数列。
可见收敛不是指数值越来越小,而是指与极限值的距离(即差的绝对值)越来越小,只要你的目标函数是压缩映射,那么使用遗传算法就一定可以计算出全局收敛的近似值。
(9)遗传算法的收敛性扩展阅读:
由于遗传算法不能直接处理问题空间的参数,因此必须通过编码将要求解的问题表示成遗传空间的染色体或者个体。这一转换操作就叫做编码,也可以称作(问题的)表示(representation)。
遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,所以适应度函数的值要取正值。由此可见,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。