Project on discrete event simulation

© All Rights Reserved

11 views

Project on discrete event simulation

© All Rights Reserved

- paula-resume
- Point of Sales using ASAP Business Add-ons - Webinar Presentation.pdf
- Cumulative Update 8 Installation Guide for Microsoft Dynamics AX 2012 R3 (CU8)
- Quinos Point of Sale - User Manual
- pos system
- simulation performance rubric
- Survival Model
- Hbp Sim Benihana Player Script
- conceptbrief2 1
- MELJUN CORTES CS4120S1 System Analysis and Design 2 Implementation Updated Hours
- Secure Trading / acquiring.com Partner with AEVI to Drive Vendor-Agnostic POS and Omnichannel Solutions
- Team 1 Elaboration Milestone.pdf
- Reflective Journal ESA366 Purawin Subramaniam 125211
- Animation and Simulation Softwares
- Stochastic Analysis of a Cold Standby System with Server Failure
- Employment ion
- 7 reasons why you should adopt PlanningForce
- manual proposal
- Chapter 3 TPC2
- Applications.docx

You are on page 1of 13

LOUIS

Cashier Simulation

by

Philip I. Thomas

Semester Project

ESE 407: Analysis and Simulation of Discrete Event Systems

May 2013

Contents

1 Problem

1.1 Motivating Example . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1

1

2

2.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

3

4

3.1 Solving Method . . . . . . . .

3.2 Interface . . . . . . . . . . . .

3.3 Results . . . . . . . . . . . . . .

3.4 Motivating Example Solution .

5

5

5

6

6

4 Source Code

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Chapter 1

Problem

1.1

Motivating Example

A client owns a sandwich shop in a major city. They have 8 cash registers in the

shop. Customers form a single queue, and the number of active registers varies at

the managers discretion.

The manager has historical data on the customer load, and is able to quantify how

many customers are expected every hour and how long it takes a cashier to check

out a customer, on average. For instance, during lunch hour they may expect 150

customers between noon and 1PM, and checkout time may take an average of 2

minutes. The manager wishes for time from entering the line to paying for each

customer to an average of less than 3 minutes.

The manager seeks a system that allows him to predict how many servers need to

be scheduled during a given hour, based on anticipated customer load.

1.2

Background

Taco Bell.1 . Taco Bell uses software to model their workforce as a system and optimize to minimize labor costs. The system, known as TACO (total automation

1

http://interface.highwire.org/content/28/1/75.full.pdf

Contents

calendar year.

The system integrates three parts to manage the workforce. First, statistical

analysis is conducted in a forecasting model using historical restaurant data to

predict customer load at the restaurant. Then, a queuing theory model is used to

assign the number of cashiers and cooks required for every shift based on acceptable

wait time parameters. Finally, the system uses an integer programming model to

schedule every employee restaurants.

This total automation of labor is an intriguing problem, and my senior design

project, Scheduling Algorithm with Optimization of Employee Satisfaction2 , was

motivated by creating a similar employee scheduling system with an objective

function that was applicable to small businesses.

With regards to the queuing model used at Taco Bell perceived wait time was a

main concern. After actual waiting time exceeds ve minutes, customer perception

of waiting time increases exponentially. In addition, [. . .] consistently delivering food to customers within an average of three minutes would be a signicant

improvement.

Thus, for this project we reasonably conclude that optimal customer wait times

are under 3 minutes, and that customers who exceed a wait time of over 5 minutes

should be minimized.

1.3

Problem Statement

Design a system for a manager to input anticipate customer load and an average service time, then return the average wait time and other commentary on

anticipated lines based on having between one and eight servers, inclusive.

http://students.cec.wustl.edu/ pit1/

Chapter 2

Theory and Methods

2.1

Assumptions

When creating an interface for management, precise details such as arrival process

are difficult to glean from project parameters. For this project, multiple assumptions are made to create a usable program for non-technical users.

It is assumed that customer arrival process is a Poisson process. This assumption

is reasonable because customers arrivals are likely independent of other factors,

thus making a memoryless arrival process desired.

The service time is expected to be exponentially distributed. The exponential was

chosen instead of a General distribution becuase it is assumed that checkout time

has greater variance, with a higher likelihood of short service than a long service.

It is assumed that the number of servers during a given time period is constant.

The software is intended for use during scheduling, and scheduling decisions are

often constant over a discrete amount of time. Hence, the simulation operates over

a discrete amount of time with constant labor.

Finally, it is assumed that no balking occurs. This assumption is justified because

the goal service time chosen by the manager is chosen to minimize balking, so the

parameter under which the simulation runs assume that turnaway is not an issue.

Contents

2.2

Model

Based on the above assumptions, an M/M/c queue was selected. This multi-server

model adequately represents the single-queue system outlined by the client, it

allows for a varying number of servers, and analytic solutions are well documented.

Chapter 3

Implementation and Conclusion

3.1

Solving Method

Because the M/M/c queue has been thoroughly solved analytically, an analytical

implementation was selected. This yields the fastest computation time for the

client. The model formulation was obtained from the book Discrete-Event System

Simulation by Jerry Banks.

Simulation methods were rejected because of their run time and applicability to the

client. Running an simulation of the queue would require significant computation

power and memory, and time complexity would have a high marginal increase

with each additional server. If the arrival process or service rate distribution were

different, a simulation approach would have been considered. In addition, factors

such as queue size limit or balking would require a simulation approach.

3.2

Interface

In order suit the needs of the client, it was decided that three metrics of the model

were necessary to display: The average queue length, the average total system

time (checkout time), and the cashier utilization. The average queue length

is important to consider because space must be considered by the manager. In

addition, it presents a heuristic for visualization of the model. The average total

system time, referred to as the checkout time, is the most important metric

5

Contents

because literature shows that this value is most closely correlated to perceive

service time and balking. Finally, utilization is included because management

may wish to consider how often during a shift a cashier may be working. Having

low utilization leads to inflated workforce costs.

The interface must make a simple recommendation of the recommended number

of cashiers based on target average checkout time. In addition, it must display

the above metrics for each possible number of active cashiers provided in the

parameters.

3.3

Results

The software was designed to take the three inputs: Average Customers per Hour,

Average Cashier Service Time, and Goal Customer Order Time. The software

then runs the analysis of the system for each possible number of cashiers. It then

displays a recommendation of number of cashiers to schedule. A table is displayed,

showing the relevant metrics described in the Interface section for each possible

number of cashiers. For technical users, full system details are available.

The software was implemented as a web application to make accessibility easy.

With a mobile-compatible interface that requires no additional software, it is easy

to use for the client.

Calculations for the metrics are done dynamically client-side. Javascript calculations on the clients computer were selected because the analytic model require

minimal computational power.

The recommended number of cashiers is derived as the minimum number of

cashiers required so that the average total checkout time is less than or equal

to the desired checkout time.

3.4

In the motivating example it was stated that the manager sought to know how

many servers were recommended for an anticipated lunch load of 150 customers

Contents

with an average service time of 2 minutes, and a goal customer checkout time of

3 minutes.

The simulation model finds that between one and three, inclusive, servers are

infeasible becuase the traffic intensity exceeds one, meaning that customers arrive

more quickly than they may be serviced.

The model finds that 4 servers lead to an average queue length of 6.58 customers,

with an average checkout time of 5:56. Because this checkout time exceeds the

goal checkout time, this number of services.

The model thus selects 5 cashiers, for an average queue length of 1.31, and a n

average checkout time of 2:47.

The model further analyzes having 6 cashiers on duty, and the average checkout time of 2:13 shows that there is little marginal benefit to scheduling a sixth

employee.

Chapter 4

Source Code

The working model is available at:

http : //queue.philipithomas.com

https : //github.com/philipithomas/Queue Simulator

The full implementation includes multiple files, but the core of the calculations is

in the file /custom/queue.js. The source code of this file is printed below:

$("#reset").click(function() {

$("#output").addClass(hide);

$("#service_input").val();

$("#arrival_input").val();

$("#goal_service").val();

});

$("#simulate").click(function() {

if ( ($("#service_input").val() != "" ) && ($("#arrival_input").val() != "") &&

// There are inputs

8

Contents

service_input = $("#service_input").val();

arrival_input = $("#arrival_input").val();

goal_service = $("#goal_service").val();

lambda = ( arrival_input / 60 );

mu = 1/service_input;

$("#arrival_display").text(arrival_input);

$("#service_display").text(service_input);

suggestion = 0;

for (c=1;c<=8;c++)

{

// Reset rows

$("#row" + c).removeClass(success error warning);

// Utilization

rho = lambda / c / mu;

// Customers in queue

Pnaught = 0;

// summation term

for (n=0;n<c;n++) {

Pnaught = Pnaught + Math.pow((lambda/mu),n) / factorial(n);

}

// Add second term

// final inverse

Pnaught = 1/Pnaught;

// Probabilility L of infinity is greater than c

Plinf = Math.pow(c*rho,c)*Pnaught/(factorial(c)*(1-rho));

// Now we calculate L

// init

L = c * rho;

L = L + rho * Plinf / (1-rho);

// L complete

Contents

10

w = L / lambda;

wq = w - 1/mu;

// number in line

Lq = lambda * wq;

if ( rho >= 1 ) {

$("#row" + c).addClass("error");

$("#rho" + c).text();

$("#L" + c).text();

$("#W" + c).text();

}

else {

$("#rho" + c).html(Math.round( rho * 100) + "%");

$("#L" + c).text(Math.round( Lq * 100)/100);

min = Math.floor( w );

sec = Math.floor(w%1*60);

if (sec < 10 && sec>0) {

// make it pretty

sec = "0"+sec;

}

if (sec == 0) {

sec = "00";

}

$("#W" + c).text( min+ ":" +sec );

if ( w > goal_service ) {

$("#row" + c).addClass(warning);

}

else {

$("#row" + c).addClass(success);

Contents

if (suggestion == 0) {

suggestion = c;

}

}

}

}

// Now we print the suggestion

if (suggestion == 0 ) {

$("#rec_outer").addClass(hidden);

}else {

$("#rec_outer").removeClass(hidden);

$("#recommendation").text(suggestion);

}

$("#output").removeClass(hide);

}

});

function factorial(n)

{

if (n <= 1) return 1;

return n*factorial(n-1);

}

11

- paula-resumeUploaded byJohn Patrick Duya
- Point of Sales using ASAP Business Add-ons - Webinar Presentation.pdfUploaded byBimalKA
- Cumulative Update 8 Installation Guide for Microsoft Dynamics AX 2012 R3 (CU8)Uploaded bysaadasadkhatri
- Quinos Point of Sale - User ManualUploaded byMuhammad Basri
- pos systemUploaded byraggedacne1073
- simulation performance rubricUploaded byapi-278832381
- Survival ModelUploaded byanindya5
- Hbp Sim Benihana Player ScriptUploaded byChristopher Lewis
- conceptbrief2 1Uploaded byapi-248125488
- MELJUN CORTES CS4120S1 System Analysis and Design 2 Implementation Updated HoursUploaded byMELJUN CORTES, MBA,MPA
- Secure Trading / acquiring.com Partner with AEVI to Drive Vendor-Agnostic POS and Omnichannel SolutionsUploaded byPR.com
- Team 1 Elaboration Milestone.pdfUploaded byshishaysgk
- Animation and Simulation SoftwaresUploaded bymuhai_232
- Reflective Journal ESA366 Purawin Subramaniam 125211Uploaded byPurawin Subramaniam
- Stochastic Analysis of a Cold Standby System with Server FailureUploaded byinventionjournals
- Employment ionUploaded byblaze_harmon_1
- 7 reasons why you should adopt PlanningForceUploaded byplanningforce
- manual proposalUploaded byapi-252972956
- Chapter 3 TPC2Uploaded byAngela Dominique Taganile
- Applications.docxUploaded byTahpehs Phiri
- book1Uploaded byHotPriyu Onlyforgals
- Point of Sales Mart WhitepaperUploaded byNaresh Mundra
- The uses of ICTUploaded byboss_7amoud
- Exponential Approximation of Geometric SumsUploaded bymim16
- Quality Analytics How to PlayUploaded byJose Francisco Torres
- Difference between Generic and Custom built OTSUploaded byhussain
- CIMA BFS CertificateUploaded byHany El Noaman
- We i Bull AnalysisUploaded byImron Mashuri
- Sagar Tech BrochureUploaded byImran Shaikh
- Grebneva_1Uploaded byGabrielito Pachacama

- Marketing to the Corporate Chef White PaperUploaded byPhilip I. Thomas
- Exploration of Wave Properties in Solids with UltrasoundUploaded byPhilip I. Thomas
- Optical TweezersUploaded byPhilip I. Thomas
- Temperature Dependence of the Critical Current in the YBCO Superconducting Quantum Interference DeviceUploaded byPhilip I. Thomas
- Fuel Cell PaperUploaded byPhilip I. Thomas
- Measuring Frequency Dependence and Q-Data of Single Bubble Sonoluminescence in WaterUploaded byPhilip I. Thomas
- Mechanism of the Fleur-De-Lis Edison Pearl Fountain PenUploaded byPhilip I. Thomas
- Computational Analysis of Diffusion as a Stochastic SystemUploaded byPhilip I. Thomas

- Yearly Plan for Year 5 ScienceUploaded byHelyza Hayes
- links.txtUploaded byVenkat Samrat Budugur
- fss Multi-User Scheduling.pdfUploaded by李中琳
- is.4985.2000Uploaded byprabhanshu241991
- BSR 2014.xlsxUploaded byMadusha Galappaththi
- Satellite Antenna TestingUploaded bySailee Gharat
- (Cambridge Atmospheric and Space Science Series) Gary E. Thomas, Knut Stamnes-Radiative Transfer in the Atmosphere and Ocean-Cambridge University Press (2002)Uploaded byShailendra Singh Khichi
- Cold Store Insulation Thermal Imaging Survey Sample ReportUploaded bytyo wibowo
- Crankshaft Damper Function.Uploaded byChor Fenol
- Varian Vk 7025Uploaded byFernando Barsotti
- Offshore Power Generation Module_LEPW0049-01Uploaded byEdutam
- GE Black Light Brochure 1970Uploaded byAlan Masters
- 1 St Place Undergrad Aircraft AIAA DesignUploaded byjoereis
- KatrinevRaaij ThesisUploaded byarrtfiend2131
- ConstantCurrentSource.pdfUploaded byAnonymous TPVfFif6TO
- Heat Transfer Homework 3 Solutions ME 335Uploaded byDavid Sebulsky
- How to Make a Contact Less Tachometer (Lalit)Uploaded bymanojsinghbishtgeu
- hw5Uploaded byTạ Thốn
- 11. Solidworks Tutorial - Alloy WheelUploaded byAdam Billington
- Northrop Grumman Flats Sequencing System litigationUploaded byEadward Tree
- Query 400Uploaded byvisua
- Cpp DebuggingUploaded bySelvakumar Gopal
- LynxSA2 - TechpackUploaded byThanh Nam Nguyen
- Llave de Caño Oil Country Modelo 58-93RUploaded byGianna Frola
- lrjUploaded byGilang Septian
- l4 03 Measuring Purchasing PerformanceUploaded byMahendra Kumar Soni
- Gasoline StationUploaded byTed's Volary
- 4Uploaded byferd
- DSC Study. 2013, Jan, 24Uploaded bykhuelv
- genUploaded byNguyen Trung