遗传算法_综述_

遗传算法_综述_
遗传算法_综述_

第16卷 第1期1999年2月

工 程 数 学 学 报

J O U RN AL O F EN GIN EE RIN G M AT HEM ATICS

V ol.16No.1

Feb.1999遗传算法(综述)

任 平

(暨南大学数学系,广州510632)

摘 要

遗传算法提供了在很宽的领域中实用的优化技术,本文综述其基本概念与近期的发展。

关键词 遗传算法,人工智能,运筹学

分类号 AM S(1991)68T,92B; CCL T P18

近年来,一种被称为遗传算法(Genetic Algo rithm s,GA)的优化技术有了很大发展,由于在许多重要领域获得成功应用,它受到普遍关注而成为当前十分热门的研究领域。

1 G A的基本概念

遗传算法,有的作者译为基因算法[1],是一种模拟自然选择和遗传机制的寻优程序,它是60年代中期美国密执安大学Holland J H教授首先提出[2]并随后主要由他和他的一批学生发展起来的。

把计算机科学与进化论撮合到一块的最初尝试是在50年代末60年代初。但由于过分依赖突变(mutation)而不是配对(mating)来产生新的基因,所以收效甚微。Holland的功绩在于开发一种既可描述交换也可描述突变的编码技术,这是最早的遗传算法,文献中现在把它称为简单遗传算法(Simple GA,SGA)。

一般的遗传算法由四个部分组成:编码机制、控制参数、适应度函数、遗传算子。

编码机制(encoding m echa nism) 这是GA的基础。GA不是对研究对象直接进行讨论,而是通过某种编码机制把对象统一赋于由特定符号(字母)按一定顺序排成的串(string)。正如研究生物遗传,是从染色体着手,染色体则是由基因排成的串。在SGA,字符集由0与1组成,码为二元串。对一般的GA,自然可不受此限制。串的集合构成总体,个体就是串。对GA的码可以有十分广泛的理解。在优化问题,一个串对应于一个可能解;在分类问题,串可解释为一个规则,即串的前半部为输入或前件,后半部为输出或后件、结论,等等。这也正是GA有广泛应用的重要原因。

适应度函数(fitness function) 优胜劣败是自然进化的原则。优、劣要有标准。在GA,国务院侨办重点学科科研基金资助项目。

本文1996年1月16日收到。

用适应度函数描述每一个体的适宜程度。对优化问题,适应度函数就是目标函数。引进适应度函数的目的在于可根据其适应度对个体进行评估比较,定出优劣程度。为方便起见,在SGA,适应度函数的值域常取为[0,1]。

遗传算子(g enetic opera to r) 最重要的算子有三种:选择(selectio n)、交换(cro ssov er)、突变(m utation)。

选择算子也称复制(reproductio n)算子。它的作用在于根据个体的优劣程度决定它在下一代是被淘汰还是被复制。一般地说,通过选择,将使适应度即优良的个体有较大的存在机会,而适应度小即低劣的个体继续存在的机会也较小。有很多方式可以实现有效的选择。例如,两两对比的方式,即随机从父代抽取一对个体进行比较,较好的个体在下一代将被复制继续存在。SGA采取的则是按比例选择的模式,即适应度为f i的个体以f i/∑f k的概率继

续存在,其中分母为父代中所有个体适应度之和。

如果只有选择算子,GA不会有什么新意。因为后代的群体不会超出初始群体即第一代的范围。因此,还需要一些更合理的算子。常用的有交换和突变。

交换算子有多种形式,最简单的是所谓的单点交换(sing leo point cro ssov er),这也是SGA使用的交换算子,即从群体中随机取出两个字符串,设串长为L,随机确定交叉点,它在1到L-1间的正整数取值。于是,将两个串的右半段互换再重新连接得到两个新串。当然,得到的新串不一定都能保留在下一代,需和原来的串(亲本)进行比较,保留适应度大的两个,如图1所示。

000010

交叉点

10

0000

000000

交叉点

100010图1 单点交换

进行交换后,可进行突变。突变算子是改变字符串的某个位置上的字符。在SGA,即为0与1互换:0突变为1,1突变为0,如图2所示。一般认为,突变算子重要性次于交换算子,但其作用也不能忽视。例如,若在某个位置上,初始群体所有串都取0,但最优解在这个位置上却取1,于是只通过交换达不到1而突变则可做到。

控制参数(control pa ram eters) 在GA 的实际操作时,需适当确定某些参数的值以提高选优的效果。这些参数是

字符串所含字符的个数,即串长。在SGA,这一长度为常数,即为定长,记为L;000010

001010图2 突变

每一代群体的大小,即所包含字符串的个数,也称群体的容量,记为n;

交换率(crossover rare),即施行交换算子的概率,记为Pc;

突变率(mutatio n rate),即施行突变算子的概率,记为Pm。在SGA,若群体容量较大,如n=100,通常取Pc=0.6,Pm=0.001;若群体容量较小,如n=30,通过取Pc=0.9。Pm=0.01。此外还有遗传的“代”数,或其他可供确定中止繁殖的指标,等等。

为具体理解GA的思想,现以一个可用手算求解的简例说明。此例取自GA一本著名的2工 程 数 学 学 报 第16卷

教材[3]。

例 求函数f (x )=x 2的最大值,变量x 在0与31之间的整数取值。

解 为用SGA 解此问题,容易想到将决策变量x 取的值以二进位数表示从而得到一种自然的编码;每一个体均为长度是5的二进制位串。

初始群体的容量取4。于是,从总体中随机抽取4个个体组成第一代群体,即初始群体。具体操作可通过掷硬币确定。例如,将一枚硬币连续掷20次,或指定了顺序的5枚硬币各掷4次,正面为1,反面为0,得4个5位二进制字符串,不妨记为(01101)、(11000)、(01000)、(10011)。SGA 采取按适应度大小比例进行选择的机制,则可用专门设计的简易轮盘来决定第一代群体中哪个个体能被保留。结果如表1所示。

表1 第一代群体的选择串No.1初始群体(随机生成)x

f (x )=x 2f ∑f nf ∑f 实际生存数(由轮盘决定)1

01101131690.1440.57612

11000245760.492 1.96823

010008640.0550.22004

10011193610.309 1.2361和

1170 1.000 4.0004平均

2930.250 1.0001m ax 5760.492 1.9682

交换率取为1,即肯定施行交换算子。同样,可通过掷硬币的方法将复制出的4个串配成两对并随机确定交叉点进行交换,结果如表2。

表2 交换的进行

交换后的配对(竖线为交换点的位置)配对(随机选择)交叉点

(随机选择)新种群

x f (x )=x 2

0110110010

1110000011

2401100

12141100125421101127321000016144625729256和

1754平均439max 729 突变率取为0.001,这意味着每1000位平均有一位产生突变。本例的群体只包含4个5位的字符串共20位,平均只有0.02个位产生突变,可认为实际上不产生突变。于是,经过选择、交换完成了一代的遗传。事实证明,第二代群体的质量有了明显的提高,平均适应度由293增加为439,最大适应度由576增加到729。

2 应 用GA 最直接的应用或许就是多元函数的优化问题。如果函数表达式是清楚的,又具有良好的分析性质,自然用不着GA 。但若所讨论的函数受到严重的噪声干扰而呈现出非常不规则的形状,同时所求的也不一定非是精密的最大(小)值,则GA 就可以找到它的应用。3第1期 任平:遗传算法(综述)

4工 程 数 学 学 报 第16卷

一般说来,在一些实际问题中应用GA时,首先要解决两个问题:(1)编码的设计;(2)适应度函数的确定。对函数优化问题,这两个问题乍一看来都比较容易解决。特别是,有现成的二进位制可将变量取的值编为二元的位串,很是方便。实际不然。因为对一般的二进位制,有时增加1,需要改变所有的位元,如011为十进制的3,而4为100,这就造成困难。为此,设计了一种所谓的“灰码”(g ra y codes)。这种码的特点是增加或减少1都只需要改动一个位元。当然,根据不同需要还可设计各种不同的码。这在包括飞机设计、信号检测以至非线性差分方程组稳定域的确定等近百种问题中有广泛应用。关于这方面的情况可参阅文[3]表 4.4所列举的项目。

GA另一个十分引入注目的应用领域是机器学习。这是因为,与传统的优化技术比较, GA的特点在于

1)GA的工作对象不是决策变量本身,而是将有关变量进行编码所得的码,即位串;

2)传统的寻优技术都是从一个初始点出发,再逐步迭代以求最优解。GA则不然,它是从点的一个群体出发经过代代相传求得满意解;

3)GA只充分利用适应度函数(目标函数)的信息而完全不依靠其它补充知识;

4)GA的操作规则是概率性的而非确定性的。

这就表明,GA较为适合于维数很高、总体很大、环境复杂、问题结构不十分清楚的场合,机器学习就属这类情况。一般的学习系统要求具有随时间推移逐步调整有关参数或者改变自身结构以更加适应其环境,更好完成目标的能力。由于其多样性与复杂性,通常难以建立完善的理论以指导整个学习过程,从而使传统寻优技术的应用受到限制,而这恰好能使GA发挥其长处。关于GA在机器学习中的应用,Jo ng K De在文[4]中有很好的综述。

有时,问题的数学结构十分清楚,但由于某些原因,如维数太高或计算量太大,依靠传统方法实际上难以求解。运筹学中许多排序问题,如旅行商问题、工序安排、设备布置等都属此类。GA在这方面也有大量工作。以旅行商问题为例:设有几个城市,则很自然会把旅行方式编为n个正整数{1,2,…,n}的一个排列;但是,这种编码不适用于GA,因为交换算子作用于两个排列所得的结果有时是没有意义的。为克服这个困难,或是要设计新的编码规则;或是要适当修改原有的交换算子。对这方面工作的评述。可参阅文[5]。GA在这一领域中的应用,引起运筹学界的重视:1995年,国际运筹学专业期刊《Co mputers&Operatio n Resea rch》以GA为主题编发了一期特刊[6],组织了包括四个方面内容的12篇论文。期刊主编Raff S J 在特刊前言中把GA称为“对当前运筹学有巨大兴趣的课题。”这一点决非偶然,进入70年代后期,运筹学面临新的挑战[7],由于研究工作过分“学院化”,使理论发展在一定程度上与实际脱节。原来生气勃勃的运筹学出现了沉闷的局面;另一方面,计算技术、控制技术的智能化趋势已不能满足于传统优化方法的框架;特别是,传统运筹学理论缺乏对变动环境的适应性,“造成`最优’解维持最优的寿命在很多情况下甚至比求解所耗费的时间还要来得短”。因此,GA的崛起,对运筹学无疑是一个有力的推动。

在复杂性问题的研究中,GA也崭露头角,倍受青睐。什么叫复杂性问题,各家看法不一。共同认识还是有的,即复杂性问题应是多层次、多因素,其相互作用是非线性、不确定和不稳定的,这样的学习问题自然属复杂性研究的范畴。事实上,在复杂系统例如适应性系统学习策略的研究中,GA占重要地位[8]。另一个典型例子是地震数据反演问题[9]:由于介质参数的模型非常大,同时观测数据不完备、噪音的存在、源的情况复杂且未知,很难用传统的方

法求得目标函数的全局最优值,而只能求一定意义下的“满意解”。这时,可供选择的方法之一自然是GA 。

值得注意的是,近年来,GA 在商业应用方面取得一系列重要成果。或许这也是它受到学术界之外的企业界、政府部门以及更广泛的社会阶层普遍重视的原因。GA 的商业应用五花八门,覆盖面甚广,Co ldborg 在Comm.ACM 上的一篇专论[10]较为详细地介绍了美国近年来的一些成果。例如,通用电器的计算机辅助设计系统Engeneo us,这是一个混合系统(hy brid system ),采用了GA 以及其他传统的优化技术做为寻优手段。Eng eneous 已成功地应用于汽轮机设计,并改善了新的波音777发动机的性能。美国新墨西哥州州立大学心理学系开发了一个所谓的Faceprint 系统,可根据目击者的印象通过计算机生成嫌疑犯的面貌。计算机在屏幕上显示出20种面孔,目击者按十分制给这些面孔评分。在这基础上,GA 按通常的选择、交换和突变算子生成新的面孔。Faceprint 的效果很好,已申报专利。同一个州的一家企业——预测公司(Prediction Co mpa ny )则首先开发了一组用于金融交易的时间序列预测和交易工具,其中GA 起了重要作用:据说,这一系统实际运行效果很好,可以达到最好的交易员的水平,引起银行界的关注。GA 在军事上的应用也有报道:如用于红外线图象目标判别的休斯遗传程序系统(Hughes genetic pro gram ming system ),效果很好,以至准备把它固化成硬件。

在GA 的应用研究和推广普及中,相应的程序环境的开发占有重要地位。文[11]将GA 程序环境(GA Prog ramming Environments)区分为三类:面向应用系统,面向算法系统以及工具。表3列出了文[11]所评价的一些系统,文中并附有系统开发者的联系地址。

表3 文[11]所列G A 程序的分类面向应用系统

面向算法系统特定算法系统算法库工 具教育系统通用系统E v olver

Escapade EM GA Wo rkbench Engeneer Om eg a

GAGA GAM E Pc /Beag el

GAUCSD Micro GA Xpert Rule

Genesis OOGA Peg asus Gen Asy s Genito r Splicer

例如,Splicer 为N ASA 约翰逊航天中心信息系统理事会软件技术部研制的,是当时最完备的一种通用系统。它由三个部分构成:GA 核、可交换表现库和适应度模块;有两个用户界面库,一对Macintoshes,一对X windo ws 。当用户使用Splicer 解某个具体问题时,只要用C 构造一个适应度模块而无需其他编程工作。为大力推广GA,N ASA 以及政府项目承担者可免费使用Speicer 1.0版本。这些系统的研制开发和推广使用,对GA 在美国的发展无疑起着积极推动作用。

3 G A 的理论基础

GA 在应用上确已取得显著成功,但其基础研究相对来说却比较薄弱。就目前情况看,能称得上为理论成果的只有所谓的型式定理[2](Sehema Theorem)。型式(schema)是在某些确定位置上取相同字符的字符串集合。例如,在SGA,形式5第1期 任平:遗传算法(综述)

**000表示后三个位置都取0的字符串的集合,即{00000,01000,10000,11000};类似地, 10*0*表示{10000,10001,10100,10101}。因此,可以直观地把型式看成一个相似性模板(similarity tem plate),在对应的确定位置,0和0匹配,1和1匹配,*为通配符,可和0、1两者匹配。型式表示的就是和它匹配的字符串。这些字符串称为型式的实现(instance)或解(solution)。在某个型式中,确定字符的个数称为型式的阶(o rder),其最左端确定字符到最右端确定字符间的距离称为型式的定义长度(defining leng th),例如,型式**000的阶是3,定义长度是5-3=2,型式10*0*的阶的3,定义长度是4-1=3为简便起见,只就SGA进行讨论。引入下列符号

H:某个型式;

f i:第i个字符串(解、实现)的适应度;

f-(t):第t代群体的平均适应度;

f-(H,t):型式H在第t代群体的平均适应度;

n i(H,t+1):由(第t代)型式H的某个解i在第t+1代生成的后代数的期望值;

n(H,t):第t代属于型式H的解的个数;

W(H):H的定义长度;

0(H):H的阶。

先考虑选择的效果。在SGA,选择标准是采用按适应度大小比例的原则,因此,第i个体经选择算子的作用在下一代继续存在的个数的期望值为n(f i/∑f),注意到 f-(H,t)=1

n(H,t)

∑f i

则 n(H,t+1)=n(H,t).f-(H,t)/f(t)

上述等式表明,选择算子的作用将使适应度高于(低于)平均水平的型式在代代相传时增大(减小)其容量,从而提高群体的质素。

现在分析交换算子的作用。若不进行交换或虽交换但交叉点落在型式最左、右两端确定字符所处位置之外,该型式在下一代显然能被保留。于是,型式H在下一代得以继续存在的概率Ps应满足。

Ps≥1-Pc W(H)/(L-1)

综合考虑选择和交换的作用则有

n(H,t+1)≥n(H,t)f-(H,t)[1-Pc W(H)/(L-1)]/f-(t)

最后,由于Pm表示突变算子作用的概率,不变的概率为1-Pm,若所有确定字符都不变,型式H在下一代自然能继续存在,概率为(1-Pm)O(H),Pm通常很小,Pm1,则经过突变算子作用后,H继续存在的概率为

(1-Pm)O(H)≈1-Pm o(H)

被淘汰的概率近似地为o(H)Pm。于是,综合考虑选择,交换和突变算子的作用,最后有

n(H,t+1)≥n(H,t)f-(H,t)1-Pc W(H)

L-1

-o(H)Pm/f-(t)

这就是所谓的型式定理,也称GA的基本定理。型式定理表明,如果只考虑选择算子的影响,某个型式所含解的个数随同群体代代相传而递增或减少与型式的平均适应度大小有关。特别地,若有f-(H,t)=f(t)(1+c),c>0为常数,则

n(H,t)=n(H,t-1)(1+c)=n(H,0)(1+c)t

6工 程 数 学 学 报 第16卷

即高平均适应度的型式在与其它型式的竞争中其容量呈指数增长。然而,只是高平均适应度还不足以保证高的成长率。当综合考虑其它算子影响时,要求优良的型式的定义长度应较短、阶数应较低。高平均适应度、短定义长度和低阶数的型式在群体代代相传中其所含解的个数是指数增长,正是型式定理的本质。

但是,低阶数意味着较大的搜索空间,这对寻优自然是不利的。GA 的实践表明,GA 的威力不仅仅在于开始时能将搜索方向引导到高适应度低阶数的型式,随后,还能利用交换算子将低阶型式的信息组合成高阶型式,从而最后收敛于高适应高阶数、即较小的搜索空间。这一事实并非普遍成立,但确实是非常重要,被称为建筑块假设(building blocks hy polhesis)。有趣的是,建筑块假设揭露了GA 的工作方式和傅立叶分析之间的某些相似之处。特别是,Bethke 提出了所谓的Walsh-型式交换,并用它有效地计算型式的平均适应度[12]。这方面的进一步工作可参看文[5]所介绍的文献。

4 展 望

GA 在应用方面取得的丰硕成果,使人们对它的发展前景充满信心。认识到这一点,GA

的奠基人之一,Goldsberg D 戏言[10]:“已不再需要水晶球”。

今后几年,可以预期,拓广更加多样的应用领域,其中包括各种GA 程序设计环境的开发,仍将是GA 发展的主流。事实上这也是本世纪高新技术迅速发展带有规律性的特点,即面向应用。与此同时,这并不意味着理论研究会被忽视,这方面同样有大量工作要做。例如:

控制参数的选择;

交换和突变这两类最重要的算子的确切作用;

并行GA 和分布式GA 的研究;

其他类型生物机制的模仿,如免疫、病毒、寄生等,以丰富GA 的内容,等等。

自然,不论从理论还是应用的角度看,最紧迫的应是关于算法收敛性问题的研究,特别是过早收敛的防止。这对GA 的实际应用关系重大。

当前一个特别值得重视的趋势是一些面向对象的智能技术,其中主要是模糊逻辑(Fuzzy Logic,FL),神经网络(Neural Netw o rk,NN)以及G A 等的综合应用。众所周知,FL 有较强的知识表达能力,NN 的长处在于自学习,它们与GA 相结合形成新的集成化技术,即所谓的混合智能系统(Hybrid Intellectual System )。这一思想在90年代初逐步形成,而由模糊集论的创始人,美国Zadeh L A 在1993年于汉城召开的国际模糊系统协会(IFSA)第五届世界会议首先明确提出[13]

,随后在许多有关的国际学术会议上得到充分体现。应该指出,我国学者对这一趋势的认识较早。例如,清华大学李衍达院士领导的研究集体在几乎同一时期开展了这一重要方向的研究[14]。1995年,Zadeh 在IFSA 的第六届世界会议上再次强调了这一方向的重要性,并且认为上述所谓的混合智能系统的应用将覆盖从消费品生产到核反应堆设计以至证券管理,而“在未来几年中可能无处不在”。[15]

就GA 本身的研究而言,应该说,我国起步较晚,近几年才陆续看到一些介绍性的文章、不多于两三部的专著以及初步的研究报告。和国外工作比较,一个显著区别是,国内工作多只停留在论文这一层次,几乎没有看到具体实际应用,与研究成果商品化的差距就更远。理论研究与实际应用不够紧密,阻碍了我国高新技术的迅速发展,几乎已经成为顽症。因此,在我国发展GA,当前应该特别重视它的应用和推广普及。学术界要主动和企业界连手开发7第1期 任平:遗传算法(综述)

8工 程 数 学 学 报 第16卷

GA的应用,要重视引进或自行研制类似于Splicer的程序设计环境,使GA的应用更加方便和快捷。国家组建的工程研究中心应该在这方面发挥更大的作用。工科数学教育也应有所调整,以适应高新技术发展的需要。例如,工科运筹学和最优化方法的课程应该适当加入有关GA等方面的内容,以开阔学生的视野,同时也有利于加快传统课程内容的更新。

参考文献

1 Ho lland J H.基因算法.科学,1992;11:24~31

2 Ho lland J H.Adapta tio n in na tural a nd ar tificial sy stems.U niv of M ichigan Press,Ann Arbo r M ich, 1975

3 Goldbe rg D E.Genetic a lg o rithms in sear ch.O ptimiza tio n and M achine Lear ning,Addiso n-Wesley, Reading,M ass,1989

4 De J o ng K A.Lear ning with g enetic algo rithms:an ov erv iew.M achine lea rning3,Kluwer Acdemic, Hing ham,M ass,1988;121~133

5 Fo rr est S.Gene tic a lg o rithms:principles o f na tural seclectio n applied to computatio n.Science,1993;

v ol261,872~878

6 Co mputer&o peration r esea rch,1995;v ol22,no1

7 桂湘云,章祥荪.关于O R发展前途的讨论及其对O R应用工作的启示.运筹学杂志,1987;6(1):73~80

8 赵凯华.适应性系统与自涌行为.复杂性研究,中国科学院《复杂性研究》编委会,北京:科学出版社, 17~30

9 马在田,王华忠.地震数据反演中的非线性问题.自然杂志,1995;17:78~88

10 Go ldberg D E.Genetic a nd ev olutio na ry alg o rith ms come of age.Co mm A CM1994;37(3):113~119 11 Jose L,Ribeiro Filho etc.Gene tic-algo rithms prog ra mming e nviro ments.Co mputer,Jane,1994;28~43

12 Ba thke A D.Thesis,U niv o f M ichig an,Ann Ar bor,M I,1980(转引自文[5])

13 Zadeh L A.Fuzzy log ic,Neur al N etw o rks a nd so ft co mputing,5th I FSA W or ld Cong res,Seoa l, 1993

14 张良杰,李衍达.模糊神经网络技术的新近发展.信息与控制,1995;24(1):39~46

15 Zadeh L A.N ew fr ontiers in fuzzy lo gic.6IF SA Wo rld Co ng r ess,Sao Paulo,1995

Genetic Algorithms(an Overview)

Ren Ping

(J ina n U niv er sity,Guang zho u510632)

Abstract

GA pr ovide a n alter na tiv e to t raditio nal o ptimiza tion techniques tha t mimic natur al ev olutio n to so lv e pro blems in a wide v arity of domains.The basic idea and r ecent adva nces ar e review ed in this paper.

遗传算法综述

遗传算法综述 摘要:遗传算法(genetic algorithms,GA)是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法,适用于处理传统搜索方法难以解决的复杂和非线性优化问题。遗传算法可广泛应用于组合优化、机器学习、自适应控制、设计和人工生命等领域,是21世纪有关智能计算中的重要技术之一。 本文通过对相关论文的查阅和整理,对遗传算法的研究现状和发展趋势进行了综述并谈论了一些自己的看法。 关键词:遗传算法研究现状发展趋势 引言:遗传算法是模拟遗传选择和自然淘汰的生物进化过程的计算模型,由美国Michigan大学的Holland教授于1969年提出,后经DeJong、Goldberg 等人归纳总结,形成一种新的全局优化搜索算法[1]。遗传算法以其简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一。 1、遗传算法的基本原理 与传统搜索算法不同, 遗传算法从一组随机产生的初始解,称为群体, 开始搜索过程。群体中的每个个体是问题的一个解,称为染色体。这些染色体在后续迭代中不断进化, 称为遗传。遗传算法主要通过交叉、变异、选择运算实现。交叉或变异运算生成下一代染色体, 称为后代。染色体的好坏用适应度来衡量。根据适应度的大小从上一代和后代中选择

一定数量的个体, 作为下一代群体, 再继续进化, 这样经过若干代之后, 算法收敛于最好的染色体, 它很可能就是问题的最优解或次优解。“遗传算法中使用适应度这个概念来度量群体中的各个个体的在优化计算中有可能到达最优解的优良程度。度量个体适应度的函数称为适应度函数。适应度函数的定义一般与具体求解问题有关”[2]。 遗传算法包含两个数据转换操作,一个是从表现型到基因型的转换,将搜索空间的参数或解转换成遗传空间中的染色体或个体,这个过程称为编码(coding)。另一个是从基因型到表现型的转换,即将个体转化成搜索空间中的参数,这个过程称为译码(decode)。 图1展示了遗传算法的运行过程。 图1 遗传算法的运行过程示意图 2、遗传算法的研究现状 2.1 遗传算法研究方向[3] 在遗传算法的研究中,目前主要有三类研究方向: ⑴研究遗传算法本身的理论基础。 ⑵用遗传算法作为工具解决工程问题。主要是进行优化,关心的是能

遗传算法综述

3D S可以方便灵活地实现对动画帧中的节点、平面、边界、颜色和轨迹的控制,同时对于物体变形测试,轴心点设置以及段信息的获取和设置也能方便准确地进行。而keyscri p t语言的优点体现在于其精确的数值计算,它可以对大量的复杂无序的动作进行随机计算,节省了制作时间。利用keyscri p t编辑器还能方便地进行语法检查并能直接执行无语法错误的keyscri p t程序。3 内存管理方式 3D S使用了独特的Pharlap的虚拟内存管理技术(VMM 386),该技术使3D—Studi o能使用比物理内存RAM更大的空间。这种内存管理方式与W indow2 s T M的内存管理方式不同,因此一般不在W indow s T M中使用3D S,若要在W indow s T M中使用,则必须在W in2 dow s T M的system1in i中的[386Enh]段加入device= Pharlap1386,使W indow s T M可以使用Pharlap的内存管理方式。这种内存管理方式也有一些不足,如内存一旦被3D S使用将不被释放。 4 硬件环境 使用3D—Studi o410的最低配制要求是386(带协处理器)的主机,至少8兆的内存,20兆以上的硬盘空间,DO S313以上的操作系统。由于3D S中的许多图形渲染时都必须使用256色,且观看3D S自带的一些图片也必须在256色的模式下进行,所以需要SV GA或TV GA的显示器。输入系统除了键盘外还必须配有鼠标,也可选配数字化仪。由于3D S在进行图形渲染需要大容量的内存,同时还需要CPU进行大量的浮点运算,因此当CPU为Pen tium T M、内存为16兆以上,并使用高性能的显示卡时,3D S的动画制作功能才能得到完美体现。由于ln tel公司生产的CPU兼容的Cyrix、AM D等公司生产的CPU浮点运算能力较差,因此CPU首选还是ln tel公司的产品。外设还可选配数字化仪等设备,对于需要直接输出到磁带上,并使用电视进行播发的动画,则可选用专业用户级以上的逐帧录向设备。 总之,3D S是一个庞大的图形工作平台,学会使用它的各种命令,发挥软件的强大功能绘制出优秀的动画和图象,还需要有很多技巧。随着人们对3D S认识加深,以它为平台开发的动画产品必将更加丰富多彩。 参考文献 1 [美]S1D1E lli o t,P1L1M iller,G1G1Pyro s著1黄心渊等译《3D—Studi o技术精粹》1北京:清华大学出版社。 19951 2 黄心渊 左正兴编著1《3D—Studi o(310—410)技术与应用》1北京:清华大学出版社,19961 收稿日期:1996年11月18日 遗传算法综述 艾丽蓉 何华灿 (西北工业大学计算机系 西安710072) 摘 要 本文从计算智能与进化计算谈起,论述了遗传算法产生的思想及背景,遗传算法的应用与研究现状,以及遗传算法研究的基本内容与问题,最后对GA与传统搜索算法做一比较,并概述了GA在并行处理应用中的潜在优势。 关键词 计算智能 进化计算 遗传算法(GA) 0 序言 长久以来,人们一谈到人工智能就马上想到逻辑、规则、推理,而一谈到计算就联想到矩阵运算、解微分方程,似乎智能和计算是两股道上跑的车。人工智能在走过几十年的曲折道路之后,人们经过认真反思,不断探索新的研究途径,于是一个新的研究方向——计算智能应运而生。 研究思维模拟主要的道路有四条:基于心理学的符号处理方法,基于社会学层次型的智能体方法,基于生物进化的进化计算与自适应方法,以及基于生理学的人工神经网络方法。目前聚集在计算智能大旗下的主要是后两个学派的学者(加上从事模糊计算和混沌计算等方面的学者)。实际上,只要在计算机上,模拟人类思想,不管用什么方法,其本质的基础还是二进制数字计算,在当前符号处理主宰人工智能的情况下,更应强调遗传算法等以数字计算为基础的方法对推动人工智能发展有着特殊的作用。 计算技术的飞速发展使大规模的现实模拟成为可能,而针对社会和生物现象的模拟,对人类认识自身及其环境具有重大意义,进化是其中最为诱人的领域之一。人的智能是从哪里来的?归根结底是从生物进化中得来的,反映在遗传基因中,脑的结构变化也是通过基

遗传算法综述

遗传算法综述 太原理工大学刘晶学号:s2******* 摘要:遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获得和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优的方案。遗传算法作为一种实用、高效、鲁棒性强的优化技术,有着广泛的应用前景。 关键词:遗传算法数学模型优点流程 一,概述。遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。美国Michigan 大学的Holland 教授及其学生受到生物模拟技术的启发,创造了一种基于生物遗传和进化机制的适应于复杂系统优化的自适应概率优化技术———遗传算法。 二,基本遗传算法的数学模型。基本遗传算法可表示为:SGA=(C,E,P0,M,Φ,Γ,Ψ,T)式中,C为个体的编码方法;E 为个体适应度评价函数;P0 为初始种群;M为种群大小;Φ为选择算子;Γ为交叉算子;Ψ为变异算子;T为遗传运算终止条件。 三,遗传算法的优点。 3.1 对可行解的广泛性表示。遗传算法的处理对象不是参数本身,而是针对那些通过参数集进行编码得到的基因个体。次编码操作

使得遗传算法可以直接对结构对象进行操作。 (1)通过对连接矩阵的操作,遗传算法可用来对神经网络或自动机的结构或参数加以优化。 (2)通过对集合的操作,遗传算法可实现对规则集合和知识库的精炼而达到高质量的机器学习目的。 (3)通过对树结构的操作,用遗传算法可得到用于分类的最佳决策树。 (4)通过对任务序列的操作,遗传算法可用于任务规划,而通过对操作序列的处理,可自动构造的顺序控制系统。 3.2 群体搜索特性。许多传统的搜索方法都是单点搜索,这种点对点的搜索方法,对于多峰分布的搜索空间常常会陷于局部的某个单峰的极值点,相反,遗传算法采用的是同时处理群体中多个个体的方法。 3.3 不需要辅助信息。遗传算法仅用适应度函数的数值来评估基因个体,并在此基础上进行遗传操作。更重要的是,遗传算法的适应度函数不仅不受连续可微的约束,而且某定义域可以任意设定。对适应度函数的唯一要求是,编码必须与可行解空间对应,不能有死码。由于限制条件的缩小,使得遗传算法的应用范围大大扩展。 3.4 内在启发式随机搜索特性。遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜索方向。概率仅仅是作为一种工具来引导其搜索过程朝着搜索空间的更优化的解区域移动的。虽然看起来它是一种盲目搜索方法,实际上它有明确的搜索方向,具有内

遗传算法

遗传算法发展前景概况 (华北电力大学电气与电子工程学院,北京102206) 摘要:遗传算法是一种基于生物进化自然选择和群体遗传机理的,适合于复杂系统优化的自适应概率优化技术,近年来,因为遗传算法求解复杂优化问题的巨大潜力和在工业工程领域的成功应用,这种算法受到了国内外学者的广泛关注,本文介绍了遗传算法研究现状和发展的前景,概述了它的理论和技术,并对遗传算法的发展情况发表了自己的看法。 关键词:遗传算法; 遗传算子;进化计算;编码 GENERAL GENETIC ALGORITHM DEVELOPMENT PROSPECT (North China Electric Power University Electrical And Electronic Engineering Institute,Beijing102206) ABSTRACT: Genetic algorithm is a kind of natural selection and based on biological evolution of genetic mechanism, group suitable for complex system optimization adaptive probability optimization technique, in recent years, because genetic algorithm for solving complex optimization problem in the huge potential and the successful application of industrial engineering, this algorithm was wide attention of scholars at home and abroad, this paper introduces the current research status and development of genetic algorithm, summarizes the prospect of its theory and technology of genetic algorithm and the development of published opinions of his own. KEY WORD: Genetic algorithm; Genetic operator; Evolutionary computation; coding 1.引言 现在,遗传算法正在迅速发展,遗传算法与其很强的解决问题能力和适合于复杂系统的自适应优化技术渗透到研究和工业工程领域,在电力系统,系统辨识,最优控制,模式识别等领域有了很广泛的应用,取得了很好的效果。 2.遗传算法基本思想 遗传算法是建立在自然选择和群体遗传学基础上的随机,迭代和进化,具有广泛适用性的搜索方法,所有的自然种类都是适应环境而生存,这一自然适用性是遗传算法的主要思想。 遗传算法是从代表问题可能潜在解集的一个种群开始的,而一个种群则经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,其内部基因决定了个体的外部表现。因此,在一开始就要实现外部表现到内部基因的映射,即编码工作,通常采用二进制码。初始种群产生之后,按照适者生存和优胜劣汰的原则,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度大小选择个体,并借助自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集和种群,这种过程将导致种群像自然进化那样产生比前代更适应于环境的后代种群,末代种群中的最有个体经过解码,可以作为问题近似最优解。 遗传算法采纳了自然进化模型,如选择,交叉,变异等,计算开始时,种群随机初始化产生一定数目的N个个体,并计算每个个体的适应度函数,如果不满足优化准则,就开始新一代的计算。为了产生下一代,按照适应度选择个体父代进行基因重组二产生子代。所有的子代按一定的概率进行变异,子代取代父代构成新一代,然后重新计算子代的适应度。这一过程循环执行,直到满足优化准则为止。 3.遗传算法基本操作

遗传算法综述

遗传算法综述 遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。 在阅读了一些相关资料后,我整理出这篇综述,将通过五个部分来介绍遗传算法以及其在计算机科学领域的相关应用、 一、起源和发展分支 尝试性地将生物进化过程在计算机中模拟并用于优化问题求解开始于20世纪50年代末,其目的是将生物进化的思想引入许多工程问题中而成为一种优化工具,这些开拓性的研究工作形成了遗传算法的雏形。但当时的研究进展缓慢,收效甚微。原因是由于缺少一种通用的编码方式,人们只有通过变异才能改变基因结构,而无法使用交叉,因而增加了迭代次数。同时算法本身需要较大的计算量,当时的计算机速度便无法满足要求,因而限制了这一仿生过程技术的迅速发展。20世纪60年代中期,Holland在Fraser和Bremermann等人研究成果的基础上提出了位串编码技术,这种编码技术同时适用于变异操作和交叉操作。 遗传算法的真正产生源于20世纪60年代末到70年代初,美国Michigan大学的Holland教授在设计人工适应系统中开创性地使用了一种基于自然演化原理的搜索机制,并于1975年出版了著名的专著“Adaptation in Natural and Artificial Systems”,这些有关遗传算法的基础理论为遗传算法的发展和完善奠定了的基础。同时,Holland教授的学生De Jong首次将遗传算法应用于函数优化中,设计了遗传算法执行策略和性能评价指标,他挑选的5个专门用于遗传算法数值实验的函数至今仍被频繁使用,而他提出的在线(on-line)和离线(off-line)指

遗传算法概述

第1期作者简介:李红梅(1978-),女,湖南湘潭人,硕士,广东白云学院讲师,研究方向为演化计算。 1遗传算法的发展史 遗传算法(Genetic Algorithms )研究的历史比较短,20世纪 60年代末期到70年代初期,主要由美国家Michigan 大学的John Holland 与其同事、学生们研究形成了一个较完整的理论 和方法,遗传算法作为具有系统优化、适应和学习的高性能计算和建模方法的研究渐趋成熟。我国对于GA 的研究起步较晚,不过从20世纪90年代以来一直处于不断上升中。 2遗传算法的基本思想 遗传算法是从代表问题可能潜在解集的一个种群(popu- lation )开始的,而一个种群则由经过基因(gene )编码(coding ) 的一定数目的个体(individual )组成。每个个体实际上是染色体(chromosome )带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现是某种基因组合,它决定了个体的形状的外部表现。初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation )演化产生出越来越好的近似解。在每一代中,根据问题域中个体的适应度(fitness )、大小挑选(selection )个体,借助于自然遗传学的遗传算子(genetic operators )进行组合交叉(crossover )和变异(mutation ),产生出代 表新的解集的种群。这个过程将导致后生代种群比前代更加适应环境,末代种群中的最优个体经过解码(decoding ),可以作为问题近似最优解。 3遗传算法的一般流程 (1)随机产生一定数目的初始种群,每个个体表示为染色 体的基因编码; (2)计算每个个体的适应度,并判断是否符合优化准则。若符合,输出最佳个体及其代表的最优解并结束计算,否则转向第3步; (3)依据适应度选择再生个体,适应度高的个体被选中的概率高,适应度低的个体可能被淘汰; (4)执行交叉和变异操作,生成新的个体;(5)得到新一代的种群,返回到第2步。 4遗传算法的特点 传统的优化方法主要有三种:枚举法、启发式算法和搜索 算法: (1)枚举法 可行解集合内的所有可行解,以求出精确最 优解。对于连续函数,该方法要求先对其进行离散化处理,这样就可能因离散处理而永远达不到最优解。此外,当枚举空间比较大时,该方法的求解效率比较低,有时甚至在目前先进计算机工具上无法求解。 (2)启发式算法 寻求一种能产生可行解的启发式规则, 以找到一个最优解或近似最优解。该方法的求解效率比较高,但对每一个需求解的问题必须找出其特有的启发式规则。这个启发式规则一般无通用性,不适合于其它问题。 (3)搜索算法 寻求一种搜索算法,该算法在可行解集合 的一个子集内进行搜索操作,以找到问题的最优解或者近似最优解。该方法虽然保证不了一定能够得到问题的最优解,但若适当地利用一些启发知识,就可在近似解的质量和效率上达到一种较好的平衡。 遗传算法不同于传统的搜索和优化方法。主要区别在于: ①遗传算法直接处理问题参数的适当编码而不是处理参数集 本身。②遗传算法按并行方式搜索一个种群数目的点,而不是 遗传算法概述 李红梅 (广东白云学院计算机系,广东广州510450) 摘要:遗传算法是一种全局优化的随机搜索算法。它是解决复杂优化问题的有力工具。在工程设计、演化硬件电路 设计以及人工智能等方面应用前景广阔。系统地介绍了遗传算法的发展史、基本思想、特点、主要应用领域等相关方 面。 关键词:遗传算法;搜索;进化;最优解;种群中图分类号:TP312 文献标识码:A 文章编号:1672-7800(2009)01-0067-02 第8卷第1期2009年1月 Vol.8No.1Jan.2009 软件导刊 Software Guide

遗传算法概述

第一章 遗传算法概述 2.1 遗传算法的原理 遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种概率搜索算法。遗传算法是通过模拟生物在自然界中的进化过程而形成的一种优化算法。它的基本过程是:先随机生成规模为m 的初始群体,对连续优化问题即为n R 中的m 个点},,,{,},,,,{21112111m n m m m n x x x x x x x x ==的集合, },,,{21k sn k s k s x x x 称为个体或者染色体,通过对该群体使用遗传操作(包括选择、 交叉、变异遗传算子),得到m 个新的个体,这称作是群体的一代进化,相当于通常优化算法的一次迭代。不断重复这一过程,可看作是群体的逐代演化,直到得到满足给出条件的问题解。 可以看出,遗传算法的关键是进化过程中使用的遗传操作即选择、交叉和变异等算子,这些算子决定了下一代个体的具体位置。 选择策略对算法性能的影响有举足轻重的作用。常用的是轮盘选择和精英选择。 a. 轮盘选择(roulette wheel selection ) 选择的基本依据是个体的适应值,对于最小化问题,个体适应值取为)()(x f K x f -=',其中K 为一足够大的正数。定义第i 个体的选择概率为 ∑=''=n i i i i x f x f p 1)() ( (3) 其意义是个体适应值在群体总适应值中所占的比例。生成一个[0,1]内的随机数r ,若i i p p p r p p p +++≤<+++- 21110,假设00=p ,则选择个体i 。 b. 精英选择(elitist selection ) 当下一代群体的最佳个体适应值小于当前群体最佳个体的适应值,则将当前群体最佳个体或者适应值大于下一代最佳个体适应值的多个个体直接复制到下一代,随机替代或替代最差的下一代群体中的相应数量的个体。 交叉与变异算子的选取与编码方式有关,最初Holland[5] 提出的遗传算法是采用二进制编码来表现个体,后来发现对连续优化问题采用浮点编码可以达到更好的效果,因此越来越多地使用浮点编码,下述的交叉、变异算子针对浮点编码。

最优控制-遗传算法综述

最优控制论文 遗传算法的发展 摘要 最优控制是现代控制理论的核心,它研究的主要问题是:在满足一定约束条件下,寻求最优控制策略,使得性能指标取极大值或极小值。解决最优控制问题

的主要方法有古典变分法、极大值原理和动态规划。 最优控制理论已被应用于综合和设计最速控制系统、最省燃料控制系统、最 小能耗控制系统、线性调节器等。目前研究最优控制理论最活跃的领域有神经网 络优化、模拟退火算法、趋化性算法、遗传算法、鲁棒控制、预测控制、混沌优化 控制以及稳态递阶控制等。 作为一种比较新的一种新的优化算法—遗传算法(Genetic Algorithm, 简称G A ) 正在迅速发展。 遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法。近年来,由于遗传算法求解复杂优化问题的巨大潜力及其在工业工程领域的成功应用,这种算法受到了国内外学者的广泛关注。本文介绍了遗传算法的研究现状,描述了它的主要特点和基本原理,概述了它的理论、技术和应用领域,讨论了混合遗传算法和并行遗传算法,指出了遗传算法的研究方向,并对遗传算法的性能作了分析。

目录 1 前言 (1) 2 遗传算法基本理论..................................................... 1... 2.1 遗传算法的基本步骤.................................................. 1.. 2.2 遗传算法的现状..................................................... 2... 2.3 遗传算法的应用..................................................... 3... 2.3.1 函数优化 ..................................................... 3... 2.3.2 组合优化 ..................................................... 4... 2.3.3 生产调度问题 ................................................. 4... 2.3.4 自动控制 ..................................................... 4... 2.3.5 机器人学 ..................................................... 4... 2.3.6 图像处理 ..................................................... 4... 2.3.7 人工生命 ..................................................... 5... 2.3.8 遗传编程 ..................................................... 5... 2.3.9 机器学习 ..................................................... 5... 2.3.10 数据挖掘.................................................... 5... 3 遗传算法的研究方向................................................... 5... 参考文献............................................................ 7...

遗传算法综述

随着经济社会的迅猛发展, 人类科学研究与生产活动的广度与深度都大大拓展了,其中涌现出的大量具有各种非线性、不确定、不能精确解析以及建模机理复杂的新课题对信息与控制科学提出了前所未有的挑战。正是在这种背景下, 各种智能信息处理算法如雨后春笋般涌现出来。作为智能信息处理算法中的重要一员, 遗传算法近年来以其独特而卓越的性能引起了人们的广泛关注。 对于以往难以解决的函数优化问题,复杂的多目标规划问题,工农业生产中的配管、配线问题,以及机器学习,图象识别,人工神经网络的权系数调整,模糊规则的优化和网络构造等诸多问题,GA遗传算法以其出色的表现,已成为人们最常用也最有效的方法之一。虽然GA在许多优化问题中都有成功的应用,但其本身也存在一些不足,主要有:局部搜索能力弱、存在早熟成熟现象、收敛于局部最优解、随机漫游或振荡等现象,从而影响算法的收敛性能,降低了遗传算法的可信度。如何改善遗传算法的搜索能力和提高算法的收敛速度,使其更好地解决实际问题,是各国学者一直努力探索的一个主要课题。纵观成百上千的对遗传算法进行改进研究文献,其主要改进措施多集中在以下几个方面: 1.对遗传算法本身缺点的改进 1.1对遗传算法本身单一缺点的改进 种群人们主要关心的是种群中个体分布的多样性,这决定着运行遗传算法的效率,与种群相关的因素有种群个数,种群大小及初始种群三方面。

种群个数采用多个子种群并行搜索思想,有效避免了欺骗问题,提高了算法成功的概率。典型应用就是小生境技术,种群由M个子种群组成,每个子种群独立进化,种群间通过种群迁移∕移民等机制完成个体信息的交换。借鉴子种群并行的思想,发展出了思维进化计算,文献【】和量子衍生遗传算法或量子衍生进化计算,文献【】【】。 种群大小大致有固定种群和动态种群两种。 初始种群对于初始种群的生成主要是改变了以往单靠随机生成的缺点,引进了解空间格点化法或数论中均匀设计法,使产生的点集能均匀地分布于解空间。当然采用随机与均匀混合生成的初始种群,可以包含更丰富的解空间模式。文献【】,给出了用点的低序列差均匀生成初始种群的方法。(当然这些方法 编码经典的标准遗传算法( SGA )中,Holland运用模式定理分析编码机制时,建议采用二进制编码,其优点是简易稳定,但二进制编码具有不能直接反映问题的固有结构,解码复杂,精度不高,个体长度太长,占用计算机内存多和空间效率不高的缺点。它早已不能适应人们处理问题多样化的事实。 针对上述缺陷, 人们采用Gray编码和动态编码等方法成功地减少了编码的尺寸和复杂度,提高了局部搜索性能和速度。文献【】,给出了采用了性别编码,检测仿真表明其性能优于二进制和格雷码;采用染色体隐式解码算法,使得解码速度提高了6~50倍[9];采用实数或浮点数的矩阵形式或复数形式的编码方法,实现了无需解码可直

遗传算法开题报告

毕业设计(论文)开题报告 学院:计算机与信息工程学院2015 年 3 月23日(学生填表)课题名称遗传算法在玻璃原料配送中的应用 学生姓名专业班级计算机科学 与技术课题类型软件工程 指导教师职称高工课题来源工程 1. 综述本课题国内外研究动态,说明选题的依据和意义 1.1国内外研究动态 遗传算法(GeneticAlgorithms,简称GA)是人工智能的一个重要分支,它是基于Darwin的进化论,在计算机上模拟生命进化机制而发展起来的一门新学科,是生命科学与工程科学互相交叉、互相渗透的产物[21。遗传算法由美国J.H.Holland博士1975年提出,随后经过多年的发展,取得了丰硕的应用成果和理论研究的进展。从1985年在美国卡耐基一梅隆大学召开的第一届国际遗传算法会议到1997年,遗传算法作为具有系统优化、适应和学习高性能计算和建模方法的研究渐趋成熟。 遗传算法本质上是一种求解问题的高度并行性全局搜索算法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题种类有很强的鲁棒性,因此能够广泛应用于很多学科。目前,遗传算法已在函数优化、组合优化、生产调度问题、自动控制、机器人智能控制、图像处理、模式识别、人工智能、遗传程序设计和机器学习等领域投入应用并取得了一定的成果。 旅行商问题(Traveling Salesman Problem,简记TSP)是组合数学中一个古老而又困难的问题,也是一个典型的组合优化问题,现已归入NP完备问题类。TSP问题的历史可以分成以下几个阶段:1800—1900年,首次描述TSP;1920.1950年;开始意识到TSP是“难"的问题;1954年,42城市的TSP求得最优解。从1954年以后,求得最优解的TSP规模越来越大,在1998年,求得了模拟美国13509个城镇的最优解,在2001年,求得了模拟德国15112个城镇的最优解,但这一工程代价也是巨大的,据报道,解决15112个城镇问的TSP共使用了美国Rice大学和普林斯顿大学之间网络互连的、由速度为500MHz的CompaqEV6 Alpha处理器组成的110台计算机,所有计算机花费的时间之和为22.6年。在2004年5月,瑞典求得了模拟24978城镇的最优解。TSP可能的路径总数与城市数目n是成阶乘数增长的,故一般很难精确地求出其最优解。对于这个问题,不论是传统的动态规划、分枝定界法、贪婪法等方法,还是在近些年的研究过程中采用的各种智能优化算法(禁忌搜索(tabusearch)、模拟退火(simulated annealing)、遗传算法(genetic algorithms)、人工神经网络(neural networks)、蚂蚁算法(ant algorithms)以及它们的混合算法等),都存在解的质量不高或者需要的时空开销太大等问题。 1.2选题依据及意义

遗传算法的数据挖掘综述

基于遗传算法的数据挖掘综述 朱玲 (江西理工大学信息工程学院,赣州市中国 341000) 摘要:本文定义了遗传算法概念和理论的来源,介绍遗传算法的研究方向和应用领域,解释了遗传算法的相关概念、编码规则、三个主要算子和适应度函数,描述遗传算法计算过程和参数的选择的准则,并且在给出的遗传算法的基础上结合实际应用加以说明。 关键词:数据挖掘;遗传算法 Data Mining Based on Genetic Algorithm Zhu Ling (College of Information Engineering, Jiangxi University of Science and Technology, Ganzhou, China 341000) Abstract:This paper defines the concept of genetic algorithm and the source of the theory, introduces the research direction and application field of genetic algorithm, explains the related concepts, coding rules, three main operators and fitness functions of genetic algorithm, describes the genetic algorithm calculation process and Parameter selection criteria, and in the given genetic algorithm based on the combination of practical applications to be explained. Key words: data mining; genetic algorithm 前言 遗传算法(genetic algorithm,GAs)试图计算模仿自然选择的过程,并将它们运用于解决商业和研究问题。遗传算法于20世界六七十年代由John Holland[1] 发展而成。它提供了一个用于研究一些生物因素相互作用的框架,如配偶的选择、繁殖、物种突变和遗传信息的交叉。在自然界中,特定环境限制和压力迫使不同物种竞争以产生最适应于生存的后代。在遗传算法的世界里,会比较各种候选解的适合度,最适合的解被进一步改进以产生更加优化的解。 遗传算法借助了大量的基因术语。遗传算法的基本思想基于达尔文的进化论和孟德尔的遗传学说,是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法。生物在自然界的生存繁殖,显示对其自然环境的优异自适应能力。受其启发,人们致力于对生物各种生存特性的机制研究和行为模拟。通过仿效生物的进化与遗传,根据“生存竞争”和“优胜劣汰”的原则,借助选择、交叉、变异等操作,使所要解决的问题从随机初始解一步步逼近最优解。现在已经广泛的应用于计算机科学、人工智能、信息技术及工程实践。[2]在工业、经济管理、交通运输、工业设计等不同领域,成功解决了许多问题。例如,可靠性优化、流水车间调度、作业车间调度、机器调度、设备布局设计、图像处理以及数据挖掘等。遗传算法作为一类自组织于自适应的人工智能技术,尤其适用于处理传统搜索方法难以解决的复杂的和非线性的问题。 1.遗传算法的应用领域和研究方向 1.1遗传算法的特点 遗传算法作为一种新型、模拟生物进化过程的随机化搜索方法,在各类结构对象的优化过程中显示出比传统优化方法更为独特的优势和良好的性能。它利用其生物进化和遗传的思想,所以它有许多传统算法不具有的特点[3]: ※搜索过程不直接作用在变量上,而是作用于由参数集进行了编码的个体上。此编码操作使遗传算法可以直接对结构对象进行操作。 ※搜索过程是从一组解迭代到另一组解,采

遗传算法综述

遗传算法综述 史俊杰 摘要:遗传算法来源于进化论和群体遗传学,是计算智能的重要组成部分,正受到众多学科的高度重视。本文主要回顾了遗传算法的起源和发展历程,并对遗传算法的基本原理及特点作了简要阐述。进一步指出了遗传算法存在的问题及相应的改进措施,讨论了遗传算法在实际中的应用,并对遗传算法的未来的发展进行了探讨。 关键字:遗传算法,适应度函数,神经网络 1.遗传算法的起源 遗传算法(Genetic Algorithm,GA)是模拟自然界生物进化机制的一种算法,即遵循适者生存、优胜劣汰的法则,也就是寻优过程中有用的保留,无用的则去除。在科学和生产实践中表现为,在所有可能的解决方法中找出最符合该问题所要求的条件的解决方法,即找出一个最优解。这种算法是1960年由Holland提出来的,其最初的目的是研究自然系统的自适应行为,并设计具有自适应功能的软件系统。 2.遗传算法的发展过程 从二十世纪六十年代开始,密切根大学教授Holland开始研究自然和人工系统的自适应行为,在这些研究中,他试图发展一种用于创造通用程序和机器的理论。在六十年代中期至七十年代末期,Bagly发明“遗传算法”一词并发表了第一篇有关遗传算法应用的论文。1975年竖立了遗传算法发展史上的两块里程碑,一是Holland出版了经典著作“Adaptation in Nature and Artifieial System”,二是Dejong完成了具有指导意义的博士论文“An Analysis of the Behavior of a Class of Genetie Adaptive System”。进入八十年代,随着以符号系统模仿人类智能的传统人工智能暂时陷入困境,神经网络、机器学习和遗传算法等从生物系统底层模拟智能的研究重新复活并获得繁荣。进入九十年代,以不确定性、非线性、时间不可逆为内涵,以复杂问题为对象的科学新范式得到学术界普遍认同,如广义进化综合理论。由于遗传算法能有效地求解属于、NPC类型的组合优化问题及非线性多模型、多目标的函数优化问题,从而得到了多学科的广泛重视。3.遗传算法特点 遗传算法作为具有系统优化、适应和学习的高性能计算和建模方法的研究渐趋成熟。遗传算法具有进化计算的所有特征,同时又具有自身的特点: (1)搜索过程既不受优化函数的连续性约束,也没有优化函数导数必须存在的要

最优控制-遗传算法综述

最优控制论文遗传算法的发展

摘要 最优控制是现代控制理论的核心,它研究的主要问题是:在满足一定约束条件下,寻求最优控制策略,使得性能指标取极大值或极小值。解决最优控制问题的主要方法有古典变分法、极大值原理和动态规划。 最优控制理论已被应用于综合和设计最速控制系统、最省燃料控制系统、最小能耗控制系统、线性调节器等。目前研究最优控制理论最活跃的领域有神经网络优化、模拟退火算法、趋化性算法、遗传算法、鲁棒控制、预测控制、混沌优化控制以及稳态递阶控制等。 作为一种比较新的一种新的优化算法—遗传算法(Genetic Algorithm, 简称G A )正在迅速发展。 遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法。近年来,由于遗传算法求解复杂优化问题的巨大潜力及其在工业工程领域的成功应用,这种算法受到了国内外学者的广泛关注。本文介绍了遗传算法的研究现状,描述了它的主要特点和基本原理,概述了它的理论、技术和应用领域,讨论了混合遗传算法和并行遗传算法,指出了遗传算法的研究方向,并对遗传算法的性能作了分析。

目录 1 前言 (1) 2 遗传算法基本理论 (1) 2.1 遗传算法的基本步骤 (1) 2.2 遗传算法的现状 (2) 2.3 遗传算法的应用 (3) 2.3.1函数优化 (3) 2.3.2组合优化 (4) 2.3.3生产调度问题 (4) 2.3.4自动控制 (4) 2.3.5机器人学 (4) 2.3.6图像处理 (4) 2.3.7人工生命 (5) 2.3.8遗传编程 (5) 2.3.9机器学习 (5) 2.3.10数据挖掘 (5) 3 遗传算法的研究方向 (5) 参考文献 (7)

第一章 遗传算法概述

第一章遗传算法概述 遗传算法(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,染色体值) 能在(表现) 域决策变量上被惟一地描述。尽管可以使用二进制、整数、实数等,

遗传算法原理步骤及发展状况和未来趋势

智能优化方法——遗传算法 自动化1002朱浩翔31002419 摘要 智能优化方法通常包括进化算法(Evolutionary Computation,EC)和群智能(Swarm Intelligence,SI)等两大类方法。遗传算法是属于进化算法中的一种,是一类主要受生物进化启发的基于种群的有向随机搜索方法。可随种群的发育或迭代的进行而逐渐获得问题的全局最优解。在向全局最优解的搜索过程中,种群中的全部个体将在问题空间中并行的进行选择、交叉、变异或重组等进化算子操作。 关键词:遗传算法、进化、操作步骤、研究状况 引言:遗传算法(Genetic Algorithm,GA)作为一种重要的现代优化算法,构成了各种进化计算方法的基础。本文主要阐述其工作原理、基本步骤、应用状况、未来发展趋势及存在的不足和改进[1]。 1.遗传算法的工作原理及操作步骤 1.1 基本原理 遗传算法类似于自然进化,通过作用于染色体上基因的寻找最好的染色体来求解问题。与自然界相似,遗传算法对求解问题的本身一无所知,它需要的仅是对遗传算法所长生的染色体有更多的繁殖机会。在遗传算法中,通过随机方式产生若干个求解问题的数字编码,即染色体,形成初试种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群,对这个新种群进行下一轮进化[2]。 1.2 操作步骤(典型的算法步骤) 1)初始化种群:这个初始的群体也就是问题的假设解的集合。 2)计算种群上每个个体的适应度。 3)按由个体适应度值所决定的某个规则选择将进人下一代的个体:该 准则为适应度准则,体现了适者生存,不适者淘汰。 4)按概率Pc进行交叉操作:对于选择用于下一代繁殖的个体随机地选 择两个个体相同的位置,按交叉概率Pc在选中的位置实行交换。 5)按概率Pm进行变异操作:根据生物遗传中基因变异的原理,以变异 的概率Pm对某些个体的某些位执行变异。 6)若没有满足某种停止条件,则转入2),否则进入下一步:当最优个 体的适应度达到给定的阈值,或者最有个体的适应度和群体适应度不再上升时,则算法的迭代过程收敛,算法结束,否则重新回到步骤2)。 7)输出种群中适应度最优的染色体作为问题的满意解或最优解 [2][3]。 2.遗传算法的应用状况及发展趋势 2.1 遗传算法的主要应用领域 遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。

相关文档
最新文档