Exact algorithms for the Steiner tree problem.
PhD thesis, University of Twente.
CTIT Ph.D.-thesis series No. 08-116
Full text available as:
Official URL: http://dx.doi.org/10.3990/1.9789036526609
The Steiner tree problem is one of the original 21 NP complete problems, which has wide application in theorey and industry. There are no polynomial time algorithms for it, and exact (acceptable exponential time) algorithms are the best we can obtain for pursuing the exact solution for the all these problems. The main issue in exact algorithms is to improve the worst case bounds, which is very interesting from both theoretical and practical point of view.
In this thesis, I have presented some of our contributions on this problem.
In the first chapter, we have introduced some backgrounds of the Steiner tree problem. For easy understanding, we have explained some facts about complexity theory, especially the definition of NP has been introduced. Some recent results about algorithms for the Steiner tree problem are also summarized.
In Chapter 2, some properties about rectilinear Steiner trees have been presented, since the second part of our main contribution concerned with this problem. Every rectilinear Steiner tree problem admits an optimal tree which is composed of tree stars. Moreover, the currently fastest algorithms for the rectilinear Steiner tree problem proceed by composing an optimum tree from tree star components in the cheapest way. The efficiency of such algorithms depends heavily on the number of tree stars (candidate components). Several empty region conditions are introduced for tree stars. In addition, the well know two-phase algorithm is explained for the rectilinear Steiner tree problem.
First part of our work is two novel exact algorithms for the Steiner tree problem, which we present in Chapter 3. The well known algorithm for the Steiner tree problem is a dynamic programming algorithm, which was found by Dreyfus and Wagner. The complexity of this algorithm is where is the number of terminal points. In this chapter, we first present a new algorithm in time by showing that the optimum Steiner tree T can be partitioned into and each is a minimum Steiner tree in a contracted graph with less than terminals. In the rectilinear case, there exists a variant of the dynamic programming method that runs in In this case, our splitting technique yields an improvement to with Another algorithm is in time of for any Since the optimal tree can be separated into (many) components of size at most the optimal tree for all the small components will be generated first in our algorithm. Thus, the optimal tree is achieved by adding such components (in some order), one at a time, until the constructed tree span all terminals.
The other part of our contribution is about the number of tree star. Fössmeier and Kaufmann showed that any problem instance with terminals had a number of tree stars in between and in the worst case. A new forbidden case for tree star is achieved by us, which is followed by an exact bound of the tree star where Two new forbidden cases are derived later for the candidate components. According to these forbidden cases, the upper bound is obtained for the number of candidate components. Finally, a necessary condition, so called “two layer condition? is presented for the tree star to be candidate component. Moreover, an optimal topological structure for the optimal tree in the “decreasing case? is achieved from the “two layer condition?.
|Item Type:||PhD Thesis|
|Assistant Supervisors:||Kern, W.|
|Research Group:||EWI-DMMP: Discrete Mathematics and Mathematical Programming|
|Research Program:||CTIT-ASSIST: Applied Science of Services for Information Society Technologies, CTIT-WiSe: Wireless and Sensor Systems, CTIT-IE&ICT: Industrial Engineering and ICT|
|Research Project:||Exact Algorithms|
|Deposited On:||15 October 2008|
Export this item as:
To correct this item please ask your editor
Repository Staff Only: edit this item