这里写目录标题
- 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)。
具体来说,其“超启发式”特性体现在以下几个层面:
-
核心思想:生成启发式,而非直接搜索解空间:
- 传统的元启发式算法(如遗传算法GA、粒子群算法PSO)直接在问题的解空间(即所有可能的项目调度方案)中进行搜索和优化。
- 而HH-SGP的搜索空间是启发式规则的空间。它使用遗传编程(Genetic Programming, GP)作为一种“超启发式”方法,其搜索和进化的对象是优先级规则(PR)的表达式(以树形结构表示)。它自动地“设计”或“发现”新的、高性能的调度规则。
-
高层级与低层级的分离:
- 高层级(Hyper-Level):HH-SGP框架本身。它负责管理遗传编程的进化过程,包括种群初始化、选择、交叉、变异、适应度评估以及使用代理模型和弱精英机制等。
- 低层级(Low-Level):被高层级生成和评估的优先级规则(PR)。这些规则是具体的、可执行的调度启发式。当HH-SGP进化出一个规则后,这个规则会被应用到一个调度生成方案(Schedule Generation Scheme, SGS)——即文中改进的“资源基础策略”(Improved RB Policy)——来实际构建一个完整的项目调度方案,并计算其性能(如项目工期)。
-
自动化的规则设计,避免人为干预:
- 传统的优先级规则(如最短作业时间SPT、最长作业时间LPT)是由领域专家根据经验手动设计的。
- HH-SGP则通过遗传编程的进化过程,自动组合和演化出新的规则。如文中所述,它最终可能生成像
max(LS + (EF - LF))
这样的复杂表达式。这个过程是数据驱动和自动化的,大大减少了对人类专家知识的依赖,这也是“超启发式”追求的目标之一。
-
与已有研究的对比:
- 文中明确提到了Chen et al. (2021) 提出的“基于集成遗传编程的超启发式”(HH-EGP)方法,并将HH-SGP与其进行比较。这表明作者将基于遗传编程来自动生成调度规则的方法归类为“超启发式”范式。
- 文中还指出,与缺乏直观性的元启发式算法相比,基于优先级规则的启发式算法更易于被项目实践者理解和采纳。HH-SGP正是结合了两者的优势:用智能的元启发式方法(GP)来自动产生直观且高效的低层级启发式规则。
总结来说,本文的“超启发式”体现在其架构和功能上:HH-SGP是一个“启发式生成器”。它将遗传编程作为核心引擎,通过进化树形结构的数学表达式,来自动发现能够有效解决三维空间资源约束项目调度问题(3D-sRCPSPSAD)的最优优先级规则。它站在比传统启发式和元启发式更高的“元”层次上,解决了“如何设计好的启发式规则”这一更根本的问题。
在你上传的这篇文章里,Hyper-heuristic 算法的应用和 **遗传编程(Genetic Programming, GP)**关系密切,可以总结如下:
GPHH示例
-
Hyper-heuristic 的应用方式
-
文章提出的是 GP-HH-WOA 框架,即 基于遗传编程的 Hyper-heuristic 与鲸鱼优化算法(WOA)结合 的方法。
-
其目标是解决 动态资源约束项目调度问题(DRCPSP),这种问题需要在不确定的环境中动态调整调度策略。
-
Hyper-heuristic 的作用是:
- 上层:通过遗传编程(GP)自动生成和演化“调度规则”或“启发式组合”。
- 下层:这些规则会被应用于项目调度问题实例,用来选择任务的执行顺序和资源分配方案。
- 反馈循环:调度结果的表现(如工期、资源使用情况)作为适应度反馈给 GP,推动规则的演化。
-
-
Hyper-heuristic与遗传编程的关系
-
**遗传编程(GP)**是实现 Hyper-heuristic 的核心机制。
- GP 用语法树来表示候选的调度规则(heuristic)。
- 通过遗传操作(选择、交叉、变异)不断改进这些规则。
-
因此:
- Hyper-heuristic 是一个 框架,目标是“搜索启发式的空间”;
- GP 是 具体的搜索方法,用于实现对启发式规则的自动生成和优化。
-
Hyper-heuristic = 用来演化/选择启发式的框架;
-
GP = 在这个框架里负责产生和进化启发式规则的工具;
-
两者关系:GP 是 Hyper-heuristic 的实现手段之一。
-