Solving the Steiner Tree Problem with few Terminals

11/09/2020
by   Johannes K. Fichte, et al.
0

The Steiner tree problem is a well-known problem in network design, routing, and VLSI design. Given a graph, edge costs, and a set of dedicated vertices (terminals), the Steiner tree problem asks to output a sub-graph that connects all terminals at minimum cost. A state-of-the-art algorithm to solve the Steiner tree problem by means of dynamic programming is the Dijkstra-Steiner algorithm. The algorithm builds a Steiner tree of the entire instance by systematically searching for smaller instances, based on subsets of the terminals, and combining Steiner trees for these smaller instances. The search heavily relies on a guiding heuristic function in order to prune the search space. However, to ensure correctness, this algorithm allows only for limited heuristic functions, namely, those that satisfy a so-called consistency condition. In this paper, we enhance the Dijkstra-Steiner algorithm and establish a revisited algorithm, called DS*. The DS* algorithm allows for arbitrary lower bounds as heuristics relaxing the previous condition on the heuristic function. Notably, we can now use linear programming based lower bounds. Further, we capture new requirements for a heuristic function in a condition, which we call admissibility. We show that admissibility is indeed weaker than consistency and establish correctness of the DS* algorithm when using an admissible heuristic function. We implement DS* and combine it with modern preprocessing, resulting in an open-source solver (DS* Solve). Finally, we compare its performance on standard benchmarks and observe a competitive behavior.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2023

New Dynamic Programming Algorithm for the Multiobjective Minimum Spanning Tree Problem

The Multiobjective Minimum Spanning Tree (MO-MST) problem is a variant o...
research
11/18/2019

Top-down induction of decision trees: rigorous guarantees and inherent limitations

Consider the following heuristic for building a decision tree for a func...
research
02/16/2019

PT-ISABB: A Hybrid Tree-based Complete Algorithm to Solve Asymmetric Distributed Constraint Optimization Problems

Asymmetric Distributed Constraint Optimization Problems (ADCOPs) have em...
research
02/15/2022

Heuristic computation of exact treewidth

We are interested in computing the treewidth (G) of a given graph G. Our...
research
11/28/2019

HS-CAI: A Hybrid DCOP Algorithm via Combining Search with Context-based Inference

Search and inference are two main strategies for optimally solving Distr...
research
12/31/2015

An (MI)LP-based Primal Heuristic for 3-Architecture Connected Facility Location in Urban Access Network Design

We investigate the 3-architecture Connected Facility Location Problem ar...
research
12/11/2019

UCT-ADP Progressive Bias Algorithm for Solving Gomoku

We combine Adaptive Dynamic Programming (ADP), a reinforcement learning ...

Please sign up or login with your details

Forgot password? Click here to reset