蛙跳算法的研究及应用.doc_第1页
蛙跳算法的研究及应用.doc_第2页
蛙跳算法的研究及应用.doc_第3页
蛙跳算法的研究及应用.doc_第4页
蛙跳算法的研究及应用.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陕西师范大学毕业论文II陕西师范大学本科生毕业论文摘 要随机蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)是进化计算领域中一种新兴、有效的亚启发式种群算法,它的基本思想来源于文化基因传承,其显著特点是具有局部搜索与全局信息混合的协同搜索策略,寻优能力强,易于编程实现,由Eusuff和Lansey于2003年正式提出,近几年来逐渐受到学术界和工程优化领域的关注。本文从蛙跳算法的基本概念开始,分析算法的工作过程总结其基本原理与算法流程,然后对其关键参数进行说明并采用测试函数测试,最后将蛙跳算法应用于解决0-1背包问题,并与相关文献的结果进行对比,验证了算法解决此类问题的可行性。关键词:蛙跳算法,函数优化,背包问题 ABSTRACTShuffled Frog Leaping Algorithm (SFLA) is an emerging effective sub-heuristic in the field of evolutionary computation. Its basic idea comes from the cultural genetic inheritance and notable feature is a collaborative search strategy that is a mixture of local search and global information. SFLA has strong local search and global search ability, so it is good at searching for the best and is easy to be programmed. It is raised formally by Eusuff and Lansey in 2003 and become gradually popular the field of academic and optimization in recent years.Firstly, this paper describes the concept of SFLA, and summarizes its basic principle. Then, we draw the flowsheet, describe the key parameters and verify the algorithm by use of the test function. At last, we solve problems about the application on packing bags and prove its feasibility. Key words: Shuffled Leaping Frog Algorithm,Function optimization ,Knapsack problem目 录第一章 绪论11.1选题意义及研究背景11.2国内外研究现状21.3 论文研究的内容41.4 论文章节安排4第二章 蛙跳算法的基本理论52.1 蛙跳算法概述52.2 蛙跳算法原理52.2.1 蛙跳算法的基本原理描述52.2.2 蛙跳算法的步骤52.2.3 算法流程图72.3蛙跳算法的组成要素92.3.1 蛙群( Population)92.3.2族群(Memeplex)92.3.3 子族群(Sub-memeplex)92.3.4 蛙跳算法的参数10第三章 蛙跳算法在函数优化问题上的应用113.1 测试函数113.2 仿真测试11第四章 蛙跳算法在0-1背包问题上的应用164.1背包问题数学模型164.2蛙跳算法求解0-1背包问题174.2.1 青蛙的表示174.2.2子族群的构造:174.2.3青蛙个体的构造策略:174.2.4 算法步骤184.3 仿真实验18第五章 总结215.1 本文的主要工作215.2展望21【参考文献】22致 谢233第一章 绪论1.1选题意义及研究背景当科技在进步的同时,工程实践中遇到的问题也越来越多,面临的困难也越来越大,使用传统的计算方法会出现诸多弊端,由于在实际工程中问题的规模较大且建模困难,寻找一种适合于求解大规模问题的并行算法已成为有关学科的主要研究目标1 ,于是一系列具有启发式特征及并行高效性能的智能优化算法产生了。这些算法思想多来自于大自然的生物或人类智慧,有些受生物群体行为的启发,有些模拟生物的身体机能和生理构造,有些模仿生物界的进化过程,有些利用人的思维和记忆过程,最终实现在可接受的时间内找到令人满意的解。1975年,被称作是遗传算法奠基人Holland教授2 收到自然生物种群进化机制的启发正式提出了遗传算法(Genetic Algorithms,GA),算法中群进化依据优胜劣汰、适者生存的原理进行选择、交叉和变异操作,产生更适应环境的种群,直至寻得近似最优解。对于很多函数优化问题,组合优化问题,它都能够成功求解,传统计算方法无法解决的NP难问题,它也能有让人满意的效果,于是被大量推广。随即,1977年的禁忌搜索(Tabu Search,TS)、1983年的模拟退火(Simulated Annealing,SA)算法被相继提出,这些算法为解决经典的NP完全问题或是一些新的复杂问题提供了新的思路和方法。 20世纪90年代左右,受自然界中群居生活的动物、昆虫的启发,以粒子群算法(Partial Swarm Optimization,PSO)、蚁群算法(Ant Colony Optimization,ACO)等为代表的群智能算法出现了,它是人工智能的一个重要的分支,作为新兴的演化计算方法已经受到越来越多的国内外研究人员的关注。群体智能体现在由大量简单的个体所组成的群体,能够完成复杂个体的任务,并且其性能上更具优势,靠的是个体间的合作与竞争来指导优化搜索。模拟自然界中生物群体行为来构造随机的优化算法是它的基本思想,相互协作和作用是其重要的因素。2000年一种新的群智能算法蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)产生了,它是由两位美国学者Eusuff和Lansey3提出的,最初应用于分布系统设计优化问题,并成功求解。它原理清晰、简单易理解、优化参数少、求解问题能力优越。SFLA的执行过程模拟了一群青蛙(解)在一片湿地上(解空间)中跳动觅食的行为。(如图(1.1)所示): 图1.1 基本随机蛙跳算法基本思想示意图每一只青蛙在觅食行为中被看作元或思想的载体,每只青蛙可以与其他青蛙交流思想并且可以通过传递信息的方式来改进其他蛙的元信息,这些信息可以通过诸如模仿等行为在蛙脑中行进传递。在算法执行初期,一群蛙被分为多个族群,不同的族群被认为是具有不同思想的青蛙的集合。族群中的蛙按照一定的元进化策略,采用类似粒子群算法的进化方法,在解空间中进行局部深度搜索及内部思想交流。这一过程不断重复演进,直到预先定义的收敛性条件得到满足为止。全局性的信息交换和内部思想交流机制的结合,使得算法具有避免过早陷入局部极值点的能力,从而指引算法搜索过程向着全局最优点的方向进行搜索。本课题主要对经典SFLA算法进行研究和编程实现,分析其工作原理与应用。1.2国内外研究现状算法的提出时间不长,无论在理论还是实践方面都处于起步阶段。在学者们的不断努力下,近年来这种算法不断得到完善和广泛的工程应用,如函数优化、地下水管网优化设计、齿轮问题、旅行商问题、下料问题等,进一步证明它在解决优化问题上的优越性。然而,与其他的智能优化算法一样,SFLA同样存在易收敛到局部最优、在求解部分函数优化问题时效果不够理想的缺陷。根据没有免费的午餐(no free lunch, NFL)定理:从解决实际问题的角度出发,融合不同类型的优化算法,充分发挥它们各自的优势是解决问题的必然发展趋势。为提高算法性能,又有学者利用青蛙间的吸引与排斥机制对算法的更新策略作了适当的修正。函数仿真结果表明,改进后的SFLA克服了基本SFLA收敛缓慢、易陷入局部最优以及求解质量不高的缺点,验证了算法的可行性和有效性。最初,2003年,Eusuff和Lansey在研究资源网络优化时,将随机蛙跳算法实验性地应用在了求解水资源网络的管径选择和管网扩张问题中。在原文中,他们将表示管径类型的一串整数值构成解向量,将随机蛙跳算法作为优化工具,并用EPANET检验了整个过程的约束性。通过与类似文献的比较,作者有力地展示了随机蛙跳算法在解决这一类问题上的优越性,并给出了解决此类问题时的相关参数设置情况。接着,2005年,Elbeltagi4等人对随机蛙跳算法、遗传算法、粒子群优化算法 、蚁群算法及元算法进行了比较,详细描述了各种算法,给出了各个算法的简单实现过程的伪码及合理化的参数组合。采用F8和F10这两个具有连续变量的函数,评价了随机蛙跳算法的计算性能, 结果显示随机蛙跳算法在F10函数的求解方面性能不够理想,在F8函数的求解上性能优于遗传算法,与粒子群优化算法的性能相近。2007年,李英海5等对蛙跳算法的局部搜索部分进行改进,引进一个局部更新阈值,使在阈值的范围内的个体进行更新,否则保持原位置不变。新算法限定了个体变异的空间位置,是算法不易陷入局部极值点,达到快速求解的目的。2009年为了保持种群多样性,赵鹏军6等通过引进高斯变异算子算法改变了算法的优化策略,当种群最优与局部最优解影响的最差个体没有进化时,对其进行一定的干扰,使其更新。随后,他和刘三阳7利用电荷的吸引和排斥原理对蛙跳算法的更新策略进行改进,取得了很好的效果。2010年李英海等为了解决多目标优化问题,对算法的全局搜索部分进行改进,利用小生境技术提高算法性能。2011年吕丽霞7等针对蛙跳算法在迭代后期收敛速度变慢的现象,引入混沌优化机制,取代随机搜索,对当前群体中的最差个体实施混沌搜索,并替换群体中的部分个体,改善算法极值点的能力,增强了算法的全局寻优能力。 这些改进都从某些方面优化了基本的蛙跳算法,如避免陷入局部最优或者提高收敛速度,但像无免费午餐定理(NFL)8中指出,不存在某一种优化算法,在各个方面都比其他算法性能好,所以以上的各种改进算法各有所长。目前,改进后的SFLA已经在许多领域得到了应用,譬如水资源网络优化问题、连续优化问题、成品油管网优化问题、离散优化问题、聚类问题9、双准则带缓冲区的流水车间调度问题、TSP问题10、0-1背包问题11以及多变量PID控制器参数调节问题12等。在短短的几年内,SFLA引起了学术界的广泛关注,成为了国际优化计算领域的研究热点之一,亦逐渐成为解决各种优化问题的热门工具。1.3 论文研究的内容论文研究的内容主要由以下几个方面:(1) 介绍蛙跳算法的基础,分析其原理和流程。(2) 用蛙跳算法求解函数极值。(3) 用蛙跳算法求解0-1背包问题。1.4 论文章节安排论文的结构与章节安排如下:第一章 绪论。介绍了论文研究目的和意义,分析了目前国内外研究动态,并简要描述了本文主要的工作以及各章节安排。第二章 蛙跳算法的基本理论。介绍蛙跳算法的基本理论,分析其工作原理和流程并用函数进行仿真实验。第三章 蛙跳算法在函数优化问题上的应用。用蛙跳算法求解不同的测试函数并仿真实验。第四章 蛙跳算法在0-1背包问题上的应用。用蛙跳算法解决0-1背包问题并测试结果。第五章 总结与展望。总结论文所做的工作并对蛙跳算法今后的应用发展进行展望。流程图如图1.2所示:图1.2 本文内容流程图第二章 蛙跳算法的基本理论2.1 蛙跳算法概述随机蛙跳算法(SFLA)是由Eusuff M.M.和Lansey 提出的一种亚启发式群智能进化算法,其思想是:在一片湿地中生活着一群青蛙,湿地内离散的分部着许多石头,青蛙通过寻找不同的石头进行跳跃去找到事物较多的地方。每只青蛙个体之间通过文化的交流实现信息的交换。每只青蛙都具有自己的文化。每只青蛙的文化被定义为问题的一个解。湿地的整个青蛙群体被分为不同的子群体,每个子群体有着自己的文化,执行局部搜索策略。在子群体中的每个个体有着自己的文化,并且影响着其他个体,也受其他个体的影响,并随着子群体的进化而进化。当子群体进化到一定阶段以后,各个子群体之间再进行思想的交流(全局信息交换)实现子群体间的混合运算,一直到所设置的条件满足为止。2.2 蛙跳算法原理2.2.1 蛙跳算法的基本原理描述蛙跳算法的原理为:把种群中的每一个个体都视为一个青蛙,整个种群划分为个规模为的子种群。对子群中的青蛙个体,首先利用该子群最好与最差个体产生新的子个体(可视为青蛙的一次跳跃),如果子个体的适应度比父代个体优,则用其替换父代个体,否则利用种群最好个体与该子群的最差个体重新产生新的子个体(视为青蛙再次跳跃),如果仍然比其父代个体差,则随机产生一个新的个体替换父代个体。将进过一定次数进化后的种群进行混合,让各个种群间的最优信息进行交流,形成规模不变的新种群,之后重新划分族群,如此循环操作,达到寻找全局最优的目的。随机蛙跳算法算法的这种进化策略就象一个个青蛙不断修正方向向着最优解跳跃一样,使算法逐渐收敛到最优。2.2.2 蛙跳算法的步骤在此将蛙跳算法的步骤分为全局搜索步骤和局部搜索步骤。该算法的全局执行步骤如下:步骤1 初始化参数,确定蛙群数量。步骤2 随机产生初始蛙群,计算各个蛙的最适值。步骤3 按最适值的大小进行降序排列,并记录好最优解,并且将蛙群分成族群,把个蛙分配到个族群中去,每个族群包括个蛙。例如当时,第1、2、3只青蛙会被依次分配到第1、2、3个族群中,第4、5、6只青蛙也会被依次分配到第1,、2、3个族群中,以此类推。步骤4 局部搜索过程,即:根据随机蛙跳算法的算法公式,在每一个族群中进行进化。步骤4.1 计数器初始化。设族群的序号,用它来标记进化到了哪个族群并与族群总数进行比较。设独立进化次数的序号,用它与局部元进化次数比较以判断独立进化是否结束。同时,寻找当前族群中最佳个体位置和最差个体位置,分别记为和。步骤4.2 设,进行下一个族群。步骤4.3 设,进行下一次独立进化。步骤4.4 利用更新策略更新当前族群中最差青蛙的位置,更新策略为:青蛙更新的步长 (1)青蛙的新位置 (2)其中rand()产生一个0,1范围内的随机数,是青蛙跳跃的最大步长。如, 时:因此得到步骤4.5 如果步骤(4-4)改进了最差蛙的位置,就用新产生的位置取代最差蛙的位置,否则就采用全局最好解代替(1)式中的,更新最差蛙的位置。步骤4.6 如果步骤4.5没有改进最差蛙的位置,则随机产生一个处于湿地中任何位置的蛙来替代最差蛙,并计算其适应值。步骤4.7 更新种群的与。步骤4.8 如果,则跳到步骤4.3,否则进行步骤4.9并让。步骤4.9 如果,则跳到步骤4.2,否则跳出局部搜索,回到全局搜索。步骤5 将各个族群进行混合。在每个族群都进行过一轮元进化过程以后,将各个种族中的蛙进行重新排列和族群划分,并记录全局最优解。步骤6 检验计算停止条件。如果满足了算法收敛条件,则停止算法的执行过程,否则跳转到步骤3。通常而言,如果算法在连续几个全局思想交流以后,最优解没有得到明显的改进,则应该停止算法的执行。某些情况下,最大函数的评价次数也可以作为算法停止的准则。2.2.3 算法流程图蛙跳算法的流程图如图2.1所示,其中左图为全局搜索流程图,右图为全局搜索中的局部搜索部分(青蛙子族群内部的更新策略)。图2.1 蛙跳算法的流程图2.3蛙跳算法的组成要素2.3.1 蛙群( Population)与其他优化算法一样,随机蛙跳算法的搜索过程基于一个随机产生的由分布于湿地各处的蛙构成的排序种群,每个种群中的个体蛙都具有一个用来评价个体好坏的适应值。在算法中,每一个青蛙个体被看作元信息的载体,每个元信息包含多个信息元素。2.3.2族群(Memeplex)蛙群产生之后,整个蛙群按照某些具体原则被分割成多个相互独立的排序族群, 每个族群具有不同的思想。根据具体的执行策略,族群中的蛙进行解空间内的局部搜索,并且使得元信息在局部个体之间进行传递和广播,这就是元进化过程。图2.2给出了如何将一个由F个蛙组成的蛙群进行族群划分的一个例子。青蛙个体.2.1.个青蛙 第一个种群 第二个种群 第三个种群 图2.2 蛙跳算法进行族群划分示意图2.3.3 子族群(Sub-memeplex)蛙跳算法的执行框架十分灵活,在许多文献中都提到了子族群的概念。提出子族群是为了预防算法陷于局部最优值而设计的,它是由族群中按照适应值进行选择后产生的青蛙构成的。族群中的蛙所具有的适应值越好,其被选中进入子族群的概率就越大。子族群代替族群进行解空间内的局部搜索,每进行完一次子族群内的局部搜索,族群内的蛙就需要按适应值大小进行重新排序,并重新生成子族群。第i只蛙进入子族群的概率为: (3) 其中为青蛙的个数,并且 2.3.4 蛙跳算法的参数与其他优化算法一样,蛙跳算法亦具有一些必要的计算参数,包括:: 蛙群的数量: 族群的数量: 族群中青蛙的数量: 最大允许跳动步长 : 全局最好解: 局部最好解: 局部最差解: 子族群中蛙的数量 : 局部元进化次数: 全局思想交流次数第三章 蛙跳算法在函数优化问题上的应用3.1 测试函数本文选择了下面6个函数作为测试函数: (1) Tablet: (2) Quadric: (3) Rosenbrock: (4) Griewank: (5) Rastrigin: (6) Schaffers f7: 其中函数(1)、(2)、(3)具有单一的极小值点,函数(4)、(5)、(6)具有多个局部极小值点。Tablet函数与Quadric函数是Spherical函数( )的变形,常用来测试算法的执行性能。Rosenbrock函数的全局最小值位于一个抛物线形的山谷内,山谷容易找到,但由于山谷内的值变化不大,要找到全局最小值非常困难,故此函数常用于评价算法的执行效率。Rastrigin函数和Schaffers f7函数是两个多峰函数,有大量的局部极值点,容易使算法陷入局部最优解。3.2 仿真测试图3.1到图3.6给出了蛙跳算法在MATLAB7.1仿真环境下的曲线图,其中:。图3.1 蛙跳算法Tablet函数仿真结果图3.2蛙跳算法Quadric函数仿真结果图3.3 蛙跳算法Rosenbrock函数仿真结果图3.4 蛙跳算法Griewank函数仿真结果图3.5 蛙跳算法Rastrigin函数仿真结果图3.6 蛙跳算法Schaffers f7函数仿真结果以上的6个测试函数均有全局最小值0,从结果图可以看出,基本蛙跳算法在迭代次数为200代的情况下,对函数(1)到函数(5)求得的最好解是比较接近全局最优解的,然而在求解Rastrigin函数和Schaffers f7函数时得到的结果却不甚理想,这说明了基本的蛙跳算法在解决多峰值函数优化问题时还需要一些改进才能得到较好的结果。从图中曲线收敛的情况来看,基本蛙跳算法的收敛速度快,基本在100代左右就得到了最好值,但取得的最好值并非函数的最优解,这说明基本蛙跳算法容易陷入局部最优。为了取得更好的解,可以选择增加群组个数和种群规模,以Schaffers f7函数为例,当群组个数增大到100 ,组内青蛙数不变时,得到的新的收敛曲线如图3.7所示:图3.7 增大群组数后蛙跳算法Schaffers f7函数仿真结果从图中可以看出,增大群组数后,算法得到的最优解有了一定的改进。两种参数下程序运行的时间分别为230秒和439秒,时间消耗约增大1倍,所以在解决实际问题时,参数的选择应根据实际需要来定以取得满意的效果。第四章 蛙跳算法在0-1背包问题上的应用在第二章提到蛙跳算法在许多领域得到了应用,如资源网络优化问题、连续优化问题、TSP问题、聚类问题、流水车间调度问题题等。基本的蛙跳算法设计初衷是为了解决水管网络问题,其工作原理为在连续的解空间中搜索近似解,所以当面对解空间连续的问题时,蛙跳算法往往能够直接进行应用,第三章中测试的6个优化函数就说明了这一点。当面对解空间是离散的问题(如0-1背包问题、TSP问题)时,基本的蛙跳算法是无法直接应用的,它需要采用一些改进方法来控制蛙跳算法最差个体的更新策略,使之满足问题解空间离散的要求。在此本文将研究蛙跳算法在0-1背包问题上的应用。4.1背包问题数学模型0-1背包问题可描述为:有件物品和一个容量为的背包,第件物品的重量是,价值是。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量C,且价值总和最大。若将第件物品放入背包,则在输出结果中定义,否则。现在考虑个物体的选择与否,则背包内n个物体总重量为: 物体的总价值为: 如何决定变量( = 1,2, . . . ,n )的值(即确定一个物件组合)使背包内物件总价值为最大。其数学模型如下: 4.2蛙跳算法求解0-1背包问题4.2.1 青蛙的表示每只青蛙的选择状态向量表示背包问题的一个可行解。设青蛙,其中表示第个物品的选择状态,当时,表示第i个物体被选中,时,表示第个物体未被选中。青蛙的个体自适应度函数f(i)定义为: 4.2.2子族群的构造:在构造子族群时,适应度大的青蛙进入子族群的概率也越大,其概率公式与基本蛙跳算法的相同。4.2.3青蛙个体的构造策略:青蛙个体的构造策略参考文献13,给出以下定义:(1) 给定一个青蛙状态向量U,定义交换序为:其中,表示物体i由选中状态变为取消状态或相反,且表示物体i由选中状态变为取消状态且物品j有取消状态变为选中状态或相反,其它情况取值为0。进过交换后的新向量为。(2) 在族群中任选两只青蛙的向量、,由调整到的所有交换序列称为到的距离D:(3) 在族群中任选两只青蛙的向量 、,由调整到的距离长度为:由以上3条确定青蛙的更新策略如下: (4) 其中,表示更新所选择的交换序的个数,表示允许的最大的交换序个数,S表示更新所需要的交换序列。4.2.4 算法步骤步骤1 初始化青蛙种群步骤2 将青蛙族群划分成族群步骤3计算每支青蛙的适应度步骤4 对种群进行更新 (全局)步骤4.1 根据适应度划分子族群步骤4.2 对子族群进行更新(局部)步骤4.2.1 确定全局最优可行解 ,子族群最优可行解和最差解步骤4.2.2 根据(4)式更新最差解得到新解步骤4.2.3 判断更新后的解是否优于原, 如果优于则替换原最差解,否则随机产生一个新的解替换原最差解; 步骤4.3 对更新后的子族群进行混合,取代原族群步骤5 输出全局最优可行解4.3 仿真实验将算法重复运行10次比较算法所能够求得的最好的结果, 并给出对应的解。算法的迭代次数为100, 子群的局部进化次数为10, 种群规模为100,子群个数为20。在结果表中还列出了相关文献的测试结果用于对比验证蛙跳算法解决0-1背包问题的正确性。仿真1:本实验数据采用文献14,物体的重量集W=44,46,90,72,91,40,75,35,8,54,78,40,77,15,61,17,75,29,75,63,物体的价值集V=92,4,43,83,84,68,92,82,6,44,32,18,56,83,25,96,70,48,14,58,背包能够承受的最大重量C=878规模n=20。结果如表4.1所示:解集价值总量/物品总重蛙跳算法贪心遗传算法14101111110101111111011042/8781034/878表4.1收敛曲线如图4.1所示:图4.1仿真2: 本实验数据采用文献15,物体的重量集W=80,82,85,70,72,70,66,50,55,25,50,55,40,48,50,32,22,60,30,32,40,38,35,32,25,28,30,22,25,30,45,30,60,50,20,65, 20,25,30,10,20,25,15,10,10,10,4,4,2,1,物体的价值集V=220,208,198,192,180,180,165,162,160,158,155,130,125,122,120,118,115,110,105,101,100,100,98,96,95,90,88,82,80,77,75,73,72,70,69,66,65,63,60,58,56,50,30, 20, 15,10, 8, 5, 3, 1;背包能够承受的最大重量C=1000规模n=50。结果如表4.2所示解集价值总量/物品总重蛙跳算法标准遗传算法15100111011110100110110111111101000010110110000000003008/9633025/989表4.2收敛曲线如图4.2所示:图4.2由表3.1和表3.2可以看出蛙跳算法在解决0-1背包问题时取得了与遗传算法十分接近的结果,这说明了蛙跳算法在解决此类问题上是行之有效的。第五章 总结5.1 本文的主要工作本文所做的主要工作如下:(1) 介绍基本蛙跳算法的概念。(2) 分析基本蛙跳算法原理及工作流程并用测试函数进行仿真实验。(3) 利用蛙跳算法解决0-1背包问题,验证了算法解决此问题的可行性。5.2展望蛙跳算法从提出至今已经走过了10多个年头,在此期间,许多学者对算法进行了研究、优化,这使得算法的性能越来越强应用领域也越来越广泛,其今后的研究方向可分为以下方面:(1) 算法参数的研究。蛙跳算法的参数(群体规模,子族群个数、进化次数等)并没有一个统一的标准,在面对实际问题时,参数的选择仍以实验为基础,针对不同的问题选择怎样的参数组合也没有结论。(2) 算法策略的改进。蛙跳算法虽然收敛速度快但容易陷入局部最优,如何更好的解决这一问题一直以来都是学者们的研究方向。(3) 开辟新的应用领域。蛙跳算法虽然在一些领域得到了较好的应用,但是相对于一些成熟的智能算法,其应用领域就显得较为局限,能否在其表现不佳的领域与其他智能算法结合来提升性能是值得探究的。总体看来,蛙跳算法增加了智能优化算法的种类,提供了求解优化问题的新思路,虽然算法到目前为止还远远算不上成熟,但相信随着蛙跳算法的发展,在将来会有更广阔的应用前景。【参考文献】1 王凌,刘波.微粒群优化与调度算法M.清华大学出版社,2008.2 Holland, J.H Adaptation in Natural and Artificial Systems, 1st ed. 1975,2nd ed. Cambridge, MA:M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论