Graph Drawing Algorithm Engineering with AGD

  • Carsten Gutwenger
  • Michael Jünger
  • Gunnar W. Klau
  • Sebastian Leipert
  • Petra Mutzel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2269)


We discuss the algorithm engineering aspects of AGD, a software library of algorithms for graph drawing. AGD represents algorithms as classes that provide one or more methods for calling the algorithm. There is a common base class, also called the type of an algorithm, for algorithms providing basically the same functionality. This enables us to exchange components and experiment with various algorithms and implementations of the same type. We give examples for algorithm engineering with AGD for drawing general non-hierarchical graphs and hierarchical graphs.


Planar Graph Planarization Method Graph Drawing Layout Algorithm Edge Crossing 
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. [BDD+00]
    S. Bridgeman, G. Di Battista, W. Didimo, G. Liotta, R. Tamassia, and L. Vismara. Turn-regularity and optimal area drawings for orthogonal representations. Computational Geometry Theory and Applications (CGTA), 2000. To appear.Google Scholar
  2. [BJL00]
    C. Buchheim, M. Jünger, and S. Leipert. A fast layout algorithm for klevel graphs. In J. Marks, editor, Graph Drawing 2000, volume 1984 of LNCS, pages 229–240. Springer-Verlag, 2000.CrossRefGoogle Scholar
  3. [BNT86]
    C. Batini, E. Nardelli, and R. Tamassia. A layout algorithm for data-flow diagrams. IEEE Trans. Soft. Eng., SE-12(4):538–546, 1986.Google Scholar
  4. [BTT84]
    C. Batini, M. Talamo, and R. Tamassia. Computer aided layout of entity relationship diagrams. J. Syst. and Softw., 4:163–173, 1984.CrossRefGoogle Scholar
  5. [CG72]
    E. G. Coffman and R. L. Graham. Optimal scheduling for two processor systems. Acta Informatica, 1:200–213, 1972.CrossRefMathSciNetGoogle Scholar
  6. [CK97]
    M. Chrobak and G. Kant. Convex grid drawings of 3-connected planar graphs. Internat. Journal on Computational Geometry and Applications, 7(3):211–224, 1997.CrossRefMathSciNetGoogle Scholar
  7. [DPP90]
    H. De Fraysseix, J. Pach, and R. Pollack. How to draw a planar graph on a grid. Combinatorica, 10(1):41–51, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  8. [DT96]
    G. Di Battista and R. Tamassia. On-line planarity testing. SIAM J. Comput., 25(5):956–997, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  9. [DTT92]
    G. Di Battista, R. Tamassia, and I. G. Tollis. Area requirement and symmetry display of planar upward drawings. Discrete Comput. Geom., 7:381–401, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  10. [EK86]
    P. Eades and D. Kelly. Heuristics for reducing crossings in 2-layered networks. Ars Combinatoria, 21(A):89–98, 1986.MathSciNetGoogle Scholar
  11. [EL95]
    P. Eades and X. Lin. A new heuristic for the feedback arc set problem. Australian Journal of Combinatorics, 12:15–26, 1995.zbMATHMathSciNetGoogle Scholar
  12. [EM99]
    P. Eades and P. Mutzel. Graph drawing algorithms. In M. Atallah, editor, CRC Handbook of Algorithms and Theory of Computation, chapter 9, pages 9–1–9–26. CRC Press, 1999.Google Scholar
  13. [EW86]
    P. Eades and N. Wormald. The median heuristic for drawing 2-layers networks. Technical Report69, Dept. of Comp. Sci., University of Queensland, 1986.Google Scholar
  14. [Fia97]
    S. Fialko. Das planare Augmentierungsproblem. Master’s thesis, Universität des Saarlandes, Saarbrücken, 1997.Google Scholar
  15. [FK96]
    U. Fößmeier and M. Kaufmann. Drawing high degree graphs with low bend numbers. In F.J. Brandenburg, editor, Graph Drawing '95), volume 1027 of LNCS, pages 254–266. Springer, 1996.CrossRefGoogle Scholar
  16. [FM98]
    S. Fialko and P. Mutzel. A new approximation algorithm for the planar augmentation problem. In Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '98), pages 260–269, San Francisco, California, 1998. ACM Press.Google Scholar
  17. [FR91]
    T. Fruchterman and E. Reingold. Graph drawing by force-directed placement. Softw.-Pract. Exp., 21(11):1129–1164, 1991.CrossRefGoogle Scholar
  18. [GDT]
    Graph Drawing Toolkit: An object-oriented library for handling and drawing graphs.
  19. [GJR85]
    M. Grötschel, M. Jünger, and G. Reinelt. On the acyclic subgraph polytope. Mathematical Programming, 33:28–42, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  20. [GKNV93]
    E. R. Gansner, E. Koutsofios, S. C. North, and K. P. Vo. A technique for drawing directed graphs. IEEE Trans. Softw. Eng., 19(3):214–230, 1993.CrossRefGoogle Scholar
  21. [GM97]
    C. Gutwenger and P. Mutzel. Grid embedding of biconnected planar graphs. Extended Abstract, Max-Planck-Institut für Informatik, Saarbrücken, Germany, 1997.Google Scholar
  22. [GM98]
    C. Gutwenger and P. Mutzel. Planar polyline drawings with good angular resolution. In S. Whitesides, editor, Graph Drawing '98, volume 1547 of LNCS, pages 167–182. Springer-Verlag, 1998.CrossRefGoogle Scholar
  23. [GM00]
    C. Gutwenger and P. Mutzel. A linear-time implementation of SPQRtrees. In J. Marks, editor, Graph Drawing 2000, volume 1984 of LNCS, pages 77–90. Springer-Verlag, 2000.CrossRefGoogle Scholar
  24. [GMW01]
    C. Gutwenger, P. Mutzel, and R. Weiskircher. Inserting an edge into a planar graph. In Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '2001), pages 246–255, Washington, DC, 2001. ACM Press.Google Scholar
  25. [GT98]
    N. Gelfand and R. Tamassia. Algorithmic patterns for orthogonal graph drawing. In S. Whitesides, editor, Graph Drawing '98, volume 1547 of LNCS, pages 138–152. Springer-Verlag, 1998.CrossRefGoogle Scholar
  26. [Him97]
    M. Himsolt. GML: A portable graph file format. Technical report, Universit ät Passau, 1997. See also
  27. [JLM98]
    M. Jünger, S. Leipert, and P. Mutzel. A note on computing a maximal planar subgraph using PQ-trees. IEEE Trans. on Computer-Aided Design, 17(7), 1998.Google Scholar
  28. [JM94]
    M. Jünger and P. Mutzel. The polyhedral approach to the maximum planar subgraph problem: New chances for related problems. In DIMACS Graph Drawing '94, volume 894 of LNCS, pages 119–130. Springer-Verlag, 1994.Google Scholar
  29. [JM96a]
    M. Jünger and P. Mutzel. 2-layer straightline crossing minimization: Performance of exact and heuristic algorithms. J. Graph Algorithms and Applications (JGAA) (, 1(1):1–25, 1996.Google Scholar
  30. [JM96b]
    M. Jünger and P. Mutzel. Maximum planar subgraphs and nice embeddings: Practical layout tools. Algorithmica, 16(1):33–59, 1996.zbMATHMathSciNetCrossRefGoogle Scholar
  31. [JT00]
    M. Jünger and S. Thienel. The ABACUS system for branch-and-cut and price algorithms in integer programming and combinatorial optimization. Software-Practice and Experience, 30:1325–1352, 2000.zbMATHCrossRefGoogle Scholar
  32. [Kan96]
    G. Kant. Drawing planar graphs using the canonical ordering. Algorithmica, Special Issue on Graph Drawing, 16(1):4–32, 1996.zbMATHMathSciNetGoogle Scholar
  33. [KKM01]
    G. W. Klau, K. Klein, and P. Mutzel. An experimental comparison of orthogonal compaction algorithms. In Graph Drawing (Proc. 2000), LNCS. Springer Verlag, 2001.Google Scholar
  34. [KM98]
    G. Klau and P. Mutzel. Quasi-orthogonal drawing of planar graphs. Technical Report MPI-I-98-1-013, Max-Planck-Institut f. Informatik, Saarbrücken, 1998.Google Scholar
  35. [KM99]
    G. W. Klau and P. Mutzel. Optimal compaction of orthogonal grid drawings. In G. P. Cornuéjols, R. E. Burkard, and G. J. Woeginger, editors, Integer Programming and Combinatorial Optimization (IPCO '99), volume 1610 of LNCS, pages 304–319. Springer, 1999.CrossRefGoogle Scholar
  36. [Len90]
    T. Lengauer. Combinatorial Algorithms for Integrated Circuit Layout. John Wiley & Sons, New York, 1990.Google Scholar
  37. [MN99]
    K. Mehlhorn and S. Näher. The LEDA Platform of Combinatorial and Geometric Computing. Cambridge University Press, 1999.Google Scholar
  38. [MSM99]
    C. Matuszewski, R. Schönfeld, and P. Molitor. Using sifting for k-layer crossing minimization. In J. Kratochvil, editor, Graph Drawing '99, volume 1731 of LNCS, pages 217–224. Springer-Verlag, 1999.CrossRefGoogle Scholar
  39. [Mut95]
    P. Mutzel. A polyhedral approach to planar augmentation and related problems. In Paul Spirakis, editor, Annual European Symposium on Algorithms (ESA-3): Corfu, Greece, September 25–27, 1995; proceedings, volume 979 of LNCS, pages 494–507, Berlin, 1995. Springer.Google Scholar
  40. [RT81]
    E. Reingold and J. Tilford. Tidier drawing of trees. IEEE Trans. Softw. Eng., SE-7(2):223–228, 1981.CrossRefGoogle Scholar
  41. [RT86]
    P. Rosenstiehl and R. E. Tarjan. Rectilinear planar layouts and bipolar orientations of planar graphs. Discrete Comput. Geom., 1(4):343–353, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  42. [STT81]
    K. Sugiyama, S. Tagawa, and M. Toda. Methods for visual understanding of hierarchical systems. IEEE Trans. Syst. Man Cybern., SMC-11(2):109–125, 1981.CrossRefMathSciNetGoogle Scholar
  43. [Tam87]
    R. Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  44. [TBB88]
    R. Tamassia, G. Di Battista, and C. Batini. Automatic graph drawing and readability of diagrams. IEEE Trans. Syst. Man Cybern., SMC-18(1):61–79, 1988.CrossRefGoogle Scholar
  45. [Tut63]
    W. T. Tutte. How to draw a graph. Proceedings London Mathematical Society, 13(3):743–768, 1963.Google Scholar
  46. [Wal90]
    J. Q. Walker II. A node-positioning algorithm for general trees. Software — Practice and Experiments, 20(7):685–705, 1990.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Carsten Gutwenger
    • 1
  • Michael Jünger
    • 2
  • Gunnar W. Klau
    • 3
  • Sebastian Leipert
    • 1
  • Petra Mutzel
    • 3
  1. 1.caesar FoundationBonnGermany
  2. 2.University of CologneGermany
  3. 3.Institute of Computer Graphics and AlgorithmsVienna University of TechnologyWienAustriaAustria

Personalised recommendations