A branch-and-cut approach to the crossing number problem

  • Authors:
  • Christoph Buchheim;Markus Chimani;Dietmar Ebner;Carsten Gutwenger;Michael JüNger;Gunnar W. Klau;Petra Mutzel;René Weiskircher

  • Affiliations:
  • Department of Computer Science, University of Cologne, Germany;Department of Computer Science, University of Dortmund, Germany;Institute of Computer Languages, Vienna University of Technology, Austria;Department of Computer Science, University of Dortmund, Germany;Department of Computer Science, University of Cologne, Germany;Department of Mathematics and Computer Science, Free University Berlin, Germany and DFG Research Center Matheon, Germany;Department of Computer Science, University of Dortmund, Germany;CSIRO Mathematical and Information Sciences, Melbourne, Australia

  • Venue:
  • Discrete Optimization
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The crossing number of a graph is the minimum number of edge crossings in any drawing of the graph in the plane. Extensive research has produced bounds on the crossing number and exact formulae for special graph classes, yet the crossing numbers of graphs such as K"1"1 or K"9","1"1 are still unknown. Finding the crossing number is NP-hard for general graphs and no practical algorithm for its computation has been published so far. We present an integer linear programming formulation that is based on a reduction of the general problem to a restricted version of the crossing number problem in which each edge may be crossed at most once. We also present cutting plane generation heuristics and a column generation scheme. As we demonstrate in a computational study, a branch-and-cut algorithm based on these techniques as well as recently published preprocessing algorithms can be used to successfully compute the crossing number for small- to medium-sized general graphs for the first time.