超启发式算法 超启发式算法-超启发式算法的分类,超启发式算法-

近年来随着智能计算领域的发展,出现了一类被称为超启发式算法(Hyper-Heuristic Algorithm)的新算法类型。最近几年,智能计算领域的著名国际会议(GECCO 2009, CEC 2010,PPSN2010)[1]分别举办了专门针对超启发式算法的workshop或session。从GECCO 2011开始,超启发式算法的相关研究正式成为该会议的一个领域(self* search-new frontier track)。国际智能计算领域的两大著名期刊Journal ofHeuristics和Evolutionary Computation也在2010年和2012年分别安排了专刊,着重介绍与超启发式算法有关的研究进展。

超启发式算法与元启发式算法有些类似,也提供了一种高层框架,通过调用底层启发式算子来实现对于问题的求解。与元启发式算法相比,超启发式算法更加侧重如何将应用领域知识屏蔽在高层框架以外。通俗地说,超启发式算法是“寻找启发式算法的启发式算法”。更加严格地定义如下:

定义1. 超启发式算法提供了某种高层策略(High-Level Strategy,HLS),通过操纵或管理一组低层启发式算法(Low-Level Heuristics, LLH),以获得新启发式算法。这些新启发式算法则被运用于求解各类NP-难解问题。

上图给出了超启发式算法的概念模型示意图。从图中可以看出,超启发式算法分为两个层面:在问题域层面上应用领域专家需根据本人的背景知识,提供问题的定义、评估函数等信息和一系列LLH;而在高层策略层面上,智能计算专家则通过设计高效的操纵管理机制,利用问题域所提供的问题特征信息和LLH算法库,构造新的启发式算法。因为这两个层面之间实现了严格的领域屏蔽,仅仅需要修改问题域的问题定义和LLH、评估函数等领域有关信息,一种超启发式算法就可以被快速地迁移到新的问题上。因此,超启发式算法特别适合求解跨领域的问题。需要引起注意的是,研究超启发式算法的目标并不是取代智能计算专家,而是如何将智能计算技术更快地推广到更多的应用领域,同时有效第降低启发式算法的设计难度,从而将领域专家和智能计算专家的研究重点有效地划分开。根据图1 可知,智能计算专家在超启发式算法设计中主要关注于高层策略,而领域专家则重点研究问题的目标函数和LLH等。

启发式算法_超启发式算法 -超启发式算法的分类

由于超启发式算法的研究尚处于起步阶段,对于已有的各种超启发式算法,国际上尚未形成一致的分类方法。按照高层策略的机制不同,现有超启发式算法可以大致分为4类:基于随机选择、基于贪心策略、基于元启发式算法和基于学习的超启发式算法。

基于随机选择的超启发式算法

该类超启发式算法是从给定的集合中随机选择LLH,组合形成新的启发式算法。这类超启发式算法的特点是结构简单、容易实现。同时,这类超启发式算法也经常被用作基准(benchmark),以评价其他类型的超启发式算法性能。该类超启发式算法可以进一步细分为纯随机(pure random)、带延迟接受条件的随机(random with late acceptance)等。

基于贪心(greedy)策略的超启发式算法

该类超启发式算法在构造新启发式算法时,每次都挑选那些能够最大化改进当前(问题实例)解的LLH。由于每次挑选LLH时需要评估所有LLH,故此该类方法的执行效率低于基于随机选择的超启发式算法。

基于元启发式算法的超启发式算法

该类超启发式算法采用现有的元启发式算法(作为高层策略)来选择LLH。由于元启发式算法研究相对充分,因此这类超启发式算法的研究成果相对较多。根据所采用的元启发式算法,该类超启发式算法可以细分为基于禁忌搜索、基于遗传算法、基于遗传编程、基于蚁群算法和基于GRASP with path-relinking等。

基于学习的超启发式算法

该类超启发式算法在构造新启发式算法时,采用一定学习机制,根据现有各种LLH的历史信息来决定采纳哪一个LLH。根据LLH历史信息来源的不同,该类超启发式算法可以进一步分为在线学习(on-line learning)和离线学习(off-line learning)两种:前者是指LLH的历史信息是在求解当前实例过程中积累下来的;后者通常将实例集合分为训练实例和待求解实例两部分,训练实例主要用于积累LLH的历史信息,而待求解实例则可以根据这些历史信息来决定LLH的取舍

启发式算法_超启发式算法 -超启发式算法vs.启发式算法

超启发式算法与已有的启发式算法既有一定的相似性,又有显著的不同。通过分析超启发式算法与启发式算法的异同点,可以更加深入地理解超启发式算法。表2从多个视角,对超启发式算法与启发式算法进行了对比,从中我们可以发现以下现象:

(1)超启发式算法与启发式算法均是为了求解问题实例而提出的。因此,问题实例可以视为超启发式算法和启发式算法两者共同的处理对象。

(2)超启发式算法与启发式算法都可能包含有参数。在传统的启发式算法中,可能有大量的参数需要调制。比如遗传算法中的种群规模、交叉率、变异率、迭代次数等。而超启发式算法的参数来源有两个层面,在LLH和高层启发式方法中均可能有参数需要调制。

(3)超启发式算法与启发式算法都是运行在搜索空间上,但是各自的搜索空间构成不同:传统启发式算法是工作在由问题实例的解构成的搜索空间上;而超启发式算法运行在一个由启发式算法构成的搜索空间上,该搜索空间上的每一个顶点代表一系列LLH的组合。因此,超启发式算法的抽象程度高于传统启发式算法。

(4)超启发式算法与启发式算法均可以应用到各种不同的领域,但是它们各自对于问题领域知识的需求是不同的。启发式算法设计通常需要依赖于问题的特征;而超启发式算法的高层启发式方法部分则几乎不依赖于问题的领域知识,LLH则是与问题的领域知识紧密相关的。目前启发式算法的应用已经十分广泛,而超启发式算法由于历史较短,还主要局限在部分常见的组合优化问题上。

超启发式算法与启发式算法多视角对比

启发式算法超启发式算法处理对象问题实例问题实例参数可能有可能有搜索空间由实例的解构成由LLH串(启发式算法)构成应用领域广泛有待拓展

超启发式算法 超启发式算法-超启发式算法的分类,超启发式算法-
  

爱华网本文地址 » http://www.413yy.cn/a/8103260103/36971.html

更多阅读

怎么让两台电脑共享上网超详细图文 黑暗之魂图文详细攻略

怎么让两台电脑共享上网【超详细图文】——简介window7系统下实现一条网线两台具有无线网卡功能的笔记本电脑共享上网,具体的步骤如下,假设存在电脑A与B怎么让两台电脑共享上网【超详细图文】——工具/原料一条网线 两台具有无线网卡

新名词 启发式算法与元启发式算法 启发式算法有哪些

启发式算法(HeuristicAlgorigthm)是一种基于直观或经验构造的算法,在可接受的花费(指计算时间、计算空间等)给出待解决优化问题的每一实例的一个可行解,该可行解与与最优解的偏离程度一般不可以事先预计。启发式算法是一种技术,这种

“启发式搜索算法”简介 启发式搜索算法有哪些

何谓启发式搜索算法  在说它之前先提提状态空间搜索。状态空间搜索,如果按专业点的说法就是将问题求解过程表现为从初始状态到目标状态寻找这个路径的过程。通俗点说,就是在解一个问题时,找到一条解题的过程可以从求解的开始到问题的

声明:《超启发式算法 超启发式算法-超启发式算法的分类,超启发式算法-》为网友脏话诗人分享!如侵犯到您的合法权益请联系我们删除