2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur...

13
1 2-Schichten Kreuzungsminimierung VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 2.-te VO 18.10.2005 Literatur für diese VO Einführung in hierarchisches Zeichnen: Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, Kiem-Phong Vo: A Technique for Drawing Directed Graphs, Software Engineering 19 (3), 214-230, 1993 M. Jünger und P. Mutzel: 2-Layer Straightline Crossing Minimization: Performance of Exact and Heuristic Algorithms, Journal of Graph Algorithms and Applications 1 (1) 1-25, 1997 Überblick Was ist Graphzeichnen? Zeichenverfahren - Überblick Hierarchisches Zeichenverfahren • Kreuzungsminimierung Diagramm aus der Zeitung Verbrechensbekämpfung

Transcript of 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur...

Page 1: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

1

2-Schichten Kreuzungsminimierung

VO Algorithm Engineering

Professor Dr. Petra Mutzel

Lehrstuhl für Algorithm Engineering, LS11

2.-te VO 18.10.2005

Literatur für diese VO

• Einführung in hierarchisches Zeichnen: Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, Kiem-Phong Vo: A Technique for Drawing Directed Graphs, Software Engineering 19 (3), 214-230, 1993

• M. Jünger und P. Mutzel: 2-Layer StraightlineCrossing Minimization: Performance of Exactand Heuristic Algorithms, Journal of Graph Algorithms and Applications 1 (1) 1-25, 1997

Überblick

• Was ist Graphzeichnen?• Zeichenverfahren - Überblick

• Hierarchisches Zeichenverfahren

• Kreuzungsminimierung

Diagramm aus der Zeitung

Verbrechensbekämpfung

Page 2: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

2

Ergebnis der Datenbankanfrage Ergebnis der Datenbankanfrage

Metabolische Pathways

KEGG Datenbank

UML-Klassendiagramm

«Enquiry»Requisition Inquiry

PO requisition

Requisition Status

«Enquiry»GRV Inquiry

Goods Received Voucher

-GRA No.-Qty Returned-Reason

GRA

GRV Status

-GRV No-Supplier Code-Supplier Description-GRV Status-Authority No-Purchase Order No.-Suppliers Invoice/Delivery Note-Date Received

GRV Header

-UOM-Qty Ordered-Qty Received to Date-Qty on Delivery Note-Qty Counted-Qty Inspected OK-Qty Rejected-Qty Accepted-Unit Net Price-Qty on GRA-Supplier Invoice No.-Supplier Invoice Value-GRV Total (Excl. Vat)

GRV Detail

GRN Inquiry

Goods Returned Note

-GRN No-Supplier Code-Supplier Description-Suppliers Invoice/Delivery Note-GRV Ref. No-Purchase Order No.-Authority No.-Date Returned

GRN Header-Item Code-Item Description-Qty on GRN-Qty Returned-Unit Net Price-GRN Reason Code-Reason Description-Supplier Credit Note-Supplier Value

GRN Detail

-Date Required-Qty Required

Split line Item

«Enquiry»PO Inquiry

Purchase Order PO Status

-Warehouse-Supplier Code-UOM-Qty Required-Due Date-Price-Trade Discount 1-Trade Discount 2-Line Status

PO Requisition Detail

-quest No-Requistion Type-Created By-Requested By-Authorised By-Date Time Created-Request Status

PO Requisition Header-Purchase Order No-Supplier Code-Supplier Description-Order Type-Buyer-Date Time Created-Order Status : PO Status-Settlement Discount-Authority No-W/H Code-W/H Description-Version No

Purchase Order Header-Special Instructions-Requisition No-Ordering UOM-Qty Required-Qty received-Date Required-Standard Cost-Supplier Price-Trade Discount 1-Trade Discount 2-Requested By-Total Value (Excl. Vat)-Line Item Status : PO Status

Purchase Order Detail

«Enquiry»Supplier Inquiry

Supplier Status

-Supplier Code-Supplier Name-Supplier Status-Settlement Discount %-Payment Terms (Days)-Street No.-Street Name-Suburb-City-Physical Postal Code-P.O. Box No.-Postal Code-Banking Details-E-mail Address-Creditor Contact Person-MD Name-MD Number-Phone Number-Fax No-Statement Delivery Method-Method of Payment-Supplier Rating-Date Created-Trade Discount 1-Trade Discount 2

Supplier Master File

Transaction Type

-Item Code-Item Description

Stock Items

-Expence Code-Cost Center-Description of Product-Quoted Reference No.

Non-Stock Item

GL Account Stock Account

Employee GL Accounts

Budget

-Employee No.-Name-Surname-ID No.

Employee Master File

«Enquiry»Cardex Report

«Enquiry»Item Inquiry

-Supplier Code-Item Code-W/H Code-Supplier Price-Date On-Date Off-Max Stock Level-Minimum Stock Level-Multiples-Type (MRP or ROP)-Record Qty on D/Note?-Record Qty Counted?-Inspected OK?-Rejected?-Accepted?-EOQ-Supplier Lead Time-Ordering UOM-Conversion Factor

Supplier W/H Item Matrix

-Warehouse Code-Warehouse Description

Warehouse

-W/H Code-Item Code-Inventory on Hold-Inventory on Order-Supplier Code-Lead Time-Inventory on Hand-Minimum Order Qty-Maximum Order Qty-Re-order Point

Warehouse Item

-Warehouse-Product Group

Buyer Role

-Item Code-Item Description-Standard Cost-Stocking UOM-TAX-Material Cost-Last Cost Price-Inventory Unit-Forecast Method-D/Note inquiry-MRP - Lead Time-MRP - Supplier Code-MRP - W/H

Item Master File

Buyer

Page 3: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

3

ModelElement

Feature

-body : BooleanExpressionConstraint

-defaultValue : ExpressionParameter

PersonsConstrBehavioralFeature

StructuralFeature-isRoot : Boolean-isLeaf : Boolean-isAbstract : Boolean

GeneralizableElement

Attribute

OperationMethod

ReturnName

«Datentyp»Datatype«Datentyp»

NameSpace

«Datentyp»Real

«Datentyp»String

«Datentyp»Boolean

«Datentyp»Integer

Package

Model

Classifier

-isActive : BooleanClass

Klasse17

«Datentyp»Frau«Datentyp»

Mann«Datentyp»Standort

«Datentyp»Arbeitsleistung

«Datentyp»Person

«Datentyp»Projekt

«Datentyp»bezeichnung

«Datentyp»Name

«Datentyp»budget

-language : Name-body : String

Expression

«Datentyp»InitVal

«Datentyp»Stunden

«Datentyp»getName

«Datentyp»getName

«Datentyp»setName

«Datentyp»setName

«Datentyp»NameToSet

-Ende3

*

-Ende4

*

ModelElement

Feature

-body : BooleanExpressionConstraint

-defaultValue : ExpressionParameter

PersonsConstr

BehavioralFeature

StructuralFeature

-isRoot : Boolean-isLeaf : Boolean-isAbstract : Boolean

GeneralizableElement

Attribute

Operation

Method

ReturnName

«Datentyp»Datatype

«Datentyp»NameSpace

«Datentyp»Real

«Datentyp»String

«Datentyp»Boolean

«Datentyp»Integer

Package

Model

Classifier

-isActive : BooleanClass

Klasse17

«Datentyp»Frau

«Datentyp»Mann

«Datentyp»Standort

«datatype»Arbeitsleistung

«Datentyp»Person

«datatype»Projekt

«Datentyp»bezeichnung

«Datentyp»Name

«Datentyp»budget

-language : Name-body : String

Expression «Datentyp»InitVal

«Datentyp»Stunden

«Datentyp»getName

«Datentyp»getName

«Datentyp»setName

«Datentyp»setName

«Datentyp»NameToSet

-Ende3*-Ende4*

Was ist eine schöne Zeichnung?WERKE

Werke_IDWerke_PLZ

N

SOLLBESTAND

e

ARTIKEL

Artikel_IDArtikel_Menge

PRODUKTION

t

SORTIMENTE

s

VERTRIEB

LAUFZEIT

Laufzeit_ID

WERKEWerke_IDWerke_PLZ

UMLAGERUNGENUmlagerungen_IDUmlagerungen_Menge

SOLLBESTANDSollbestand_IDSollbestand_Menge

ARTIKELArtikel_IDArtikel_Menge

PRODUKTIONProduktion_IDProduktion_Zeit

SORTIMENTESortimente_IDSortimente_Preis

VERTRIEBVertrieb_IDVertrieb_Nummer

LAUFZEIT

Laufzeit_ID

Aesthetik Kriterien

• Wenige Kreuzungen• Wenige Kantenknicke• Kurze Kantenlänge• Kleine Zeichenfläche

• speziell: Hierarchie, Symmetrie

Metrik

Topologie

Form

Datenbank Modell

Vertrag Person Produktbestand Produktvorgang Provisionssatz

Konditionbestand

Normalvertrag

Vertragsinhaber/Vertrag

Vertreter/Vorgang Vermittler/Vorgang Provisionssatz/Produktvorgang

Struktur

Bausparvertrag

Vertragsinshaber

Preis

Vermittler

Buchung

ZKVertrag Konto Vorgang Vertreter

KLVetrag Einlagenvertrag Immobilienvermittl. UnbekVetrag Darlehensvetrag RLVertrag

Original Physikalisches Modell

Datenbank Modell

Page 4: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

4

Vertrag

Person

Produktbestand

Produktvorgang Provisionssatz

Konditionbestand

Normalvertrag

Vertragsinhaber/Vertrag

Vertreter/Vorgang

Vermittler/Vorgang

Provisionssatz/Produktvorgang

Struktur

Bausparvertrag

Vertragsinshaber

Preis Vermittler

Buchung

ZKVertrag

Konto Vorgang

Vertreter

KLVetrag

EinlagenvertragImmobilienvermittl.

UnbekVetrag

Darlehensvetrag

RLVertrag

Datenbank Modell

Quasi-orthogonales Modell

Vertrag

Person

Produktbestand ProduktvorgangProvisionssatz

Konditionbestand

Normalvertrag

Vertragsinhaber/Vertrag

Vertreter/Vorgang Vermittler/Vorgang

Provisionssatz/Produktvorgang

Struktur

Bausparvertrag

Vertragsinshaber

Preis

Vermittler

Buchung

ZKVertrag

Konto

VorgangVertreter

KLVetrag

Einlagenvertrag Immobilienvermittl.

UnbekVetrag

Darlehensvetrag

RLVertrag

Datenbank Modell

Hierarchisches Modell

Überblick

• Was ist Graphzeichnen?• Zeichenverfahren - Überblick

• Hierarchisches Zeichenverfahren

Adult Dental Health Survey ´98

Datenbankmodell einer VersicherungInsurance Data Base

Datenbankmodell einer Versicherung

Page 5: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

5

Begutachtungsprozess(1) Schichteneinteilung

(2) Kreuzungsminimierung

(3) Koordinatenzuteilung

taz

Sugiyama Algorithmus

Festlegung der Schichten

Page 6: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

6

Festlegung der Schichten Festlegung der Schichten

Einfügung künstlicher Knoten Kreuzungsreduktion

Kreuzungsreduktion Kreuzungsreduktion

Page 7: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

7

Kreuzungsreduktion Kreuzungsreduktion

Kreuzungsreduktion Begradigung der Kanten

Begradigung der Kanten Begradigung der Kanten

Page 8: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

8

26%

26%26%

100%

26,3%

95,2%

91,1%26%22,5% 12% 26% 28%

25%

26,25%

100%

23%

21,3%15,7%

VEAGVereinigte

Elektrizitätswerke

EnBWEnergie

Baden-Württ. AG

VEW AG

RWEEnergie AG

VEWEnergie AG

EnergieVerwaltungs-GmbH

RWEAG

VIAG AG

ContigasAG Bewag AG

VEBAAG

PreussenElektra AG

SydkraftAB

HEWHamburgische

Elektr.-Werke AG

Bayernwerk AG

EBHGmbH

Southern EnergyHolding Bet.-GmbH

AG

100%

1%13.5%

15.4%

30%

60%

20%

Überblick

• Was ist Graphzeichnen?• Zeichenverfahren - Überblick

• Hierarchisches Zeichenverfahren

• Kreuzungsminimierung

Exkurs: Ein RätselRätselbuch von Dudeney, 1911

G EW

A B C

Erster Versuch

A B C

G EW

Neuer Versuch

G EW

A B C

Nach Umordnung

W

G

C

A

E

B

Page 9: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

9

2-Schichten Kreuzungsminimierung (fix)

Geg: Bipartiter Graph auf 2 Schichten,Permutation der oberen Schicht ist fixiert

1

0 2 51 3 4

0 2 3 4

Gesucht: Zeichnung mit weniger Kreuzungen durchPermutation der Knoten der unteren SchichtBilayer Crossing Minimization Problem (fix), NP-hard

Heuristiken zur 2-Schichten Kreuzungsminimierung (fix)

• Barycenter Heuristik • Median Heuristik• Greedy-Insert Heuristik• Greedy Switch Heuristik• Split Heuristik• Assign Heuristik• Stochastische Heuristik

1

0 2 51 3 4

0 2 3 4

Barycenter Heuristik

Für jeden Knoten v auf der unteren Schicht:barycenter(v) = durchschnittliche Position

der Nachbarn auf der oberen Schicht

1

0 2 51 3 4

0 2 3 4

Sortiere die Knoten auf der unteren Schicht nach ihrem Barycenter Wert.

1

0 2 51 3 4

0 2 3 4

1.6 1 3 3 3.5

Barycenter Heuristik

1

0 2 51 3 4

0 2 3 4

1 1.6 3 3 3.5

Sortiere die Knoten auf der unteren Schicht nach ihrem Barycenter Wert.

Eine Kreuzung weniger!

Barycenter Heuristik

1

0 2 51 3 4

0 2 3 4

Median Heuristik

Für jeden Knoten v auf der unteren Schicht:median(v) = Median der Positionen der Nachbarn

auf der oberen Schicht

Page 10: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

10

1

0 2 51 3 4

0 2 3 4

2 1 3 4 5

Sortiere die Knoten auf der unteren Schicht nach ihrem Median Wert.

Median Heuristik

1

0 2 51 3 4

0 2 3 4

1 2 3 4 5

Sortiere die Knoten auf der unteren Schicht nach ihrem Median Wert.

Eine Kreuzung weniger!

Median Heuristik

Fixiere von links nach rechts indem in jedem Schritt derjenige Knoten gewählt wird, der mit den bisher gesetzten Knoten am wenigsten Kreuzungen hat.

Greedy-Insert Heuristik

1

0 2 51 3 4

0 2 3 4

Original-Positionen

Für alle benachbarten Knotenpaare (u,v): Falls es weniger Kreuzungen bringt, wenn man die Paare vertauscht, dann führe Vertauschung durch.

Greedy-Switch Heuristik

1

0 2 51 3 4

0 2 3 4

Original-Positionen

Wähle ein Pivotelement v, und platziere alle anderen Knoten entweder links oder rechts von v, je nachdem, wo es weniger Kreuzungen gibt. Führe dies rekursiv an L.S. und R.S. von v fort.

Split Heuristik

1

0 2 51 3 4

0 2 3 4

Original-Positionen

vu 1

0 2 51 3 4

2 4

Kosten von u < v: cuv = 3

fix

permute

Exakte 2-Schichten Kreuzungsminimierung (fix)

Page 11: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

11

uv 1

0 2 51 3 4

2 4

cost of u < v: cuv = 3cost of v < u: cvu = 5

fix

permute

Exakte 2-Schichten Kreuzungsminimierung (fix)

u1

0 2 51 3 4

v 2 4

cost of u < v: cuv = 3cost of v < u: cvu = 5

fix

permute

Finde eine Permutation π von 1,2,...,ndie minimiert

Linear Ordering Problem

Exakte 2-Schichten Kreuzungsminimierung (fix)

Lineares Ordnungsproblem (LOP) Gegeben: ein vollständiger gerichteter Graph G=(V,A)

mit Kantengewichten cuv für alle Bögen (u,v) in A.

Gesucht: eine lineare Ordnung der Knoten, so dass die Summe der Gewichte aller Bögen, die dieser Ordnung entsprechen, maximiert wird.

1 2 3 4

Anwendungen: Triangulation von Input-Output Matrizen, Rangbestimmung in Turniersportarten, Kreuzungsminimierung

Graphen-Theoretische FormulierungGegeben: ein vollständiger gerichteter Graph G=(V,A)

mit Bogengewichten cuv für alle Bögen (u,v) in A.

Gesucht: ein spannendes, azyklisches Turnierin G mit größtem Gewicht

1 2 3 4

Turnier: T⊆A: entweder (i,j)∈T oder (j,i)∈T aber nicht beide

Linear Ordering Problem (LOP)

• Grötschel, Jünger, Reinelt 1984– Studierten das LOP– Praktische Umsetzung in Branch&Cut Code

auf IBM 370/168 VM/CMS PL/I MPSX

• Reimplementierung 1995– SUN SPARC UNIX C CPLEX

Algorithmus: nächste VO-Stunde

Praktische Experimente für2-Schichten

Kreuzungsminimerung

Page 12: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

12

Experimental Setup

• Wiederholung der Experimente von Eadesund Kelly 1986 um sicherzustellen, dass wir gleiche Resultate erhalten: – je 100 zufällig generierte Graphen mit |L|=|R|=20

und steigender Dichte – Ergebnis: „All heuristics behave well for moderate

and high density“

Experimental Setup

• Random Graph Generator:• random_bigraph von Stanford GraphBase

von Knuth, denn diese Generatoren sind– Hardware unabhängig– jederzeit von allen überall reproduzierbar

• SUN Sparcstation 10, Linux

je 100 Instanzen20+20 Knotenmit steigender Dichte

Relative Qualität

100 ( SOL / OPT)

Sieger: Split HeuristikBarycenter und Stochastikauch gut

Median scheint schlecht zu sein

je 100 Instanzen20+20 Knotenmit steigender Dichte

Laufzeiten in Sekunden

Exakter Algorithmus schneller als viele Heuristiken

je 10 Instanzendünne Graphen mitaufsteigender Größe10+10 bis 100+100

Relative Qualität

100 ( SOL / OPT)

Sieger: Split HeuristikBarycenter und Stochastik

Verlierer: Greedy-Switchund Greedy-Insert

Untere Schranke ist sehr nah am Optimum

Laufzeiten in Sekunden

je 10 Instanzendünne Graphen mitaufsteigender Größe10+10 bis 100+100

Split Heuristik bis 60+60Langsamer als exakter Algorithmus

Sieger: Barycenter Heuristikund Stochastik

Page 13: 2-Schichten Literatur für diese VO Kreuzungsminimierungls11- · PDF fileLiteratur für diese VO ... -Statement Delivery Method-Method of Payment-Supplier Rating ... Struktur Bausparvertrag

13

Eigentlich interessiert uns k-Schichten Kreuzungsminimierung

• Das betrachtete wird im Graphlayout nur als Teilproblem für die k-Schichten Kreuzungsminimierung benutzt.

• Uns interessiert also eigentlich, wie gut diese Heuristiken für das Originalproblem geeignet sind.

• Wiederhole Experimente für zwei Schichten, bei denen nichts fixiert ist

2-Schichten Kreuzungsminimierung (frei)• Führe abwechselnd die folgenden Schritte durch:• Fixiere obere Schicht, berechne untere Schicht• Fixiere untere Schicht, berechne obere Schicht,• Bis keine Verbesserung mehr möglich

• Gleiche Heuristiken für fixierte Probleme wie oben plus LR-OPT: jeweils der exakte Algorithmus für eine fixierte Schicht

• Optimale Berechnung damals nur für sehr kleine Instanzen möglich (bis ca. 15 Knoten auf kleinerer Schicht): Kombination von Enumeration mit exaktem fixierten Algorithmus

je 100 Instanzen 10+10 Knoten mit steigender Dichte

Relative Qualität

1 Versuch 10 Versuche

BesteHeuristiken sindsehr weit wegvom Optimum für dünneGraphen

Sieger: Barycenter,LR-OPT,Split Heuristik

je 10 Instanzen dünne Graphen von 10+10 bis 100+100

Relativ zu BarycenterAnzahl an Kreuzungen

Sieger: Barycenter,LR-OPT,Split, Median

Computational Results

Kreuzungszählen ist das Bottleneck

• Exakter Algorithmus kann optimale Kreuzungszahl (fix) berechnen für ca. 60 Knoten auf beweglicher Schicht

• Barycenter und Median sind die besten Heuristiken für Originalproblem

• Laufzeit der meisten Heuristiken wird dominiert durch das Kreuzungszählen

→ Neue theoretische und praktische Arbeiten zum Kreuzungszählen