48
Diplomvortrag Martin Homik Ressourcenoptimierung von Workflow Problemen Betreuer: Christian Schu Tobias Mül

Woop - Workflow Optimizer

Embed Size (px)

DESCRIPTION

These slides are done for the presentation of my diploma thesis. (German)

Citation preview

Page 1: Woop - Workflow Optimizer

Diplomvortrag

Martin Homik

Ressourcenoptimierung von Workflow Problemen

Betreuer: Christian SchulteTobias Müller

Page 2: Woop - Workflow Optimizer

Fahrplan

1. Motivation

2. Problemstellung

3. Modell und Heuristik

4. Implementierung

5. Ergebnisse

6. Zusammenfassung

7. Demo

Page 3: Woop - Workflow Optimizer

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

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

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

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

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

Begriffe

• Attributierte Ressourcen

• Flexible Prozesse

• Kontinuierliche Versorgung und gerichteter Fluß

• Balance, Taktzeit

• Organisation, Infrastruktur

• Partitionierung

Page 9: Woop - Workflow Optimizer

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

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

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

Kontinuierliche Versorgung

An jeder Station liegt zu jedem Zeitpunkt Arbeit vor!

Objekte werden in eine Richtung weitergegeben!

Page 13: Woop - Workflow Optimizer

BalanceZeit

Scheduling: • min. Durchlaufzeit• Taktzeit

Kontinuierliche Versorgung: • Durchlaufzeit• min. Taktzeit

Page 14: Woop - Workflow Optimizer

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

Problemstellung (2)

Organisation?

Infrastruktur?

Blocki

Aj

Page 16: Woop - Workflow Optimizer

Problemstellung (2)

Organisation?

Infrastruktur?

Blocki

Aj

Prozeßlogik?

Page 17: Woop - Workflow Optimizer

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

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

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

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

Grundmodell

• Datenstrukturen

• Blockbearbeitungszeit

• Infrastruktur

• Effektive Taktzeit

Page 22: Woop - Workflow Optimizer

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

Modell: WFT

PrTiKP(A)WFT Projektionen:

)P(AWFT:akt KWFT:kost PrWFT:stab

Page 24: Woop - Workflow Optimizer

Modell: Datenstrukturen

Kosten:

n

1iiiG M*)kost(WK

Teilnehmertypen:

Anzahl Teilnehmertypen:

nWFTW

nΝM

Page 25: Woop - Workflow Optimizer

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

Modell: AblaufVereinigung:

)akt(γ Azγ

u

)rel(γ Rzγ

u

) P(:union

Sei ) P(z Dann ist )R,(A) union( uuz

Page 27: Woop - Workflow Optimizer

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

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

Modell: Partition(3)

akt(w)b}{a, :WFTw :Aba, u

ji SbSa ji

Allgemeine Zuordnung:

)akt(WS ii ni1

Page 30: Woop - Workflow Optimizer

Blockbearbeitungszeit

t

A1

U

A2

U

A3

R1 R2

RüstzeitBearbeitungszeiten

Übergangszeiten

Gesamtbearbeitungszeit / Block

TiWFTP(A):bbz

Page 31: Woop - Workflow Optimizer

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

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

Taktzeit

ii

iii M*)stab(W

v)(100*)W,bbz(ST

Anzahl WFT

Takt

Page 34: Woop - Workflow Optimizer

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

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

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

Problem: Zielgerichtete Heuristik

400€ 150€ 250€

Schlecht!

Page 38: Woop - Workflow Optimizer

Problem: Zielgerichtete Heuristik

400€ 150€ 250€

Besser!

Page 39: Woop - Workflow Optimizer

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

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

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

Präzises Modell

Werkzeuge:Reduzierte Werkzeugmagazine

Mehr Blöcke

Steigert Komplexität

Kosten:Teilnehmer, Blöcke, Werkzeuge

Page 43: Woop - Workflow Optimizer

Präzises Modell (2)

Vermischter Datenfluß:

Lokale Zeit:

Gleichzeitige Bearbeitung verschiedener Abläufe

Exaktere Ergebnisse

Keine Verbesserung der Laufzeit!

Page 44: Woop - Workflow Optimizer

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

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

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

Scheduling (Brücke)

Workflow Teilnehmer:• 10 Typen• Keine Überlappung!

Aktivitäten:• 44 Aktivitäten• Kranarbeiten sind sehr zeitaufwendig

Page 48: Woop - Workflow Optimizer

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