woop - workflow optimizer
DESCRIPTION
These slides are done for the presentation of my diploma thesis. (German)TRANSCRIPT
![Page 1: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/1.jpg)
Diplomvortrag
Martin Homik
Ressourcenoptimierung von Workflow Problemen
Betreuer: Christian SchulteTobias Müller
![Page 2: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/2.jpg)
Fahrplan
1. Motivation
2. Problemstellung
3. Modell und Heuristik
4. Implementierung
5. Ergebnisse
6. Zusammenfassung
7. Demo
![Page 3: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/3.jpg)
Motivation: Beispiel Fertigung
Planungsoptimierung von Fertigungsanlagen:• Produktionsleistung• Invest (Maschinentypen, Anzahl)
Objekt A
Objekt B
Optimierung flexibler Produktionssysteme:• Eine Fertigungsanlage für alle Varianten!
![Page 4: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/4.jpg)
Motivation: Beispiel Fertigung
Planungsoptimierung von Fertigungsanlagen:• Produktionsleistung• Invest (Maschinentypen, Anzahl)
Objekt A+B
Optimierung flexibler Produktionssysteme:• Eine Fertigungsanlage für alle Varianten!
![Page 5: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/5.jpg)
Motivation
Fertigung-Problem ist übertragbar:• Industrie (Computer Integrated Manufacturing)• Baugewerbe (Hausbau)• Geschäftsleben (Kundenbetreuung)• Informatik (Verteilte Programmierung)
Abstraktion als Workflow Problem!
![Page 6: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/6.jpg)
Workflow Abstraktion
Maschinen
Varianten
Arbeitsschritte
Workflow Teilnehmer Typen (WFT)
Abläufe
Aktivitäten
Standardisierung durch Workflow Management Coalition:• Begriffe• Workflow Definitionen• Workflow Systeme
![Page 7: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/7.jpg)
Workflow Abstraktionsebenen
1. ProzeßlogikWelche Aktivität wird zu welchem Zeitpunkt ausgeführt?
2. OrganisationWer führt welche Aktivität aus?
3. InfrastrukturWelche WFTs sind in welcher Anzahl notwendig?
Prozeßdefinition: Eine für ein Workflow System verständlicheDatenstruktur, die Angaben zu Prozeßlogik, Organisation undInfrastruktur enthält.
![Page 8: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/8.jpg)
Begriffe
• Attributierte Ressourcen
• Flexible Prozesse
• Kontinuierliche Versorgung und gerichteter Fluß
• Balance, Taktzeit
• Organisation, Infrastruktur
• Partitionierung
![Page 9: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/9.jpg)
Attributierte Ressourcen
K: 400 €Rz: 200St: 95%
K: 150 €Rz: 200St: 90%
K: 250 €Rz: 200St: 95%
K = Kosten Rz = Rüstzeit St = Stabilität
Fähigkeiten sind beliebig überlappend!
Überlappung
11, 12, 15
Überlappung
12, 13, 16,19
17, 18, 19
![Page 10: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/10.jpg)
Ablaufplan
0 12
13
15
16
17 18
19 100
11
Start Ende
Aktivität
Vorrangrelation
Jede Aktivität muß ausgeführt werden!
![Page 11: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/11.jpg)
Flexible Prozesse
0 12
13
15
16
17 18
19 100
11
0 12
13
15
17 18
19 100
11
20
0 12
13
15
16
17
19 100
11
21 22
![Page 12: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/12.jpg)
Kontinuierliche Versorgung
An jeder Station liegt zu jedem Zeitpunkt Arbeit vor!
Objekte werden in eine Richtung weitergegeben!
![Page 13: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/13.jpg)
BalanceZeit
Scheduling: • min. Durchlaufzeit• Taktzeit
Kontinuierliche Versorgung: • Durchlaufzeit• min. Taktzeit
![Page 14: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/14.jpg)
Problemstellung (Gegeben)
0 12
13
1516
17 18
19 100
11
0 12
13
15
17 18
19 100
11
20
0 12
13
1516
17
19 100
11
21 22
![Page 15: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/15.jpg)
Problemstellung (2)
Organisation?
Infrastruktur?
Blocki
Aj
![Page 16: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/16.jpg)
Problemstellung (2)
Organisation?
Infrastruktur?
Blocki
Aj
Prozeßlogik?
![Page 17: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/17.jpg)
Partitionierung (Beispiel)
0 12
13
15
16
17 18
19 100
11
0 12
13
15
16
17 18
19 100
11 Partitionierung garantiert den gerichteten Datenfluß!
![Page 18: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/18.jpg)
Partitionierung
0 12
13
15
16
17 18
19 100
11
11, 12, 15
12, 13, 16, 19
17, 18, 19
1. Regel: 15 16: 15 in 16 in verschiedene Blöcke
![Page 19: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/19.jpg)
Partitionierung (2)
11, 12, 15
12, 13, 16, 19
17, 18, 19
0 12
13
15
16
17 18
19 100
11
2. Regel: 12 15: 12 in und 15 in derselbe Block
![Page 20: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/20.jpg)
Partitionierung (3)
0 12
13
15
16
17 18
19 100
11
3. Regel: 16 19: 16 in 19 in und verschiedene Blöcke
11, 12, 15
12, 13, 16, 19
17, 18, 19
![Page 21: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/21.jpg)
Grundmodell
• Datenstrukturen
• Blockbearbeitungszeit
• Infrastruktur
• Effektive Taktzeit
![Page 22: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/22.jpg)
Modell: Datenstrukturen
Anzahl Blöcke: 0n
Menge aller Aktivitäten: ΝA
Die Menge aller Kosten: ΝK
Die Menge aller Zeitangaben: ΝTi
Die Menge der Prozentangaben: }100,...,2,1,0{Pr
Allgemeine Verlust: Prv
Maximaler Takt: TimaxT
![Page 23: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/23.jpg)
Modell: WFT
PrTiKP(A)WFT Projektionen:
)P(AWFT:akt KWFT:kost PrWFT:stab
![Page 24: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/24.jpg)
Modell: Datenstrukturen
Kosten:
n
1iiiG M*)kost(WK
Teilnehmertypen:
Anzahl Teilnehmertypen:
nWFTW
nΝM
![Page 25: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/25.jpg)
Modell: Ablauf
Ein Ablauf )R,A(γ γγ ist ein gerichteter, azyklischer und
zusammenhängender Graph mit:
Knoten AAγ Kanten γγγ AAR
Projektionen:
P(A):akt
Die Menge aller Abläufe wird mit bezeichnet.
A)P(A:rel
![Page 26: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/26.jpg)
Modell: AblaufVereinigung:
)akt(γ Azγ
u
)rel(γ Rzγ
u
) P(:union
Sei ) P(z Dann ist )R,(A) union( uuz
![Page 27: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/27.jpg)
ji SS
iS
u
n
1ii AS
Modell: Partition
Partition von Au in: S,,S,S n21
Sei und ))akt(union(A zu ) P(z
)) rel(union(R zu
Und ...Nächste Folie
![Page 28: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/28.jpg)
Modell: Partition(2)
akt(w)b}{a, :WFTw :Rb)(a, u
ji SbSa nji1
Sonst:
ji SbSa nji1
Eigenschaft des gerichteten Flusses:
![Page 29: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/29.jpg)
Modell: Partition(3)
akt(w)b}{a, :WFTw :Aba, u
ji SbSa ji
Allgemeine Zuordnung:
)akt(WS ii ni1
![Page 30: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/30.jpg)
Blockbearbeitungszeit
t
A1
U
A2
U
A3
R1 R2
RüstzeitBearbeitungszeiten
Übergangszeiten
Gesamtbearbeitungszeit / Block
TiWFTP(A):bbz
![Page 31: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/31.jpg)
Infrastruktur
maxT*)stab(W
v)(100*)W,bbz(SM
i
iii
Anzahl WFT im Block Si (und WFT Wi)
Bbz
Anz. WFT
![Page 32: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/32.jpg)
Infrastruktur (2)Welche Anzahl von WFT liegt bei flexiblen Prozessen vor?1. Berechne pro Block und pro Ablaufß die Anzahl2. Wähle pro Block das Maximum.3. Bilde die Summe der Maxima.
268765Summe
8701Prozeß 2
8465Prozeß 1
![Page 33: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/33.jpg)
Taktzeit
ii
iii M*)stab(W
v)(100*)W,bbz(ST
Anzahl WFT
Takt
![Page 34: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/34.jpg)
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
![Page 35: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/35.jpg)
Heuristik (Aufbau)
Anzahl Blöcke Die Anzahl der Blöcke ist aufsteigend
Teilnehmertyp Wähle den Block mit der geringstenAuswahl an WFTs. Weise den günstigsten WFT zu.
Aktivitäten Wähle die längste Aktivität. Weise siedem Block mit günstigstem WFT zu.
![Page 36: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/36.jpg)
Zielgerichtete Heuristik
2. Order u. Select: Wähle längste Aktivität
1. Filter: Nichtdeterminierte Aktivitäten
3. Value: Zuweisung an Block mit günstigstem WFT
400€ 150€ 250€
![Page 37: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/37.jpg)
Problem: Zielgerichtete Heuristik
400€ 150€ 250€
Schlecht!
![Page 38: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/38.jpg)
Problem: Zielgerichtete Heuristik
400€ 150€ 250€
Besser!
![Page 39: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/39.jpg)
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
![Page 40: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/40.jpg)
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
![Page 41: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/41.jpg)
ErgebnisseBeispiel:• Zwei Abläufe• Jeweils 50 Akts.• 9 WFT Typen
Beste Lösung:
• 13:40 Std.
• 22.084.534 CP
• 4.74% besser
Erste Lösung:• ca. 60 Choice Points• 1Sek.8 10 10
4144
41 34.14635.002
32.527
05
101520253035404550
Blöcke WFT Kosten(Mio. €)
Vorgegeben Woop (first) Woop (best)
![Page 42: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/42.jpg)
Präzises Modell
Werkzeuge:Reduzierte Werkzeugmagazine
Mehr Blöcke
Steigert Komplexität
Kosten:Teilnehmer, Blöcke, Werkzeuge
![Page 43: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/43.jpg)
Präzises Modell (2)
Vermischter Datenfluß:
Lokale Zeit:
Gleichzeitige Bearbeitung verschiedener Abläufe
Exaktere Ergebnisse
Keine Verbesserung der Laufzeit!
![Page 44: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/44.jpg)
Beitrag (Zusammenfassung)
Praxis: Erfolgreiche Anwendung von Woop in der Praxis
Abstraktion: eines Fertigungsproblems als ein ...
Workflow Problem: Definition und Untersuchung
Woop: Implementierung einer Software zur generischen Lösung; Mozart/Oz ; Technik: CP
Neue Klasse von Problemen identifiziert
![Page 45: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/45.jpg)
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
![Page 46: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/46.jpg)
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
![Page 47: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/47.jpg)
Scheduling (Brücke)
Workflow Teilnehmer:• 10 Typen• Keine Überlappung!
Aktivitäten:• 44 Aktivitäten• Kranarbeiten sind sehr zeitaufwendig
![Page 48: Woop - Workflow Optimizer](https://reader033.vdocuments.net/reader033/viewer/2022061223/54c2eea34a795990308b4641/html5/thumbnails/48.jpg)
Scheduling (Brücke)
2
4
5
6
7
3
18
9
11
13
14
15
16
12
17
19
20
21
22
18
23
25
26
27
28
24
10
41
29
31
32
33
34
3036
38
39
40
35
37
42
43
44
Bagger
Ramme
Handwerker
Betonmischer
Arbeiter
Maurer
Kran
Planierraupe