Computing Crossing Numbers by Integer Programming Christoph Buchheim - - PowerPoint PPT Presentation

computing crossing numbers by integer programming
SMART_READER_LITE
LIVE PREVIEW

Computing Crossing Numbers by Integer Programming Christoph Buchheim - - PowerPoint PPT Presentation

Computing Crossing Numbers by Integer Programming Christoph Buchheim 1 Markus Chimani 2 Dietmar Ebner 3 Carsten Gutwenger 2 unger 1 Gunnar W. Klau 4 Michael J Petra Mutzel 2 e Weiskircher 5 Ren 1 Department of Computer Science, University of


slide-1
SLIDE 1

Computing Crossing Numbers by Integer Programming

Christoph Buchheim1 Markus Chimani2 Dietmar Ebner3 Carsten Gutwenger2 Michael J¨ unger1 Gunnar W. Klau4 Petra Mutzel2 Ren´ e Weiskircher5

1 Department of Computer Science, University of Cologne, Germany 2 Department of Computer Science, University of Dortmund, Germany 3 Institute of Computer Languages, Vienna University of Technology, Austria 4 Department of Mathematics and Computer Science, Free University Berlin

and DFG Research Center MATHEON, Germany

5 CSIRO Mathematical and Information Sciences, Melbourne, Australia

10th Combinatorial Optimization Workshop – Aussois 2006

slide-2
SLIDE 2

Problem Definition and Motivation

Given a graph G = (V, E), draw it in two dimensions such that the number of crossings between its edges is minimal. 51 crossings 12 crossings 4 crossings The crossing number cr(G) is the minimum number of such crossings for all two-dimensional drawings.

slide-3
SLIDE 3

Problem Definition and Motivation

Given a graph G = (V, E), draw it in two dimensions such that the number of crossings between its edges is minimal. 51 crossings 12 crossings 4 crossings The crossing number cr(G) is the minimum number of such crossings for all two-dimensional drawings.

slide-4
SLIDE 4

Problem Definition and Motivation

Given a graph G = (V, E), draw it in two dimensions such that the number of crossings between its edges is minimal. 51 crossings 12 crossings 4 crossings The crossing number cr(G) is the minimum number of such crossings for all two-dimensional drawings.

slide-5
SLIDE 5

Problem Definition and Motivation

Given a graph G = (V, E), draw it in two dimensions such that the number of crossings between its edges is minimal. 51 crossings 12 crossings 4 crossings The crossing number cr(G) is the minimum number of such crossings for all two-dimensional drawings.

slide-6
SLIDE 6

Problem Definition and Motivation

Given a graph G = (V, E), draw it in two dimensions such that the number of crossings between its edges is minimal. 51 crossings 12 crossings 4 crossings The crossing number cr(G) is the minimum number of such crossings for all two-dimensional drawings.

slide-7
SLIDE 7

Problem Definition and Motivation

The crossing number problem was introduced by Tur´ an in 1944 (for Kn,m) was shown to be NP-hard by Garey & Johnson [1983] is addressed heuristically in practice (planarization)

  • r restricted to special drawings (bilayer, linear, circular)

is unsolved even for very regular graph classes...

slide-8
SLIDE 8

Problem Definition and Motivation

The crossing number problem was introduced by Tur´ an in 1944 (for Kn,m) was shown to be NP-hard by Garey & Johnson [1983] is addressed heuristically in practice (planarization)

  • r restricted to special drawings (bilayer, linear, circular)

is unsolved even for very regular graph classes...

slide-9
SLIDE 9

Problem Definition and Motivation

The crossing number problem was introduced by Tur´ an in 1944 (for Kn,m) was shown to be NP-hard by Garey & Johnson [1983] is addressed heuristically in practice (planarization)

  • r restricted to special drawings (bilayer, linear, circular)

is unsolved even for very regular graph classes...

slide-10
SLIDE 10

Problem Definition and Motivation

The crossing number problem was introduced by Tur´ an in 1944 (for Kn,m) was shown to be NP-hard by Garey & Johnson [1983] is addressed heuristically in practice (planarization)

  • r restricted to special drawings (bilayer, linear, circular)

is unsolved even for very regular graph classes...

slide-11
SLIDE 11

Problem Definition and Motivation

The crossing number problem was introduced by Tur´ an in 1944 (for Kn,m) was shown to be NP-hard by Garey & Johnson [1983] is addressed heuristically in practice (planarization)

  • r restricted to special drawings (bilayer, linear, circular)

is unsolved even for very regular graph classes...

slide-12
SLIDE 12

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-13
SLIDE 13

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-14
SLIDE 14

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-15
SLIDE 15

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-16
SLIDE 16

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-17
SLIDE 17

Crossing Number of Complete Graphs

the crossing number of Kn is unknown in general the drawing rule of Zarankiewicz [1953] yields Z(n) = 1 4 n 2 n − 1 2 n − 2 2 n − 3 2

  • crossings, hence cr(Kn) ≤ Z(n)

it is conjectured that cr(Kn) = Z(n) verified up to n = 10 by Guy [1972] recently, de Klerk et al. showed lim

n→∞

cr(Kn) Z(n) ≥ 0.83 similar situation for Kn,m

slide-18
SLIDE 18

Applications

Applications for crossing minimization: design of a brick transport system on rails [crossings increase risk of accidents] VLSI design [crossings are expensive to realize] automatic graph drawing [crossings make the drawing less readable] 51 crossings 12 crossings 4 crossings

slide-19
SLIDE 19

Applications

Applications for crossing minimization: design of a brick transport system on rails [crossings increase risk of accidents] VLSI design [crossings are expensive to realize] automatic graph drawing [crossings make the drawing less readable] 51 crossings 12 crossings 4 crossings

slide-20
SLIDE 20

Applications

Applications for crossing minimization: design of a brick transport system on rails [crossings increase risk of accidents] VLSI design [crossings are expensive to realize] automatic graph drawing [crossings make the drawing less readable] 51 crossings 12 crossings 4 crossings

slide-21
SLIDE 21

Applications

Applications for crossing minimization: design of a brick transport system on rails [crossings increase risk of accidents] VLSI design [crossings are expensive to realize] automatic graph drawing [crossings make the drawing less readable] 51 crossings 12 crossings 4 crossings

slide-22
SLIDE 22

Applications

Applications for crossing minimization: design of a brick transport system on rails [crossings increase risk of accidents] VLSI design [crossings are expensive to realize] automatic graph drawing [crossings make the drawing less readable] 51 crossings 12 crossings 4 crossings

slide-23
SLIDE 23

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-24
SLIDE 24

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-25
SLIDE 25

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-26
SLIDE 26

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-27
SLIDE 27

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-28
SLIDE 28

ILP Approach (First Try)

Our aim is to model the crossing number problem as an ILP . Straightforward approach: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef Problem: checking feasibility is NP-complete!

slide-29
SLIDE 29

Realizability

Problem: Given D ⊆ E × E, decide whether D is realizable, i.e., whether a drawing of G exists with e crossing f iff (e, f) ∈ D. NP-complete by Kratochv´ ıl [1991] No hope for a useful ILP model with this choice of variables!

slide-30
SLIDE 30

Realizability

Problem: Given D ⊆ E × E, decide whether D is realizable, i.e., whether a drawing of G exists with e crossing f iff (e, f) ∈ D. NP-complete by Kratochv´ ıl [1991] No hope for a useful ILP model with this choice of variables!

slide-31
SLIDE 31

Realizability

Problem: Given D ⊆ E × E, decide whether D is realizable, i.e., whether a drawing of G exists with e crossing f iff (e, f) ∈ D. NP-complete by Kratochv´ ıl [1991] No hope for a useful ILP model with this choice of variables!

slide-32
SLIDE 32

Realizability

Realizability depends on the order of crossings on an edge: Number of potential orders is exponential... It’s not enough to determine the crossing edge pairs.

slide-33
SLIDE 33

Realizability

Realizability depends on the order of crossings on an edge: Number of potential orders is exponential... It’s not enough to determine the crossing edge pairs.

slide-34
SLIDE 34

Realizability

Realizability depends on the order of crossings on an edge: Number of potential orders is exponential... It’s not enough to determine the crossing edge pairs.

slide-35
SLIDE 35

Realizability

Realizability depends on the order of crossings on an edge: Number of potential orders is exponential... It’s not enough to determine the crossing edge pairs.

slide-36
SLIDE 36

Realizability

Realizability depends on the order of crossings on an edge: Number of potential orders is exponential... It’s not enough to determine the crossing edge pairs.

slide-37
SLIDE 37

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-38
SLIDE 38

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-39
SLIDE 39

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-40
SLIDE 40

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-41
SLIDE 41

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-42
SLIDE 42

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-43
SLIDE 43

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-44
SLIDE 44

Crossing Restricted Drawings

To avoid this problem, consider crossing restricted drawings: allow at most one crossing per edge However...

  • ptimal CR-drawings can have more than cr(G) crossings

for dense graphs, CR-drawings don’t even exist Solution: replace every edge of G by a path of length |E| Then a crossing-minimal CR-drawing of the resulting graph exists and has cr(G) crossings can be easily transformed into a drawing of G with the same number of edge crossings

slide-45
SLIDE 45

ILP Approach (Second Try)

Search for a crossing-minimal CR-drawing of G: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef introduce CR-constraints

f∈E xef ≤ 1

Realizability?!

slide-46
SLIDE 46

ILP Approach (Second Try)

Search for a crossing-minimal CR-drawing of G: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef introduce CR-constraints

f∈E xef ≤ 1

Realizability?!

slide-47
SLIDE 47

ILP Approach (Second Try)

Search for a crossing-minimal CR-drawing of G: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef introduce CR-constraints

f∈E xef ≤ 1

Realizability?!

slide-48
SLIDE 48

ILP Approach (Second Try)

Search for a crossing-minimal CR-drawing of G: introduce binary variable xef for each {e, f} with e, f ∈ E interpret xef = 1 as “edge e crosses edge f” minimize xef introduce CR-constraints

f∈E xef ≤ 1

Realizability?!

slide-49
SLIDE 49

Realizability

Call a set D ⊆ E × E crossing restricted if for all e ∈ E there is at most one f ∈ E with (e, f) ∈ D. Problem: Given a crossing restricted set D ⊆ E × E, decide whether D is realizable. Can be done in linear time...

slide-50
SLIDE 50

Realizability

Call a set D ⊆ E × E crossing restricted if for all e ∈ E there is at most one f ∈ E with (e, f) ∈ D. Problem: Given a crossing restricted set D ⊆ E × E, decide whether D is realizable. Can be done in linear time...

slide-51
SLIDE 51

Realizability

Call a set D ⊆ E × E crossing restricted if for all e ∈ E there is at most one f ∈ E with (e, f) ∈ D. Problem: Given a crossing restricted set D ⊆ E × E, decide whether D is realizable. Can be done in linear time...

slide-52
SLIDE 52

Realizability

Define GD as the result of adding dummy nodes to G on every edge pair (e, f) ∈ D:

e f e f

G = (V, E), D = {(e, f)} GD Construction is well-defined as D is crossing restricted!

slide-53
SLIDE 53

Realizability

Define GD as the result of adding dummy nodes to G on every edge pair (e, f) ∈ D:

e f e f

G = (V, E), D = {(e, f)} GD Construction is well-defined as D is crossing restricted!

slide-54
SLIDE 54

Realizability

Define GD as the result of adding dummy nodes to G on every edge pair (e, f) ∈ D:

e f e f

G = (V, E), D = {(e, f)} GD Construction is well-defined as D is crossing restricted!

slide-55
SLIDE 55

Realizability

Lemma: Let D ⊆ E × E be crossing restricted. Then D is realizable iff GD is planar. can be tested in O(|V| + |D|) time can be used to model realizability by linear constraints...

slide-56
SLIDE 56

Realizability

Lemma: Let D ⊆ E × E be crossing restricted. Then D is realizable iff GD is planar. can be tested in O(|V| + |D|) time can be used to model realizability by linear constraints...

slide-57
SLIDE 57

Realizability

Lemma: Let D ⊆ E × E be crossing restricted. Then D is realizable iff GD is planar. can be tested in O(|V| + |D|) time can be used to model realizability by linear constraints...

slide-58
SLIDE 58

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-59
SLIDE 59

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-60
SLIDE 60

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-61
SLIDE 61

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-62
SLIDE 62

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-63
SLIDE 63

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-64
SLIDE 64

Kuratowski Constraints

Let... D ⊆ E × E be crossing restricted H be any subdivision of K5 or K3,3 in GD ˆ H be the corresponding subgraph of G. Then every realizable crossing restricted set satisfies CD,H :

  • (e,f)∈ˆ

H2\D

xef ≥ 1 −

  • (e,f)∈ˆ

H2∩D

(1 − xef) . Proof: Let the crossing-restricted set D′ ⊆ E × E violate CD,H ⇒ lhs is 0, rhs is 1 ⇒ D and D′ agree on ˆ H ⇒ GD′ contains H ⇒ GD′ is not planar ⇒ D′ is not realizable.

slide-65
SLIDE 65

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-66
SLIDE 66

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-67
SLIDE 67

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-68
SLIDE 68

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-69
SLIDE 69

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-70
SLIDE 70

Kuratowski Constraints

Theorem: The constraints CD,H suffice to model realizability of crossing restricted sets. Separation is done heuristically: round all fractional LP-values yields a crossing restricted set D ⊆ E × E search for Kuratowski subgraph H in GD (linear time by de Fraysseix & de Mendez [2003]) add CD,H if violated

slide-71
SLIDE 71

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-72
SLIDE 72

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-73
SLIDE 73

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-74
SLIDE 74

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-75
SLIDE 75

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-76
SLIDE 76

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-77
SLIDE 77

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-78
SLIDE 78

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-79
SLIDE 79

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-80
SLIDE 80

Our Algorithm

1 Consider biconnected components separately 2 Apply core reduction by Gutwenger & Chimani [2005] 3 Replace every edge by a path of length |E| 4 Find a crossing-minimal CR-drawing by branch-and-cut

Experiments show that this approach + works + can solve benchmark instances up to |V| = 40 − can’t solve dense instances − produces a huge number of variables − produces a lot of symmetry

slide-81
SLIDE 81

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-82
SLIDE 82

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-83
SLIDE 83

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-84
SLIDE 84

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-85
SLIDE 85

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-86
SLIDE 86

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-87
SLIDE 87

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-88
SLIDE 88

Drawbacks of the Model

Replacing edges by paths... yields up to Θ(|E|4) variables in total [only cr(G) of them are 1 in an optimal solution] leads to many equivalent solutions:

slide-89
SLIDE 89

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-90
SLIDE 90

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-91
SLIDE 91

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-92
SLIDE 92

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-93
SLIDE 93

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-94
SLIDE 94

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-95
SLIDE 95

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-96
SLIDE 96

Column Generation

Solution to both problems is column generation! General idea: start with one edge segment e per original edge do not restrict the number of crossings on e [do not add CR-constraint

f xef ≤ 1]

if more than one crossing on e, add a new segment e′ [if CR-constraint

f xef ≤ 1 is violated, ...]

allow to shift crossings from e to e′ [if xef > 0, add variable xe′f] restrict the number of crossings on e′ [add CR-constraint

f xe′f ≤ 1]

favor crossings with e′ [decrease coefficient of xe′f by ǫ]

slide-97
SLIDE 97

Column Generation

slide-98
SLIDE 98

Column Generation

slide-99
SLIDE 99

Column Generation

slide-100
SLIDE 100

Column Generation

cheaper...

slide-101
SLIDE 101

Column Generation

cheaper... but CR!

slide-102
SLIDE 102

Column Generation

slide-103
SLIDE 103

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-104
SLIDE 104

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-105
SLIDE 105

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-106
SLIDE 106

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-107
SLIDE 107

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-108
SLIDE 108

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-109
SLIDE 109

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-110
SLIDE 110

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-111
SLIDE 111

Column Generation

Correctness: no restriction on the number of crossings of first segment ⇒ all realizable sets D ⊆ E × E are feasible at every point ⇒ algorithm yields correct solution Termination: coefficients for new segments decreased by ǫ ⇒ all edges prefer to cross new segments ⇒ after at most |E| extensions, all CR-constraints hold “Extend the straightforward model just as much as necessary to allow testing feasibility (and to formulate an ILP)”

slide-112
SLIDE 112

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-113
SLIDE 113

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-114
SLIDE 114

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-115
SLIDE 115

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-116
SLIDE 116

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-117
SLIDE 117

Computational Results

Test instances: Rome library of undirected graphs standard benchmark set in automatic graph drawing derived from graphs arising in practical applications contains graphs on 10 to 100 nodes graphs are sparse Time limit: 30 cpu minutes on an AMD Opteron with 2.4 GHz, 32 GB

slide-118
SLIDE 118

Percentage of Solved Instances

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 10 20 30 40 50 60 70

# nodes % solved No Column Generation, 30 min Column Generation, 5 min Column Generation, 30 min

slide-119
SLIDE 119

Runtimes by Crossing Number

300 600 900 1200 1500 1800 1 2 3 4 5 6 7 8 9 10 11 12

# crossings seconds minimum maximum average

slide-120
SLIDE 120

Complete Graphs

Using our general approach, we can solve K8 (though its crossing number is 18) Special approach for complete graphs: use knowledge of cr(Kn) when computing cr(Kn+1) Using this specialized approach, we can solve K?...

slide-121
SLIDE 121

Complete Graphs

Using our general approach, we can solve K8 (though its crossing number is 18) Special approach for complete graphs: use knowledge of cr(Kn) when computing cr(Kn+1) Using this specialized approach, we can solve K?...

slide-122
SLIDE 122

Complete Graphs

Using our general approach, we can solve K8 (though its crossing number is 18) Special approach for complete graphs: use knowledge of cr(Kn) when computing cr(Kn+1) Using this specialized approach, we can solve K?...

slide-123
SLIDE 123

Complete Graphs

Using our general approach, we can solve K8 (though its crossing number is 18) Special approach for complete graphs: use knowledge of cr(Kn) when computing cr(Kn+1) Using this specialized approach, we can solve K?...