Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Our ModelNP-HardnessOur Solution
Vorlesung Graphenzeichnen:
Order in the Underground orHow to Automate the Drawing of Metro Maps
Martin Nöllenburg
Lehrstuhl für Algorithmik I
26.06.2008
Martin Nöllenburg 1 42 Drawing Metro Maps
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 FormulationExperimentsLabeling
Martin Nöllenburg 2 42 Drawing Metro Maps
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 FormulationExperimentsLabeling
Martin Nöllenburg 3 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
What is a Metro Map?Hard and Soft Constraints
What is a Metro Map?
schematic diagram for public transport
visualizes 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 42 Drawing Metro Maps
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 stations
goal: 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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 scale
improves readabilitycompromise betweenschematic road map↔ abstract graph
Martin Nöllenburg 4 42 Drawing Metro Maps
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 readability
compromise betweenschematic road map↔ abstract graph
Martin Nöllenburg 4 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 pathwaysweb page mapsproduct lines
VLSI: X-architecturedrawing sketches
[Brandes et al. ’03]
Martin Nöllenburg 5 42 Drawing Metro Maps
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 pathwaysweb page mapsproduct lines
VLSI: X-architecturedrawing 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 42 Drawing Metro Maps
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
web page mapsproduct lines
VLSI: X-architecturedrawing sketches
[Brandes et al. ’03]
Martin Nöllenburg 5 42 Drawing Metro Maps
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 pathwaysweb page maps
product lines
VLSI: X-architecturedrawing sketches
[Brandes et al. ’03]
Martin Nöllenburg 5 42 Drawing Metro Maps
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 pathwaysweb page mapsproduct lines
VLSI: X-architecturedrawing 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 42 Drawing Metro Maps
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 pathwaysweb page mapsproduct lines
VLSI: X-architecture
drawing sketches[Brandes et al. ’03]
Martin Nöllenburg 5 42 Drawing Metro Maps
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 pathwaysweb page mapsproduct lines
VLSI: X-architecturedrawing sketches
[Brandes et al. ’03]
Martin Nöllenburg 5 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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
Martin Nöllenburg 7 42 Drawing Metro Maps
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
Martin Nöllenburg 7 42 Drawing Metro Maps
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
Martin Nöllenburg 7 42 Drawing Metro Maps
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
Martin Nöllenburg 7 42 Drawing Metro Maps
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 its relative position
Martin Nöllenburg 8 42 Drawing Metro Maps
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 itsgeographical orientation: keep its relative position
Martin Nöllenburg 8 42 Drawing Metro Maps
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 its relative position
Martin Nöllenburg 8 42 Drawing Metro Maps
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 FormulationExperimentsLabeling
Martin Nöllenburg 9 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Another 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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Another 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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Another 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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Another 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 42 Drawing Metro Maps
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?
Theorem (Nöllenburg MSc’05)METROMAPLAYOUT is NP-hard.
Proof.By Reduction from PLANAR 3-SAT to METROMAPLAYOUT.
Martin Nöllenburg 11 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT
Clause Gadget
Martin Nöllenburg 15 42 Drawing Metro Maps
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 FormulationExperimentsLabeling
Martin Nöllenburg 17 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 (Nöllenburg & Wolff GD’05)
The problem MetroMapLayout can be formulated as a MIP s.th.hard constraints → linear constraintssoft constraints → objective function
Martin Nöllenburg 18 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Octilinearity and Relative Position
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Octilinearity and Relative Position
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Octilinearity and Relative Position
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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: αprev(u, v) = 1
y(u)− y(v) ≤ 0−y(u) + y(v) ≤ 0
x(u)− x(v) ≥ `uv
Martin Nöllenburg 21 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Octilinearity and Relative Position
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Octilinearity and Relative Position
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Preserving the Embedding
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Preserving the Embedding
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Preserving the Embedding
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
0
13
7
Martin Nöllenburg 24 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Preserving the Embedding
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
0
13
7Martin Nöllenburg 24 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
E
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
NE
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
N
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
NW
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
W
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
SW
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
S
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
SE
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Planarity
Observation
For octilinear, straight edge e1non-intersecting edge e2 must be placed
east, northeast, north, northwest,west, southwest, south, or southeast
SE
Constraintsmodel as MIP with binary variablesneed planarity constraints for each pair of non-incidentedges
Martin Nöllenburg 25 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ L
draw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 line L ∈ Ldraw as straight as possibleincreasing cost bend(u, v ,w) forincreasing acuteness of ∠(uv , vw)
costbends =∑L∈L
∑uv ,vw∈L
bend(u, v ,w)
Martin Nöllenburg 26 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 28 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 28 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 28 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 28 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 28 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 29 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 30 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 30 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 30 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 30 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 30 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
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 s
1 interrupt CPLEX2 if s is not planar
add planarity constraints for edges that intersect in sreject s
elseaccept s
3 continue solving the MIP (until optimal)
Martin Nöllenburg 31 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – Vienna
Input Input |V | |E | fcs. |L|normal 90 96reduced 44 50 8 5
Martin Nöllenburg 32 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – Vienna
Input Input |V | |E | fcs. |L|normal 90 96reduced 44 50 8 5
↓MIP constr. var.
normal 39,363 9,960faces 23,226 6,048callback? 1,875 872
Martin Nöllenburg 32 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – Vienna
Input Input |V | |E | fcs. |L|normal 90 96reduced 44 50 8 5
↓MIP constr. var.
normal 39,363 9,960faces 23,226 6,048callback? 1,875 872
?) 21 seconds w/o proof of opt.
Martin Nöllenburg 32 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – Vienna
Input Output (21 sec.)
Martin Nöllenburg 32 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – Vienna
Official maps Output (21 sec.)
Martin Nöllenburg 32 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – SydneyInput Input |V | |E | fcs. |L|
normal 174 183reduced 67 76
11 10
Martin Nöllenburg 33 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – SydneyInput Input |V | |E | fcs. |L|
normal 174 183reduced 67 76
11 10
↓MIP constr. var.
normal 93,620 23,389faces 52,568 13,437callback? 4,147 6,741
Martin Nöllenburg 33 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – SydneyInput Input |V | |E | fcs. |L|
normal 174 183reduced 67 76
11 10
↓MIP constr. var.
normal 93,620 23,389faces 52,568 13,437callback? 4,147 6,741
?) 33 seconds w/o proof of opt.?) constr. of 4 edge pairs added
Martin Nöllenburg 33 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – SydneyInput Output (33 sec.)
Martin Nöllenburg 33 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Results – SydneyOfficial map Output (33 sec.)
Martin Nöllenburg 33 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Sydney: Related Work[Hong et al. GD’04] (7.6 sec.) Our output (33 sec.)
Martin Nöllenburg 34 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Sydney: Related Work[Stott, Rodgers IV’04] (4 min.) Our output (33 sec.)
Martin Nöllenburg 34 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Sydney: Related Work[Stott, Rodgers IV’04] (28 min.) Our output (33 sec.)
Martin Nöllenburg 34 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Large Maps
London
Martin Nöllenburg 35 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Large Maps
London (16 min.)
Martin Nöllenburg 35 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Large Maps
Tokyo
Martin Nöllenburg 35 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Large Maps
Tokyo (4:50 hrs.)
Martin Nöllenburg 35 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling
unlabeled metro map oflittle use in practice
labelsoccupy spacemay not overlap
static map labeling isNP-hard
[Tollis, Kakoulis ’01]want to combine layout andlabeling for better results
N8
N7
N6
N5
N4
N3
N2
N1
N4
Martin Nöllenburg 36 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling
unlabeled metro map oflittle use in practicelabels
occupy spacemay not overlap
static map labeling isNP-hard
[Tollis, Kakoulis ’01]want to 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 36 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling
unlabeled metro map oflittle use in practicelabels
occupy spacemay not overlap
static map labeling isNP-hard
[Tollis, Kakoulis ’01]
want to 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 36 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling
unlabeled metro map oflittle use in practicelabels
occupy spacemay not overlap
static map labeling isNP-hard
[Tollis, Kakoulis ’01]want to 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 36 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Modeling Labels
Model labels as special metro lines:
put all labels between apair 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 37 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Modeling Labels
Model labels as special metro lines:
put all labels between apair 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 37 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Modeling Labels
Model labels as special metro lines:
put all labels between apair 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 37 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Modeling Labels
Model labels as special metro lines:
put all labels between apair 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 37 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Modeling Labels
Model labels as special metro lines:
put all labels between apair 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 37 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – MontréalInput Input |V | |E | fcs. |L|
normal 65 66reduced 20 21 3 4labeled 62 74 14
Martin Nöllenburg 38 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – MontréalInput Input |V | |E | fcs. |L|
normal 65 66reduced 20 21 3 4labeled 62 74 14
↓MIP constr. var.
normal 86,493 21,209faces 32,208 8,049callback? 4,400 8,049
Martin Nöllenburg 38 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – MontréalInput Input |V | |E | fcs. |L|
normal 65 66reduced 20 21 3 4labeled 62 74 14
↓MIP constr. var.
normal 86,493 21,209faces 32,208 8,049callback? 4,400 8,049
?) 17 minutes w/o proof of opt.constr. of 60 edge pairs added
Martin Nöllenburg 38 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – MontréalInput Output (17 min.)
Georges-Vanier
Lucien L’Allier
Bonaventure
Square-Victoria
Place d’Armes
Champ-de-MarsSnowdon
Lionel Groulx
Place-Saint-Henri
Vendome
Villa-Maria
Beaudry
Papineau
Frontenac
Prefontaine
Joliette
Pie-IX
Viau
Assomption
Cadillac
Langelier
Radisson
Honore-Beaugrand
Jarry
Cremazie
Sauve
Henri-Bourassa
Cote-Sainte-Catherine
Plamondon
Namur
De La Savanne
Du College
Cote-Vertu
Beaubien
Rosemont
Laurier
Mont-Royal
Sherbrooke
Jean-Drapeau
Longueil
Charlevoix
LaSalle
De L’Eglise
Verdun
Jolicoeur
Monk
Angrignon
De Castelnau
Parc
Acadie
Outremont
Edouard-Montpetit
Universite-de-Montreal
Cote-des-NeigesBerri-UQAM
Fabre
D’Iberville
Saint-Michel
Jean-Talon
Saint-Laurent
Place-des-Arts
McGill
Peel
Guy-Concordia
Atwater
Martin Nöllenburg 38 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – Montréal
Georges-Vanier
Lucien L’Allier
Bonaventure
Square-Victoria
Place d’Armes
Champ-de-MarsSnowdon
Lionel Groulx
Place-Saint-Henri
Vendome
Villa-Maria
Beaudry
Papineau
Frontenac
Prefontaine
Joliette
Pie-IX
Viau
Assomption
Cadillac
Langelier
Radisson
Honore-Beaugrand
Jarry
Cremazie
Sauve
Henri-Bourassa
Cote-Sainte-Catherine
Plamondon
Namur
De La Savanne
Du College
Cote-Vertu
Beaubien
Rosemont
Laurier
Mont-Royal
Sherbrooke
Jean-Drapeau
Longueil
Charlevoix
LaSalle
De L’Eglise
Verdun
Jolicoeur
Monk
Angrignon
De Castelnau
Parc
Acadie
Outremont
Edouard-Montpetit
Universite-de-Montreal
Cote-des-NeigesBerri-UQAM
Fabre
D’Iberville
Saint-Michel
Jean-Talon
Saint-Laurent
Place-des-Arts
McGill
Peel
Guy-Concordia
Atwater
Martin Nöllenburg 38 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – ViennaInput Input |V | |E | fcs. |L|
normal 90 96reduced 44 50 8 5labeled 98 117 21
Martin Nöllenburg 39 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – ViennaInput Input |V | |E | fcs. |L|
normal 90 96reduced 44 50 8 5labeled 98 117 21
↓MIP constr. var.
normal 219,064 53,538faces 51,160 12,834callback? 9,144 12,834
Martin Nöllenburg 39 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – ViennaInput Input |V | |E | fcs. |L|
normal 90 96reduced 44 50 8 5labeled 98 117 21
↓MIP constr. var.
normal 219,064 53,538faces 51,160 12,834callback? 9,144 12,834
?) 1 day w/o proof of opt.constr. of 160 edge pairs added
Martin Nöllenburg 39 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – ViennaInput Output (1 day)
Museumsquartier
Vorgartenstrasse
Donauinsel
VIC Kaisermuehlen
Alte Donau
Kagran
Kagraner Platz
Rennbahnweg
Aderklaaer Strasse
Grossfeldsiedlung
Leopoldau
Rochu
sgas
se
Kardin
al-Nag
el-Plat
z
Schlac
htha
usga
sse
Erdbe
rg
Gasom
eter
Zipper
erstr
asse
Enkpla
tz
Simm
ering
Taubstummengasse
Suedtiroler Platz
Keplerplatz
Reumannplatz
Schwedenplatz
Spittelau
Land
stras
se
Rossauer Laende
Friedensbruecke
Neuba
ugas
se
Ziegler
gass
e
Meid
ling
Haupt
stras
se
Schoe
nbru
nn
Hietzin
g
Braun
schw
eigga
sse
Unter
St.
Veit
Ober S
t. Veit
Huette
ldorf
Schot
tenr
ing
Schweg
lerstr
asse
John
stras
se
Huette
ldorfe
r Stra
sse
Kendle
rstra
sse
Ottakr
ing
Heiligenstadt
Gumpendorfer StrasseKarlsplatz
Praterstern
Nussdorfer Strasse
Waehringer Strasse Volksoper
Michelbeuern AKH
Alser Strasse
Josefstaedter Strasse
Thaliastrasse
Burggasse Stadthalle
Stube
ntor
Mar
gare
teng
uerte
l
Pilgra
mga
sse
Kette
nbru
ecke
ngas
se
Wes
tbah
nhof
Herre
ngas
se
Nestroyplatz
Schottentor Universitaet
Rathaus
Stadtpark
Messe
Trabrennstrasse
Stadion
Donaustadtbr?cke
Seestern
Stadlau
Hardeggasse
Donauspital
Aspernstrasse
Jaegerstrasse
Dresdner Strasse
Handelskai
Neue Donau
Floridsdorf
Steph
ansp
latz C
ity
Laen
genf
eldga
sse
Tabor
stras
se
Volksth
eate
r
Niederhofstrasse
Philadelphiabruecke
Tscherttegasse
Am Schoepfwerk
Alterlaa
Erlaaer Strasse
Perfektastrasse
Siebenhirten
Martin Nöllenburg 39 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Labeling – Vienna
Museumsquartier
Vorgartenstrasse
Donauinsel
VIC Kaisermuehlen
Alte Donau
Kagran
Kagraner Platz
Rennbahnweg
Aderklaaer Strasse
Grossfeldsiedlung
Leopoldau
Rochu
sgas
se
Kardin
al-Nag
el-Plat
z
Schlac
htha
usga
sse
Erdbe
rg
Gasom
eter
Zipper
erstr
asse
Enkpla
tz
Simm
ering
Taubstummengasse
Suedtiroler Platz
Keplerplatz
Reumannplatz
Schwedenplatz
Spittelau
Land
stras
se
Rossauer Laende
Friedensbruecke
Neuba
ugas
se
Ziegler
gass
e
Meid
ling
Haupt
stras
se
Schoe
nbru
nn
Hietzin
g
Braun
schw
eigga
sse
Unter
St.
Veit
Ober S
t. Veit
Huette
ldorf
Schot
tenr
ing
Schweg
lerstr
asse
John
stras
se
Huette
ldorfe
r Stra
sse
Kendle
rstra
sse
Ottakr
ing
Heiligenstadt
Gumpendorfer StrasseKarlsplatz
Praterstern
Nussdorfer Strasse
Waehringer Strasse Volksoper
Michelbeuern AKH
Alser Strasse
Josefstaedter Strasse
Thaliastrasse
Burggasse Stadthalle
Stube
ntor
Mar
gare
teng
uerte
l
Pilgra
mga
sse
Kette
nbru
ecke
ngas
se
Wes
tbah
nhof
Herre
ngas
se
Nestroyplatz
Schottentor Universitaet
Rathaus
Stadtpark
Messe
Trabrennstrasse
Stadion
Donaustadtbr?cke
Seestern
Stadlau
Hardeggasse
Donauspital
Aspernstrasse
Jaegerstrasse
Dresdner Strasse
Handelskai
Neue Donau
Floridsdorf
Steph
ansp
latz C
ity
Laen
genf
eldga
sse
Tabor
stras
se
Volksth
eate
r
Niederhofstrasse
Philadelphiabruecke
Tscherttegasse
Am Schoepfwerk
Alterlaa
Erlaaer Strasse
Perfektastrasse
Siebenhirten
Martin Nöllenburg 39 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
To Do: Rectangular Stations & Multi-Edges
Martin Nöllenburg 40 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Summary (Metro Maps)
METROMAPLAYOUT is NP-hard.Formulated and implemented MIP.Results comparable to manually designed maps.Reduced MIP size & runtime drastically.Combined layout and labeling.Our MIP can draw any kind of sketch “nicely”.
To Do
rectangular stationsmulti-edgesuser interaction (e.g. fixing certain edge directions)
Martin Nöllenburg 41 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Summary (Metro Maps)
METROMAPLAYOUT is NP-hard.Formulated and implemented MIP.Results comparable to manually designed maps.Reduced MIP size & runtime drastically.Combined layout and labeling.Our MIP can draw any kind of sketch “nicely”.
To Do
rectangular stationsmulti-edgesuser interaction (e.g. fixing certain edge directions)
Martin Nöllenburg 41 42 Drawing Metro Maps
Our ModelNP-HardnessOur Solution
MIP FormulationExperimentsLabeling
Thank you for the attention.
Any questions?
Martin Nöllenburg 42 42 Drawing Metro Maps