遗传算法与蚁群算法的改进融合_陈亚云

遗传算法与蚁群算法的改进融合_陈亚云
遗传算法与蚁群算法的改进融合_陈亚云

一种改进的遗传算法

第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)收敛速度慢的解决方法; 产生好的初始群体 利用小生境技术 使用移民技术 采用自适应算子 采用与局部搜索算法相结合的混合遗传算法 对算法的参数编码采用动态模糊控制 进行未成熟收敛判断

遗传算法改进思路

1.粒子群算法的基本原理 粒子群算法主要有三个部分组成,第一部分是一个权值乘以粒子前一次的飞行速度计算而来,这表示种群中每个粒子对其当前自身运动状态的一种信任,因此这个权值被称为“惯性权重”或者“速度权重”;第二部分是根据种群中每个粒子当前位置与其自身所经过的最优值位置之间的距离计算而来,也就是种群粒子对自身的一种“认知”;第三部分是根据种群每个粒子当前位置与种群所有粒子所经历过的最优值位置之间的距离计算而来,表示种群粒子间信息共享与相互合作的过程,它通过认知模仿了较好同伴的运动也就是种群粒子的“社会”认知部分。 每个粒子都享有以下几个信息: (1)粒子当前的位置; (2)到当前为止每个粒子发现的最好位置即个体历史最优值位置,这个信息被当作每个粒子本身的飞行经验; (3)到目前为止整个种群中所有粒子所发现的最好位置种群全局最优值位置,这个就是整个种群所有粒子之间所共同享有的飞行经验; 所以,每个粒子的运动速度受到自身个体历史最优值位置和整个种群的全局最优值位的影响。以此,以每个粒子自身的个体历史最优值位置和整个种群的最优位置来调整当前种群中每个粒子的运动方向和速度大小,能够很好地协调好每个粒子与整个种群之间的信息交换的关系。 2改进的思路: 粒子群算法在运行过程中,如果某粒子发现一个当前最优位置,其它粒子将迅速向其靠拢,如果该最优值为局部最优点,粒子群就无法在解空间内重新搜索,算法就陷入了局部最优,出现了早熟收敛现象。 2.1加入一个惯性权重到速度更新的公式中。 W(惯性因子),其大小决定了对粒子当前速度继承的多少,合适的选择可以使粒子具有均衡的探索和开发能力。也就是起到权衡全局搜索能力和局部搜索能力。W较大时,前一速度影响较大,全局抗震搜索能力较强;较小时,局部搜索能力较弱。所以它的大小决定了搜索的步伐大小,一般在开始的时候搜索的步伐大些可以加快速度,但随着迭代次数的增加应该适当地让步伐变小进行局部搜索,这样可以避免错过最优解,从而提高解的精度。 遗传算法改进思路: 1.初始种群的选择。 如果用随机方法产生一组初始解群体,这样可能会导致初始解群体在 解空间分布不均匀,从而影响算法的性能。 (1)将解空间划分为S个子空间 (2)量化每个子空间,运用均匀数组或正交数组选择M个解 (3)从M*S个解中,选择适应度函数最大的N个作为初始解群 体。 这样就可以保证初始解群体在解空间均匀分布,从而增加获取全局最 优解的可能。 2.增加一个步骤:判断适应值的相似度,去除相似 (1)个体按适应值大小排序 (2)求平均适应度值,以些为阈值,选择适应度值大于平均适

改进的混沌遗传算法

改进的混沌遗传算法 李辉 (计算机学院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

遗传算法论文:浅谈遗传算法的研究与改进

遗传算法论文:浅谈遗传算法的研究与改进【摘要】遗传算法是模拟自然界生物进化机制的概率性搜索算法,可以处理传统搜索方法难以解决的非线性问题。但是经典遗传算法存在局部收敛、收敛速度慢等缺点,这使得经典遗传算法有时很难找到全局最优解。本文针对经典遗传算法中所存在的缺点,采用阶段式的适应度函数、基于竞争机制的交叉方式和仿粒子群变异操作,使遗传算法的收敛速率、全局收敛概率都得到了较大的提高。 【关键词】遗传算法适应度交叉操作仿粒子群变异 一遗传算法 遗传算法(genetic algorithm,简称ga)是holland 在研究自然遗传现象与人工系统的自适应行为时,模拟生物进化现象,并采用自然进化机制来表现复杂现象的一种全局群体搜索算法。遗传算法的基本思想起源于darwin进化论和mendel的遗传学说。作为一类智能计算工具和学习算法,由于其实现简单、对目标函数要求不高等特性,遗传算法已广泛应用于如人工智能、组合优化等研究领域。 1.遗传算法的优越性 遗传算法(genetic algorithm)利用某种编码技术作用在称为染色体的二进制串上,模拟由这些串组成的个体的进化过程。通过有组织的、随机的信息交换来重新结合那些

适应性好的串,在每一代中,利用上一代串结构中适应性好的位和段来形成一个新的串的群体,同时在串结构中尝试用新的位和段来代替原来的部分以形成新的个体,以增加种群的多样性。遗传算法的最大优点是能够通过群体间的相互作用,保存已经搜索到的信息,这是基于单次搜索过程的优化方法所无法比拟的。但是,遗传算法也存在着计算速度较慢,并且容易陷入局部最优解的问题中。 遗传算法的优越性归功于它与传统搜索方法不同的特 定结构。 第一,遗传算法的操作对象是编码,对问题的限制极少,对函数的一些约束条件如连续性、可导性等不做要求,减少了要解决问题的复杂性。 第二,遗传算法同时搜索解空间内的许多点,因而可以有效地防止搜索过程中收敛到局部最优解,并获得全局最优解,与其他单点搜索的方法相比,在计算时间上也有较大的优势。 第三,遗传算法使用遗传操作时是按概率在解空间进行搜索,因而既不同于随机搜索,也不同于枚举法那样盲目地举例,而是一种有目标、有方向的启发式搜索。 2.遗传算法的基本步骤 遗传算法的实现中包括复制、交叉、变异三个算子,需

相关文档
最新文档