Title | DeepACO: Neural-enhanced Ant Systems for Combinatorial Optimization |
---|---|
Author | Haoran Ye, Jiarui Wang, Zhiguang Cao, Helan Liang1, Yong Li |
Affiliations | Soochow University, Singapore Management University, Tsinghua University |
Emails | zgcao@smu.edu.sg |
Paper | https://arxiv.org/pdf/2309.14032.pdf |
摘要
蚁群优化(ACO)是一种元启发式算法,已成功地应用于各种组合优化问题(COPs)。传统上,针对特定问题定制ACO需要专家设计。在本文中,我们提出了DeepACO,一个利用深度强化学习来自动化启发式设计的通用框架。DeepACO有助于加强现有ACO算法的启发式度量,并在未来的ACO应用中无需费力的手工设计。作为一种神经增强元启发式算法,使用单一神经模型和一组超参数的DeepACO在8个COPs上始终优于ACO。作为一种神经组合优化方法,DeepACO在规范路由问题上的表现优于或相当于先进的基线方法。
引言
受自然界蚂蚁系统的启发,研究人员提出并开发了求解(但不限于)组合优化问题(COPs)的蚁群优化(ACO)元启发式。ACO维护了一群人工蚂蚁,通过重复的解构造和信息素更新来探索解空间。通过特定实例的信息素跟踪和特定问题的启发式措施,探索倾向于更有前途的领域。信息素轨迹和启发式度量都表明了解组件的前途。通常,信息素路径对所有解组件进行统一初始化,并在求解一个实例时进行学习。相反,启发式度量是基于问题的先验知识来预定义的,并且为复杂的COPs设计适当的启发式度量是相当具有挑战性的。在过去的几十年里,研究和实践的努力一直致力于一个精心设计的启发式措施,以追求知识驱动的性能增强。然而,这种算法定制程序存在一定的缺陷:1)它需要额外的努力,使ACO的灵活性降低;2)启发式度量的有效性在很大程度上依赖于专家知识和手动调整;3)为较少研究的问题设计一个启发式度量是特别艰巨的。
本文提出了一种通用的神经增强ACO元启发式算法DeepACO,并提出了一种解决方案。DeepACO有助于加强现有ACO算法的启发式度量,并在未来的ACO应用中无需费力的手工设计。它主要包括两个学习阶段。第一阶段通过训练跨COP实例的神经模型来学习从一个实例到其启发式度量的特定问题的映射。在学习措施的指导下,第二阶段在解决ACO实例时学习特定实例的信息素轨迹。通过将解结构偏置并引导局部搜索(LS)以逃避局部最优,在第一阶段学习的启发式度量被纳入ACO(第二个学习阶段)。
创新
1)我们提出了DeepACO,一个神经增强的ACO元启发式算法。它加强了现有的ACO算法,并在未来的ACO应用中免除了费力的手工设计。2)我们提出了DeepACO的三种扩展实现来平衡勘探和开发,这可以普遍应用于基于热图的神经组合优化方法。3)我们验证了DeepACO在8个COPs中始终优于ACO,并且优于特定问题的组合优化方法。
方法:DeepACO
图1:ACO和DeepACO的结构示意图。DeepACO 1)在不同实例中额外训练启发式学习器,2)应用训练良好的启发式学习器在推理过程中生成启发式度量,3)可选地利用学习到的启发式度量进行与神经引导扰动交错的局部搜索。
这篇文章的方法是比较简明的,感兴趣的朋友可以直接看原文。
实验
我们对8个具有代表性的COPs进行了评估,包括售货员问题(TSP)、有能力车辆路线问题(CVRP)、定向问题(OP)、奖品售货员问题(PCTSP)、顺序排序问题(SOP)、单机总加权疲劳问题(SMTWTP)、资源约束项目调度问题(RCPSP)和多重背包问题(MKP)。它们包括路由、分配、调度和子集COP类型。我们基于三种基本的ACO元启发式实现了DeepACO:蚂蚁系统(AS)、精英蚂蚁系统(Elitist)和MAX-MIN蚂蚁系统。
图2:基本的DeepACO和ACO算法在8种不同的COPs上的演化曲线。对于每个COP,我们绘制了迄今为止最好的目标值(平均超过100个保留的测试实例和3次运行)w.r.t.沿着ACO迭代所使用的评估数量。
图3:基于自适应精英-蚂蚁系统(AEAS)的DeepACO和ACO的演化曲线
结果来看,相比传统ACO,效果提升还是非常显著的。和神经组合优化基线相比,提升效果就没有那么夸张了。
总结
在这项工作中,我们提出了DeepACO来为ACO算法提供通用的神经增强,并为未来的ACO应用提供自动化的启发式设计。我们展示了DeepACO的表现始终优于ACO,并与专门的神经组合优化方法相媲美。对于运筹学(OR)社区,DeepACO展示了一个很有前途的途径,可以利用深度强化学习来实现算法增强和设计自动化。对于机器学习(ML)社区,DeepACO提供了一个通用且适应性强的神经组合优化框架,它可以无缝地与SOTA ACO技术集成,包括解构建和信息素更新的改进规则,算法杂交,以及合并复杂的局部搜索操作符。然而,DeepACO通过压缩所有学习到的启发式信息到一个n×n的启发式测度的矩阵,可能会受到限制。由于这种表达问题模式的有限方式和COPs的复杂性,DeepACO在不合并LS组件时可能无法产生或接近最优解。
最后说两句,演化算法自动化设计这两年的文章如雨后春笋一般冒出来,这为算法设计也带来了新的机遇,以往演化算法被诟病的问题未来也有可能被逐渐克服掉。