32
Discrete Event Simulation using Promodel Discrete event simulation is the imitation of a dynamic system using computer model in order to evaluate and improve system performance. Simulation provides a virtual method for doing system experimentation. Typical applications of simulation include: Work-flow planning Cost reduction Capacity planning Productivity improvement Cycle time reduction Production scheduling Staff and resource planning Line balancing Bottleneck analysis Batch size optimization Inventory reduction Layout analysis Throughput analysis Maintenance scheduling Simulation analysis is appropriate if the following hold: Decisions are operational in nature Process is well defined and repetitive in nature Activities and events are interdependent and variable The cost of simulation analysis does not exceed potential cost reduction Cost of simulation analysis does not exceed experimentation on the actual system Benefits of Simulation approach Captures system interdependencies Accounts for variability in the process Is versatile enough to model both manufacturing and service processes Shows behavior over time Is less costly, time consuming, and disruptive than experimenting on the actual system Provides information on multiple performance measures Provides results that are easy to understand and communicate Runs in compressed time Forces attention to detail in a process

Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Embed Size (px)

Citation preview

Page 1: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Discrete Event Simulation using Promodel

Discrete event simulation is the imitation of a dynamic system using computer model in order to evaluate and improve system performance. Simulation provides a virtual method for doing system experimentation.

Typical applications of simulation include: Work-flow planning Cost reduction Capacity planning Productivity improvement Cycle time reduction Production scheduling Staff and resource planning Line balancing Bottleneck analysis Batch size optimization Inventory reduction Layout analysis Throughput analysis Maintenance scheduling

Simulation analysis is appropriate if the following hold: Decisions are operational in nature Process is well defined and repetitive in nature Activities and events are interdependent and variable The cost of simulation analysis does not exceed potential cost reduction Cost of simulation analysis does not exceed experimentation on the actual system

Benefits of Simulation approach Captures system interdependencies Accounts for variability in the process Is versatile enough to model both manufacturing and service processes Shows behavior over time Is less costly, time consuming, and disruptive than experimenting on the actual system Provides information on multiple performance measures Provides results that are easy to understand and communicate Runs in compressed time Forces attention to detail in a process

Simulation procedureStep 1: Define objective, scope, and requirementsStep 2: Collect and analyze system dataStep 3: Build and validate modelStep 4: Conduct experimentsStep 5: Analyze results and develop recommendations

Page 2: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Simulation system elementsEntities, activities, resources, and controls.Entities Items processed through the

system Human/animate (customers, patients,

passenger, etc.) Inanimate (Parts, documents, etc.) Intangible (calls, e-mail, etc.)

Activities Tasks performed in the system either directly or indirectly on the entities. Activities consume time and use resources

Entity processing (check-in, treatment, inspection, fabrication, etc.)

Entity/resource movement (ride elevator, forklift travel, etc.)

Resource adjustment (Machine setups) Maintenance & repair

Resources May be required for performing activities. Have characteristics such as, capacity, speed, cycle time, reliability, etc.

Human/animate (operator, doctors, etc.) Inanimate (equipment, tooling, etc.) Intangible (information, power, etc.)

Controls Controls how, when, and where activities are performed

Production routing sequence Work schedules Task prioritization

System variabilityType of variability ExamplesActivity times Service time, repair timeEvent arrivals Time between customer arrivals, time between failureQuantities Order quantity, batch size, number of workers absentDecisions Customer routing, accept/reject part, join queue

Random behaviorDiscrete distribution Finite number of possible values (number of items in a lot, number of

members in a group, etc.Continuous distribution A range of values such as a time between arrivals, service time, travel

distance, etc.

System variablesDecision variables Controllable variables, such as number of machines, number of

windowsIndependent variable Service time, processing timeResponse variables Variables that measure the system performance (metrics)

System performance metrics (Response variables)Flow time Average time it takes for an entity to be processed through the systemUtilization Percentage of time resources are in productive useWaiting time Time spent waitingQueue/inventory levels Number of customers waiting or parts in storageThroughput Number of customers served, no. of parts produced

Page 3: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Promodel objects

Object Description Important parameters

Creating a record

Entities Anything the model can process, such as parts, customers, patients.

With “New” checked, click a graphic .

Locations Fixed place where entities are routed for processing, waiting, decision making, or some other activity.

Capacity and number of units

With “New” checked, click a graphic icon and click anywhere in the layout. For a waiting line double click the icon, change object type to “Queue” and set other parameters.

Arrival Arrival parameters for the entities

Arrival location, number of objects per arrival, total number of arrivals, frequency

Click header “Entity” and select the arrival entity.

Click header “Location” and select the location for arrival.

Type INF for “Occurrences” indicating no limit for number of arrivals during the simulation.

Enter inter-arrival time parameter for “Frequency”. E.g. for exponential time with mean 2 minutes, enter e(2) min.

Processing

Process routing for an entity

ProcessEntity, Location, and operation

Click header “Entity” and select an entity for processing.

Click header “Location” and select a location.

Click header “Operation” and type operation logic.E.g.: wait N(2.4,.5) min

RoutingOutput, Destination, Rule

Click header “Output” and select an entity for output

Click header “Destination” and select a location

Click header “Rule” and set up one or more rules for routing the entity.

Click below the last row to create alternative routing

Page 4: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Teller Waiting LineFIFO, Capacity = 7

ArrivalEntity = CustomerFrequency = e(2) min

Teller WindowUnits = 1, Capacity = 1Service time: N(2.4,.5) min

ExitRoutingFirst 1

Example 1: Bank with one teller; Arrival of customers follows exponential distribution with an average of one customer every 2 minutes. Service time follows normal distribution with an average of 2.4 minutes and a standard deviation of .5 minutes. Waiting line is limited to 7 customers. Simulate the operation from 11 a.m. to 1 p.m. Let the warm-up period be 2 hours.

Flowchart

Entity record:

Location records

If the location is a queue, change “Queuing for output” to FIFO under the “Rules” tab.Arrival record

Process and Routing

Routing for Customer from Teller_Waiting_Line

Routing for Customer from Teller

Page 5: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Command: File/View text or File/Print Text ********************************************************************************* Formatted Listing of Model: ** P:\public_html\583\Notes\ProModel\Models\BankTeller-1.MOD ********************************************************************************** Locations ********************************************************************************* Name Cap Units Stats Rules Cost ------------------- --- ----- ----------- --------------- ------------ Teller_Waiting_Line 7 1 Time Series Oldest, FIFO, Teller_Window 1 1 Time Series Oldest, , First

********************************************************************************* Entities ********************************************************************************* Name Speed (fpm) Stats Cost ---------- ------------ ----------- ------------ Customer 150 Time Series

********************************************************************************* Processing ********************************************************************************* Process Routing

Entity Location Operation Blk Output Destination Rule Move Logic -------- ------------------- ------------------ ---- -------- ------------- ------- ------------ Customer Teller_Waiting_Line 1 Customer Teller_Window FIRST 1 Customer Teller_Window Wait N(2.4,.5) min 1 Customer EXIT FIRST 1

********************************************************************************* Arrivals *********************************************************************************

Entity Location Qty Each First Time Occurrences Frequency Logic -------- ------------------- ---------- ---------- ----------- ---------- ------------ Customer Teller_Waiting_Line 1 INF e(2) min

Simulation options

Page 6: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Results: Locations

NameScheduled Time (HR) Capacity

Total Entries

Avg Time Per Entry (MIN)

Avg Contents

Maximum Contents

Current Contents

% Utilization

Teller Waiting Line 2 7 54.23 10.43 4.72 7 5.03 67.49Teller Window 2 1 50.20 2.35 0.98 1 0.97 98.30

Results: Location state Multi

NameScheduled Time (HR) % Empty

% Part Occupied % Full % Down

Teller Waiting Line 2 4.66 78.10 17.24 0

Results: Location state Single

NameScheduled Time (HR)

% Operation % Setup % Idle

% Waiting % Blocked

% Down

Teller Window 2 98.30 0 1.70 0 0 0

Results: Failed arrivalsEntity Name Location Name Total FailedCustomer Teller Waiting Line 9.6

Results: Entity Activity

NameTotal Exits

Current Qty In System

Avg Time In System

(MIN)

Avg Time In Move Logic

(MIN)

Avg Time Waiting

(MIN)

Avg Time In Operation

(MIN)Avg Time

Blocked (MIN)Customer 49.23 6 13.80 0.00 9.09 2.40 2.32

Results: Entity StatesName % In Move Logic % Waiting % In Operation % BlockedCustomer 0 65.0 17.9 17.2

Page 7: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

ArrivalEntity = CustomerFrequency = e(2) min Door

Capacity =1

p = .4DeskCapacity = 3Service time: U(4,1.5) min

Teller_Waiting_LineFIFO, Capacity = 7

p = .6

Teller_WindowUnits = 2, Capacity = 1Service time: N(2.4,.5)

Exit

RoutingFirst 1

RoutingFirst 1

Summary of average results:  Lobby

Total number of customers served = 49.23

Average wait time for exited customers (minutes) = 9.09 + 2.32 = 11.41 minutes

Average length of waiting line = 4.72 customers

Average wait time for all customers including ones still in the bank (minutes) =

10.43 minutes

% of time waiting line is empty = 4.66%

% of time waiting line is full = 17.24%

Utilization of teller windows 98.3%

Service LevelTotal customer arrivals = Total entries at the waiting line + Failed arrivals = 54.23 + 9.60 = 63.83Service level = Total entries at the waiting line /Total customer arrivals = (54.23/63.83) x 100 = 84.96%

Example 2: Same bank as before, but with two tellers and 40% of arriving customers first sit at a desk and fill out forms. Time to fill forms takes between 2.5 and 5.5 minutes. Assume total customers in the bank cannot exceed 13.

Flowchart

Page 8: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

********************************************************************************* Locations ********************************************************************************* Name Cap Units Stats Rules Cost ------------------- --- ----- ----------- --------------- ------------ Door 1 1 Time Series Oldest, , Desks 3 1 Time Series Oldest, , First Teller_Waiting_Line 7 1 Time Series Oldest, FIFO, Teller_Window 1 2 Time Series Oldest, , First Teller_Window.1 1 1 Time Series Oldest, , Teller_Window.2 1 1 Time Series Oldest, ,

********************************************************************************* Entities ********************************************************************************* Name Speed (fpm) Stats Cost ---------- ------------ ----------- ------------ Customer 150 Time Series

********************************************************************************* Processing ********************************************************************************* Process Routing

Page 9: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Entity Location Operation Blk Output Destination Rule Move Logic -------- ------------------- ------------------ ---- -------- ------------------- ---------- ------------ Customer Door 1 Customer Teller_Waiting_Line 0.600000 1 Customer Desks 0.400000 Customer Desks WAIT U(4, 1.5) min 1 Customer Teller_Waiting_Line FIRST 1 Customer Teller_Waiting_Line 1 Customer Teller_Window FIRST 1 Customer Teller_Window Wait N(2.4,.5) min 1 Customer EXIT FIRST 1

********************************************************************************* Arrivals *********************************************************************************

Entity Location Qty Each First Time Occurrences Frequency Logic -------- -------- ---------- ---------- ----------- ---------- ------------ Customer Door 1 0 INF e(2) min

Results: Locations

NameScheduled Time (HR) Capacity

Total Entries

Avg Time Per Entry (MIN)

Avg Contents

Maximum Contents

Current Contents

% Utilization

Door 2 1 61.43 0.02 0.01 1.00 0.00 0.86Desks 2 3 26.50 3.85 0.85 3.00 0.93 28.32Teller Waiting Line 2 7 61.50 0.70 0.38 3.53 0.20 5.38Teller Window.1 2 1 34.90 2.34 0.68 1.00 0.70 68.00Teller Window.2 2 1 27.47 2.36 0.54 1.00 0.47 54.04Teller Window 4 2 62.37 2.35 0.61 2.00 1.17 61.02

Results: Location state MultiName Scheduled Time (HR) % Empty % Part Occupied % Full % DownDesks 2 42.68 51.68 5.64 0.00Teller Waiting Line 2 77.33 22.67 0.00 0.00

Results: Location state SingleName Scheduled Time (HR) % Operation % Setup % Idle % Waiting % Blocked % DownDoor 2 0 0 99.14 0 0.86 0Teller Window.1 2 68.00 0 32.00 0 0 0Teller Window.2 2 54.04 0 45.96 0 0 0Teller Window 4 61.02 0 38.98 0 0 0

Results: Failed arrivalsEntity Name Location Name Total FailedCustomer Door 0.6

Results: Entity Activity

NameTotal Exits

Current Qty In System

Avg Time In System

(MIN)

Avg Time In Move Logic

(MIN)

Avg Time Waiting

(MIN)

Avg Time In Operation

(MIN)Avg Time

Blocked (MIN)Customer 61.20 2.30 4.76 0.00 0.27 4.05 0.44

Results: Entity StatesName % In Move Logic % Waiting % In Operation % BlockedCustomer 0 5.35 85.59 9.05

Page 10: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Summary of average results:  Lobby

Total number of customers served = 61.20

Average wait time for exited customers (minutes) = 0.27 + 0.44 = 0.71 minutes

Average length of waiting line = 0.38 + .01 = .39 customers

Average wait time for all customers including ones still in the bank (minutes) = 0.70 + 0.02 = 0.72 minutes

% of time waiting line is empty = 77.33%

% of time waiting line is full = 0%

% of time desks are empty = 42.68%

% of time desks are full = 5.64%

Utilization of teller windows: Window # 1 = 68.0%, Window #2 = 54.04%, Overall = 61.02%

Service LevelTotal customer arrivals = Total entries at the door + Failed arrivals = 61.43 + 0.60 = 62.03Service level = Total entries at the door/Total customer arrivals = (61.43/62.03) x 100 = 99.0%

Page 11: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Arrival 1Entity = CustomerFrequency = e(2) min Door

Capacity =1

p = .4DeskCapacity = 3Service time: U(4,1.5) min

Teller_Waiting_LineFIFO, Capacity = 7

p = .4

Teller_WindowUnits = 2, Capacity = 1Service time: N(2.4,.5) min

Exit

RoutingFirst 1

RoutingFirst 1

ATM_LineFIFO, Capacity = 3

p = .2

Exit ATMUnits=1, Capacity =1Service time: N(2,.5) min

Arrival 2Entity = CarFrequency = e(5) min DriveThru_Line

FIFO, Capacity =3DriveThru_WindowUnits = 1, Capacity = 1Service time: T(1,2,5) min

Exit

ResourcesShared_Teller = 2 units

IncrementCustomers_in_bank

DecrementCustomers_in_bankDecrement

Customers_in_bank

Example 3: Same bank as in example 2, but with an ATM and a drive-thru window. The waiting line for ATM is limited to 3 customers. For customers arriving at the lobby, assume 40%-40%-20% for customer directly joining the queue, sit down to fill forms and joining the ATM waiting line, respectively. The time to complete the ATM transaction follows normal distribution with mean = 2 minutes, and standard deviation =.5 minutes.

For the drive-through line, cars arrive according to exponential distribution with a mean of 5 minutes. Service time for drive-thru window is triangular with minimum of 1 minutes, mode of 2 minutes and maximum of 5 minutes. There are only two tellers serving the two teller windows inside the lobby of the bank and the drive-through window. Also, assume only three cars can wait in line for drive-thru service.

In addition to other statistics, track the number of customers in the bank also.

Flowchart

Page 12: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

********************************************************************************* Locations *********************************************************************************

Name Cap Units Stats Rules Cost ------------------- --- ----- ----------- --------------- ------------ Door 1 1 Time Series Oldest, , Desk 3 1 Time Series Oldest, , First Teller_Waiting_Line 7 1 Time Series Oldest, FIFO, Teller_window 1 2 Time Series Oldest, , First Teller_window.1 1 1 Time Series Oldest, , Teller_window.2 1 1 Time Series Oldest, , ATM_Line 3 1 Time Series Oldest, FIFO, ATM 1 1 Time Series Oldest, , DriveThru_Line 3 1 Time Series Oldest, FIFO, DriveThru_Window 1 1 Time Series Oldest, ,

Page 13: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

********************************************************************************* Entities ********************************************************************************* Name Speed (fpm) Stats Cost ---------- ------------ ----------- ------------ Customer 150 Time Series Car 150 Time Series

********************************************************************************* Resources ********************************************************************************* Res Ent Name Units Stats Search Search Path Motion Cost ------------- ----- -------- ------ ------ ---------- -------------- ------------ Shared_Teller 2 By Unit None Oldest Empty: 150 fpm Full: 150 fpm

********************************************************************************* Processing ********************************************************************************* Process Routing

Entity Location Operation Blk Output Destination Rule Move Logic -------- ------------------- ------------------ ---- -------- ------------------- ---------- ------------ Customer Door Inc Customer_In_Bank 1 Customer Teller_Waiting_Line 0.400000 1 Customer Desk 0.400000 Customer ATM_Line 0.200000 Customer Desk WAIT U(4, 1.5) min 1 Customer Teller_Waiting_Line FIRST 1 Customer Teller_Waiting_Line 1 Customer Teller_window FIRST 1 Customer Teller_window GET 1 Shared_Teller Wait N(2.4,.5) min FREE 1 Shared_Teller Dec Customer_In_Bank 1 Customer EXIT FIRST 1 Customer ATM_Line 1 Customer ATM FIRST 1 Customer ATM Wait N(2,.5) min 1 Customer EXIT FIRST 1 Dec Customer_In_Bank Car DriveThru_Line 1 Car DriveThru_Window FIRST 1 Car DriveThru_Window Get 1 Shared_Teller WAIT T(1,2,5) min Free 1 Shared_Teller 1 Car EXIT FIRST 1

********************************************************************************* Arrivals ********************************************************************************* Entity Location Qty Each First Time Occurrences Frequency Logic -------- -------------- ---------- ---------- ----------- ---------- ------------ Customer Door 1 0 INF e(2) min Car DriveThru_Line 1 0 INF e(5) min

********************************************************************************* Variables (global) ********************************************************************************* ID Type Initial value Stats ---------------- ------------ ------------- ----------- Customers_In_Bank Integer 0 Time Series

Page 14: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Results: Locations

NameScheduled Time (HR) Capacity

Total Entries

Avg Time Per Entry (MIN)

Avg Contents

Maximum Contents

Current Contents

% Utilization

Door 2 1 60.03 0.01 0.01 1.00 0.03 0.63Desk 2 3 24.53 3.84 0.78 2.93 1.10 26.14Teller Waiting Line 2 7 48.53 1.09 0.47 3.60 0.20 6.69Teller window.1 2 1 27.97 2.77 0.64 1.00 0.57 64.46Teller window.2 2 1 21.40 2.90 0.52 1.00 0.43 51.99Teller window 4 2 49.37 2.82 0.58 2.00 1.00 58.22ATM Line 2 3 11.50 0.22 0.03 1.23 0.00 0.87ATM 2 1 11.70 2.00 0.19 1.00 0.10 19.40DriveThru Line 2 3 23.37 2.07 0.44 2.47 0.43 14.80DriveThru Window 2 1 23.57 3.00 0.59 1.00 0.70 59.23

Results: Location state MultiName Scheduled Time (HR) % Empty % Part Occupied % Full % DownDesk 2 44.96 50.33 4.71 0Teller Waiting Line 2 76.46 23.06 0.48 0ATM Line 2 97.80 2.10 0.09 0DriveThru Line 2 71.30 25.31 3.39 0

Results: Location state SingleName Scheduled Time (HR) % Operation % Setup % Idle % Waiting % Blocked % DownDoor 2 0.00 0.00 99.37 0.00 0.63 0Teller window.1 2 55.30 0.00 35.54 9.16 0.00 0Teller window.2 2 41.64 0.00 48.01 10.36 0.00 0Teller window 4 48.47 0.00 41.78 9.76 0.00 0ATM 2 19.40 0.00 80.60 0.00 0.00 0DriveThru Window 2 50.83 0.00 40.77 8.40 0.00 0

Results: Resources

Name UnitsScheduled Time (HR)

Number Times Used

Avg Time Per Usage (MIN)

% Utilization

Shared Teller.1 1 2 36.03 2.46 73.76Shared Teller.2 1 2 36.57 2.44 74.00Shared Teller 2 4 72.60 2.44 73.88

Results: Resources statesName Scheduled Time (HR) % In Use % Idle % DownShared Teller.1 2 73.76 26.24 0Shared Teller.2 2 74.00 26.00 0Shared Teller 4 73.88 26.12 0

Results: Failed arrivalsEntity Name Location Name Total FailedCustomer Door 0.4Car DriveThru Line 1

Results: Entity Activity

NameTotal Exits

Current Qty In System

Avg Time In System

(MIN)

Avg Time In Move Logic

(MIN)

Avg Time Waiting

(MIN)

Avg Time In Operation

(MIN)Avg Time

Blocked (MIN)Customer 59.97 2.43 5.25 0.00 0.83 3.90 0.52Car 22.87 1.13 5.21 0.00 1.15 2.66 1.40

Page 15: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Results: Entity StatesName % In Move Logic % Waiting % In Operation % BlockedCustomer 0 13.87 76.58 9.55Car 0 19.34 55.43 25.23

Results: Variables

Name Total ChangesAvg Time Per Change (MIN)

Minimum Value

Maximum Value

Current Value Avg Value

Customers In Bank 120 1.00 0.00 7.27 2.43 2.64

Summary of average results:  Lobby ATM Cars

Total number of customers served = 59.97 -  22.87

Total number of customers in the bank (Lobby +ATM) 2.64 - -

Average wait time for exited customers (minutes) = 0.83 + 0.52 = 1.35 -  1.15 + 1.40 = 2.55

Average length of waiting line 0.47 0.03 0.44

Average wait time for all customers including ones still in the bank (minutes) =

.01 + 1.09 = 1.10 .01 + .22 = .23 2.07

% of time waiting line is empty = 76.46% 97.80% 71.30%

% of time waiting line is full = 0.48% 0.09% 3.39%

% of time desks are empty = 44.96%    

% of time desks are full = 4.71%    

Utilization of tellers (Overall) 73.88%

Teller 1 73.76%

Teller 2 74.00%

Service level:Total customer arrivals = Total entries at the door + Failed arrivals = i.e. = 60.03 + 0.40 = 60.43Service level = Total entries at the door /Total customer arrivals = (60.03/60.43) x 100 = 99.3%

Total car arrivals = Total entries at the drive-through line + failed car arrivals = 23.37 + 1.00 = 24.37Service level for car arrivals = (23.37/24.37) x 100 = 95.90%

Page 16: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Lobby operation comparison

Summary of average results:  Bank 1 Bank 2 Bank 3

Total number of customers served = 49.23 61.20 59.97 + 22.87 cars

Average wait time for exited customers (minutes) = 11.41 0.71 1.35

Average length of waiting line 4.72 0.38 0.47

Average wait time for all customers including ones still in the bank (minutes) =

10.43 0.72 1.10

% of time waiting line is empty = 4.66% 77.33% 76.46%

% of time waiting line is full = 17.24% 0% 0.48%

% of time desks are empty = - 42.68% 44.96%

% of time desks are full = - 5.64% 4.71%

Utilization of tellers (Overall) 98.3% 61.02% 73.88%

Teller 1 - 68.00% 73.76%

Teller 2 - 54.04% 74.00%

Service level (% customer able to enter) 84.96% 99% 99.3% (walk-in) & 95.90% (cars)

Page 17: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Example 4: Consider the same bank as in example 3. Suppose that 20% of the arriving customers are business customers, and the remaining 80% are regular customers. Also, assume that the service time for business customers will be according to exponential distribution with a mean of 20 minutes and no change in service time for the regular customers.

Changes needed: 1. Define an entity “Attribute” for Customer Type2. Define a “User-defined distribution” for the probability of customer type3. Stamp each customer arrival with the Customer type attribute4. Code the service time at teller window using Customer Type attribute

1. Define an entity “Attribute” for Customer Type

2. Define a “User-defined distribution” for the probability of customer type

3. Stamp each customer arrival with the Customer type attribute in the Arrival Table

Value = 1 represents business customerValue = 2 represents regular customer

Page 18: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

4. Code the service time in the Process Table at the Teller window location using Customer Type attribute

Page 19: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Routing Rule Dialog BoxThe Routing Rule dialog box provides methods for selecting an entity's destination after finishing a process. The Rule heading button in the Routing edit table, brings up the Routing Rule dialog box. The fields of this dialog box are defined in the following example.

Start new block Check this box to signal the beginning of a new routing block. Checking this box will place a number in the Blk field for that record.

Code for service time for the two customer types

Page 20: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

First Available Routing is to the first available location in the order they are listed.By turn Routing rotates through the locations in the list.Until full Routing is to a single location until it is full; then it is switched to the

next location, and so on.Probability Routing is according to the given probabilities.User condition Routing is based on the condition provided.Most available Routing is to the location with most available capacity.Random Routing is at random.Longest Unoccupied Routing is to the location that was unoccupied the longest.If Send Routed based on a SEND request from a location to the destination

location.If Join Request Selects a location whenever a JOIN request is issued at that location.

Entities routed with the JOIN routing rule are not actually sent to their destination until a JOIN statement is encountered at the destination location.

Page 21: Discrete Event Simulation using Promodel - The …web2.utc.edu/.../5830/Notes/ProModel/PromodelSimulation.docx · Web viewDiscrete Event Simulation using Promodel Discrete event simulation

Advanced commands

Three commands for using and releasing resources:

Get/FreeSyntax samplesGET {<quantity>} <resource> {,<priority>} {AND or OR {quantity} <resource> {,<priority>}...}GET Res1GET 3 Res1, 5GET 2 Res1OR 3 Res2GET Res1, 3 AND (Res2 OR Res3)Description: Captures a specified number of resources as they become available. A resource captured with the GET statement is released with a FREE statement. Every GET must have a corresponding FREE or an error occurs when the entity exits the system.

UseSyntax samplesUSE {<quantity>} <resource> {,<priority>} FOR <time> {AND or OR {<quantity>}<resource> {,<priority>} FOR <time>... }

USE 2 Res2, 5 FOR 4:23:03USE 2 Res1 FOR 2.0 min OR 3 Res2 FOR 1.5 minUSE Res1, 3 FOR 1 hr AND (Res2 FOR 5 OR Res3 FOR 5)Description: Captures a resource or combination of resources as each resource becomes available. Once the resource has been captured it is used for the specified amount of time, and then freed when the specified duration is over.

Jointly Get/Free ALLSyntax samplesJOINTLY GET {<quantity>} <resource> {,<priority>} {AND or OR {<quantity>} <resource> {,<priority>}}

JOINTLY GET 3 Res1,5JOINTLY GET 2 Res1 OR 3 Res2JOINTLY GET Res1,3 AND (Res2 OR Res3)Description: Captures a specified number of resources when that number of resources is available. When capturing multiple resources, none of the resources will be captured until all are available. The command “Free ALL” can be used to free all the resources.