woop - workflow optimizer
Post on 24-Jan-2015
793 Views
Preview:
DESCRIPTION
TRANSCRIPT
Diploma Thesis
Martin Homik
Resource Optimization of Workflow Problems
Tutors: Christian SchulteTobias Müller
Overview
1. Motivation
2. Problem specification
3. Model and heuristic
4. Implementation
5. Results
6. Summary
7. Demo
Motivation: Bulk Production
Goals of assembly lines:• high output capacity• low investment (machine types, number)
Object A
Object B
Goals of flexible production systems:• one assembly line for all variants!
Motivation: Bulk Production
Goals of assembly lines:• high output capacity• low investment (machine types, number)
Object A+B
Goals of flexible production systems:• one assembly line for all variants!
Motivation
Bulk production problem is transferable:• Industry (computer integrated manufacturing)• Building trade (house-building)• Business life (customer service)• Computer science (distributed programming)
Abstraction as a workflow problem!
Workflow AbstractionStandardization by the Workflow Management Coalition:
• Terms• Workflow definitions• Workflow systems
Workflow Abstraction Levels
1. Process logicAt what time is which activity to be executed?
2. OrganisationWho executes which activity?
3. InfrastructurWhat resources are in what number requiered?
Process definition: is a data structure which contains informationsabout process logic, organisation and infrastructure.
Terms
• Attributed resources
• Flexible processes
• Continuous supply and directed flow
• Balance, cycle time
• Organisation, infrastructur
• Partitioning
Attributed Resources(Workflow Participant Types)
C: 400 €Sut: 200St: 95%
C: 150 €Sut: 200St: 90%
C: 250 €Sut: 200St: 95%
C = Cost Sut = set-up time St = Stability
Skills overlap arbitrarily!
Overlap
11, 12, 15
Overlap
12, 13, 16,19
17, 18, 19
Partially Ordered Plan (POP)
0 12
13
15
16
17 18
19 100
11
Start End
Activity
Precedence relation
Each activity has to be executet!
Flexible Processes
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
Continuous Supply
There is always work to do at each station!
Object are passed only in one direction!
Balancerunning time
Scheduling: • min. running time• cycle time
Continuous supply: • running time• min. cycle time
Problem Specification (Given)
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
maximal cycle time
Problem Specification (2)
Organisation?
Infrastructure?
Blocki
Aj
Problem Specification (2)
Organisation?
Infrastructure?
Blocki
Aj
Process logic?
Partitioning (Example)
0 12
13
15
16
17 18
19 100
11
0 12
13
15
16
17 18
19 100
11 Partitioning guarantees a directed data flow!
Partitioning
0 12
13
15
16
17 18
19 100
11
11, 12, 15
12, 13, 16, 19
17, 18, 19
1. Rule: 15 16: 15 in 16 in different blocks
Partitioning (2)
11, 12, 15
12, 13, 16, 19
17, 18, 19
0 12
13
15
16
17 18
19 100
11
2. Rule: 12 15: 12 in and 15 in the same block
Partitioning (3)
0 12
13
15
16
17 18
19 100
11
3. Rule: 16 19: 16 in 19 in and a) different blocks b) the same block
11, 12, 15
12, 13, 16, 19
17, 18, 19
Basic Model
• Data structures
• Block running time
• Infrastructure
• Effective cycle time
Model: Data Structures
Number blocks: 0n
Set of all activities: ΝA
Set of all costs: ΝC
Set of all dates: ΝTi
Set of percentage: }100,...,2,1,0{Pr
General loss: Prgl
Maximum cycle time: TimaxT
Model: Resource
PrTiCP(A)WPT Projections:
)P(AWPT:act CWPT:cost PrWPT:stab
Model: Data Structures
Costs:
n
1iiiT M*)cost(WC
Participant type tuple:
Number participant types tuple:
nWPTW
nΝM
Model: POP
A POP )R,A(γ γγ is a directed, acyclic and compound graph:
Nodes AAγ Edges γγγ AAR
We denote the set of all POPs by: Projections:
P(A):act A)P(A:rel
Model: POPUnion:
)act(γ Azγ
u
)rel(γ Rzγ
u
) P(:union
Let ) P(z Then )R,(A) union( uuz
ji SS
iS
u
n
1ii AS
Model: Partition
Partition of Au in: S,,S,S n21
Let and ))act(union(A zu ) P(z
)) rel(union(R zu
And ...next slide
Model: Partition(2)
act(w)b}{a, :WPTw :Rb)(a, u
ji SbSa nji1
Otherwise:
ji SbSa nji1
Properties of a directed flow:
Model: Partition(3)
act(w)b}{a, :WPTw :Aba, u
ji SbSa ji
General Assignment:
)act(WS ii ni1
Total Running Time per Block
t
A1
U
A2
U
A3
Su1 Su2
set-up timerunning times
transit time
total running time / block
TiWPTP(A):rtb
Infrastructure
maxT*)stab(W
gl)(100*)W,rtb(SM
i
iii
Number of resources in a block Si (where WPT Wi)
Rtb
Number resources
Infrastructur (2)How many resources are required for flexible processes?1. Compute the number per block and per POP.2. Choose the block with maximum number.3. Sum all maxima.
268765Sum
8701Process 2
8465Process 1
Cycle Time
ii
iii M*)stab(W
gl)(100*)W,rtb(ST
number resources
cycle time
Cycle Time (2)
What is the (effective) solution cycle time?1. Compute per block and POP the cycle time.2. The highest cycle time ist the effective cycle time.
Process 1 489 520 531 511
Process 2 500 510 525 0
Heuristic (Design)
number blocks Number of blocks is increasing
resources Choose the block with the least resourcetype assignment possibilities. Assign the cheapest resource type.
activities Choose the longest activity. Assign itto the block with the cheapest resource.
Goal-oriented Heuristic
2. Order/Select: choose longest activity
1. Filter: nondetermined activity
3. Value: assign to the block with the cheapest WPT.
400€ 150€ 250€
Problem: Goal-oriented Heuristic
400€ 150€ 250€
Bad!
Problem: Goal-oriented Heuristic
400€ 150€ 250€
Better!
Implementation (Woop)
• Mozart/Oz: constraint programming• C. 15 000 lines of code• Direct translation of the mathematical model• Dynamic script generation• Dynamic choice of heuristic• Interface to standard search machines• User-defined constraints
Implementation (Woop)
• Administration of solutions/problems
• Export of solutions
• Record function: Email/File
• Editor for designing of POPs
• Verification of POPs
• Internationalization/Localization
ResultsExample:• Two POPs• Each 50 activities• 9 WPT
Best solution:
• 13:40 hours
• 22.084.534 cp
• 4.74% better
First solution:• c. 60 choice points• 1Sec.8 10 10
4144
41 34,14635,002
32,527
05
101520253035404550
Blocks WPT Costs(Mio. €)
Given Woop (first) Woop (best)
Precise Model
Tools:Reduced tool magazines
More blocks
Increase in complexity
Costs:Resources, Blocks, Tools
Precise Model (2)
Mixed data flow:
Local duration times:
Concurrent processing of different POPs
More exact results
No improvement in runtime!
Contribution (Summary)
Practice: Successful application of Woop in practice
Abstraction: of a manufacturing problem as a ...
Workflow Problem: definition und analysis
Woop: implementation of a software for finding generic solutions; Mozart/Oz ; Technique: CP
Identification of a new class of problems
Related Work
Total concept:• 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
Related Work(2)
Generic Approximation:• M. Gillmann: Konfiguration verteilter Workflow
Management Systeme mit Leistungsgarantien– No directed data flow
– Involves a control flow
– Resources are given
– Approximation of the maximal cycle time
– Pessimistic Approximation by Markov-Chains
Scheduling (Bridge)
WPTs:• 10 types• No overlap!
Activities:• 44 activities• crane work is time expensive
Scheduling (Bridge)
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
excavator
Pile driver
carpentry
concrete mixer
worker
bricklaying
crane
caterpillar
top related