Lecture 32: Scheduling Systems 2 © J. Christopher Beck 2008 1 Outline Scheduling Systems are Information Systems But even harder to build Are We Solving the Right Problem? What does a human scheduler do? Are we solving the “real” problem? Garbage in, garbage out © J. Christopher Beck 2008 2 Readings P Ch 13.7 © J. Christopher Beck 2008 3 Scheduling Systems are Information Systems Everything you learned in MIE350 applies here Why do you build a system? How do you build a system? How does the system get used in an organization? Use cases Data modeling, process modeling, … © J. Christopher Beck 2008 4 But It’s Worse At the core is (usually) a mathematically hard problem Risk & uncertainty If such a high percentage of normal IT projects fail, what about projects where the core mathematical problem is intractable? © J. Christopher Beck 2008 5 And Even Worse Scheduling experts tend to be interested in the math and algorithms They may not talk to the “real users” or may be even the system builders! People who understand OR are not the people who understand information systems one reason why InfoEng is important to OR people and why MIE350 is a core course © J. Christopher Beck 2008 6 And Worse Again “… a certain proportion of the theoretical research done over the last couple of decades is of very limited use in real world applications” – Pinedo p. 339 © J. Christopher Beck 2008 7 And Worse Again “40 years of research in nurse scheduling and “very few of the developed approaches are suitable for directly solving real world problems” – Burke et al. p. 469 © J. Christopher Beck 2008 8 Are We Solving the Right Problem? Scheduling is important in the real world economically, environmentally, … To advance scheduling should we concentrate on the OR or the Information Engineering? What is the right problem? © J. Christopher Beck 2008 9 What Tool Does the Most to Increase Schedule Quality? Suppliers The rest of the information system Factory floor Customers © J. Christopher Beck 2008 10 What Does a Human Scheduler Do? Negotiates Can I deliver half now and half later? Can I substitute product X for product Y? Can you push this job through the factory faster? © J. Christopher Beck 2008 11 What Does a Human Scheduler Do? Prioritizes Job X is more important because the customer is very big Job Y is more important because we delivered their order late last time Job Z is more important because we are phasing out that product © J. Christopher Beck 2008 12 What Does a Human Scheduler Do? Spends money to relax constraints Can we run a 3rd shift? Can we rent capacity from a competitor? Can we go below safety stock to meet this order? © J. Christopher Beck 2008 13 What Does a Human Scheduler Do? Changes the problem! We have no mid-size cars, would you like an SUV? We have no tables available at 8 PM, how about 7:30? © J. Christopher Beck 2008 14 The Scheduling Problem Customer Demand Order Priorities Raw Material Supply Process Plans Forecast Demand Scheduling Problem Make or Buy? Union Regulations Quality Requirements © J. Christopher Beck 2008 Resource Availabilities Preventative Maintenance 15 Changing the Problem Optimization techniques try to solve the problem human changes the problem so it can be solvable! What the human scheduler does is based on knowledge not represented in the scheduling problem! Think of the experience and information that the human needs © J. Christopher Beck 2008 16 Another View of Scheduling We should be building information systems that give humans the information required to make better decisions © J. Christopher Beck 2008 17 Are We Solving the Right Problem? Scheduling is important in the real world economically, environmentally, … To advance scheduling should we concentrate on the OR or the Information Engineering? What is the right problem? © J. Christopher Beck 2008 18 Real World Scheduling [MacKay88] “Pathological” job shop 80 acts/job, 300 res, 5000 active jobs all orders are behind schedule Uncertainty set-up time varies from 2 days to 6 weeks processing time: can vary by 100% raw material arrival high-priority orders decreased worker productivity © J. Christopher Beck 2008 19 Uncertainty We don’t really know the exact processing time of an activity We don’t know when new orders will arrive or if/when existing orders will be cancelled We don’t know when machines will break down or how long it will take to fix them © J. Christopher Beck 2008 20 In practice … The shop floor deals with the problem but what relation does the executed schedule have to the original schedule? A schedule is only “optimal” to the extent that the real world follows the assumptions made in the scheduling model © J. Christopher Beck 2008 21 This is All Very Depressing We’ve just spent 13 weeks learning about techniques that solve the wrong problem with the wrong data © J. Christopher Beck 2008 22