Folien (PowerPoint)

Werbung
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
Herunterladen