Abstract
Global routing in VLSI (very large scale integration) design is one of the most challenging discrete optimization problems in computational theory and practice. In this paper, we present a polynomial time algorithm for the global routing problem based on an integer programming formulation. The algorithm features a theoretical approximation bound while ensuring all the routing demands are concurrently satisfied. We provide both a serial and a parallel implementation as well as develop several heuristics to improve the quality of the solution and reduce running time. Our computational results on a well-known benchmark set show that, combined with certain heuristics, our new algorithms perform extremely well compared with other integer programming approaches. 1