A branch-and-price algorithm for the Steiner tree packing problem
This paper deals with the Steiner tree packing problem. For a given undirected graph G=(V,E) with positive integer capacities and non-negative weights on its edges, and a list of node sets (nets), the problem is to find a connection of nets which satisfies the edge capacity limits and minimizes the total weights. We focus on the switchbox routing problem in knock-knee model and formulate this problem as an integer programming using Steiner tree variables. We develop a branch-and-price algorithm. The algorithm is applied on some standard test instances and we compare the performances with the results using cutting-plane approach. Computational results show that our algorithm is competitive to the cutting plane algorithm presented by Grtschel et al. and can be used to solve practically sized problems. VLSI circuits becomes more complex with the need of miniaturization and sophisticated functions of electronic device. That makes designing a VLSI more difficult. Due to these difficulties, it is common way to decompose it into several sub-problems. One of the sub-problems is the detailed routing problem, where exact path of wires is determined while minimizing some objective (for examples, total wire length) under some design rules. Among many kinds of detailed routing problem, we focus on the switchbox routing problem in knock-knee routing model. For this problem, we developed an integer programming model and solved it successfully for some test problems.
branch-and-price steiner tree packing problem (stp) vlsi design column generation