超启发式算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超启发式算法
基于随机选择的超启发式算法 基于贪心策略的超启发式算法 基于元启发式算法的超启发式算法 基于学习的超启发式算法
基于随机选择的超启发式算法
该类超启发式算法是从给定的集合中随机选择LLH, 该类超启发式算法是从给定的集合中随机选择LLH, LLH 组合形成新的启发式算法。这类超启发式算法在本领 组合形成新的启发式算法。 域研究中较早提出,其特点是结构简单、容易实现。 域研究中较早提出,其特点是结构简单、容易实现。 进一步细分为:纯随机、蒙特卡罗、 进一步细分为:纯随机、蒙特卡罗、带确定性接受 条件的随机、带延迟接受条件的随机等。 条件的随机、带延迟接受条件的随机等。 在纯随机超启发式算法中,每一个被选中的LLH LLH即使 在纯随机超启发式算法中,每一个被选中的LLH即使 不能改进问题实例的当前解, 不能改进问题实例的当前解,也总能应用于问题实例的 求解。 求解。 在蒙特卡罗超启发式算法中,若随机被选中的LLH不 在蒙特卡罗超启发式算法中,若随机被选中的LLH不 LLH 能改进当前问题实例解,则按照一定的概率( 能改进当前问题实例解,则按照一定的概率(此概率通 常根据“执行该LLH前后的” LLH前后的 常根据“执行该LLH前后的”问题实例解的目标函数的 值差计算)来决定是否采用该LLH LLH。 值差计算)来决定是否采用该LLH。
定义
什么是超启发式算法? 什么是超启发式算法? 超启发式算法(Hyper超启发式算法(Hyper-Heuristic Algorithm)提供了一种高层次启发式方法, Algorithm)提供了一种高层次启发式方法, 通过管理或操纵一系列低层次启发式算法 LowHeuristics,LLH), ),以产生新 (Low-Level Heuristics,LLH),以产生新 的启发式算法。 的启发式算法。 超启发式算法vs.传统启发式算法: 超启发式算法vs.传统启发式算法: vs.传统启发式算法
基于元启发式算法的超启发式算法
禁忌( 禁忌(Tabu Search)算法是一种亚启发式 )算法是一种亚启发式(metaheuristic)随机搜索算法,它从一个初始可行解出发 随机搜索算法, 随机搜索算法 选择一系列的特定搜索方向(移动 作为试探, 移动)作为试探 ,选择一系列的特定搜索方向 移动 作为试探,选择 实现让特定的目标函数值变化最多的移动。 实现让特定的目标函数值变化最多的移动。为了避免 陷入局部最优解, 搜索中采用了一种灵活的 搜索中采用了一种灵活的“ 陷入局部最优解,TS搜索中采用了一种灵活的“记忆 技术,对已经进行的优化过程进行记录和选择, ”技术,对已经进行的优化过程进行记录和选择,指 导下一步的搜索方向,这就是Tabu表的建立。 表的建立。 导下一步的搜索方向,这就是 表的建立
基于贪心策略的超启发式算法
该类超启发式算法在构造新启发式算法时, 该类超启发式算法在构造新启发式算法时,每次都 挑选那些能够最大化改进当前(问题实例)解的LLH 挑选那些能够最大化改进当前(问题实例)解的 。由于每次挑选LLH时需要评估所有 由于每次挑选 时需要评估所有LLH,故此该类 , 时需要评估所有 方法的执行效率低于基于随机选择的超启发式算法。 方法的执行效率低于基于随机选择的超启发式算法。 实验结果表明, 实验结果表明,虽然这种超启发式算法需要更长的时 导致执行效率下降, 间,导致执行效率下降,但是这种超启发式算法却能 提供高质量的解。 提供高质量的解。
基于元启发式算法的超启发式算法
该类超启发式算法采用现有的元启发式算法( 该类超启发式算法采用现有的元启发式算法(作 为高层次启发式方法)来选择LLH。这些元启发式算 为高层次启发式方法)来选择 。 法包括蚁群算法、禁忌算法、 法包括蚁群算法、禁忌算法、可变邻域搜索和遗传算 法等。 法等。
元启发式算法:启发式算法的改进, 元启发式算法:启发式算法的改进,随机方法和局部 搜索算法相结合。 搜索算法相结合。
超启发式算法与启发式算法具有一定的相似性: 超启发式算法与启发式算法具有一定的相似性:它们都是 在高维(搜索)空间上进行查找.所不同的是 所不同的是,超启发式算法的搜 在高维(搜索)空间上进行查找 所不同的是 超启发式算法的搜 索空间上每个点代表LLH的组合 的组合,而启发式算法搜索空间上的每个 索空间上每个点代表LLH的组合,而启发式算法搜索空间上的每个 点代表问题实例的解。因此,针对启发式算法的研究思路对于超启 点代表问题实例的解。因此 针对启发式算法的研究思路对于超启 发式算法具有很好的参考意义。 发式算法具有很好的参考意义。
超启发式算法研究பைடு நூலகம்望
虽然超启发式算法研究已经取得了很多令人振奋的 成果, 成果,但是围绕它的算法构造和实例求解阶段还存在 一系列重要的问题亟待解决。 一系列重要的问题亟待解决。 算法构造阶段 实例求解阶段
超启发式算法研究展望
算法构造阶段: 算法构造阶段:超启发式算法搜索空间的特征分析及 应用问题
基于学习的超启发式算法
该类超启发式算法在构造新启发式算法时, 该类超启发式算法在构造新启发式算法时,采用某 种学习机制,根据现有各种LLH的历史信息决定采纳哪 种学习机制,根据现有各种LLH的历史信息决定采纳哪 LLH LLH。根据LLH历史信息来源的不同, LLH历史信息来源的不同 种LLH。根据LLH历史信息来源的不同,该类超启发式 算法可以进一步分为在线学习(On-LinLearning) 算法可以进一步分为在线学习(On-LinLearning)和 离线学习(OffLearning)。 离线学习(Off-Line Learning)。 在线学习: LLH的历史信息在求解实例过程中积 在线学习:指LLH的历史信息在求解实例过程中积 累下来的。每一个LLH都被赋予一定的分值, LLH都被赋予一定的分值 累下来的。每一个LLH都被赋予一定的分值,每次 根据分值来决定选择哪一个LLH。一旦一个LLH被选 根据分值来决定选择哪一个LLH。一旦一个LLH被选 LLH LLH 它将用于优化当前解。若它能改进当前解, 中,它将用于优化当前解。若它能改进当前解,则 调高其分值,否则降低其分值。 调高其分值,否则降低其分值。 离线学习: 离线学习:通常将实例集合分为训练实例和待求解 实例两部分,训练实例主要用于积累LLH LLH的历史信 实例两部分,训练实例主要用于积累LLH的历史信 待求解实例可以根据历史信息来决定LLH LLH的取 息,待求解实例可以根据历史信息来决定LLH的取 舍。根据各种LLH在训练实例方面的性能,构造出 根据各种LLH在训练实例方面的性能, LLH在训练实例方面的性能 了关联分类器,对于待求解实例, 了关联分类器,对于待求解实例,每次需要选择 LLH时 该算法则利用当前解的状态作为输入, LLH时,该算法则利用当前解的状态作为输入,利 用关联分类器预测LLH以获得最佳效果。 LLH以获得最佳效果 用关联分类器预测LLH以获得最佳效果。
超启发式算法
定义
什么是启发式算法? 什么是启发式算法? 一个基于直观或经验构造的算法, 一个基于直观或经验构造的算法,在可接受 的花费(指计算时间 占用空问等)下给出待解 指计算时间、 的花费 指计算时间、占用空问等 下给出待解 决优化问题每一个实例的一个可行解, 决优化问题每一个实例的一个可行解,该可 行解与最优解的偏离程度不一定事先可以预 计。 启发式算法是一种技术, 启发式算法是一种技术,这种技术使得在 可接受的计算费用内去寻找最好的解, 可接受的计算费用内去寻找最好的解,但 不一定能保证所得解的可行性和最优性, 不一定能保证所得解的可行性和最优性, 甚至大多数情况下, 甚至大多数情况下,无法阐述所得解同最 优解的近似程度。 优解的近似程度。
基于元启发式算法的超启发式算法
蚁群算法(ant colony optimization)又称蚂蚁算法 蚁群算法 又称蚂蚁算法 是一种用来在图中寻找优化路径的机率型算法。 ,是一种用来在图中寻找优化路径的机率型算法。其 主要特点就是:通过正反馈 通过正反馈、 主要特点就是 通过正反馈、分布式协作来寻找最优路 这是一种基于种群寻优的启发式搜索算法。 径。这是一种基于种群寻优的启发式搜索算法。它充 分利用了生物蚁群能通过个体间简单的信息传递, 分利用了生物蚁群能通过个体间简单的信息传递,搜 索从蚁巢至食物间最短路径的集体寻优特征, 索从蚁巢至食物间最短路径的集体寻优特征,以及该 过程与旅行商问题求解之间的相似性。得到了具有NP 过程与旅行商问题求解之间的相似性。得到了具有 难度的旅行商问题的最优解答。同时, 难度的旅行商问题的最优解答。同时,该算法还被用 于求解Job-Shop调度问题、二次指派问题以及多维 调度问题、 于求解 调度问题 背包问题等, 背包问题等,显示了其适用于组合优化类问题求解的 优越特征。
基于元启发式算法的超启发式算法
遗传算法(Genetic Algorithm)是一类借鉴生物界的 遗传算法 是一类借鉴生物界的 进化规律(适者生存 优胜劣汰遗传机制)演化而来的 适者生存, 进化规律 适者生存,优胜劣汰遗传机制 演化而来的 随机化搜索方法。其主要特点:1)直接对结构对象进行 随机化搜索方法。其主要特点 直接对结构对象进行 操作,不存在求导和函数连续性的限定; 具有内在 操作,不存在求导和函数连续性的限定;2)具有内在 的隐并行性和更好的全局寻优能力; 采用概率化的 的隐并行性和更好的全局寻优能力;3)采用概率化的 寻优方法,能自动获取和指导优化的搜索空间, 寻优方法,能自动获取和指导优化的搜索空间,自适 应地调整搜索方向,不需要确定的规则。 应地调整搜索方向,不需要确定的规则。遗传算法的 这些性质,已被人们广泛地应用于组合优化、 这些性质,已被人们广泛地应用于组合优化、机器学 信号处理、自适应控制和人工生命等领域。 习、信号处理、自适应控制和人工生命等领域。它是 现代有关智能计算中的关键技术。 现代有关智能计算中的关键技术。
定义
如上图给出了超启发式算法的概念模型。 如上图给出了超启发式算法的概念模型。该模型分 为两个层面:在问题域层面上, 为两个层面:在问题域层面上,应用领域专家根据 自己的背景知识,在智能计算专家协助下, 自己的背景知识,在智能计算专家协助下,提供一 系列LLH和问题的定义、评估函数等信息; LLH和问题的定义 系列LLH和问题的定义、评估函数等信息;在高层次 启发式方法层面上, 启发式方法层面上,智能计算专家设计高效的管理 操纵机制,运用问题域所提供的LLH LLH算法库和问题特 操纵机制,运用问题域所提供的LLH算法库和问题特 征信息,构造出新的启发式算法。 征信息,构造出新的启发式算法。
基于随机选择的超启发式算法
带确定性接受条件的随机超启发式算法: 带确定性接受条件的随机超启发式算法:每当一 LLH被选中时 若它能改进当前解,则被采用; 被选中时, 个LLH被选中时,若它能改进当前解,则被采用;若 所得解超过一个指定的阈值,也可被采用。 所得解超过一个指定的阈值,也可被采用。在超启 发式算法执行的初始阶段, 发式算法执行的初始阶段,该阈值设定为初始解的 目标函数值。随着超启发式算法的迭代执行, 目标函数值。随着超启发式算法的迭代执行,该阈 值按照一个固定的比例下降。利用这种策略, 值按照一个固定的比例下降。利用这种策略,在超 启发式算法执行初期, 启发式算法执行初期,尽管那些不能改进当前解的 LLH容易被采纳 但随着执行进程不断深入, 容易被采纳, LLH容易被采纳,但随着执行进程不断深入,它们会 越来越少地被采纳。 越来越少地被采纳。 带延迟接受条件的超启发式算法:在该工作中, 带延迟接受条件的超启发式算法:在该工作中, 超启发式算法由一系列LLH LLH随机组合形成新的启发式 超启发式算法由一系列LLH随机组合形成新的启发式 算法。每一个被选中的LLH将用于当前解的优化, LLH将用于当前解的优化 算法。每一个被选中的LLH将用于当前解的优化,若 所得到的新解质量比M 是预先设定的一个参数) 所得到的新解质量比M(M是预先设定的一个参数) 步前的解质量更好,则该LLH被采纳。 LLH被采纳 步前的解质量更好,则该LLH被采纳。
相关文档
最新文档