158
Our Model NP-Hardness Our Solution Vorlesung Graphenzeichnen: Order in the Underground or How 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

Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 2: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 3: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 4: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 5: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 6: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 7: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 8: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 9: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 10: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 11: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 12: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 13: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 14: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 15: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 16: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 17: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 18: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 19: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 20: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 21: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 22: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 23: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 24: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 25: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 26: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 27: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 28: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 29: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 30: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 31: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 32: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 33: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 34: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 35: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 36: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 37: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 38: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 39: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 40: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 41: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 42: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 43: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 44: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 45: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 46: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 47: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

Rectilinear vs. Octilinear DrawingReduction from PLANAR 3-SAT

Clause Gadget

Martin Nöllenburg 15 42 Drawing Metro Maps

Page 48: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 49: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 50: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 51: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 52: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 53: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 54: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 55: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 56: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 57: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 58: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 59: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 60: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 61: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 62: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 63: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 64: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 65: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 66: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 67: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 68: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 69: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 70: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 71: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 72: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 73: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 74: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 75: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 76: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 77: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 78: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 79: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 80: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 81: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 82: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 83: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 84: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 85: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 86: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 87: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 88: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 89: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 90: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 91: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 92: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 93: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 94: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 95: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 96: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 97: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 98: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 99: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 100: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 101: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 102: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 103: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 104: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 105: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 106: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 107: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 108: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 109: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 110: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 111: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 112: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 113: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 114: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 115: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 116: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 117: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 118: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 119: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 120: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 121: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 122: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Results – Vienna

Input Output (21 sec.)

Martin Nöllenburg 32 42 Drawing Metro Maps

Page 123: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Results – Vienna

Official maps Output (21 sec.)

Martin Nöllenburg 32 42 Drawing Metro Maps

Page 124: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 125: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 126: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 127: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Results – SydneyInput Output (33 sec.)

Martin Nöllenburg 33 42 Drawing Metro Maps

Page 128: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Results – SydneyOfficial map Output (33 sec.)

Martin Nöllenburg 33 42 Drawing Metro Maps

Page 129: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 130: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 131: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 132: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Large Maps

London

Martin Nöllenburg 35 42 Drawing Metro Maps

Page 133: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Large Maps

London (16 min.)

Martin Nöllenburg 35 42 Drawing Metro Maps

Page 134: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Large Maps

Tokyo

Martin Nöllenburg 35 42 Drawing Metro Maps

Page 135: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Large Maps

Tokyo (4:50 hrs.)

Martin Nöllenburg 35 42 Drawing Metro Maps

Page 136: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 137: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 138: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 139: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 140: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 141: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 142: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 143: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 144: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 145: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 146: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 147: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 148: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 149: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 150: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 151: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 152: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 153: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 154: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 155: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

To Do: Rectangular Stations & Multi-Edges

Martin Nöllenburg 40 42 Drawing Metro Maps

Page 156: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 157: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

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

Page 158: Vorlesung Graphenzeichnen: Order in the Underground or · Vorlesung Graphenzeichnen: Order in the Underground or How to Automate the Drawing of Metro Maps ... mit Perl Regul re Ausdr

Our ModelNP-HardnessOur Solution

MIP FormulationExperimentsLabeling

Thank you for the attention.

Any questions?

Martin Nöllenburg 42 42 Drawing Metro Maps