遗传算法概述

遗传算法概述
遗传算法概述

第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

软件导刊2009年

单点。③遗传算法只需要适应度函数值。④遗传算法使用概率转换规则,而非确定的转换规则指导搜索。⑤遗传算法在搜索过程中不易陷入局部最优,有较好的全局优化能力。

5遗传算法存在的问题

(1)编码问题:对于不同问题,编码选择不当,可能导致积

木块假设不成立而使遗传算法很难收敛到最优解。

(2)早熟收敛:指群体过早失去多样性而收敛到局部最优解。

(3)进化时间长:进化过程中产生大量数据,计算量大、时间长。

(4)参数选择问题:目前参数选择是根据经验来确定,缺乏理论依据。

6遗传算法的改进研究

(1)编码表示

Holland 建议使用二进制编码,但它精度不

高,个体长度大,占用计算机内存多。解决措施有:动态编码,多维实数编码,复数编码,有序串编码和结构式编码等。

(2)适应度函数

适应度函数是区分个体好坏的标准,也

是自然选择的唯一标准。选择的好坏直接影响算法的优劣,选择得不好容易引起早熟收敛或导致搜索成为随机漫游;对此可引入适应度函数定标技术来解决。

(3)选择策略

不同的选择策略对算法性能有不同影响。

轮盘赌法使用最多,但它可能产生较大的抽样误差,可选用改进方法,如非线性排名选择等。

(4)控制参数

控制参数一般有群体大小、交叉概率、变异

概率等,它们对算法性能有很大影响。对于参数的确定,Davis 提出了自适应算子概率方法,Srinvivas 等则提出了一种自适应遗传算法。

(5)结合其它技术

简单遗传算法与启发式算法结合生成

混合遗传算法,具有更好的优化效果。结合并行机和分布式系统提出了多种并行遗传算法,可提高搜索效率。

7遗传算法的应用领域

遗传算法提供了一种求解复杂系统优化问题的通用框架。

它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性即健壮性,所以广泛应用于多学科。函数优化方面、组合优化方面

有背包问题、图划分问题等;生产调度方面有流水生产车间调度等;机器人学方面有路径规划等;图象处理方面有模式识别、特征抽取等;机器学习方面有学习模糊控制规则等;数据挖掘方面有规则开采等。

8结束语

遗传算法是一种基于概率意义随机迭代进化、具有广泛适

用性的全局优化搜索方法。遗传算法提供了一种求解复杂系统优化问题的通用框架。经过30多年的努力,不论是基础理论研究、算法设计还是实际应用,遗传算法都有了较大发展。今后,应用研究将是遗传算法研究的主要方向,同时其理论和技术研究也需要进一步深入完善,可引入新的数学工具和生物学的新成果。

参考文献:[1]王小平,曹立明.遗传算法—————理论、应用与软件实现[M ].西安:西安交通大学出版社,2002.

[2]Holland J.H.Concerning Efficient Adaptive Systems [J ].In Yovirs.M.C.Eds.Self-Organizing Systems ,1962:215-230.

[3]Holland J.H.Adaptation in Natural and Artificial Systems.AnnAr-bor :University of Michigan press ,1975.

[4]

Goldberg D.Lingle R.Alleles ,Loci and the Traveling Salesman Prob-lem.In :Grefenstette J.Editor ,Proceedings of First International Con-ference on Genetic Algorithms.Lawrence Erlbaum Associates ,New Jersey ,1985,154-159.

[5]Davis L D.Genetic Algorithms and Simulated Annealing [M ].Morgan Kaufmann.LosAltos ,1987.

[6]Michalewicz Z.A Modified Genetic Algorithm for Optimal Control Problems.Computers Math.Application ,1992,23(12):83-94.

[7]雷德明.多维实数编码遗传算法[J ].控制与决策,2000(2).[8]陈文清.遗传算法综述[J ].洛阳工业高等专科学校学报,2003(1).[9]李敏强.遗传算法的基本理论与应用[M ].北京:科学出版社,

2002.

[10]徐清振,肖成林.遗传算法的研究与应用[J ].现代计算机,2006(5).

[11]徐阳,王友仁.演化硬件理论与应用技术研究[J ].航空电子技术,2003(3).

[12]

周明,孙树栋.遗传算法原理及其应用[M ].北京:国防出版社,

1999.

(责任编辑:周晓辉)

O verview of G enetic A lgorithms

Abstract :Genetic Algorithms is a global optimization of the random search algorithm for solving complex optimization problems a power-ful tool.In the engineering design ,hardware design ,as well as the evolution of artificial intelligence applications in areas such as the prospects are bright.This article systematically introduces the history of the development of genetic algorithm ,the basic idea ,and the main characteristics of the applications and other related aspects of the final summarized and prospects.Key Words :Genetic Algorithms ;Search ;Evolution ;Optimal S olution ;Population

68--

遗传算法综述

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

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

自适应遗传算法讲解学习

自适应遗传算法

自适应遗传算法 一.主要流程: 1. 参数的初始化。设定遗传种群规模N ,阵元数M ,信源数P 等。 2. 编码。采用十进制编码方法。 3. 初始种群的产生。随机数生成。 4. 适应度函数的评价。选取 ()() R P ΘA )tr f = (1) 其中, H 1H )(A A A A P A -= (2) P A 是A 的投影矩阵,A 是阵列流型。 ∑==L i L 1 H 1XX R ) (3) R )是数据协方差矩阵的最大似然估计。 5. 选择。比例选择方法与精英选择方法结合使用,在当代种群中选择优良个体遗传到下一代。既保证了种群的多样性,也使最优个体得以保留。 1)比例选择方法(赌轮盘法):每个个体被选中的概率与它的适应度函数值大小成正比,即适应度函数越高的个体被选中的概率也就越高。 2)精英选择方法:让种群中适应度函数值最高的个体不进行配对交叉,直接复制到下一代中。但是容易陷入局部最优解,全局搜索能力差。 6. 交叉。按照概率P c 对种群中个体两两配对,进行交叉操作。本文中选取算数交叉的方式。 算数交叉:是由两个个体的线性组合来产生新的个体,假设第t 代的两个个体为A (t)、B (t),则算数交叉后产生的新个体是

()()()()t t t A B A αα-+=+11 (4) ()()()()t t t B A B αα-+=+11 (5) 其中,α选取(0,1)之间的随机数。 交叉概率:使交叉概率随着遗传代数的增长,逐渐减小,目的是进化前期注重交叉运算,全局搜索能力强。 2.02cos *4.0+?? ? ??*=πK T P c (6) 其中,T 是进化代数,K 是总进化次数。 7. 变异。按照概率P m 对种群个体进行变异。本文中选取均匀变异的方式。 均匀变异:如某基因座上的基因值为X k ,其取值范围为[Umin,Umax],对其进行变异后的值为 )U -r(U +U =X min max min k (7) 其中,r 选取[0,1]之间的随机数。 变异概率:使变异概率随着遗传代数的增长,逐渐增加,目的是进化后期注重变异运算,局部搜索能力强。 005.02sin *045.0+?? ? ??*=πK T P m (8) 其中,T 是进化代数,K 是总进化次数。 8. 终止条件判断。若已达到设定的最大遗传代数,则迭代终止,输出最优解;若不满足终止条件,则返回第4步,进行迭代寻优过程。

4遗传算法与函数优化

第四章遗传算法与函数优化 4.1 研究函数优化的必要性: 首先,对很多实际问题进行数学建模后,可将其抽象为一个数值函数的优化问题。由于问题种类的繁多,影响因素的复杂,这些数学函数会呈现出不同的数学特征。除了在函数是连续、可求导、低阶的简单情况下可解析地求出其最优解外,大部分情况下需要通过数值计算的方法来进行近似优化计算。 其次,如何评价一个遗传算法的性能优劣程度一直是一个比较难的问题。这主要是因为现实问题种类繁多,影响因素复杂,若对各种情况都加以考虑进行试算,其计算工作量势必太大。由于纯数值函数优化问题不包含有某一具体应用领域中的专门知识,它们便于不同应用领域中的研究人员能够进行相互理解和相互交流,并且能够较好地反映算法本身所具有的本质特征和实际应用能力。所以人们专门设计了一些具有复杂数学特征的纯数学函数,通过遗传算法对这些函数的优化计算情况来测试各种遗传算法的性能。 4.2 评价遗传算法性能的常用测试函数 在设计用于评价遗传算法性能的测试函数时,必须考虑实际应用问题的数学模型中所可能呈现出的各种数学特性,以及可能遇到的各种情况和影响因素。这里所说的数学特性主要包括: ●连续函数或离散函数; ●凹函数或凸函数; ●二次函数或非二次函数; ●低维函数或高维函数; ●确定性函数或随机性函数; ●单峰值函数或多峰值函数,等等。 下面是一些在评价遗传算法性能时经常用到的测试函数: (1)De Jong函数F1: 这是一个简单的平方和函数,只有一个极小点f1(0, 0, 0)=0。

(2)De Jong 函数F2: 这是一个二维函数,它具有一个全局极小点f 2(1,1) = 0。该函数虽然是单峰值的函数,但它却是病态的,难以进行全局极小化。 (3)De Jong 函数F3: 这是一个不连续函数,对于]0.5,12.5[--∈i x 区域内的每一个点,它都取全局极小值 30),,,,(543213-=x x x x x f 。

第三章-遗传算法的理论基础

第三章 遗传算法的理论基础 遗传算法有效性的理论依据为模式定理和积木块假设。模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。而积木块假设指出,遗传算法具备寻找到全局最优解的能力,即具有低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。Holland 的模式定理通过计算有用相似性,即模式(Pattern)奠定了遗传算法的数学基础。该定理是遗传算法的主要定理,在一定程度上解释了遗传算法的机理、数学特性以及很强的计算能力等特点。 3.1 模式定理 不失一般性,本节以二进制串作为编码方式来讨论模式定理(Pattern Theorem)。 定义3.1 基于三值字符集{0,1,*}所产生的能描述具有某些结构相似性的0、1字符串集的字符串称作模式。 以长度为5的串为例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001) 。由此可以看出,模式的概念为我们提供了一种简洁的用于描述在某些位置上具有结构相似性的0、1字符串集合的方法。 引入模式后,我们看到一个串实际上隐含着多个模式(长度为 n 的串隐含着2n 个模式) ,一个模式可以隐含在多个串中,不同的串之间通过模式而相互联系。遗传算法中串的运算实质上是模式的运算。因此,通过分析模式在遗传操作下的变化,就可以了解什么性质被延续,什么性质被丢弃,从而把握遗传算法的实质,这正是模式定理所揭示的内容 定义3.2 模式H 中确定位置的个数称作该模式的阶数,记作o(H)。比如,模式 011*1*的阶数为4,而模式 0* * * * *的阶数为1。 显然,一个模式的阶数越高,其样本数就越少,因而确定性越高。 定义3.3 模式H 中第一个确定位置和最后一个确定位置之间的距离称作该模式的定义距,记作)(H δ。比如,模式 011*1*的定义距为4,而模式 0* * * * *的定义距为0。 模式的阶数和定义距描述了模式的基本性质。 下面通过分析遗传算法的三种基本遗传操作对模式的作用来讨论模式定理。令)(t A 表示第t 代中串的群体,以),,2,1)((n j t A j =表示第t 代中第j 个个体串。 1.选择算子 在选择算子作用下,与某一模式所匹配的样本数的增减依赖于模式的平均适值,与群体平均适值之比,平均适值高于群体平均适值的将呈指数级增长;而平均适值低于群体平均适值的模式将呈指数级减少。其推导如下: 设在第t 代种群)(t A 中模式所能匹配的样本数为m ,记为),(t H m 。在选择中,一个位串 j A 以概率/j j i P f f =∑被选中并进行复制,其中j f 是个体)(t A j 的适应度。假设一代中群体 大小为n ,且个体两两互不相同,则模式H 在第1+t 代中的样本数为:

遗传算法经典MATLAB代码资料讲解

遗传算法经典学习Matlab代码 遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈0.01。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程 %----------------------------------------------- % 2.1初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),

% 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 2.2 计算目标函数值 % 2.2.1 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和列数 for i=1:py pop1(:,i)=2.^(py-i).*pop(:,i); end pop2=sum(pop1,2); %求pop1的每行之和 % 2.2.2 将二进制编码转化为十进制数(2) % decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置

遗传算法综述

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 序言 长久以来,人们一谈到人工智能就马上想到逻辑、规则、推理,而一谈到计算就联想到矩阵运算、解微分方程,似乎智能和计算是两股道上跑的车。人工智能在走过几十年的曲折道路之后,人们经过认真反思,不断探索新的研究途径,于是一个新的研究方向——计算智能应运而生。 研究思维模拟主要的道路有四条:基于心理学的符号处理方法,基于社会学层次型的智能体方法,基于生物进化的进化计算与自适应方法,以及基于生理学的人工神经网络方法。目前聚集在计算智能大旗下的主要是后两个学派的学者(加上从事模糊计算和混沌计算等方面的学者)。实际上,只要在计算机上,模拟人类思想,不管用什么方法,其本质的基础还是二进制数字计算,在当前符号处理主宰人工智能的情况下,更应强调遗传算法等以数字计算为基础的方法对推动人工智能发展有着特殊的作用。 计算技术的飞速发展使大规模的现实模拟成为可能,而针对社会和生物现象的模拟,对人类认识自身及其环境具有重大意义,进化是其中最为诱人的领域之一。人的智能是从哪里来的?归根结底是从生物进化中得来的,反映在遗传基因中,脑的结构变化也是通过基

遗 传 算 法 详 解 ( 含 M A T L A B 代 码 )

GATBX遗传算法工具箱函数及实例讲解 基本原理: 遗传算法是一种典型的启发式算法,属于非数值算法范畴。它是模拟达尔文的自然选择学说和自然界的生物进化过程的一种计算模型。它是采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。遗传算法的操作对象是一群二进制串(称为染色体、个体),即种群,每一个染色体都对应问题的一个解。从初始种群出发,采用基于适应度函数的选择策略在当前种群中选择个体,使用杂交和变异来产生下一代种群。如此模仿生命的进化进行不断演化,直到满足期望的终止条件。 运算流程: Step 1:对遗传算法的运行参数进行赋值。参数包括种群规模、变量个数、交叉概率、变异概 率以及遗传运算的终止进化代数。 Step 2:建立区域描述器。根据轨道交通与常规公交运营协调模型的求解变量的约束条件,设置变量的取值范围。 Step 3:在Step 2的变量取值范围内,随机产生初始群体,代入适应度函数计算其适应度值。 Step 4:执行比例选择算子进行选择操作。 Step 5:按交叉概率对交叉算子执行交叉操作。

Step 6:按变异概率执行离散变异操作。 Step 7:计算Step 6得到局部最优解中每个个体的适应值,并执行最优个体保存策略。 Step 8:判断是否满足遗传运算的终止进化代数,不满足则返回Step 4,满足则输出运算结果。 运用遗传算法工具箱: 运用基于Matlab的遗传算法工具箱非常方便,遗传算法工具箱里包括了我们需要的各种函数库。目前,基于Matlab的遗传算法工具箱也很多,比较流行的有英国设菲尔德大学开发的遗传算法工具箱GATBX、GAOT以及Math Works公司推出的GADS。实际上,GADS就是大家所看到的Matlab中自带的工具箱。我在网上看到有问为什么遗传算法函数不能调用的问题,其实,主要就是因为用的工具箱不同。因为,有些人用的是GATBX带有的函数,但MATLAB自带的遗传算法工具箱是GADS,GADS当然没有GATBX里的函数,因此运行程序时会报错,当你用MATLAB来编写遗传算法代码时,要根据你所安装的工具箱来编写代码。 以GATBX为例,运用GATBX时,要将GATBX解压到Matlab下的toolbox文件夹里,同时,set path将GATBX文件夹加入到路径当中。 这块内容主要包括两方面工作:1、将模型用程序写出来(.M文件),即目标函数,若目标函数非负,即可直接将目标函数作为适应度函数。2、设置遗传算法的运行参数。包括:种群规模、变量个数、区域描述器、交叉概率、变异概率以及遗传运算的终止进化代数等等。

种函数优化问题的混合遗传算法

一种函数优化问题的混合遗传算法 彭伟卢锡城 摘要将传统的局部搜索算法和遗传算法相结合,可以较好地解决遗传算法在达到全局最优解前收敛慢的问题.文章给出一种结合可变多面体法和正交遗传算法的混合算法.实验表明,它通过对问题的解空间交替进行全局和局部搜索,能更有效地求解函数优化问题. 关键词遗传算法,可变多面体法,正交交叉,函数优化. 中图法分类号TP A Hybrid Genetic Algorithm for Function Optimization PENG Wei LU Xi-cheng (Department of Computer Changsha Institute of Technology Changsha 410073) Abstract To overcome the problem of slow convergence before the genetic algorithms (GAs) reach the global optima, it is an effective way to combine the conventional local search algorithms with GAs. A new hybrid algorithm that incorporates the flexible polyhedron method into the orthogonal genetic algorithm (OGA) is presented in this paper. The experiments showed that it can achieve better performance by performing global search and local search alternately. The new algorithm can be applied to solve the function optimization problems efficiently. Key words Genetic algorithm, flexible polyhedron, orthogonal crossover, function optimization. 遗传算法(genetic algorithms)通过模拟生物进化的途径来在问题的解域中定向搜索最优解,在组合优化、机器学习、自适应控制、多目标决策等领域中有许多应用.对于传统方法较难求解的一些NP问题,遗传算法往往能得到更好的结果.但对传统方法已能较好解决的问题(如一般的非线性优化问题),它并不显示较强的优势.原因在于,遗传算法对问题特定的知识(如梯度、Hessian阵、某些定理等)利用较少.它主要采用群体搜索技术,通过对解的不断组合、随机改变以及对候选解的评估和选择来完成求解过程.在达到全局最优解前,它尚存在收敛慢的问题.设计遗传算法时往往需要在其通用性与有效性之间折衷.设计针对问题的特定遗传算子,可以更有效地求解问题,但缺乏通用性.另一种途径是将遗传算法与问题领域中一些传统的寻优方法(如爬山法、模拟退火法、牛顿法等)结合起来,可在保持算法一定的通用性时提高算法的效率.这类混合算法的基本框架如图1所示.

混合遗传算法及其应用

混合遗传算法及其应用 辛海涛 (哈尔滨商业大学计算机与信息工程学院,黑龙江哈尔滨150028) 摘 要:给出一种结合梯度法和正交遗传算法的混合算法。实验表明,它通过对问题的解空间交替进行全局和局部 搜索,能更有效地求解函数优化问题。关键词:遗传算法;正交交叉;函数优化中图分类号:TP312 文献标识码:A 文章编号:1672-7800(2010)05-0059-02 0引言 遗传算法是近年来发展起来的一种新型优化算法,是基于 自然选择和遗传学机理的迭代自适应概率性搜索方法。它通过模拟生物进化的途径问题的解域中定向搜索最优解,在组合优化、机器学习、自适应控制、多目标决策等领域中有许多应用。 遗传算法的实现涉及5个主要因素:参数编码、初始群体的设定、评估函数(即适应函数)的设计、遗传操作的设计和算法控制参数的设定。对于传统方法较难求解的一些NP 问题,遗传算法往往能得到更好的结果。但对传统方法已能较好解决的问题(如一般的非线性优化问题),它并没有较强的优势。遗传算法主要采用群体搜索技术,通过对解的不断组合、随机改变以及对候选解的评估和选择来完成求解过程。在达到全局最优解前,它尚存在收敛慢的问题。设计遗传算法时往往需要在其通用性与有效性之间折衷。设计针对问题的特定遗传算子,可以更有效地求解问题,但缺乏通用性。另一种途径是将遗传算法与问题领域中一些传统的寻优方法(如爬山法、模拟退火法、牛顿法等)结合起来,可在保持算法一定的通用性时提高算法的效率。 本文考虑一类非线性函数优化问题,即: minf (x )x ∈D 其中f (x )是n 元连续函数,D 是R n 的有界子集。本文探讨将梯度法与遗传算法相结合的算法,梯度法对初始解的构成具有较强的依赖性,算法执行过程中难于发现新的可能存在最优解的区域。通过将它与遗传算法相结合,一方面可以利用其局部搜索能力,另一方面可通过遗传算法来不断“发现”新的更有希望的搜索区域,并动态调整可变多面体法的搜索方向,从而使算法具有更好的灵活性,也使算法更易于并行化。实验表明,对于求解上述非线性优化问题,混合遗传算法具有比传统遗传 算法和梯度法都好的性能。 1 混合遗传算法 1.1 编码方式 编码的实质是在问题的解空间与算法的搜索空间之间建 立一个映射。传统遗传算法一般采用一种将实数空间离散化的二进制编码方式。这种方式存在编码长度影响求解精度、操作费时、不直观等缺点,因而提出了实数的直接编码方式并表明可以获得更好的性能。在实数编码方式下,每个个体用一个n 维的实向量来表示,这种方式具有直观、易操作的优点,且可以针对它设计非传统的交叉算子。本文采用此编码方式。 1.2交叉和选择操作 正交遗传算法在非线性优化问题及其他组合优化问题中 已显示出其有效性,我们的算法采用了正交交叉算子。由两个父本交叉操作产生一组个体,从新个体和两个父本中选择最优的进入下一代群体。由于采用局部选择而不是全局选择,在一定程度上保持了群体的多样性。 1.3变异操作 在实数编码方式下,变异操作对个体X 的每个分量X [i ] 作用一个随机偏差量,即: X′[i ]=X [i ]+δ,i=1,2,…,n 在进化规划和进化策略中,广泛采用了高斯变异算子,用正态分布的随机变量来作为变异操作中的偏差量。 1.4局部搜索 在本文中,我们采用梯度法进行局部搜索,梯度法步骤如下: (1)选定ε>0为终止限。选定初始点X (0),令k =0。(2)计算△f (X (k ))。如果‖△f (X (k ))‖<ε,迭代停止,取近试 最优解X *=X (k ),否则,令S (k )=-△f (X (k )),从X (k )出发沿S (k )作一 软件导刊 Software Guide 第9卷%第5期 2010年5月Vol.9No.5May.2010 作者简介:辛海涛(1970-),男,黑龙江鹤岗人,硕士,哈尔滨商业大学计算机与信息工程学院副教授,研究方向为算法分析。

遗传算法的计算性能的统计分析

第32卷 第12期2009年12月 计 算 机 学 报 CH INESE JOURNA L OF COMPU TERS Vol.32No.12 Dec.2009 收稿日期:2008210219;最终修改稿收到日期:2009209227.本课题得到国家自然科学基金(60774084)资助.岳 嵚,男,1977年生,博士研究生,主要研究方向为进化算法.E 2mail:yueqqin@si https://www.360docs.net/doc/2e9178027.html,.冯 珊,女,1933年生,教授,博士生导师,主要研究领域为智能决策支持系统. 遗传算法的计算性能的统计分析 岳 嵚 冯 珊 (华中科技大学控制科学与工程系 武汉 430074) 摘 要 通过对多维解析函数的多次重复计算并对计算结果进行统计分析来讨论遗传算法的可靠性和可信度,结果表明:遗传算法的计算结果具有一定的稳定性,可以通过采用多次重复计算的方法提高计算结果的可信度,并用以评价算法及其改进的实际效果.关键词 遗传算法;计算可靠性;置信区间 中图法分类号TP 18 DOI 号:10.3724/SP.J.1016.2009.02389 The Statistical Analyses for Computational Performance of the Genetic Algorithms YU E Qin FENG Shan (Dep artment of Contr ol Science and Eng ineering ,H uazhong University of Science and T ech nology ,W u han 430074) Abstr act In this paper,the author s discuss the reliability of the GAs by reiteratively computing the multi 2dimensional analytic functions and statistical analysis of the results.The analysis re 2sults show that the GAs have certain stability;it could improve the reliability by reiteratively computation and estimates the effects of improvements. Keywor ds genetic algorithms;computational stability;confidence interval 1 遗传算法的随机性 遗传算法是将生物学中的遗传进化原理和随机优化理论相结合的产物,是一种随机性的全局优化算法[1].遗传算法作为一种启发式搜索算法,其计算结果具有不稳定性和不可重现性;遗传算法的进化过程具有有向随机性,整体上使种群的平均适应度不断提高.现在学术界对遗传算法中的某些遗传操作的作用机制还不十分清楚,遗传算法的许多性能特点无法在数学上严格证明.遗传算法的计算过程会受到各种随机因素的影响,如随机产生的初始种群和随机进行的变异操作等,尤其初始种群对计算结果影响较大.但另一方面,大量的实算结果表明,遗传算法的计算结果具有一定的规律性,在统计意义上具有一定的可靠性,这样就可以对待求解问题 进行多次重复计算后取平均值的方法,提高遗传算 法在实际计算中的准确性和可信度. 包括遗传算法在内的启发式搜索算法主要用于解决大型的复杂优化问题,这些问题一般难以使用传统的优化算法解决.遗传算法对这类问题的计算结果也难达到精确的最优解.这给对用遗传算法解决实际工程优化问题的计算结果的评价带来了困难,在实际工程计算中也难以评价遗传算法及其改进型的计算效果的优劣. 为了分析遗传算法的计算性能,本文采用的计算对象是一个复杂的多维解析函数.使用这类函数评价遗传算法计算性能的好处是可以事先通过其他方法求得最优解,这样便于评价遗传算法及其改进型的计算效果.本文从统计学角度对多次重复计算的结果进行分析,试图得到遗传算法的稳定性和可信度方面的相关结论,通过分析遗传算法及其改进

遗传算法概述

第一章 遗传算法概述 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] 提出的遗传算法是采用二进制编码来表现个体,后来发现对连续优化问题采用浮点编码可以达到更好的效果,因此越来越多地使用浮点编码,下述的交叉、变异算子针对浮点编码。

matlab遗传算法工具箱函数及实例讲解

matlab遗传算法工具箱函数及实例讲解 最近研究了一下遗传算法,因为要用遗传算法来求解多元非线性模型。还好用遗传算法的工箱予以实现了,期间也遇到了许多问题。借此与大家分享一下。 首先,我们要熟悉遗传算法的基本原理与运算流程。 基本原理:遗传算法是一种典型的启发式算法,属于非数值算法范畴。它是模拟达尔文的自然选择学说和自然界的生物进化过程的一种计算模型。它是采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。遗传算法的操作对象是一群二进制串(称为染色体、个体),即种群,每一个染色体都对应问题的一个解。从初始种群出发,采用基于适应度函数的选择策略在当前种群中选择个体,使用杂交和变异来产生下一代种群。如此模仿生命的进化进行不断演化,直到满足期望的终止条件。 运算流程: Step 1:对遗传算法的运行参数进行赋值。参数包括种群规模、变量个数、交叉概率、变异概率以及遗传运算的终止进化代数。 Step 2:建立区域描述器。根据轨道交通与常规公交运营协调模型的求解变量的约束条件,设置变量的取值范围。 Step 3:在Step 2的变量取值范围内,随机产生初始群体,代入适应度函数计算其适应度值。 Step 4:执行比例选择算子进行选择操作。 Step 5:按交叉概率对交叉算子执行交叉操作。 Step 6:按变异概率执行离散变异操作。 Step 7:计算Step 6得到局部最优解中每个个体的适应值,并执行最优个体保存策略。 Step 8:判断是否满足遗传运算的终止进化代数,不满足则返回Step 4,满足则输出运算结果。 其次,运用遗传算法工具箱。 运用基于Matlab的遗传算法工具箱非常方便,遗传算法工具箱里包括了我们需要的各种函数库。目前,基于Matlab的遗传算法工具箱也很多,比较流行的有英国设菲尔德大学开发的遗传算法工具箱GATBX、GAOT以及Math Works公司推出的GADS。实际上,GADS 就是大家所看到的Matlab中自带的工具箱。我在网上看到有问为什么遗传算法函数不能调用的问题,其实,主要就是因为用的工具箱不同。因为,有些人用的是GATBX带有的函数,但MATLAB自带的遗传算法工具箱是GADS,GADS当然没有GATBX里的函数,因此运行程序时会报错,当你用MATLAB来编写遗传算法代码时,要根据你所安装的工具箱来编写代码。

基于混合遗传算法求解非线性方程组

万方数据

万方数据

万方数据

基于混合遗传算法求解非线性方程组 作者:田巧玉, 古钟璧, 周新志, TIAN Qiao-yu, GU Zhong-bi, ZHOU Xin-zhi 作者单位:四川大学,电子信息学院,四川,成都,610064 刊名: 计算机技术与发展 英文刊名:COMPUTER TECHNOLOGY AND DEVELOPMENT 年,卷(期):2007,17(3) 被引用次数:6次 参考文献(6条) 1.赵明旺基于牛顿法和遗传算法求解非线性方程组的混合计算智能方法 1997(11) 2.周明.孙树冻遗传算法原理及应用 1999 3.雷英杰.张善文.李续武.周创明MATLAB遗传算法工具箱及应用 2005 4.曾毅浮点遗传算法在非线性方程组求解中的应用[期刊论文]-华东交通大学学报 2005(01) 5.胡小兵.吴树范.江驹一种基于遗传算法的求解代数方程组数值的新方法[期刊论文]-控制理论与应用 2002(04) 6.罗亚中.袁端才.唐国全求解非线性方程组的混合遗传算法[期刊论文]-计算力学学报 2005(01) 相似文献(10条) 1.期刊论文郭海燕.金鑫.胡小兵.Guo Haiyan.Jin Xin.Hu Xiaobing基于微粒群优化的非线性方程组求解研究-计算机工程与应用2006,42(15) 在科学技术和工程应用中经常遇到求解非线性方程组的问题.提出了一种求解非线性方程组的通用数值方法.将非线性方程组的求解问题转化为函数优化问题,通过微粒群优化对其进行求解,最终得到非线性方程组较高精度的解.一系列测试实例显示了该算法在求解非线性方程组时具有简单性、高效性和普适性. 2.学位论文向占宏一类基于区域分裂的演化算法及应用2006 区域分裂法的基本思想是将定义在复杂的大区域上的问题分解成若干小区域上的问题分别求解,然后通过迭代得到整个区域上的解,该方法能分解大型问题为小型问题、复杂区域问题为简单区域问题。 演化算法在求解函数优化问题很有效。长期以来演化算法在应用中主要存在两大缺陷:一是对某些问题演化算法求解速度太慢;二是演化算法容易产生早熟现象,而且对于单峰函数优化问题,目前的演化算法还没有鲁棒性。有研究表明用杂交算子求解实数优化问题时可以得到较好的结果。目前对实数函数优化问题的研究中,很多人致力于研究如何找到一个有效的杂交算子。 本文介绍了演化算法的基本结构和研究现状,给出了演化算法的基本结构,介绍了各种杂交算子,分析了他们的优点和缺陷,详细分析了GT算子及带子空间的GT算法的性能。将GT多父体杂交算子进行改造,应用于求解非线性方程组,提出了求解非线性方程组的GT算法。 分析了常微分方程边值问题及其数值解法、有限元方法和区域分裂法的基本原理,给出了利用区域分裂法、有限元方法在小区域上离散一维常微分方程边值问题具体过程,给出了基于区域分裂和有限元离散的求解常微分方程边值问题的演化算法。 给出了郭涛算法求解非线性方程组的算例以及利用区域分裂法、有限元法和郭涛算法求解常微分方程边值问题的算例并对结果进行了分析。本文改进了求解非线性方程组的GT算法。该算法可以在演化过程中自适应调整搜索空间和种群从而加快收敛,并以它为基础提出了一类新的求解常微分方程边值问题的数值解的演化算法。 3.期刊论文贺春华.张湘伟.吕文阁.HE Chun-hua.ZHANG Xiang-wei.LV Wen-ge竞选优化算法求解非线性方程组的应用研究-计算机工程与应用2010,46(14) 针对非线性方程组的求解在工程上具有广泛的实际意义,经典的数值求解方法存在其收敛性依赖于初值而实际计算中初值难确定的问题,将复杂非线性方程组的求解问题转化为函数优化问题,引入竞选优化算法进行求解.同时竞选优化算法求解时无需关心方程组的具体形式,可方便求解几何约束问题.通过对典型非线性测试方程组和几何约束问题实例的求解,结果表明了竞选优化算法具有较高的精确性和收敛性,是应用于非线性方程组求解的一种可行和有效的算法. 4.学位论文刘丽芳粒子群算法的改进及应用2008 粒子群优化算法是在对鸟群捕食行为模拟的基础上提出的一种群集智能算法,是进化计算领域中一个新的分支。它的主要特点是原理简单、参数少、收敛速度较快、易于实现。因此,该算法一提出就吸引了的广泛关注,逐渐成为一个新的研究热点。目前,粒子群优化算法应用于神经网络的训练、函数优化、多目标优化等领域并取得了较好的效果,有着广阔的应用前景。 论文的主要工作有: (1)对粒子群优化算法的理论基础和研究现状作了简要的介绍,分析了粒子群优化算法的原理及算法流程,对算法参数的选择做了详细的研究,并进行了相应的仿真实验。 (2)分析了粒子群优化算法存在的问题,主要包括:参数设置问题、算法“早熟”问题和算法稳定性问题。在粒子群优化算法中,参数的设置会影响算法优化的结果,因此,如何选择合适的参数达到最好的优化结果是算法需要解决的问题。“早熟”问题是优化算法普遍存在的问题。如果粒子在搜索最优值时过早收敛,就会使算法的寻优停滞在局部最小值,无法找到全局最优解。由于算法中粒子的初始位置、速度和一些参数是被随机初始化的,因此每一次算法运行的结果并不相同,有时结果的差别很大,这样就导致了算法优化结果不稳定。 (3)针对粒子群优化算法存在的问题,论文提出了一种新的改进算法——基于粒子进化的多粒子群优化算法。该算法采用局部版的粒子群优化方法,从“粒子进化”和“多种群”两个方面对标准粒子群算法进行改进。多个粒子群彼此独立地搜索解空间,保持了粒子种群的多样性,从而增强了全局搜索能力;而适当的“粒子进化”可以使陷入局部最优的粒子迅速跳出,有效的避免了算法“早熟”,提高了算法的稳定性。通过对测试函数进行仿真实验,验证了该算法的有效性。 (4)将基于粒子进化的多粒子群优化算法应用于线性瞬时混合的盲源分离。将该算法的仿真实验结果与标准粒子群优化算法的结果相比,前者在分离混合信号时所需要的迭代次数少,算法的稳定性高。 (5)将基于粒子进化的多粒子群优化算法用于求解非线性方程组。该算法求解精度高、收敛速度快,而且克服了一些算法对初值的敏感和需要函数可导的困难,能较快地求出复杂非线性方程组的最优解。数值仿真结果显示了该算法的有效性和可行性,为求解非线性方程组提供了一种实用的方法。

遗传算法的计算性能的统计分析

遗传算法遗传算法的计算性能的统计分析 岳嵚冯珊 (华中科技大学控制科学与工程系) 摘要:本文通过对多维解析函数的多次重复计算并对计算结果的进行统计分析来讨论遗传算法的可靠性和可信度,结果表明:遗传算法的计算结果具有一定的稳定性,可以通过采用多次重复计算的方法提高计算结果的可信度,并用以评价算法及其改进的实际效果。 关键词:遗传算法;计算可靠性;置信区间 分类号:TP18 1遗传算法的随机性 遗传算法是将生物学中的遗传进化原理和随机优化理论相结合的产物,是一种随机性的全局优化算法[1]。遗传算法作为一种启发式搜索算法,其计算结果具有不稳定性和不可重现性;遗传算法的进化过程具有有向随机性,整体上使种群的平均适应度不断提高。现在学术界对遗传算法中的某些遗传操作的作用机制还不十分清楚,遗传算法的许多性能特点无法在数学上严格证明。遗传算法的计算过程会受到各种随机因素的影响,如随机产生的初始种群和随机进行的变异操作等,尤其初是始种群对计算结果影响较大。但另一方面,大量的实算结果表明,遗传算法的计算结果具有一定的规律性,在统计意义上具有一定的可靠性,这样就可以对待求解问题进行多次重复计算后取平均值的方法,提高遗传算法在实际计算中的准确性和可信度。 包括遗传算法在内的启发式搜索算法主要用于解决大型的复杂优化问题,这些问题一般难以使用传统的优化算法解决。遗传算法对这类问题的计算结果也难达到精确的最优解。这给对用遗传算法解决实际工程优化问题的计算结果的评价带来了困难,在实际工程计算中也难以评价遗传算法及其改进型的计算效果的优劣。 为了分析遗传算法的计算性能,本文采用的计算对象是一个复杂的多维解析函数。使用这类函数评价遗传算法计算性能的好处是可以事先通过其他方法求得最优解,这样便于评价遗传算法及其改进型的计算效果。本文从统计学角度对多次重复计算的结果进行分析,试图得到遗传算法的稳定性和可信度方面的相关结论,通过分析遗传算法及其改进型求解解析问题的计算效果,再把所得到的相关结论推广应用到复杂的工程实际问题中去。 遗传算法在实际使用中有多种形式的变型,经典遗传算法是遗传算法的最简单的形式,但是经典遗传算法并不理想。本文使用的是粗粒度并行遗传算法。粗粒度并行遗传算法是遗传算法的一个重要改进型。它具有比经典遗传算法更好的计算性能。 2算例、实验方法和实验结果 2.1算例 本文所使用的算例是Deb 函数: ]10,10[,)]4cos(10[10)(12?∈??+=∑=i n i i i Deb x n x x x f i π(1) Deb 函数是一个高维的非凸函数,该函数在点(9.7624,9.7624,…,9.7624)上取得最大

相关文档
最新文档