超启发式算法

  • 超启发式算法的分类
  • 选择式超启发算法
  • 生成式超启发算法
  • 总结

超启发式算法的分类

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

    • 选择式启发式(Heuristic Selection):选择现有低层次启发式方法
    • 生成式启发式(Heuristic Generation): 用于从现有启发式方法的组成部分生成新的启发式方法
  • 根据反馈信息来源不同,可以分为:
    • 不学习:随机选择

      • 收敛性差,问题规模较大时很难获取高质量的解
    • 离线学习:学习系统训练样本数据,通过反复的评价测试以优化求解模型。
      • 通常能较快获得高质量的解,但是需要额外的学习系统训练样本数据,设计与实现难度大
    • 在线学习:每次选择都要获取低层启发式算法的运行信息
      • 设计难度适中,同时也能获得很好的解,但是仅利用了计算过程中的信息进行策略改进,忽略了大量有用的问题领域信息,因此收敛速度较慢
  • 低层启发式算法根据其特性可以分为构造型启发式和扰动型启发式。其中:
    • 构造型启发式(Construction Heuristics):通过考虑完整的候选解并通过修改其中一个或多个解的分量来进行更改
    • 扰动型启发式(Perturbation Heuristics):通过考虑部分的候选解并对其进行迭代扩展

选择式超启发算法

  • 选择式超启发算法分为

    • 基于构造的选择式超启发算法

      • 构造问题可行解。从一个空解开始,有高层控制策略从一组预先提供的低层构造启发式算法中选择算法逐步建立问题的可行解。
      • 能够快速获取问题的可行解,在小规模案例时也能获取质量不错的解,但是大规模案例时质量较差。
    • 基于扰动的选择式超启发算法
      • 利用构造启发式算法或其他方法构造初始解,然后通过迭代方式不断尝试改善当前解直到满足终止条件。
      • 根据超启发算法同时处理解的数量,可以将基于扰动的超启发式算法分为单点搜索和多点搜索:
        • 单点搜素:同一时刻处理一个解
        • 多点搜索:允许同时搜索改进多个解,具有良好的全局搜索能力,不会陷入局部最优,但局部搜索能力较差,计算后期搜索效率较低。

生成式超启发算法

  • 利用现有组件生成新的启发式算法,而不是预先定义的完整的启发式算法,通常采用遗传编程(Genetic Programming)技术求解。

  • 原理是将一些规则表达为具有交叉、变异功能的树形结构或字符串,然后利用这些规则和启发式算法组件生成新的启发式算法进行求解。

  • 搜索空间是启发式算法组件

  • 比选择式超启发算法更加灵活,理论上可以得到质量很高的解,但是设计和使用比较复杂

总结

  • 需要提高或改进的地方:

    • 实际应用研究不足

    • 缺少对搜索空间的理论分析

    • 当涉及到领域屏蔽时缺乏灵活性

超启发式算法Hyper heuristic相关推荐

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

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

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

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

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

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

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

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

  5. 在机器学习中,怎么对超参数Hyper parameter优化?我总结了以下常见的方法

    @Author:Runsen 机器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数( ...

  6. 什么是启发式算法(heuristic algorithm)?

    在笔者的心目中,术语就是个大坑,像面向对象的封装.集成和多态,不知道过了多久才习惯,股票的多头空头头寸也是如此.所以啊,把鬼都听不懂的术语翻译成人话直观地理解,然后跟别人说鬼话,大概是professi ...

  7. 启发式算法,元启发式算法,超启发式算法

    目录 启发式(Heuristic) 元启发式(Metaheuristic) 超启发式(Hyper-heuristic) 超启发式 vs 元启发式 区别 启发式 vs 元启发式 vs 超启发式 三者区别 ...

  8. 广州车展|埃安超跑Hyper GT登场,给年少有为者的时代献礼

    近年来,随着中国新能源的技术日趋成熟,中国新能源车开始蓬勃发展,逐渐占据了可观的市场份额,并朝着高端化迈进.有一个有趣的现象:希望进军豪华纯电市场的中国车企,几乎都会与特斯拉对标.然而,Model 3 ...

  9. 机器学习中的启发式算法(heuristic algorithm)

    在看论文的时候经常遇到heuristic algorithm,找到了一个比较合理的解释,mark下. heuristic(启发式):一种帮助你不断迭代最后找到局部最优解的方法(technique)

最新文章

  1. DeepChem | DeepChem的图卷积特征化器
  2. 把报表的数据导出Excel
  3. keras fine-tune方法
  4. 电脑配置清单_2020年4月最新高性价比电脑配置清单放送,装机不迷路
  5. ASP.NET MVC5使用AjaxHelp
  6. html如何运用循环添加表格,萌新提问!!!如何用for循环循环表单?
  7. CSS3伸缩布局的应用
  8. python自动化控制_python用于自动化控制编程
  9. POSIX 条件变量
  10. django从入门到放弃之001.初探
  11. 在计算机网络中ftp服务器的用途是,FTP的作用以及传输文件的一般步骤
  12. 孙子兵法的计是最早的SWOT分析,《孙子兵法》首先不是战法,而是不战之法。首先不是战胜之法,而是不败之法...
  13. 微信拼团小程序源码带后台Mysql数据库
  14. 在天翼网关2.0上如何使用自己的路由器
  15. 零基础安装tensorflow-cpu/gpu+导入pycharm内核
  16. 【读书笔记】YARN架构设计与实现原理
  17. Kaggle实战:泰坦尼克幸存者预测 -下
  18. 【程序源代码】小程序最佳开发实践-租房小程序
  19. 杠杆股票买哪些股票容易出现涨停板?
  20. 快速扩展在线文档产品特性的9个开源项目

热门文章

  1. 数据中台浅析——概念、架构以及未来
  2. 使用python将中文与Unicode编码相互转换
  3. linux及hadoop入门,Hadoop学习全程记录——Hadoop入门
  4. 从头到尾彻底理解KMP(2014年8月22日版)
  5. KMP算法 → 计算next数组
  6. Linux 内核移植
  7. wxWidgets 事件学习
  8. 损失函数Loss Function
  9. 贝叶斯估计及其python实现
  10. 51单片机时钟电路图怎么设计?这7个时钟汇聚了所有