algorithmen für routenplanung - kit - iti algorithmik i...mill hill east rickmansworth perivale...

100
INSTITUT FÜR THEORETISCHE INFORMATIK · ALGORITHMIK · PROF.DR.DOROTHEA WAGNER Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2014 Julian Dibbelt | 16. April 2014 KIT – Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Upload: others

Post on 02-Nov-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

INSTITUT FÜR THEORETISCHE INFORMATIK · ALGORITHMIK · PROF. DR. DOROTHEA WAGNER

Algorithmen für Routenplanung2. Sitzung, Sommersemester 2014

Julian Dibbelt | 16. April 2014

KIT – Universität des Landes Baden-Württemberg undnationales Großforschungszentrum in der Helmholtz-Gemeinschaft

www.kit.edu

Page 2: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Fahrplanauskunft

Transport for London August 2011

Key to symbols Explanation of zones

1

3

45

6

2

7

8

9

Station in both zones

Station in both zones

Station in both zones

Station in Zone 9

Station in Zone 6

Station in Zone 5

Station in Zone 3Station in Zone 2

Station in Zone 1

Station in Zone 4

Station in Zone 8

Station in Zone 7

Station closed

Riverboat services

AirportTramlink

Interchange stations

Step-free access from street to platform

Step-free access from street to train

National Rail

Blackfriars

Check before you travel

Key to lines

Bank Waterloo & City line open 0615 until 2148 Mondays to Fridays and 0800 until 1830 Saturdays. Closed Sundays and Public Holidays---------------------------------------------------------------------------Blackfriars Underground station closed until late 2011---------------------------------------------------------------------------Camden Town From 1300 until 1730 Sundays open for interchange and exit only---------------------------------------------------------------------------Canary Wharf Step-free interchange between Underground, Canary Wharf DLR and Heron Quays DLR stations at street level---------------------------------------------------------------------------Cannon Street Open until 2100 Mondays to Fridays. Closed Saturdays and Sundays---------------------------------------------------------------------------Heron Quays Step-free interchange between Heron Quays and Canary Wharf Underground station at street level---------------------------------------------------------------------------Hounslow West Step-free access for wheelchair users only---------------------------------------------------------------------------Tottenham Northern line trains will not Court Road stop at Tottenham Court Road until late 2011 ---------------------------------------------------------------------------Turnham Green Served by Piccadilly line trains early mornings and late evenings only---------------------------------------------------------------------------Victoria Major escalator refurbishment works until early 2012. Use nearby stations or alternative routes---------------------------------------------------------------------------Waterloo Waterloo & City line open 0615 until 2148 Mondays to Fridays and 0800 until 1830 Saturdays. Closed Sundays and Public Holidays---------------------------------------------------------------------------West India Quay Not served by DLR trains from Bank towards Lewisham before 1900 on Mondays to Fridays---------------------------------------------------------------------------

Northern

Metropolitan

Victoria

District

Circle

Central

Bakerloo

DLR

London Overground

Piccadilly

Waterloo & City

Jubilee

Hammersmith & City

River Thames

A

B

C

D

E

F

1 2 3 4 5 6 7 8 9

1 2 3 4 5 76 8 9

A

B

C

D

E

F

2 2

22

2

5

8 8 6

2

4

4

65

41

3

2

43

3

36 3 1

1

3

3

59 7 7Special fares apply

5

5

4

4

4

AmershamChorleywood

Mill Hill East

Rickmansworth

Perivale

KentishTown West

CamdenRoad

Dalston Kingsland

Wanstead Park

Vauxhall

Hanger Lane

Edgware

Burnt Oak

Colindale

Hendon Central

Brent Cross

Golders Green

West Silvertown

Pontoon Dock

London City Airport

Woolwich Arsenal

King George V

Hampstead

Belsize Park

Chalk Farm

Chalfont &Latimer

Chesham

New Cross Gate

Moor Park

NorthwoodNorthwoodHills

Pinner

North Harrow

Custom House for ExCeL

Prince Regent

Royal Albert

Beckton Park

Cyprus

Gallions Reach

Beckton

Watford

Croxley

Fulham Broadway

LambethNorth

HeathrowTerminal 4

Harrow-on-the-Hill

KensalRise

BethnalGreen

Westferry

SevenSisters

Blackwall

BrondesburyPark

HampsteadHeath

HarringayGreen Lanes

LeytonstoneHigh Road

LeytonMidland Road

Hackney Central

NorthwickPark

PrestonRoad

RoyalVictoria

WembleyPark

Rayners Lane

Watford High Street

RuislipGardens

South Ruislip

Greenford

Northolt

South Harrow

Sudbury Hill

Sudbury Town

Alperton

Pimlico

Park Royal

North Ealing

Acton Central

South Acton

Ealing Broadway

Watford Junction

West Ruislip

Bushey

Carpenders Park

Hatch End

North Wembley

West Brompton

Ealing Common

South Kenton

Kenton

Wembley Central

Kensal Green

Queen’s Park

Gunnersbury

Kew Gardens

Richmond

Stockwell

Bow Church

Stonebridge Park

Harlesden

Camden Town

Willesden Junction

Headstone Lane

Parsons Green

Putney Bridge

East Putney

Southfields

Wimbledon Park

Wimbledon

Island Gardens

Greenwich

Deptford Bridge

South Quay

Crossharbour

Mudchute

Heron Quays

West India Quay

Elverson Road

Oakwood

Cockfosters

Southgate

Arnos Grove

Bounds Green

Theydon Bois

Epping

Debden

Loughton

Buckhurst Hill

WalthamstowQueen’s Road

Woodgrange Park

Leytonstone

Leyton

Wood Green

Turnpike Lane

Manor House

Stanmore

Canons Park

Queensbury

Kingsbury

High Barnet

Totteridge & Whetstone

Woodside Park

West Finchley

Finchley CentralWoodford

South Woodford

Snaresbrook

Hainault

Fairlop

Barkingside

Newbury Park

East Finchley

Highgate

Archway

Devons Road

Langdon Park

All Saints

Tufnell Park

Kentish Town

Neasden

Dollis Hill

Willesden Green

South Tottenham

Swiss Cottage

ImperialWharf

Brixton

Kilburn

West Hampstead

Blackhorse Road

Acton Town

CanningTown

Finchley Road

Highbury &Islington

Canary Wharf

Stratford

StratfordInternational

FinsburyPark

Elephant & Castle

Stepney Green

Barking

East Ham

Plaistow

Upton Park

Poplar

West Ham

Upper Holloway

PuddingMill Lane

Kennington

Borough

Elm ParkDagenham

East

DagenhamHeathway

Becontree

Upney

Heathrow Terminal 5

Finchley Road& Frognal

Crouch Hill

Northfields

Boston Manor

South Ealing

Osterley

Hounslow Central

Hounslow East

Clapham North

Oval

Clapham Common

Clapham South

Balham

Tooting Bec

Tooting Broadway

Colliers Wood

South Wimbledon

Arsenal

Holloway Road

Caledonian Road

Morden

West Croydon

HounslowWest

Hatton Cross

HeathrowTerminals 1, 2, 3

ClaphamJunction

WestHarrow

Brondesbury CaledonianRoad &

Barnsbury

TottenhamHale

WalthamstowCentral

HackneyWick

Homerton

WestActon

Limehouse EastIndia

Crystal Palace

ChiswickPark

RodingValley

GrangeHill

Chigwell

Redbridge

GantsHill

Wanstead

NorthGreenwichfor The O2

Ickenham

TurnhamGreen

Uxbridge

Hillingdon Ruislip

GospelOak

Mile End

Bow Road

Bromley-by-Bow

Upminster

Upminster Bridge

Hornchurch

Norwood Junction

Sydenham

Forest Hill

Anerley

Penge West

Honor Oak Park

Brockley

Harrow &Wealdstone

Cutty Sark for Maritime Greenwich

Ruislip Manor

Eastcote

Wapping

Shadwell

New Cross

CanadaWater

Surrey Quays

Whitechapel

Lewisham

Kilburn Park

Regent’s Park

KilburnHigh Road

EdgwareRoad

SouthHampstead

GoodgeStreet

Shepherd’s BushMarket

Goldhawk Road

Hammersmith

Bayswater

Warren Street

Aldgate

Euston

Farringdon

BarbicanRussellSquare

Kensington(Olympia)

MorningtonCrescent

High StreetKensington

Old Street

St. John’s Wood

Green Park

BakerStreet

NottingHill Gate

Victoria

AldgateEast

Blackfriars

Mansion House

Cannon Street

OxfordCircus

BondStreet

TowerHill

Westminster

PiccadillyCircus

CharingCross

Holborn

Tower Gateway

Monument

Moorgate

Leicester Square

London Bridge

St. Paul’s

Hyde Park Corner

Knightsbridge

StamfordBrook

RavenscourtPark

WestKensington

NorthActon

HollandPark

Marylebone

Angel

Queensway MarbleArch

SouthKensington

Earl’sCourt

SloaneSquare

Covent Garden

LiverpoolStreet

GreatPortland

Street

Bank

EastActon

ChanceryLane

LancasterGate

Warwick AvenueMaida Vale

Fenchurch Street

Paddington

BaronsCourt

GloucesterRoad St. James’s

Park Temple

Latimer Road

Ladbroke Grove

Royal Oak

Westbourne Park

Bermondsey

Rotherhithe

ShoreditchHigh Street

Dalston Junction

Haggerston

Hoxton

Wood Lane

Shepherd’sBush

WhiteCity

King’s CrossSt. Pancras

EustonSquareEdgware

Road

Southwark

Embankment

Stratford High Street

Abbey Road

Star Lane

Waterloo

TottenhamCourt Road

Canonbury

Julian Dibbelt – Algorithmen für RoutenplanungFolie 2 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 3: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Abgrenzung zu Straßennetzwerken

Eingabe bei StraßennetzenStraßenkarte bestehend ausKreuzungenStraßensegmentenVerschiedene Metriken (Reisezeit, Distanz, . . . )

Was ist Eingabe bei der Fahrplanauskunft?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 3 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 4: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Abgrenzung zu Straßennetzwerken

Eingabe bei StraßennetzenStraßenkarte bestehend ausKreuzungenStraßensegmentenVerschiedene Metriken (Reisezeit, Distanz, . . . )

Was ist Eingabe bei der Fahrplanauskunft?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 3 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 5: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

FahrpläneGegeben (Fahrplan):

Menge B von Bahnhöfen (Stops, Bahnsteigen, . . . ),Menge Z von Zügen (Bussen, Trams, etc)Menge C von elementaren VerbindungenZur Modellierung von Umstiegen:

Mindestumstiegszeiten am Bahnhof: transfer : B → N.Fußwege zwischen (nahen) Bahnhöfen: footpath : B × B → N

Elementare Verbindung: Tupel bestehend ausZug Z ∈ ZAbfahrtsbahnhof Sdep ∈ BZielbahnhof Sarr ∈ BAbfahrtszeit τdep ∈ Π

Ankunftszeit τarr ∈ Π

Interpretation: Zug Z fährt von Sdep nach Sarr ohneZwischenhalt von τdep bis τarr Uhr

Julian Dibbelt – Algorithmen für RoutenplanungFolie 4 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 6: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

FahrpläneGegeben (Fahrplan):

Menge B von Bahnhöfen (Stops, Bahnsteigen, . . . ),Menge Z von Zügen (Bussen, Trams, etc)Menge C von elementaren VerbindungenZur Modellierung von Umstiegen:

Mindestumstiegszeiten am Bahnhof: transfer : B → N.Fußwege zwischen (nahen) Bahnhöfen: footpath : B × B → N

Elementare Verbindung: Tupel bestehend ausZug Z ∈ ZAbfahrtsbahnhof Sdep ∈ BZielbahnhof Sarr ∈ BAbfahrtszeit τdep ∈ Π

Ankunftszeit τarr ∈ Π

Interpretation: Zug Z fährt von Sdep nach Sarr ohneZwischenhalt von τdep bis τarr Uhr

Julian Dibbelt – Algorithmen für RoutenplanungFolie 4 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 7: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

FahrpläneGegeben (Fahrplan):

Menge B von Bahnhöfen (Stops, Bahnsteigen, . . . ),Menge Z von Zügen (Bussen, Trams, etc)Menge C von elementaren VerbindungenZur Modellierung von Umstiegen:

Mindestumstiegszeiten am Bahnhof: transfer : B → N.Fußwege zwischen (nahen) Bahnhöfen: footpath : B × B → N

Elementare Verbindung: Tupel bestehend ausZug Z ∈ ZAbfahrtsbahnhof Sdep ∈ BZielbahnhof Sarr ∈ BAbfahrtszeit τdep ∈ Π

Ankunftszeit τarr ∈ Π

Interpretation: Zug Z fährt von Sdep nach Sarr ohneZwischenhalt von τdep bis τarr Uhr

Julian Dibbelt – Algorithmen für RoutenplanungFolie 4 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 8: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Fahrpläne II

TripsFahrt eines Zuges ZVon Endstation zu EndstationAbfahrten an den Stops zu bestimmten Zeiten

RoutenPartitionierung der TripsZwei Trips t1, t2 gehören zur gleichen Route, gdw.t1 und t2 folgen der genau gleichen Sequenz von Stops

Julian Dibbelt – Algorithmen für RoutenplanungFolie 5 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 9: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Fahrpläne II

TripsFahrt eines Zuges ZVon Endstation zu EndstationAbfahrten an den Stops zu bestimmten Zeiten

RoutenPartitionierung der TripsZwei Trips t1, t2 gehören zur gleichen Route, gdw.t1 und t2 folgen der genau gleichen Sequenz von Stops

Julian Dibbelt – Algorithmen für RoutenplanungFolie 5 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 10: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Fahrpläne, Beispiel

Beispiel für einen Fahrplan: Menge elementarer Verbindungen

(IR 2269, Karlsruhe Hbf, Pforzheim Hbf, 10:05, 10:23)(IR 2269, Pforzheim Hbf, Muehlacker, 10:25, 10:33)(IR 2269, Muehlacker, Vaihingen(Enz), 10:34, 10:40)(IR 2269, Vaihingen(Enz), Stuttgart Hbf, 10:41, 10:57)...(ICE 791, Stuttgart Hbf, Ulm Hbf, 11:12, 12:06)(ICE 791, Ulm Hbf, Augsburg Hbf, 12:08, 12:47)(ICE 791, Augsburg Hbf, Muenchen Hbf, 12:49, 13:21)

mit Zug-ID, Abfahrtshalt, Ankunftshalt und Anfahrts-/Ankunftszeit.

Weiteres: (kurze) Fußwege für Umstiege, z.B. Bahnhof zuBahnhofsvorplatz; Mindestumstiegszeiten

Frage: Wie Fahrplan modellieren?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 6 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 11: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Fahrpläne, Beispiel

Beispiel für einen Fahrplan: Menge elementarer Verbindungen

(IR 2269, Karlsruhe Hbf, Pforzheim Hbf, 10:05, 10:23)(IR 2269, Pforzheim Hbf, Muehlacker, 10:25, 10:33)(IR 2269, Muehlacker, Vaihingen(Enz), 10:34, 10:40)(IR 2269, Vaihingen(Enz), Stuttgart Hbf, 10:41, 10:57)...(ICE 791, Stuttgart Hbf, Ulm Hbf, 11:12, 12:06)(ICE 791, Ulm Hbf, Augsburg Hbf, 12:08, 12:47)(ICE 791, Augsburg Hbf, Muenchen Hbf, 12:49, 13:21)

mit Zug-ID, Abfahrtshalt, Ankunftshalt und Anfahrts-/Ankunftszeit.

Weiteres: (kurze) Fußwege für Umstiege, z.B. Bahnhof zuBahnhofsvorplatz; Mindestumstiegszeiten

Frage: Wie Fahrplan modellieren?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 6 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 12: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung von Fahrplänen

Zwei grundlegende Ansätze1 Modellierung als gerichteter Graph2 Keine besondere Modellierung (benutze Fahrplan "direkt")

Jetzt ersteres, später zweiteres.

Modellierung als GraphReduziere auf (bekanntes) kürzeste-Wege-ProblemOptimale Reiserouten entsprechen kürzesten WegenFrage: Wie die Zeitabhängigkeit (Abfahrten/Ankünfte) kodieren?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 7 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 13: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung von Fahrplänen

Zwei grundlegende Ansätze1 Modellierung als gerichteter Graph2 Keine besondere Modellierung (benutze Fahrplan "direkt")

Jetzt ersteres, später zweiteres.

Modellierung als GraphReduziere auf (bekanntes) kürzeste-Wege-ProblemOptimale Reiserouten entsprechen kürzesten WegenFrage: Wie die Zeitabhängigkeit (Abfahrten/Ankünfte) kodieren?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 7 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 14: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung von Fahrplänen

Zwei grundlegende Ansätze1 Modellierung als gerichteter Graph2 Keine besondere Modellierung (benutze Fahrplan "direkt")

Jetzt ersteres, später zweiteres.

Modellierung als GraphReduziere auf (bekanntes) kürzeste-Wege-ProblemOptimale Reiserouten entsprechen kürzesten WegenFrage: Wie die Zeitabhängigkeit (Abfahrten/Ankünfte) kodieren?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 7 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 15: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung: Zwei Ansätze

1. Zeitexpandiert

Zeitabhängigkeiten ausrollenKnoten entsprechenEreignissen im FahrplanKanten verbinden Ereignissemiteinander

Zugfahrt eines Zuges,Umstieg zwischen Zügen,Warten

- Großer Graph (viele Knotenund Kanten)

+ Einfacher Anfragealgorithmus(Dijkstra)

2. Zeitabhängig

Zeitabhängigkeit an denKantenKnoten entsprechenBahnhöfenKante⇔ Zug verbindetBahnhöfe

Transferzeiten?

+ Kleiner Graph- Zeitabhängige

KW-Algorithmen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 8 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 16: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung: Zwei Ansätze1. Zeitexpandiert 2. Zeitabhängig

S1 S2

Z3

Z1, Z2

Z1, Z2, Z3

Z1, Z2

Z3

Arrival-, Transfer- undDeparture-EreignisseFür jeden ZugKantengewicht = Zeitdiff.(alternativ: ungewichtet,Knotenlabel = Ereigniszeit)

Pro Bahnhof: StationsknotenKanten: zeitabhängigUmstiege?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 9 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 17: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Modellierung: Zwei Ansätze1. Zeitexpandiert 2. Zeitabhängig

S1 S2

Z3

Z1, Z2

Arrival-, Transfer- undDeparture-EreignisseFür jeden ZugKantengewicht = Zeitdiff.(alternativ: ungewichtet,Knotenlabel = Ereigniszeit)

Pro Bahnhof: StationsknotenPartitioniere Züge in RoutenPro Route: Route-KnotenRoutenkanten: zeitabhängigStationskanten: Transferzeit

Julian Dibbelt – Algorithmen für RoutenplanungFolie 9 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 18: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeitabhängige KantenElem. Verbindungen modelliert durch stückweise lineare Funktionen

Elem. Verbindungen zw. Si und Sj :

id dep.-time travel-time1 06:00 3 h 00 min2 15:00 9 h 00 min3 21:00 4 h 30 min...

......

Entsprechende Funktion:fdur(τ )

6:00 12:00 18:00 24:00

6 h

12 h

τ

Für jede Verbindung: Connection Point (τ,w)τ =̂ Abfahrtszeit, w =̂ Reisezeit (bzw. Ankunftszeit)

Zwischen Verbindungen: Lineares Warten

Julian Dibbelt – Algorithmen für RoutenplanungFolie 10 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 19: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeitabhängige KantenElem. Verbindungen modelliert durch stückweise lineare Funktionen

Elem. Verbindungen zw. Si und Sj :

id dep.-time travel-time1 06:00 3 h 00 min2 15:00 9 h 00 min3 21:00 4 h 30 min...

......

Entsprechende Funktion:farr(τ )

6:00 12:00 18:00 24:00

25:30

τ

9:00

24:00

Für jede Verbindung: Connection Point (τ,w)τ =̂ Abfahrtszeit, w =̂ Reisezeit (bzw. Ankunftszeit)

Zwischen Verbindungen: Lineares Warten

Julian Dibbelt – Algorithmen für RoutenplanungFolie 10 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 20: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

FIFO-Eigenschaft (Wdh.)

DefinitionSei f : R+

0 → R+0 eine Reisezeit-Funktion. f erfüllt die

FIFO-Eigenschaft, wenn für jedes ε > 0 und alle τ ∈ R+0 gilt, dass

f (τ) ≤ ε+ f (τ + ε).

DiskussionInterpretation: “Warten lohnt sich nie”Kürzeste Wege auf Graphen mit non-FIFO Funktionen zu findenist NP-schwer.(wenn Warten an Knoten nicht erlaubt ist)

⇒ Sicherstellen, dass Funktionen FIFO-Eigenschaft erfüllen.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 11 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 21: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

FIFO-Eigenschaft (Wdh.)

DefinitionSei f : R+

0 → R+0 eine Ankunftszeit-Funktion. f erfüllt die

FIFO-Eigenschaft, wenn für jedes ε > 0 und alle τ ∈ R+0 gilt, dass

f (τ) ≤ f (τ + ε).

DiskussionInterpretation: “Warten lohnt sich nie”Kürzeste Wege auf Graphen mit non-FIFO Funktionen zu findenist NP-schwer.(wenn Warten an Knoten nicht erlaubt ist)

⇒ Sicherstellen, dass Funktionen FIFO-Eigenschaft erfüllen.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 11 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 22: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Anfrageszenarien

Zeit-Anfrage:finde kürzesten Weg für Abfahrtszeit τanalog zu Dijkstra?

Profil-Anfrage:finde kürzesten Weg für alle Abfahrtszeitpunkteanalog zu Dijkstra?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 12 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 23: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Anfrageszenarien

Zeit-Anfrage:finde kürzesten Weg für Abfahrtszeit τanalog zu Dijkstra?

Profil-Anfrage:finde kürzesten Weg für alle Abfahrtszeitpunkteanalog zu Dijkstra?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 12 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 24: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeit-Anfragen

Gegeben: Startbahnhof S, Zielbahnhof T und Abfahrtszeit τS

1. Zeitexpandiert 2. Zeitabhängig

Startknoten:Erstes Transferevent in Smit Zeit τ ≥ τS.

Zielknoten:Im Vorraus unbekannt!Stoppkriterium: Erstergesettleter Knoten an Tinduziert schnellsteVerbindung zu T

Startknoten:Bahnhofsknoten S

Zielknoten:Bahnhofsknoten T

Anfrage:Time-Dependent Dijkstra mitZeit τS

Hier: Ankunftszeit imVorraus unbekannt

Julian Dibbelt – Algorithmen für RoutenplanungFolie 13 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 25: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeit-Anfragen

Gegeben: Startbahnhof S, Zielbahnhof T und Abfahrtszeit τS

1. Zeitexpandiert 2. Zeitabhängig

Startknoten:Erstes Transferevent in Smit Zeit τ ≥ τS.

Zielknoten:Im Vorraus unbekannt!Stoppkriterium: Erstergesettleter Knoten an Tinduziert schnellsteVerbindung zu T

Startknoten:Bahnhofsknoten S

Zielknoten:Bahnhofsknoten T

Anfrage:Time-Dependent Dijkstra mitZeit τS

Hier: Ankunftszeit imVorraus unbekannt

Julian Dibbelt – Algorithmen für RoutenplanungFolie 13 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 26: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeit-Anfragen

Algorithm 1: Time-Dijkstra(G = (V ,E),s,τ )

d [s] = 01

Q.clear(), Q.add(s,0)2

while !Q.empty() do3

u ← Q.deleteMin()4

for all edges e = (u, v) ∈ E do5

// len(e, ·) = f edep(·)

if d [u] + len(e, τ + d [u]) < d [v ] then6

d [v ]← d [u] + len(e, τ + d [u])7

p[v ]← u8

if v ∈ Q then Q.decreaseKey(v ,d [v ])9

else Q.insert(v ,d [v ])10

Julian Dibbelt – Algorithmen für RoutenplanungFolie 14 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 27: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Zeit-Anfragen

Algorithm 2: Time-Dijkstra(G = (V ,E),s,τ )

d [s] = τ1

Q.clear(), Q.add(s,0)2

while !Q.empty() do3

u ← Q.deleteMin()4

for all edges e = (u, v) ∈ E do5

// len(e, ·) = f earr(·)

if len(e,d [u]) < d [v ] then6

d [v ]← len(e,d [u])7

p[v ]← u8

if v ∈ Q then Q.decreaseKey(v ,d [v ])9

else Q.insert(v ,d [v ])10

Julian Dibbelt – Algorithmen für RoutenplanungFolie 14 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 28: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion Zeit-Anfragen

Beobachtung:Nur ein Unterschied zu DijkstraAuswertung der Kanten

non-FIFO Netzwerke:Im Kreis fahren kann sich lohnenNP-schwer (wenn Warten an Knoten nicht erlaubt ist)Transportnetzwerke sind FIFO modellierbar (notfalls Multikanten)

In unserem Szenario:Sicherstellen dass alle Routen FIFO sind.Für alle Trips ti , tj der Route muss gelten:ti fährt an jeder Station jeweils vor tj ab (oder andersherum).

Julian Dibbelt – Algorithmen für RoutenplanungFolie 15 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 29: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion Zeit-Anfragen

Beobachtung:Nur ein Unterschied zu DijkstraAuswertung der Kanten

non-FIFO Netzwerke:Im Kreis fahren kann sich lohnenNP-schwer (wenn Warten an Knoten nicht erlaubt ist)Transportnetzwerke sind FIFO modellierbar (notfalls Multikanten)

In unserem Szenario:Sicherstellen dass alle Routen FIFO sind.Für alle Trips ti , tj der Route muss gelten:ti fährt an jeder Station jeweils vor tj ab (oder andersherum).

Julian Dibbelt – Algorithmen für RoutenplanungFolie 15 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 30: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion Zeit-Anfragen

Beobachtung:Nur ein Unterschied zu DijkstraAuswertung der Kanten

non-FIFO Netzwerke:Im Kreis fahren kann sich lohnenNP-schwer (wenn Warten an Knoten nicht erlaubt ist)Transportnetzwerke sind FIFO modellierbar (notfalls Multikanten)

In unserem Szenario:Sicherstellen dass alle Routen FIFO sind.Für alle Trips ti , tj der Route muss gelten:ti fährt an jeder Station jeweils vor tj ab (oder andersherum).

Julian Dibbelt – Algorithmen für RoutenplanungFolie 15 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 31: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Gegeben: Startbahnhof S, Zielbahnhof T

1. Zeitexpandiert 2. Zeitabhängig

?Geht, aber nicht Teil der VL

Startknoten:Bahnhofsknoten S

Zielknoten:Bahnhofsknoten T

Anfrage:Label-CorrectingAlgorithmus von S

Julian Dibbelt – Algorithmen für RoutenplanungFolie 16 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 32: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Gegeben: Startbahnhof S, Zielbahnhof T

1. Zeitexpandiert 2. Zeitabhängig

?Geht, aber nicht Teil der VL

Startknoten:Bahnhofsknoten S

Zielknoten:Bahnhofsknoten T

Anfrage:Label-CorrectingAlgorithmus von S

Julian Dibbelt – Algorithmen für RoutenplanungFolie 16 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 33: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Algorithm 3: Profile-Search(G = (V ,E),s)

d∗[s] = 01

Q.clear(), Q.add(s,0)2

while !Q.empty() do3

u ← Q.deleteMin()4

for all edges e = (u, v) ∈ E do5

if d∗[u]⊕ len(e) � d∗[v ] then6

d∗[v ]← min(d∗[u]⊕ len(e),d∗[v ])7

if v ∈ Q then Q.decreaseKey(v ,d [v ])8

else Q.insert(v ,d [v ])9

Julian Dibbelt – Algorithmen für RoutenplanungFolie 17 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 34: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion Profil-Anfragen

Beobachtungen:Operationen auf FunktionenKnotenlabel: FunktionKnotenlabel nicht skalar⇒ keine Totalordnung der KnotenlabelWonach pqueue ordnen?Priorität im Prinzip frei wählbar(d [u] ist das Minimum der Funktion d∗[u])Knoten können mehrfach besucht werden⇒ label-correcting

Julian Dibbelt – Algorithmen für RoutenplanungFolie 18 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 35: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Operationen

Funktion gegeben durch:Menge von InterpolationspunktenI f := {(t f

1,wf1), . . . , (t f

k ,wfk )}

3 Operationen notwendig:AuswertungLinken ⊕Minimumsbildung

Julian Dibbelt – Algorithmen für RoutenplanungFolie 19 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 36: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Auswertung

departure

travel time

Evaluation von f (τ):Suche Punkte mit ti ≥ τ und ti − τ minimaldann Evaluation durch

f (τ) = wi + (ti − τ)

Problem:Finden von ti und ti+1

Theoretisch:Lineare Suche: O(|I|)Binäre Suche: O(log2 |I|)

praktisch:|I| < 30: Lineare SucheSonst: Lineare Suche mit Startpunkt τ

Π· |I|

Julian Dibbelt – Algorithmen für RoutenplanungFolie 20 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 37: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Auswertung

departure

travel time

Evaluation von f (τ):Suche Punkte mit ti ≥ τ und ti − τ minimaldann Evaluation durch

f (τ) = wi + (ti − τ)

Problem:Finden von ti und ti+1

Theoretisch:Lineare Suche: O(|I|)Binäre Suche: O(log2 |I|)

praktisch:|I| < 30: Lineare SucheSonst: Lineare Suche mit Startpunkt τ

Π· |I|

Julian Dibbelt – Algorithmen für RoutenplanungFolie 20 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 38: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Linken

DefinitionSeien f : R+

0 → R+0 und g : R+

0 zwei Reisezeit-Funktionen die dieFIFO-Eigenschaft erfüllen. Die Linkoperation f ⊕ g ist dann definiertdurch

f ⊕ g := f + g ◦ (id +f )

Oder(f ⊕ g)(τ) := f (τ) + g(τ + f (τ))

Julian Dibbelt – Algorithmen für RoutenplanungFolie 21 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 39: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Linken

DefinitionSeien f : R+

0 → R+0 und g : R+

0 zwei Ankunftszeit-Funktionen die dieFIFO-Eigenschaft erfüllen. Die Linkoperation f ⊕ g ist dann definiertdurch

f ⊕ g := g ◦ f

Oder(f ⊕ g)(τ) := f (τ) + g(τ + f (τ))

Julian Dibbelt – Algorithmen für RoutenplanungFolie 21 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 40: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

Linken zweier Funktionen f und g

Für jeden Punkt (t fi ,w

fi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kannFüge (t f

i , tgj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 41: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

8:00 - 120 min9:00 - 240 min

Linken zweier Funktionen f und g

Für jeden Punkt (t fi ,w

fi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kannFüge (t f

i , tgj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 42: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

8:00 - 120 min9:00 - 240 min

Linken zweier Funktionen f und gFür jeden Punkt (t f

i ,wfi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kann

Füge (t fi , t

gj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 43: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

8:00 - 120 min9:00 - 240 min

Linken zweier Funktionen f und gFür jeden Punkt (t f

i ,wfi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kannFüge (t f

i , tgj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 44: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

8:00 - 120 min9:00 - 240 min

Linken zweier Funktionen f und gFür jeden Punkt (t f

i ,wfi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kannFüge (t f

i , tgj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 45: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Link

u

v

w

7:00 - 55 min8:00 - 55 min9:00 - 55 min

09:00 - 60 min12:00 - 60 min16:00 - 60 min

8:00 - 120 min9:00 - 240 min

Linken zweier Funktionen f und gFür jeden Punkt (t f

i ,wfi ) bestimme den Verbindungspunkt (tg

j ,wgj ) mit

tgj − t f

i − w fi ≥ 0 minimal

Erste Verbindung, die man auf g erreichen kannFüge (t f

i , tgj + wg

j − t fi ) hinzu

Wenn zwei Punkte den gleichenVerbindungspunkt haben,behalte nur den mit größerem t f

i

Sweep-Algorithmus

Julian Dibbelt – Algorithmen für RoutenplanungFolie 22 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 46: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Diskussion Link

LaufzeitSweep-AlgorithmusO(|I f |+ |Ig |)Zum Vergleich: Zeitunabhängig: O(1)

SpeicherverbrauchGelinkte Funktion hat min{|I f |, |Ig |} Interpolationspunkte

Julian Dibbelt – Algorithmen für RoutenplanungFolie 23 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 47: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Diskussion Link

LaufzeitSweep-AlgorithmusO(|I f |+ |Ig |)Zum Vergleich: Zeitunabhängig: O(1)

SpeicherverbrauchGelinkte Funktion hat min{|I f |, |Ig |} Interpolationspunkte

Julian Dibbelt – Algorithmen für RoutenplanungFolie 23 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 48: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Merge

Minimum zweier Funktionen f und g

Für alle (t fi ,w

fi ): behalte Punkt, wenn w f

i < g(t fi )

Für alle (tgj ,w

gj ): behalte Punkt, wenn wg

j < f (tgj )

Keine Schnittepunkte möglich(!)

Vorgehen:Linearer Sweep

departure time

travel time

Julian Dibbelt – Algorithmen für RoutenplanungFolie 24 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 49: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Merge

Minimum zweier Funktionen f und gFür alle (t f

i ,wfi ): behalte Punkt, wenn w f

i < g(t fi )

Für alle (tgj ,w

gj ): behalte Punkt, wenn wg

j < f (tgj )

Keine Schnittepunkte möglich(!)

Vorgehen:Linearer Sweep

departure time

travel time

Julian Dibbelt – Algorithmen für RoutenplanungFolie 24 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 50: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Merge

Minimum zweier Funktionen f und gFür alle (t f

i ,wfi ): behalte Punkt, wenn w f

i < g(t fi )

Für alle (tgj ,w

gj ): behalte Punkt, wenn wg

j < f (tgj )

Keine Schnittepunkte möglich(!)

Vorgehen:Linearer Sweep

departure time

travel time

Julian Dibbelt – Algorithmen für RoutenplanungFolie 24 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 51: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Diskussion Merge

LaufzeitSweep-AlgorithmusO(|I f |+ |Ig |)Zum Vergleich: Zeitunabhängig: O(1)

SpeicherverbrauchKeine Schnittpunkte

⇒ Minimum-Funktion kann maximal |I f |+ |Ig | Interpolationspunkteenthalten

Julian Dibbelt – Algorithmen für RoutenplanungFolie 25 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 52: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Public Transport: Diskussion Merge

LaufzeitSweep-AlgorithmusO(|I f |+ |Ig |)Zum Vergleich: Zeitunabhängig: O(1)

SpeicherverbrauchKeine Schnittpunkte

⇒ Minimum-Funktion kann maximal |I f |+ |Ig | Interpolationspunkteenthalten

Julian Dibbelt – Algorithmen für RoutenplanungFolie 25 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 53: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Gegeben:Zeitabhängiges Netzwerk G = (V ,E) und Startbahnhof S.

Problem (Profil-Anfrage):Berechne die Reisezeitfunktion distS(v , τ), so dass distS(v , τ) dieLänge des kürzesten Weges von S nach v in G zur Abfahrtszeit τ anS für alle τ ∈ Π und v ∈ V ist.

Bisheriger Ansatz:Erweitere Dijkstra’s Algorithmus zu Label-Correcting Algorithmus

Benutze Funktionen statt KonstantenVerliert Label-Setting Eigenschaft von DijkstraDeutlich langsamer als Dijkstra (≈ Faktor 50)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 26 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 54: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Gegeben:Zeitabhängiges Netzwerk G = (V ,E) und Startbahnhof S.

Problem (Profil-Anfrage):Berechne die Reisezeitfunktion distS(v , τ), so dass distS(v , τ) dieLänge des kürzesten Weges von S nach v in G zur Abfahrtszeit τ anS für alle τ ∈ Π und v ∈ V ist.

Bisheriger Ansatz:Erweitere Dijkstra’s Algorithmus zu Label-Correcting Algorithmus

Benutze Funktionen statt KonstantenVerliert Label-Setting Eigenschaft von DijkstraDeutlich langsamer als Dijkstra (≈ Faktor 50)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 26 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 55: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Profil-Anfragen

Gegeben:Zeitabhängiges Netzwerk G = (V ,E) und Startbahnhof S.

Problem (Profil-Anfrage):Berechne die Reisezeitfunktion distS(v , τ), so dass distS(v , τ) dieLänge des kürzesten Weges von S nach v in G zur Abfahrtszeit τ anS für alle τ ∈ Π und v ∈ V ist.

Bisheriger Ansatz:Erweitere Dijkstra’s Algorithmus zu Label-Correcting Algorithmus

Benutze Funktionen statt KonstantenVerliert Label-Setting Eigenschaft von DijkstraDeutlich langsamer als Dijkstra (≈ Faktor 50)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 26 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 56: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 57: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 58: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 59: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 60: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 61: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

HauptideeBeobachtung:Jeder Reiseplan ab S (irgendwohin) beginnt mit einer Verb. an S.

Naiver AnsatzFür jede ausgehende Verbindung ci an S:Separate Zeitanfrage mit Abfahrtszeit τdep(ci ).

NachteileZu viele redundante BerechnungenNicht jede Verbindung ab S trägt zu distS(v , ·) beiLangsame Züge für weite Reisen machen wenig Sinn

06:308:30

17:048:30

29:2614:28

310:3414:28

411:0814:28

512:4214:28

613:0116:46

713:5816:46

816:4623:30

918:2423:30

1019:2023:30

1121:0823:30

(“Connection reduction”)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 27 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 62: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning

Beobachtung:Verbindungen können sich dominieren.

Einführung: Self-Pruning (SP):

1. Benutze eine gemeinsame Queue2. Keys sind Ankunftszeiten3. Sortiere Verb. ci an S nach

Abfahrtszeit

Dep: 10:00Dep: 11:00

s

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob v bereits gesettled mit Verbindung j > i ; Dann Prune i an v

Julian Dibbelt – Algorithmen für RoutenplanungFolie 28 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 63: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning

Beobachtung:Verbindungen können sich dominieren.

Einführung: Self-Pruning (SP):

1. Benutze eine gemeinsame Queue2. Keys sind Ankunftszeiten3. Sortiere Verb. ci an S nach

Abfahrtszeit

Dep: 10:00Dep: 11:00

s

Arr: 12:00

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob v bereits gesettled mit Verbindung j > i ; Dann Prune i an v

Julian Dibbelt – Algorithmen für RoutenplanungFolie 28 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 64: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning

Beobachtung:Verbindungen können sich dominieren.

Einführung: Self-Pruning (SP):

1. Benutze eine gemeinsame Queue2. Keys sind Ankunftszeiten3. Sortiere Verb. ci an S nach

Abfahrtszeit

Dep: 10:00Dep: 11:00

s

Arr: 12:00Arr: 11:30

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob v bereits gesettled mit Verbindung j > i ; Dann Prune i an v

Julian Dibbelt – Algorithmen für RoutenplanungFolie 28 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 65: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning

Beobachtung:Verbindungen können sich dominieren.

Einführung: Self-Pruning (SP):

1. Benutze eine gemeinsame Queue2. Keys sind Ankunftszeiten3. Sortiere Verb. ci an S nach

Abfahrtszeit Dep: 10:00Dep: 11:00

s

Arr: 12:00Arr: 11:30

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob v bereits gesettled mit Verbindung j > i ; Dann Prune i an v

Julian Dibbelt – Algorithmen für RoutenplanungFolie 28 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 66: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning II

Integration von Self-Pruning (SP):

Verwalte Label maxconn(v) an jedem Knoten vGibt maximale Verbindung an mit der v gesettled wurde

Update maxconn(v) beim Settlen von v

Wiederherstellung von Dijkstra’s Label-Setting Eigenschaft proVerbindung

⇒ Self-Pruning Connection-Setting Algorithmus (SPCS)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 29 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 67: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning II

Integration von Self-Pruning (SP):

Verwalte Label maxconn(v) an jedem Knoten vGibt maximale Verbindung an mit der v gesettled wurde

Update maxconn(v) beim Settlen von v

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob v bereits gesettled mit Verbindung j > i ; Dann Prune i an v

Wiederherstellung von Dijkstra’s Label-Setting Eigenschaft proVerbindung

⇒ Self-Pruning Connection-Setting Algorithmus (SPCS)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 29 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 68: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning II

Integration von Self-Pruning (SP):

Verwalte Label maxconn(v) an jedem Knoten vGibt maximale Verbindung an mit der v gesettled wurde

Update maxconn(v) beim Settlen von v

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob maxconn(v) > i ; Dann Prune i an v

Wiederherstellung von Dijkstra’s Label-Setting Eigenschaft proVerbindung

⇒ Self-Pruning Connection-Setting Algorithmus (SPCS)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 29 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 69: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning II

Integration von Self-Pruning (SP):

Verwalte Label maxconn(v) an jedem Knoten vGibt maximale Verbindung an mit der v gesettled wurde

Update maxconn(v) beim Settlen von v

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob maxconn(v) > i ; Dann Prune i an v

Wiederherstellung von Dijkstra’s Label-Setting Eigenschaft proVerbindung

⇒ Self-Pruning Connection-Setting Algorithmus (SPCS)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 29 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 70: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Self-Pruning II

Integration von Self-Pruning (SP):

Verwalte Label maxconn(v) an jedem Knoten vGibt maximale Verbindung an mit der v gesettled wurde

Update maxconn(v) beim Settlen von v

Beim Settlen von Knoten v und Verb.-Index i :Prüfe ob maxconn(v) > i ; Dann Prune i an v

Wiederherstellung von Dijkstra’s Label-Setting Eigenschaft proVerbindung

⇒ Self-Pruning Connection-Setting Algorithmus (SPCS)

Julian Dibbelt – Algorithmen für RoutenplanungFolie 29 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 71: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Parallelisierung: IdeeGegeben:Shared Memory Processing mit p Cores

Idee:Verteile Verbindungen ci von S auf verschiedene Threads

Thread 0 Thread 1 Thread 2 Thread 3

6:300

7:041

9:262

10:343

11:084

12:425

13:016

13:587

16:468

18:249

19:2010

21:0811

Jeder Thread führt SPCS auf seiner Teilmenge derVerbindungen ausErgebnisse werden im Anschluss zu distS(v , ·) zusammengeführtFühre Connection Reduction auf gemergtem Ergebnis durch

Julian Dibbelt – Algorithmen für RoutenplanungFolie 30 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 72: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Parallelisierung: IdeeGegeben:Shared Memory Processing mit p Cores

Idee:Verteile Verbindungen ci von S auf verschiedene Threads

Thread 0 Thread 1 Thread 2 Thread 3

6:300

7:041

9:262

10:343

11:084

12:425

13:016

13:587

16:468

18:249

19:2010

21:0811

Jeder Thread führt SPCS auf seiner Teilmenge derVerbindungen ausErgebnisse werden im Anschluss zu distS(v , ·) zusammengeführtFühre Connection Reduction auf gemergtem Ergebnis durch

Julian Dibbelt – Algorithmen für RoutenplanungFolie 30 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 73: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Stoppkriterium

Dijkstra’s Algorithmus:Breche die Suche ab, sobald T abgearbeitet wurde.

kann adaptiert werden durch

Parallel Self-Pruning Connection-Setting:Verwalte globales Label Tm := −∞Wenn Verbindung i an T abgearbeitet wird, setzeTm := max{Tm, i}Prune alle Verbindungen j < Tm (an jedem Knoten)Halte an, wenn Priority-Queue leer läuft

Julian Dibbelt – Algorithmen für RoutenplanungFolie 31 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 74: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Stoppkriterium

Dijkstra’s Algorithmus:Breche die Suche ab, sobald T abgearbeitet wurde.

kann adaptiert werden durch

Parallel Self-Pruning Connection-Setting:Verwalte globales Label Tm := −∞

Wenn Verbindung i an T abgearbeitet wird, setzeTm := max{Tm, i}Prune alle Verbindungen j < Tm (an jedem Knoten)Halte an, wenn Priority-Queue leer läuft

Julian Dibbelt – Algorithmen für RoutenplanungFolie 31 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 75: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Stoppkriterium

Dijkstra’s Algorithmus:Breche die Suche ab, sobald T abgearbeitet wurde.

kann adaptiert werden durch

Parallel Self-Pruning Connection-Setting:Verwalte globales Label Tm := −∞Wenn Verbindung i an T abgearbeitet wird, setzeTm := max{Tm, i}

Prune alle Verbindungen j < Tm (an jedem Knoten)Halte an, wenn Priority-Queue leer läuft

Julian Dibbelt – Algorithmen für RoutenplanungFolie 31 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 76: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Stoppkriterium

Dijkstra’s Algorithmus:Breche die Suche ab, sobald T abgearbeitet wurde.

kann adaptiert werden durch

Parallel Self-Pruning Connection-Setting:Verwalte globales Label Tm := −∞Wenn Verbindung i an T abgearbeitet wird, setzeTm := max{Tm, i}Prune alle Verbindungen j < Tm (an jedem Knoten)

Halte an, wenn Priority-Queue leer läuft

Julian Dibbelt – Algorithmen für RoutenplanungFolie 31 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 77: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Stoppkriterium

Dijkstra’s Algorithmus:Breche die Suche ab, sobald T abgearbeitet wurde.

kann adaptiert werden durch

Parallel Self-Pruning Connection-Setting:Verwalte globales Label Tm := −∞Wenn Verbindung i an T abgearbeitet wird, setzeTm := max{Tm, i}Prune alle Verbindungen j < Tm (an jedem Knoten)Halte an, wenn Priority-Queue leer läuft

Julian Dibbelt – Algorithmen für RoutenplanungFolie 31 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 78: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Eingabe

Netzwerk von Los Angeles:

15 581 Stationen,1 046 580 elem. Verbindungen

Zugnetz von Europa:

30 517 Stationen,1 775 533 elem. Verbindungen

Auswertung durch 1 000 Anfragen wobei Start- und Zielbahnhöfegleichverteilt zufällig gewählt.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 32 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 79: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Eingabe

Netzwerk von Los Angeles:

15 581 Stationen,1 046 580 elem. Verbindungen

Zugnetz von Europa:

30 517 Stationen,1 775 533 elem. Verbindungen

Auswertung durch 1 000 Anfragen wobei Start- und Zielbahnhöfegleichverteilt zufällig gewählt.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 32 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 80: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

One-to-All Anfragen

Los Angeles EuropeSettled Time Spd Std- Settled Time Spd Std-

p Conns [ms] Up Dev Conns [ms] Up Dev

PSPCS: 1 2.5 M 1209.0 1.0 — 3.3 M 2152.0 1.0 —EQUICONN 2 2.5 M 690.0 1.8 14.7% 3.1 M 1054.2 2.0 16.1%

4 2.5 M 417.4 2.9 18.2% 3.4 M 673.8 3.2 24.4%

8 2.5 M 267.7 4.5 20.0% 4.2 M 510.9 4.2 23.8%

LC: 1 18.9 M 1482.1 — — 17.4 M 2497.1 — —

PSPCS deutlich weniger Verbindungen als LCPSPCS skaliert sehr gut mit zunehmender Anzahl CoresEinfache Partitionierung liefert bereits gute Ergebnisse

Julian Dibbelt – Algorithmen für RoutenplanungFolie 33 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 81: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

One-to-All Anfragen

Los Angeles EuropeSettled Time Spd Std- Settled Time Spd Std-

p Conns [ms] Up Dev Conns [ms] Up Dev

PSPCS: 1 2.5 M 1209.0 1.0 — 3.3 M 2152.0 1.0 —EQUICONN 2 2.5 M 690.0 1.8 14.7% 3.1 M 1054.2 2.0 16.1%

4 2.5 M 417.4 2.9 18.2% 3.4 M 673.8 3.2 24.4%

8 2.5 M 267.7 4.5 20.0% 4.2 M 510.9 4.2 23.8%

LC: 1 18.9 M 1482.1 — — 17.4 M 2497.1 — —

PSPCS deutlich weniger Verbindungen als LC

PSPCS skaliert sehr gut mit zunehmender Anzahl CoresEinfache Partitionierung liefert bereits gute Ergebnisse

Julian Dibbelt – Algorithmen für RoutenplanungFolie 33 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 82: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

One-to-All Anfragen

Los Angeles EuropeSettled Time Spd Std- Settled Time Spd Std-

p Conns [ms] Up Dev Conns [ms] Up Dev

PSPCS: 1 2.5 M 1209.0 1.0 — 3.3 M 2152.0 1.0 —EQUICONN 2 2.5 M 690.0 1.8 14.7% 3.1 M 1054.2 2.0 16.1%

4 2.5 M 417.4 2.9 18.2% 3.4 M 673.8 3.2 24.4%

8 2.5 M 267.7 4.5 20.0% 4.2 M 510.9 4.2 23.8%

LC: 1 18.9 M 1482.1 — — 17.4 M 2497.1 — —

PSPCS deutlich weniger Verbindungen als LCPSPCS skaliert sehr gut mit zunehmender Anzahl Cores

Einfache Partitionierung liefert bereits gute Ergebnisse

Julian Dibbelt – Algorithmen für RoutenplanungFolie 33 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 83: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

One-to-All Anfragen

Los Angeles EuropeSettled Time Spd Std- Settled Time Spd Std-

p Conns [ms] Up Dev Conns [ms] Up Dev

PSPCS: 1 2.5 M 1209.0 1.0 — 3.3 M 2152.0 1.0 —EQUICONN 2 2.5 M 690.0 1.8 14.7% 3.1 M 1054.2 2.0 16.1%

4 2.5 M 417.4 2.9 18.2% 3.4 M 673.8 3.2 24.4%

8 2.5 M 267.7 4.5 20.0% 4.2 M 510.9 4.2 23.8%

LC: 1 18.9 M 1482.1 — — 17.4 M 2497.1 — —

PSPCS deutlich weniger Verbindungen als LCPSPCS skaliert sehr gut mit zunehmender Anzahl CoresEinfache Partitionierung liefert bereits gute Ergebnisse

Julian Dibbelt – Algorithmen für RoutenplanungFolie 33 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 84: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Bis jetzt. . .

Erinnerung: Ein Fahrplan besteht ausStops (Bahnhöfe, Bahnsteige, . . . ),Routen (Bus-, U-Bahn Linien, . . . ),Trips mit Abfahrt-/Ankunftszeiten,und Fußwegen zum Umsteigen.

Victoria Line Services from this station towards Brixton Underground Station

Walt

ham

stow C

entra

l Und

ergr

ound

Sta

tion

Blackh

orse

Roa

d Und

ergr

ound

Sta

tion

Totte

nham

Hale

Und

ergr

ound

Sta

tion

Seven

Sist

ers U

nder

grou

nd S

tatio

n

Finsbu

ry P

ark U

nder

grou

nd S

tatio

n

Highbu

ry &

Islin

gton

Und

ergr

ound

Sta

tion

King’s

Cross

St.P

ancr

as U

nder

grou

nd S

tatio

n

Eusto

n Und

ergr

ound

Sta

tion

War

ren

Street

Und

ergr

ound

Sta

tion

Oxford

Circ

us U

nder

grou

nd S

tatio

n

Green

Par

k Und

ergr

ound

Sta

tion

2

Victor

ia Und

ergr

ound

Sta

tion

4

Pimlic

o Und

ergr

ound

Sta

tion

6

Vauxh

all U

nder

grou

nd S

tatio

n

8

Stock

well U

nder

grou

nd S

tatio

n

10

Brixto

n Und

ergr

ound

Sta

tion

13You are here

off peakjourney timein minutes

Monday - FridayFirst trains

05350540054405510557

6am to Midnightabout every

2-5minutes

Last trains000300080018 a

0018 b

0029 a

0029 b

a=not on Fridays b=only Friday

Saturday (also Good Friday)First trains

05350540054405510557

6am to Midnightabout every

2-6minutes

Last trains0003000800180029

Sunday and other Public HolidaysFirst trains

070707210732074007470755

8am to 11pmabout every

2-5minutes

Last trains230023052310231523202325233223402349

13.10.2011 Oxford Circus Underground Station

MAYOROF LONDON

24 hour London Travel Information

0843 222 1234Textphone

020 7918 3015Operatedfor London Underground

Earliest Arrival Problem:Gegeben Stops s, t und Abfahrtszeit τ , berechne

Route zu t die an s nicht früher als τ abfährt,und an t frühstmöglich ankommt.

Reicht uns das?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 34 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 85: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Bis jetzt. . .

Erinnerung: Ein Fahrplan besteht ausStops (Bahnhöfe, Bahnsteige, . . . ),Routen (Bus-, U-Bahn Linien, . . . ),Trips mit Abfahrt-/Ankunftszeiten,und Fußwegen zum Umsteigen.

Victoria Line Services from this station towards Brixton Underground Station

Walt

ham

stow C

entra

l Und

ergr

ound

Sta

tion

Blackh

orse

Roa

d Und

ergr

ound

Sta

tion

Totte

nham

Hale

Und

ergr

ound

Sta

tion

Seven

Sist

ers U

nder

grou

nd S

tatio

n

Finsbu

ry P

ark U

nder

grou

nd S

tatio

n

Highbu

ry &

Islin

gton

Und

ergr

ound

Sta

tion

King’s

Cross

St.P

ancr

as U

nder

grou

nd S

tatio

n

Eusto

n Und

ergr

ound

Sta

tion

War

ren

Street

Und

ergr

ound

Sta

tion

Oxford

Circ

us U

nder

grou

nd S

tatio

n

Green

Par

k Und

ergr

ound

Sta

tion

2

Victor

ia Und

ergr

ound

Sta

tion

4

Pimlic

o Und

ergr

ound

Sta

tion

6

Vauxh

all U

nder

grou

nd S

tatio

n

8

Stock

well U

nder

grou

nd S

tatio

n

10

Brixto

n Und

ergr

ound

Sta

tion

13You are here

off peakjourney timein minutes

Monday - FridayFirst trains

05350540054405510557

6am to Midnightabout every

2-5minutes

Last trains000300080018 a

0018 b

0029 a

0029 b

a=not on Fridays b=only Friday

Saturday (also Good Friday)First trains

05350540054405510557

6am to Midnightabout every

2-6minutes

Last trains0003000800180029

Sunday and other Public HolidaysFirst trains

070707210732074007470755

8am to 11pmabout every

2-5minutes

Last trains230023052310231523202325233223402349

13.10.2011 Oxford Circus Underground Station

MAYOROF LONDON

24 hour London Travel Information

0843 222 1234Textphone

020 7918 3015Operatedfor London Underground

Earliest Arrival Problem:Gegeben Stops s, t und Abfahrtszeit τ , berechne

Route zu t die an s nicht früher als τ abfährt,und an t frühstmöglich ankommt.

Reicht uns das?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 34 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 86: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Bis jetzt. . .

Erinnerung: Ein Fahrplan besteht ausStops (Bahnhöfe, Bahnsteige, . . . ),Routen (Bus-, U-Bahn Linien, . . . ),Trips mit Abfahrt-/Ankunftszeiten,und Fußwegen zum Umsteigen.

Victoria Line Services from this station towards Brixton Underground Station

Walt

ham

stow C

entra

l Und

ergr

ound

Sta

tion

Blackh

orse

Roa

d Und

ergr

ound

Sta

tion

Totte

nham

Hale

Und

ergr

ound

Sta

tion

Seven

Sist

ers U

nder

grou

nd S

tatio

n

Finsbu

ry P

ark U

nder

grou

nd S

tatio

n

Highbu

ry &

Islin

gton

Und

ergr

ound

Sta

tion

King’s

Cross

St.P

ancr

as U

nder

grou

nd S

tatio

n

Eusto

n Und

ergr

ound

Sta

tion

War

ren

Street

Und

ergr

ound

Sta

tion

Oxford

Circ

us U

nder

grou

nd S

tatio

n

Green

Par

k Und

ergr

ound

Sta

tion

2

Victor

ia Und

ergr

ound

Sta

tion

4

Pimlic

o Und

ergr

ound

Sta

tion

6

Vauxh

all U

nder

grou

nd S

tatio

n

8

Stock

well U

nder

grou

nd S

tatio

n

10

Brixto

n Und

ergr

ound

Sta

tion

13You are here

off peakjourney timein minutes

Monday - FridayFirst trains

05350540054405510557

6am to Midnightabout every

2-5minutes

Last trains000300080018 a

0018 b

0029 a

0029 b

a=not on Fridays b=only Friday

Saturday (also Good Friday)First trains

05350540054405510557

6am to Midnightabout every

2-6minutes

Last trains0003000800180029

Sunday and other Public HolidaysFirst trains

070707210732074007470755

8am to 11pmabout every

2-5minutes

Last trains230023052310231523202325233223402349

13.10.2011 Oxford Circus Underground Station

MAYOROF LONDON

24 hour London Travel Information

0843 222 1234Textphone

020 7918 3015Operatedfor London Underground

Earliest Arrival Problem:Gegeben Stops s, t und Abfahrtszeit τ , berechne

Route zu t die an s nicht früher als τ abfährt,und an t frühstmöglich ankommt.

Reicht uns das?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 34 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 87: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Einbeziehen von Umstiegen

Umstiege zu betrachten ist wichtig!

Ankunft 11:08 Uhr, 2 Umstiege Ankunft 11:09 Uhr, 0 Umstiege

Idee: Berechne „gute“ Routen für Ankunftszeit und Anzahl Umstiege.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 35 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 88: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Einbeziehen von Umstiegen

Umstiege zu betrachten ist wichtig!

Ankunft 11:08 Uhr, 2 Umstiege Ankunft 11:09 Uhr, 0 Umstiege

Idee: Berechne „gute“ Routen für Ankunftszeit und Anzahl Umstiege.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 35 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 89: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Pareto-Menge

Definition (Pareto-Optimum)Zu einer Menge M von n-Tupeln heißt ein Tupel mi = (x1, . . . , xn) ∈ MPareto-Optimum, wenn es kein anderes mj ∈ M gibt, so dass mj inallen Werten besser als mi ist (mj dominiert mi ).

Die Menge M heißt Pareto-Menge, wenn alle m ∈ M Pareto-optimal.

Beispiel: Betrachte Tupel aus Ankunftszeit und # Umstiege.

M = {(14:00 Uhr,5), (15:13 Uhr,3), (13:45 Uhr,4), (15:15 Uhr,0)}.

Wie effizient berechnen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 36 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 90: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Pareto-Menge

Definition (Pareto-Optimum)Zu einer Menge M von n-Tupeln heißt ein Tupel mi = (x1, . . . , xn) ∈ MPareto-Optimum, wenn es kein anderes mj ∈ M gibt, so dass mj inallen Werten besser als mi ist (mj dominiert mi ).

Die Menge M heißt Pareto-Menge, wenn alle m ∈ M Pareto-optimal.

Beispiel: Betrachte Tupel aus Ankunftszeit und # Umstiege.

M = {(14:00 Uhr,5), (15:13 Uhr,3), (13:45 Uhr,4), (15:15 Uhr,0)}.

Wie effizient berechnen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 36 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 91: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Pareto-Menge

Definition (Pareto-Optimum)Zu einer Menge M von n-Tupeln heißt ein Tupel mi = (x1, . . . , xn) ∈ MPareto-Optimum, wenn es kein anderes mj ∈ M gibt, so dass mj inallen Werten besser als mi ist (mj dominiert mi ).

Die Menge M heißt Pareto-Menge, wenn alle m ∈ M Pareto-optimal.

Beispiel: Betrachte Tupel aus Ankunftszeit und # Umstiege.

M = {(14:00 Uhr,5), (15:13 Uhr,3), (13:45 Uhr,4), (15:15 Uhr,0)}.

Wie effizient berechnen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 36 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 92: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Pareto-Menge

Definition (Pareto-Optimum)Zu einer Menge M von n-Tupeln heißt ein Tupel mi = (x1, . . . , xn) ∈ MPareto-Optimum, wenn es kein anderes mj ∈ M gibt, so dass mj inallen Werten besser als mi ist (mj dominiert mi ).

Die Menge M heißt Pareto-Menge, wenn alle m ∈ M Pareto-optimal.

Beispiel: Betrachte Tupel aus Ankunftszeit und # Umstiege.

M = {(14:00 Uhr,5),(15:13 Uhr,3), (13:45 Uhr,4), (15:15 Uhr,0)}.

Wie effizient berechnen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 36 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 93: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Pareto-Menge

Definition (Pareto-Optimum)Zu einer Menge M von n-Tupeln heißt ein Tupel mi = (x1, . . . , xn) ∈ MPareto-Optimum, wenn es kein anderes mj ∈ M gibt, so dass mj inallen Werten besser als mi ist (mj dominiert mi ).

Die Menge M heißt Pareto-Menge, wenn alle m ∈ M Pareto-optimal.

Beispiel: Betrachte Tupel aus Ankunftszeit und # Umstiege.

M = {(14:00 Uhr,5),(15:13 Uhr,3), (13:45 Uhr,4), (15:15 Uhr,0)}.

Wie effizient berechnen?

Julian Dibbelt – Algorithmen für RoutenplanungFolie 36 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 94: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Multi-Label-Correcting Ansatz

IdeeBenutze (zeitabhängiges) GraphmodellGrundlage: Dijkstra’s Algorithmus

r2r1

. . . aber. . .

Label ` sind 2-Tupel aus Ankunftszeit und # UmstiegeAn jedem Knoten u ∈ V : Pareto-Menge Bu von LabelnPriority Queue verwaltet Label statt KnotenPriorität ist AnkunftszeitWieder: keine Totalordnung der Label⇒ Label-correcting Algo

Dominanz von Labeln in Bu on-the-fly

Julian Dibbelt – Algorithmen für RoutenplanungFolie 37 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 95: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Multi-Label-Correcting Ansatz

IdeeBenutze (zeitabhängiges) GraphmodellGrundlage: Dijkstra’s Algorithmus

r2r1

. . . aber. . .

Label ` sind 2-Tupel aus Ankunftszeit und # UmstiegeAn jedem Knoten u ∈ V : Pareto-Menge Bu von LabelnPriority Queue verwaltet Label statt KnotenPriorität ist AnkunftszeitWieder: keine Totalordnung der Label⇒ Label-correcting Algo

Dominanz von Labeln in Bu on-the-fly

Julian Dibbelt – Algorithmen für RoutenplanungFolie 37 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 96: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Multi-Label-Correcting (MLC)

MLC(G = (V ,E), s, τ )

Bu ← {} for each u ∈ V ; Bs ← {(τ,0)}1

Q.clear(), Q.insert(s, (τ,0))2

while !Q.empty() do3

u and ` = (τ, tr)← Q.deleteMin()4

for all edges e = (u, v) ∈ E do5

if e is a transfer edge then tr ′ ← tr + 1 else tr ′ ← tr6

`′ ← (τ + len(e, τ), tr ′)7

if `′ is not dominated by any `′′ ∈ Bv then8

Bv .insert(`′)9

Remove non-Pareto-optimal labels from Bv10

Q.insert(v , `′)11

Julian Dibbelt – Algorithmen für RoutenplanungFolie 38 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 97: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion: MLC

Diskussion:Pareto-Mengen Bu sind dynamische Datenstrukturen teuer!Sehr viele Queue-OperationenTesten der Dominanz in O(|Bu|) möglichStoppkriterium?

Verbesserungen für MLC:Jedes Bu verwaltet bestes ungesettletes Label selbst⇒ Priority Queue auf Knoten statt LabelnLabel-Forwarding:Wenn Kante keine Kosten hat, überspringe QueueTarget-Pruning:An Knoten u, verwerfe Label `′, wenn Bt dominiert `′

Julian Dibbelt – Algorithmen für RoutenplanungFolie 39 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 98: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Diskussion: MLC

Diskussion:Pareto-Mengen Bu sind dynamische Datenstrukturen teuer!Sehr viele Queue-OperationenTesten der Dominanz in O(|Bu|) möglichStoppkriterium?

Verbesserungen für MLC:Jedes Bu verwaltet bestes ungesettletes Label selbst⇒ Priority Queue auf Knoten statt LabelnLabel-Forwarding:Wenn Kante keine Kosten hat, überspringe QueueTarget-Pruning:An Knoten u, verwerfe Label `′, wenn Bt dominiert `′

Julian Dibbelt – Algorithmen für RoutenplanungFolie 39 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 99: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Nächste Termine

Mittwoch, 23.4.2014Montag, 28.4.2014

Mittwoch, 30.4.2014

Julian Dibbelt – Algorithmen für RoutenplanungFolie 40 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 100: Algorithmen für Routenplanung - KIT - ITI Algorithmik I...Mill Hill East Rickmansworth Perivale Kentish Town West Camden Road Dalston Kingsland Wanstead Park Vauxhall

Literatur I

Daniel Delling, Bastian Katz, and Thomas Pajor.Parallel computation of best connections in public transportation networks.ACM Journal of Experimental Algorithmics, 17(4):4.1–4.26, July 2012.

Yann Disser, Matthias Müller–Hannemann, and Mathias Schnee.Multi-criteria shortest paths in time-dependent train networks.In Proceedings of the 7th Workshop on Experimental Algorithms (WEA’08),volume 5038 of Lecture Notes in Computer Science, pages 347–361. Springer,June 2008.

Daniel Delling, Thomas Pajor, and Dorothea Wagner.Engineering time-expanded graphs for faster timetable information.In Robust and Online Large-Scale Optimization, volume 5868 of Lecture Notes inComputer Science, pages 182–206. Springer, 2009.

Evangelia Pyrga, Frank Schulz, Dorothea Wagner, and Christos Zaroliagis.Efficient models for timetable information in public transportation systems.ACM Journal of Experimental Algorithmics, 12(2.4):1–39, 2008.

Julian Dibbelt – Algorithmen für RoutenplanungFolie 41 – 16. April 2014

Institut für Theoretische InformatikLehrstuhl Algorithmik