选择式与生成式超启发算法总结

这里写目录标题

  • Selection HH
  • Generation HH
    • GPHH示例

存在大量针对特定问题设计的启发式算法,近年来学术界提出了一个关键问题:如何选择最合适的启发式方法。这一问题推动了超启发式(hyper-heuristic)方法的研究发展。

超启发式是一种高层策略,通过自动选择或生成低层启发式来解决复杂优化问题。其核心优势在于不直接求解问题,而是协调多种问题特定的启发式算法,提升通用性与适应性。主要分为构造型和扰动型两类,广泛应用于如TSP等组合优化问题中。

超启发式(Hyper-heuristic)是一种高层级的自动化方法,用于选择或生成一组启发式算法[7]。该术语由Denzinger等人[16]首次提出。图1展示了超启发式方法的分类。超启发式主要分为两大类:选择型超启发式和生成型超启发式[8],分别可理解为“用于选择启发式的启发式”和“用于生成启发式的启发式”[7]。在超启发式框架中被选择或生成的底层启发式算法称为低层启发式(Low-Level Heuristics, LLHs)。

在这里插入图片描述

根据LLHs的性质,选择型和生成型超启发式均可进一步分为两类:构造型(constructive)和扰动型(perturbative)。

  • 构造型超启发式从零开始逐步构建完整解;
  • 扰动型超启发式则通过扰动机制对已有解进行迭代优化。

在这里插入图片描述

Selection HH

在这里插入图片描述

Generation HH

根据您提供的文本内容,本文提出的算法(HH-SGP)之所以被称为“超启发式”(Hyper-Heuristic),其核心体现在它不直接解决调度问题本身,而是通过一个高层级的智能方法(遗传编程)来自动地生成和优化解决该问题的“低层级”启发式规则(即优先级规则,Priority Rules)

具体来说,其“超启发式”特性体现在以下几个层面:

  1. 核心思想:生成启发式,而非直接搜索解空间

    • 传统的元启发式算法(如遗传算法GA、粒子群算法PSO)直接在问题的解空间(即所有可能的项目调度方案)中进行搜索和优化。
    • 而HH-SGP的搜索空间是启发式规则的空间。它使用遗传编程(Genetic Programming, GP)作为一种“超启发式”方法,其搜索和进化的对象是优先级规则(PR)的表达式(以树形结构表示)。它自动地“设计”或“发现”新的、高性能的调度规则。
  2. 高层级与低层级的分离

    • 高层级(Hyper-Level):HH-SGP框架本身。它负责管理遗传编程的进化过程,包括种群初始化、选择、交叉、变异、适应度评估以及使用代理模型和弱精英机制等。
    • 低层级(Low-Level):被高层级生成和评估的优先级规则(PR)。这些规则是具体的、可执行的调度启发式。当HH-SGP进化出一个规则后,这个规则会被应用到一个调度生成方案(Schedule Generation Scheme, SGS)——即文中改进的“资源基础策略”(Improved RB Policy)——来实际构建一个完整的项目调度方案,并计算其性能(如项目工期)。
  3. 自动化的规则设计,避免人为干预

    • 传统的优先级规则(如最短作业时间SPT、最长作业时间LPT)是由领域专家根据经验手动设计的。
    • HH-SGP则通过遗传编程的进化过程,自动组合和演化出新的规则。如文中所述,它最终可能生成像 max(LS + (EF - LF)) 这样的复杂表达式。这个过程是数据驱动和自动化的,大大减少了对人类专家知识的依赖,这也是“超启发式”追求的目标之一。
  4. 与已有研究的对比

    • 文中明确提到了Chen et al. (2021) 提出的“基于集成遗传编程的超启发式”(HH-EGP)方法,并将HH-SGP与其进行比较。这表明作者将基于遗传编程来自动生成调度规则的方法归类为“超启发式”范式。
    • 文中还指出,与缺乏直观性的元启发式算法相比,基于优先级规则的启发式算法更易于被项目实践者理解和采纳。HH-SGP正是结合了两者的优势:用智能的元启发式方法(GP)来自动产生直观且高效的低层级启发式规则。

总结来说,本文的“超启发式”体现在其架构和功能上:HH-SGP是一个“启发式生成器”。它将遗传编程作为核心引擎,通过进化树形结构的数学表达式,来自动发现能够有效解决三维空间资源约束项目调度问题(3D-sRCPSPSAD)的最优优先级规则。它站在比传统启发式和元启发式更高的“元”层次上,解决了“如何设计好的启发式规则”这一更根本的问题。

在你上传的这篇文章里,Hyper-heuristic 算法的应用和 **遗传编程(Genetic Programming, GP)**关系密切,可以总结如下:

GPHH示例

  1. Hyper-heuristic 的应用方式

    • 文章提出的是 GP-HH-WOA 框架,即 基于遗传编程的 Hyper-heuristic 与鲸鱼优化算法(WOA)结合 的方法。

    • 其目标是解决 动态资源约束项目调度问题(DRCPSP),这种问题需要在不确定的环境中动态调整调度策略。

    • Hyper-heuristic 的作用是:

      • 上层:通过遗传编程(GP)自动生成和演化“调度规则”或“启发式组合”。
      • 下层:这些规则会被应用于项目调度问题实例,用来选择任务的执行顺序和资源分配方案。
      • 反馈循环:调度结果的表现(如工期、资源使用情况)作为适应度反馈给 GP,推动规则的演化。
  2. Hyper-heuristic与遗传编程的关系

    • **遗传编程(GP)**是实现 Hyper-heuristic 的核心机制。

      • GP 用语法树来表示候选的调度规则(heuristic)。
      • 通过遗传操作(选择、交叉、变异)不断改进这些规则。
    • 因此:

      • Hyper-heuristic 是一个 框架,目标是“搜索启发式的空间”;
      • GP 是 具体的搜索方法,用于实现对启发式规则的自动生成和优化。
    • Hyper-heuristic = 用来演化/选择启发式的框架

    • GP = 在这个框架里负责产生和进化启发式规则的工具

    • 两者关系:GP 是 Hyper-heuristic 的实现手段之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93401.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NetBIOS 设置

在 Windows 系统中,WINS (Windows Internet Name Service) 和 NetBIOS 紧密相关,主要用于 NetBIOS 名称解析(将计算机名转换为 IP 地址)。WINS 是一个动态数据库,类似于 DNS,但专门用于 NetBIOS 名称解析,适用于早期 Windows 网络(如 Windows NT/2000/XP)。 1. 查看 N…

vue2 + SimpleMindMap 制作思维导图

vue2 SimpleMindMap 制作思维导图 该代码包含SimpleMindMap已知的所有功能&#xff0c;有需要的小伙伴可自行copy&#xff0c;框架使用el-ementui。其中有些图标是阿里巴巴矢量图的图片&#xff0c;可自行进行替换。保姆级教程 以下是vue文件&#xff1a; <template><…

Discord x Pulsar: 使用 Pulsar、Flink 和 Iceberg 搭建流式机器学习平台

本文整理自 Discord 机器学习工程师 David Christle 在 Pulsar Summit NA 上的演讲内容&#xff0c;一起来看 Discord 是如何基于 Pulsar 实现兼顾安全和个性化功能的实时流式机器学习平台的&#xff5e;1. 背景Discord 是一个实时⾳视频通信平台&#xff0c;⽀持⽂本/语⾳/视频…

【数据结构入门】二叉树(2)

目录 1.二叉树遍历顺序 1.1 前序&#xff08;先根&#xff09;遍历 1.2 中序&#xff08;中根&#xff09;遍历 1.3 后序&#xff08;后根&#xff09;遍历 1.4 层序遍历 1.5 深度优先遍历&广度优先遍历 2.二叉树的遍历 2.1 前根遍历&#xff08;递归&#xff09; …

【电机参数】电压、电流、转速标幺化推算过程

【电机参数】电压、电流、转速标幺化推算过程 文章目录[TOC](文章目录)前言一、标幺化目的——优化计算二、Q15与标幺化的关系三、标幺值计算1.电压标幺值2.电流标幺值3.转速标幺值四、参考资料总结前言 一、标幺化目的——优化计算 不同物理量的量纲和数值范围差异巨大&#…

v-scale-scree: 根据屏幕尺寸缩放内容

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

linux设备驱动之字符设备驱动

一、cdev结构体‌成员/功能‌‌说明‌‌相关操作函数/宏‌‌kobj‌内嵌的kobject对象&#xff0c;用于Linux设备模型管理&#xff0c;实现引用计数和sysfs接口kobject_init()‌owner‌指向拥有该结构体的模块指针&#xff08;通常为THIS_MODULE&#xff09;&#xff0c;防止模块…

★CentOS:MySQL数据备份

一、cp 命令备份特点&#xff1a;优点&#xff1a;备份恢复数据快&#xff1a;直接复制文件&#xff0c;无需进行数据转换和复杂的处理&#xff0c;因此备份恢复速度非常快缺点&#xff1a;需要停止数据库服务&#xff0c;灵活性差&#xff0c;占用空间大&#xff0c;可移植性差…

Python代码规范与静态检查(ruff/black/mypy + pyproject.toml + Makefile)自动化工具链介绍

文章目录**1. 核心工具的作用****(1) black&#xff1a;代码格式化工具****(2) ruff&#xff1a;代码质量检查工具****(3) mypy&#xff1a;静态类型检查工具****2. pyproject.toml&#xff1a;统一配置中心****示例配置**&#xff08;pyproject.toml&#xff09;&#xff1a;*…

软件需求管理过程详解

需求管理过程需求管理是软件工程和系统开发中的核心过程&#xff0c;它确保项目始终围绕正确、稳定且可追溯的需求进行。在复杂系统开发中&#xff0c;需求往往动态变化&#xff0c;需求管理通过系统化的方法控制变更、维护版本、建立追溯关系&#xff0c;从而降低项目风险、保…

MySQL性能优化实战指南:从入门到精通的完整优化体系

MySQL性能优化实战指南&#xff1a;从入门到精通的完整优化体系&#x1f680; 前言&#xff1a;在当今数据驱动的时代&#xff0c;MySQL作为世界上最流行的开源关系型数据库&#xff0c;其性能优化能力直接决定了应用系统的响应速度和用户体验。本文将从多个维度深入探讨MySQL优…

KingbaseES主备读写分离集群安装教程

首先我们先要找数据库集群安装软件和脚本。这里我事先安装一台单机。 [rootlocalhost zip]# mkdir -p /home/kingbase/software [rootlocalhost zip]# scp -r * /home/kingbase/software/ #安装软件和脚本在单机版本的/opt/Kingbase/ES/V9/ClientTools/guitools/DeployTools/z…

electron程序适配loongArch64

一、原始项目 1.原始程序适配arm&#xff0c;x86国产linux设备;新增需求适配loongArch64麒麟v10sp1。 2.原始devDependencies "devDependencies": {"electron": "^17.2.0","electron-builder": "^23.0.3",}二、可能遇到的问…

窗口系统(windowing system)的架构思考

我想做一个通用窗口系统&#xff0c;窗口、控件等&#xff0c;一切都抽象成树形结构的层叠矩形块&#xff0c;可支持半透明、模糊等混合选项&#xff0c;那么每个窗口是不是需要一块存储区&#xff1f;我之前的代码为了计算模糊&#xff0c;还不止一块&#xff0c;要三块。那么…

极简工具箱:安卓工具箱合集

软件介绍 极简工具箱是一个安卓工具箱合集软件&#xff1b;软件支持安卓。 它支持将近 400 个实用功能&#xff0c;支持将近 40 款单机游戏&#xff0c;提供 140 多个实用网站导航&#xff0c;包括电子书导航、学习导航、设计导航、产品经理导航、大数据导航、文档格式转换、…

TOGAF八步一法笔记2

业务需求和验收标准一旦方向确定&#xff0c;接下来的关键就是&#xff1a;创建业务需求、明确验收标准当“预备阶段”完成&#xff0c;能力愿景和范围被管理层确认后&#xff0c;我们正式进入能力建设的“实施轨道”。而这个轨道的起点&#xff0c;是两个核心动作&#xff1a;…

各种读取csv文件的工具性能比较

在翻阅calamine作者的quick-csv存储库时无意中看到有个10年前的csv读取比赛, 把比赛选手源程序下载下来测试看到底有多快。 git clone https://bitbucket.org/ewanhiggs/csv-game.git这些源程序只有比赛程序本身&#xff0c;依赖的文件有的在主页&#xff0c;有的在makefile中…

HTML <iframe> 标签 如何把html写入iframe标签

标签 如何把html写入iframe标签 使用srcdoc属性 HTML iframe 标签 参考 定义和用法 <iframe> 标签定义行内框架&#xff08;内联框架&#xff09;。 行内框架用于在当前 HTML 文档中嵌入另一个文档。

Java Spark例子程序

目录spark基础&rdddocsRDDspark架构Spark 对比 hadoop MapReducespark maven依赖Spark的checkpointtransformations、shuffle、actionsreduceByKey的用法groupByKey的用法count / count distinct例子&#xff1a;单词计数例子&#xff1a;一批人员年龄数据求平均(rdd)例子&…

《代码重生:杨蓉与62.webp》

《代码重生&#xff1a;杨蓉与62.webp》2045年&#xff0c;星耀城。雨丝斜织在量子玻璃幕墙上&#xff0c;霓虹倒影如液态代码流淌。杨蓉坐在“时光回溯实验室”的终端前&#xff0c;面前悬浮着一行行泛黄的日志——那是从2018年GitHub快照中提取的原始构建记录。她指尖轻点&am…