Rectilinear Steiner Tree Construction Using Answer Set Programming

  • Esra Erdem
  • Martin D. F. Wong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3132)


We introduce a new method for Rectilinear Steiner Tree (RST) construction in a graph, using answer set programming. This method provides a formal representation of the problem as a logic program whose answer sets correspond to solutions. The answer sets for a logic program can be computed by special systems called answer set solvers. We describe the method for RST construction in the context of VLSI routing where multiple pins in a given placement of a chip are connected by an RST. Our method is different from the existing methods mainly in three ways. First, it always correctly determines whether a given RST routing problem is solvable, and it always produces a solution if one exists. Second, some enhancements of the basic problem, in which lengths of wires connecting the source pin to sink pins are restricted, can be easily represented by adding some rules. Our method guarantees to find a tree if one exists, even when the total wire length is not minimum. Third, routing problems with the presence of obstacles can be solved. With this approach, we have computed solutions to some RST routing problems using the answer set solver CMODELS.


Logic Program Steiner Tree Steiner Tree Problem Unit Segment Vertical Line Segment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM Journal on Applied Mathematics 14, 255–265 (1966)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Garey, M.R., Johnson, D.S.: The rectilinear Steiner tree problem is NP complete. SIAM Journal of Applied Mathematics 32, 826–834 (1977)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Marek, V., Truszczyński, M.: Stable models and an alternative logic programming paradigm. In: The Logic Programming Paradigm: a 25-Year Perspective, pp. 375–398 (1999)Google Scholar
  4. 4.
    Simons, P., Niemelä, I., Soininen, T.: Extending and implementing the stable model semantics. Artificial Intelligence 138, 181–234 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Lifschitz, V.: Answer set programming and plan generation. Artificial Intelligence 138, 39–54 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: Logic Programming: Proc. of the Fifth Int’l Conference and Symposium, pp. 1070–1080 (1988)Google Scholar
  7. 7.
    Gelfond, M., Lifschitz, V.: Classical negation in logic programs and disjunctive databases. New Generation Computing 9, 365–385 (1991)CrossRefGoogle Scholar
  8. 8.
    Hanan, M.: Net wiring for large scale integrated circuits. Tech. report, IBM (1965)Google Scholar
  9. 9.
    Lengauer, T.: Combinatorial Algorithms for Integrated Circuit Design (1990)Google Scholar
  10. 10.
    Nielsen, B.K., Winter, P., Zachariasen, M.: An exact algorithm for the uniformlyoriented steiner tree problem. In: Proc. of ESA, vol. 10, pp. 760–771 (2002)Google Scholar
  11. 11.
    Zhou, H.: Efficient steiner tree construction based on spanning graphs. In: ACM Int’l Symposium on Physical Design (2003)Google Scholar
  12. 12.
    Warme, D.M.: A new exact algorithm for rectilinear steiner trees. In: The Int’l Symposium on Mathematical Programming (1997)Google Scholar
  13. 13.
    Zachariasen, M.: Rectilinear full steiner tree generation. Networks 33, 125–143 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Ganley, J.L., Cohoon, J.P.: Routing a multi-terminal critical net: Steiner tree construction in the presence of obstacles. In: Proc. of the Int’l Symposium on Circuits and Systems, pp. 113–116 (1994)Google Scholar
  15. 15.
    McCarthy, J.: Elaboration tolerance (1999) (in progress)Google Scholar
  16. 16.
    Erdem, E., Lifschitz, V.: Tight logic programs. Theory and Practice of Logic Programming 3, 499–518 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Lloyd, J.: Foundations of Logic Programming (1984)Google Scholar
  18. 18.
    Lierler, Y., Maratea, M.: Cmodels-2: SAT-based answer sets solver enhanced to non-tight programs. In: Lifschitz, V., Niemelä, I. (eds.) LPNMR 2004. LNCS (LNAI), vol. 2923, pp. 346–350. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Erdem, E., Lifschitz, V., Wong, M.: Wire routing and satisfiability planning. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 822–836. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Erdem, E.: Theory and Applications of Answer Set Programming. PhD thesis, University of Texas at Austin, Department of Computer Sciences (2002)Google Scholar
  21. 21.
    East, D., Truszczyński, M.: More on wire routing with ASP. In: Working Notes of the AAAI Spring Symposium on Answer Set Programming (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Esra Erdem
    • 1
  • Martin D. F. Wong
    • 2
  1. 1.Institut für Informationssysteme 184/3Technische Universität WienWienAustria
  2. 2.Department of Electrical and Computer EngineeringUniversity of Illinois at Urbana-ChampaignUrbanaUSA

Personalised recommendations