660 likes | 953 Views
TM 663 Operations Planning November 28,2011 Paula Jensen. Chapter 15: Production Scheduling. Agenda. Factory Physics Chapter 15: Production Scheduling (New Assignment Chapter 15 problems 1-3). Production Scheduling. Let all things be done decently and in order. – I Corinthians.
E N D
TM 663Operations Planning November 28,2011Paula Jensen Chapter 15: Production Scheduling
Agenda • Factory Physics • Chapter 15: Production Scheduling • (New Assignment Chapter 15 problems 1-3)
Production Scheduling Let all things be done decently and in order. – I Corinthians
Goals of Production Scheduling • High Customer Service: on-time delivery • Low Inventory Levels: WIP and FGI • High Utilization: of machines UTILIZATION SERVICE INVENTORY
Service Level: Used typically in make to order systems. Fraction of orders which are filled on or before their due dates. Fill Rate: Used typically in make to stock systems. Fraction of demands met from stock. Lateness: Used in shop floor control. Difference between order due date and completion date. Average lateness has little meaning. Better measure is lateness variance. Tardiness: Used in shop floor control. Is equal to the lateness of a job if it is late and zero, otherwise. Average tardiness is meaningful but unintuitive. Meeting Due Dates – Measures
Reducing WIP and Cycle Time • Less WIP Equals Shorter Cycle Times (Little’s Law) • Benefits of shorter cycle times: • Lower Cost: less money in inventory • More Flexibility: less disruptive to change backlog that work in process • Better Quality: faster defect detection • Less Reliance on Forecasts: cycle times below frozen zone allow make to order • Better Forecasts: distant (inaccurate) forecasts are no longer needed
Classic Scheduling – Assumptions • MRP/ERP: • Benefits – Simple paradigm, hierarchical approach. • Problems – • MRP assumes that lead times are an attribute of the part, independent of the status of the shop. • MRP uses pessimistic lead time estimates.
Classic Scheduling – Assumptions (cont.) • Classic Scheduling: (only classic in academia) • Benefits – “Optimal” schedules • Problems – Bad assumptions. • All jobs available at the start of the problem. • Deterministic processing times. • No setups. • No machine breakdowns. • No preemption. • No cancellation.
Classic Single Machine Results • Minimizing Average Cycle Time: • Minimize by performing in “shortest process time” (SPT) order. • Makespan is not affected. • Minimizing Maximum Lateness (or Tardiness): • Minimize by performing in “earliest due date” (EDD) order. • Makespan is not affected. • If there exists a sequence with no tardy jobs, EDD will do it. • Minimizing Average Tardiness: • No simple sequencing rule will work. Problem is NP Hard. • Makespan is not affected.
Classic Multi Machine Results • Minimizing “Makespan” on Two Machines: given a set of jobs that must go through a sequence of two machines, what sequence will yield the minimum makespan? • Makespan is sequence dependent. • Simple algorithm (Johnson 1954): 1. Sort the times of the jobs on the two machines in two lists. 2. Find the shortest time in either list and remove job from both lists. • If time came from first list, place job in first available position. • If time came from second list, place job in last available position in sequence. 3. Repeat until lists are exhausted. The resulting sequence will minimize makespan.
Johnson’s Algorithm Example • Data: • Iteration 1: min time is 4 (job 1 on M1); place this job first and remove from lists:
Johnson’s Algorithm Example (cont.) • Iteration 2: min time is 5 (job 3 on M2); place this job last and remove from lists: • Iteration 3: only job left is job 2; place in remaining position (middle). • Final Sequence: 1-2-3 • Makespan: 28
Gantt Chart for Johnson’s Algorithm Example Short task on M2 to “clear out” quickly. Short task on M1 to “load up” quickly.
Classic Dispatching Results • Optimal Schedules: Impossible to find for most real problems. • Dispatching: sorts jobs as they arrive at a machine. • Dispatching rules: • FIFO – simplest, seems “fair”. • SPT – Actually works quite well with tight due dates. • (shortest process time) • EDD – Works well when jobs are mostly the same size. • Many (100?) others. • Problems with Dispatching: • Cannot be optimal (can be bad). • Tends to be myopic.
The Difficulty of Scheduling Problems • Dilemma: • Too hard for optimal solutions. • Need something anyway. • Classifying “Hardness”: • Class P: has a polynomial solution. • Class NP: has no polynomial solution. • Example: Sequencing problems grow as n!. • Compare en/10000 and 10000n10. • At n = 40, en/10000 = 2.4 1013, 10000n10 = 1.0 1020 • At n = 80, en/10000 = 5.5 1030, 10000n10 = 1.1 1023 • 3! = 6, 4! = 24, 5! = 120, 6! = 720, … 10! =3,628,800, while 13! = 6,227,020,800 25!= 15,511,210,043,330,985,984,000,000 en/10000 10000n10
Computation Times • Current situation: computer can examine 1,000,000 sequences per second and we wish to build a scheduling system that has response time of no longer than one minute. How many jobs can we sequence optimally?
Effect of Faster Computers • Future Situation: New computer is 1,000 times faster, i.e. it can do 1 billion comparisons per second. How many jobs can we sequence optimally now?
Polynomial vs. Non-Polynomial Algorithms • Polynomial Example: dispatching (sorting) time goes up as n log n. Suppose, for comparison, that is takes the same amount of time to sort 10 jobs as it does to examine the 10! sequences. How large a problem can we solve using dispatching?
Effect of Faster Computer • Situation: New computer 1000 times faster. How much does the size of dispatching problem we can solve increase?
Implications for Real Problems • Computation: NP algorithms are slow to use. • No Technology Fix: Faster computers don’t help on NP algorithm. • Scheduling is Hard: Real scheduling problems tend to be NP Hard. • Scheduling is Big: Real scheduling problems also tend to be quite large; impossible to solve optimally.
Implications for Real Problems (cont.) • Robustness? NP hard problems have many solutions, and presumably many “good” ones. • Example: 25 job sequencing problem. Suppose that only one in a trillion of the possible solutions is “good”. This still leaves 15 trillion “good” solutions. Our task is to find one of these. • Role of Heuristics: Polynomial algorithms can be used to obtain “good” solutions. Example heuristics include: • Simulated Annealing • Tabu Search • Genetic Algorithms
The Bad News • Violation of Assumptions: Most “real-world” scheduling problems violate the assumptions made in the classic literature: • There are always more than two machines. • Process times are not deterministic. • All jobs are not ready at the beginning of the problem. • Process time are sequence dependent. • Problem Difficulty: Most “real-world” production scheduling problems are NP-hard. • We cannot hope to find optimal solutions of realistic sized scheduling problems. • Polynomial approaches, like dispatching, may not work well.
The Good News • Due Dates: We can set the due dates. • Job Splitting: We can get smaller jobs by splitting larger ones. • Single machine SPT results imply small jobs “clear out” more quickly than larger jobs. • Mechanics of Johnson’s algorithm implies we should start with a small job and end with a small job. • Small jobs make for small “move” batches and can be combined to form larger “process” batches.
The Good News (cont.) • Feasible Schedules: We do not need to find an optimal schedule, only a good feasible one. • Focus on Bottleneck: We can often concentrate on scheduling the bottleneck process, which simplifies problem closer to single machine case. • Capacity: Capacity can be adjusted dynamically (overtime, floating workers, use of vendors, etc.) to adapt facility (somewhat) to schedule.
Due Date Quoting New Job (c) “Emergency” Positions Rate Out WIP (W) rP, s Backlog (b) Completed m = w + b +c
safety lead time Dynamic Due Date Quoting – Analytic Approach • Notation: • Required Condition: • Due Date Quote: prob of not completing m units of work within lead time of l
Dynamic Due Date Quoting – Observations • If s = 0 then l = m/m, regardless of s (i.e., quoting m/m days will achieve 100% service in a system with no variability). • The due date is increasing in s (i.e., more variability will require more safety lead time). • In order to achieve service of at least s, we must round l up to the next integer to arrive at the due date to quote in units of full days.
Dynamic Due Date Quoting Example • Data:
Dynamic Due Date Quoting Example (cont.) • Solution: • Interpretation: Note that n/m = 1500/100 = 15 days, so to accommodate the variability we are building in 2 days of safety lead time into our quote.
Dynamic Due Date Quoting – Empirical Approach • Basic Model: where • Methodology: use control chart approach to adjust FF to attain desired service level. • Advantages: • very few modeling assumptions • simple to implement • adapts to continuous improvement
Scheduling via Lot Sizing • Case: TJ International – Parallam Product • Issues: • Press is bottleneck • 12 hour changeover time to switch widths (12”, 14”, 16”, 19”) • Many products made from each width, but less 14”/16” than 16”/19” • Currently try to run at least a week between changeovers • Seasonal demand: inventory build up in off-season • Problem: determine run sequence each month Lathe/Clip Press Saw
Scheduling via Lot Sizing • Notation: • Problem: choose lot sizes for the month to meet demand as “efficiently” as possible.
Cyclic Schedule • Approach: fix lot sizes for all products and compute number of cycles that can be run in the month as: If the horizon is short, N should be rounded down to the nearest integer. Otherwise, a non-integer N is ok since you will be rescheduling anyway. • Lot Sizes: The lot sizes will be: These, of course, need to be rounded or ceilinged. • Problem: You don’t necessarily want to make the same number of runs of a low demand product as of a high demand product. spare capacity setup/cycle
Non-Cyclic Schedules • Fundamental Issue: What is your objective? • Minimize Sum of Run Lengths? If we write out the Lagrangian for the nonlinear optimization problem and optimize assuming continuous lot sizes, we get where • Problems: • Since we solved for lot sizes, we wind up with a non-integer number of setups for the month. How do we allocate the setup time? • What order do we run the products in the non-cyclic schedule? • Conclusion: We should solve for the number of run cycles for each product. But what objective do we use?
MiniMax Schedule • Objective: minimize the maximum run length. • We are never too far away from changing over to another product. • Perhaps a good surrogate for maximizing flexibility. • Notation: Let decision variable
MiniMax Schedule (cont.) • IP Formulation:
Example • Data: H = 22 days 18 hrs/day = 396 hrs u = 0.9 • Minimal Run Schedule:Suppose the plant has a policy of never making less than 1500 so their current lot sizes are 15000, 12000, 1500, 1500. This takes 19.2 days, close to the 22 days available, but it means that some product won’t be produced until pretty late in the month. Total Prod Time Req = 281.67 hrs
Example (cont.) • Cyclic Schedule: The number of cycles per month is N = (396 0.9 - 281.67)/26 = 2.87 yielding lot sizes of But N = 2.87 means that the first two cycles in the month use the above lot sizes while the last one uses reduced lot sizes (87% of base).
Example (cont.) • MiniMax Schedule: We can implement the above formulation as follows: 1. Start with ni = 1 for all i. Note that the product with max run length is product 1 with a run of 158 hours. 2. Add setup for product 1, so n1 = 2, and its max run length becomes 83 and now product 2 has the longest run length at 128 hours. 3. Add a setup for product 2, so n2 = 2, and its max run length becomes 68 and now product 1 has longest run length at 83 hours. 4. Continue adding setups to product with longest run until we run out of capacity. The optimal solution is:
Example (cont.) • Results: The schedule goes as follows: 1. We set up for the 4th product and get it out of the way. 2. Likewise for the 3rd. 3. Now we run 3750 of product 1 and 3000 of product 2 in succession for 4 times. The longest anyone would ever have to wait would be for product 2 at the beginning of the month at 3.73 days. After that the longest wait would be 2.53 days. • Conclusion: Minimax schedule results in shorter wait for product than either minimal run schedule or cyclic schedule. And it is simple to compute.
TJ International Case • Non-Cyclic Scheduling? • Fewer runs of 12”, 14” • But long setups make running anything twice in the month difficult. • Skip 12”, 14” some months? • How to Handle Seasonality? • Could run high volume products in off-season (sure to sell) • But running 12”, 14” products would help skip setups and increase capacity in peak season • Need to choose fractile of demand to stock in off-season (75%?)
Scheduling in Pull Environments • Simple CONWIP Lines: • Simple sequence sufficient. • No setups EDD sequence. • CONWIP Lines with Shared Resources: • No setups EDD within lines. • Need to augment sequence at shared lines. • FISFO at shared resources. FISFO sequencing
Scheduling in Pull Environments (cont.) • CONWIP Lines with Setups: • Sequence still reasonable. • Must balance capacity loss with due date requirements. • Exact solution impossible. • Heuristics starting with EDD and rearranging sequence can work well. • More General Environments: • Many routings make simple sequence insufficient. • Backward scheduling – due dates may be infeasible. • Forward scheduling – may be suboptimal.
A Sequencing Example • Problem Description: • 16 jobs • Each job takes 1 hour on single machine (bottleneck resource) • 4 hour setup to change families • Fixed due dates • Find feasible solution if possible
A Sequencing Example (cont.) • EDD Sequence: • Average Tardiness: 10.375
Sequencing Example (cont.) • Greedy Approach: • Consider all pairwise interchanges • Choose one that reduces average tardiness by maximum amount • Continue until no further improvement is possible
Sequencing Example (cont.) • First Interchange: Exchange jobs 4 and 5. • Average Tardiness: 5.0 (reduction of 5.375!)
Sequencing Example (cont.) • Configuration After Greedy Search: • Average Tardiness: 0.5 (9.875 lower than EDD)
Sequencing Example (cont.) • A Better (Feasible) Sequence: • Average Tardiness: 0
Diagnostic Scheduling • Goals: • Schedule at appropriate level of detail for environment. • Make use of realistic, obtainable data. • Accommodate “intangibles” in decision-support mode. • Approach: • Deterministic model. • Based on conveyor model. • Release as late as possible subject to due dates. • Provide diagnostics on infeasibilities. • Types of Infeasibility: • WIP (must move out due dates). • Capacity (can move due dates or increase capacity).