Production Scheduling: Mel’s Burger Bar

Slides:



Advertisements
Similar presentations
Waiting Line Management
Advertisements

An Investment Planning In a barber shop business Paxton Zhou Paul Kim.
Module C8 Queuing Economic/Cost Models. ECONOMIC ANALYSES Each problem is different Examples –To determine the minimum number of servers to meet some.
Crew: Pavel Babenkov Kirill Kalinkin Customized Stochastic Lot Scheduling Problem with Due Date Management.
CS 241 Spring 2007 System Programming 1 Queuing Framework for Process Management Evaluation Lecture 20 Klara Nahrstedt.
INDR 343 Problem Session
Model Antrian By : Render, ect. Outline  Characteristics of a Waiting-Line System.  Arrival characteristics.  Waiting-Line characteristics.  Service.
WAITING LINES AND SIMULATION I. WAITING LINES (QUEUEING) : II. SIMULATION.
HW # Due Day: Nov 23.
Queuing Models Economic Analyses. ECONOMIC ANALYSES Each problem is different Examples –To determine the minimum number of servers to meet some service.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
© 2004 by Prentice Hall, Inc., Upper Saddle River, N.J F-1 Operations Management Simulation Module F.
MGTSC 352 Lecture 23: Congestion Management Introduction: Asgard Bank example Simulating a queue Types of congested systems, queueing template Ride’n’Collide.
HW # Due Day: Nov 23.
QUEUING MODELS Queuing theory is the analysis of waiting lines It can be used to: –Determine the # checkout stands to have open at a store –Determine the.
4-1 Continuous Random Variables 4-2 Probability Distributions and Probability Density Functions Figure 4-1 Density function of a loading on a long,
Metro Scheduling By Philip Anderson & Liza John. Metro Scheduling Case Study Real world Practice.
QueueTraffic and queuing theory +. 2 Queues in everyday life You have certainly been in a queue somewhere. –Where? –How were they different?  We encounter.
INDR 343 Problem Session
D-1 © 2004 by Prentice Hall, Inc., Upper Saddle River, N.J Operations Management Waiting-Line Models Module D.
1 Chapter 5 Flow Lines Types Issues in Design and Operation Models of Asynchronous Lines –Infinite or Finite Buffers Models of Synchronous (Indexing) Lines.
A spinner from a board game randomly indicates a real number between 0 and 50. The spinner is fair in the sense that it indicates a number in a given interval.
Management of Waiting Lines McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Project 2: ATM’s & Queues. ATM’s & Queues  Certain business situations require customers to wait in line for a service Examples:  Waiting to use an.
Distributed Algorithms Rajmohan Rajaraman Northeastern University, Boston May 2012 Chennai Network Optimization WorkshopDistributed Algorithms1.
18 Management of Waiting Lines.
An Evaluation of Heuristic Methods for Determining the Best Table Mix in Full-Service Restaurants Sheryl E. Kimes and Gary M. Thompson Cornell University.
Machine interference problem: introduction
MGTSC 352 Lecture 25: Congestion Management MEC example Manufacturing example.
M/M/1 Queues Customers arrive according to a Poisson process with rate. There is only one server. Service time is exponential with rate  j-1 jj+1...
CSCI1600: Embedded and Real Time Software Lecture 19: Queuing Theory Steven Reiss, Fall 2015.
Structure of a Waiting Line System Queuing theory is the study of waiting lines Four characteristics of a queuing system: –The manner in which customers.
1 1 Slide Chapter 12 Waiting Line Models n The Structure of a Waiting Line System n Queuing Systems n Queuing System Input Characteristics n Queuing System.
Basic Queuing Insights Nico M. van Dijk “Why queuing never vanishes” European Journal of Operational Research 99 (1997)
Zeta: Scheduling Interactive Services with Partial Execution Yuxiong He, Sameh Elnikety, James Larus, Chenyu Yan Microsoft Research and Microsoft Bing.
Management of Waiting Lines Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Problem 1: Service System Capacity CustomersServed Customers Queue Server Problem: Can a server taking an average of x time units meet the demand? Solution.
Managerial Decision Making Chapter 13 Queuing Models.
McGraw-Hill/Irwin Copyright © 2009 by The McGraw-Hill Companies, Inc. All Rights Reserved. Chapter 18 Management of Waiting Lines.
4-1 Continuous Random Variables 4-2 Probability Distributions and Probability Density Functions Figure 4-1 Density function of a loading on a long,
McGraw-Hill/Irwin Copyright © 2009 by The McGraw-Hill Companies, Inc. All rights reserved.
Random variables (r.v.) Random variable
Fundamentals of Cellular Networks (Part IV)
Problem 1: Service System Capacity
Models of Traffic Flow 1.
Algorithm Design Methods
Load Balancing and Data centers
Serve Assignment Policies
Application of Queueing
Dynamic Graph Partitioning Algorithm
McGraw-Hill/Irwin ©2009 The McGraw-Hill Companies, All Rights Reserved
Queuing Models Economic Analyses.
Chapter 9: Queuing Models
Service Operations Management (SOM) Waiting Line Models
Birth-Death Process Birth – arrival of a customer to the system
Solutions Queueing Theory 1
Solutions Hwk Que3 1 The port of Miami has 3 docking berths for loading and unloading ships but is considering adding a 4th berth.
IV-2 Manufacturing Systems modeling
LESSON 12: EXPONENTIAL DISTRIBUTION
Variability 8/24/04 Paul A. Jensen
Solutions Queueing Theory 1
Queuing Models and Capacity Planning
Mitchell Jareo MAT4340 – Operations Research Dr. Bauldry
Solutions Queueing Theory 1
Solutions Hwk Que3 1 The port of Miami has 3 docking berths for loading and unloading ships but is considering adding a 4th berth.
Lecture 18 Syed Mansoor Sarwar
Algorithm Design Methods
Waiting Line Models Waiting takes place in virtually every productive process or service. Since the time spent by people and things waiting in line is.
Queuing Models J. Mercy Arokia Rani Assistant Professor
Algorithm Design Methods
Presentation transcript:

Production Scheduling: Mel’s Burger Bar Mitchell Bustillo, Jibben Hillen, Morgan Maccherone, and Elaine MacDonald Elaine

Goal: Maximize the number of people that move through the restaurant Minimize wait times Maximize profit Elaine

Problem setup 2-top, 4-top, and 6-tops, 12-top Sections seat approximately same number of customers Each table is a machine with a given capacity All tables/servers have the same processing times Each party is a job with characteristics based on size Elaine

Problem setup continued Queue is dumped upon restaurant close Model dinner for 5 hours Preemption not allowed If not in use, tables/machines can be combined for greater capacities (later modification) Elaine

Party sizes are distributed according to this PDF Probability 1 0 (they all sat at the bar) 2 0.24 3 0.22 4 0.29 5 0.10 6 0.12 7 0.01 8+ 0.02 Mitchell

Length of stay according to party size (normally distributed) Mean Length of Stay (hrs) Variance in Length of Stay (hrs) 1 N/A 2 1.1 0.15 3 1.2 0.20 4 1.25 0.23 5 1.4 0.24 6 1.6 0.28 7 1.65 0.30 8+ 2.0 0.35 Mitchell

Arrivals Poisson with rate λ = .083 hours = 5 minutes Obviously, as the time of day changes, so will λ Ideas for future research: create a function λ(t) that models the change in arrival rate over time Wait Time in Queue Probability of Staying Lq ≤ 0.25 0.9 0.25 < Lq ≤ 0.50 0.8 0.50 < Lq ≤ 0.75 0.5 0.25 < Lq ≤ 1.00 0.3 1.00 < Lq 0.1 Mitchell

What we did… Coded simulator in Python and tested different algorithms to see how they perform Jibben

Algorithm 1: Round Robin (currently used in Mel’s) For all sections: Get feasible tables and place party at any available table (lowest table number). If current section is full, go to next (if at section 3, go to 0). Performance measures based on Monte Carlo Simulation with 1000 trials: Parties dropped: 34.69 People dropped: 198.343 Parties seated: 145.149 People seated: 475.911 Jibben {'avg_wait_time': 3.604103295058157, 'parties_dropped': 34.691, 'parties_seated': 145.149, 'people_dropped': 198.343, 'people_seated': 475.911}

Algorithm 2: Random Assignment Iterate through all available tables in a random order until you find one you can seat the party at Performance measures based on Monte Carlo Simulation with 1000 trials: Parties dropped: 34.08 People dropped: 195.443 Parties seated: 145.692 People seated: 479.086 Jibben parties_dropped': 34.08, 'parties_seated': 145.692, 'people_dropped': 195.443, 'people_seated': 479.086

Algorithm 3: Restrict parties to certain table sizes Only 5 or 6 people could sit at a six top & only 3 or 4 people at four top Performance measures based on Monte Carlo Simulation with 1000 trials: Parties dropped: 33.594 People dropped: 193.371 Parties seated: 146.779 People seated: 483.589 Morgan {'avg_wait_time': 3.1419769974025797, 'parties_dropped': 33.594, 'parties_seated': 146.779, 'people_dropped': 193.371, 'people_seated': 483.589}

Algorithm 4: Seat them at the smallest table available Take set of tables that could fit current party Sort these tables according to size Seat at first available table (lowest table number) Performance measures: Parties dropped: 33.155 People dropped: 191.286 Parties seated: 146.726 People seated: 483.374 Morgan {'avg_wait_time': 3.1440352215364835, 'parties_dropped': 33.155, 'parties_seated': 146.726, 'people_dropped': 191.286, 'people_seated': 483.374}

Algorithm 5: Only seat parties of 4 or fewer Not the best for reputation, but let’s give it a try! Performance measures Parties dropped: 34.1 People dropped: 204.681 Parties seated: 146.087 People seated: 471.188 Morgan {'avg_wait_time': 1.734653858263471, 'parties_dropped': 34.1, 'parties_seated': 146.087, 'people_dropped': 204.681, 'people_seated': 471.188}

Algorithm 6: Seat parties in sections where fewest number of people have been seated Good for balancing the server load Performance measures Parties dropped: 34.5 People dropped: 197.697 Parties seated: 145.602 People seated: 477.631 Morgan {'avg_wait_time': 3.6016048093233044, 'parties_dropped': 34.5, 'parties_seated': 145.605, 'people_dropped': 197.679, 'people_seated': 477.631}

Algorithm 7: Do different things depending on state if there are a lot of free tables, seating people fast is optimal —> maybe round robin or random if the queue is long (demand is > supply) or if tables are all occupied, try combining tables which might be optimal Performance measures Parties dropped: 26.13 People dropped: 117.23 Parties seated: 152.29 People seated: 554.28 Morgan {'avg_wait_time': 5.564305645430331, 'parties_dropped': 26.13, 'parties_seated': 152.29, 'people_dropped': 117.23, 'people_seated': 554.28}