Introduction To ProModel
Introduction To ProModel
Week 01
Simulation Modeling & Analysis
Overview of ProModel
ProModel is a window-based simulation
tool for simulating and analyzing
production systems.
ProModel is used primarily for modeling
discrete part manufacturing systems.
ProModel Menu
File Menu
View Menu
The View Menu contains selections for
setting up the model viewing environtment.
Build Menu
The Build Menu consists of all of the
modules for creating and editing a model.
The basic modules:
Locations
Entities
Processing
Arrivals
Optional modules:
Path Networks
Resources
Shifts
Cost
Attributes
Variables
Arrays
Macros
Subroutines
Arrival Cycles
Table Functions
User Distributions
External Files
Streams
9
10
11
Simulation Menu
The simulation Menu controls the execution
of a simulation and contains options for
running a model, defining model
parameters, and defining and running
scenarios.
12
13
Output Menu
The Output Menu starts the ProModel
Output Processor for viewing model
statistics.
It also allows the user to view the trace,
which was generated during simulation
model runtime.
14
15
Tool Menu
The Tools Menu contains various utilities as
follows:
Graphic Editor
StatFit
Expression Search
Options
Customize
QuickBar
16
17
Window Menu
The Window Menu allows you to arrange
the windows (or iconized windows) that are
currently displayed on the screen so that all
windows are visible at once.
It also lets you bring any individual window
to the front of the display.
18
19
Help Menu
The Help Menu accesses the ProModel
Online Help System and provides access to
the ProModel Tutorial.
The PROMODEL Corporation website can
also be accessed from this menu.
20
21
Locations
Entities
Arrivals
Processing
22
Locations
Locations define fixed places in the system
where entities are routed for processing,
storage, or some other activities or decision
making.
Locations include machines, waiting areas,
work stations, queues, and conveyor
23
Rules
Capacity of the location Downtimes
Number of units of the location
Multi-capacity
location
Multi-Unit location
24
Location downtimes
Defining scheduled or unscheduled
interruptions
Choice: clock, entry, usage, setup
Rule for
selecting incoming entities
queuing for output
selecting a unit
26
Entities
An entity defines anything that a model processes.
Entity examples are parts, products, people or
paperwork should be modeled as entities.
Entities may be
grouped
consolidated into a single entity
split into two or more entities
converted to one or more new entities
27
Grouping entities
Joining entities
Converting to other
entities
29
30
Processing
Processing defines the routing of entities
through the system and the operations that
take place at each location they enter.
Processing specifies everything that
happens to entities from they enter until
they exit the system.
31
An example model
EntA@Loc1A
EntA
1.0 min
EntA
EntA@Loc2
Join 1
N(3.4,2)
EntC@Loc3
1
EntC
Accum 12
3.0 min
EXIT
EntB@Loc1B
EntB
Arrival
Logic
1.0 min
EntB
Processing Logic
32
33
Operation logic
Move logic
34
Routing rule
35
Arrivals
Arrivals are any entities introduced into the system
Number of entities per arrival
Location of the arrival
Time of the first arrival
36
Path Networks
Resources
Shifts and Breaks
Cost
Attributes
Variables
Arrays
Macros
Subroutines
Arrival Cycles
Table Functions
User Distributions
External Files
Streams
37
Path Network
Path Networks model dynamic resources
which travel between locations
Types of path networks are passing, nonpassing, and crane
38
39
Resources
A resource defines a person, piece of
equipment, or some other device used for
one or more of the following functions:
transporting entities
assisting in performing operations on entities at
locations
performing maintenance on locations
performing maintenance on other resources
40
Number of units
Resource specifications.
Downtimes
41
Resource downtimes
Defining scheduled or unscheduled
interruptions
Choice: clock, usage
42
Resource specifications
defining the operation characteristics of each
resource in the system
43
44
Cost
The Cost Dialog box allows you to define
costs for Locations, Entities, and Resources.
Expressions included in this field evaluate
during translation at run-time and required
field information varies between object
types.
Statistical information reflecting cost
automatically generates during run-time and
is part of the General Statistics Report.
45
46
Attributes
Attributes are place holders similar to
variables, but are attached to specific
locations and entities and usually contain
information about that location or entity.
Attributes may contain integers or real
numbers.
47
Entity attribute or
Location attribute
A general notes field
for describing the
attributes
48
Variables
Variables are two types: global and local.
Variables can contain either real or integer numbers.
Global variables are place holders defined by the user to
represent changing numeric values.
Local variables are place holders which are only available
within the logic that declared them.
A global variables can be referenced anywhere numeric
expressions are allowed in a model.
Global variables are defined in the Variable Editor.
Local variables are defined with the INT and REAL
statements.
49
A general notes
field
Arrays
An array is a matrix of cells that contain
real or integer values.
Each cell in an array works much like a
variable.
A reference to a cell in an array can be used
anywhere a variable can be used.
51
The name of
the array
Import spreadsheet
data to arrays
The numeric
type (real or integer)
for all cells in the
array
A general notes
field
Export arrays
to spreadsheets
52
Macros
A macro is a place holder for an often used
expression, set of statements and functions,
or any text that might be used in an
expression or logic field.
53
A text to be substituted
where the macro name
is called that may be a complete
expression, an entire logic block, or
even only part of a logic block
A name to
identity the macro
Option to define
the macro as
a run-time interface
parameter
54
Subroutines
A subroutine is a user-defined command
that can be called to perform a block of
logic and optionally return a value.
Subroutines may have parameters (local
variables) which act as variables local to the
subroutine and that take on the values of
arguments (i.e., numeric expressions)
passed to the subroutine.
55
A name that
identifies the
subroutine
56
Arrival cycles
An arrival cycle defines a pattern of individual
arrivals which occurs over a certain time period.
Before
10:30 AM
11:30 AM
1:00 PM
4:00 PM
5:00 PM
Percent
10
15
20
15
30
57
58
Table Functions
A table function provides an easy and
convenient way to retrieve a value based on
an argument (i.e., some other value) that is
passed to the table.
A table function specifies a relationship
between an independent value and a
dependent value.
59
30
20
10
Tolerance ( .001)
10
60
61
62
Probability
0.5
0.0
2.0
4.0
6.0
8.0
10.0
63
64
External Files
External Files may be used during the
simulation to read data into the simulation
or write data as output from the simulation.
Files can also be used to specify such things
as operation times, arrival schedules, shift
schedules, and external subroutines.
65
66
Stream
A stream is a sequence of independently cycling
random numbers.
Streams are used in conjunction with distributions.
A stream generates random numbers between 0
and 1.
By default, all streams use seed value #1 and are
not reset between replications if multiple
replications are run.
To assign a different starting seed values to a
stream or to cause the seed value to be reset to the
initial seed value between replications, use the
Stream Editor.
67
68
69
General Information
The General Information dialog box allow the user
to specify basic information about a model, such
as its name, default time units, default distance
units, and graphic library.
The user also may specify the models
initialization and termination logic.
A notes window is available for specifying
particulars of a model such as the modelers name,
the revision date, modeling assumptions, etc.
70
71
Background Graphics
Background Graphics allow you to enhance
a model by adding a background to the
animation.
Backgrounds can be created using the tools
in the Background Graphics Editor or by
importing an existing background from
another application such as AutoCAD.
72
73
Math Functions
Math Functions
Function
Value returned
Type
EXP(X)
exponential of X
real
LN(X)
natural logarithm of X
real
RAND(X)
real
ROUND(X)
rounded value of X
integer
SQRT(X)
square root of X
real
TRUNC(X)
integer
75
Distribution Functions
Distribution
Notation
Parameters
Uniform
U(a,b)
Triangular
T(a,b,c)
Normal
N(a,b)
Exponential
E(a)
a=mean
Gamma
G(a,b)
Weibull
W(a,b)
Erlang
ER(a,b)
Beta
B(a,b,c,d)
76
Distribution
Lognormal
Notation
L(a,b)
Parameters
a=mean of the normal, b=standard
deviation of the normal
Inverse
Gaussian
IG(a,b)
Pearson5
P5(a,b)
Pearson6
P6(a,b,c)
Binomial
BI(a,b)
Geometric
Geo(a)
a=probability of "success"
Poisson
P(a)
a=mean
User-defined
Name(<s>)
ID of a user-defined discrete or
continuous distribution as created in
the User Distribution Editor
77
Operation Statements
ACCUM
COMBINE
CREATE
ENTITY()
78
Accum
Combine
Create
Graphic
Group
Join
Load
Match
Move
Rename as
Route
Split As
Ungroup
Unload
Wait
Wait Until
79
Free
Get
Graphic Statement
Jointly get
Use
80
System Functions
82