Learning to Prune Instances of Steiner Tree Problem in Graphs
Jiwei Zhang, Deepak Ajwani
TL;DR
The paper tackles the NP-hard Steiner tree problem by applying a learning-to-prune framework to aggressively prune the search space before solving an ILP. It uses a directed multicommodity flow ILP formulation, a rich set of features (LP-relaxation values, weight statistics, and centrality measures), and classification models (notably SVM) to identify edges unlikely to be in the optimal tree. By solving the ILP on the pruned graph and ensuring feasibility via LP-based restoration, the approach achieves near-optimal solutions with substantial runtime reductions (up to ~99% in reported cases) compared to solving the full ILP with Gurobi. The work demonstrates that combining multiple discriminative signals within learning-to-prune yields robust performance and highlights the framework’s potential for a range of combinatorial optimisation problems.
Abstract
We consider the Steiner tree problem on graphs where we are given a set of nodes and the goal is to find a tree sub-graph of minimum weight that contains all nodes in the given set, potentially including additional nodes. This is a classical NP-hard combinatorial optimisation problem. In recent years, a machine learning framework called learning-to-prune has been successfully used for solving a diverse range of combinatorial optimisation problems. In this paper, we use this learning framework on the Steiner tree problem and show that even on this problem, the learning-to-prune framework results in computing near-optimal solutions at a fraction of the time required by commercial ILP solvers. Our results underscore the potential of the learning-to-prune framework in solving various combinatorial optimisation problems.
