48
Diploma Thesis Martin Homik Resource Optimization of Workflow Problems Tutors: Christian Schu Tobias Mül

Woop - Workflow Optimizer

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Woop - Workflow Optimizer

Diploma Thesis

Martin Homik

Resource Optimization of Workflow Problems

Tutors: Christian SchulteTobias Müller

Page 2: Woop - Workflow Optimizer

Overview

1. Motivation

2. Problem specification

3. Model and heuristic

4. Implementation

5. Results

6. Summary

7. Demo

Page 3: Woop - Workflow Optimizer

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!

Page 4: Woop - Workflow Optimizer

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!

Page 5: Woop - Workflow Optimizer

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!

Page 6: Woop - Workflow Optimizer

Workflow AbstractionStandardization by the Workflow Management Coalition:

• Terms• Workflow definitions• Workflow systems

Page 7: Woop - Workflow Optimizer

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.

Page 8: Woop - Workflow Optimizer

Terms

• Attributed resources

• Flexible processes

• Continuous supply and directed flow

• Balance, cycle time

• Organisation, infrastructur

• Partitioning

Page 9: Woop - Workflow Optimizer

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

Page 10: Woop - Workflow Optimizer

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!

Page 11: Woop - Workflow Optimizer

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

Page 12: Woop - Workflow Optimizer

Continuous Supply

There is always work to do at each station!

Object are passed only in one direction!

Page 13: Woop - Workflow Optimizer

Balancerunning time

Scheduling: • min. running time• cycle time

Continuous supply: • running time• min. cycle time

Page 14: Woop - Workflow Optimizer

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

Page 15: Woop - Workflow Optimizer

Problem Specification (2)

Organisation?

Infrastructure?

Blocki

Aj

Page 16: Woop - Workflow Optimizer

Problem Specification (2)

Organisation?

Infrastructure?

Blocki

Aj

Process logic?

Page 17: Woop - Workflow Optimizer

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!

Page 18: Woop - Workflow Optimizer

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

Page 19: Woop - Workflow Optimizer

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

Page 20: Woop - Workflow Optimizer

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

Page 21: Woop - Workflow Optimizer

Basic Model

• Data structures

• Block running time

• Infrastructure

• Effective cycle time

Page 22: Woop - Workflow Optimizer

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

Page 23: Woop - Workflow Optimizer

Model: Resource

PrTiCP(A)WPT Projections:

)P(AWPT:act CWPT:cost PrWPT:stab

Page 24: Woop - Workflow Optimizer

Model: Data Structures

Costs:

n

1iiiT M*)cost(WC

Participant type tuple:

Number participant types tuple:

nWPTW

nΝM

Page 25: Woop - Workflow Optimizer

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

Page 26: Woop - Workflow Optimizer

Model: POPUnion:

)act(γ Azγ

u

)rel(γ Rzγ

u

) P(:union

Let ) P(z Then )R,(A) union( uuz

Page 27: Woop - Workflow Optimizer

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

Page 28: Woop - Workflow Optimizer

Model: Partition(2)

act(w)b}{a, :WPTw :Rb)(a, u

ji SbSa nji1

Otherwise:

ji SbSa nji1

Properties of a directed flow:

Page 29: Woop - Workflow Optimizer

Model: Partition(3)

act(w)b}{a, :WPTw :Aba, u

ji SbSa ji

General Assignment:

)act(WS ii ni1

Page 30: Woop - Workflow Optimizer

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

Page 31: Woop - Workflow Optimizer

Infrastructure

maxT*)stab(W

gl)(100*)W,rtb(SM

i

iii

Number of resources in a block Si (where WPT Wi)

Rtb

Number resources

Page 32: Woop - Workflow Optimizer

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

Page 33: Woop - Workflow Optimizer

Cycle Time

ii

iii M*)stab(W

gl)(100*)W,rtb(ST

number resources

cycle time

Page 34: Woop - Workflow Optimizer

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

Page 35: Woop - Workflow Optimizer

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.

Page 36: Woop - Workflow Optimizer

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€

Page 37: Woop - Workflow Optimizer

Problem: Goal-oriented Heuristic

400€ 150€ 250€

Bad!

Page 38: Woop - Workflow Optimizer

Problem: Goal-oriented Heuristic

400€ 150€ 250€

Better!

Page 39: Woop - Workflow Optimizer

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

Page 40: Woop - Workflow Optimizer

Implementation (Woop)

• Administration of solutions/problems

• Export of solutions

• Record function: Email/File

• Editor for designing of POPs

• Verification of POPs

• Internationalization/Localization

Page 41: Woop - Workflow Optimizer

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)

Page 42: Woop - Workflow Optimizer

Precise Model

Tools:Reduced tool magazines

More blocks

Increase in complexity

Costs:Resources, Blocks, Tools

Page 43: Woop - Workflow Optimizer

Precise Model (2)

Mixed data flow:

Local duration times:

Concurrent processing of different POPs

More exact results

No improvement in runtime!

Page 44: Woop - Workflow Optimizer

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

Page 45: Woop - Workflow Optimizer

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

Page 46: Woop - Workflow Optimizer

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

Page 47: Woop - Workflow Optimizer

Scheduling (Bridge)

WPTs:• 10 types• No overlap!

Activities:• 44 activities• crane work is time expensive

Page 48: Woop - Workflow Optimizer

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