vorlesung graphenzeichnen [1ex] order in the underground ... · grafiken mit perl perl & lwp...

141
Our Model NP-Hardness Our Solution Vorlesung Graphenzeichnen Order in the Underground or How to automate drawing metro maps? Martin Nöllenburg Institute of Theoretical Informatics Karlsruhe Institute of Technology 07.12.2011 Martin Nöllenburg 1 40 Drawing Metro Maps

Upload: others

Post on 31-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Vorlesung Graphenzeichnen

Order in the Underground orHow to automate drawing metro maps?

Martin Nöllenburg

Institute of Theoretical Informatics

Karlsruhe Institute of Technology

07.12.2011

Martin Nöllenburg 1 40 Drawing Metro Maps

Page 2: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Outline

Modeling the Metro Map ProblemWhat is a Metro Map?Hard and Soft Constraints

NP-Hardness: Bad News—Nice ProofRectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

MIP Formulation & ExperimentsMixed-Integer Programming FormulationLabelingExperiments

Martin Nöllenburg 2 40 Drawing Metro Maps

Page 3: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Outline

Modeling the Metro Map ProblemWhat is a Metro Map?Hard and Soft Constraints

NP-Hardness: Bad News—Nice ProofRectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

MIP Formulation & ExperimentsMixed-Integer Programming FormulationLabelingExperiments

Martin Nöllenburg 3 40 Drawing Metro Maps

Page 4: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

What is a Metro Map?

schematic diagram for public transportvisualizes lines and stationsgoal: ease navigation for passengers

“How do I get from A to B?”“Where to get off and change trains?”

distorts geometry and scaleimproves readabilitycompromise betweenschematic road map↔ abstract graph

Martin Nöllenburg 4 40 Drawing Metro Maps

Page 5: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanually

assist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 6: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend maps

metro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

P

P

P

P

P

P

P

P

PP

P

P

P

PP

P

P

P

P

P

P

P

P

P

P

P

P

P

P

Under construction

FutureE

xtension

Subject toFundin

g

To Sacramento

To Tracy/Stockton

To Stockton

To Gilroy

SanFranciscoInternationalAirport

OaklandInternationalAirport

AirBART

SanJoseInternationalAirport

19th St /OaklandOakland City Center/12th StLake Merritt

West Oakland

EmbarcaderoMontgomery St

Powell StCivic Center

16th St Mission24th St Mission

Glen Park

Balboa Park

SouthSan Francisco

SanBruno

Millbrae

Daly City

Fruitvale

San Leandro

Bay Fair

HaywardCastro Valley

South Hayward

Union City

Coliseum /Oakland Airport

MacArthurRockridge

OrindaLafayette

Walnut Creek

Pleasant Hill

Concord

Ashby

Downtown Berkeley

El Cerrito PlazaNorth Berkeley

El Cerrito del Norte

North Concord /Martinez

Colma

Dublin/Pleasanton

Richmond

Fremont

Pittsburg /Bay Point

FosterCity

SantaClara

Pacifica

Newark WarmSprings

Fremont

Larkspur

CorteMadera

MillValley

Sausalito

Pinole

SanPablo

Rodeo

Hercules

Danville

SanRamon

Dublin

Livermore

Irvington

Pleasanton

MartinezAntioch

SanFrancisco

SanJose

NT

TP

ACE (Altamont CommuterExpress)

Regional Rail Transfer Point

Capitol Corridor (Amtrak)

San Joaquin (Amtrak)

Caltrain

BART Parking

BART Dublin/Pleasanton–Colma

BART Pittsburg /Bay Point –Colma

BART Fremont –Richmond

BART Fremont –Daly City

BART Richmond –Daly City

T

T

BART System Map

Hwy4

Hwy580

Hwy680

Hwy680

Hwy24

Hwy4

Hwy80

Hwy80

Hwy680

Hwy680

Hwy237

Hwy880

Hwy92

Hwy84

Hwy101

Hwy101

Hwy280

Hwy1

Hwy1

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 7: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 8: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 9: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

2003 OPEN SOURCE ROUTE MAP

Perl/TkPocket Reference

Perl für System-

Administration

Perl in a Nutshell

Web

Netzwerk-& System-Administration

Nutshell & Taschen-bibliothek(kurz & gut)

Nutshell & Taschenbibliothek

(kurz & gut)

Unix

MacOSX

Netzwerk- & System-Administration

Unix

Perl Linux

WebPerl Linux

Programming WebServices with Perl

LPI Linux Certificationin a Nutshell

Linux in aNutshell

Perl kurz & gut XML in a

Nutshell

Web, Graphics & Perl/Tk:Best of The Perl Journal

Python in a Nutshell

Python & XML

Java™ & XML

Programmieren vonGrafiken mit Perl

Perl & LWP

Programmieren mit Perl DBI

Free as in Freedom

Peer-to-Peer

The Cathedral& The Bazaar

Open Sources DatabaseNation

Beyond Contact

Linux – Wegweiser für Netzwerker

Tcl/Tkin a Nutshell

AppleScriptin a Nutshell

Mac OS Xkurz & gut

Advanced PerlProgramming

Algorithmen mit Perl

Reguläre Ausdrücke

Mastering Perl/Tk

Perl Kochbuch

Programmieren mit PHP

PHP Kochbuch

Web Services Essentials

PHP kurz & gut

Running Weblogs with Slash

DocBook: The Definitive Guide

SVG Essentials

Einführung in XML

XML Schema

HTML &XHTML – Das umfassendeReferenzwerk

Creating Applications with Mozilla

Einführung in Perl

Computer Science & Perl Programming:Best of The Perl Journal

Games, Diversions & Perl Culture:Best of The Perl Journal

Einführung in Perl für Bioinformatik

Programmieren mit PerlLearning the Korn Shell

Programming Python

Apachekurz & gut

Understanding the Linux Kernel

Linux Gerätetreiber

Linux – Wegweiser zurInstallation & Konfiguration

Linux Security Cookbook

Managing RAID on Linux

Samba kurz & gut

Unix System-Administration

Programmingwith Qt

MySQL – Einsatz &Programmierung

JythonEssentials

Webdatenbank-applikationen mit

PHP & MySQL

Programmingwith GNUSoftware

Learning GNU Emacs

Writing GNU EmacsExtensions

sed & awk

Effective awkProgramming

Textverarbeitung mitden vi-Editor

Unix – Ein praktischerEinstieg

MySQL Reference Manual

MySQL Cookbook

Learningthe bashShell

PracticalPostgreSQL

UnixPowerTools

GNU Emacskurz & gut

vi kurz & gut

sed & awkkurz & gut

ExploringExpect

Samba

Writing Apache Modules with Perl and C

Exim: The MailTransfer Agent sendmail

Sichere Server mit Linux

Python Cookbook

Python Standard-Bibliothek

Einführung in Python

Python kurz & gut

Learning Perl on Win 32 Systems

PythonProgramming on Win32

Perl für Website-Management

Practical mod_perl

Perl & XML

Mason

Technologie &Gesellschaft Technologie & Gesellschaft

Apache – Das umfassende

Referenzwerk

SSH – Dasumfassende Handbuch

NetworkSecuritywithOpenSSL

Java™

Ant: TheDefinitiveGuide

NetBeans:The DefinitiveGuide

SAX2

Einführung inUnix für MacOSX

Mac OS X:The Missing

Manual

Mac OS X for Unix

DevelopersUsing csh& tcsh

Developing Bioinformatics Computer Skills

Java™

O’REILLY ®

Web

Perl

Unix

XML

Linux

Nutshell & Taschen-bibliothek (kurz & gut)

Netzwerk- & System-Administration

Technologie & Gesellschaft

Java™

Bioinformatik

Python

Mac OS X

L E G E N D E

Die Grübelei hat ein Ende!Bücher von O’Reilly

&LINUX

KONSORTEN

Learning Red Hat Linux

Building EmbeddedLinux Systems

LinuxServer Hacks

www.oreilly.de

PythonXML

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 10: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architecture

redrawing sketches[Brandes et al. ’03]

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 11: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Why Automate Drawing Metro Maps?

current maps designedmanuallyassist graphic designers toimprove/extend mapsmetro map metaphor

metabolic pathways[Hahn, Weinberg ’02]

web page maps [Nesbitt ’04]

product lines [O’Reilly ’03]

VLSI: X-architectureredrawing sketches[Brandes et al. ’03]

Martin Nöllenburg 5 40 Drawing Metro Maps

Page 12: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

More Formally

The Metro Map Problem

Given: planar embedded graph G = (V ,E), V ⊂ R2,line cover L of paths or cycles in G (the metro lines),

Goal: draw G and L nicely.

Martin Nöllenburg 6 40 Drawing Metro Maps

Page 13: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

More Formally

The Metro Map Problem

Given: planar embedded graph G = (V ,E), V ⊂ R2,line cover L of paths or cycles in G (the metro lines),

Goal: draw G and L nicely.

What is a nice drawing?Look at real-world metro maps drawn by graphic designersand model their design principles as

hard constraints – must be fulfilled,soft constraints – should hold as tightly as possible.

Martin Nöllenburg 6 40 Drawing Metro Maps

Page 14: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Hard Constraints

(H1) preserve embedding of G

(H2) draw all edges as octilinear line segments,i.e. horizontal, vertical or diagonal (45 degrees)

(H3) draw each edge e with length ≥ `e(H4) keep edges dmin away from non-incident edges (→ planar)

Martin Nöllenburg 7 40 Drawing Metro Maps

Page 15: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Hard Constraints

(H1) preserve embedding of G(H2) draw all edges as octilinear line segments,

i.e. horizontal, vertical or diagonal (45 degrees)

(H3) draw each edge e with length ≥ `e(H4) keep edges dmin away from non-incident edges (→ planar)

Martin Nöllenburg 7 40 Drawing Metro Maps

Page 16: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Hard Constraints

(H1) preserve embedding of G(H2) draw all edges as octilinear line segments,

i.e. horizontal, vertical or diagonal (45 degrees)(H3) draw each edge e with length ≥ `e

(H4) keep edges dmin away from non-incident edges (→ planar)

Martin Nöllenburg 7 40 Drawing Metro Maps

Page 17: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Hard Constraints

(H1) preserve embedding of G(H2) draw all edges as octilinear line segments,

i.e. horizontal, vertical or diagonal (45 degrees)(H3) draw each edge e with length ≥ `e(H4) keep edges dmin away from non-incident edges (→ planar)

Martin Nöllenburg 7 40 Drawing Metro Maps

Page 18: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Soft Constraints

(S1) draw metro lines with few bends

(S2) keep total edge length small(S3) draw each octilinear edge similar to its geographical

orientation: keep relative position of adjacent vertices

Martin Nöllenburg 8 40 Drawing Metro Maps

Page 19: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Soft Constraints

(S1) draw metro lines with few bends(S2) keep total edge length small

(S3) draw each octilinear edge similar to its geographicalorientation: keep relative position of adjacent vertices

Martin Nöllenburg 8 40 Drawing Metro Maps

Page 20: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

What is a Metro Map?Hard and Soft Constraints

Soft Constraints

(S1) draw metro lines with few bends(S2) keep total edge length small(S3) draw each octilinear edge similar to its geographical

orientation: keep relative position of adjacent vertices

Martin Nöllenburg 8 40 Drawing Metro Maps

Page 21: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Outline

Modeling the Metro Map ProblemWhat is a Metro Map?Hard and Soft Constraints

NP-Hardness: Bad News—Nice ProofRectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

MIP Formulation & ExperimentsMixed-Integer Programming FormulationLabelingExperiments

Martin Nöllenburg 9 40 Drawing Metro Maps

Page 22: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

A Related Problem

RECTILINEARGRAPHDRAWING Decision ProblemGiven a planar embedded graph G with max degree 4.Is there a drawing of G that

preserves the embedding,uses straight-line edges,is rectilinear?

Theorem (Tamassia SIAMJComp’87)

RECTILINEARGRAPHDRAWING can be solved efficiently.

Proof.By reduction to a flow problem.

Martin Nöllenburg 10 40 Drawing Metro Maps

Page 23: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

A Related Problem

RECTILINEARGRAPHDRAWING Decision ProblemGiven a planar embedded graph G with max degree 4.Is there a drawing of G that

preserves the embedding,uses straight-line edges,is rectilinear?

Theorem (Tamassia SIAMJComp’87)

RECTILINEARGRAPHDRAWING can be solved efficiently.

Proof.By reduction to a flow problem.

Martin Nöllenburg 10 40 Drawing Metro Maps

Page 24: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

A Related Problem

RECTILINEARGRAPHDRAWING Decision ProblemGiven a planar embedded graph G with max degree 4.Is there a drawing of G that

preserves the embedding,uses straight-line edges,is rectilinear?

Theorem (Tamassia SIAMJComp’87)

RECTILINEARGRAPHDRAWING can be solved efficiently.

Proof.By reduction to a flow problem.

Martin Nöllenburg 10 40 Drawing Metro Maps

Page 25: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

A Related Problem

RECTILINEARGRAPHDRAWING Decision ProblemGiven a planar embedded graph G with max degree 4.Is there a drawing of G that

preserves the embedding,uses straight-line edges,is rectilinear?

Theorem (Tamassia SIAMJComp’87)

RECTILINEARGRAPHDRAWING can be solved efficiently.

Proof.By reduction to a flow problem.

Martin Nöllenburg 10 40 Drawing Metro Maps

Page 26: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Our Problem

METROMAPLAYOUT Decision ProblemGiven a planar embedded graph G with max degree 8.Is there a drawing of G that

preserves the embedding,uses straight-line edges,is octilinear?

TheoremMETROMAPLAYOUT is NP-hard.

Proof.By Reduction from PLANAR 3-SAT to METROMAPLAYOUT.

Martin Nöllenburg 11 40 Drawing Metro Maps

Page 27: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Outline of the Reduction

x1 ∨ x2 ∨ x3

x1 ∨ x3 ∨ x4

x1 ∨ x2 ∨ x4

x2 ∨ x3 ∨ x4

x1 x2 x3 x4

Input: planar 3-SAT formula ϕ =(x1 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x3) ∧ . . .

Goal: planar embedded graph Gϕ with:Gϕ has a metro map drawing ⇔ ϕ satisfiable.

Martin Nöllenburg 12 40 Drawing Metro Maps

Page 28: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Outline of the Reduction

x1 ∨ x2 ∨ x3

x1 ∨ x3 ∨ x4

x1 ∨ x2 ∨ x4

x2 ∨ x3 ∨ x4

x1 x2 x3 x4

Input: planar 3-SAT formula ϕ =(x1 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x3) ∧ . . .

Goal: planar embedded graph Gϕ with:Gϕ has a metro map drawing ⇔ ϕ satisfiable.

Martin Nöllenburg 12 40 Drawing Metro Maps

Page 29: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Outline of the Reduction

x1 ∨ x2 ∨ x3

x1 ∨ x3 ∨ x4

x1 ∨ x2 ∨ x4

x2 ∨ x3 ∨ x4

x1 x2 x3 x4

Input: planar 3-SAT formula ϕ =(x1 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x3) ∧ . . .

Goal: planar embedded graph Gϕ with:Gϕ has a metro map drawing ⇔ ϕ satisfiable.

Martin Nöllenburg 12 40 Drawing Metro Maps

Page 30: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Variable Gadget

. . .

. . .

. . .

......

...

...

...

......

......

x = true

x x

x

false true

true

Martin Nöllenburg 13 40 Drawing Metro Maps

Page 31: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Variable Gadget

. . .

. . .

. . .

......

......

......

...

......

x = false

x x

x

true false

false

Martin Nöllenburg 13 40 Drawing Metro Maps

Page 32: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Outline of the Reduction

x1 ∨ x2 ∨ x3

x1 ∨ x3 ∨ x4

x1 ∨ x2 ∨ x4

x2 ∨ x3 ∨ x4

x1 x2 x3 x4

Input: planar 3-SAT formula ϕ =(x1 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x3) ∧ . . .

Goal: planar embedded graph Gϕ with:Gϕ has a metro map drawing ⇔ ϕ satisfiable.

Martin Nöllenburg 14 40 Drawing Metro Maps

Page 33: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 34: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 35: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 36: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 37: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 38: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 39: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 40 Drawing Metro Maps

Page 40: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Summary of the Reduction

→. . .

. . .

. . .

......

...

...

...

......

......

x = true

x x

x

false true

true

x1 ∨ x2 ∨ x3

x1 ∨ x3 ∨ x4

x1 ∨ x2 ∨ x4

x2 ∨ x3 ∨ x4

x1 x2 x3 x4

Indeed we have:ϕ satisfiable ⇒ corresponding MM drawing of Gϕ

Gϕ has MM drawing ⇒ satisfying truth assignment of ϕ

Martin Nöllenburg 16 40 Drawing Metro Maps

Page 41: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Outline

Modeling the Metro Map ProblemWhat is a Metro Map?Hard and Soft Constraints

NP-Hardness: Bad News—Nice ProofRectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

MIP Formulation & ExperimentsMixed-Integer Programming FormulationLabelingExperiments

Martin Nöllenburg 17 40 Drawing Metro Maps

Page 42: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variables

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 43: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variablesexample:maximize x + 2ysubject toy ≤ 0.9x + 1.5y ≥ 1.4x − 1.3

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 44: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variablesexample:maximize x + 2ysubject toy ≤ 0.9x + 1.5y ≥ 1.4x − 1.3

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 45: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variablesexample:maximize x + 2ysubject toy ≤ 0.9x + 1.5y ≥ 1.4x − 1.3

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 46: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variables

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 47: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variables

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 48: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Mathematical Programming

Linear Programming: efficientoptimization method for

linear constraintslinear objective functionreal-valued variables

Mixed-Integer Programming (MIP)allows also integer variablesNP-hard in generalstill practical method for manyhard optimization problems

Theorem (GD’05 / TVCG’11)The metro map layout problem can be formulated as a MIP s.th.

hard constraints → linear constraintssoft constraints → objective function

Martin Nöllenburg 18 40 Drawing Metro Maps

Page 49: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Definitions: Sectors and Coordinates

u

12

3

4

56

0

7v

Sectors– for each vtx. u partition plane into sectors 0–7

here: sec(u, v) = 5 (input)

– number octilinear edge directions accordinglye.g. dir(u, v) = 4 (output)

x

y z1

z2

Coordinatesassign z1- and z2-coordinates to each vertex v :

z1(v) = x(v) + y(v)z2(v) = x(v)− y(v)

Martin Nöllenburg 19 40 Drawing Metro Maps

Page 50: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Definitions: Sectors and Coordinates

u

12

3

4

56

0

7v

Sectors– for each vtx. u partition plane into sectors 0–7

here: sec(u, v) = 5 (input)

– number octilinear edge directions accordinglye.g. dir(u, v) = 4 (output)

x

y z1

z2

Coordinatesassign z1- and z2-coordinates to each vertex v :

z1(v) = x(v) + y(v)z2(v) = x(v)− y(v)

Martin Nöllenburg 19 40 Drawing Metro Maps

Page 51: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Definitions: Sectors and Coordinates

u

12

3

4

56

0

7v

Sectors– for each vtx. u partition plane into sectors 0–7

here: sec(u, v) = 5 (input)

– number octilinear edge directions accordinglye.g. dir(u, v) = 4 (output)

x

y z1

z2

Coordinatesassign z1- and z2-coordinates to each vertex v :

z1(v) = x(v) + y(v)z2(v) = x(v)− y(v)

Martin Nöllenburg 19 40 Drawing Metro Maps

Page 52: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position (H2, H3, S3)

Goal

u

12

3

4

56

0

7v

pred

origsucc

Draw edge uvoctilinearlywith minimum length `uv

restricted to 3 directions

How to model this using linear constraints?

Binary Variables

αpred(u, v) + αorig(u, v) + αsucc(u, v) = 1

Martin Nöllenburg 20 40 Drawing Metro Maps

Page 53: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position (H2, H3, S3)

Goal

u

12

3

4

56

0

7v

pred

origsucc

Draw edge uvoctilinearlywith minimum length `uv

restricted to 3 directions

How to model this using linear constraints?

Binary Variables

αpred(u, v) + αorig(u, v) + αsucc(u, v) = 1

Martin Nöllenburg 20 40 Drawing Metro Maps

Page 54: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position (H2, H3, S3)

Goal

u

12

3

4

56

0

7v

pred

origsucc

Draw edge uvoctilinearlywith minimum length `uv

restricted to 3 directions

How to model this using linear constraints?

Binary Variables

αpred(u, v) + αorig(u, v) + αsucc(u, v) = 1

Martin Nöllenburg 20 40 Drawing Metro Maps

Page 55: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position

u

12

3

4

56

0

7v

pred

origsucc

Predecessor Sector

y(u)− y(v) ≤ M(1− αpred(u, v))−y(u) + y(v) ≤ M(1− αpred(u, v))

x(u)− x(v) ≥ −M(1− αpred(u, v)) + `uv

Martin Nöllenburg 21 40 Drawing Metro Maps

Page 56: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position

u

12

3

4

56

0

7v

pred

origsucc

Predecessor Sector

y(u)− y(v) ≤ M(1− αpred(u, v))−y(u) + y(v) ≤ M(1− αpred(u, v))

x(u)− x(v) ≥ −M(1− αpred(u, v)) + `uv

How does this work?

Martin Nöllenburg 21 40 Drawing Metro Maps

Page 57: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position

u

12

3

4

56

0

7v

pred

origsucc

Predecessor Sector

y(u)− y(v) ≤ M(1− αpred(u, v))−y(u) + y(v) ≤ M(1− αpred(u, v))

x(u)− x(v) ≥ −M(1− αpred(u, v)) + `uv

How does this work?Case 1: αpred(u, v) = 0

y(u)− y(v) ≤ M−y(u) + y(v) ≤ M

x(u)− x(v) ≥ `uv −M

Martin Nöllenburg 21 40 Drawing Metro Maps

Page 58: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position

u

12

3

4

56

0

7v

pred

origsucc

Predecessor Sector

y(u)− y(v) ≤ M(1− αpred(u, v))−y(u) + y(v) ≤ M(1− αpred(u, v))

x(u)− x(v) ≥ −M(1− αpred(u, v)) + `uv

How does this work?Case 2: αpred(u, v) = 1

y(u)− y(v) ≤ 0−y(u) + y(v) ≤ 0

x(u)− x(v) ≥ `uv

Martin Nöllenburg 21 40 Drawing Metro Maps

Page 59: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position (H2, H3, S3)

u

12

3

4

56

0

7v

pred

origsucc

Original Sector

z2(u)− z2(v) ≤ M(1− αorig(u, v))−z2(u) + z2(v) ≤ M(1− αorig(u, v))

z1(u)− z1(v) ≥ −M(1− αorig(u, v)) + 2`uv

Successor Sector

x(u)− x(v) ≤ M(1− αsucc(u, v))−x(u) + x(v) ≤ M(1− αsucc(u, v))

y(u)− y(v) ≥ −M(1− αsucc(u, v)) + `uv

Martin Nöllenburg 22 40 Drawing Metro Maps

Page 60: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Octilinearity and Relative Position (H2, H3, S3)

u

12

3

4

56

0

7v

pred

origsucc

Original Sector

z2(u)− z2(v) ≤ M(1− αorig(u, v))−z2(u) + z2(v) ≤ M(1− αorig(u, v))

z1(u)− z1(v) ≥ −M(1− αorig(u, v)) + 2`uv

u

12

3

4

56

0

7v

pred

origsucc

Successor Sector

x(u)− x(v) ≤ M(1− αsucc(u, v))−x(u) + x(v) ≤ M(1− αsucc(u, v))

y(u)− y(v) ≥ −M(1− αsucc(u, v)) + `uv

Martin Nöllenburg 22 40 Drawing Metro Maps

Page 61: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Preserving the Embedding (H1)

DefinitionTwo planar drawings of G have the same embedding if theinduced orderings on the neighbors of each vertex are equal.

Same Embedding

1

2

3

4

5

2

14

3

5

Martin Nöllenburg 23 40 Drawing Metro Maps

Page 62: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Preserving the Embedding (H1)

DefinitionTwo planar drawings of G have the same embedding if theinduced orderings on the neighbors of each vertex are equal.

Different Embeddings

1

2

3

4

5 1

2

3

4

5

Martin Nöllenburg 23 40 Drawing Metro Maps

Page 63: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Preserving the Embedding (H1)

Constraints (Example)

N(v) = {u1,u2,u3,u4}circular input order: u1 < u2 < u3 < u4 < u1

All but one of the following inequalities must hold

dir(v ,u1) < dir(v ,u2) < dir(v ,u3) < dir(v ,u4) < dir(v ,u1)

Input

vu1

u2

u3u4

Output

v

u1

u2

u3u4

Martin Nöllenburg 24 40 Drawing Metro Maps

Page 64: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Preserving the Embedding (H1)

Constraints (Example)

N(v) = {u1,u2,u3,u4}circular input order: u1 < u2 < u3 < u4 < u1

All but one of the following inequalities must hold

dir(v ,u1) ≮ dir(v ,u2) < dir(v ,u3) < dir(v ,u4) < dir(v ,u1)

Input

vu1

u2

u3u4

Output

v

u1

u2

u3u4

Martin Nöllenburg 24 40 Drawing Metro Maps

Page 65: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

E

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 66: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

NE

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 67: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

N

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 68: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

NW

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 69: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

W

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 70: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

SW

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 71: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast S

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 72: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

SE

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 73: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Planarity (H4)

Observation

For octilinear, straight edge e1 non-incidentedge e2 must be placed dmin to the

east, northeast, north, northwest,west, southwest, south, or southeast

SE

Constraintsmodel as MIP with binary variablesαE + αNE + αN + αNW + αW + αSW + αS + αSE ≥ 1required for each pair of non-incident edges

Martin Nöllenburg 25 40 Drawing Metro Maps

Page 74: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 75: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu3

w Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 76: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

2w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 77: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

1w Edges uv and vw on a metro line L ∈ L

draw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 78: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu 0 w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 79: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

1w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 80: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

2w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 81: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

3w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 82: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Objective Functioncorresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Line Bends (S1)

vu

3w

Edges uv and vw on a metro line L ∈ Ldraw as straight as possibleincrease cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)

costbends =∑L∈L

∑uv ,vw∈L

bend(u, v ,w)

Martin Nöllenburg 26 40 Drawing Metro Maps

Page 83: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

only three directions possible

charge 1 if edge deviates fromoriginal sector

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 84: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

u

12

3

4

56

0

7v

only three directions possible

charge 1 if edge deviates fromoriginal sector

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 85: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

u

12

3

4

56

0

7v

1

only three directions possiblecharge 1 if edge deviates fromoriginal sector

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 86: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

u

12

3

4

56

0

7v

1

0

only three directions possiblecharge 1 if edge deviates fromoriginal sector

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 87: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

u

12

3

4

56

0

7v

1

01

only three directions possiblecharge 1 if edge deviates fromoriginal sector

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 88: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Objective Function

Total Edge Length (S2)

costlength =∑

uv∈E

length(uv)

Relative Position (S3)

u

12

3

4

56

0

7v

1

01

only three directions possiblecharge 1 if edge deviates fromoriginal sector

costrelpos =∑

uv∈E

relpos(uv)

Martin Nöllenburg 27 40 Drawing Metro Maps

Page 89: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Effects of the Soft ConstraintsObjective Function

corresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Input Output

Martin Nöllenburg 28 40 Drawing Metro Maps

Page 90: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Effects of the Soft ConstraintsObjective Function

corresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Input Output

Martin Nöllenburg 28 40 Drawing Metro Maps

Page 91: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Effects of the Soft ConstraintsObjective Function

corresponds to soft constraints (S1)–(S3)weighted sum of individual cost functions

minimize λbends costbends + λlength costlength + λrelpos costrelpos

Input Output

Martin Nöllenburg 28 40 Drawing Metro Maps

Page 92: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary of the MIP

hard constraints:octilinearityminimum edge length(partially) relative positionpreservation of embeddingplanarity

soft constraints:

minimize λbends costbends+λlength costlength+λrelpos costrelpos

models METROMAPLAYOUT as MIPin total O(|V |2) constraints and variables

Martin Nöllenburg 29 40 Drawing Metro Maps

Page 93: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary of the MIP

hard constraints:octilinearityminimum edge length(partially) relative positionpreservation of embeddingplanarity

soft constraints:

minimize λbends costbends+λlength costlength+λrelpos costrelpos

models METROMAPLAYOUT as MIPin total O(|V |2) constraints and variables

Martin Nöllenburg 29 40 Drawing Metro Maps

Page 94: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary of the MIP

hard constraints:octilinearityminimum edge length(partially) relative positionpreservation of embeddingplanarity

soft constraints:

minimize λbends costbends+λlength costlength+λrelpos costrelpos

models METROMAPLAYOUT as MIP

in total O(|V |2) constraints and variables

Martin Nöllenburg 29 40 Drawing Metro Maps

Page 95: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary of the MIP

hard constraints:octilinearityminimum edge length(partially) relative positionpreservation of embeddingplanarity

soft constraints:

minimize λbends costbends+λlength costlength+λrelpos costrelpos

models METROMAPLAYOUT as MIPin total O(|V |2) constraints and variables

Martin Nöllenburg 29 40 Drawing Metro Maps

Page 96: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary of the MIP

hard constraints:octilinearityminimum edge length(partially) relative positionpreservation of embeddingplanarity

soft constraints:

minimize λbends costbends+λlength costlength+λrelpos costrelpos

models METROMAPLAYOUT as MIPin total O(|V |2) constraints and variables

Martin Nöllenburg 29 40 Drawing Metro Maps

Page 97: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 vertices

low flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 98: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 vertices

low flexibilityIdea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 99: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 vertices

low flexibilityIdea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 100: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 vertices

low flexibilityIdea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 101: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 vertices

low flexibilityIdea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 102: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 103: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 104: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 105: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 106: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two joints

higher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 107: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce Graph Size

metro graphs have many degree-2 verticeswant to optimize line straightness

Idea 1 collapse all degree-2 verticeslow flexibility

Idea 2 keep two jointshigher flexibilitymore similar to input

Martin Nöllenburg 30 40 Drawing Metro Maps

Page 108: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce MIP Size

O(|V |2) planarity constraints (for each pair of edges...)in practice 95–99% of constraints

Observation 1consider only pairs of edges incident to the same facestill O(|V |2) constraints

Observation 2in practice no or only few crossings due to soft constraints

Martin Nöllenburg 31 40 Drawing Metro Maps

Page 109: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce MIP Size

O(|V |2) planarity constraints (for each pair of edges...)in practice 95–99% of constraints

Observation 1consider only pairs of edges incident to the same facestill O(|V |2) constraints

Observation 2in practice no or only few crossings due to soft constraints

Martin Nöllenburg 31 40 Drawing Metro Maps

Page 110: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce MIP Size

O(|V |2) planarity constraints (for each pair of edges...)in practice 95–99% of constraints

Observation 1consider only pairs of edges incident to the same facestill O(|V |2) constraints

Observation 2in practice no or only few crossings due to soft constraints

Martin Nöllenburg 31 40 Drawing Metro Maps

Page 111: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce MIP Size

O(|V |2) planarity constraints (for each pair of edges...)in practice 95–99% of constraints

Observation 1consider only pairs of edges incident to the same facestill O(|V |2) constraints

Observation 2in practice no or only few crossings due to soft constraints

Martin Nöllenburg 31 40 Drawing Metro Maps

Page 112: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Reduce MIP Size

O(|V |2) planarity constraints (for each pair of edges...)in practice 95–99% of constraints

Observation 1consider only pairs of edges incident to the same facestill O(|V |2) constraints

Observation 2in practice no or only few crossings due to soft constraints

Martin Nöllenburg 31 40 Drawing Metro Maps

Page 113: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Speed-Up Techniques: Callback Functions

MIP optimizer CPLEX offers advanced callback functionsadd required planarity constraints on the fly

Algorithm1 start solving MIP without planarity constraints2 for each new solution

1 interrupt CPLEX2 if solution is not planar

add planarity constraints for intersecting edgesreject solution

elseaccept solution

3 continue solving the MIP (until optimal)

Martin Nöllenburg 32 40 Drawing Metro Maps

Page 114: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Labeling

unlabeled metro map oflittle use in practice

labelsoccupy spacemay not overlap

static edge labeling isNP-hard [Tollis, Kakoulis ’01]

combine layout andlabeling for better results

N8

N7

N6

N5

N4

N3

N2

N1

N4

Martin Nöllenburg 33 40 Drawing Metro Maps

Page 115: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Labeling

unlabeled metro map oflittle use in practicelabels

occupy spacemay not overlap

static edge labeling isNP-hard [Tollis, Kakoulis ’01]

combine layout andlabeling for better results

N8

N7

N6

N5

N4

N3

N2

N1

Zentral-station

Neuhäuser TorDetmolderTor

Michaelstr.Heiersstr.

Am Bogen

Kasseler StraßeWesterntor

Maspernplatz

Gierstor

NordbahnhofHeinrichskirche

UhlandstraßeSteubenstraße

Gottfried-Keller-Weg

Mörikestraße

Englische Siedlung

Berline

r Ring

Langer Weg

Fröbelstr.

Piepen-turmweg

Schulze-Delitzsch-Straße

Lipps

pring

er Str

.

Kirchb

rede

Buchh

olz

Papenberg

Postweg

Kloster

garte

n

Ronc

allipl

atz

Beksch

er Berg

Druhe

imer

Straß

e

Holtgre

vens

traße

Bf Kasseler Tor

Schulbrede

Hilligenbusch

Uni/Schöne Aussicht

Am Laugrund

Corveyer Weg

Bahneinschnitt

Hochs

tiftss

tr.

Südr

ing

Uni/Sü

dring

Im SpiringsfeldeGertru-denstr.

KilianplatzQuerweg

Stephanusstraße

Elisabethkirche

Kilian

bad

Mälzerstr.Abtsbrede

Sighardstr.Ilseweg

Breslau

er Str

.

Walden

burge

r Str.

Grüner Weg

Frank

furte

r Weg

BetriebshofBarkhausen

StembergKleestraßeIm Tigg

WinkelsgartenFixberg

Weikenberg

Delbrücker WegTriftweg Im

Lich

tenfel

de

Voessingweg

Neuenheerser WegLiethstaudamm

Auf der LiethBürener Weg

Borgentreicher WegPeckelsheimer Weg

Vinsebecker WegWeißdornweg

Mistelweg

Bussardweg

Kaukenberg

Kleing

. Dah

ler W

eg

Iggen

haus

er Weg

Lang

efeld

Bergso

hle

Dahler

Heid

e

Dahl P

ost

Braken

berg

Lülingsberg

Pastorskamp

Win-friedstr.Josefs-krankenhausFrauenklinik

Im BruchhofRummelsberg

Am Zollhaus Zwetschenweg

Ludwigsfelder Ring

Am NiesenteichDr.-Mertens-Weg

Anhalter WegGerold

Füllers HeideStadtheide

Talle-TerrassenWaldweg

SchlesierwegIm Vogtland

Zum KampeMarienloh Mitte

SennewegVon-Dript-Weg

Dören-Park

Schwabenweg

Hauptbahnhof

Klöcknerstraße

PontanusstraßeTechn. Rathaus

WestfriedhofIm Lohfeld

Riemecker Feld

DelpstraßeHeinz-Nixdorf-Ring

Alme Aue

Am Almerfeld

OstalleeCarl-Diem-StraßeWewerstraße

Blumenstraße

Spritzenhaus

Von-Ketteler-StraßeElsen Schule

BohlenwegGasthof Zur Heide

MühlenteichstraßeKarl-Arnold-Straße

Sander Straße

FürstenwegRolandsweg

Freibad/SchützenplatzFerrariweg

MuseumsForumPadersee

An der KapelleFürstenallee

Marienloher Str.

RothewegGustav-Schultze-StraßeBonifatiuskircheWürttemberger WegIngolstädter Weg

An der

Talle

Schloß Neuhaus

AntoniusstraßeUrbanstraße

Verner Straße

Almeri

ng

Mersch

weg

Mentro

pstra

ße

Mittelw

eg

Gesam

tschu

le

Fries

enweg

TÜV

Abzw. F

ischt

eiche

Schil

lerstr

aße

Hohe Kamp

Sande Kirche

Ostenländer Straße

Anemonenweg

Sande Schule

Dirksfeld

Hagebuttenweg

Sunderkampstr.

Sander Friedhof

Dubelohstraße

Schatenweg

HatzfelderPlatz

Memelstraße

Mastbruch Schule

Mastbruch Gaststätte

Dietrichstraße

Husarenstraße

Habichtsweg

Fasanenweg

Bahnkreuzung

Thunebrücke

Hauptwache

Salvatorstraße

Pionierweg

Infanterieweg

Schleswiger WegWilseder Weg

PirolwegAusbesserungswerk

Schützenplatz Nord

Obernheideweg

Lesteweg

*

* Inbetriebnahme nach baulicher Fertigstellung

Marienloh

Neuenbeken

Benhausen

Kaukenberg

Auf derLieth

Dahl

Wewer

Elsen

Gesseln

Sande

Schloß Neuhaus

Mastbruch

Sennelager

Gültig ab 13.02.2005

In den Nächten von Freitag auf Samstag, Samstag auf Sonntag und vor

ausgewählten Feiertagenab Zentralstation Paderborn

www.padersprinter.de

N4 Dahl

Nachtliniennetz [Nachtbus]im Stadtgebiet Paderborn

www.nachtbusse-paderborn.de

Martin Nöllenburg 33 40 Drawing Metro Maps

Page 116: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Labeling

unlabeled metro map oflittle use in practicelabels

occupy spacemay not overlap

static edge labeling isNP-hard [Tollis, Kakoulis ’01]

combine layout andlabeling for better results

N8

N7

N6

N5

N4

N3

N2

N1

Zentral-station

Neuhäuser TorDetmolderTor

Michaelstr.Heiersstr.

Am Bogen

Kasseler StraßeWesterntor

Maspernplatz

Gierstor

NordbahnhofHeinrichskirche

UhlandstraßeSteubenstraße

Gottfried-Keller-Weg

Mörikestraße

Englische Siedlung

Berline

r Ring

Langer Weg

Fröbelstr.

Piepen-turmweg

Schulze-Delitzsch-Straße

Lipps

pring

er Str

.

Kirchb

rede

Buchh

olz

Papenberg

Postweg

Kloster

garte

n

Ronc

allipl

atz

Beksch

er Berg

Druhe

imer

Straß

e

Holtgre

vens

traße

Bf Kasseler Tor

Schulbrede

Hilligenbusch

Uni/Schöne Aussicht

Am Laugrund

Corveyer Weg

Bahneinschnitt

Hochs

tiftss

tr.

Südr

ing

Uni/Sü

dring

Im SpiringsfeldeGertru-denstr.

KilianplatzQuerweg

Stephanusstraße

Elisabethkirche

Kilian

bad

Mälzerstr.Abtsbrede

Sighardstr.Ilseweg

Breslau

er Str

.

Walden

burge

r Str.

Grüner Weg

Frank

furte

r Weg

BetriebshofBarkhausen

StembergKleestraßeIm Tigg

WinkelsgartenFixberg

Weikenberg

Delbrücker WegTriftweg Im

Lich

tenfel

de

Voessingweg

Neuenheerser WegLiethstaudamm

Auf der LiethBürener Weg

Borgentreicher WegPeckelsheimer Weg

Vinsebecker WegWeißdornweg

Mistelweg

Bussardweg

Kaukenberg

Kleing

. Dah

ler W

eg

Iggen

haus

er Weg

Lang

efeld

Bergso

hle

Dahler

Heid

e

Dahl P

ost

Braken

berg

Lülingsberg

Pastorskamp

Win-friedstr.Josefs-krankenhausFrauenklinik

Im BruchhofRummelsberg

Am Zollhaus Zwetschenweg

Ludwigsfelder Ring

Am NiesenteichDr.-Mertens-Weg

Anhalter WegGerold

Füllers HeideStadtheide

Talle-TerrassenWaldweg

SchlesierwegIm Vogtland

Zum KampeMarienloh Mitte

SennewegVon-Dript-Weg

Dören-Park

Schwabenweg

Hauptbahnhof

Klöcknerstraße

PontanusstraßeTechn. Rathaus

WestfriedhofIm Lohfeld

Riemecker Feld

DelpstraßeHeinz-Nixdorf-Ring

Alme Aue

Am Almerfeld

OstalleeCarl-Diem-StraßeWewerstraße

Blumenstraße

Spritzenhaus

Von-Ketteler-StraßeElsen Schule

BohlenwegGasthof Zur Heide

MühlenteichstraßeKarl-Arnold-Straße

Sander Straße

FürstenwegRolandsweg

Freibad/SchützenplatzFerrariweg

MuseumsForumPadersee

An der KapelleFürstenallee

Marienloher Str.

RothewegGustav-Schultze-StraßeBonifatiuskircheWürttemberger WegIngolstädter Weg

An der

Talle

Schloß Neuhaus

AntoniusstraßeUrbanstraße

Verner Straße

Almeri

ng

Mersch

weg

Mentro

pstra

ße

Mittelw

eg

Gesam

tschu

le

Fries

enweg

TÜV

Abzw. F

ischt

eiche

Schil

lerstr

aße

Hohe Kamp

Sande Kirche

Ostenländer Straße

Anemonenweg

Sande Schule

Dirksfeld

Hagebuttenweg

Sunderkampstr.

Sander Friedhof

Dubelohstraße

Schatenweg

HatzfelderPlatz

Memelstraße

Mastbruch Schule

Mastbruch Gaststätte

Dietrichstraße

Husarenstraße

Habichtsweg

Fasanenweg

Bahnkreuzung

Thunebrücke

Hauptwache

Salvatorstraße

Pionierweg

Infanterieweg

Schleswiger WegWilseder Weg

PirolwegAusbesserungswerk

Schützenplatz Nord

Obernheideweg

Lesteweg

*

* Inbetriebnahme nach baulicher Fertigstellung

Marienloh

Neuenbeken

Benhausen

Kaukenberg

Auf derLieth

Dahl

Wewer

Elsen

Gesseln

Sande

Schloß Neuhaus

Mastbruch

Sennelager

Gültig ab 13.02.2005

In den Nächten von Freitag auf Samstag, Samstag auf Sonntag und vor

ausgewählten Feiertagenab Zentralstation Paderborn

www.padersprinter.de

N4 Dahl

Nachtliniennetz [Nachtbus]im Stadtgebiet Paderborn

www.nachtbusse-paderborn.de

Martin Nöllenburg 33 40 Drawing Metro Maps

Page 117: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Labeling

unlabeled metro map oflittle use in practicelabels

occupy spacemay not overlap

static edge labeling isNP-hard [Tollis, Kakoulis ’01]

combine layout andlabeling for better results

N8

N7

N6

N5

N4

N3

N2

N1

Zentral-station

Neuhäuser TorDetmolderTor

Michaelstr.Heiersstr.

Am Bogen

Kasseler StraßeWesterntor

Maspernplatz

Gierstor

NordbahnhofHeinrichskirche

UhlandstraßeSteubenstraße

Gottfried-Keller-Weg

Mörikestraße

Englische Siedlung

Berline

r Ring

Langer Weg

Fröbelstr.

Piepen-turmweg

Schulze-Delitzsch-Straße

Lipps

pring

er Str

.

Kirchb

rede

Buchh

olz

Papenberg

Postweg

Kloster

garte

n

Ronc

allipl

atz

Beksch

er Berg

Druhe

imer

Straß

e

Holtgre

vens

traße

Bf Kasseler Tor

Schulbrede

Hilligenbusch

Uni/Schöne Aussicht

Am Laugrund

Corveyer Weg

Bahneinschnitt

Hochs

tiftss

tr.

Südr

ing

Uni/Sü

dring

Im SpiringsfeldeGertru-denstr.

KilianplatzQuerweg

Stephanusstraße

Elisabethkirche

Kilian

bad

Mälzerstr.Abtsbrede

Sighardstr.Ilseweg

Breslau

er Str

.

Walden

burge

r Str.

Grüner Weg

Frank

furte

r Weg

BetriebshofBarkhausen

StembergKleestraßeIm Tigg

WinkelsgartenFixberg

Weikenberg

Delbrücker WegTriftweg Im

Lich

tenfel

de

Voessingweg

Neuenheerser WegLiethstaudamm

Auf der LiethBürener Weg

Borgentreicher WegPeckelsheimer Weg

Vinsebecker WegWeißdornweg

Mistelweg

Bussardweg

Kaukenberg

Kleing

. Dah

ler W

eg

Iggen

haus

er Weg

Lang

efeld

Bergso

hle

Dahler

Heid

e

Dahl P

ost

Braken

berg

Lülingsberg

Pastorskamp

Win-friedstr.Josefs-krankenhausFrauenklinik

Im BruchhofRummelsberg

Am Zollhaus Zwetschenweg

Ludwigsfelder Ring

Am NiesenteichDr.-Mertens-Weg

Anhalter WegGerold

Füllers HeideStadtheide

Talle-TerrassenWaldweg

SchlesierwegIm Vogtland

Zum KampeMarienloh Mitte

SennewegVon-Dript-Weg

Dören-Park

Schwabenweg

Hauptbahnhof

Klöcknerstraße

PontanusstraßeTechn. Rathaus

WestfriedhofIm Lohfeld

Riemecker Feld

DelpstraßeHeinz-Nixdorf-Ring

Alme Aue

Am Almerfeld

OstalleeCarl-Diem-StraßeWewerstraße

Blumenstraße

Spritzenhaus

Von-Ketteler-StraßeElsen Schule

BohlenwegGasthof Zur Heide

MühlenteichstraßeKarl-Arnold-Straße

Sander Straße

FürstenwegRolandsweg

Freibad/SchützenplatzFerrariweg

MuseumsForumPadersee

An der KapelleFürstenallee

Marienloher Str.

RothewegGustav-Schultze-StraßeBonifatiuskircheWürttemberger WegIngolstädter Weg

An der

Talle

Schloß Neuhaus

AntoniusstraßeUrbanstraße

Verner Straße

Almeri

ng

Mersch

weg

Mentro

pstra

ße

Mittelw

eg

Gesam

tschu

le

Fries

enweg

TÜV

Abzw. F

ischt

eiche

Schil

lerstr

aße

Hohe Kamp

Sande Kirche

Ostenländer Straße

Anemonenweg

Sande Schule

Dirksfeld

Hagebuttenweg

Sunderkampstr.

Sander Friedhof

Dubelohstraße

Schatenweg

HatzfelderPlatz

Memelstraße

Mastbruch Schule

Mastbruch Gaststätte

Dietrichstraße

Husarenstraße

Habichtsweg

Fasanenweg

Bahnkreuzung

Thunebrücke

Hauptwache

Salvatorstraße

Pionierweg

Infanterieweg

Schleswiger WegWilseder Weg

PirolwegAusbesserungswerk

Schützenplatz Nord

Obernheideweg

Lesteweg

*

* Inbetriebnahme nach baulicher Fertigstellung

Marienloh

Neuenbeken

Benhausen

Kaukenberg

Auf derLieth

Dahl

Wewer

Elsen

Gesseln

Sande

Schloß Neuhaus

Mastbruch

Sennelager

Gültig ab 13.02.2005

In den Nächten von Freitag auf Samstag, Samstag auf Sonntag und vor

ausgewählten Feiertagenab Zentralstation Paderborn

www.padersprinter.de

N4 Dahl

Nachtliniennetz [Nachtbus]im Stadtgebiet Paderborn

www.nachtbusse-paderborn.de

Martin Nöllenburg 33 40 Drawing Metro Maps

Page 118: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Modeling Labels

Model labels as special metro lines:

put all labels between eachpair of interchange stationsinto one parallelogram,

allow parallelograms tochange sides,bad news: a lot moreplanarity constraintsgood news: callbackmethod helps

v

w

r

s

t

u

Frankfurt (Main)

Mainz

Heidelberg

Karlsruhe

Mannheim

Martin Nöllenburg 34 40 Drawing Metro Maps

Page 119: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Modeling Labels

Model labels as special metro lines:

put all labels between eachpair of interchange stationsinto one parallelogram,allow parallelograms tochange sides,

bad news: a lot moreplanarity constraintsgood news: callbackmethod helps

v

w

r

s

t

u

Frankfurt (Main)

Mainz

Heidelberg

Karlsruhe

Mannheim

Martin Nöllenburg 34 40 Drawing Metro Maps

Page 120: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Modeling Labels

Model labels as special metro lines:

put all labels between eachpair of interchange stationsinto one parallelogram,allow parallelograms tochange sides,

bad news: a lot moreplanarity constraintsgood news: callbackmethod helps

Frankfurt (Main)

Mainz

Heidelberg

Karlsruhe

Mannheim

vr

s

t

u w

Martin Nöllenburg 34 40 Drawing Metro Maps

Page 121: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Modeling Labels

Model labels as special metro lines:

put all labels between eachpair of interchange stationsinto one parallelogram,allow parallelograms tochange sides,bad news: a lot moreplanarity constraints

good news: callbackmethod helps

Frankfurt (Main)

Mainz

Heidelberg

Karlsruhe

Mannheim

vr

s

t

u w

Martin Nöllenburg 34 40 Drawing Metro Maps

Page 122: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Modeling Labels

Model labels as special metro lines:

put all labels between eachpair of interchange stationsinto one parallelogram,allow parallelograms tochange sides,bad news: a lot moreplanarity constraintsgood news: callbackmethod helps

Frankfurt (Main)

Mainz

Heidelberg

Karlsruhe

Mannheim

vr

s

t

u w

Martin Nöllenburg 34 40 Drawing Metro Maps

Page 123: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney unlabeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

11 10

Martin Nöllenburg 35 40 Drawing Metro Maps

Page 124: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney unlabeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

11 10

↓MIP constr. var.

full 152,194 37,802callback 3,529 4,834skipped? 3,034 1,642

Martin Nöllenburg 35 40 Drawing Metro Maps

Page 125: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney unlabeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

11 10

↓MIP constr. var.

full 152,194 37,802callback? 3,529 4,834skipped? 3,034 1,642

?) 23 minutes w/o proof of opt.?) constr. of 3 edge pairs added

Martin Nöllenburg 35 40 Drawing Metro Maps

Page 126: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney unlabeledInput Output (23 min.)

Martin Nöllenburg 35 40 Drawing Metro Maps

Page 127: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney unlabeledOfficial map Output (23 min.)

Martin Nöllenburg 35 40 Drawing Metro Maps

Page 128: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

1110

labeled 242 270 30

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 129: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

1110

labeled 242 270 30

↓MIP constr. var.

full 1,191,406 290,137callback 21,988 92,681skipped? 6,838 2,969

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 130: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledInput Input |V | |E | fcs. |L|

full 174 183reduced 88 97

1110

labeled 242 270 30

↓MIP constr. var.

full 1,191,406 290,137callback? 21,988 92,681skipped? 6,838 2,969

?) 10:30 hours w/o proof of opt.?) add constr. of 123 edge pairs

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 131: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledInput Output (10:30 hrs.)

Doons

ide

Rooty

Hill

Mt D

ruitt

St Mar

ys

Wer

ringt

on

Kingsw

ood

Penrit

h

Emu

Plains

Canley Vale

Fairfield

Yennora

Guildford

Berala

Loftus

Engadine

Heathcote

Waterfall

Wynyard

Glenfield

Town Hall

North Sydney

Circula

r Qua

y

Seven Hills

Toongabbie

Pendle Hill

Wentworthville

Westmead

Parramatta

Hornsby

Central

Kirraw

ee

Gymea

Mira

nda

Caring

bah

Woo

loowar

e

Cronu

lla

Normanhurst

Thornleigh

Pennant Hills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

West Ryde

Meadowbank

Rhodes

Concord West

North Strathfield

Tempe

Cabramatta

Sutherland

Wolli Creek

Milsons Point

Asquith

Mt Colah

Mt Kuring−gai

Berowra

Waverton

Wollstonecraft

St Leonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

Mac

dona

ldtow

n

Newto

wn

Stanm

ore

Peter

sham

Lewish

am

Summ

er H

ill

Ashfie

ld

Croyd

on

Burwoo

d

Liverpool

Sefto

n

Rosehill

Camellia

Rydalmere

Dundas

Telopea

Carlingford

St James

Merrylands

Museum

Erskineville

St Peters

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

Como

Jannali

Holswor

thy

East H

ills

Panan

ia

Reves

by

Padsto

w

Riverw

ood

Narwee

Bever

ly Hills

Kingsg

rove

Bexley

Nor

th

Bardw

ell P

ark

Turre

lla

Clyde

Olympic Park

Granville

Casula

Leumeah

Minto

Ingleburn

Macquarie Fields

Harris Park

Martin Place

Strathfield

Campbelltown

Flemington

International

Domestic

Mascot

Green SquareRegents Park

Birrong

Mar

rickv

ille

Dulwich

Hill

Hurlst

one

Park

Cante

rbur

y

Camps

ie

Belmor

e

Lake

mba

Wile

y Par

k

Punch

bowl

Banks

town

Yagoo

na

Kings C

ross

Edgec

liff

Bondi

Junc

tion

Carra

mar

Villawoo

d

Leigh

tonf

ield

Cheste

r Hill

Lidcombe

Blacktown

Homeb

ush

Warwick Farm

Auburn

Marayong

Quakers Hill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

East Richmond

Richmond

Macarthur

Syden

ham

Redfern

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 132: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledOfficial map Output (10:30 hrs.)

Doons

ide

Rooty

Hill

Mt D

ruitt

St Mar

ys

Wer

ringt

on

Kingsw

ood

Penrit

h

Emu

Plains

Canley Vale

Fairfield

Yennora

Guildford

Berala

Loftus

Engadine

Heathcote

Waterfall

Wynyard

Glenfield

Town Hall

North Sydney

Circula

r Qua

y

Seven Hills

Toongabbie

Pendle Hill

Wentworthville

Westmead

Parramatta

Hornsby

Central

Kirraw

ee

Gymea

Mira

nda

Caring

bah

Woo

loowar

e

Cronu

lla

Normanhurst

Thornleigh

Pennant Hills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

West Ryde

Meadowbank

Rhodes

Concord West

North Strathfield

Tempe

Cabramatta

Sutherland

Wolli Creek

Milsons Point

Asquith

Mt Colah

Mt Kuring−gai

Berowra

Waverton

Wollstonecraft

St Leonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

Mac

dona

ldtow

n

Newto

wn

Stanm

ore

Peter

sham

Lewish

am

Summ

er H

ill

Ashfie

ld

Croyd

on

Burwoo

d

Liverpool

Sefto

n

Rosehill

Camellia

Rydalmere

Dundas

Telopea

Carlingford

St James

Merrylands

Museum

Erskineville

St Peters

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

Como

Jannali

Holswor

thy

East H

ills

Panan

ia

Reves

by

Padsto

w

Riverw

ood

Narwee

Bever

ly Hills

Kingsg

rove

Bexley

Nor

th

Bardw

ell P

ark

Turre

lla

Clyde

Olympic Park

Granville

Casula

Leumeah

Minto

Ingleburn

Macquarie Fields

Harris Park

Martin Place

Strathfield

Campbelltown

Flemington

International

Domestic

Mascot

Green SquareRegents Park

Birrong

Mar

rickv

ille

Dulwich

Hill

Hurlst

one

Park

Cante

rbur

y

Camps

ie

Belmor

e

Lake

mba

Wile

y Par

k

Punch

bowl

Banks

town

Yagoo

na

Kings C

ross

Edgec

liff

Bondi

Junc

tion

Carra

mar

Villawoo

d

Leigh

tonf

ield

Cheste

r Hill

Lidcombe

Blacktown

Homeb

ush

Warwick Farm

Auburn

Marayong

Quakers Hill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

East Richmond

Richmond

Macarthur

Syden

ham

Redfern

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 133: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Results – Sydney labeledOfficial map Output (1:40 hrs.)

Doonside

Rooty Hill

Mt Druitt

St Marys

Werrington

Kingswood

Penrith

Emu Plains

Canley Vale

Fairfield

Yennora

Guildford

Berala

Loftus

Engadine

Heathcote

Waterfall

Wynyard

Glenfield

Town Hall

North Sydney

Circ

ular

Qua

y

Seven Hills

Toongabbie

Pendle Hill

Wentworthville

Westmead

Parramatta

Hornsby

Central

Kirraw

ee

Gym

ea

Mira

nda

Car

ingb

ah

Woo

loow

are

Cro

nulla

Normanhurst

Thornleigh

Pennant Hills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

West Ryde

Meadowbank

Rhodes

Concord West

North Strathfield

Tempe

Cabramatta

Sutherland

Wolli Creek

Milsons Point

Asquith

Mt Colah

Mt Kuring−gai

Berowra

Waverton

Wollstonecraft

St Leonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

Mac

dona

ldto

wn

New

town

Stanm

ore

Peter

sham

Lewisha

m

Summ

er H

ill

Ashfie

ld

Cro

ydon

Burwoo

d

Liverpool

Sefto

n

Rosehill

Camellia

Rydalmere

Dundas

Telopea

Carlingford

St James

Merrylands

Museum

Erskineville

St Peters

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

Como

Jannali

Holsw

orth

y

East H

ills

Panan

ia

Rev

esby

Padstow

River

woo

d

Nar

wee

Bever

ly H

ills

Kings

grov

e

Bexley Nor

th

Bardw

ell P

ark

Turre

lla

Clyde

Olympic Park

Granville

Casula

Leumeah

Minto

Ingleburn

Macquarie Fields

Harris Park

Martin Place

Strathfield

Campbelltown

Flemington

International

Domestic

Mascot

Green SquareRegents Park

Birrong

Mar

rickv

ille

Dulwich

Hill

Hur

lsto

ne P

ark

Can

terb

ury

Cam

psie

Belm

ore

Lake

mba

Wile

y Par

k

Punch

bowl

Banks

town

Yagoo

na

Kings

Cro

ss

Edgec

liff

Bondi Jun

ction

Car

ram

ar

Villawoo

d

Leight

onfie

ld

Che

ster

Hill

Lidcombe

Blacktown

Hom

ebus

h

Warwick Farm

Auburn

Marayong

Quakers Hill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

East Richmond

Richmond

Macarthur

Sydenham

Redfern

Martin Nöllenburg 36 40 Drawing Metro Maps

Page 134: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Sydney: Related Work[Hong et al. GD’04] (7.6 sec.) Our output (10:30 hrs.)

Doons

ide

Rooty

Hill

Mt D

ruitt

St Mar

ys

Wer

ringt

on

Kingsw

ood

Penrit

h

Emu

Plains

Canley Vale

Fairfield

Yennora

Guildford

Berala

Loftus

Engadine

Heathcote

Waterfall

Wynyard

Glenfield

Town Hall

North Sydney

Circula

r Qua

y

Seven Hills

Toongabbie

Pendle Hill

Wentworthville

Westmead

Parramatta

Hornsby

Central

Kirraw

ee

Gymea

Mira

nda

Caring

bah

Woo

loowar

e

Cronu

lla

Normanhurst

Thornleigh

Pennant Hills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

West Ryde

Meadowbank

Rhodes

Concord West

North Strathfield

Tempe

Cabramatta

Sutherland

Wolli Creek

Milsons Point

Asquith

Mt Colah

Mt Kuring−gai

Berowra

Waverton

Wollstonecraft

St Leonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

Mac

dona

ldtow

n

Newto

wn

Stanm

ore

Peter

sham

Lewish

am

Summ

er H

ill

Ashfie

ld

Croyd

on

Burwoo

d

Liverpool

Sefto

n

Rosehill

Camellia

Rydalmere

Dundas

Telopea

Carlingford

St James

Merrylands

Museum

Erskineville

St Peters

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

Como

Jannali

Holswor

thy

East H

ills

Panan

ia

Reves

by

Padsto

w

Riverw

ood

Narwee

Bever

ly Hills

Kingsg

rove

Bexley

Nor

th

Bardw

ell P

ark

Turre

lla

Clyde

Olympic Park

Granville

Casula

Leumeah

Minto

Ingleburn

Macquarie Fields

Harris Park

Martin Place

Strathfield

Campbelltown

Flemington

International

Domestic

Mascot

Green SquareRegents Park

Birrong

Mar

rickv

ille

Dulwich

Hill

Hurlst

one

Park

Cante

rbur

y

Camps

ie

Belmor

e

Lake

mba

Wile

y Par

k

Punch

bowl

Banks

town

Yagoo

na

Kings C

ross

Edgec

liff

Bondi

Junc

tion

Carra

mar

Villawoo

d

Leigh

tonf

ield

Cheste

r Hill

Lidcombe

Blacktown

Homeb

ush

Warwick Farm

Auburn

Marayong

Quakers Hill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

East Richmond

Richmond

Macarthur

Syden

ham

Redfern

Martin Nöllenburg 37 40 Drawing Metro Maps

Page 135: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Sydney: Related Work[Stott, Rodgers TVCG’10] (2 hrs.)

Marayong

QuakersHill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

EastRichmond

Richmond

DoonsideRooty

HillMt

DruittSt

MarysWerrington

Kingswood

Penrith

EmuPlains

Blacktown

SevenHills

ToongabbiePendle

Hill

Wentworthville

Westmead

Parramatta

Rosehill

Camellia

Rydalmere

Dundas

TelopeaCarlingford

Clyde

Granville

CanleyVale

Fairfield

Yennora

Guildford

Merrylands

HarrisPark

Berala

OlympicPark

StrathfieldFlemington

RegentsParkBirrong

Lidcombe

HomebushAuburn

Normanhurst

Thornleigh

PennantHills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

WestRyde

Meadowbank

Rhodes

ConcordWest

NorthStrathfield

Hornsby

Asquith

MtColah

MtKuring-gai

Berowra

Waverton

Wollstonecraft

StLeonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

NorthSydney

CircularQuay

MilsonsPoint

KingsCross

Edgecliff BondiJunction

Wynyard

TownHall

Central

StJames

Museum

MartinPlace

Redfern

Loftus

Engadine

HeathcoteWaterfall

KirraweeGymeaMirandaCaringbah

Woolooware

Cronulla

Sutherland

Como

Jannali

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

WolliCreek

InternationalAirport

DomesticAirport

Mascot

GreenSquare

Holsworthy

EastHills

PananiaRevesby

Padstow Riverwood NarweeBeverly

HillsKingsgrove

BexleyNorth

BardwellPark Turrella

MarrickvilleDulwichHill

HurlstonePark

Canterbury

Campsie

Belmore

Lakemba

WileyPark

Punchbowl

Bankstown

Yagoona

Sydenham

Tempe

Erskineville

StPeters

Macdonaldtown

Newtown

Stanmore

Petersham

Lewisham

SummerHill

AshfieldCroydon

Burwood

Glenfield

Cabramatta

Liverpool

Sefton

Casula

CarramarVillawood

Leightonfield

ChesterHill

WarwickFarm

Leumeah

Minto

Ingleburn

MacquarieFields

Campbelltown

Macarthur

Our output (10:30 hrs.)

Doons

ide

Rooty

Hill

Mt D

ruitt

St Mar

ys

Wer

ringt

on

Kingsw

ood

Penrit

h

Emu

Plains

Canley Vale

Fairfield

Yennora

Guildford

Berala

Loftus

Engadine

Heathcote

Waterfall

Wynyard

Glenfield

Town Hall

North Sydney

Circula

r Qua

y

Seven Hills

Toongabbie

Pendle Hill

Wentworthville

Westmead

Parramatta

Hornsby

Central

Kirraw

ee

Gymea

Mira

nda

Caring

bah

Woo

loowar

e

Cronu

lla

Normanhurst

Thornleigh

Pennant Hills

Beecroft

Cheltenham

Epping

Eastwood

Denistone

West Ryde

Meadowbank

Rhodes

Concord West

North Strathfield

Tempe

Cabramatta

Sutherland

Wolli Creek

Milsons Point

Asquith

Mt Colah

Mt Kuring−gai

Berowra

Waverton

Wollstonecraft

St Leonards

Artarmon

Chatswood

Roseville

Lindfield

Killara

Gordon

Pymble

Turramurra

Warrawee

Wahroonga

Waitara

Mac

dona

ldtow

n

Newto

wn

Stanm

ore

Peter

sham

Lewish

am

Summ

er H

ill

Ashfie

ld

Croyd

on

Burwoo

d

Liverpool

Sefto

n

Rosehill

Camellia

Rydalmere

Dundas

Telopea

Carlingford

St James

Merrylands

Museum

Erskineville

St Peters

Arncliffe

Banksia

Rockdale

Kogarah

Carlton

Allawah

Hurstville

Penshurst

Mortdale

Oatley

Como

Jannali

Holswor

thy

East H

ills

Panan

ia

Reves

by

Padsto

w

Riverw

ood

Narwee

Bever

ly Hills

Kingsg

rove

Bexley

Nor

th

Bardw

ell P

ark

Turre

lla

Clyde

Olympic Park

Granville

Casula

Leumeah

Minto

Ingleburn

Macquarie Fields

Harris Park

Martin Place

Strathfield

Campbelltown

Flemington

International

Domestic

Mascot

Green SquareRegents Park

Birrong

Mar

rickv

ille

Dulwich

Hill

Hurlst

one

Park

Cante

rbur

y

Camps

ie

Belmor

e

Lake

mba

Wile

y Par

k

Punch

bowl

Banks

town

Yagoo

na

Kings C

ross

Edgec

liff

Bondi

Junc

tion

Carra

mar

Villawoo

d

Leigh

tonf

ield

Cheste

r Hill

Lidcombe

Blacktown

Homeb

ush

Warwick Farm

Auburn

Marayong

Quakers Hill

Schofields

Riverstone

Vineyard

Mulgrave

Windsor

Clarendon

East Richmond

Richmond

Macarthur

Syden

ham

Redfern

Martin Nöllenburg 37 40 Drawing Metro Maps

Page 136: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Large Example: London

2 2

2

2

2

45

8 8 6

2

4

4

65

41

3

2

43

3

33 1

1

3

3

59 7 7Special fares apply

5

5

6

4

4River Thames

A

B

C

D

E

F

1 2 3 4 5 6 7 8 9

1 2 3 4 5 76 8 9

A

B

C

D

E

F

This diagram is an evolution of the original design conceived in 1931 by Harry BeckCorrect at time of going to print, October 2010

Transport for LondonMAYOR OF LONDON

Transport for London

AmershamChorleywood

Mill Hill East

Rickmansworth

Perivale

KentishTown West

CamdenRoad

Dalston Kingsland

Hackney CentralWanstead Park

Vauxhall

Hanger Lane

Edgware

Burnt Oak

Colindale

Hendon Central

Brent Cross

Golders Green

West Silvertown

Pontoon Dock

London City Airport

Woolwich Arsenal

King George V

Hampstead

Belsize Park

Chalk Farm

Chalfont &Latimer

Chesham

New Cross Gate

Moor Park

NorthwoodNorthwoodHills

Pinner

North Harrow

Custom House for ExCeL

Prince Regent

Royal Albert

Beckton Park

Cyprus

Gallions Reach

Beckton

Watford

Croxley

Fulham Broadway

LambethNorth

HeathrowTerminal 4

Harrow-on-the-Hill

KensalRise

Canonbury

BethnalGreen

Westferry

SevenSisters

Blackwall

BrondesburyPark

HampsteadHeath

HarringayGreen Lanes

LeytonstoneHigh Road

LeytonMidland Road

NorthwickPark

PrestonRoad

RoyalVictoria

WembleyPark

Rayners Lane

Watford High Street

RuislipGardens

South Ruislip

Greenford

Northolt

South Harrow

Sudbury Hill

Sudbury Town

Alperton

Pimlico

Park Royal

North Ealing

Acton Central

South Acton

Ealing Broadway

Watford Junction

West Ruislip

Bushey

Carpenders Park

Hatch End

North Wembley

West Brompton

Ealing Common

South Kenton

Kenton

Wembley Central

Kensal Green

Queen’s Park

Gunnersbury

Kew Gardens

Richmond

Stockwell

Bow Church

Stonebridge Park

Harlesden

Camden Town

Willesden Junction

Headstone Lane

Parsons Green

Putney Bridge

East Putney

Southfields

Wimbledon Park

Wimbledon

Island Gardens

Greenwich

Deptford Bridge

South Quay

Crossharbour

Mudchute

Heron Quays

West India Quay

Elverson Road

Oakwood

Cockfosters

Southgate

Arnos Grove

Bounds Green

Theydon Bois

Epping

Debden

Loughton

Buckhurst Hill

WalthamstowQueen’s Road

Woodgrange Park

Leytonstone

Leyton

Wood Green

Turnpike Lane

Manor House

Stanmore

Canons Park

Queensbury

Kingsbury

High Barnet

Totteridge & Whetstone

Woodside Park

West Finchley

Finchley Central

Woodford

South Woodford

Snaresbrook

Hainault

Fairlop

Barkingside

Newbury Park

East Finchley

Highgate

Archway

Devons Road

Langdon Park

All Saints

Tufnell Park

Kentish Town

Neasden

Dollis Hill

Willesden Green

South Tottenham

Swiss Cottage

ImperialWharf

Brixton

Kilburn

West Hampstead

Blackhorse Road

Acton Town

CanningTown

Finchley Road

Highbury &Islington

Canary Wharf

Stratford

FinsburyPark

Elephant & Castle

Stepney Green

Barking

East HamUpton Park

Plaistow

Poplar

West Ham

Upper Holloway

PuddingMill Lane

Kennington

Borough

Elm ParkDagenhamEast

DagenhamHeathway

Becontree

Upney

Heathrow Terminal 5

Finchley Road& Frognal

Crouch Hill

Northfields

Boston Manor

South Ealing

Osterley

Hounslow Central

Hounslow East

Clapham North

Oval

Clapham Common

Clapham South

Balham

Tooting Bec

Tooting Broadway

Colliers Wood

South Wimbledon

Arsenal

Holloway Road

Caledonian Road

Morden West Croydon

HounslowWest

Hatton Cross

HeathrowTerminals 1, 2, 3

ClaphamJunction

WestHarrow

BrondesburyCaledonian

Road &Barnsbury

TottenhamHale

WalthamstowCentral

HackneyWick

Homerton

WestActon

Limehouse EastIndia

Crystal Palace

ChiswickPark

RodingValley

GrangeHill

Chigwell

Redbridge

GantsHill

Wanstead

Ickenham

TurnhamGreen

Uxbridge

Hillingdon Ruislip

GospelOak

Mile End

Bow Road

Bromley-by-Bow

Upminster

Upminster Bridge

Hornchurch

Norwood Junction

Sydenham

Forest Hill

Anerley

Penge West

Honor Oak Park

Brockley

Harrow &Wealdstone

Cutty Sark for Maritime Greenwich

RuislipManor

Eastcote

Wapping

Shadwell

New Cross

CanadaWater

Surrey Quays

Whitechapel

Lewisham

Kilburn Park

Regent’s Park

KilburnHigh Road

EdgwareRoad

SouthHampstead

GoodgeStreet

Shepherd’s BushMarket

Goldhawk Road

Hammersmith

Bayswater

Warren Street

Aldgate

Euston

Farringdon

BarbicanRussellSquare

Kensington(Olympia)

MorningtonCrescent

High StreetKensington

Old Street

St. John’s Wood

Green Park

BakerStreet

NottingHill Gate

Victoria

AldgateEast

Blackfriars

Mansion House

Cannon Street

OxfordCircus

BondStreet

TowerHill

Westminster

TottenhamCourt Road

PiccadillyCircus

CharingCross

Holborn

Tower Gateway

Monument

Moorgate

Leicester Square

London Bridge

St. Paul’s

Hyde Park Corner

Knightsbridge

StamfordBrook

RavenscourtPark

WestKensington

NorthActon

HollandPark

Marylebone

Angel

Queensway MarbleArch

SouthKensington

Earl’sCourt

SloaneSquare

Covent Garden

LiverpoolStreet

GreatPortland

Street

Bank

EastActon

ChanceryLane

LancasterGate

Warwick AvenueMaida Vale

Fenchurch Street

Paddington

BaronsCourt

GloucesterRoad St. James’s

Park Temple

Latimer Road

Ladbroke Grove

Royal Oak

Westbourne Park

Bermondsey

Rotherhithe

ShoreditchHigh Street

Dalston Junction

Haggerston

Hoxton

Wood Lane

Shepherd’sBush

WhiteCity

King’s CrossSt. Pancras

EustonSquareEdgware

Road

Waterloo

Southwark

Embankment NorthGreenwichfor The O2

Tube map

Key to lines Check before you travelBakerloo

Central

No special arrangements

Circle

ChigwellGrange HillRoding Valley

Served until about 2400

Hammersmith& City

No special arrangements

Canary WharfJubilee Step-free interchange between Underground, Canary Wharf DLR andHeron Quays DLR stations at street level

Metropolitan Chesham Change at Chalfont & Latimer on most trains

Northern

Blackfriars

Cannon Street

Underground station closed until late 2011Open until 2100 Mondays to Fridays.Closed Saturdaysand Sundays

District Blackfriars

Cannon Street

Kensington (Olympia)

Underground station closed until late 2011Open until 2100 Mondays to Fridays.Closed Saturdaysand Sundays

Camden Town

Charing Cross branch

Mill Hill East

From 1300 until 1730 Sundays open for interchange and exit onlyChange at Kennington at off-peak times if travelling towards or from MordenChange at Finchley Central at off-peak times

Piccadilly Covent Garden

Eastcote to Uxbridge

Heathrow Terminal 4

Hounslow West

Turnham Green

A short walk from either Leicester Square (6 minutes) or Holborn (9 minutes)

Not served by Piccadilly line trains early mornings

Open until 2400 Mondays to Saturdays and until 2330 Sundays. Trains may wait for eight minutes before continuing to Terminals 1,2,3

Step-free access for wheelchair users only

Served by Piccadilly line trains early mornings and late evenings only

No special arrangements

No special arrangements

Heron Quays

West India Quay

Overground

DLR

Victoria

Waterloo & City Bank to Waterloo

Step-free interchange between Heron Quays and Canary Wharf Underground station at street level.

Not served by DLR trains from Bank towards Lewisham at peak times

Open 0615 until 2148 Mondays to Fridays and 0800 until 1830 Saturdays. Closed Sundays and public holidays

Served 0700 until 2345 Mondays to Saturdays and 0800 until 2345 Sundays

Martin Nöllenburg 38 40 Drawing Metro Maps

Page 137: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Large Example: London10:24 hrs.

Martin Nöllenburg 38 40 Drawing Metro Maps

Page 138: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Large Example: London15:08 min.

Martin Nöllenburg 38 40 Drawing Metro Maps

Page 139: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Are we done yet?

more user interactionhow to handle large stations and many parallel lines?formulate global aesthetics like symmetry and balanceoctilinear maps are not necessarily always best – how tocompute curved metro maps?

Martin Nöllenburg 39 40 Drawing Metro Maps

Page 140: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary

METROMAPLAYOUT is NP-hardformulation of hard and soft constraints as MIPcombined layout and labelingMIP size & runtime reductionshigh-quality resultsMIP can schematize any kind of graph sketch

For more info see:

M. Nöllenburg and A. Wolff. Drawing and labeling high-quality metromaps by mixed-integer programming. IEEE Trans. Visualization andComputer Graphics 17(5):626–641, 2011.

Martin Nöllenburg 40 40 Drawing Metro Maps

Page 141: Vorlesung Graphenzeichnen [1ex] Order in the Underground ... · Grafiken mit Perl Perl & LWP Programmieren mit Perl DBI Free as in Freedom Peer-to-Peer The Cathedral &The Bazaar Open

Our ModelNP-HardnessOur Solution

MIP FormulationLabelingExperiments

Summary

METROMAPLAYOUT is NP-hardformulation of hard and soft constraints as MIPcombined layout and labelingMIP size & runtime reductionshigh-quality resultsMIP can schematize any kind of graph sketch

For more info see:

M. Nöllenburg and A. Wolff. Drawing and labeling high-quality metromaps by mixed-integer programming. IEEE Trans. Visualization andComputer Graphics 17(5):626–641, 2011.

Martin Nöllenburg 40 40 Drawing Metro Maps