Design and Operation of Manufacturing Systems The Control-Point Policy by Stanley B. Gershwin Institute Massachusetts Technology of Cambridge, 02139 USA Massachusetts I I E Annual Conference Orlando, Florida, May 19-22 2002
Outline ffl Goals ffl Dynamic Programming Formulation ffl Dynamic Programming Solution: Surplus-Based Policy Special Cases General Case ffl Solution: Time-Based Policy ffl Relationship with Other Policies ffl Solution: Token-Based Policy Decomposition Optimization ffl Preliminary Simulation Results ffl Future Research
Goals ffl to propose a real-time scheduling policy, ffl to present the policy in three forms, ffl to show how factories and policies can b e simultaneously designed, ffl to describe some preliminary simulation results, ffl to suggest fruitful research directions.
Class of Systems Type 1 Type 2 Type 2 Type 1 M 1 M 4 B 41 B 11 B 51 B 12 B 32 B 71 B 31 B 22 B 61 M 2 M 3 B 21 ffl Reentrant flow ffl Flexible, unreliable machines ffl Continuous material ffl Homogeneous, finite buffers ffl Constant demand rate ffl No setups or batches
Objective Cumulative Production and Demand of Type sq parts production P (t) sq earliness surplus x (t) sq demand d t q t ffl Minimize a weighted area b e t ween the production line and the demand line.
Dynamic Programming Formulation ffl S(s; q) is the sth machine that type q parts visit. ffl Demand d q ffl Operation time 1=μ sq ffl Availability e i X d ffl Feasibility: q < e i for all i μ sq fs;qjs(s;q)=ig ffl Control: u sq (t) is the instantaneous production rate of type q parts at stage s at time t ffl Cumulative production P sq (t) = Z t 0 u sq (fi )dfi ffl State: x sq (t) = P sq (t) d q t, surplus ffl State: ff i (t) = 0 or 1: repair state of Machine i
Dynamic Programming Formulation ffl ffl Constraints: if ff i (t) = 0; u sq (t) = 0; X u sq (t) if ff i (t) = 1;» 1; u sq 0: Dynamics: fs;qjs(s;q)=ig μ sq dx sq dt = u sq d q ff dynamics unreliable machines ffl Buffer levels b = sq x sq x s+1;q ffl Constraints: 0» b sq» N sq ffl Objective: J = min E Z T 0 g(b 11 (s); b 12(s); :::; x K (`);`(s))ds
Dynamic Programming Solution Surplus-Based Policy ffl Solution is a control law of the form u(x(t); ff (t); t ). ffl Impossible to determine exactly except in special cases. ffl Impossible to determine numerically except in special cases. ffl Strategy: Investigate special cases and extrapolate.
Special One Machine, One Type Part Case: Cumulative Production and Demand production d t + Z hedging point Z surplus (x ) demand d t t ffl If ff = 1, ffl If ff = 0, u = 0. ffl Bielecki-Kumar (1988) if x > Z u = 0 if x = Z u = d if x < Z u = μ
Special Case: One Machine, Multiple Part Types If ff = 1, x 2 u = 1 2 µ u = 0 1 u 1 = d 1 u 2 = 0 u = u = 0 1 2 dx dt u = 0 1 u 2 = d 2 x 1 u = d 1 2 1 u = 0 1 u = 2 µ 2 1 µ 2 u = (1 d / ) µ 1 ffl Type 1 has priority because of g() and μ 1 and μ 2. ffl Rishel (1975), Kimemia-Gershwin (1983), Srivatsan (1993). ffl Complete solution found only for two part types when Z = 0. Srivatsan and Dallery (1998) showed that boundaries are more complicated when Z 6= 0.
Special Case: One Machine, Multiple Part Types Conjectured generalization 0. Before executing the policy, rank order the products. This is a static ranking. 1. Produce the highest ranking product, until its surplus reaches its hedging p o i n t Z 1. (The others fall behind.) 2. Keep the highest ranking product at its hedging point. Devote all remaining capacity to the second highest ranking product, until it reaches its hedging p o i n t Z 2. (The others fall further behind.) 3. Keep the two highest ranking products at their hedging p o i n ts. Devote all remaining capacity to the third highest ranking product, until it reaches its hedging p oint Z 3. (The others fall still further behind.) 4. etc. Simplified statement: Produce the highest ranking part whose surplus is below its hedging point. Conjecture: This is optimal if Z = 0.
8 > Special Case: Multiple Machines, One Part Type, Tandem x 1 b x 2 If ff 1 = ff 2 = 1, u 1 u 2 1111000000000 1111 x 000000000 111111111 1111 1111 2 00000000 11111111 00000000 11111111 11110000000 11110000000 1111000000 1111000000 111100000 111100000 11110000 1111 u = µ u = 0 0000 1111 00 0 11 1 1111 1 1 1 000 111 00 11 1111000 000 111 111100 000 111 1111 u = 0 00 11 u = 0 0000 1111 1111 2 01 2 0000 1111 11110 1 00000 11111 1111 000000000000000000000 111 x = 00000 11111 000000 111111 000000000000000000000 111 x 000000 111111 00000000000000000000 11 1 2 0000000 1111111 00000000000000000000 11 0000000 1111111 0000000000000000000 1 00000000 11111111 0000000000000000000 1 00000000 11111111 ( Z, Z ) 000000000000000000 000000000 111111111 000000000000000000 1 2 0000000000000000000 1 00000000000000000 11111111111111111 0000000000 1111111111 00000000000000000 11111111111111111 00000000000 11111111111 0000000000000000 1111111111111111 00000000000 11111111111 0000000000000000 1111111111111111 000000000000 111111111111 000000000000000 111111111111111 000000000000 111111111111 000000000000000 111111111111111 0000000000000 1111111111111 00000000000000 11111111111111 0000000000000 1111111111111 00000000000000 11111111111111 00000000000000 11111111111111 0000000000000 1111111111111 00000000000000 11111111111111 0000000000000 1111111111111 000000000000000 111111111111111 000000000000 111111111111 000000000000000 111111111111111 x = x 000000000000 111111111111 0000000000000000 1111111111111111 1 2 + N 00000000000 11111111111 0000000000000000 1111111111111111 00000000000 11111111111 00000000000000000 11111111111111111 0000000000 1111111111 00000000000000000 11111111111111111 0000000000 1111111111 000000000000000000 000000000 111111111 u = µ 00000000 11111111 1111111111111000000000000000000 1 00000000 11111111 1 11000000000000000000 0000000 1111111 11000000000000000000 0000000 1111111 111000000000000000000 u = µ 000000 111111 111000000000000000000 000000 111111 2 2 1111000000000000000000 00000 11111 1111000000000000000000 u = 0 00000 11111 11111000000000000000000 1 0000 1111 11111000000000000000000 0000 1111 111111000000000000000000 000 111 111111000000000000000000 u = µ 000 111 1111111000000000000000000 00 11 1111111000000000000000000 2 2 00 11 11111111000000000000000000 01 11111111000000000000000000 01 111111111000000000000000000 111111111000000000000000000 1111111111000000000000000000 1111111111000000000000000000 11111111111000000000000000000 11111111111000000000000000000 111111111111000000000000000000 111111111111000000000000000000 1111111111111000000000000000000 1111111111111000000000000000000 1111111111111000000000000000000 1 000000000000000000 > if x i > Z ; i u = i 0; > < ffl if x = i Z ; i u = i d; : > if x i < Z ; i choose u i as large as possible. ffl As large as possible" means if 0 < x 1 x 2 < N, then u 1 = μ 1 and u 2 = μ 2 ; if x 1 x 2 = N, then u 1 = min(μ 1 ; u 2) and u 2 = μ 2 ; if x 1 x 2 = 0, then u 1 = μ 1 and u 2 = min(u 1 ; μ 2). ffl Van Ryzin (1987); Van Ryzin, Lou, and Gershwin (1993); Lou et al. x 1
General Case 0. Before executing the policy, ffl rank order the work items at each machine, ffl determine buffer sizes, ffl determine hedging p o i n ts Z sq. At every t, if ff i (t) = 1, divide the set of part types q at stage s (work item types sq) such that S(s; q) = i into four sets. Initially, they are: Q 1 : the set of all work item types for which x sq (t) > Z sq ; Q 2 : the set of work item types for which x sq (t) = Z sq and for which there are no higher ranking work item types such that x sq (t) < Z sq ; Q : 3 the highest ranking work item type for which x sq (t) < Z. sq If there is no sq for which this is true, Q 3 is initially empty. Q 4 : all other work item types.
General Case Then assign production rates and modify the sets according to the following: 1. For each work item type sq in Q, 1 x sq (t) > Z sq and usq(t)=0. 2. For each work item type sq in Q, 2 x sq (t) = Z sq and usq(t) = d q 3. If Q 3 and Q 4 are not empty, allocate as much of the remaining capacity as possible to the work item type in Q 3. 4. ffl If all capacity is allocated, then usq (t) = 0 8 sq 2 Q, 4 and stop. ffl If Q 4 is empty, stop. ffl Otherwise, (a) Move the work item type from Q 3 into Q 2. Do not change its production rate u sq (t). (b) Move the highest ranking work item type from Q 4 into Q 3. (c) Go to Step 3.
Real-Time Capacity Allocation When capacity is allocated, ffl Q 1 = fsqjx sq (t) > Z sq and u sq (t) = 0:g S ffl Q 2 Q 3 = fsqjx sq (t)» Z sq and u sq (t) > 0g ffl Q 4 = fsqjx sq (t) < Z sq and rank is lower than any item in Q 3 g
Solution: Time-Based Policy d t+ Z q sq Cumulative Production and Demand of Type sq parts production earliness P (t) = d t+ x (t) sq q sq d t q hedging point Z sq hedging time H sq surplus x (t) sq demand t- H sq D H t D (t) = P (t)/d sq sq sq sq q ffl Hedging time = H sq = Z sq =d q. ffl Due date of the = P sq (t)th part is D sq (t) = P sq (t)=d q : ffl Earliness at time t is E sq (t) = D sq (t) t. ffl Policy: Same as surplus-based except replace x sq > Z sq with E sq (t) > H sq, etc.
Adaptation for Discrete Parts ffl Observation: There are essentially never any parts such that E sq = H sq. ffl Definition: sq is available if B S(s 1;q) is not empty and B S(s;q) is not full. ffl Definition: sq is ready if it is available and E sq (t) < Hsq. ffl Policy: select the highest ranking ready work item. If no items are ready, wait. Control Point Policy: implement the policy as stated at a limited set of control p o i n ts; do something sensible elsewhere. Add to Step 0: select control p o i n ts.
Relationship with Other Policies ffl Least slack: no static ranking; infinite buffers; no waiting (ie, no concept of readiness). ffl MRP scheduling: Intermediate due dates D sq (t) Hsq are targets; no rule specified for when targets are missed. ffl Base stock: Infinite buffers. ffl Kanban: No surplus/earliness information. ffl ConWIP: Limited inventory similar to due date information, as described b e l o w. ffl Drum-Buffer-Rope: Variant of ConWIP. ffl PAC, EK: are generalizations.
Single-Part Type Equivalence Assertion: Operating M according to a hedging point policy M is isomorphic to operating the three-machine assembly system M FG S B D in which D is the demand generator, S is a synchronization machine which is infinitely fast and perfectly reliable, the size of F G is Z, and B is infinite.
Solution: Token-Based Policy Controlling a three-machine tandem system M B M B M 1 1 2 2 3 is equivalent to operating an acyclic assembly/disassembly system M 1 B M B M 1 2 2 3 S 1 S 2 S 3 D 1 D 2 D 3 when demand is constant.
Solution: Token-Based Policy More generally, when demand is not constant, controlling a three-machine tandem system M B M B M 1 1 2 2 3 is equivalent to operating an assembly/disassembly system M 1 B M B M 1 2 2 3 S 1 S S 2 3 D
Multiple-Part Type Equivalence Assertion: Operating M according to a multiple-parttype hedging p o i n t policy Machine controlled by hedging point policy is isomorphic to operating the assembly system Machine controlled by tokens Synchronization Machines Demand Machines Material Flow with part ranking. Token Flow
Decomposition ffl Single-part type systems can b e analyzed with 20th century methods. tandem lines assembly/disassembly trees single-loop systems (Frein, Commault and Dallery, 1996) ffl Considerable progress has b e e n made recently. multiple-failure mode tandem lines and trees (Tolio et al.) improved single loop analysis multiple-loop systems preliminary results multiple-part type systems preliminary results
Optimization ffl Efficient optimization methods based on decomposition have b e e n developed (Schor, 1995; Schor and Gershwin, 1996) for single-part-type tandem systems. ffl They work well because of the concavity and monotonicity of the production rate as a function of buffer sizes. ffl We can hope that these properties hold for more complex systems. In that case, ffl we can efficiently determine good buffer sizes and hedging points/times to develop a policy for an existing factory. ffl we can simultaneously design a factory and its operating policy. The analysis of such a factory should b e more accurate than current simulations for factory design.
Performance ffl Production line: 1 1 2 2 3 3 4 4 5 5 6 6 7 ffl Parameters: all r i =.1; all p i =.01; all buffer sizes 20. ffl Problem: achieve a random demand (r D = p D =.05) with minimal inventory. ffl Kanban control: 1 1 2 2 3 3 4 4 5 5 6 6 7 FG D Total WIP (not including FG): 108 (decomposition)
Total WIP: 25 (decomposition) Single-Point Control ffl Downstream 1 1 2 2 3 3 4 4 5 5 6 6 7 9 11 12 D Total WIP: 95 (decomposition) ffl Mid-line 1 1 2 2 3 3 4 4 5 5 6 6 7 8 10 11 D Total WIP: 60 (decomposition) ffl Upstream 1 1 2 2 3 3 4 4 5 5 6 6 7 7 9 10 D
Three-Point Control 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 9 9 10 11 10 11 12 D 70 60 50 Invariant 2 = 0 n1 n2 n3 n4 n5 n6 total 40 30 20 10 0-30 -20-10 0 10 20 30 40 50 60 70 Invariant 1 Simulation
Future Research ffl Incorporate existing HP research for more general systems (subcontracting, etc.). ffl Develop decomposition methods for token-based control schemes. Extensions of existing methods include non-acyclic networks with multiple loops multiple-part-type systems reentrant systems improve assembly performance by using tokens to coordinate production. ffl Develop optimization methods for these kinds of systems. ffl Optimize token flow subnetwork structure. ffl Develop real-time extensions for batching and setups, and modify the decomposition method accordingly.