启发式算法 订阅
启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、神经网络等。 [1] 展开全文
启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、神经网络等。 [1]
信息
学    科
计算机
外文名
heuristic algorithm
类    别
人工智能算法
中文名
启发式算法
主要方法
蚁群算法、模拟退火法、神经网络
启发式算法概括内容
计算机科学的两大基础目标,就是发现可证明其执行效率良好且可得最佳解或次佳解的算法。而启发式算法则试图一次提供一或全部目标。 例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解;它通常可在合理时间解出答案,但也没办法知道它是否每次都可以这样的速度求解。有时候人们会发现在某些特殊情况下,启发式算法会得到很坏的答案或效率极差,然而造成那些特殊情况的数据组合,也许永远不会在现实世界出现。因此现实世界中启发式算法常用来解决问题。启发式算法处理许多实际问题时通常可以在合理时间内得到不错的答案。有一类的通用启发式策略称为元启发式算法(metaheuristic),通常使用乱数搜寻技巧。他们可以应用在非常广泛的问题上,但不能保证效率。近年来随着智能计算领域的发展,出现了一类被称为超启发式算法(Hyper-Heuristic Algorithm)的新算法类型。最近几年,智能计算领域的著名国际会议(GECCO 2009, CEC 2010,PPSN 2010)分别举办了专门针对超启发式算法的workshop或session。从GECCO 2011开始,超启发式算法的相关研究正式成为该会议的一个领域(self* search-new frontier track)。国际智能计算领域的两大著名期刊Journal of Heuristics和Evolutionary Computation也在2010年和2012年分别安排了专刊,着重介绍与超启发式算法有关的研究进展。
收起全文
精华内容
下载资源
问答
  • 启发式算法启发式算法
  • 曾经数学建模用过的启发式算法资料,含讲义和代码
  • 生成数独,用于求解算法和穷举搜索的启发式算法。 该应用程序允许您在数独集合上测试算法的运行时间。 演示 实现的算法 生成数独 this . generate = function ( cellEmptyInput ) { this . refreshSudoku ( ) ; ...
  • 旅行商问题的启发式算法 遗传算法 生成染色体的随机种群 计算每个染色体的适应度 重复步骤 使用选择方法选择父母对 以概率 Pc 通过对父母的交叉生成一个孩子 通过以概率 Pm 交换基因来突变孩子 使用精英主义用新的...
  • BioMARL:基于生物启发式算法的多智能体强化学习算法 项目介绍: 多智能体系统(MAS)通过解决复杂任务的规模,可靠性和智能性,已被广泛的地面不同的应用领域,如计算机网络,机器人和智能电网等。和生产的重要因素...
  • 四种经典启发式算法求解TSP问题,包括模拟退火(Simulated annealing)、禁忌搜索(Tabu search)、遗传算法(Genetic algorithms)和蚁群算法(Ant colonies)
  • 启发式算法

    2017-12-17 13:46:30
    详细的讲解了各种启发式算法的原理与实现方法,很全面,适合初学者学习了解
  • 算法推荐:基于深度递归神经网络的连续启发式元启发式算法推荐系统
  • 启发式算法的优化

    2018-08-27 20:44:58
    启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。
  • 关于组合优化问题的元启发式算法 关于组合优化问题的元启发式算法 Mutsunori Yagiura 和 Toshihide Ibaraki 信息学研究生院,京都大学,京都,606-8501 日本总结元启发式算法被广泛认为是组合优化问题最实用的方法之...
  • 基础的启发式算法样例
  • 第4讲 多资源车间调度优先分配启发式算法 1 4.1 多资源车间调度概述 1 4.2 优先分配Giffler Thompson启发式算法及其流程 3 4.3 优先分配Giffler Thompson启发式算法Matlab实现 6 4.3.1 数据结构设计 6 4.3.2 Matlab...
  • CARP问题的元启发式算法综述,李庆华,李波,本文全面综述了国内外用于求解容量约束弧路径问题(CARP问题)及其变异形式的各种元启发式算法的研究现状,指出了元启发式算法的�
  • 结合最优冗余分配理论和可重构度定义给出了可重构度最大化的冗余分配模型,在此基础上提出了基于启发式算法的可重构性指标分配方法,该方法可解决约束条件内资源优化配置问题,并得到系统最大可重构度的解.直接寻查法...
  • 人工智能与信息社会 基于决策树和搜索的智能系统启发式算法 陈斌北京大学gischen@ 启发式算法 在搜索过程中启发式算法被定义成一系列 额外的规则 经验法则 利用一些特定的知识 高手怎么下我也怎么下 北京大学地球与...
  • 动态规划启发式算法求解时变车辆调度问题
  • 入口坐标和出口坐标分别为(startx,starty)和(endx,eny),每一个坐标点有两种可能:0或1,其中0表示该位置允许通过,1表示该位置不允许通过。以寻路问题为例实现A*算法的求解程序,设计两种不同的估价函数。
  • 针对同时考虑机组爬坡速率约束和系统安全约束的机组组合问题, 提出一个基于模型的两阶段启发式算法. 第1 阶段确定可行的机组启停状态. 首先构造初始启停状态, 并根据模型检验初始启停状态是否可行. 如果不可行, 则...
  • 一种求解计及失负荷概率约束机组组合问题的快速启发式算法,杨明,程凤璐,本文提出了一种求解计及失负荷概率上限约束机组组合问题的快速启发式算法。该算法通过对给定备用约束机组组合问题与运行可靠性评
  • 狼群优化算法,一种新的启发式算法,很适合初学者学习使用,内部有文档说明,可以参考文档进行学习使用,同时对于深层学习具有很好的作用
  • 用EvoHyp实现一维装箱问题的选择构造超启发式算法
  • 针对与城市物流密切相关的双层车辆路径问题(2E-VRP), 提出了一种用来求解的混合启发式算法。该算法利用贪心算法的快速性、蚁群算法的搜索多样性以及邻域搜索算法较强的局部寻优能力来提高求解质量, 加速算法的收敛...
  • MATLAB源码集锦-基于启发式算法的函数优化分析
  • 启发式算法 定义:启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算...

    启发式算法

    定义:启发式算法(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
    展开全文
  • 启发式算法-武汉大学

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,585
精华内容 25,034
关键字:

启发式算法