Bachelor-Kolloquium Konzentrische U-Bahn-Linienpläne Magnus Lechner 19.03.2014 Betreuer: Prof. Dr. Alexander Wolff Dipl.-Inf. Martin Fink
Motivation Warum sind U-Bahn-Linienpläne von Interesse?
Motivation Warum sind U-Bahn-Linienpläne von Interesse? London Underground: 270 Stationen 11 Linien 402 km Streckenlänge 3,2 Millionen Fahrgäste pro Tag
Motivation Warum sind U-Bahn-Linienpläne von Interesse? London Underground: 270 Stationen 11 Linien 402 km Streckenlänge 3,2 Millionen Fahrgäste pro Tag Linienpläne müssen: übersichtlich sein eine effiziente Routenplanung ermöglichen
Motivation Henry Beck (1933): Schematische Darstellung des Londoner U- Bahn-Netzes
Motivation Henry Beck (1933): Schematische Darstellung des Londoner U- Bahn-Netzes Oktilineares Layout weltweit vorherrschend!
Motivation Aufgrund Untersuchungen: Abweichung vom oktilinearen Layout Designregeln an zugrundeliegendes Netzwerk anpassen
Motivation Aufgrund Untersuchungen: Abweichung vom oktilinearen Layout Designregeln an zugrundeliegendes Netzwerk anpassen
Motivation Aufgrund Untersuchungen: Abweichung vom oktilinearen Layout Designregeln an zugrundeliegendes Netzwerk anpassen Radial-Konzentrisches Layout
Motivation Aufgrund Untersuchungen: Abweichung vom oktilinearen Layout Designregeln an zugrundeliegendes Netzwerk anpassen Radial-Konzentrisches Layout
Motivation Aufgrund Untersuchungen: Abweichung vom oktilinearen Layout Designregeln an zugrundeliegendes Netzwerk anpassen Radial-Konzentrisches Layout
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: essentielle Bestandteile eines (radial-konzentrischen) Linienplanes müssen in jedem Linienplan erfüllt sein
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: essentielle Bestandteile eines (radial-konzentrischen) Linienplanes müssen in jedem Linienplan erfüllt sein Optimierungskriterien: definieren ein optimales Ergebnis dienen als Qualitätsmaß
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: Nur radiale oder konzentrische Liniensegmente Keine Kreuzungen Linienverläufe eindeutig nachvollziehbar Stationen dürfen nicht aufeinanderliegen
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: Nur radiale oder konzentrische Liniensegmente Keine Kreuzungen Linienverläufe eindeutig nachvollziehbar Stationen dürfen nicht aufeinanderliegen
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: Nur radiale oder konzentrische Liniensegmente Keine Kreuzungen Linienverläufe eindeutig nachvollziehbar Stationen dürfen nicht aufeinanderliegen
Modellierung eines Liniennetzwerkes Grundlegende Bedingungen: Nur radiale oder konzentrische Liniensegmente Keine Kreuzungen Linienverläufe eindeutig nachvollziehbar Stationen dürfen nicht aufeinanderliegen
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Kante: Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Linie: Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Modellierung eines Liniennetzwerkes Optimierungskriterien: Linien sollen möglichst wenig Knicke enthalten Abstand zwischen benachbarten Liniensegmenten Kanten möglichst gleich lang Geringe Anzahl unterschiedlicher Radien von konzentrischen Liniensegmenten Geringe Anzahl unterschiedlicher Winkel von radialen Liniensegmenten Relative Positionen zwischen Knotenpaaren soll berücksichtigt werden
Grundlagen Polarkoordinaten: Globaler Mittelpunkt
Grundlagen Polarkoordinaten: p(r, φ) r φ Globaler Mittelpunkt Polachse
Grundlagen Kante: Konzentrisch - Radial - Konzentrisch q p
Grundlagen Kante: Konzentrisch - Radial - Konzentrisch q p
Grundlagen Kante: Konzentrisch - Radial - Konzentrisch p q
Grundlagen Kante: Konzentrisch - Radial - Konzentrisch q p
Grundlagen Kreuzung: Radiales Liniensegment einer Kante kreuzt ein konzentrisches Liniensegment einer anderen Kante
Heuristischer Ansatz Mittelpunkt
Heuristischer Ansatz Mittelpunkt
Heuristischer Ansatz Mittelpunkt
Heuristischer Ansatz Mittelpunkt
Heuristischer Ansatz Mittelpunkt
Heuristischer Ansatz Mittelpunkt
Besteht aus: Variablen
Besteht aus: Variablen Nebenbedingungen: - Lineare Gleichungen und Ungleichungen - Sind in jeder Lösung des Problems erfüllt
Besteht aus: Variablen Nebenbedingungen: - Lineare Gleichungen und Ungleichungen - Sind in jeder Lösung des Problems erfüllt Zielfunktion: - Enthält zu optimierende Variablen - Wird minimiert
Nebenbedingungen: Berücksichtigung der Eingabe Kreuzungen Überlappungen Mehrfachabbildungen
Nebenbedingungen: Berücksichtigung der Eingabe Kreuzungen Überlappungen Mehrfachabbildungen Zielfunktion: Berücksichtigung der Ursprungsposition eines Knotens Knickminimierung für eine Kante Radialer oder konzentrischer Kantenverlauf Knickminimierung für eine Linie
Darstellung von Knoten und Kanten: p(r, φ) Radial
Berücksichtigung der Eingabe: φ + c φ c v(r, φ ) k u r k l r Mittelpunkt
Berücksichtigung der Eingabe: k l r r k u r φ c φ φ + c Parameter: 0 < c k l < 1 < k u φ + c φ c v(r, φ ) k u r k l r Mittelpunkt
Kreuzungen: e 2 e 1
Kreuzungen:
Kreuzungen: 1) 4) 2) 3)
Kreuzungen: 1) 4) 2) 3)
Kreuzungen: Radial 2 γ 3)
Kreuzungen: Radial 2 γ 3) φ Radial 1
Kreuzungen: Radial 2 γ l 3) γ l φ γ l Radial 1
Kreuzungen: Radial 2 γ l 3) γ l φ γ l Radial 1 Parameter: 0 < ɛ Radial 2 + ɛ γ l
Kreuzungen: 1) 4) 2) 3) 1: r r l ɛ r +M(X 1 + X 2 ) 2: r u r ɛ r +M((1 X 1 ) + X 2 ) 3: Radial 2 + ɛ γ l +M(X 1 + (1 X 2 )) 4: γ u + ɛ Radial 2 +M((1 X 1 ) + (1 X 2 ))
Kreuzungen: M : X : Konstante Binärvariable a b +M X b a +M(1 X)
Kreuzungen: M : X : Konstante Binärvariable a b +M X b a +M(1 X) X = 0 : a b b a +M
Kreuzungen: M : X : Konstante Binärvariable a b +M X b a +M(1 X) X = 1 : a b +M b a
Kreuzungen: 1) 4) 2) 3) M : X 1, X 2 : Konstante Binärvariablen 1: r r l ɛ r +M(X 1 + X 2 ) 2: r u r ɛ r +M((1 X 1 ) + X 2 ) 3: Radial 2 + ɛ γ l +M(X 1 + (1 X 2 )) 4: γ u + ɛ Radial 2 +M((1 X 1 ) + (1 X 2 ))
Kreuzungen: 1) 4) 2) 3) M : X 1, X 2 : Konstante Binärvariablen 1: r r l ɛ r +M(X 1 + X 2 ) 2: r u r ɛ r +M((1 X 1 ) + X 2 ) 3: Radial 2 + ɛ γ l +M(X 1 + (1 X 2 )) 4: γ u + ɛ Radial 2 +M((1 X 1 ) + (1 X 2 ))
Überlappungen: e 1 p(r, φ) e 2
Überlappungen: e 1 p(r, φ) e 2
Überlappungen:
Überlappungen: Radial 1 < φ Radial 2 < φ p(r, φ) Radial 1 Radial 2
Überlappungen: p(r, φ) Radial 1
Überlappungen: p(r, φ) Radial 1 Wert von X R1 <φ Wert von X φ<r1 Bedingung 1 0 Radial 1 < φ 0 1 Radial 1 > φ 0 0 Radial 1 = φ 1 1 nicht möglich
Überlappungen: p(r, φ) Radial 1 Wert von X R1 <φ Wert von X φ<r1 Bedingung 1 0 Radial 1 < φ 0 1 Radial 1 > φ 0 0 Radial 1 = φ 1 1 nicht möglich
Überlappungen: p(r, φ) Radial 1 φ Radial 1 +MX R1 <φ Radial 1 + ɛ φ +M(1 X R1 <φ) Radial 1 φ +MX φ<r1 φ + ɛ Radial 1 +M(1 X φ<r1 )
Überlappungen: p(r, φ) Radial 1 =1 φ Radial 1 +MX R1 <φ =1 Radial 1 + ɛ φ +M(1 X R1 <φ) Radial 1 φ +MX φ<r1 φ + ɛ Radial 1 +M(1 X φ<r1 )
Überlappungen: p(r, φ) Radial 1 φ Radial 1 +MX R1 <φ Radial 1 + ɛ φ +M(1 X R1 <φ) Radial 1 φ +MX φ<r1 φ + ɛ Radial 1 +M(1 X φ<r1 )
Überlappungen: Radial 1 < φ Radial 2 < φ Radial 1 p(r, φ) Radial 2
Überlappungen: Radial 1 < φ Radial 2 < φ p(r, φ) Radial 2 Radial 1 X R1 <φ + X R2 <φ 1 X φ<r1 + X φ<r2 1
Überlappungen: r 1 r 2 p(r, φ)
Überlappungen: r 2 p(r, φ) r 1
Mehrfachabbildungen: p 1 = (r 1, φ 1 ) p 2 = (r 2, φ 2 ) φ 1 + ɛ φ 2 +M(G 1 + G 2 ) φ 2 + ɛ φ 1 +M((1 G 1 ) + G 2 ) r 1 r 2 ɛ r +M(G 1 + (1 G 2 )) r 2 r 1 ɛ r +M((1 G 1 ) + (1 G 2 ))
Nebenbedingungen: Berücksichtigung der Eingabe Kreuzungen Überlappungen Mehrfachabbildungen Zielfunktion: Berücksichtigung der Ursprungsposition eines Knotens Knickminimierung für eine Kante Radialer oder konzentrischer Kantenverlauf Knickminimierung für eine Linie
Berücksichtigung der Ursprungsposition eines Knotens: p u (r u, φ u ) δ r δ φ p(r, φ)
Berücksichtigung der Ursprungsposition eines Knotens: p u (r u, φ u ) δ r δ φ p(r, φ) r u r δ r r r u δ r
Berücksichtigung der Ursprungsposition eines Knotens: p u (r u, φ u ) δ r δ φ p(r, φ) r u r δ r r u φ u r u φ δ φ r r u δ r r u φ r u φ u δ φ
Berücksichtigung der Ursprungsposition eines Knotens: p u (r u, φ u ) δ r δ φ p(r, φ) Kosten Eingabe = v V (δ r (v) + δ φ (v))
Knickminimierung für eine Kante: v(r v, φ v ) Radial u,v u(r u, φ u )
Knickminimierung für eine Kante: v(r v, φ v ) Radial u,v u(r u, φ u ) φ v Radial u,v + M(1 R 1 ) Radial u,v φ v + M(1 R 1 )
Knickminimierung für eine Kante: v(r v, φ v ) Radial u,v u(r u, φ u ) φ v Radial u,v + M(1 R 1 ) Radial u,v φ v + M(1 R 1 ) φ u Radial u,v + M(1 R 2 ) Radial u,v φ u + M(1 R 2 )
Knickminimierung für eine Kante: u(r u, φ u ) v(r v, φ v ) r v r u + M(1 K) r u r v + M(1 K)
Knickminimierung für eine Kante: Kosten Kante = 2K 2 R 1 R 2 e E (R 1 (e) + R 2 (e) + 2K(e))
Radialer oder konzentrischer Kantenverlauf: v Z R = 0 u
Radialer oder konzentrischer Kantenverlauf: v Z R = 0 u Z K = 0 v u
Radialer oder konzentrischer Kantenverlauf: v Z R = 0 u Z K = 0 v u Z R = 0 Z K = 0 Z = 0 Kosten Verlauf = e E Z(e)
Knickminierung für eine Linie: j i
Knickminierung für eine Linie: Z K,i = 0 Z K,j = 0 Z K,i = 0 Z K,j = 0 X i,j = 0
Knickminierung für eine Linie: Z R,i = 0 Z R,j = 0 Z R,i = 0 Z R,j = 0 Y i,j = 0
Knickminierung für eine Linie: X i,j = 0 Y i,j = 0 Z i,j = 0 Kosten Linie = (i,j) J Z i,j (i, j)
Zielfunktion: Minimiere: λ Eingabe Kosten Eingabe - λ Kante Kosten Kante + λ Verlauf Kosten Verlauf + λ Linie Kosten Linie
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen v k v k v 1 v 1
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen v k v k v 1 v 1
Knoten Kanten Laufzeitverbesserung: Vorher 90 96 Vereinfachung des Graphen Nachher 19 25 Nachträgliches Einfügen von Nebenbedingungen
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen 1. Lese Graph G ein und vereinfache G 2. Löse MIP Gehe zu 3. Sind Nebenbedingungen verletzt? Ja: Füge entsprechende Nebenbedingungen ein Nein: Erzeuge Zeichnung
Laufzeitverbesserung: Vereinfachung des Graphen Nachträgliches Einfügen von Nebenbedingungen 1. Lese Graph G ein und vereinfache G 2. Löse MIP Gehe zu 3. Sind Nebenbedingungen verletzt? Ja: Füge entsprechende Nebenbedingungen ein Nein: Erzeuge Zeichnung
Wien:
Wien: Laufzeit: 13 Min.
Montréal:
Montréal: Laufzeit: 10 Min. 59 Sek.
Zusammenfassung und Ausblick Ist-Zustand: Modell kann qualitativ gute Ergebnisse erzeugen Hohe Laufzeit
Zusammenfassung und Ausblick Ist-Zustand: Modell kann qualitativ gute Ergebnisse erzeugen Hohe Laufzeit Lösungsvorschläge: Struktur der Nebenbedingungen und Optimierungskriterien vereinfachen Anzahl der benötigten Variablen verringern
Zusammenfassung und Ausblick Qualität erhöhen: Kurze Überlappungen
Zusammenfassung und Ausblick Qualität erhöhen: Gleichmäßige Kantenlänge
Zusammenfassung und Ausblick Qualität erhöhen: Knickminimierung für Linien optimieren
Zusammenfassung und Ausblick Ist-Zustand: Modell kann qualitativ gute Ergebnisse erzeugen Hohe Laufzeit Lösungsvorschläge: Struktur der Nebenbedingungen und Optimierungskriterien vereinfachen Anzahl der benötigten Variablen verringern Vielen Dank für Ihre Aufmerksamkeit!