中文

实现基于 GPU 的并行 MAX-MIN 蚁群系统

神经与进化计算 2020-03-27 v1 分布式、并行与集群计算

摘要

MAX-MIN 蚁群系统(MMAS)是最著名的蚁群优化(ACO)算法之一,已被证明能高效地为许多困难的组合优化问题找到满意解。摩尔定律的放缓,以及能够进行高速通用计算的图形处理单元(GPU)的可用性,引发了大量关于开发基于 GPU 的 ACO 实现的研究工作。在本文中,我们讨论了一系列用于改进基于 GPU 的并行 MMAS 实现的新思路,使其能更好地利用两代后续 Nvidia GPU 架构所提供的计算能力。具体而言,基于加权蓄水池采样算法,我们提出了 MMAS 及其他 ACO 算法核心的节点选择过程的一种新型并行实现。我们还提出了另一个关键组件——禁忌表结构——的一种内存高效实现,该结构用于 ACO 的解构造阶段。所提出的实现与现有方法相结合,产生了共计六种 MMAS 变体,并在一组包含 198 到 3,795 个城市的旅行商问题(TSP)实例上进行了评估。结果表明,我们的 MMAS 实现与最先进的基于 GPU 和基于多核 CPU 的并行 ACO 实现具有竞争力:事实上,在 Nvidia V100 Volta GPU 上获得的时间分别减少了至多 7.18 倍和 21.79 倍。所提出的 MMAS 变体中最快的一个在求解 1,002 个城市实例时每秒能生成超过 100 万候选解。此外,我们表明,与 2-opt 局部搜索启发式结合后,所提出的并行 MMAS 能为多达 18,512 个节点的 TSP 实例找到高质量解。

关键词

引用

@article{arxiv.2003.11902,
  title  = {Implementing a GPU-based parallel MAX-MIN Ant System},
  author = {Rafał Skinderowicz},
  journal= {arXiv preprint arXiv:2003.11902},
  year   = {2020}
}