Computing crossing numbers

Markus Chimani · Technische Universität Dortmund Eldorado (Technische Universität Dortmund) · 2009

The graph theoretic problem of crossing numbers has been around for over 60 years, but still very little is known about this simple, yet intricate nonplanarity measure. The question is easy to state: Given a graph, draw it in the plane with the minimum number of edge crossings. A lot of research has been devoted to giving an answer to this question, not only by graph theoreticians, but also by computer scientists. The crossing number is central to areas like chip design and automatic graph drawing. While there are algorithms to solve the problem heuristically, we know that it is in general NP-complete. Furthermore, we do not know if the problem is efficiently approximable, except for some special cases. In this thesis, we tackle the problem using Mathematical Programming. We show how to formulate the crossing number problem as systems of linear inequalities, and discuss how to solve these formulations for reasonably sized graphs to provable optimality in acceptable time--despite its theoretical complexity class. We present non-standard branch-and-cut-and-price techniques to achieve this goal, and introduce an efficient preprocessing algorithm, also valid for other traditional non-planarity measures. We discuss extensions of these ideas to related crossing number variants arising in practice, and show a practical application of a formerly purely theoretic crossing number derivative. The thesis also contains an extensive experimental study of the formulations and algorithms presented herein, and an outlook on its applicability for graph theoretic questions regarding the crossing numbers of special graph classes.

Read the paper · More papers on PaperTik