Machine learning (ML) approaches are increasingly being used to accelerate combinatorial optimization (CO) problems. We investigate the Set Cover Problem (SCP) and propose Graph-SCP, a graph neural network method that augments existing optimization solvers by learning to identify a smaller sub-problem that contains the solution space. Graph-SCP uses both supervised learning from prior solved instances and unsupervised learning to minimize the SCP objective. We evaluate the performance of Graph-SCP on synthetically weighted and unweighted SCP instances with diverse problem characteristics and complexities, and on instances from the OR Library, a canonical benchmark for SCP. We show that Graph-SCP reduces the problem size by 60-80% and achieves runtime speedups of up to 10x on average when compared to Gurobi (a state-of-the-art commercial solver), while maintaining solution quality. This is in contrast to fast greedy solutions that significantly compromise solution quality to achieve guaranteed polynomial runtime. We showcase Graph-SCP's ability to generalize to larger problem sizes, training on SCP instances with up to 3,000 subsets and testing on SCP instances with up to 10,000 subsets.
翻译:机器学习方法正日益广泛地应用于加速组合优化问题。本研究聚焦集合覆盖问题,提出Graph-SCP——一种通过图神经网络学习识别包含解空间的更小子问题来增强现有优化求解器的方法。Graph-SCP同时采用基于历史求解实例的监督学习与面向最小化SCP目标的无监督学习。我们在具有不同问题特性与复杂度的合成加权/非加权SCP实例,以及SCP经典基准测试库OR Library的实例上评估Graph-SCP的性能。实验表明:相较于Gurobi(当前最先进的商业求解器),Graph-SCP能在保持解质量的同时将问题规模缩减60-80%,并实现平均高达10倍的运行加速。这与为保障多项式时间复杂度而显著牺牲解质量的快速贪婪解法形成鲜明对比。我们进一步展示了Graph-SCP的泛化能力:在包含最多3,000个子集的SCP实例上训练后,可有效推广至包含最多10,000个子集的更大规模问题实例。