460 likes | 868 Views
스케줄 이론 Ch 14 Job Shop Scheduling. 1. Introduction. Flow shop: unidirectional route Job shop: flexible route We can go anywhere after visiting a machine. In this type of problem, we have a set of tasks (jobs). A Job consists of many operations (Assume that the number of operations ≡ m)
E N D
스케줄 이론 Ch 14 Job Shop Scheduling
1. Introduction • Flow shop: unidirectional route • Job shop: flexible route • We can go anywhere after visiting a machine. • In this type of problem, we have a set of tasks (jobs). • A Job consists of many operations (Assume that the number of operations ≡ m) • Say, m ≡ maximum number of visiting machines (operations) among all jobs • Usually we assume that one machine performs one and only one operation. • Constraints • Resource Constraint • Technical Constraint • (cf.) Simon French defined following constraints in his book. • Technological constraints : routing for each job • Precedence constraints : among different jobs (say, giving special priority for a particular customer's jobs)
1. Introduction • (Notation) : (i,j,k) • means "operation j" of "job i" needs "machine k". • More recently, we sometimes use job descriptors of the form (i, j, k, tk) to take into account of the alternative routings. In other words, “operation j" of "job i" will be processed in "tk time units" if it is done "on machine k". • Figure 2, and Figure 3 • Table 14.1(a): Processing time, Table 14.1(b): Routing
"Many proficient people have considered the problem, and all have come away essentially empty-handed " • Known solution methods: • ① 2 job m M/C make-span problem • ② ILP for make-span problem • ③ B & B for make-span problem • ④ B & B for general criteria (project scheduling) • ⑤ Shifting Bottleneck Procedure • And there are many research papers based on simulation studies (particular M/C, layout, route, job set)
1. Introduction • 2 job m machine Min M Problem • (Aker & Friedman 1955, Nemhauser & Hardgrave 1963) • (e.g.) We have 4 machines: A B C D • Processing Times
1. Introduction • The shaded area in the figure is the area of conflict(infeasible region).
1. Introduction • Possible Motions: • 1) Horizontal : Meaning working only on J1. • 2) Vertical : Meaning working only on J2. • 3) 45' : Meaning working on both. • Solution : Any line from (0,0) to ( , ) which does not pass through a shaded region. • The Optimal Solution : Minimum Length Path from (0,0) to ( , ) .
2. Types of Schedules • (Definition) Local Left-Shift (Limited Left-shift) • Shifting starting time of some operation to the left without altering operation sequence on any M/C ( implies that among infinite many schedules we consider only schedules without any inserted idle time). • (Definition) Semi Active Schedule • A schedule where no local left-shift can be made. • Upper bound for the # of semi-active schedules = • But may be less due to some restrictions caused by technological constraint.
2. Types of Schedules • Example • The number of solutions for “6 Job, 5 M/C” Job Shop Scheduling Problem is (6!)5 = 1.9 × 1014 . If we assume it takes 10-6 sec for the evaluation of one solution, the it takes 6 years. 2 job/ 2 M/C problem (2!)2 = 4 (1, 1, 1) (2, 2, 1) (1, 2, 2) (2, 1, 2) (2, 2, 1) (1, 1, 1) (2, 1, 2) (1, 2, 2) (1, 1, 1) (2, 2, 1) (2, 1, 2) (1, 2, 2) (2, 2, 1) (1, 1, 1) (X) (2, 1, 2) (1, 2, 2)
2. Types of Schedules • (Definition) Upper bound • We use networks to prevent cycles {Disjunctive Arc, Conjunctive Arc} It is a Spanning Tree.
* A S-A All ND ND S-A S-A A A * * All All 2. Types of Schedules • (Definition) Global Left-Shift (Left-shift) • We shift the starting time of some operations to the left without delaying any other operation. • (Definition) Active Schedule • Schedules where no (global) left-shift can be made. • The number of active schedules is a function of both the routings and the processing times in a given problem. • (Definition) Non-delay schedule • No M/C is kept idle when it could begin processing some operation (there is no instance in which a job is delayed when a M/C is available to process the next operation).
2. Types of Schedules • (Problem) • Non-delay schedule may not contain optimal solution. The situation is similar to the permutation schedules which may not contain optimal solution for flow shop problem. • (e.g.) 2 job / 2 machine job shop problem Active but not nondelay M = 8 Active and nondelay M = 10
2. Types of Schedules • (Discussion) • Non-delay schedule is not a proper subset of active schedules. • Active schedule is a proper subset of semi-active schedules. • (Observation) • "Semi-active ⇒ Active" is easy(observation is enough). • "Active ⇒ Non-delay" is not easy. • However, experimental result shows that non-delay schedule solution shows good performance for Min M problem (Although not to the degree of permutation schedule in a flow shop problem). • Furthermore, the enumeration of non-delay schedules requires effort comparable to that of the active schedules and the number of non-delay schedules is smaller than the number of active schedules. So we may use these finding in developing good heuristic solutions.
3. Schedule Generation • Two types of Schedule Generation Procedure • Single pass mechanism: it never changes. • Adjusting mechanism: The start time of an operation is determined as we go through decision stages and it changes. • Human schedulers may be able to develop good schedules by manipulating Gantt chart, but it is hard to generate an algorithm for human intuition ⇒ Use of computer graphics + algorithm by computer • ∴ Single pass mechanism is dominantly used. • Dispatching Procedure. • A job at a time procedure.
3. Schedule Generation • (Comparison) For any active schedule there exists a single pass algorithm that can generate it. But adjusting mechanism may do better than pattern-less single-pass procedures. • Due to precedence requirement, the number of possible operation is limited at one point in time. And basically, the solutions for job shop scheduling problems relate to assigning starting times for the 'm‘ operations of 'n' jobs ⇒ For a single pass mechanism we have only 'n × m' decision stages.
3. Schedule Generation • Giffler & Thompson, 1959. O.R. and IBM Journal, "Algorithms for solving production scheduling problems" • For a single pass schedule generation mechanism, there are n×m decision points • PSt = Partial Schedule containing t scheduled operations. t = 0, ..., mn • St = Set of schedulable operations at stage t • σj = Earliest (possible) start time for operation j ∈ St. • Determined by the completion time of the direct predecessor of operation j and the latest completion time on the machine required by operation j • φj = Earliest (possible) completion time for operation j ∈ St. = σj + tj • Here, we define the schedulable operations as the operations whose precedence operations are finished regardless of the availability of the machines.
3. Schedule Generation • (Algorithm 1) Algorithm for active schedule generation by Giffler & Thompson • Step 1. Let t=0 and begin with PSt as the null partial schedule. Initially, St includes all operations with no predecessors. • Step 2. Determine & the corresponding machine m* on which φ* could be realized. • Step 3. For each operation j St that requires machine m* and for which σj < φ*, create a new partial schedule in which operation j is added to PSt and started at time σj • Step 4. For each new partial schedule PSt+1 created in Step 3, update the data set as follows: • Remove operation j from St. • Form St+1 by adding the direct successor of operation j to St. • Increment t by one. • Step 5. Return to Step 2 for each PSt+1 created in Step 3, and continue in this manner until all active schedules have been generated.
1 Machine1 4 3 2 Machine2 3 4 Machine3 3. Schedule Generation • Example • Processing times • PS6 • S6 = {(1,2,2), (2,2,1), (3,3,1), (4,3,1)} • φ* = min {φ122, φ221, φ331, φ431} = min {9, 10, 8, 7} = 7 • m* = 1 • For machine 1, σ221 = 6, σ331 = 6, and σ431 = 6 • Since each of these three potential start times are less than , three active partial schedules can be formed for stage 8. • Start (2,2,1) at time 6; S7 = {(1,2,2), (2,3,3), (3,3,1), (4,3,1)} • Start (3,3,1) at time 5; S7 = {(1,2,2), (2,2,1), (4,3,1)} • Start (4,3,1) at time 6; S7 = {(1,2,2), (2,2,1), (3,3,1)} Routing
3. Schedule Generation • (Algorithm 2) Algorithm for Non-delay schedule generation • Step 1. Let t=0 and begin with PSt as the null partial schedule. Initially, St includes all operations with no predecessors. • Step 2. Determine & the corresponding machine m* on which φ* could be realized. • Step 3. For each operation j St that requires machine m* and for which σj = σ*, create a new partial schedule in which operation j is added to PSt and started at time σj • Step 4. For each new partial schedule PSt+1 created in Step 3, update the data set as follows: • Remove operation j from St. • Form St+1 by adding the direct successor of operation j to St. • Increment t by one. • Step 5. Return to Step 2 for each PSt+1 created in Step 3, and continue in this manner until all active schedules have been generated.
3. Schedule Generation • Example • S6 = {(1,2,2), (2,2,1), (3,3,1), (4,3,1)} • σ* = min {σ122, σ221, σ331, σ431} = min {6, 6, 5, 6} = 5 • m* = 1 • For machine 1, σ331 = 5 and therefore, only one partial schedule is to be generated at the next stage. • Start (3,3,1) at time 5; S7 = {(1,2,2), (2,2,1), (4,3,1)}
3. Schedule Generation • ① PRIORITY DISPATCHING • Rules commonly used to select one job among St : SPT, FCFS, MWKR, MOPNR, LWKR, RANDOM • Min M MWKR is preferable • Min SPT, LWKR is preferable
3. Schedule Generation • ② SAMPLING • ③ PROBABILISTIC DISPATCHING • ① + ② : 즉 Unequal Probabilities of being chosen to be branched Selection by Random
4. The Shifting Bottleneck Procedure • The most effective optimization algorithm for minimizing the make-span in the job shop problem up to now(Carlier, 1982). • Schedule One machine at a time • X : set of machines already scheduled • X' : set of machines NOT scheduled • The selection of which machine to schedule next is obviously the key feature. • For (i, j, k), derived HBT(Head-Body-Tail) Problem • Parameter update of the derived HBT: ri, qi Mk = the latest delivery time at machine k b : Bottleneck machine
4. The Shifting Bottleneck Procedure • Example • Three Derived HBT problems • Machine1 • Machine2 • Machine3 Processing Time Routing Solution 1-2-3-4(12) Solution 2-4-3-1(11) Solution 3-4-2-1(12)
4. The Shifting Bottleneck Procedure • Choose bottleneck m/c 3 by breaking the tie between 1 and 3 • X = {3}, X' = {1, 2} • Update the two derived HBT • Machine1 • Machine2 • Machine 1 is bottleneck Solution 1-2-3-4(14) Solution 2-4-3-1(13)
4. The Shifting Bottleneck Procedure • Reconstruct the derived problem for machine 2 • Machine2 • Figure 8. Heuristic solution for the example problem. Solution 2-4-3-1(13) 1 2 3 4 Machine 1 2 4 3 1 Machine 2 3 4 2 1 Machine 3 14
5. Other Methods • Branch and Bound • The role of schedule generation is to divide a larger scheduling problem into many small sub-problems. (Tree Structure) Bound
5. Other Methods • For Min Makespan problem, • Job-based Lower Bound • M/C-based Lower Bound • LB =
5. Other Methods • ILP(Integer Linear Programming) • 3 Approaches • Wagner • Bowman • Manne(책) • Greenberg : Very many constraints, variables
Contents • PART 1. Deterministic Models • Single machine models • Parallel machine models • Flow shops • Open shop and Job shop scheduling • General purpose procedures for deterministic scheduling • PART 2. Stochastic Models • Single machine models • Parallel machine models • Stochastic Flow shops, Open shops and Job shop scheduling • PART 3. Applications • Modeling scheduling problems in practice • Design, Development and Implementation of Scheduling Systems • Scheduling Systems: Case Studies
Scheduling Problem Production planning, Master scheduling Orders, Demand forecasts Quantities Due date Capacity status Material requirements, Planning, Capacity planning Material requirements Scheduling constrains Shop orders, Release dates Scheduling And rescheduling Detailed scheduling Schedule performance Schedule Dispatching Shop status ShopFloor management Data collection Job loading Shop Floor