目录

  • 启发式(Heuristic)
  • 元启发式(Metaheuristic)
  • 超启发式(Hyper-heuristic)
  • 超启发式 vs 元启发式 区别
  • 启发式 vs 元启发式 vs 超启发式 三者区别
  • 参考文献

启发式(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

启发式算法,元启发式算法,超启发式算法相关推荐

  1. 关于启发式算法、元启发式算法以及超启发式算法的理解

    启发式算法 定义:启发式算法(heuristic algorithm)是相对于最优化算法提出的.一个问题的最优算法求得该问题每个实例的最优解.启发式算法可以这样定义:一个基于直观或经验构造的算法,在可 ...

  2. 启发式算法 元启发式算法 超启发式算法 区别 是什么

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

  3. 浅析超启发式算法(hyper heuristic)

    在介绍超启发式算法前,先来简单聊一聊启发式算法.为解决NP难问题(精确求解非常困难,但验证结果十分简单,例如旅行商问题就是一个典型的NP难问题),启发式算法应运而生.据我所知,启发式算法中有基于种群的 ...

  4. 复现一篇分布式装配置换流水车间调度问题的代码——基于回溯搜索的超启发式算法

    复现一篇分布式装配置换流水车间调度问题的代码--基于回溯搜索的超启发式算法 摘要 算法框架 说明 代码 测试类 算法主体 Assignment Heuristics Individual Method ...

  5. 超启发式算法Hyper heuristic

    超启发式算法 超启发式算法的分类 选择式超启发算法 生成式超启发算法 总结 超启发式算法的分类 根据搜索空间的性质,可以分为: 选择式启发式(Heuristic Selection):选择现有低层次启 ...

  6. 库克去年薪酬约6亿元,超员工1400倍,机构建议其降薪

    据媒体报道,苹果CEO库克的薪酬被曝光.近日,苹果公司定于3月第一周举行其年度股东大会.苹果准备授予CEO库克薪酬近9900万美元(约合6.25亿元人民币).但美国最大股东代理咨询公司Institut ...

  7. 网站广告1像素1元,超有创意的百万像素网站

    PC互联网真的没有前途了吗?来自湖南的马晓鹏制作了一个超有创意的1百万像素网站(1bwxs)会给你答案. 1百万像素(1bwxs)是一个广告网.与一般的网站运营方式不同,这个网站不提供任何形式的信息服 ...

  8. 8小时8分:2018年天猫双11交易额破1207亿元 已超2016年全天

    阿里巴巴天猫双11于今日凌晨正式打响.据双11实时交易数据显示,用时8时8分52秒,2018天猫双11成交额突破1207亿元,已超过2016年双11全天成交额. 以下数据由新浪科技根据现场交易大屏整理 ...

  9. 中芯国际A股最终确定发行价27.46元 发行规模超50亿

    [TechWeb]7月5日15时消息,中芯国际披露的科创板上市发行公告称,依据发行人与联席主承销商协商确定的发行价格27.46元/股,本次发行规模超过人民币50亿元.剔除无效报价和最高报价后,参与初步 ...

最新文章

  1. 你真的了解软件测试行业吗?
  2. Putty添加SSH Key
  3. 【杂谈】关于数据和模型,初学者极容易忽视的两个问题!
  4. nginx负载均衡的五种方式
  5. 一文说通C#中的异步迭代器
  6. Java方法中的参数太多,第8部分:工具
  7. 工作208:element $message居中测试无法实现
  8. Python len函数 - Python零基础入门教程
  9. (217)如何选择硬件描述语言
  10. idea 配置java版本号_IDEA-Maven项目的jdk版本设置方法
  11. centos7 卸载 jdk
  12. centos7.2 安装 Elasticsearch5.2
  13. 怎么实现单点登录?面试必问!
  14. 创建、复制、删除、重命名、获取文件名等常用的批处理bat命令
  15. Python3 NaN+NaN等于0
  16. 解决jinja2模板中包含大括号的情况
  17. 多媒体基础学习笔记:MPEG-7
  18. 基于JAVA鞋店销售管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  19. 3dmax:3dmax的软件右边栏常用修改器(面挤出、网格/平滑、涡轮平滑、球形化、曲面修改器、星、融化、删除网格修改器、体积选择、优化、UVW贴图修改器、弯曲、置换、噪波、锥化)之详细攻略
  20. 网页会员文档查看方法

热门文章

  1. 技术专栏|室内定位不用愁,UWB来拯救!
  2. 微商小白如何有效快速精准引流?哪里能找到精准顾客群体?
  3. 前端开发规范V2023.5
  4. 火车票抢票API 根据乘客的车次与座席要求快速订票出票 1
  5. Handler 源码解析——Handler的创建
  6. 微信支付签名验证失败的问题
  7. (CVPR 2022 阅读笔记)Residual Local Feature Network for Efficient Super-Resolution
  8. 未来计算机网络技术层面的发展,计算机网络技术的未来发展趋势和新媒体影响...
  9. 虚拟化技术发展与虚拟化体系结构
  10. vanilla_如何使用Vanilla JavaScript构建简单的全屏幻灯片