Download presentation
Presentation is loading. Please wait.
Published byDoris McDaniel Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.