The Quadratic Assignment Problem (QAP) is an important combinatorial optimization problem with applications in many areas including logistics and manufacturing. QAP is known to be NP-hard, a computationally challenging problem, which requires the use of sophisticated heuristics in finding acceptable solutions for most real-world data sets. In this paper, we present GPU-accelerated implementations of a 2opt and a tabu search algorithm for solving the QAP. For both algorithms, we extract parallelism at multiple levels and implement novel code optimization techniques that fully utilize the GPU hardware. On a series of experiments on the well-known QAPLIB data sets, our solutions, on average run an order-of-magnitude faster than previous implementations and deliver up to a factor of 63 speedup on specific instances. The quality of the solutions produced by our implementations of 2opt and tabu is within 1.03% and 0.15% of the best known values. The experimental results also provide key insight into the performance characteristics of accelerated QAP solvers. In particular, the results reveal that both algorithmic choice and the shape of the input data sets are key factors in finding efficient implementations.
翻译:二次分配问题(QAP)是一类重要的组合优化问题,在物流、制造等多个领域具有广泛应用。QAP被证明是NP难问题,计算复杂度极高,需借助先进启发式算法为大多数实际数据集寻找可接受解。本文提出了基于GPU加速的2-opt算法和禁忌搜索算法实现方案来求解QAP。针对这两种算法,我们通过多层次并行提取技术,并应用新型代码优化方法充分利用GPU硬件性能。在经典QAPLIB基准数据集上的系列实验表明,我们的求解方案相比现有实现平均运行速度提升一个数量级,特定实例的加速比可达63倍。所实现的2-opt和禁忌搜索算法解的质量分别达到最优已知值的1.03%和0.15%以内。实验结果还揭示了加速QAP求解器的性能特征关键洞见,特别表明算法选择与输入数据集形态是影响高效实现的核心因素。