Presentation is loading. Please wait.

Presentation is loading. Please wait.

Production systems Scheduling of batch processing.

Similar presentations


Presentation on theme: "Production systems Scheduling of batch processing."— Presentation transcript:

1 Production systems Scheduling of batch processing

2 Introduction  Scheduling problems appear in the production process systems in  Chemical industry  Oil industry  Mechanical industry  Agriculture  Building industry  …  In practice most of the processes are batch type processes Tibor Holczinger2

3 Batch type task  A task produces given outputs from given inputs  The whole inputs must be available at the beginning of the task  The output is available after finishing the task  The task take given time  The task is not interruptable Tibor Holczinger3

4 Example  Building a house  Necessary tasks  Walling  Assemblage  Electric installation  Painting  Restrictions of order of tasks  Walling before electric installation  Electric installation before painting Tibor Holczinger4

5 Example  Three workers with different abilities  James (walling 2 weeks, painting 2 weeks)  Joe (assemblage 2 weeks, painting 1 week)  Peter (assemblage 3 weeks, electric installation 1 week)  Aim: Build up the house in the shortest time Tibor Holczinger5

6 James is painting The house is ready in 5 weeks James is painting Joe is carpentering Solution  The time of building can be different Tibor Holczinger6 James is making wall Joe is carpentering Peter is installing electric Peter is carpentering Peter is installing electric Joe is painting The house is ready in 7 weeks James Joe Peter James Joe Peter

7 Solutions  There are 6 solutions  5 weeks: 2 solutions  Which is better?  6 weeks: 2 solutions  7 weeks: 1 solution  8 weeks: 1 solution  In cost aspects the 8 weeks solution can be the best one  Slower worker can be cheaper Tibor Holczinger7

8 Scheduling problem  The aim is to determine the optimal order of tasks taking into account available resources  Objective function can be  Minimizing makespan  Maximizing profit  Maximizing throughput  Minimizing waiting time  Maximizing fault tolerance Tibor Holczinger8

9 General definition of scheduling problem

10 Definitions  Product  Material is to be produced  Equipment unit  Available resource for production  Renewable resource, i.e. it is available after using Tibor Holczinger10

11 Definitions  Task  Activity which is not splitable into smaller subactivities and it generates given outputs from given inputs in given time  One ore multiple equipment units are available to perform a task, where the processing time depends on the equipment unit  An equipment unit can be assigned to only one task in a time  Only one equipment unit can be assigned to a task Tibor Holczinger11

12 Definitions  Recipe  Containing the minimal information about the production  A task can have multiple inputs and/or outputs  The production is not necessary sequential Tibor Holczinger12

13 Definitions  Batch  The production makes in batches  If more amount of product is necessary than it can be produced with accomplishing the recipe once, then the recipe must be accomplished repeatedly  The accomplishment of the recipe of a product once means a batch of the product Tibor Holczinger13

14 Example  Producing three products in three consecutive steps Tibor Holczinger14 Task Product AProduct BProduct C Equipment unit Time [min] Equipment unit Time [min] Equipment unit Time [min] 1E16E39E27 2 9E315E117 3E114E216E38 ProductABC Number of batches111

15 Storage policies  Intermediate Storage Policy (IS)  No storage  NIS (Non Intermediate Storage)  ZW (Zero Wait)  Existing storage  UIS (Unlimited Intermediate Storage)  FIS (Finite Intermediate Storage)  CIS (Common Intermediate Storage)  MIS (Mixed Intermediate Storage) Tibor Holczinger15

16 NIS policy  There is no storage unit  The intermediate materials can be stored in equipment unit which produced it  The material must be filled into the next equipment unit before it can be used for production  Most common case in practice Tibor Holczinger16

17 ZW policy  There is no storage unit  Equipment units cannot store materials  The materials must fill to the next equipment unit immediately  Instable materials  Liquid steel Tibor Holczinger17

18 UIS policy  “Infinite” amount of material can be stored  There are storage units between tasks with “infinite” capacity  For example a big enough storage room Tibor Holczinger18

19 FIS policy  Finite number of finite storage units  Each storage unit is dedicated between two equipment units  The storage units can be dedicated to materials also Tibor Holczinger19

20 CIS policy  Finite number of finite storage units  The storage units are not dedicated  Changeover are needed between storing different materials Tibor Holczinger20

21 MIS policy  Multiple storage policies applied in different places of the system Tibor Holczinger21

22 Storage policies  Most of the publications are using UIS storage policy  Typically mechanical industry  In practice NIS strategy is more common Tibor Holczinger22

23 Scheduling problem  Given  Recipe  Set of plausible equipment units for each task (with processing time)  Necessary amount of products or timehorizon  Storage policy  Timing data  Due dates  Changeover times  … Tibor Holczinger23

24 Scheduling problem  Aim  Producing product with the plausible resources (units)  Minimizing makespan  Maximizing amount of products in timehorizon  Maximizing profit in timehorizon  … Tibor Holczinger24

25 S-graph representation

26 Traditional representation  The recipe can be represent by a directed graph, where  Vertices represents tasks  Arcs represents production order  Processing times and plausible equipment units are given in vertices Tibor Holczinger26

27 Example Tibor Holczinger27

28 Example Tibor Holczinger28

29 Traditional graph  In traditional recipe  Arcs defines the order of task  Any other information assigns to vertices  The traditional graph representation of the previous recipe is given in the next slide  Si denotes the set of plausible equipment units of task i  For example S1 = {E1, E2}  An additional node is assigned to each product Tibor Holczinger29

30 Example Tibor Holczinger30

31 Traditional graph  The weight of an arc is a lower bound of the difference of the starting time of two connected vertices  The processing time of a task depends on the equipment unit assigned  The weight of the arc equals to the smallest time Tibor Holczinger31

32 Acyclic graph  Any recipe can be represented by an acyclic directed graph  Recycling in the process flow sheet does not result in a cycle in the graph of the recipe  It is realized as a feedforward to the production of the next batch or some batch to be started later Tibor Holczinger32

33 Scheduling of units  The sequence of tasks of an equipment unit can be represented by chaining the vertices with arcs  These arcs have the same weight as the processing time of the tasks introducing precedence constraints  The task must finish its work on a task before it can start the next one  Working with UIS policy, where equipment units are available immediately after finishing production  Not working with NIS policy Tibor Holczinger33

34 NIS policy  Equipment unit is not free after processing a task until the material stored in it has been transferred to the equipment unit assigned to the next task in the recipe  Formally  Let  denote the set of tasks that follow task j according to the recipe  If equipment unit Ei is assigned to task j after completion of task k, then an arc is established from each element of  to k  This method of representation is called S ‑ graph Tibor Holczinger34

35 Example Tibor Holczinger35

36 Formalism  An S-graph is given in the form of G(N, A 1, A 2 ), where  N set of nodes  A 1 set of recipe-arcs  A 2 set of schedule-arcs  Such that  A 1  N × N  A 2  N × N  A 1  A 2 = Ø Tibor Holczinger36

37 Formalism  A nonnegative value, c(i, j), which denotes the weight of arc (i, j), is assigned to each arc  If the arc is established from node i to node j, then it is supposed that the task corresponding to node j cannot start its activity earlier than c(i, j) after the task corresponding to node i starts Tibor Holczinger37

38 Recipe-graph

39 Recipe  A recipe defines the order and type of tasks, the material transfers among them, and the set of plausible equipment units of each task  This type of information should be represented by the graph of a recipe Tibor Holczinger39

40 Generating recipe-graph 1. Let one node be assigned to each task (task node) and one to each product (product node) 2. A recipe-arc is established between the nodes of consecutive tasks determined by the recipe, and one is also established from each task node that generates the product to the corresponding product node Tibor Holczinger40

41 Generating recipe-graph 3. The weight of a recipe-arc is specified by  The processing time of the task corresponding to the initial node of the arc if a single equipment unit is available for this task  The minimum of the processing times of all equipment unit if more than one equipment unit is available 4. If multiple batches of a product are to be produced, the task nodes, the product nodes, and the arcs are multiplied appropriately Tibor Holczinger41

42 Example Tibor Holczinger42 There are three products

43 Example Tibor Holczinger43 A node for each product

44 Example Tibor Holczinger44 A node for each task

45 Example Tibor Holczinger45 Tasks connected in order of production

46 Example Tibor Holczinger46 The weight of arcs are the processing time

47 Example Tibor Holczinger47 A set belongs to each node containing plausible equipment units S1 = {1, 2}, S2 = {3, 4}, S3 = {1, 2}, …

48 Recipe-graph  The resultant graph is called recipe-graph, where  N t denotes the set of task nodes  N p denotes the set of product nodes  N t  N p = Ø  If graph G(N, A 1, A 2 ) is a recipe-graph, then it is acyclic and A 2 = Ø Tibor Holczinger48

49 Schedule-graph

50 Introduction  A specific S-graph, termed schedule-graph, describes a single solution of a scheduling problem  There exists one schedule-graph for each feasible schedule of the problem  S-graph G’(N, A 1, A 2 ) is called a schedule- graph of recipe-graph G(N, A 1, Ø), if all tasks represented in the recipe-graph have been scheduled by taking equipment-task assignments into account Tibor Holczinger50

51 Example  Recipe-graph with the following sets of equipment units  S1 = {E1}, S2 = {E3}, S3 = {E2}, S4 = {E2}, S5 = {E3}, S6 = {E1}, S7 = {E1}, S8 = {E2}, S9 = {E3} Tibor Holczinger51

52 Example (schedule-graphs) Tibor Holczinger52

53 Component-graph  A specific graph, called component-graph, shows the activity of each equipment unit  Component-graphs are subgraphs of the scheduling-graph Tibor Holczinger53

54 Example  Component-graphs of schedule-graph #2 Tibor Holczinger54

55 Schedule-graph  S-graph G’(N, A 1, A 2 ) is schedule-graph if (SG1) G’ is acyclic (SG2) G i ’ component-graph defines complete ordering of the tasks of equipment unit i (SG3) The ordering is defined the minimum number of arcs (SG4) The union of component-graphs are equal to the schedule-graph Tibor Holczinger55

56 Basic algorithm

57 Introduction  A general algorithm will be presented  The input is the recipe-graph, the output is an optimal schedule-graph  The recipe-graph is a subgraph of its schedule-graphs  The nodes does not change  Extending the recipe-graph with arcs by taking axioms (SG1) through (SG4) into account, constraints on the assignments can result in all schedule-graphs  This graph generation can be performed by a branch and bound algorithm 57Tibor Holczinger

58 Branch and bound  One S-graph and a partial assignment belong to a partial problem and also to a node of the enumeration tree  The recipe-graph is the root  One schedule-graph belongs to each leaf Tibor Holczinger58

59 Branching  At any partial problem, one equipment unit is selected  In each child partial problems the equipment unit is assigned to an unscheduled task as the last activity of the unit  Assigning an equipment unit to a task may modify the weight of the recipe-arcs Tibor Holczinger59

60 Search strategy  There is a high degree of freedom in selection a search strategy  For instance, the order of the selection of equipment units can greatly affect the efficacy of the algorithm  To schedule the ‘‘busiest’’ unscheduled equipment unit results in an effective search in most cases  The selection of the partial problem is also important Tibor Holczinger60

61 Feasibility test  The bounding procedure first tests the feasibility of a partial problem  If no waiting time is limited, a schedule-graph is feasible if and only if it is acyclic  Thus, the feasibility of a partial problem is tested by a cycle search algorithm  In case of limited waiting time additional examination is necessary  For example developing and solving an LP model Tibor Holczinger61

62 Bounding  The length of the longest path of a schedule-graph is a lower bound of the makespan of the corresponding solution  The S-graph of a partial problem is a subgraph of the S-graph of any of its child partial problems  An additional arc does not decrease the length of the longest path of a graph  Consequently, the longest path of any subgraph of a schedule-graph provides a lower bound of the makespan of the solution related to the schedule-graph Tibor Holczinger62

63 Illustrative example

64 Recipe-graph Tibor Holczinger64  Producing two products in two steps 1 2 34 5 6 E1E2 E1E2 65 82

65 Search tree  The branches are identified by the task sequence they introduce  The solution method is simplified with merging two steps  Two task-equipment unit assignment  Defining the order of the two tasks  The lower bound of the feasible partial problems is shown in boldface  The node of an infeasible partial problem is crossed Tibor Holczinger65

66 Example Tibor Holczinger66 1 2 34 5 6 E1E2 E1E2 65 82 11 Scheduling of E1 Two possible decisions

67 Example Tibor Holczinger67 1 2 34 5 6 E1E2 E1E2 65 82 The order of unit E1 on tasks is 1, 2 The longest path is 16 16 11

68 Example Tibor Holczinger68 1 2 34 5 6 E1E2 E1E2 65 82 The order of unit E1 on tasks is 2, 1 The longest path is 19 1619 11

69 Example Tibor Holczinger69 1 2 34 5 6 E1E2 E1E2 65 82 Selecting partial problem with upper bound 16 Needing decision about E2 1916 11

70 Example Tibor Holczinger70 1 2 34 5 6 E1E2 E1E2 65 82 The order of E2 on tasks is 2, 4 Feasible solution 16 19 11

71 Example Tibor Holczinger71 1 2 34 5 6 E1E2 E1E2 65 82 The order of E2 on tasks is 4, 2 The graph has cycle → infeasible solution X 16 19 11 X

72 Example Tibor Holczinger72 1 2 34 5 6 E1E2 E1E2 65 82 On remaining partial problem Needing decision about E2 X 16 19 11

73 Example Tibor Holczinger73 1 2 34 5 6 E1E2 E1E2 65 82 The order of E2 on tasks is 2, 4 The graph has cycle → infeasible solution X 16 X 19 11 X

74 Example Tibor Holczinger74 1 2 34 5 6 E1E2 E1E2 65 82 The order of E2 on tasks is 4, 2 Feasible solution X 1619 X 1619 11

75 Example Tibor Holczinger75 1 2 34 5 6 E1E2 E1E2 65 82 The optimal makespan is 16 X 1619 X 1619 11

76 Example Tibor Holczinger76 1 2 34 5 6 E1E2 E1E2 65 82 In a B&B algorithm the partial problem with lower bound 19 should not be evaluated X 16 19 11 X


Download ppt "Production systems Scheduling of batch processing."

Similar presentations


Ads by Google