Answers:
TL:DR:超启发式方法是一种元启发式方法,适合解决相同类型的优化问题,但是(原则上)为非专业从业人员提供了“快速原型开发”方法。在实践中,流行的方法存在一些问题,这激发了人们对“白盒”超启发式方法的新见解。
更详细地:
元启发法是用于搜索可能的解决方案的巨大空间以便找到“高质量”解决方案的方法。流行的元启发法包括模拟退火,禁忌搜索,遗传算法等。
元启发式方法和超启发式方法之间的本质区别是增加了搜索间接级别:非正式地,超启发式方法可以描述为“用于探索启发式方法空间的启发式方法”。因此,只要适当定义要搜索的“启发式空间”的性质,就可以将任何元启发式方法用作超启发式方法。
因此,超启发式方法的应用领域与元启发式方法相同。他们的适用性(相对于元启发式方法)是一种“快速的原型制作工具”:最初的动机是允许非专家从业人员将元启发式方法应用于其特定的优化问题(例如,“旅行推销员(TSP),时间窗,bin-包装”),而无需高度特定问题领域的专业知识。这个想法是可以通过以下方式完成的:
超试探法可被描述为“选择性”或“生成式”,具体取决于试探法是(分别)排序还是组合。因此,生成式超启发式方法通常使用诸如遗传编程的方法来组合原始式启发式方法,因此通常由从业者定制以解决特定问题。例如,有关生成式超启发式算法的原始论文使用学习分类器系统将启发式算法组合在一起进行装箱。由于生成方法是针对特定问题的,因此以下注释不适用于它们。
相比之下,选择性超启发式算法的最初动机是,研究人员将能够创建超启发式求解器,然后仅使用简单的随机启发式方法就可以在看不见的问题域中很好地工作。
传统上实现此目标的方式是通过引入“超启发式域障碍”(请参见下图),据称可以通过防止求解器了解其所在领域来实现跨问题领域的通用性。它正在运行。取而代之的是,它将通过仅对不透明的整数索引进行运算以解决可用启发式方法列表中的问题(例如,以“多臂强盗问题”的方式)。
在实践中,这种“领域盲”方法并未产生足够质量的解决方案。为了在任何地方都可以获得与特定问题的元启发式方法相当的结果,超启发式研究人员不得不实施复杂的特定于问题的启发式方法,从而无法实现快速原型设计的目标。
原则上仍然有可能创建一个选择性的超启发式求解器,该求解器能够推广到新的问题域,但是由于上面的域障碍概念意味着只有非常有限的特征集可用于交叉,因此这变得更加困难。域学习(例如,以流行的选择性超启发式框架为例)。
对“白盒”超启发式方法的最新研究观点主张采用声明式,功能丰富的方法来描述问题领域。这种方法具有许多优势:
免责声明:我在这个研究领域工作,因此不可能消除答案中的所有个人偏见。