导航:首页 > 源码编译 > 遗传算法求解jsp问题

遗传算法求解jsp问题

发布时间:2022-08-25 03:46:04

‘壹’ 遗传算法具体应用

1、函数优化

函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数:连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。

2、组合优化

随着问题规模的增大,组合优化问题的搜索空间也急剧增大,有时在目前的计算上用枚举法很难求出最优解。对这类复杂的问题,人们已经意识到应把主要精力放在寻求满意解上,而遗传算法是寻求这种满意解的最佳工具之一。

此外,GA也在生产调度问题、自动控制、机器人学、图象处理、人工生命、遗传编码和机器学习等方面获得了广泛的运用。

3、车间调度

车间调度问题是一个典型的NP-Hard问题,遗传算法作为一种经典的智能算法广泛用于车间调度中,很多学者都致力于用遗传算法解决车间调度问题,现今也取得了十分丰硕的成果。

从最初的传统车间调度(JSP)问题到柔性作业车间调度问题(FJSP),遗传算法都有优异的表现,在很多算例中都得到了最优或近优解。


(1)遗传算法求解jsp问题扩展阅读:

遗传算法的缺点

1、编码不规范及编码存在表示的不准确性。

2、单一的遗传算法编码不能全面地将优化问题的约束表示出来。考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加。

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

4、遗传算法容易过早收敛。

5、遗传算法对算法的精度、可行度、计算复杂性等方面,还没有有效的定量分析方法。

‘贰’ 遗传算法为什么能求解npc问题,关键点在哪里

遗传算法在很多领域都得到应用;从神经网络研究的角度上考虑,最关心的是遗传算法在神经网络的应用。在遗传算法应用中,应先明确其特点和关键问题,才能对这种算法深入了解,灵活应用,以及进一步研究开发。

一、遗传算法的特点

1.遗传算法从问题解的中集开始嫂索,而不是从单个解开始。

这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,复盖面大,利于全局择优。

2.遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。

由于遗传算法使用适应值这一信息进行搜索,并不需要问题导数等与问题直接相关的信息。遗传算法只需适应值和串编码等通用信息,故几乎可处理任何问题。

3.遗传算法有极强的容错能力

遗传算法的初始串集本身就带有大量与最优解甚远的信息;通过选择、交叉、变异操作能迅速排除与最优解相差极大的串;这是一个强烈的滤波过程;并且是一个并行滤波机制。故而,遗传算法有很高的容错能力。

4.遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。

这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最优解的产生,变异体现了全局最优解的复盖。

5.遗传算法具有隐含的并行性

‘叁’ 怎么在基于JSP的网站中用到数据挖掘算法呢

数据挖掘的核心是为数据建立模型的过程。所有的数据挖掘产品都有这个建模过程,不同的是它们构造模型的方式互不相同。进行数据挖掘时可采用许多不同的算法。决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。常用的算法有CHAID、CART、ID3和C4.5。决策树方法很直观,这是它的最大优点,缺点是随着数据复杂性的提高,分支数增多,管理起来很困难。ANGOSS公司的KnowedgeSEEKER产品采用了混合算法的决策树。神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络常用于两类问题:分类和回归。它的最大优点是它能精确地对复杂问题进行预测。神经网络的缺点是网络模型是个黑盒子,预测值难于理解;神经网络有过拟合的现象。IBM、SAS、SPSS、HNC、ANGOSS等公司是这个产品的供应者。遗传算法是一种基于进化过程的组合优化方法。它的基本思想是随着时间的更替,只有最适合的物种才得以进化。遗传算法能够解决其它技术难以解决的问题,然而,它也是一种最难于理解和最开放的方法。遗传算法通常与神经网络结合使用。采用上述技术的某些专门的分析工具已经发展了大约十年的历史,不过这些工具所面对的数据量通常较小。而现在这些技术已经被直接集成到许多大型的工业标准的数据仓库和联机分析系统中去了。

‘肆’ 遗传算法可以解决哪些问题

遗传算法主要是用来求解最优化问题的。
一般来讲可以求解函数的最大、最小值问题,还可以结合其它一些方法解决(非)线性回归、分类问题等等。

但遗传算法有两个缺点,一是时间长,二是初值的选择会影响收敛的效果。

它的本质,实际上还是随机搜索算法,还是属于所谓的蒙特卡罗式的方法。

‘伍’ 如何用遗传算法实现多变量的最优化问题

将多个变量的数值编码编排进去,进行组合,只需要增长基因个体的长度,但是要明确每个变量具体的位置,然后让每个变量转化成二进制的等长编码,组合在一起,就可以来运算了。

‘陆’ 遗传算法的主要步骤

为了使用遗传算法来解决优化问题,准备工作分为以下四步[56,57,61]

7.4.1 确定问题的潜在解的遗传表示方案

在基本的遗传算法中,表示方案是把问题的搜索空间中每个可能的点表示为确定长度的特征串(通常是二进制串)。表示方案的确定需要选择串长l和字母表规模k。在染色体串和问题的搜索空间中的点之间选择映射有时容易实现,有时又非常困难。选择一个便于遗传算法求解问题的表示方案经常需要对问题有深入的了解。

7.4.2 确定适应值的度量

适应值度量为群体中每个可能的确定长度的特征串指定一个适应值,它经常是问题本身所具有的。适应值度量必须有能力计算搜索空间中每个确定长度的特征串的适应值。

7.4.3 确定控制该算法的参数和变量

控制遗传算法的主要参数有群体规模Pop-Size、算法执行的最大代数N-Gen、交叉概率Pc、变异概率Pm和选择策略R等参数。

(1)群体规模Pop-Size。群体规模影响到遗传算法的最终性能和效率。当规模太小时,由于群体对大部分超平面只给出了不充分的样本量,所以得到的结果一般不佳。大的群体更有希望包含出自大量超平面的代表,从而可以阻止过早收敛到局部最优解;然而群体越大,每一代需要的计算量也就越多,这有可能导致一个无法接受的慢收敛率。

(2)交叉率Pc。交叉率控制交叉算子应用的频率,在每代新的群体中,有Pc·Pop-Size个串实行交叉。交叉率越高,群体中串的更新就越快。如果交叉率过高,相对选择能够产生的改进而言,高性能的串被破坏得更快。如果交叉率过低,搜索会由于太小的探查率而可能停滞不前。

(3)变异率Pm。变异是增加群体多样性的搜索算子,每次选择之后,新的群体中的每个串的每一位以相等的变异率进行随机改变。对于M进制串,就是相应的位从1变为0或0变为1。从而每代大约发生Pm·Pop-Size·L次变异,其中L为串长。一个低水平的变异率足以防止整个群体中任一给定位保持永远收敛到单一的值。高水平的变异率产生的实质是随机搜索。

比起选择和交叉,变异在遗传算法中是次要的,它在恢复群体中失去的多样性方面具有潜在的作用。例如,在遗传算法执行的开始阶段,串中一个特定位上的值1可能与好的性能紧密联系,也就是说从搜索空间中某些初始随机点开始,在那个位上的值1可能一致地产生适应性度量好的值。因为越好的适应值与串中那个位上的值1相联系,复制作用就越会使群体的遗传多样性损失。当达到一定程度时,值0会从整个群体中的那个位上消失,然而全局最优解可能在串中那个位上是0。一旦搜索范围缩小到实际包含全局最优解的那部分搜索空间,在那个位上的值0就可能正好是达到全局最优解所需的。这仅仅是一种说明搜索空间是非线性的方式,这种情形不是假定的,因为实际上所有我们感兴趣的问题都是非线性的。变异作用提供了一个恢复遗传多样性的损失的方法。

(4)选择策略R。有两种选择策略。一是利用纯选择,即当前群体中每个点复制的次数比与点的性能值成比例。二是利用最优选择,即首先执行纯选择,且具有最好性能的点总是保留到下一代。在缺少最优选择的情况下,由于采样误差、交叉和变异,最好性能的点可能会丢失。

通过指定各个参数Pop-Size、Pc、Pm和R的值,可以表示一个特定的遗传算法。

7.4.4 确定指定结果的方法和停止运行的准则

当遗传的代数达到最大允许代数时,就可以停止算法的执行,并指定执行中得到的最好结果作为算法的结果。

基本的遗传算法

1)随机产生一个由固定长度字符串组成的初始群体。

2)对于字符串群体,迭代地执行下述步骤,直到选择标准被满足为止。

①计算群体中的每个个体字符串的适应值;

②实施下列三种操作(至少前两种)来产生新的群体,操作对象的选取基于与适应度成比例的概率。

选择:把现有的个体串按适应值复制到新的群体中。

交叉:通过遗传重组随机选择两个现有的子串进行遗传重组,产生两个新的串。

变异:将现有串中某一位的字符随机变异产生一个新串。

3)把在后代中出现的最好适应值的个体串指定为遗传算法运行的结果。这一结果可以是问题的解(或近似解)。

基本的遗传算法流程图如图7-1所示。

阅读全文

与遗传算法求解jsp问题相关的资料

热点内容
柯洁在哪个app下围棋 浏览:751
平板用什么app看内在美 浏览:609
cad计算机命令 浏览:173
邮箱设置域名服务器错误什么意思 浏览:671
硬盘解压失败受损蓝屏 浏览:654
应用和服务器是什么意思 浏览:485
程序员需要知道的网站 浏览:713
微信支付页面加密码怎么加 浏览:57
网络加密狗问题 浏览:698
cnc曲面编程实例 浏览:170
什么app零粉分发视频有收益 浏览:164
肯尼亚程序员 浏览:640
新科源码 浏览:661
如何判断服务器有没有带宽 浏览:44
天正建筑批量删除命令 浏览:96
cad最下面的一排命令都什么意思 浏览:456
pythonimportcpp 浏览:852
W10的系统怎么给U盘加密 浏览:372
华为手机代码编程教学入门 浏览:764
和彩云没会员怎样解压 浏览:636