Woop - Workflow Optimizer

1,004 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,004
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • My talk is about ...
  • Woop - Workflow Optimizer

    1. 1. Diploma Thesis Martin Homik Resource Optimization of Workflow Problems Tutors: Christian Schulte Tobias Müller
    2. 2. Overview <ul><li>Motivation </li></ul><ul><li>Problem specification </li></ul><ul><li>Model and heuristic </li></ul><ul><li>Implementation </li></ul><ul><li>Results </li></ul><ul><li>Summary </li></ul><ul><li>Demo </li></ul>
    3. 3. Motivation: Bulk Production <ul><li>Goals of assembly lines: </li></ul><ul><ul><li>high output capacity </li></ul></ul><ul><ul><li>low investment (machine types, number) </li></ul></ul><ul><li>Goals of flexible production systems: </li></ul><ul><ul><li>one assembly line for all variants! </li></ul></ul>Object A Object B
    4. 4. Motivation: Bulk Production <ul><li>Goals of assembly lines: </li></ul><ul><ul><li>high output capacity </li></ul></ul><ul><ul><li>low investment (machine types, number) </li></ul></ul><ul><li>Goals of flexible production systems: </li></ul><ul><ul><li>one assembly line for all variants! </li></ul></ul>Object A+B
    5. 5. Motivation <ul><li>Bulk production problem is transferable : </li></ul><ul><li>Industry (computer integrated manufacturing) </li></ul><ul><li>Building trade (house-building) </li></ul><ul><li>Business life (customer service) </li></ul><ul><li>Computer science (distributed programming) </li></ul>Abstraction as a workflow problem!
    6. 6. Workflow Abstraction <ul><li>Standardization by the Workflow Management Coalition: </li></ul><ul><ul><li>Terms </li></ul></ul><ul><ul><li>Workflow definitions </li></ul></ul><ul><ul><li>Workflow systems </li></ul></ul>
    7. 7. Workflow Abstraction Levels <ul><li>Process logic </li></ul><ul><ul><li>At what time is which activity to be executed? </li></ul></ul><ul><li>Organisation </li></ul><ul><ul><li>Who executes which activity? </li></ul></ul><ul><li>Infrastructur </li></ul><ul><ul><li>What resources are in what number requiered? </li></ul></ul>Process definition : is a data structure which contains informations about process logic, organisation and infrastructure.
    8. 8. Terms <ul><li>Attributed resources </li></ul><ul><li>Flexible processes </li></ul><ul><li>Continuous supply and directed flow </li></ul><ul><li>Balance, cycle time </li></ul><ul><li>Organisation, infrastructur </li></ul><ul><li>Partitioning </li></ul>
    9. 9. Attributed Resources (Workflow Participant Types) C = Cost Sut = set-up time St = Stability Skills overlap arbitrarily! 11, 12, 15 12, 13, 16, 19 17, 18, 19 C: 400 € Sut: 200 St: 95% C: 150 € Sut: 200 St: 90% C: 250 € Sut: 200 St: 95% Overlap Overlap
    10. 10. Partially Ordered Plan (POP) Each activity has to be executet! 0 12 13 15 16 17 18 19 100 11 Start End Activity Precedence relation
    11. 11. 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
    12. 12. Continuous Supply There is always work to do at each station! Object are passed only in one direction!
    13. 13. Balance running time <ul><li>Scheduling : </li></ul><ul><li>min. running time </li></ul><ul><li>cycle time </li></ul><ul><li>Continuous supply : </li></ul><ul><li>running time </li></ul><ul><li>min. cycle time </li></ul>
    14. 14. Problem Specification (Given) maximal cycle time 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
    15. 15. Problem Specification (2) Organisation? Infrastructure? Block i A j
    16. 16. Problem Specification (2) Organisation? Infrastructure? Process logic? Block i A j
    17. 17. Partitioning (Example) Partitioning guarantees a directed data flow! 0 12 13 15 16 17 18 19 100 11 0 12 13 15 16 17 18 19 100 11
    18. 18. 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
    19. 19. 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
    20. 20. 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
    21. 21. Basic Model <ul><li>Data structures </li></ul><ul><li>Block running time </li></ul><ul><li>Infrastructure </li></ul><ul><li>Effective cycle time </li></ul>
    22. 22. Model: Data Structures Number blocks: Set of all costs: General loss: Maximum cycle time : Set of all activities: Set of all dates: Set of percentage:
    23. 23. Model: Resource Projections :
    24. 24. Model: Data Structures Costs: Participant type tuple: Number participant types tuple:
    25. 25. Model: POP A POP is a directed, acyclic and compound graph: We denote the set of all POPs by : Nodes Edges Projections :
    26. 26. Model: POP Union: Let Then
    27. 27. Model: Partition Partition of A u in: Let and And ...next slide
    28. 28. Model: Partition(2) Otherwise: Properties of a directed flow:
    29. 29. Model: Partition(3) General Assignment:
    30. 30. Total Running Time per Block set-up time running times transit time total running time / block t A1 U A2 U A3 Su1 Su2
    31. 31. Infrastructure Number of resources in a block S i (where WPT W i ) Number resources Rtb
    32. 32. Infrastructur (2) <ul><li>How many resources are required for flexible processes? </li></ul><ul><li>Compute the number per block and per POP. </li></ul><ul><li>Choose the block with maximum number. </li></ul><ul><li>Sum all maxima. </li></ul>26 8 7 6 5 Sum 8 7 0 1 Process 2 8 4 6 5 Process 1
    33. 33. Cycle Time number resources cycle time
    34. 34. Cycle Time (2) <ul><li>What is the (effective) solution cycle time? </li></ul><ul><li>Compute per block and POP the cycle time. </li></ul><ul><li>The highest cycle time ist the effective cycle time. </li></ul>0 525 510 500 Process 2 511 531 520 489 Process 1
    35. 35. Heuristic (Design) number blocks Number of blocks is increasing resources Choose the block with the least resource type assignment possibilities. Assign the cheapest resource type. activities Choose the longest activity. Assign it to the block with the cheapest resource.
    36. 36. 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 €
    37. 37. Problem: Goal-oriented Heuristic Bad! 400 € 150 € 250 €
    38. 38. Problem: Goal-oriented Heuristic Better! 400 € 150 € 250 €
    39. 39. Implementation (Woop) <ul><li>Mozart/Oz: constraint p rogramming </li></ul><ul><li>C. 15 000 lines of code </li></ul><ul><li>Direct translation of the mathematical model </li></ul><ul><li>Dynamic script generation </li></ul><ul><li>Dynamic choice of heuristic </li></ul><ul><li>Interface to standard search machines </li></ul><ul><li>User-defined constraints </li></ul>
    40. 40. Implementation (Woop) <ul><li>Administration of solutions/problems </li></ul><ul><li>Export of solutions </li></ul><ul><li>Record function: Email/File </li></ul><ul><li>Editor for designing of POPs </li></ul><ul><li>Verification of POPs </li></ul><ul><li>Internationalization/Localization </li></ul>
    41. 41. Results <ul><li>Example: </li></ul><ul><li>Two POPs </li></ul><ul><li>Each 50 activities </li></ul><ul><li>9 WPT </li></ul><ul><li>Best solution: </li></ul><ul><li>13:40 hours </li></ul><ul><li>22.084.534 cp </li></ul><ul><li>4.74% better </li></ul><ul><li>First solution: </li></ul><ul><li>c. 60 choice points </li></ul><ul><li> 1Sec. </li></ul>
    42. 42. Precise Model <ul><li>Tools: </li></ul>Reduced tool magazines More blocks Increase in complexity Costs: Resources, Blocks, Tools
    43. 43. Precise Model (2) <ul><li>Mixed data flow: </li></ul>Local duration times: <ul><ul><li>Concurrent processing of different POPs </li></ul></ul>More exact results No improvement in runtime!
    44. 44. Contribution (Summary) <ul><li>Practice: Successful application of Woop in practice </li></ul>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
    45. 45. Related Work <ul><li>Total concept: </li></ul><ul><li>Workflow Management Coalition (WfMC) www.wfmc.org </li></ul><ul><li>S. Bussmann, K. Schild: An agent-based approach to the control of flexible production systems </li></ul><ul><li>Simulation und Verifikation: </li></ul><ul><li>Andreas Oberweis: Zeit- und Kostenanalyse von Geschäftsprozessen mit höheren Petrinetzen </li></ul><ul><li>Scheer: ARIS Toolset </li></ul>
    46. 46. Related Work(2) <ul><li>Generic Approximation: </li></ul><ul><li>M. Gillmann: Konfiguration verteilter Workflow Management Systeme mit Leistungsgarantien </li></ul><ul><ul><li>No directed data flow </li></ul></ul><ul><ul><li>Involves a control flow </li></ul></ul><ul><ul><li>Resources are given </li></ul></ul><ul><ul><li>Approximation of the maximal cycle time </li></ul></ul><ul><ul><li>Pessimistic Approximation by Markov-Chains </li></ul></ul>
    47. 47. Scheduling (Bridge) <ul><li>WPTs: </li></ul><ul><li>10 types </li></ul><ul><li>No overlap! </li></ul><ul><li>Activities: </li></ul><ul><li>44 activities </li></ul><ul><li>crane work is time </li></ul><ul><li>expensive </li></ul>
    48. 48. Scheduling (Bridge) 2 4 5 6 7 3 1 8 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 30 36 38 39 40 35 37 42 43 44 excavator Pile driver carpentry concrete mixer worker bricklaying crane caterpillar

    ×