精华内容
下载资源
问答
  • 启发式算法 元启发式算法 超启发式算法 区别 是什么
    2022-02-06 14:55:24

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

    元启发式算法 (Meta-Heuristic Algorithms) 是启发式算法的改进,通常使用随机搜索技巧,可以应用在非常广泛的问题上,但不能保证效率。

    超启发式算法 (Hyper-Heuristic Algorithms) 提供了一种高层次启发式方法,通过管理或操纵一系列低层次启发式算法 (Low-Level Heuristics,LLH),以产生新的启发式算法。

    启发式算法 (Heuristic Algorithms) - Leo Van | 范叶亮

    更多相关内容
  • 希望有大神给予解答) 超启发式算法 定义:超启发式算法提供了某种高层策略(High-Level Strategy,HLS),通过操纵或管理一组低层启发式算法(Low-Level Heuristics, LLH),以获得新启发式算法。这些新启发式算法...

    启发式算法

    定义:启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法模拟退火法神经网络等。

    通俗解释:针对某个特定(problem specific)的问题,由于这个问题的最优解不好求或者求不出,那么就退而求其次,求次优解或者可行解,巧了,启发式算法就是来干这个事的,即启发式算法用来求问题的可行解

     

    元启发式算法

    定义:元启发式算法主要指一类通用型的启发式算法,这类算法的优化机理不过分依赖于算法的组织结构信息,可以广泛的应用到函数的组合优化和函数计算中

    通俗解释:说白了,元启发式算法是启发式算法的一种改进,它不依赖于特定问题,通常是一个通用的启发式策略(problem independent),因而能够运用于更广泛的方面

     

    异同点比较

    首先说相同点:(1)两者都无法保证得到某优化问题的全局最优解(2)二者目的相同,都是为了快速地求解那些不存在或者暂时未找到多项式时间内算法的问题,比如TSP问题,flowshop问题。而像Linear programming就不会用heuristics或者meta-heuristics去求解了

    不同点:不同点在于:heuristics算法中不会存在“随机因素”。对于同样一个问题,只要给定了一个输入,那么算法执行的步骤就固定下来了,输出也因此固定。但是meta-heuristics就不一样了,里面包括了“随机因素”。就拿遗传算法来说,同样一个初始的种群(输入一致),运行两次(每次100代),得到的结果很可能是不同的。因为交叉、变异操作的对象是随机选择的。在比如模拟退火,按照metropolis准则跳出局部最优解时也是随机的,这也解释了为神马SA可能得到全局最优解。总之,heuristics在固定的输入下得到固定的输出。meta-heuristics在固定的输入下得到的输出不固定。(PS:我有个疑问,看了网上很多资料,发现很多人把遗传算法、模拟退火、蚁群算法等也称作启发式算法,那它们到底是启发式算法还是元启发式算法?或者说根本没必要去对它们分类?希望有大神给予解答)

     

    超启发式算法

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

    通俗解释:这个概念是近些年新兴的,我只说下我自己的理解(没有深入研究,肯定存在不足之处)。首先,二者共同点是超启发式算法与启发式算法均是为了求解问题实例而提出的;二者的不同点在于各自的搜索空间构成不同:传统启发式算法是工作在由问题实例的解构成的搜索空间上;而超启发式算法运行在一个由启发式算法构成的搜索空间上。换句话说,就是超启发方法先对一堆启发式方法进行组合优化,之后拿着这一组方法再去对问题进行求解。

     

    主要参考以下文章:

    1. https://leovan.me/cn/2019/04/heuristic-algorithms/
    2. http://oscar-lab.org/paper/cccf_11.pdf
    3. https://www.cnblogs.com/tsingke/p/12512250.html
    4. https://zhuanlan.zhihu.com/p/37199993
    5. https://blog.csdn.net/econe_wei/article/details/102531451
    6. https://blog.csdn.net/u011561033/article/details/85623533?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
    展开全文
  • 超启发式算法综述

    2021-04-06 13:54:49
    超启发式算法可以看作一种由高层次启发式策略HLH(High-level Heuristic)去操纵管理一系列低级启发式算子LLH(Low-level Heuristic)以此产生高质量的解决方案。 分类 超启发式算法分类考虑了两个维度: 启发式...

    简介

    尽管启发式算法和其他搜索技术已经在解决现实计算搜索问题取得了成功,但再将其应用于相似问题的新实例方面仍存在困难,这些困难主要表现在参数调整和算法选择上,因此需要一种更为通用的搜索方法,即自动化设计和调整启发式算法。

    超启发式算法可以看作一种由高层次启发式策略HLH(High-level Heuristic)去操纵管理一系列低级启发式算子LLH(Low-level Heuristic)以此产生高质量的解决方案。

    分类

    超启发式算法分类考虑了两个维度:

    • 启发式搜索空间的性质
    • 反馈信息的不同来源

    图1

    根据搜索空间的性质,可以分为:

    • 选择式启发式(Heuristic Selection):选择现有启发式方法
    • 生成式启发式(Heuristic Generation): 用于从现有启发式方法的组成部分生成新的启发式方法

    这两种方式对应的还有二级分类,即分为构造型启发式和扰动型启发式。其中:

    • 构造型启发式(Construction Heuristics):通过考虑完整的候选解并通过修改其中一个或多个解的分量来进行更改
    • 扰动型启发式(Perturbation Heuristics):通过考虑部分的候选解并对其进行迭代扩展

    构造型启发式和扰动型启发式也可以合并组合在一起用。

    当在搜索过程中使用反馈时,超启发式算法是一种学习算法,可以根据反馈信息方式分为:

    • 在线学习(Online Learning):学习是在算法解决问题实例的同时进行的
    • 离线学习(Offline Learning):从训练实例中以规则或程序的形式收集历史信息,以此推广到其他情况中

    超启发式方法中最常用的一种方法就是强化学习

    • 强化学习系统与环境(或环境模型)进行交互并赋予状态,并基于策略采取措施。通过反复试验,系统尝试通过累积奖励来评估状态和动作对,从而了解要执行哪些动作。在超启发式方法的背景下,根据搜索过程中每个启发式方法的表现来奖励和惩罚每种启发式方法。如果低级别的启发式方法可以改善解决方案,则它会得到奖励,并且其分数会得到积极更新,而恶化的举动会通过降低其启发式值来惩罚启发式方法。可以设计不同的操作员组合以进行奖惩。

    接受策略是本地搜索的重要组成部分,接受策略可以分为:

    • 确定性 :无论搜索过程中的决策点如何,都做出相同的接受决策
    • 非确定性:做出不同的接受决策

    [1] Burke, E., Gendreau, M., Hyde, M. et al. Hyper-heuristics: a survey of the state of the art. J Oper Res Soc 64, 1695–1724 (2013). https://doi.org/10.1057/jors.2013.71
    [2] Chakhlevitch K., Cowling P. (2008) Hyperheuristics: Recent Developments. In: Cotta C., Sevaux M., Sörensen K. (eds) Adaptive and Multilevel Metaheuristics. Studies in Computational Intelligence, vol 136. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79438-7_1

    展开全文
  • 目录启发式(Heuristic)元启发式(Metaheuristic)超启发式(Hyper-heuristic)三者区别参考文献 启发式(Heuristic) 元启发式(Metaheuristic)       In computer science and mathematical ...

    启发式(Heuristic)

          根据问题特征、求解经验等,在可接受时间内找到一个近似解,它是依赖于问题的,不普遍适用。

         The objective of a heuristic is to produce a solution in a reasonable time frame that is good enough for solving the problem at hand. This solution may not be the best of all the solutions to this problem, or it may simply approximate the exact solution. But it is still valuable because finding it does not require a prohibitively long time.

         Heuristics may produce results by themselves, or they may be used in conjunction with optimization algorithms to improve their efficiency (e.g., they may be used to generate good seed values).

         Results about NP-hardness in theoretical computer science make heuristics the only viable option for a variety of complex optimization problems that need to be routinely solved in real-world applications.

    元启发式(Metaheuristic)

         元启发式算法是对整个解空间进行搜索,包括模拟退火、遗传算法、蚁群算法、禁忌搜索、迭代局部搜索、变邻域搜索等等。

          In computer science and mathematical optimization , a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm ) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity.

          Compared to optimization algorithms and iterative methods, metaheuristics do not guarantee that a globally optimal solution can be found on some class of problems. Many metaheuristics implement some form of stochastic optimization, so that the solution found is dependent on the set of random variables generated. In combinatorial optimization, by searching over a large set of feasible solutions, metaheuristics can often find good solutions with less computational effort than optimization algorithms, iterative methods, or simple heuristics. As such, they are useful approaches for optimization problems.

    超启发式(Hyper-heuristic)

          超启发式是一种用于选择或生成启发式来解决计算性搜索问题的自动化方法。

          A hyper-heuristic is an automated methodology for selecting or generating heuristics to solve computational search problems. (Hyper-heuristics comprise a set of approaches that aim to automate the development of computational search methodologies.)

          There is an underlying theme to these two clear categories of hyper-heuristics. In both cases a high-level hyper-heuristic operates on a set of heuristics which in turn operate on the solution space. In the case of selection, we are choosing from a set of atomic predefined heuristics. In the case of generation, we are operating on a space of heuristic components.

          In a typical hyper-heuristic framework there is a high-level methodology and a set of low-level heuristics (either constructive or perturbative heuristics). Given a problem instance, the high-level method selects which low-level heuristic should be applied at any given time, depending upon the current problem state (or search stage) determined by features

    超启发式 vs 元启发式 区别

         The fundamental difference between metaheuristics and hyper-heuristics is that most implementations of metaheuristics search within a search space of problem solutions, whereas hyper-heuristics always search within a search space of heuristics. Thus, when using hyper-heuristics, we are attempting to find the right method or sequence of heuristics in a given situation rather than trying to solve a problem directly. Moreover, we are searching for a generally applicable methodology rather than solving a single problem instance.

         Hyper-heuristics could be regarded as “off-the-peg” methods as opposed to “made-to-measure” metaheuristics. They aim to be generic methods, which should produce solutions of acceptable quality, based on a set of easy-to-implement low-level heuristics.

    启发式 vs 元启发式 vs 超启发式 三者区别

          We differentiate between the terms heuristic, metaheuristic and hyper-heuristic.

    • A heuristic is a “rule of thumb” offering guidance for finding good solutions according to domain knowledge. Two main types of search heuristics can be distinguished, perturbative or local search heuristics, which operate on fully instantiated candidate solutions, and constructive heuristics which iteratively expand partial candidate solutions.
    • Metaheuristics are search methodologies that coordinate local search and higher-level strategies to perform a robust search on a solution space and which aim to escape local optima.
    • Hyper-heuristics are high-level strategies that operate on a search space of heuristics rather than directly on a search space of solutions.

          简单总结一下就是:启发式是依赖问题特定的知识和经验,构建可行解,或者进行局部搜索获得可行解;元启发式是通过对整个解空间进行随机搜索,寻优找到可行解;超启发式是优化问题的启发式空间,在解的启发式空间内搜索,自动选择或者生成启发式方法。

    参考文献

    [1] Handbook of metaheuristics[M]. Springer Science & Business Media, 2019. (3rd edition)
    [2] https://en.wikipedia.org/wiki/Heuristic_(computer_science)
    [3] https://en.wikipedia.org/wiki/Metaheuristic

    展开全文
  • 超启发式算法(hyper heuristic)

    千次阅读 2021-01-20 16:42:30
    超启发式算法是新近提出的一类解决复杂优化问题的概念模型。该模型主要通过一种高层次启发式策略(High-level Heuristic,简称 HLH)管理和操纵一系列低层次启发式(Low-level Heuristics,简称 LLH)方法以实现在解空间...
  • 浅析超启发式算法(hyper heuristic)

    千次阅读 多人点赞 2019-01-02 17:02:08
    在介绍超启发式算法前,先来简单聊一聊启发式算法。为解决NP难问题(精确求解非常困难,但验证结果十分简单,例如旅行商问题就是一个典型的NP难问题),启发式算法应运而生。据我所知,启发式算法中有基于种群的遗传...
  • Scheduling 2021-4-19 利用超启发式算法求解排产问题\n 高级启法策略——EDA(分布式估计算法) EDA算法核心为构建概率模型,通过概率矩阵不断地优化种群,最终在解空间内搜索到较为合理的解
  • 异构计算系统上基于能量的调度的量子启发式超启发式算法
  • 针对大规模问题求解效率不高、结果不理想等问题,以影响参数多变的风力发电机布局问题为研究对象,设计并实现了超启发式算法策略,底层算子用差分进化(Differential Evolution,DE)算法和适应性协方差策略...
  • 具有多约束的双目标区域低碳定位路径问题的一种新的超启发式算法
  • 超启发式算法通过操纵一组低级启发式算法(LLH)来解决问题,并旨在实现算法设计过程的自动化,从而提高了搜索方法的通用性。 但是,这些LLH通常是参数化的,这可能与超启发式方法的独立于域的动机相矛盾。 在本文...
  • 启发式算法-武汉大学

    2019-12-03 20:30:41
    启发算法 武汉大学 研究生 课件 内容丰富 遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法 遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法 遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、...
  • 启发式算法

    千次阅读 2019-07-27 11:54:45
    启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待...
  • 属于简单启发式算法。 贪心算法是指一种在求解问题时总是采取当前状态下最优的选择从而得到最优解的算法。 自顶向下的求解,可以在子问题求解之前贪婪的做出选择 二、贪心算法的基本步骤: 确定问题的...
  • 启发式算法详解——遗传算法算法原理算法详解算法详解算法总结 算法原理       遗传算法(Genetic Algorithm)遵循『适者生存』、『优胜劣汰』的原则,是一类借鉴生物界自然选择和自然遗传机制的随机...
  • 启发式算法,你懂得,很需要的东西,数学建模实习
  • 启发式算法(heuristic)

    千次阅读 2020-12-29 20:06:20
    我认为启发式算法称为「探索式算法」or「经验学习法」更加合适。 有一些不错的说法: 启发式一般又称人工智能算法或全局优化算法。 启发式算法是指具有自学习功能,可利用部分信息对计算产生推理的算法。 … ps:...
  • matlab启发式算法

    千次阅读 2020-10-06 10:40:30
    启发式算法 (Heuristic Algorithm) 是一种基于直观或经验的局部优化算法.。 启发式算法的定义: 人们常常把从大自然的运行规律或者面向具体问题的经验和规则中启发出来的方法称之为启发式算法. 现在的启发式算法也...
  • 超启发式

    2020-08-20 15:13:05
    超启发式 是什么 怎么实现 应用 1. 是什么 启发式: 根据某种经验进行迭代求解,需要对要解决的问题有深入的认识,比如要确定天亮的时间,可以根据晨晓鸡叫这个经验来确定,听到鸡叫判断天亮,也可以根据其他的...
  • 用最简单的0-1背包问题(1-0 knapsack problem)来说明穷举法、贪心算法、启发式算法。 0-1背包问题简述: 有一个背包,背包能装的物品重量是有限的,只能装C kg的物品。 现在有N个物品,每个物品都有自己的重量w和...
  • 入口坐标和出口坐标分别为(startx,starty)和(endx,eny),每一个坐标点有两种可能:0或1,其中0表示该位置允许通过,1表示该位置不允许通过。以寻路问题为例实现A*算法的求解程序,设计两种不同的估价函数。
  • 数学建模启发式算法

    2013-11-03 15:46:56
    数学建模的关键算法,常规解决方案,启发式算法是研究数学建模的基础
  • 针对所提问题,设计一种进化式超启发式求解算法,即在超启发式算法框架下,采用进化式策略作为高层学习策略,以实时准确地监控底层算子的性能信息并选择合适的底层算子,包括量子选择、蚂蚁策略、蛙跳机制以及自然竞争等....
  • 启发式算法(Heuristic)概述

    千次阅读 2020-10-13 10:29:47
    启发式算法(Heuristic)概述 一个启发式的例子。 驾驶汽车到达某人的家,写成算法是这样的:沿167 号高速公路往南行至Puyallup;从South Hill Mall 出口出来后往山上开 4.5 英里;在一个杂物店旁边的红绿灯路口右转...
  • TSP-贪心启发式算法求解

    千次阅读 2019-08-20 16:15:33
    1、贪心算法 (1)概念 贪心算法(贪婪算法),是求解最优化问题常见的简单、迅速的算法,它只是做出在当前看来最好的选择,而不可考虑整体 (2)思路 第一步:描述问题和建立数学模型 第二步:把原问题分解成若干...
  • 启发式算法介绍

    千次阅读 2019-08-10 16:30:53
    启发式算法(Heuristic Algorithm)有不同的定义:一种定义为,一个基于直观或经验的构造的算法,对优化问题的实例能给出可接受的计算成本(计算时间、占用空间等)内,给出一个近似最优解,该近似解于真实最优解的...
  • 启发式算法个人理解

    万次阅读 2016-04-09 17:19:20
    什么是启发式算法转自:p://blog.csdn.net/aris_zzy/archive/2006/05/27/757156.aspx引言: 解决实际的问题,要建模型,在求解。求解要选择算法,只有我们对各种算法的优缺点都很熟悉后才能根据实际问题选出有效的...
  • 启发式算法(Heuristic Algorithm)

    千次阅读 2019-01-17 10:56:42
    启发式算法(Heuristic Algorithm)有不同的定义:一种定义为,一个基于直观或经验的构造的算法,对优化问题的实例能给出可接受的计算成本(计算时间、占用空间等)内,给出一个近似最优解,该近似解于真实最优解的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,500
精华内容 6,600
关键字:

超启发式算法

友情链接: KNN.zip