14. Simulation and Factory Physics 1. @Risk: Harriet Hotel and Overbooking Problems 2. Introduction to Simulation – – Methods of modeling uncertainty Monte Carlo simulation 3. Managing production lines without variability 4. Managing production lines with variability – – – Throughput rate, flow time and inventory levels Line balancing Single machine stations vs. parallel machines 1 Overbooking Problem • Common practice in • Difference between overbooking problems and newsvendor problems 2 Harriet Hotel 100 125 30 0.95 200 Note: HarrietHotel.xls is available on CourseInfo =B2-B3 try different values =RiskBinomial(B7, B4) =MIN(B1,B8) =B8-B9 =RiskOutput() +B6*B9-B5*B10 1. First, start @Risk. Excel will start automatically. 2. Make “Actual Arrivals" a Binomial Random Variable: 3. 4. 5. 6. Menu: Insert, Function, @RiskDistribution, RiskBinomial Make "Nightly Profit" an Output: Menu: @Risk, Model, Add Output Set Iterations & Sampling: Menu: @Risk, Simulation, Settings Run the Simulation: Menu: @Risk, Simulation, Start 3 Analyze the Results: Results Window: Results, Results Settings or Quick Report @Risk Simulation Settings. Menu: @Risk, Simulation, Settings Number of times the simulation is repeated for each scenario. Number of Scenarios. • use 1 if you enter a single value for “Number of Reservations Accepted", or • use 7 if use RiskSimTable with seven different values. “Monte Carlo” causes @Risk to show randomly generated values when you press function key F9. A "fixed seed" causes @Risk to use the same random numbers every time a run is repeated. This means that all simulations will face the same “Actual Arrivals”. 4 @Risk Report Settings Results Window: Results, Report Settings Specify the reports you are interested in. For example, you can put these results on an Excel spreadsheet. Generate the selective reposts. 5 Using the @Risk Simulation Add-in for Excel 1. 2. Open @Risk. (Excel will be opened for you.) Create your model and think about what are the – – – 3. Use probability functions to represent your random variables – – 4. Go to @Risk | Add Output, or simply type in Riskoutput() You can see the list of your input and output cells by going to @Risk | Model | List of Outputs and Inputs Specify simulation settings: @Risk | Simulation | Settings – – 6. 7. Go to Insert | Function and select @Risk Distribution, or go to @Risk | Model | Define Distributions Identify the performance measures you wish to gather data on – – 5. Performance measures (output cells) Decision variables (under your control) Random variables (input cells) Iterations: # iterations and # simulations sampling Start the simulation (@Risk | Simulation | Start) Analyze results 6 Selecting a Distribution (p. 550) • Quantifying Uncertainty – Mean and Standard Deviation – Shape (skewness) – Min, mostlikely, max You can also go to @Risk | Model | Define Distributions, which is helpful in choosing among the different probability distributions. • Discrete Probability Distributions: – – – – RiskIntUniform (x,y) RiskDuniform({x1,x2,…,xn}) RiskDiscrete ({x1,x2,…,xn}, {p1,p2,…,pn}) RiskBinomial(n,p) • Continuous Probability Distributions: – – – – RiskUniform(x,y) RiskNormal(m,s) RiskLogNorm(m,s) RiskTriang(min, most likely, max) 7 Analyzing Simulation Results • After the simulation runs, the Results Window will automatically open, showing summary statistics for – the output cells and – the input cells if you’ve chosen to collect them in the Sampling tab of Simulation Settings • You can move back and forth between the results and your spreadsheet through the “Show Excel Window” button and the “Show Result Window” button (or through @Risk | Results). • From the Results Window: – Copy the simulation results to an Excel worksheet for further analysis and safekeeping by going to Results | Report Setting or Quick Report – To generate a graph, right-click on an output (or input) cell and then choose the type of graph you want (histogram or cumulative). Right-click on any graph to change its format or to copy it into a standard Excel graph. • To simulate for different values of a decision variable (One variable at a time!): – Use RiskSimTable({x1,x2,…xn}); x1, x2, … xn can be cells or numbers. – type n in “# of simulations” under @Risk | Simulation | Settings • Reports: mean, std, percentiles 8 Some Tips • @Risk will run all the models that are open. If you are only interested in results from one model, close all other models. • @Risk can handle multiple random variables. Year Return 1998 =Riskuniform(0.07,0.15) 1999 =Riskuniform(0.03,0.10) • @Risk allows formulas such as: B1*(1+RiskNormal(10,9))+B3 • @Risk can handle multiple output cells Annual profit RiskOutput()+formula Service level RiskOutput()+formula Inventory cost RiskOutput()+formula 9 Introduction to Simulation • Approaches to analyzing uncertainty: • Monte Carlo simulation using computers • Why important? • Disadvantages 10 Factory Physics • Managing production lines without variability • Managing production lines with variability – – – – Throughput rate, flow time and inventory levels Line balancing Single machine stations vs. parallel machines Sources of variability 11 The Penny Fab punch press cuts penny blanks stamps Lincoln’s face places a rim on the penny cleans away any burrs A production line that makes giant one-cent pieces. The line consists of four machines in sequence. Capacity of each machine is one penny every two hours. (A balanced line with no variability.) • Theoretical flow time (hours) T0 = • Bottleneck rate per hour R0 = • To achieve R0 , Inventory needed is: I0 = 12 Penny Fab One T = Flow Time for each Penny Critical WIP level I0 2 hrs 2 hrs I 1 2 3 4 5 6 7 8 9 T 2 hrs R 2 hrs RxT 1 2 3 4 5 6 7 8 9 R= Throughput Rate for System 13 .5 20 .4 16 .3 12 .2 8 .1 4 0 0 2 4 6 8 10 12 14 Flow time (Hours) Throughput (Jobs/hr) Throughput and Flow Time vs. Inventory 0 Inventory (jobs) To achieve the Theoretical Throughput Rate R0 = 0.5 jobs per hour The minimum Inventory needed is I0 = 4.0 jobs 14 5 hr Station 4 Station 3 Station 2 Station 1 Penny Fab Two 2 hr 3 hr 10 hr 15 Penny Fab Two R0 = Station c Tp 1 1 2 hr 2 2 5 hr 3 6 10 hr 4 2 3 hr Capacity T0 = _______________ I0 = ________________ Station 1 Station 2 Station 3 Station 4 # of jobs Utilization 16 Line Balancing 5 jobs/shift 2.5 jobs/shift on each machine => Extra capacity at the first station! • Processing rate at station 1: 1 job/shift 50% of the time, 4 jobs/shift 50% of the time; avg 2.5 jobs/shift • Processing rate at station 2: 2 jobs/shift 50% of the time, 8 jobs/shift 50% of the time; avg 5 jobs/shift 17 Line Balancing (cont.) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 M1 1 1 1 1 4 4 4 4 1 1 1 1 4 4 4 4 Potential Production Station 1 Station 2 M2 M3 M1 1 1 2 1 4 2 4 1 2 4 4 2 1 1 2 1 4 2 4 1 2 4 4 2 1 1 8 1 4 8 4 1 8 4 4 8 1 1 8 1 4 8 4 1 8 4 4 8 The expected output rate = Actual Output 2 2 2 2 2 2 2 2 3 6 6 8 6 8 8 8 69 jobs/shift 18 Line Balancing (cont.) • If we shut down one of the machines at station 1, the expected output rate jobs/shift. 1 2 3 4 5 6 7 8 Potential Production Station 1 Station 2 M1 M2 M1 1 1 2 1 4 2 4 1 2 4 4 2 1 1 8 1 4 8 4 1 8 4 4 8 Actual Output 2 2 2 2 2 5 5 8 28 What is the capacity of a line with variability? 19 Penny Fab Two Throughput Rate 0.5 without variability Throughput Rate, R 0.4 with variability 0.3 0.2 0.1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Inventory, I With variability • Simulation is the tool to find R(I) and T(I) !! • To get close to the bottleneck rate R0 you might 20 need a huge inventory!! Penny Fab Two Flow Time 80 Flow Time, T 70 T 60 50 40 30 without variability 20 10 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Inventory, I 21 Penny Fab One • Single Machine Stations c=1 2 hrs c=1 c=1 c=1 2 hrs 2 hrs 2 hrs • Parallel Machines c=1 2 hrs c=1 c=2 2 hrs 4 hrs 22 Internal Benchmarking Example Large Panel Line: Process Treater Machining Circuitize Optical Test/Repair Drilling Copper Plate Procoat Sizing EOL Test Bottleneck rate, theoretical process time Rate (p/hr) 191.5 186.2 150.5 157.8 185.9 136.4 146.2 126.5 169.5 126.5 Time (hr) 1.2 5.9 6.9 5.6 10.0 1.5 2.2 2.4 1.8 33.1 23 Internal Benchmarking • Best inventory level without variability = 126.5 33.1 = 4,187 • Actual Values: – T = 34 days = 816 hours – I = 37,400 panels – R = 45.8 panels/hour • Benchmark: – Theoretical FT = 33.1 hours – “best inv level” = 4,187 panels – Bottleneck rate = 126.5 panels/hr • Conclusions: – Throughput is 36% of capacity – WIP is 8.9 times the “best inventory level” – Flow Time is 24.6 times theoretical flow time • Why? 24 Takeaways 1. @Risk – – – – – – Spreadsheet model: performance measures, decision variables, random variables Probability functions for representing random variables, e.g., RiskNormal(m,s) Decision variables: RiskSimTable (one variable at a time!) Output cells for performance measures (Riskoutput) Simulation settings (run length, desired reports) Reports (mean, std., percentiles) 2. Simulation – – Methods of modeling uncertainty Monte Carlo simulation: random number generation 25 Takeaways 3. Managing production lines without variability – There exists an optimal Inventory level = bottleneck rate theoretical flow time – Managing production lines with variability 4. Throughput rate increases as inventory increases – Throughput rate < bottleneck rate – Unbalance Lines – Single machine stations vs. parallel machines 26