Lesson 15. Introduction To Promodel
Lesson 15. Introduction To Promodel
Nelson Uhan
Spring
Lesson
Overview
. Introduction to ProModel
Performing complex simulations via Excel is difficult We will transition to ProModel, a software package designed specifically for discrete-event simulation Lets use ProModel to tackle the following problem Problem . Customers visit the neighborhood hair stylist Fantastic Dan for haircuts. The customer interarrival time is exponentially distributed with mean minutes. Each haircut takes Fantastic Dan anywhere from to minutes, uniformly distributed. This time also includes the initial greetings and the transaction of money at the end of the haircut. a. b. c. d. Simulate day of Dans operations. Assume Dan works continuously for hours a day. About how many customers does Dan process per day? What is the average number of customers waiting to get a haircut? What is the maximum? What is the average time spent by a customer in the shop? What is the maximum?
Preliminaries
You can purchase a student version of ProModel for from http://promodel.com/academic/
ProModel documentation: http://www.promodel.com/onlinehelp/ProModel/80/ Select Tools Options and change the locations of the default folders to the ProModel folders in your Documents folder, if necessary
Basic model elements Locations: fixed place in the system where something happens Entities: anything that can be processed (e.g. customers) Arrivals: how entities enter the system Processing: operations that take place at a location, routing of entities between locations
Select File New to start a new model Give your model a title (e.g. Fantastic Dan - Lesson Change default time units and distance units if desired . Locations Select Build Locations Define a location for the queue Again, make sure the New checkbox in the Graphics window is checked Click the button in the Graphics window Click and drag in the Layout window to form the path of the queue, and double-click when finished Double-click the queue and click the Queue radio button in the Conveyor/Queue dialog Change the name to Queue in the Locations window Keep the default capacity + Uncheck the New checkbox in the Graphics window Click the button in the Graphics window Click the queue in the Layout window and move the resulting label to an appropriate place Define a location for Dan Again, make sure the New checkbox in the Graphics window is checked Select an icon to represent Dan Click in the Layout window, move and resize as desired Change the name to Dan in the Locations window Keep the default capacity Create a label for Dan in the same way we did for the queue . Entities Select Build Entities Define an entity for a generic customer Select an icon in the Graphics window to represent a customer Change the name to Customer in the Entities window Modify the icon as desired (make sure the New checkbox in the Graphics window is unchecked) )
Arrivals Select Build Arrivals Define the arrival process for customers Select Customer in the Tools window Click on the queue in the Layout window In the Arrivals window, make the first arrival time (First Time) blank We want the first arrival time to follow the interarrival time distribution Also in the Arrivals window, change the interarrival time (Frequency) to an exponential distribution with mean Right-click in the corresponding cell to open the Logic Builder Click on Distribution Functions in the Logic Elements list Click on Exponential in the Distribution Functions list Enter the mean ( ) and the stream ( )
Completely independent model functions should get their own stream numbers . Processing Select Build Processing Process customers at the queue: route from the queue to Dan Make sure the New Process button is active in the Tools window Click on the queue, drag to Dan and click again Process customers at Dan: get service, then exit the system Again, make sure New Process is active in the Tools window Click on Dan, and then click on the Route to Exit button in the Tools window In the Process window, define the service time by clicking on the Operation... button button to open the Logic Builder In the Operation window, click the Select the WAIT statement, click the Time button, and enter a Uniform distribution function with mean , half-range , and stream Click Paste to put the expression into the Operation window Its a good idea to click the button to make sure the expression works