Ressourcenoptimierung von Workflow Problemen Diplomvortrag Martin Homik Betreuer: Christian Schulte Tobias Müller Fahrplan 1. 2. 3. 4. 5. 6. 7. Motivation Problemstellung Modell und Heuristik Implementierung Ergebnisse Zusammenfassung Demo Motivation: Beispiel Fertigung Planungsoptimierung von Fertigungsanlagen: • Produktionsleistung • Invest (Maschinentypen, Anzahl) Optimierung flexibler Produktionssysteme: • Eine Fertigungsanlage für alle Varianten! Objekt A Objekt B Motivation: Beispiel Fertigung Planungsoptimierung von Fertigungsanlagen: • Produktionsleistung • Invest (Maschinentypen, Anzahl) Optimierung flexibler Produktionssysteme: • Eine Fertigungsanlage für alle Varianten! Objekt A+B Motivation Fertigung-Problem ist übertragbar: • • • • Industrie (Computer Integrated Manufacturing) Baugewerbe (Hausbau) Geschäftsleben (Kundenbetreuung) Informatik (Verteilte Programmierung) Abstraktion als Workflow Problem! Workflow Abstraktion Standardisierung durch Workflow Management Coalition: • Begriffe • Workflow Definitionen • Workflow Systeme Maschinen Varianten Arbeitsschritte Workflow Teilnehmer Typen (WFT) Abläufe Aktivitäten Workflow Abstraktionsebenen 1. Prozeßlogik Welche Aktivität wird zu welchem Zeitpunkt ausgeführt? 2. Organisation Wer führt welche Aktivität aus? 3. Infrastruktur Welche WFTs sind in welcher Anzahl notwendig? Prozeßdefinition: Eine für ein Workflow System verständliche Datenstruktur, die Angaben zu Prozeßlogik, Organisation und Infrastruktur enthält. Begriffe • Attributierte Ressourcen • Flexible Prozesse • Kontinuierliche Versorgung und gerichteter Fluß • Balance, Taktzeit • Organisation, Infrastruktur • Partitionierung Attributierte Ressourcen K: 150 € K: 250 € K: 400 Überlappung € Überlappung Rz: 200 Rz: 200 Rz: 200 St: 90% St: 95% St: 95% 11, 12, 15 12, 13, 16, 19 17, 18, 19 Fähigkeiten sind beliebig überlappend! K = Kosten Rz = Rüstzeit St = Stabilität Ablaufplan 11 0 Start 13 12 17 16 18 19 100 15 Ende Vorrangrelation Aktivität Jede Aktivität muß ausgeführt werden! Flexible Prozesse 11 0 0 21 22 11 13 12 12 17 16 18 19 100 15 20 17 16 15 13 11 19 100 0 13 12 17 18 19 15 100 Kontinuierliche Versorgung An jeder Station liegt zu jedem Zeitpunkt Arbeit vor! Objekte werden in eine Richtung weitergegeben! Balance Zeit Scheduling: • min. Durchlaufzeit • Taktzeit Kontinuierliche Versorgung: • Durchlaufzeit • min. Taktzeit Problemstellung (Gegeben) 11 0 13 12 17 16 15 18 19 100 0 21 22 11 13 12 17 16 19 100 15 20 11 0 13 12 17 18 19 15 100 Problemstellung (2) Aj Organisation? Blocki Infrastruktur? Problemstellung (2) Aj Organisation? Blocki Infrastruktur? Prozeßlogik? Partitionierung (Beispiel) 11 13 17 18 Partitionierung garantiert den gerichteten 0 12 16Datenfluß! 19 100 15 Partitionierung 11 0 13 12 17 16 18 19 100 15 1. Regel: 15 16: 15 in 16 in verschiedene Blöcke 11, 12, 15 12, 13, 16, 19 17, 18, 19 Partitionierung (2) 11 0 13 12 17 16 18 19 100 15 2. Regel: 12 15: 12 in und 15 in derselbe Block 11, 12, 15 12, 13, 16, 19 17, 18, 19 Partitionierung (3) 11 0 13 12 17 16 18 19 100 15 3. Regel: 16 19: 16 in 19 in und verschiedene Blöcke 11, 12, 15 12, 13, 16, 19 17, 18, 19 Grundmodell • • • • Datenstrukturen Blockbearbeitungszeit Infrastruktur Effektive Taktzeit Modell: Datenstrukturen Anzahl Blöcke: n 0 Menge aller Aktivitäten: AΝ Die Menge aller Kosten: KΝ Die Menge aller Zeitangaben: Ti Ν Die Menge der Prozentangaben: Pr {0,1,2,...,100} Allgemeine Verlust: v Pr Maximaler Takt: maxT Ti Modell: WFT WFT P(A) K Ti Pr Projektionen: akt : WFT P(A ) kost : WFT K stab : WFT Pr Modell: Datenstrukturen Teilnehmertypen: W WFT n Anzahl Teilnehmertypen: M Νn Kosten: n K G kost(Wi ) * M i i 1 Modell: Ablauf Ein Ablauf γ ( A γ , R γ ) ist ein gerichteter, azyklischer und zusammenhängender Graph mit: Knoten Kanten Aγ A R γ Aγ Aγ Die Menge aller Abläufe wird mit bezeichnet. Projektionen: akt : P(A) rel : P(A A) Modell: Ablauf Vereinigung: union : P( ) Sei z P( ) Dann ist union( z ) (A u , R u ) Au akt(γ) γz Ru rel(γ) γz Modell: Partition Sei z P( ) und A u akt(union( z )) R u rel(union( z )) Partition von Au in: S1 , S2 ,, Sn Si S j Si n S i Au i 1 Und ...Nächste Folie Modell: Partition(2) Eigenschaft des gerichteten Flusses: (a, b) R u : w WFT :{a, b} akt(w) a Si b S j 1 i j n Sonst: a Si b S j 1 i j n Modell: Partition(3) Allgemeine Zuordnung: a, b A u : w WFT :{a, b} akt(w) a Si b S j Si akt(Wi ) i j 1 i n Blockbearbeitungszeit Übergangszeiten U A1 U A2 A3 R1 R2 Bearbeitungszeiten Rüstzeit Gesamtbearbeitungszeit / Block bbz : P(A) WFT Ti t Infrastruktur Anzahl WFT im Block Si (und WFT Wi) bbz(S i , Wi ) * (100 v) Mi stab(Wi ) * maxT Anz. WFT Bbz Infrastruktur (2) Welche Anzahl von WFT liegt bei flexiblen Prozessen vor? 1. Berechne pro Block und pro Ablaufß die Anzahl 2. Wähle pro Block das Maximum. 3. Bilde die Summe der Maxima. Prozeß 1 5 6 4 8 Prozeß 2 1 0 7 8 Summe 5 6 7 8 26 Taktzeit bbz(S i , Wi ) * (100 v) Ti stab(W ) * M i i Takt Anzahl WFT Taktzeit (2) Was ist die (effektive) Taktzeit der Lösung? 1. Berechne pro Block und pro Ablauf die Taktzeit. 2. Die höchste Taktzeit ist die effektive Taktzeit. Prozeß 1 489 520 531 511 Prozeß 2 500 510 525 0 Heuristik (Aufbau) Anzahl Blöcke Die Anzahl der Blöcke ist aufsteigend Teilnehmertyp Wähle den Block mit der geringsten Auswahl an WFTs. Weise den günstigsten WFT zu. Aktivitäten Wähle die längste Aktivität. Weise sie dem Block mit günstigstem WFT zu. Zielgerichtete Heuristik 1. Filter: Nichtdeterminierte Aktivitäten 2. Order u. Select: Wähle längste Aktivität 3. Value: Zuweisung an Block mit günstigstem WFT 400€ 150€ 250€ Problem: Zielgerichtete Heuristik Schlecht! 400€ 150€ 250€ Problem: Zielgerichtete Heuristik Besser! 400€ 150€ 250€ Implementierung (Woop) • • • • • • • Mozart/Oz: Constraint Programmierung Ca. 15 000 Zeilen Code Direkte Umsetzung des mathematischen Modells Dynamische Skriptgenerierung Dynamische Heuristikauswahl Interface zu Standard-Suchmaschinen Benutzerdefinierte Constraints Implementierung (Woop) • Verwaltung von Lösungen/Problemstellungen • Export von Lösungen • Protokollfunktion: Email/Datei • Editor zur Erstellung von Abläufen • Verifikation von Abläufen • Internationalization/Localization Ergebnisse Vorgegeben 50 45 40 35 30 25 20 15 10 5 0 Woop (first) 41 44 Woop (best) 41 34.146 35.002 32.527 8 10 10 Blöcke WFT Kosten (Mio. €) Beispiel: • Zwei Abläufe • Jeweils 50 Akts. • 9 WFT Typen Erste Lösung: • ca. 60 Choice Points • 1Sek. Beste Lösung: • 13:40 Std. • 22.084.534 CP • 4.74% besser Präzises Modell Werkzeuge: Reduzierte Werkzeugmagazine Mehr Blöcke Steigert Komplexität Kosten: Teilnehmer, Blöcke, Werkzeuge Präzises Modell (2) Lokale Zeit: Exaktere Ergebnisse Keine Verbesserung der Laufzeit! Vermischter Datenfluß: Gleichzeitige Bearbeitung verschiedener Abläufe Beitrag (Zusammenfassung) Abstraktion: eines Fertigungsproblems als ein ... Workflow Problem: Definition und Untersuchung Neue Klasse von Problemen identifiziert Woop: Implementierung einer Software zur generischen Lösung; Mozart/Oz ; Technik: CP Praxis: Erfolgreiche Anwendung von Woop in der Praxis Verwandte Arbeiten Gesamtkonzept: • Workflow Management Coalition (WfMC) www.wfmc.org • S. Bussmann, K. Schild: An agent-based approach to the control of flexible production systems Simulation und Verifikation: • Andreas Oberweis: Zeit- und Kostenanalyse von Geschäftsprozessen mit höheren Petrinetzen • Scheer: ARIS Toolset Verwandte Arbeiten(2) Generische Approximation: • M. Gillmann: Konfiguration verteilter Workflow Management Systeme mit Leistungsgarantien – – – – – Kein gerichteter Datenfluß Kontrollfluß WFTs sind vorgegeben Abschätzung des maximalen Takts Pessimistische Abschätzung mit Markov-Ketten Scheduling (Brücke) Workflow Teilnehmer: • 10 Typen • Keine Überlappung! Aktivitäten: • 44 Aktivitäten • Kranarbeiten sind sehr zeitaufwendig Scheduling (Brücke) Bagger Handwerker Arbeiter Kran 35 2 11 17 23 29 36 3 12 18 24 42 30 37 4 8 13 19 25 31 1 38 5 9 14 20 26 44 32 39 6 15 21 27 33 40 7 16 22 28 43 34 10 Ramme 41 Betonmischer Planierraupe Maurer