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
•    Capacity planning
•    Cycle time reduction
•    Staff and resource planning
•    Bottleneck analysis
•    Inventory reduction
•    Throughput analysis

•    Cost reduction
•    Productivity improvement
•    Production scheduling
•    Line balancing
•    Batch size optimization
•    Layout 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 interdependence s
•    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 procedure
Step 1:    Define objective, scope, and requirements
Step 2:    Collect and analyze system data
Step 3:    Build and validate model
Step 4:    Conduct experiments
Step 5:    Analyze results and develop recommendations

Simulation system elements:

Entities, 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 variability

Type of variability Examples
Activity times Service time, repair time
Event arrivals Time between customer arrivals, time between failure
Quantities Order quantity, batch size, number of workers absent
Decisions Customer routing, accept/reject part, join queue

Random behavior:

Discrete 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 variables:

Decision variables Controllable variables, such as number of machines, number of windows
Independent variable Service time, processing time
Response 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 system
Utilization Percentage of time resources are in productive use
Waiting time Time spent waiting
Queue/inventory levels Number of customers waiting or parts in storage
Throughput Number of customers served, no. of parts produced


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 Process

Entity, 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


Output, 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