Steiner tree problem (STP) in graphs aims to find a tree of minimum weight in the graph that connects a given set of vertices. It is a classic NP-hard combinatorial optimization problem and has many applications in real world. Many approximate algorithms have been developed for STP, but they suffer from high computational complexity and weak worst-case solution guarantees, respectively. Heuristic algorithms are also developed. But each of them requires application domain knowledge to design and is only suitable for specific scenarios. In this paper, we design a novel framework Cherrypick based on novel graph embedding and deep reinforcement learning to tackle the STP. Given an STP instance, Cherrypick uses this embedding to encode its path-related information and sends the encoded graph to a deep reinforcement learning component based on deep Q network (DQN) to find solutions. We implement the Cherrypick and demonstrate its efficacy and efficiency with extensive experiments using real-world and synthetic datasets.
Cherrypick: Solving the Steiner Tree Problem in Graphs using Deep Reinforcement Learning. Zong Yan, Haizhou Du, Jiahao Zhang, Guoqing Li.