第一章 遗传算法概述
- 格式:doc
- 大小:95.50 KB
- 文档页数:8
遗传算法一、遗传算法概述遗传算法(Genetic Algorithm,简称GA)是在20世纪60年代由美国密歇根大学John H.Holland教授及其学生首先提出来的。
它的基本思想是模拟生物和人类进化的方法求解复杂的优化问题,因而也称为模拟进化优化算法。
1遗传算法的生物学基础生物在自然界中的生存繁衍,显示了其对自然环境的优异自适应能力。
遗传算法就是这种生物行为过程的计算机模拟,遗传算法使得各种人工系统具有优良的自适应能力和优化能力。
遗传算法所借鉴的生物学基础就是生物的遗传和进化。
世间的生物从其亲代继承特性或性状,这种生命现象称为遗传(Heredity),研究这种生命现象的科学叫做遗传学(Genetics)。
按照孟德尔和摩根(G.Mendel,T.Morgan)的遗传学理论,遗传物质是作为一种指令密码封装在每个细胞中,并以基因的形式排列在染色体(Chromosome)上,每个基因有特殊的位置并控制生物的某些特性。
不同的基因组合产生的的个体对环境的适应性不一样,通过基因杂交和突变可以产生对环境适应性强的后代。
经过优胜劣汰的自然选择,适应值高的基因结构就得以保存下来,从而逐渐形成了经典的遗传学染色体理论,揭示了遗传和变异的基本规律。
现代遗传学则对基因的本质、功能、结构、突变和调控进行了深入探讨,开辟了遗传工程研究的新领域。
在一定的环境影响下,生物物种通过自然选择、基因交换和变异等过程进行繁殖生长,构成了生物的整个进化过程。
生物的遗传物质的主要载体是染色体,DNA是其中最主要的遗传物质,而基因又是控制生物性状的遗传物质的功能单位和结构单位。
复数个基因组成染色体,染色体中基因的位置称为基因座(locus),而基因所取的值则叫做等位基因(alleles)。
基因和基因座决定了染色体的特征,也决定了生物个体的性状。
此外,染色体有相应的两种表示模式,即基因型(genotype)和表现型(phenotype)。
所谓表现型是指生物个体所表现出来的性状,而基因型是指与表现型密切相关的基因组成。
遗传算法算法原理(原创实用版)目录1.遗传算法的概述2.遗传算法的原理3.遗传算法的应用正文一、遗传算法的概述遗传算法(Genetic Algorithm,简称 GA)是一种模拟自然界生物进化过程的优化算法。
其核心思想是基于自然选择、遗传和突变等生物学原理,通过群体中的个体在不断迭代中进行优胜劣汰,达到解决问题和优化目标的效果。
遗传算法在解决复杂问题、非线性问题和全局最优解问题等方面具有较强的优势,广泛应用于各个领域。
二、遗传算法的原理1.遗传操作遗传算法的基本操作包括选择、交叉和变异。
选择操作是根据适应度函数对当前群体中的个体进行评估,选择优秀个体进行繁殖。
交叉操作是将选中的优秀个体进行染色体互换,产生新的后代。
变异操作是在后代中随机选择某个位点进行变异,以一定的概率产生新的特性。
2.适应度函数适应度函数是遗传算法中的重要概念,用于评估每个个体的优劣程度。
适应度函数的取值范围为 [0, 1],其中 1 表示最优解,0 表示最劣解。
在遗传算法中,适应度函数的取值会直接影响到个体的选择和淘汰。
3.遗传算法的基本流程遗传算法的基本流程如下:(1)初始化种群:创建一个初始种群,包括多个随机生成的个体,每个个体表示一个解。
(2)评估适应度:计算种群中每个个体的适应度值。
(3)选择操作:根据适应度值对种群进行选择,选择一定数量的优秀个体进行繁殖。
(4)交叉操作:对选中的优秀个体进行染色体互换,生成新的后代。
(5)变异操作:在后代中随机选择某个位点进行变异,以一定的概率产生新的特性。
(6)更新种群:将新产生的后代替换掉原种群中一些适应度较低的个体,形成新的种群。
(7)重复步骤 2-6,直至满足停止条件。
三、遗传算法的应用遗传算法在许多领域都取得了显著的应用成果,如机器学习、控制系统、信号处理、图像处理、运筹学等。
遗传算法概述1遗传算法概述遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的自适应概率性随机化迭代搜索算法。
1975 年,美国Michigan 大学的J.H.Holland 教授在从事机器学习时注意到,学习不仅可以通过单个生物体的适应来完成,而且可以通过一个种群的许多进化适应来加以实现,Kenneth De Jong 将这种算法用来解决优化问题。
Holland 研究GA 是从设计和实现一种能应付变化的、不确定环境的鲁棒性好的自适应系统开始。
他认为这种系统的自适应是从所处的环境中随时得到反馈的函数关系,因而形成了我们今天称之为简单遗传算法的再生计划(Reproductive Plan)。
这种简单的GA 只是一类具有固定种群(Population)规模、个体用固定长度的基因链的抽象模型。
根据适应度(Fitness)来随机地选择双亲,并按交叉(Crossover)和变异(Mutation)算子来产生新的种群。
遗传算法的特点是它的算法中不包含待解决问题所持有的形态。
它是从改变基因的配置来实现问题的整体优化的,因而属于自下而上的优化方法。
类似于生物的进化过程,遗传算法处理的是变量集合的编码而非变量本身。
它直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
遗传算法的这些特点已被人们广泛地应用于组合优化、机器学习、信号理、自适应控制和人工生命等领域。
它是现代有关智能计算中的关键技术之一。
2.进化计算进化计算[19](Evolutionary Computation,简记为EC)是自60 年代开始发展的一门新兴学科。
它是指以进化原理为仿真依据,按优胜劣汰的自然选择优化规律和方法,在计算机上解决科技领域中难以用传统优化方法解决的优化计算问题的算法和程序,因此有时也称之为进化算法(Evolutionary Algorithms,EA)。
第一章 遗传算法第一节 遗传算法概述遗传算法的研究历史,从20世纪60年代末期到70年代初期主要由美国Michigan 大学的师生研究,随后的20余年,取得了巨大的发展,在计算机时代,使遗传算法受到广泛的重视。
遗传算法是模拟的生物进化,如选择,交叉,变异,局域或临域等。
假设对相当于自然界中的一群人的一个种群进行操作,第一步的选择是以现实世界中的优胜劣汰现象为背景的;第二步的重组交叉则相当于人类的结婚和生育;第三步的变异则与自然界中偶然发生的变异是一致的。
遗传算法为我们提供了和传统的搜索和优化方法不同的途径。
遗传算法具有自组织,自适应和自学习性,这样利用其可以解决复杂的非结构化的问题。
另外,遗传算法还具有本质的并行性。
遗传算法主要有三个基本操作:选择,交叉或基因重组和变异。
这些操作可以用不同的方法来实现。
参数编码,初始群体的设定,适应度函数的设计,遗传操作的设计,控制参数设定等5个要素组成了遗传算法的核心内容。
遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,与传统搜索算法不同,遗传算法从一组随机产生的称为“种群”的初始解开始搜索过程。
种群中的每个个体是问题的一个解,称为“染色体”。
染色体是一串符号,比如一个二进制字符串。
这些染色体在后续迭代中不断进化,称为遗传。
在每一代中用“适值”测量染色体的好坏,生成的下一代染色体称为后代。
后代是由前一代染色体通过交叉或者变异运算形成的。
在新一代形成过程中,根据适度的大小选择部分后代,淘汰部分后代。
从而保持种群大小是常数。
适值高的染色体被选中的概率较高,这样经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解。
遗传算法进化模式如图1所示,搜索空间中个体演变为最优个体,其在高度适应度上 的增殖概率是按时代递增的,图中表现个体的色彩浓度表示个体增殖的概率分布。
遗传算法的一般流程如图2所示:第一步 随机产生初始种群,个体数目一定,每个个体表示为染色体的基因编码; 第二步 计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算;否则转向第3步;第三步 依据适应度选择再生个体,适应度高的个体被选中的概率高,适应度低的个世代图1 遗传算法进化模式示意图低 高个体搜索空间 适应度体可能被淘汰;第四步按照一定的交叉概率和交叉方法,生成新的个体;第五步按照一定的变异概率和变异方法,生成新的个体;第六步有交叉和变异产生新一代的种群,返回到第二步。
遗传算法一、解析遗传算法(Genetic Algorithm)是一种启发式搜索算法,它收到生物进化过程的启发,通过模拟自然选择和遗传机制来寻找最优解,遗传算法将问题表示为一个染色体(个体)集合,并通过交叉和变异操作在种群中形成新的染色体。
通过一代代选择和遗传,最终找到具有高适应的解。
遗传算法是是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
遗传算法首先依据某种方式(通常是随机)生成一组候选解,之后,候选解中的个体通过交叉和变异产生新的解群,再在这个解群中选取较优的个体产生新一代的候选解,重复此过程,直到满足某种收敛指标为止。
二、关键词学习遗传算法必须要了解的关键词:种群、个体、基因、交叉、变异、选择;2.1种群就是组候选解的集合,遗传算法正是通过种群的迭代进化,实现了最优解或者近似最优解.2.2个体一个个体对应一个解,也就是构成种群的基本单元。
在遗传算法中,需要把一个解构造成染色体(chromosome)的形式,如同在扇贝例子中,通过染色体来表示扇贝花纹图案,这个过程也被称为编码,而当算法结束时,需要把最优的染色体还原成最优解,这个过程称为解码。
2.3基因染色体是由基因组成的,所以把组成遗传算法染色体(个体)的基本部分称为基因,基因的选择可以多种多样,比如在扇贝例子中,我们用像素作为基因,但实际上扇贝例子的原文是用不同的三角形块作为基因,通过不同三角形块的叠加形成firefox图案。
在实际中遗传算法广泛用到的一种基因是0、1、比特。
0、1、比特基因形成的染色体是一个二进制串。
2.4交叉交叉是将两个父代个体的部分基因进行交换,从而形成两个新的个体。
最简单的交叉如同扇贝例子,在染色体上寻找一个点,然后进行相互交叉,这种交叉称为单点交叉;交叉类型分为:单点交叉(one-point crossover)多点交叉(大于等于2的点进行交叉)(multi-point crossover)均匀交叉(uniform crossover)洗牌交叉(shuffle crossover)2.5变异按照一定的概率将个体中的基因值用其它的基因值来替换,从而形成一个新的个体,如同自然界中生物的变异概率较小,在遗传算法中基因的变异概率也应该设置为较小。
基本遗传算法Holland创建的遗传算法是一种概率搜索算法,它利用某种编码技术作用于称为染色体的数串,其基本思想是模拟由这些串组成的个体进化过程.该算法通过有组织的、然而是随机的信息交换,重新组合那些适应性好的串.在每一代中,利用上一代串结构中适应性好的位和段来生成一个新的串的群体;作为额外增添,偶尔也要在串结构中尝试用新的位和段来替代原来的部分。
遗传算法是一类随机优化算法,它可以有效地利用已有的信息处理来搜索那些有希望改善解质量的串.类似于自然进化,遗传算法通过作用于染色体上的基因,寻找好的染色体来求解问题.与自然界相似,遗传算法对待求解问题本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应度值来改变染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会.第一章遗传算法的运行过程遗传算法模拟了自然选择和遗传中发生的复制、交叉和变异等现象,从任一初始种群(Population)出发,通过随机选择、交叉和变异操作,产生一群更适应环境的个体,使群体进化到搜索空间中越来越好的区域,这样一代一代地不断繁衍进化,最后收敛到一群最适应环境的个体(Individual),求得问题的最优解。
一.完整的遗传算法运算流程完整的遗传算法运算流程可以用图1来描述。
由图1可以看出,使用上述三种遗传算子(选择算子、交叉算子和变异算子)的遗传算法的主要运算过程如下:(1)编码:解空间中的解数据x,作为遗传算法的表现形式。
从表现型到基因型的映射称为编码.遗传算法在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合就构成了不同的点。
(2)初始群体的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。
遗传算法以这N个串结构作为初始点开始迭代。
设置进化代数计数器t←0;设置最大进化代数T;随机生成M个个体作为初始群体P(0)。
(3)适应度值评价检测:适应度函数表明个体或解的优劣性。
第一章遗传算法概述遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。
美国Michigan大学的Holland教授及其学生受到生物模拟技术的启发,创造出了一种基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化技术——遗传算法。
1967年,Holland的学生Bagley在其博士论文中首次提出了“遗传算法”一词,他发展了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用双倍体的编码方法。
Holland教授用遗传算法的思想对自然和人工自适应系统进行了研究,提出了遗传算法的基本定理——模式定理(Schema Theorem),并于1975年出版了第一本系统论述遗传算法和人工自适应系统的专著《Adaptation in Natural Land Artificial Systems》。
80年代,Holland教授实现了第一个基于遗传算法的机器学习系统,开创了遗传算法的机器学习的新概念。
1975年,De Jong 基于遗传算法的思想在计算机上进行了大量的纯数值函数优化计算实验,树立了遗传算法的工作框架,得到了一些重要且具有指导意义的结论。
1989年,Goldberg出版了《Genetic Algorithm in Search,Optimization and Machine Learning》一书,系统地总结了遗传算法的主要研究成果,全面完整地论述了遗传算法的基本原理及其应用。
1991年,Davis出版了《Handbook of Genetic Algorithms》一书,介绍了遗传算法在科学计算、工程技术和社会经济中的大量实例。
1992年,Koza将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程(Genetic Programming,简称GP)的概念。
遗传算法被众多的使用者证明在控制系统的离线设计方面是有效的策略。
例如,Krishnakumar和Goldberg 以及Bramlette和Cusin已证明使用遗传优化方法在太空应用中导出优异的控制器结构比使用传统方法如LQR和Powell(鲍威尔) 的增音机设计所用的时间要少(功能评估)。
第一章遗传算法概述遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。
美国Michigan大学的Holland教授及其学生受到生物模拟技术的启发,创造出了一种基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化技术——遗传算法。
1967年,Holland的学生Bagley在其博士论文中首次提出了“遗传算法”一词,他发展了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用双倍体的编码方法。
Holland教授用遗传算法的思想对自然和人工自适应系统进行了研究,提出了遗传算法的基本定理——模式定理(Schema Theorem),并于1975年出版了第一本系统论述遗传算法和人工自适应系统的专著《Adaptation in Natural Land Artificial Systems》。
80年代,Holland教授实现了第一个基于遗传算法的机器学习系统,开创了遗传算法的机器学习的新概念。
1975年,De Jong 基于遗传算法的思想在计算机上进行了大量的纯数值函数优化计算实验,树立了遗传算法的工作框架,得到了一些重要且具有指导意义的结论。
1989年,Goldberg出版了《Genetic Algorithm in Search,Optimization and Machine Learning》一书,系统地总结了遗传算法的主要研究成果,全面完整地论述了遗传算法的基本原理及其应用。
1991年,Davis出版了《Handbook of Genetic Algorithms》一书,介绍了遗传算法在科学计算、工程技术和社会经济中的大量实例。
1992年,Koza将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程(Genetic Programming,简称GP)的概念。
遗传算法被众多的使用者证明在控制系统的离线设计方面是有效的策略。
例如,Krishnakumar和Goldberg 以及Bramlette和Cusin已证明使用遗传优化方法在太空应用中导出优异的控制器结构比使用传统方法如LQR和Powell(鲍威尔) 的增音机设计所用的时间要少(功能评估)。
Porter和Mohamed展示了使用本质结构分派任务的多变量飞行控制系统的遗传设计方案。
与此同时,另一些人证明了遗传算法怎么能在控制器结构的选择中使用。
从遗传算法的整个发展过程来看,70年代是兴起阶段,80年代是发展阶段,90年代是高潮阶段。
遗传算法作为一种实用、高效、鲁棒性强的优化技术,发展极为迅速,已引起国内外学者的高度重视。
1.1 遗传算法概念生物的进化(Evolution)过程主要是通过染色体之间的交叉和变异来完成的。
基于对自然界中生物遗传与进化机理的模仿,针对不同的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发出了许多种不同的编码方式来模仿不同环境下的生物遗传特性。
这样,由不同的编码(Coding)方法和不同的遗传算子就构成了各种不同的遗传算法。
什么是遗传算法?遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。
其本质是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。
遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。
在遗传算法的每一代,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。
这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。
个体或当前近似解被编码为由字母组成的串,即染色体(Chromosome),使基因(Gene,染色体值) 能在(表现) 域决策变量上被惟一地描述。
尽管可以使用二进制、整数、实数等,但是在遗传算法表现型上最常用的是二进制字符串。
例如,一个问题具有两个变量X1和X2,它们的染色体结构能用图1.1所示的方法描述。
图1.1个体的染色体结构X1被编码为10位,X2被编码为15位。
位数的多少能够反应精确度水平或个体决策变量的范围,是一个不含人们试图解决问题的信息的染色体串。
这只是表现值的染色体编码,任何意义均可应用于表现型。
无论如何,就像下面的描述,搜索过程将在决策变量的编码中而不是它们自身中操作,当然除了在实值基因被使用的情况。
在决策变量域的染色体表现型已被编码,就可以估计种群的个体成员的特性或适应度。
通过特征目标函数来估计个体在问题域中的特性。
在自然世界中,这就是个体在现行环境中的生存能力。
因此,目标函数建立的基础是在整个繁殖过程中选择成对的个体进行交配。
在再生(复制) 期间,每个个体均被计算适应度值,它来自没有加工的原始特性度量,由目标函数给出。
这个值用来在选择中偏向更加适合的个体。
相对整个种群,适应度高的个体具有高的选中参加交配的概率,而适应度低的个体具有相对低的选中概率。
一旦个体计算了适应度值,个体能根据它们的相对适应度从种群中被选中并重组,产生下一代。
遗传算子直接操作染色体的特征(基因),使用一般情况下个体的基因代码,产生更适合的个体。
重组算子是运用在一对个体或一大组个体中交换基因信息。
最简单的重组算子是单点交叉。
考虑两个二进制父代串:A=1 0 0 1 0 1 1 0 和B=1 0 1 1 1 0 0 0如果一个整数位置I是随机地在1到串长L减1[1,L-1]之间选择,在这点后,两个个体间的基因进行交换,随后两个子代串产生。
例如,当交叉点I=5时,两个子代串产生如下:A'= 1 0 0 1 0 0 0 0和B'= 1 0 1 1 1 1 1 0。
交叉算子并不是必须在种群的所有串中执行。
当一对个体被选中培育下一代时,代替的是应用一个概率P x。
进一步的遗传算法称为变异,再次使用一个概率P m应用到新染色体上。
变异能根据一些概率准则引起个体基因表现型发生变化,在二进制表现型中,变异引起单个位的状态变化,即0变1,或者1变0。
例如,在A'中变异第四位,1变0,产生新串为 1 0 0 0 0 0 0 0。
变异通常被认为是一后台算子,以确保研究问题空间的特殊子空间的概率永不为零。
变异具有阻止局部最优收敛的作用。
在重组和变异后,如果需要,这些个体串随后被解码,目标函数评估,计算每个个体的适应度值,个体根据适应度被选择参加交配,并且这个过程继续直到产生子代。
在这种方法中,种群中个体的平均性能希望是提高的,好的个体被保存并且相互产生下一代,而适应度低的个体则消失。
当一些判定条件满足后,遗传算法则终止,例如,一定的遗传代数、种群的均差或当遇到搜索空间的特殊点。
1.2 遗传算法的特点遗传算法是一种借鉴生物界自然选择(Natural Selection)和自然遗传机制的随机搜索算法(Random searching algorithms)。
它与传统的算法不同,大多数古典的优化算法是基于一个单一的度量函数(评估函数)的梯度或较高次统计,以产生一个确定性的试验解序列;遗传算法不依赖于梯度信息,而是通过模拟自然进化过程来搜索最优解(Optimal Solution),它利用某种编码技术,作用于称为染色体的数字串,模拟由这些串组成的群体的进化过程。
遗传算法通过有组织地、随机地信息交换来重新组合那些适应性好的串,生成新的串的群体。
1.2.1 遗传算法的特点遗传算法具有如下特点:(1)对可行解表示的广泛性。
遗传算法的处理对象不是参数本身,而是针对那些通过参数集进行编码得到的基因个体。
此编码操作使得遗传算法可以直接对结构对象进行操作。
所谓结构对象,泛指集合、序列、矩阵、树、图、链和表等各种一维或二维甚至多维结构形式的对象。
这一特点使得遗传算法具有广泛的应用领域。
比如:①通过对连接矩阵的操作,遗传算法可用来对神经网络或自动机的结构或参数加以优化。
②通过对集合的操作,遗传算法可实现对规则集合和知识库的精炼而达到高质量的机器学习目的。
③通过对树结构的操作,用遗传算法可得到用于分类的最佳决策树。
④通过对任务序列的操作,遗传算法可用于任务规划,而通过对操作序列的处理,可自动构造顺序控制系统。
(2)群体搜索特性。
许多传统的搜索方法都是单点搜索,这种点对点的搜索方法,对于多峰分布的搜索空间常常会陷于局部的某个单峰的极值点。
相反,遗传算法是采用同时处理群体中多个个体的方法,即同时对搜索空间中的多个解进行评估。
这一特点使遗传算法具有较好的全局搜索性能,也使得遗传算法本身易于并行化。
(3)不需要辅助信息。
遗传算法只适应度函数的数值来评估基因个体,并在此基础上进行遗传操作。
更重要的是,遗传算法的适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。
对适应度函数的惟一要求是,编码必须与可行解空间对应,不能有死码。
由于限制条件的缩小,使得遗传算法的应用范围大大扩展。
(4)内在启发式随机搜索特性。
遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜索方向。
概率仅仅是作为一种工具来引导其搜索过程朝着搜索空间的更优化的解区域移动。
虽然看起来它是一种盲目搜索方法,实际上它有明确的搜索方向,具有内在的并行搜索机制。
(5)遗传算法在搜索过程中不容易陷入局部最优,即使在所定义的适应度函数是不连续的、非规则的或有噪声的情况下,也能以很大的概率找到全局最优解。
(6)遗传算法采用自然进化机制来表现复杂的现象,能够快速可靠地解决非常困难的问题。
(7)遗传算法具有固有的并行性和并行计算的能力。
(8)遗传算法具有可扩展性,易于同别的技术混合。
重点注意的是,遗传算法对给定问题给出大量可能的解答并挑选最终的解答给用户。
要是一个特定问题并没有单个的解,例如Pareto最优解系列中,就像多目标优化和日程安排的案例中,遗传算法将尽可能地用于识别可同时替换的解。
1.2.2 遗传算法的不足之处遗传算法作为一种优化方法,它存在自身的局限性:(1)编码不规范及编码存在表示的不准确性。
(2)单一的遗传算法编码不能全面地将优化问题的约束表示出来。
考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加。
(3)遗传算法通常的效率比其它传统的优化方法低。
(4)遗传算法容易出现过早收敛。
(5)遗传算法对算法的精度、可信度、计算复杂性等方面,还没有有效的定量分析方法。
1.3遗传算法与传统方法的比较对于一个求函数最大值的优化问题(求函数最小值也类似) ,一般可描述为带约束条件的数学规划模型:⎪⎩⎪⎨⎧⊆∈U R R X t s X f ..)(max (1.1)式中,t n x x x X ],,,[21 =为决策变量,)(X f 为目标函数,U 为基本空间,R 是U 的一个子集。