文档库 最新最全的文档下载
当前位置:文档库 › 一种改进的实数编码混合遗传算法

一种改进的实数编码混合遗传算法

一种改进的实数编码混合遗传算法
一种改进的实数编码混合遗传算法

一种改进的遗传算法

第17卷第3期 辽阳石油化工高等专科学校学报Vol.17No.3 2001年9月 Journal of Liaoyang Petrochemical College September2001 一种改进的遗传算法 王亮申 王文友 吴克勤 江远鹏 谢 荣 (辽阳石油化工高等专科学校机械系,辽阳111003) 摘 要 给出的适应值标定公式能够解决对个体选择压力和标定后适应值非负问题. 对多极值函数的遗传算法所提出的改进措施可以增加群体的多样性,避免算法“早熟”,过早 陷入局部最优. 关键词 遗传算法;适应值标定;早熟 中图分类号 O224 由美国密执安(Michrgan)大学的Holland教授等人在1975年创立的遗传算法(G enetic Algo2 rithms简称G A),是建立在达尔文(Darwin)的生物进化论和孟德尔(Mendel)的遗传学说基础上的算法.经过后人的不断改进使得遗传算法更加完善.由于遗传算法求解复杂优化问题的巨大潜力及其在各个领域(如布局优化问题、交通问题、图像处理与识别、结构设计、电力系统设计、可靠性计算等)的成功应用,这种算法越来越被人们所接受. 遗传算法是一种基于生物进化原理构想出来的搜索最优解的仿生算法,它模拟基因重组与进化的自然过程,把待解决问题的参数编成二进制码或十进制码(也可编成其它进制码)即基因(gene),若干基因组成一个染色体(个体),许多染色体进行类似于自然选择、配对交叉和变异运算,经过多次重复迭代(即世代遗传)直至得到最后的优化结果.习惯上,适应度值越大,表示解的质量越好.对于求解最小值问题可通过变换转为求解最大值问题.遗传算法是一种高度并行、随机、自适应搜索算法. 尽管遗传算法有许多优点,也有许多专家学者对遗传算法进行不断研究,但目前存在的问题依然很多.如(1)适应值标定方式多种多样,没有一个简洁、通用方法,不利于对遗传算法的使用; (2)遗传算法的“早熟”现象即很快收敛到局部最 收稿日期:2001-06-27优解而不是全局最优解是迄今为止最难处理的关键问题;(3)快要接近最优解时在最优解附近左右摆动,收敛较慢. 1 改进方法 1.1 适应值标定 初始种群中可能存在特殊个体的适应值超常(如很大).为了防止其统治整个群体并误导群体的发展方向而使算法收敛于局部最优解需限制其繁殖;在计算临近结束,遗传算法逐渐收敛,由于群体中个体适应值比较接近,继续优化选择困难,造成在最优解附近左右摇摆,此时应将个体适应值适当加以放大,以提高选择能力,这就是适应值的标定.文献[1]提出的标定方法有两个计算公式,不利于使用;文献[2]的标定方式虽然限制了适应值范围但将最大最小值颠倒.此外象幂律标定、对数标定等亦有应用.本文针对适应值标定问题提出以下计算公式. f’= 1 f max-f min+δ (f+|f min|) f′—为标定后的适应值;f—为原适应值;δ—为在(0,1)内的一个正实数,目的是防止分母为零和增加遗传算法的随机性;|f min|—是为了保证定标后的适应值不出现负值。

遗传算法基本原理及改进

遗传算法基本原理及改进 编码方法: 1、二进制编码方法 2、格雷码编码方法 3、浮点数编码方法。个体长度等于决策变量长度 4、多参数级联编码。一般常见的优化问题中往往含有多个决策变量,对这种还有多个变量的个体进行编码的方法就成为多参数编码方法。多参数编码的一种最常用和最基本的方法是:将各个参数分别以某种方式进行编码,然后再将它们的编码按照一定顺序连接在一起就组成了标识全部参数的个体编码。 5、多参数交叉编码:思想是将各个参数中起主要作用的码位集中在一起,这样他们就不易于被遗传算子破坏掉。在进行多参数交叉编码时,可先对各个参数进行编码;然后去各个参数编码串的最高位连接在一起,以他们作为个体编码串前N位编码,同上依次排列之。

改进遗传算法的方法: (1)改进遗传算法的组成成分或实用技术,如选用优化控制参数、适合问题的编码技术等。 (2)采用动态自适应技术,在进化过程中调整算法控制参数和编码精度。 (3)采用混合遗传算法 (4)采用并行算法 (5)采用非标准的遗传操作算子 改进的遗传算法: (1)分层遗传算法 (2)CHC算法 (3)messy遗传算法; (4)自实用遗传算法(Adaptive Genetic Algorithm) (5)基于小生境技术的遗传算法(Niched Genetic Algorithm,简称NGA)。 (6)并行遗传算法(Parallel Genetic Algorithm) (7)混合遗传算法:遗传算法与最速下降法相结合的混合遗传算法;遗传算法与模拟退火算法相结合的混合遗传算法。 解决标准遗传算法早熟收敛和后期搜索迟钝的方案 (1)变异和交叉算子的改进和协调采用 将进化过程划分为渐进和突变两个不同阶段 采用动态变异 运用正交设计或均匀设计方法设计新的交叉和变异算子 (2)采用局部搜索算法解决局部搜索能力差的问题 (3)采用有条件的替代父代的方法,解决单一的群体更新方式难以兼顾多样性和收敛性的问题 (4)收敛速度慢的解决方法; 产生好的初始群体 利用小生境技术 使用移民技术 采用自适应算子 采用与局部搜索算法相结合的混合遗传算法 对算法的参数编码采用动态模糊控制 进行未成熟收敛判断

实数编码的遗传算法代码

function GA_real_coded_min % ±?ày?aêμêy±à??ò?′???·¨?óoˉêy×?D??μμ?ó??ˉ?êìa % ??±êoˉêy?a J = x1^2 + x2^2 % ???D x1 μ?·??§?a [-10,10], x2 μ?·??§?a [-10,10] Size = 200;% the value of population CodeL = 2; MinX(1) = -10; MaxX(1) = 10; MinX(2) = -10; MaxX(2) = 10; E(:,1) = MinX(1) + (MaxX(1)-MinX(1))*rand(Size,1); E(:,2) = MinX(2) + (MaxX(2)-MinX(2))*rand(Size,1); G = 100;% the max generation %---------------Start Running--------------------------------------------- for kg = 1 : G time(kg) = kg; %----------------------step 1: Evaluate BestJ-------------------------for i = 1 : Size xi = E(i,:); x1 = xi(1); x2 = xi(2); % ????μ? F ó?óú??????ì?μ?êêó|?è?μ£?êêó|?èoˉêy?ù?Y??±êoˉêy??DDá???D?±??? F(i) = 1/(x1^2 + x2^2);% ????êêó|?è?μ£???′ó??o? Ji = x1^2 + x2^2;% ??????±ê?μ£???D???o? BsJi(i) = min(Ji); end [OrderJi,IndexJi] = sort(BsJi); BestJ(kg) = OrderJi(1); Ji = BsJi + eps;% Avoiding deviding zero fi = F; [Orderfi,Indexfi] = sort(fi); % Arranging fi small to bigger Bestfi = Orderfi(Size); % Let Bestfi=max(fi) BestS = E(Indexfi(Size),:); % Let BestS=E(m),m is the Indexfi belongs to max(fi) bfi(kg) = Bestfi; kg BestS %--------------------Step 2:Select and Reproduct Operation------------ fi_sum = sum(fi); fi_Size = (Orderfi/fi_sum)*Size; fi_S = floor(fi_Size); % Selecting Bigger fi value r = Size - sum(fi_S); Rest = fi_Size - fi_S; [RestValue,Index] = sort(Rest); for i = Size : -1 : Size-r+1

一种改进的基于实数编码的遗传算法

一种改进的基于实数编码的遗传算法 Ξ 叶正华 1,2 , 谢 勇2, 郑金华 2 (1.吉首大学计算机系,湖南吉首416000;2湘潭大学信息工程学院,湖南湘潭411105) [摘要] 对传统遗传算法在编码方案及遗传操作中存在的局限性以及非成熟收敛现象,提出一种改进的基于实数编码 的遗传算法.该方法以实数编码代替二进制编码,有效地解决了传统遗传算法中海明悬崖、计算精度等问题.根据适应度值对父染色体进行变异操作,减轻传统遗传算法中变异操作所存在的盲目性,并对遗传算法可能出现的非成熟收敛现象进行预测,从而能极大的避免非成熟收敛现象的产生.关 键 词:数编码;遗传算法;非成熟收敛 中图分类号:TP301 文献标识码:A 文章编号:10005900(2002)03003204 An Madified G enetic Algorithm B ase on R eal Coding YE Zheng hua 1,2 , XIE Yong 2 , ZHENG Jin hua 2 (1.C om puter Department ,Jishou University ,Jishou 416000China ; 2.C ollege of In formation Engineering of X iangtan University ,X iangtan 411105China ) 【Abstract 】 T owards the premature convergence phenomenon and the limited of traditional G enetic Alg orithm in course of coding and genetic operation.The paper presents a kind of m odified G enetic Alg orithm.The G enetic Alg orithm adopts real coding ,s o it can res olve the problems that exist in the binary system ,such as Hamming Cliff ,C om puting precision.According to the fitness of the father ,it adopt different mutation operations.And it can forecast the premature conver 2gence phenomenon ,s o it can reduce the happening of the phenomenon.K ey w ords : Real coding ;G enetic Alg orithm ;premature convergence 遗传算法(G enetic Alg orithm ———G A ),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型 [1] ,它是由美国Michigan 大学的J.H olland 教授于1975年首先提出的.遗传算法作为一种新的全局 优化搜索算法,以其简单通用、鲁棒性强、适于并行处理以及应用范围广等显著特点,奠定了它作为21世纪关键智能计算之一的地位.尽管遗传算法本身在理论和应用方法上仍有许多有待进一步研究的问题,但它在组合优化、自适应控制、规划设计、机器学习和人工生命的领域的应用中已展现了其特色和魅力 [6] . 但是,对于标准遗传算法(SG A ),其还是存在一些缺陷,如:非成熟收敛、收敛速度过慢、编码表示等.针对SG A 的这些缺点,笔者提出了一种新的遗传算法,能有效的克服或减轻以上的缺点. 1 改进的遗传算法 2.1 算法框架 算法框架如下:{ 随机初始化种群P (0),t =0;计算P (0)中个体的适应度;while (t

人工智能之遗传算法论文含源代码

30维线性方程求解 摘要:非线性方程组的求解是数值计算领域中最困难的问题,大多数的数值求解算法例如牛顿法的收敛性和性能特征在很大程度上依赖于初始点。但是对于很多高维的非线性方程组,选择好的初始点是一件非常困难的事情。本文采用了遗传算法的思想,提出了一种用于求解非线性方程组的混合遗传算法。该混合算法充分发挥了遗传算法的群体搜索和全局收敛性。选择了几个典型非线性方程组,考察它们的最适宜解。 关键词:非线性方程组;混合遗传算法;优化 1. 引言遗传算法是一种通用搜索算法,它基于自然选择机制和自然遗传规律来模拟自然界的进化过程,从而演化出解决问题的最优方法。它将适者生存、结构化但同时又是 随机的信息交换以及算法设计人的创造才能结合起来,形成一种独特的搜索算法,把一些解决方案用一定的方式来表示,放在一起成为群体。每一个方案的优劣程度即为适应性,根据自然界进化“优胜劣汰”的原则,逐步产生它们的后代,使后代具有更强的适应性,这样不断演化下去,就能得到更优解决方案。 随着现代自然科学和技术的发展,以及新学科、新领域的出现,非线性科学在工农业、经济政治、科学研究方面逐渐占有极其重要的位置。在理论研究和应用实践中,几乎绝大多数的问题都最终能化为方程或方程组,或者说,都离不开方程和方程组的求解。因此,在非线性问题中尤以非线性方程和非线性方程组的求解最为基本和重要。传统的解决方法,如简单迭代法、牛顿法、割线法、延拓法、搜索法、梯度法、共轭方向法、变尺度法,无论从算法的选择还是算法本身的构造都与所要解决的问题的特性有很大的关系。很多情况下,算法中算子的构造及其有效性成为我们解决问题的巨大障碍。而遗传算法无需过多地考虑问题的具体形式,因为它是一种灵活的自适应算法,尤其在一些非线性方程组没有精确解的时候,遗传算法显得更为有效。而且,遗传算法是一种高度并行的算法,且算法结构简单,非常便于在计算机上实现。本文所研究的正是将遗传算法应用于求解非线性方程组的问题。 2. 遗传算法解非线性方程组为了直观地观察用遗传算法求解非线性方程组的效果,我们这里用代数非线性方程组作为求解的对象问题描述:非线性方程组指的是有n 个变量(为了简化讨论,这里只讨论实变量方程组)的方程组 中含有非线性方程。其求解是指在其定义域内找出一组数能满足方程组中的每 个方程。这里,我们将方程组转化为一个函数则求解方程组就转化为求一组值使得成立。即求使函数取得最小值0 的一组数,于是方程组求解问题就转变为函数优化问题 3. 遗传算子 遗传算子设计包括交叉算子、变异算子和选择算子的设计。

改进的混沌遗传算法

改进的混沌遗传算法 李辉 (计算机学院2004级研究生 04720746) 摘要:混沌遗传算法(chaos genetic algorithm, CGA)是基于混沌优化的遗传操作,将使子代个体均匀地分布于定义空间,从而可避免早熟,以较大的概率实现全局最优搜索.与传统的遗传算法相比较, CGA 的在线和离线性能都有较大的改进。而遗传算法作为一种智能算法,是解决非线性复杂优化问题的有利工具,但它在搜索过程中易陷入局部最优,收敛速度慢的缺陷又限制了它的寻优效能。混沌遗传算法具有两者的优点,大大提高了优化的效率。 关键词:遗传算法混沌混沌优化 Abstract:Chaos genetic algorithm (CGA)is a genetic operation,which based on chaos optimization,makes the individuals of subgeneration distribute uniformly in the defined space and avoids the premature of subgeneration.To compare the performances of the CGA with those of the traditional GA,The results demonstrated that the CGA’s on-line and off–line performance was all superior to that of the traditional GA.As an inteliengence algorithm,GA is a effectual toos to resolve the problem of the liner-optimization,but the slower convergence and the premature restrict its efficiency.And CGA which has the two strongpoint has promoted is efficiency in optimization. Key words: genetic algorithm chaos chaos optimization 1 引言: 遗传算法(GA)最早由美国Michigan大学的John Holland教授提出,通过模拟自然界中的生命进化过程,有指导地而不是盲目地进行随机搜索,适用于在人工系统中解决复杂特定目标的非线性反演问题。De Jong首先将遗传算法应用于函数优化问题的研究,他的工作表明在求解数学规划时,GA是一种有效的方法。但对于大型复杂系统,尤其是非线性系统优化问题的求解,GA仍有许多缺陷,如无法保证收敛到全局最优解,群体中最好的染色体的丢失,进化过程的过早收敛等。 混沌是自然界中一种较为普遍的现象,具有“随机性”、“遍历性”及“规律性”等特点,在一定范围内能按其自身的“规律”不重复地遍历所有状态的。在搜索空间小时混沌优化方法效果显著,但搜索空间大时几乎无能为力。 混沌遗传算法(CGA)的基本思想是将混沌状态引入到优化变量中,并把混沌运动的遍历范围“放大”到优化变量的取值范围,然后把得到的混沌变量进行编码,进行遗传算子操作。再给混沌变量附加—混沌小扰动,通过一代代地不断进化,最后收敛到一个最适合环境的个体上,求得问题的最优解。 2 传统遗传算法 传统遗传算法: population old_pop,new_pop;/*current and next population*/ int pop_size,generation; float p_cross,p_mutation; /*prob. Of crossover & mutation*/ 1 old_pop=initial random population={ind1,ind2,….indpopsize} 2 while(generation

相关文档