Woop - Workflow Optimizer

Preview:

DESCRIPTION

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

Citation preview

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

Recommended