ProModel User Guide-1
ProModel User Guide-1
1/06
ProModel iii
User Guide
Table of Contents
Introduction ...................................................................... 1
Introduction
This chapter will introduce you to the user guide, and provide information regarding assumptions this
guide makes. You may also find information on support and consulting services in this chapter.
Chapter 1 Chapter 5
Getting Started Building the Model: general ele-
Welcomes you to ProModel and provides infor- ments
mation on getting started with the model building Brings you face to face with basic modeling com-
process. ponents. Discussion revolves around the nuances
of creating and working with locations, entities,
Chapter 2 path networks, resources, processing records,
Installation and Registration arrivals, shifts, costs, background graphics, and
more.
Provides step-by-step instructions on how to
install ProModel.
Chapter 6
Building the Model: advanced
Chapter 3 elements
Planning the Model
Advanced elements ensure that the models you
Introduces you to the theory behind simulation create reflect the exact behavior of your system.
modeling and gives an overview of model build- Contributing elements include attributes, vari-
ing procedure. This chapter outlines six steps to ables, arrays, spreadsheets, macros, run-time
help you plan and create a successful, valid interfaces, subroutines, arrival cycles, table func-
2
About the User Guide
Chapter 8 Chapter 12
Using Auxiliary Tools Routing Rules
Auxiliary tools allow you to work with many Provides syntax and examples for the rules you
aspects of your model. You may create and mod- will use to route between locations in the model.
ify graphics, search for expressions, or examine
which statistical distributions best suit your mod- Chapter 13
eling needs.
Logic Elements
Chapter 9 Introduces the different types of functions and
statements available to use in building logic for
Running the Model your model and identifies where you may use
Running the model is the most exciting part of them.
the modeling process. This chapter discusses the
various conditions under which you may run a Chapter 14
model and how to ensure that the model contains
Statements and Functions
no logical errors.
Provides syntax and examples for the statements
Chapter 10 and functions you will use to apply intelligence
and decision-making capabilities to your model.
Reports and Graphs
With the simulation complete, you are ready to Appendix A
examine the results from the model. Options
available include reports, graphs, spreadsheets, Presents a categorized list of all expressions,
and customized output templates. statements, and functions with a table identifying
which fields evaluate at translation and which
evaluate continuously.
Appendix B
Gives instructions for the Classic Output Viewer
ProModel 3
User Guide
Bibliography Keyboard
Referenced materials and suggested readings. The names of keys are displayed in capital letters.
For example, ESC refers to the Escape key and
CTRL refers to the Control key.
Keys are frequently specified in combinations or
in a sequence of keystrokes. For example,
CTRL + L means to hold down the CTRL key
while pressing L. When key commands are set
off by commas (e.g., ALT + N, R), press and
release each of these keys (or key combinations)
in the order listed. The term “arrow keys” refers
collectively to the ×, Ø, Õ, and Ö cursor keys.
Text
Specific text you are asked to type is shown in
bold type. For example, if you are directed to
type cd pmod, you would type the lowercase
letters “cd” followed by a space and the letters
“pmod.”
Place holders for things such as file names and
directories are shown in italics. For example, if
you are directed to type filename.mod, enter the
name of the file you wish to use (e.g.,
model_1.mod).
Logic
All ProModel reserved keywords are in upper-
case.
Syntax example:
the model building scenario, which is cov- office at (801) 223-4600 and ask for the Pro-
ered in chapter 3: Planning the Model. If you Model Product Team.
are already familiar with modeling theory, or
just want to jump into model building, skip
to the next step.
4. ProModel incorporates an easy-to-use as
well as intuitive user interface. Chapter 4:
Modeling Environment will introduce you to
the menus and options you will use to build
your model.
5. Build your model. Chapters 5 and 6: Build-
ing the Model propel you into model build-
ing by describing the Build menu, which
gives you access to most of the tools needed
to build your model.
6. Refer to Chapter 7: Building the Logic dur-
ing the model building process to learn the
logical elements that will control your model
during simulation.
7. Run your model. See you model come to life
as its animation runs. Chapter 9: Running the
Model outlines the process of running a
model.
8. View, analyze, and display the data your
model collected during simulation. With this
information in hand you are ready to make
real-world decisions to achieve your model-
ing goals. Chapter 10: Reports and Graphs
describes the Output Viewer, which presents
you with your simulation’s data.
Training
Although the tutorial and documentation are both
self contained, first-time users are strongly
encouraged to seek formal training at some point
before embarking on a complex modeling
project. PROMODEL Corporation holds training
courses on a regular basis for beginning and
advanced users of PROMODEL simulation prod-
ucts. For details on course dates and times, or to
register for the course nearest you, call our main
ProModel 9
User Guide
F2) to open a dialog box for further definition of every statement and function, allowing you to
the particular element. define logic by simply filling in the blanks.
Dialog Boxes
Dialog boxes are used throughout ProModel for
selecting options. The Decision Rules dialog
shown below contains additional information
regarding a location.
or suffix to differentiate them from the same ele- more information on running models, see “Run-
ments of another sub-model. ning the Model” on page 347.
model. The example below shows a brief portion simulation, see “Reports and Graphs” on
of a trace window. page 373.
Simulation results may be presented in either tab-
ular or graphic format, including histograms, pie
charts, plots and bar graphs. Multiple output
results can even be compared on the same chart.
The example below shows a portion of a general
report for a model.
Viewing Output
The output generator gathers statistics on each
location, entity, resource, path network, and vari-
able in the system. You may, however, turn off
reporting capability for any element you do not
wish to include. The default level of statistics is
at the summary level (i.e., average values, % val-
ues, and final values), although detailed history
plots can be gathered on such things as utiliza-
tion, queue fluctuations, and variable values. For
more information about viewing the results of a
ProModel 13
User Guide
Utilization Graphs
Quickly generate utilization graphs of various
types such as the State Chart shown below.
Timeplots
In addition to Category and State Charts, Time-
plot Charts, which show variable values as they
change over time, can be created.
14 Chapter 1:
Using ProModel
ProModel 15
User Guide
Recommended
How to install ProModel:
Pentium 4 or better
1 GB RAM
1. Start Windows.
1 GB Free Disk Space
SVGA Monitor (1280 x 1024 x 32 bit color) 2. Insert the CD-ROM.
CD ROM
Sound card
Internet access
Mouse
Windows 2000 or Windows XP
16 Chapter 2:
Installation Procedure for a Stand-alone PC
3. The ProModel Setup program will open and choose a new directory. When you have
automatically, and display the following win- chosen the destination directory, click Next.
dow.
9. The next dialog allows you to have the
Setup program create backups of any files
that might be replaced during the installa-
tion. This is helpful if you are installing this ver-
sion of the ProModel software on a computer
that already has ProModel installed on it. If
hard drive space permits, it is recommended
that you allow the Setup program to backup
previous files. When you are ready to con-
tinue with the installation, click Next.
10. The Setup program will add a new Win-
dows Program group containing ProModel
program icons to the Program Manager.
When you have selected where you want the
Program icons to appear, click Next.
Please note 11. The Setup program is now ready to install
ProModel on your computer. If you wish to
If the Setup Program did not open automatically, make changes to the options you have previ-
select Run... from the Windows Start menu. Type ously selected, click the Back button to return
to any point in the installation you wish. Other-
x:\install.exe (where x is the CD-ROM drive let-
wise, click Next to allow the Setup program to
ter) and press ENTER. The proper dialog will the install ProModel.
appear
1. Start Windows.
2. Insert the CD-ROM.
3. The ProModel Setup program will open
automatically, and display the following win-
dow.
8. Select the type of hardware key you are When you have selected where you want the
using on the network server, and click Next. Program icons to appear, click Next.
13. The Setup program is now ready to install
ProModel on your computer. If you wish to
make changes to the options you have previ-
ously selected, click the Back button to return
to any point in the installation you wish. Other-
wise, click Next to allow the Setup program to
install ProModel.
Install Program Files on File Server: 6. From the dialog that appears, select Net-
work Package. The dialog will then appear as
below:
1. Start Windows.
2. Insert the CD-ROM.
3. The ProModel Setup program will open
automatically, and display the following win-
dow.
Please note
ing network protocols: IPX, TCP/IP, and Net- ter) and press ENTER. The proper dialog will the
BEUI. If the security server is not functioning, appear
ProModel will start as a limited run-time version.
Please note
4. Click Next to proceed with the installation
If you are running a network version of Pro- 5. Review the License Agreement. If you wish
Model on a routed network and your license key to accept the agreement and continue with
the installation, click Next.
server and workstations are located on different
sub-nets, see “Find a License Key Server on a 6. From the dialog that appears, select Net-
Routed Network” on page 23. work Package. The dialog will then appear as
below:
1. Start Windows.
2. Insert the CD-ROM.
3. The ProModel Setup program will open
automatically, and display the following win-
dow.
Please note
9. The Install Wizard for the NetHASP License Start the License Manager Soft-
Manager will appear. Click Yes, and follow
ware:
the on-screen directions to install the man-
ager. If you click No, you will have to set up
the license server manually, which is 1. From the directory to which you installed
described in the next section. the license server, run NHSRVW32.EXE. A win-
dow will appear and show the network proto-
cols to which the license manager will listen
for license requests.
The Setup program may require you to reboot
your computer during the setup. If you do so, the
Setup program will automatically launch after the
reboot, and the installation will continue.
You need to install the device driver only once. You need to install the device driver only once.
However, you must launch the license manager However, you must launch the license manager
program each time you reboot the key server program each time you reboot the key server. To
machine. To automatically start the license man- automatically start the license manager each
ager each time you reboot the system, create and time you reboot the system, create and place an
place an icon for NHSRVW32.EXE in the work- icon for NHSRVW32.EXE in the workstation’s
station’s startup folder. startup folder.
When you have completed installing either you
local machine or server setup, and finished
installing the License Server, you are ready to run
ProModel. Find a License Key Server on a
Routed Network
Set Up License Server Manually In order for a workstation to run the network ver-
After successfully running the setup for the sion of ProModel properly, the workstation must
license server, if you chose to manually install check out a license from a license server. To
the device driver for the security key and launch make a license request, the workstation sends a
the license manager software, follow the steps broadcast message out on the network and awaits
below. a response from the license server. If the license
server and the workstation running ProModel are
on the same sub net of a routed network (or on
Install the Device Driver:
the same network of a non-routed network), the
license server receives the request and responds.
1. Open a DOS box and run HINSTALL -i from
Due to the nature of routed networks, if the
the directory to which you installed the
license server and workstation running ProModel
license server.
are not on the same sub net of a routed network,
2. After you receive a confirmation that the the key server will not receive the license request
driver installed successfully, reboot the work- broadcast.
station
To resolve this problem, the workstation must
send a license request directly to the computer on
24 Chapter 2:
Registering ProModel
When you have entered your information and See “How to Register without a Serial Num-
clicked next, you will be prompted to enter your ber” on page 25.
Serial Number. 3. When the serial number has been success-
fully sent to the ProModel Corporation server,
you will be given a ProModel username and
password. Record this information, since you
will use it to obtain updates to ProModel in
the future.
4. Check the “I have recorded this informa-
tion for future use” box, and then click Exit to
finish the registration.
An email message will be composed using another. Since you may only have one installa-
your computer’s default email application, tion of ProModel for every software key, or
and you can then choose to send it. license, you have purchase, PROMODEL pro-
While waiting for a response from ProModel vides you with a utility program, LicenseMan-
Support, you may leave the Registration dia- ager, to move your license, while keeping your
log open, or close it until you receive your software key valid.
response.
The LicenseManager is a stand alone program,
The reply you receive from ProModel Support which can be accessed through the Windows
will contain a License Key code. If you have
Start menu.
closed ProModel, relaunch it, and return to
the Phone or Email Registration window. In
the “Step 2: Enter License Key” area, enter Moving a License
the License Key code that is in the email reply A license may be moved from one computer to
from ProModel Support. another by moving its software key. When a soft-
You may then click “Register” to complete ware key is moved using the LicenseManager,
the registration process. the original computer will no longer run the full
3. If you would like to register over the phone, version of ProModel.
call ProModel Support at (888) PROMODEL. A In preparation of moving a license to another
ProModel Support representative will guide computer, be sure to install ProModel on the
you through the rest of registration process.
computer to which you want to move the license.
3. If you have multiple licenses, click on the When you terminate a license, the LicenseMan-
name of the license you want to move. Click ager will give you a termination code, which is
Move. The following dialog will appear. your proof to PROMODEL that you have perma-
nently removed the software key from you com-
puter. Only then can PROMODEL issue you a
new software key for any current license you may
have.
Terminating a License
Terminating a license permanently removes the
valid software key from a machine running Pro-
4. Click Yes.
Model. Terminating a license may be necessary
to receive a new software key from PRO-
MODEL.
28 Chapter 2:
Registering ProModel
5. WARNING: Completing the next step will •Upon completion of the main ProModel 6.0
permanently remove your software key from professional install, you will have the option
your computer. to check for updates by selecting the "Check
6. You will once again be prompted to con- for updates to ProModel" option on the final
tinue with the termination. Click OK. Your soft- installation screen.
ware key will be terminated, and the •Or, you may launch the Update client by
following dialog will appear. selecting "Check for ProModel Update"
from the Start Menu’s PROMODEL Icon
group.
It is recommend that you check regularly for
updates to ProModel.
Defining Objectives
With a basic understanding of the system opera-
tion and an awareness of the issues of concern or
interest, one or more objectives can be defined
for the study. Simulation should only be used if
an objective can be clearly stated and it is deter-
mined that simulation is the most suitable tool for
achieving the objective. Defining an objective
does not necessarily mean that there needs to be a
problem to solve. A perfectly valid objective may
be to see if there are, in fact, any unforeseen
problems. Common types of objectives for a sim-
ulation study include the following:
ProModel 33
User Guide
•Performance Analysis How well does the models need only provide a quantitative answer.
system perform under a given set of circum- Others require realistic animation to convince a
stances in all measures of significance (utili- skeptical customer. Some models are intended
zation, throughput, waiting times, etc.)? for use by only the analyst. Other models are
•Capacity Analysis What is the maximum intended for use by managers with little simula-
processing or production capacity of the sys- tion background and must be easy to use. Some
tem? models are used to make decisions of minor con-
•Capability Analysis Is the system capable sequence. Other models are relied upon to make
of meeting specific performance require- major financial decisions.
ments (throughput, waiting times, etc.), and, Realizing the objectives of a simulation should
if not, what changes (added resources or consider both the purpose as well as the intended
improved methods) are recommended for use of the model, the following questions should
making it capable? be asked when defining the objectives of the
•Comparison Study How well does one study:
system configuration or design variation per-
form compared to another? •Why is the simulation being performed?
•Sensitivity Analysis Which decision vari- •Who will be using the model?
ables are the most influential on one or more •To whom will the results of the simulation
performance measures, and how influential be presented?
are they? •What information is expected from the
•Optimization Study What combination of model?
feasible values for a given set of decision •Is this a “throw-away” model?
variables best achieves desired performance •How important is the decision being made?
objectives?
•Decision/Response Analysis What are the Identifying Constraints
relationships between the values of one or
more decision variables and the system Equally as important as defining objectives is
response to those changes? identifying the constraints under which the study
must be conducted. It does little good if simula-
•Constraint Analysis Where are the con-
straints or bottlenecks in the system and tion solves a problem if the time to do the simula-
what are workable solutions for either reduc- tion extends beyond the deadline for applying the
solution, or if the cost to find the solution exceeds
ing or eliminating those constraints?
the benefit derived. Objectives need to be tem-
•Communication Effectiveness What vari-
pered by the constraints under which the project
ables and graphic representations can be
must be performed such as the budget, deadlines,
used to most effectively depict the dynamic
resource availability, etc. It is not uncommon to
behavior or operation of the system?
begin a simulation project with aspirations of
Defining the objective should take into account developing an impressively detailed model or of
what the ultimate intended use of the model will creating a stunningly realistic animation only to
be. Some models are built as “throw-away” mod- scramble at the last minute, throwing together a
els to be used only once and then discarded. crude model that barely meets the deadline.
Other models are built to be used on an ongoing
basis for continued “what-if” analyses. Some Constraints should not always be viewed as an
impediment. If no deadlines or other constraints
34 Chapter 3:
Steps for Doing Simulation
are established, there is a danger of getting too Scope The scope refers to the breadth of the
involved and detailed in the simulation study and model or how much of the system the model will
run the risk of “paralysis from analysis.” The encompass. Determining the scope of the model
scope of any project has a tendency to shrink or should be based on how much bearing or impact
expand to fill the time allotted. a particular activity has on achieving the objec-
tives of the simulation. A common tendency is to
In identifying constraints, anything that could
model the entire system, even when the problem
have a limiting effect on achieving the desired
area and all relevant variables are actually iso-
objectives should be considered. Specific ques-
lated within a smaller subsystem. If, for example,
tions to ask when identifying constraints for a
the objective is to find the number of operators
simulation study include the following:
required to meet a required production level for a
•What is the budget for doing the study? machining cell, it is probably not necessary to
•What is the deadline for making the deci- model what happens to parts after leaving the
sion? cell.
•What are the skills of those doing the study? The following figure illustrates how the scope of
•How accessible is the input data? the model should be confined to only those activ-
•What computer(s) will be used for the study? ities whose interactions have a direct bearing on
the problem being studied. Upstream and down-
Preparing a Simulation stream activities that do not impact the perfor-
Specification mance measure of interest should be omitted
from the model. In the following figure, since the
With clearly defined objectives and constraints, output rate from activity A is predictable, it can
the simulation requirements can be specified. be modeled as simply an arrival rate to activity B.
Defining a specification for the simulation is Since activity E never constrains output from
essential to projecting the time and cost needed to activity D, it can also be ignored.
complete the study. It also guides the study and
helps set expectations by clarifying to others
exactly what the simulation will include or
exclude. A specification is especially important if
the simulation is being performed by an outside
consultant so that you will know exactly what
you are getting for your money. Aspects of the Confining the Scope to Impacting Activities
simulation project to be contained in the specifi-
cation include the following:
Level of Detail Project the level of detail defines
•Scope the depth or resolution of the model. At one
•Level of detail extreme, an entire factory can be modeled as a
•Degree of accuracy single “black box” operation with a random
•Type of experimentation activity time. At the other extreme, every detailed
•Form of results motion of a machine could be modeled with a
one-to-one correspondence depicting the entire
Each of these specification criteria will be dis-
machine operation.
cussed in the following pages.
ProModel 35
User Guide
Unlike the model scope which affects only the sometimes has to be sacrificed if reliable infor-
size of the model, the level of detail affects model mation is simply unavailable such as when mod-
complexity as well as model size. Determining eling a completely new system.
the appropriate level of detail is an important
The required degree of accuracy can have a sig-
decision. Too much detail makes it difficult and
nificant impact on the time and effort required to
time consuming to develop a valid model. Too
gather data. It often has little impact, however, on
little detail may make the model too unrealistic
the model building time since a model can be
by excluding critical variables. The following
built with estimated values that can later be
figure illustrates how the time to develop a model
replaced with more accurate values. Output pre-
is affected by the level of detail. It also highlights
cision is often governed by the degree of accu-
the importance of including only enough detail to
racy of the model.
meet the objectives of the study.
Type of Experimentation The number and
One to One
Correspondence nature of the alternative solutions to be evaluated
should be planned from the outset in order to
Minimum
Required
ensure that adequate time is allotted. This deci-
sion is often influenced by the deadline con-
Level of straints of the study. Where alternatives with only
Detail
slight differences are to be evaluated, a base
model can be developed requiring only minor
modifications to model each alternative. If alter-
Model Development Time
native configurations are significantly different,
Effect of Level of Detail on Model Develop- it may require nearly as much effort modeling
ment Time each configuration as it does developing the ini-
tial model.
For studies in which improvements to an existing
The level of detail is determined largely by the system are being considered, it is often helpful
degree of precision required in the output. If only and effective to model the current system as well
a rough estimate is being sought, it may be suffi- as the proposed system. The basic premise is that
cient to model each activity by its time, rather you are not ready to make improvements to a sys-
than specific details making up the activity. If, on tem until you understand how the current system
the other hand, details such as downtimes or operates. Information on the current system is
move times have an appreciable effect on the out- easier to obtain than information on areas of
come of the model, they should be included. change. Once a model of the current system is
built, it is often easier to visualize what changes
Degree of Accuracy The degree of accuracy need to be made for the modified system. Both
pertains to the correctness of the data being used. systems may even be modeled together in the
For some models or activities, the information same simulation and made to run side by side.
need not be as accurate or exact as it does for oth- During the final presentation of the results, being
ers. The required degree of accuracy is deter- able to show both “as is” and “to be” versions of
mined by the objectives of the study. If the the system effectively demonstrates the impact
decision is important or a comparison is close, changes can have on system performance.
greater accuracy may be required. Accuracy
36 Chapter 3:
Steps for Doing Simulation
Form of Results The form in which the results the cost of doing the project outweighs the antici-
are to be presented can significantly affect the pated benefits, either an alternative solution may
time and effort involved in the simulation study. need to be explored or the objectives may need to
If detailed animation or an extensive report is be modified to cut down on the level of effort
expected, the project can easily stretch on for required.
several weeks after the experimental phase has
been completed. Many times the only result
required is a simple verification of whether a sys- Step 2: Defining the System
tem is capable of meeting a production require- With clearly defined objectives and a well orga-
ment. In such cases, a simple answer will suffice. nized plan for the study, the system that will be
simulated can begin to be defined in detail. This
Developing a Budget and can be viewed as the development of a concep-
Schedule tual model on which the simulation model will be
based. The process of gathering and validating
With objectives and constraints clearly defined system information can be overwhelming when
and a specification prepared identifying the work faced with the stacks of uncorrelated data to sort
to be performed, a budget and schedule should be through. Data is seldom available in a form that
developed projecting the expected cost and time defines exactly how the system works. Many data
for completing the simulation project. Obviously, gathering efforts end up with lots of data but very
the time to perform a simulation project will vary little useful information.
depending on the size and difficulty of the
project. If data is not readily available, it may be Data gathering should never be performed with-
necessary to add several additional weeks to the out a purpose. Rather than being haphazard, data
project. A small project can take two to four gathering should be goal oriented with a focus on
weeks while large projects can take two to four information that will achieve the objectives of the
months. A simulation schedule should be based study. There are several guidelines to keep in
on realistic projections of the time requirements mind when gathering data.
keeping in mind the following: •Identify cause-and-effect relationships
•Defining the system to be modeled can take It is important to correctly identify the
up to 50% of the project time. causes or conditions under which activities
•Model building usually takes the least are performed. In gathering downtime data,
amount of time (10 to 20%). for example, it is helpful to distinguish
•Once a base model is built, it can take sev- between downtimes due to equipment failure
eral weeks to conduct all of the desired or personal emergencies and planned down-
experiments, especially if alternative designs times for break. Once the causes have been
are being compared. established and analyzed, activities can be
properly categorized.
While it may have initially been determined that
simulation is a suitable tool for achieving the •Look for key impact factors Discrimina-
objective, the decision to use simulation may tion should be used when gathering data to
need to be reconsidered in light of projected cost avoid wasting time examining factors that
and time estimates. Simulation may be a good have little or no impact on system perfor-
solution to the problem at hand, but if the time or mance. If, for example, an operator is dedi-
ProModel 37
User Guide
cated to a particular task and, therefore, is about the nature of the activity being per-
never a cause of delays in service, there is no formed, but only the impact that the activity
need to include the operator in the model. has on the use of resources and the delay of
Likewise, extremely rare downtimes, negli- entity flow. For example, the actual opera-
gible move times and other insignificant or tion performed on a machine is not impor-
irrelevant activities that have no appreciable tant, but only how long the operation takes
effect on routine system performance may be and what resources, if any, are tied up during
safely ignored. the operation. It is important for the modeler
to be constantly thinking abstractly about the
•Distinguish between time and condition system operation in order to avoid getting
dependent activities Time-dependent too caught up in the incidental details.
activities are those that take a predictable
amount of time to complete, such as cus- •Separate input variables from response
tomer service. Condition-dependent activi- variables Input variables in a model define
ties can only be completed when certain how the system works (e.g., activity times,
defined conditions within the system are sat- routing sequences, etc.). Response variables
isfied. Because condition-dependent activi- describe how the system responds to a given
ties are uncontrollable, they are set of input variables (e.g., work-in-process,
unpredictable. An example of a condition- idle times, resource utilization, etc.). Input
dependent activity might be the approval of a variables should be the focus of data gather-
loan application contingent upon a favorable ing since they are used to define the model.
credit check. Response variables, on the other hand, are
the output of a simulation. Consequently,
Many activities are partially time-dependent response variables should only be gathered
and partially condition-dependent. When later to help validate the model once it is
gathering data on these activities, it is impor- built and run.
tant to distinguish between the time actually
These guidelines should help ensure that the sys-
required to perform the activity and the time
tem is thought of in the proper light for simula-
spent waiting for resources to become avail-
tion purposes.
able or other conditions to be met before the
activity can be performed. If, for example, To help organize the process of gathering data for
historical data is used to determine repair defining the system, the following steps are rec-
times, the time spent doing the actual repair ommended:
work should be used without including the
•Determine data requirements.
time spent waiting for a repair person to
•Use appropriate data sources.
become available.
•Make assumptions where necessary.
•Focus on essence rather than sub- •Convert data into a useful form.
stance A system definition for modeling •Document and approve the data.
purposes should capture the key cause-and- Each of these steps is explained on the following
effect relationships and ignore incidental pages.
details. Using this “black box” approach to
system definition, we are not concerned
38 Chapter 3:
Steps for Doing Simulation
Determining Data Requirements guish the way in which entities of the same
type are processed or routed?
The first step in gathering system data is to deter- 2. What are the route locations in the system
mine what data is required for building the (include all places where processing or queu-
model. This should be dictated primarily by the
ing occurs, or where routing decisions are
scope and level of detail required to achieve the
made) and what are their capacities (i.e., how
model objectives as described earlier. It is best to
many entities can each location accommo-
go from general to specific in gathering system
date or hold at one time)?
data. The initial focus should be on defining the
3. Besides route locations, what types of
overall process flow to provide a skeletal frame-
resources (personnel, vehicles, equipment)
work for attaching more detailed information. are used in the system and how many units
Detailed information can then be added gradually are there of each type (resources used inter-
as it becomes available (e.g., resource require-
changeably may be considered the same
ments, processing times, etc.). Starting with the type)?
overall process flow not only provides an orderly
4. What is the routing sequence for each entity
approach to data gathering, but also enables the
type in the system?
model building process to get started which
5. What activity, if any, takes place for each
reduces the amount of time to build and debug
entity at each route location (define in terms
the model later. Often, missing data becomes
of time required, resources used, number of
more apparent as the model is being built.
entities involved and any other decision
In defining the basic flow of entities through the logic that takes place)?
system, a flow diagram can be useful as a way of 6. Where, when and in what quantities do enti-
documenting and visualizing the physical flow of ties enter the system (define the schedule,
entities from location to location. Once a flow interarrival time, cyclic arrival pattern, or
diagram is made, a structured walk-through can condition which initiates each arrival)?
be conducted with those familiar with the opera- 7. In what order do multiple entities depart
tion to ensure that the flow is correct and that from each location (First in, First out; Last
nothing has been overlooked. The next step in, First out)?
might be to define the detail of how entities move 8. In situations where an output entity could be
between locations and what resources are used routed to one of several alternative locations,
for performing operations at each location. At how is the routing decision made (e.g., most
this point it is appropriate to identify location available capacity, first available location,
capacities, move times, processing times, etc. probabilistic selection)?
9. How do entities move from one location to
To direct data gathering efforts and ensure that the next (define in terms of time and
meetings with others, on whom you depend for resources required)?
model information, are productive, it may be use-
10. What triggers the movement of entities from
ful to prepare a specific list of questions that one location to another (i.e., available capac-
identify the data needed. A list of pertinent ques-
ity at the next location, a request from the
tions to be answered might include the following: downstream location, an external condition)?
1. What types of entities are processed in the 11. How do resources move from location to
system and what attributes, if any, distin- location to perform tasks (define either in
terms of speed and distance, or time)?
ProModel 39
User Guide
assumptions where complete or accurate infor- dard theoretical distribution is to summarize the
mation is lacking. data in the form of a frequency distribution that
can be used directly in the model. A frequency
Many assumptions are only temporary until cor-
distribution is sometimes referred to as an empir-
rect information can be obtained or it is deter-
ical or user-defined distribution.
mined that more accurate information is
necessary. Often, sensitivity analysis, in which a Whether fitting data to a theoretical distribution,
range of values is tested for potential impact, can or using an empirical distribution, it is often use-
give an indication of just how accurate the data ful to organize the data into a frequency distribu-
really needs to be. A decision can then be made tion table. Defining a frequency distribution is
to firm up the assumptions or to leave them done by grouping the data into intervals and stat-
alone. If, for example, the degree of variation in a ing the frequency of occurrence for each particu-
particular activity time has little or no impact on lar interval. To illustrate how this is done, the
system performance, then a constant activity time following frequency table tabulates the number
may be used. Otherwise, it may be important to and frequency of observations for a particular
define the exact distribution for the activity time. activity requiring a certain range of time to per-
form.
Another approach in dealing with assumptions is
to run three different scenarios showing a “best-
Frequency Distributions of Delivery Times
case” using the most optimistic value, a “worst-
case” using the most pessimistic value, and a Delivery
Time Number of Cumulative
“most-likely-case” using a best-estimate value. (days) Observations Percentage Percentage
This will help determine the amount of risk you 0-1 25 16.5 16.5
want to take in assuming a particular value.
1-2 33 21.7 38.2
2-3 30 19.7 57.9
Converting Data to a Useful Form
3-4 22 14.5 72.4
Data is seldom in a form ready for use in a simu- 4-5 14 9.2 81.6
lation model. Usually, some analysis and conver-
5-6 10 6.6 88.2
sion needs to be performed for data to be useful
6-7 7 4.6 92.8
as an input parameter to the simulation. Random
phenomena must be fitted to some standard, theo- 7-8 5 3.3 96.1
retical distribution such as a normal or exponen- 8-9 4 2.6 98.7
tial distribution (Law and Kelton, 1991), or be 9 - 10 2 1.3 100.0
input as a frequency distribution. Activities may
need to be grouped together to simplify the Total Number of Observations = 152
description of the system operation.
While there are rules that have been proposed for
Distribution Fitting To define a distribution using determining the interval or cell size, the best
a theoretical distribution requires that the data, if approach is to make sure that enough cells are
available, be fit to an appropriate distribution that defined to show a gradual transition in values, yet
best describes the variable. ProModel includes not so many cells that groupings become
the Stat::Fit distribution fitting package which obscured.
assists in fitting sample data to a suitable theoret-
ical distribution. An alternative to using a stan-
ProModel 41
User Guide
Note in the last column of the frequency table others who are in a position to evaluate the valid-
that the percentage for each interval may be ity of the data and approve the assumptions
expressed optionally as a cumulative percentage. made. This document will be helpful later if you
This helps verify that all 100% of the possibilities need to make modifications to the model or look
are included. at why the actual system ends up working differ-
ently than what was modeled.
When gathering samples from a static population,
one can apply descriptive statistics and draw rea- In addition to including those factors to be used
sonable inferences about the population. When in the model, the data document should also
gathering data from a dynamic and possibly time include those factors deliberately excluded from
varying system, however, one must be sensitive the model because they are deemed to be either
to trends, patterns, and cycles that may occur insignificant or irrelevant. If, for example, break
with time. The samples drawn may not actually times are not identified in the system description,
be homogenous samples and, therefore, unsuit- a statement of explanation should be made
able for applying simple descriptive techniques. explaining why. Stating why certain factors are
being excluded from the system description will
Activity Grouping Another consideration in
help resolve later concerns that may question
converting data to a useful form is the way in
why the factors were omitted.
which activities are grouped for modeling pur-
poses. Often it is helpful to group activities Validating system data can be a time-consuming
together so long as important detail is not sacri- and difficult task, especially when many assump-
ficed. This makes models easier to define and tions are made. In practice, data validation ends
more manageable to analyze. In grouping multi- up being more of a consensus or agreement that is
ple activities into a single activity time for simpli- obtained confirming that the information is good
fication, consideration needs to be given as to enough for the purposes of the model. While this
whether activities are performed in parallel or in approved data document provides the basis for
series. If activities are done in parallel or with building the model, it often changes as model
any overlap, the time during which overlapping building and experimentation get under way.
occurs should not be additive.
Serial activities are always additive. For example, Step 3: Building the Model
if a series of activities is performed on an entity at
a location, rather than specifying the time for Once sufficient information has been compiled to
each activity, it may be possible to sum activity define the basic system operation, the model
times and enter a single time or time distribution. building activity can begin. While starting to
build a model too early can be a wasted exercise,
waiting until all of the information is completely
Documenting and Approving the gathered and validated may unnecessarily post-
Data pone the building of the model. Getting the
When it is felt that all relevant information has model started before the data is completely gath-
been gathered and organized into a usable form, ered may even help identify missing information
it is advisable to document the information in the needed to proceed.
form of data tables, relational diagrams and The goal of model building is to provide a valid
assumption lists. Sources of data should also be representation of the defined system operation.
noted. This document should then be reviewed by
42 Chapter 3:
Steps for Doing Simulation
Additionally, the model must be able to provide model with excessive detail may be too expensive
any other statistical or graphical representation to program and to execute.
needed to satisfy the objectives of the study. A
model is neither true nor false, but rather useful Incremental Expansion
or not useful. Once validated, a model is useful
when it provides the needed information to meet In addition to adding complexity to a model in
the objectives of the simulation. stages, models that have a broad scope are some-
times easier to build in phases where additional
sections are added incrementally to the model.
Progressive Refinement This method of "eating the elephant one bite at a
One nice feature of simulation is that models do time" allows a portion of the model to be built,
not have to include all of the final detail before tested and debugged before adding new sections
they will run. This allows a progressive refine- and makes a large task more manageable.
ment strategy to be used in which detail is added
For unusually large models, it may be useful to
to the model in stages rather than all at once. Not
identify definable boundaries within a model to
only do models get built and running quicker this
permit model partitioning. Model partitioning is
way, but it also makes models easier to debug. In
the process of subdividing a model into two or
the initial stages of a model, for example, attrac-
more modules that represent physically separate
tive graphics are not very useful and, since they
sections within the system. The purpose of model
are likely to be changed anyway, should not be
partitioning is to allow model sections to be built
added until later when preparing for the final
and debugged, possibly even by separate individ-
model presentation.
uals, independently of each other. Once sections
The complexity of model building should never are finished, they can be merged together to cre-
be underestimated and it is always better to begin ate the overall model. This “divide-and-conquer”
simple and add complexity rather than create an method of model building can greatly reduce the
entire complex model at once. It is also easier to time and difficulty in building and debugging
add detail to a model than it is to remove it from a large models.
model. Building a model in stages enables bugs
to be more readily identified and corrected. Model Verification
Emphasizing the importance of applying progres-
sive refinement to model building, Law and Kel- Once a model is defined using a selected software
ton (1991) have advised: tool, the model must generally be debugged to
ensure that it works correctly. The process of
Although there are few firm rules on how one demonstrating that a model works as intended is
should go about the modeling process, one point referred to in simulation literature as model veri-
on which most authors agree is that it is always a fication. It is much easier to debug a model built
good idea to start with a simple model which can in stages and with minimal detail than to debug a
later be made more sophisticated if necessary. A large and complex model. Eliminating bugs in a
model should contain only enough detail to cap- program model can take a considerable amount
ture the essence of the system for the purposes for of time, especially if a general purpose program-
which the model is intended: it is not necessary to ming language (e.g., C++) in which frequent cod-
have a one-to-one correspondence between ele- ing errors occur is used. Most simulation
ments of the model and elements of the system. A languages provide a trace capability in the form
ProModel 43
User Guide
of audit trails, screen messages, graphic anima- results appear reasonable. If circumstances per-
tion, or a combination of all three. A trace mit, the model may even be compared to that
enables the user to look inside of the simulation actual system to see how they correspond. If
to see if the simulation is performing the way it these procedures are performed without encoun-
should. Good simulation products provide inter- tering a discrepancy between the real system and
active debugging capability which further facili- the model, the model is said to have face validity.
tates the debugging process. A thorough “walk-
through” of the model input is always advisable.
Step 4: Conducting Experi-
Model Validation ments
During the process of model building, the mod- The fourth step in a simulation study is to con-
eler must be constantly concerned with how duct simulation experiments with the model.
closely the model reflects the system definition. Simulation is basically an application of the sci-
The process of determining the degree to which entific method. In simulation, one begins with a
the model corresponds to the real system, or at theory of why certain design rules or manage-
least accurately represents the model specifica- ment strategies are better than others. Based on
tion document, is referred to as model validation. these theories the designer develops a hypothesis
Proving absolute validity is a non attainable goal. which he tests through simulation. Based on the
As Neelamkavil (1987) explains, “True valida- results of the simulation the designer draws con-
tion is a philosophical impossibility and all we clusions about the validity of his hypothesis. In a
can do is either invalidate or fail to invalidate.” simulation experiment there are input variables
For this reason, what we actually seek to estab- defining the model which are independent and
lish is a high degree of face validity. Face validity may be manipulated or varied. The effects of this
means that, from all outward indications, the manipulation on other dependent or response
model appears to be an accurate representation of variables are measured and correlated.
the system. From this standpoint, validating a
In some simulation experiments we are interested
model is the process of substantiating that the
in the steady-state behavior of the model. Steady-
model, within its domain of applicability, is suffi-
state behavior does not mean that the simulation
ciently accurate for the intended application
produces a steady outcome, but rather the distri-
(Schlesinger, 1979).
bution or statistical variation in outcome does not
There is no simple test to establish the validity of change over time. For example, a distribution
a model. Validation is an inductive process warehouse may ship between 200 and 220 parts
through which the modeler draws conclusions per hour under normal operating conditions. For
about the accuracy of the model based on the evi- many simulations we may only be interested in a
dence available. Gathering evidence to determine particular time period, such as a specific day of
model validity is largely accomplished by exam- the week. For these studies, the simulation may
ining the model structure (i.e., the algorithms and never reach a steady state.
relationships) to see how closely it corresponds to
As with any experiment involving a system with
the actual system definition. For models having
random characteristics, the results of the simula-
complex control logic, graphic animation can be
tion will also be random in nature. The results of
used effectively as a validation tool. Finally, the
a single simulation run represent only one of sev-
output results should be analyzed to see if the
eral possible outcomes. This requires that multi-
44 Chapter 3:
Steps for Doing Simulation
ple replications be run to test the reproducibility •What is an appropriate run length for the
of the results. Otherwise, a decision might be simulation?
made based on a fluke outcome, or at least an •How many replications should be made?
outcome not representative of what would nor- •How many different random streams should
mally be expected. Since simulation utilizes a be used?
pseudo-random number generator for generating •How should initial seed values be controlled
random numbers, running the simulation multiple from replication to replication?
times simply reproduces the same sample. In
order to get an independent sample, the starting Answers to these questions will be determined
seed value for each random stream must be dif- largely by the following three factors:
ferent for each replication, ensuring that the ran- 1. The nature of the simulation (terminating or
dom numbers generated from replication to nonterminating).
replication are independent. 2. The objective of the simulation (capacity
Depending on the degree of precision required in analysis, alternative comparisons, etc.).
the output, it may be desirable to determine a 3. The precision required (rough estimate ver-
confidence interval for the output. A confidence sus confidence interval estimates).
interval is a range within which we can have a
certain level of confidence that the true mean Terminating Versus
falls. For a given confidence level or probability, Non-terminating Simulations
say .90 or 90%, a confidence interval for the
average utilization of a resource might be deter- As part of setting up the simulation experiment,
one must decide what type of simulation to run.
mined to be between 75.5 and 80.8%. We would
Simulations are usually distinguished as being
then be able to say that there is a .90 probability
one of two types: terminating or non-terminating.
that the true mean utilization of the modeled
The difference between the two has to do with
resource (not of the actual resource) lies between
whether we are interested in the behavior of the
75.5 and 80.8%.
system over a particular period of time or in the
Fortunately, ProModel provides convenient facil- steady-state behavior of the system. It has noth-
ities for conducting experiments, running multi- ing to do, necessarily, with whether the system
ple replications and automatically calculating itself terminates or is ongoing. The decision to
confidence intervals. The modeler must still perform a terminating or non-terminating simula-
decide, however, what types of experimentation tion has less to do with the nature of the system
are appropriate. When conducting simulation than it does with the behavior of interest.
experiments, the following questions should be
asked: A terminating simulation is one in which the sim-
ulation starts at a defined state or time and ends
•Am I interested in the steady state behavior when it reaches some other defined state or time.
of the system or a specific period of opera- An initial state might be the number of parts in
tion? the system at the beginning of a work day. A ter-
•How can I eliminate start-up bias or getting minating state or event might be when a particu-
the right initial condition for the model? lar number of jobs have been completed.
•What is the best method for obtaining sam- Consider, for example, an aerospace manufac-
ple observations that may be used to estimate turer that receives an order to manufacture 200
the true expected behavior of the model? airplanes of a particular model. The company
ProModel 45
User Guide
might be interested in knowing how long it will before the break or end of shift. The length of the
take to produce the aircraft along with existing simulation is determined by how long it takes to
workloads. The simulation run starts with the get a representative steady-state reading of the
system empty and is terminated when the 200th model behavior.
plane is completed since that covers the period of
interest. A point in time which would bring a ter- Running Terminating Simulations
minating simulation to an end might be the clos-
ing of shop at the end of a business day, or the Experiments involving terminating simulations
completion of a weekly or monthly production are usually conducted by making several simula-
period. It may be known, for example, that a pro- tion runs, or replications, of the period of interest
duction schedule for a particular item changes using a different random seed for each run. This
weekly. At the end of each 40 hour cycle, the sys- procedure enables statistically independent and
tem is “emptied” and a new production cycle unbiased observations to be made on the system
begins. In this situation, a terminating simulation response over the period simulated. Statistics are
would be run in which the simulation run length often gathered on performance measures for suc-
would be 40 hours. cessive intervals of time during the period.
Terminating simulations are not intended to mea- For terminating simulations, we are usually inter-
sure the steady-state behavior of a system. In a ested in final production counts and changing
terminating simulation, average measures are of patterns of behavior over time rather than the
little meaning. Since a terminating simulation overall average behavior. It would be absurd, for
always contains transient periods that are part of example, to conclude that because two techni-
the analysis, utilization figures have the most cians are busy only an average of 40% during the
meaning if reported for successive time intervals day that only one technician is needed. This aver-
during the simulation. age measure reveals nothing about the utilization
of the technicians during peak periods of the day.
A non-terminating or steady-state simulation is A more detailed report of waiting times during
one in which the steady-state behavior of the sys- the entire work day may reveal that three techni-
tem is being analyzed. A non-terminating simula- cians are needed to handle peak periods, whereas
tion does not mean that the simulation never only one technician is necessary during off-peak
ends, nor does it mean that the system being sim- hours. In this regard, Hoover and Perry (1990)
ulated has no eventual termination. It only means note:
that the simulation could theoretically go on
indefinitely with no statistical change in behav- It is often suggested in the simulation literature
ior. For non-terminating simulations, the modeler that an overall performance be accumulated over
must determine a suitable length of time to run the course of each replication of the simulation,
the model. An example of a non-terminating sim- ignoring the behavior of the systems at intermedi-
ulation is a model of a manufacturing operation ate points in the simulation. We believe this is too
in which oil filters are produced on a continual simple an approach to collecting statistics when
basis at the same pace. The operation runs two simulating a terminating system. It reminds us of
shifts with an hour break during each shift in the statistician who had his head in the refrigera-
which everything momentarily stops. Break and tor and feet in the oven, commenting that on the
third shift times are excluded from the model average he was quite comfortable.
since work always continues exactly as it left off
46 Chapter 3:
Steps for Doing Simulation
For terminating simulations, the three important cessing rates, utilization, etc.) exhibit statistical
questions to answer in running the experiment regularity (i.e., the distribution of these variables
are: are approximately the same from one time period
to the next). The following figure illustrates the
1. What should be the initial state of the model?
typical behavior of a response variable, Y, as the
2. What is the terminating event or time?
simulation progresses through N periods of a
3. How many replications will you make?
simulation.
Many systems operate on a daily cycle, or, if a
pattern occurs over a weeks time, the cycle is Period Y
weekly. Some cycles may vary monthly or even
1
annually. Cycles need not be repeating to be con-
sidered a cycle. Airlines, for example, may be 2 Transient State
interested in the start-up period of production
3
during the introduction of a new airport which is
a one-time occurrence. 4
The number of replications should be determined 5
by the precision required for the output. If only a Steady State
6
rough estimate of performance is being sought,
three to five replications are sufficient. For 7
greater precision, more replications should be
made until a confidence interval with which you 8
feel comfortable is achieved. Behavior of Response Variable Y for Succes-
sive Periods During Simulation
Running Non-terminating
Simulations The time that it takes to reach steady-state is a
The issues associated with generating meaningful function of the activity times and the amount of
output statistics for terminating simulations are activity taking place. For some models, steady-
somewhat different that those associated with state might be reached in a matter of a few hours
generating statistics for non-terminating sys- of simulation time. For other models it may take
tems. In steady-state simulations, we must deal several hundred hours to reach steady-state. In
with the following issues: modeling steady-state behavior we have the prob-
lem of determining when a model reaches steady-
1. Determining the initial warm-up period. state. This start-up period is usually referred to as
2. Selecting among several alternative ways for the warm-up period. We want to wait until after
obtaining sample observations. the warm-up period before we start gathering any
3. Determining run length. statistics. This way we eliminate any bias due to
Determining the Warm-up Period In a steady- observations taken during the transient state of
state simulation, we are interested in the steady- the model.
state behavior of the model. Since a model starts
While several methods have been presented for
out empty, it usually takes some time before it
determining warm-up time (Law and Kelton,
reaches steady-state. In a steady-state condition,
1991), the easiest and most straightforward
the response variables in the system (e.g., pro-
approach, although not necessarily the most reli-
ProModel 47
User Guide
able, is to run a preliminary simulation of the sys- hours, 12 to 15 hours is probably a safe warm-up
tem, preferably with several (3 to 5) replications, period to use for the simulation.
and observe at what time the system reaches sta- End of Warm-up Period
tistical stability. The length of each replication
100
should be relatively long and allow even rarely 90
occurring events, such as infrequent downtimes, 80
to occur at least two or three times. To determine 70
Interval batching (also referred to as the batch 1000 occurrences of each type of event (Thesen
means technique) is a method in which a single, and Travis, 1992).
long run is made with statistics being reset at
specified time intervals. This allows statistics to Comparing Alternative Systems
be gathered for each time interval with a mean
calculated for each interval batch. Since each Simulations are often performed to compare two
interval is correlated to both the previous and the or more alternative designs. This comparison
next intervals (called serial correlation or auto- may be based on one or more decision variables
correlation), the batches are not completely inde- such as buffer capacity, work schedule, resource
pendent. The way to gain greater independence is availability, etc. Comparing alternative designs
to use large batch sizes and to use the mean val- requires careful analysis to ensure that differ-
ues for each batch. When using interval batching, ences being observed are attributable to actual
confidence interval calculations can be per- differences in performance and not to statistical
formed. The number of batch intervals to create variation. This is where running multiple replica-
should be at least 5 to 10 and possibly more tions may again be helpful. Suppose, for exam-
depending on the desired confidence interval. ple, that method A for deploying resources yields
a throughput of 100 entities for a given time
Determining Run Length Determining run period while method B results in 110 entities for
length for terminating simulations is quite simple the same time period. Is it valid to conclude that
since there is a natural event or time point that method B is better than method A, or might addi-
defines it for us. Determining the run length for a tional replications actually lead the opposite con-
steady-state simulation is more difficult since the clusion?
simulation can be run indefinitely. The benefit of
this, however, is that we can produce good repre- Evaluating alternative configurations or operat-
sentative samples. Obviously, running extremely ing policies can sometimes be performed by com-
long simulations is impractical, so the issue is to paring the average result of several replications.
determine an appropriate run length that ensures Where outcomes are close or where the decision
a sufficiently representative sample of the steady- requires greater precision, a method referred to as
state response of the system is taken. hypothesis testing should be used. In hypothesis
testing, first a hypothesis is formulated (e.g., that
The recommended length of the simulation run methods A and B both result in the same through-
for a steady-state simulation is dependent upon put) and then a test is made to see whether the
(1) the interval between the least frequently results of the simulation lead us to reject the
occurring event and (2) the type of sampling hypothesis. The outcome of the simulation runs
method (replication or interval batching) used. If may cause us to reject the hypothesis that meth-
running independent replications, it is usually a ods A and B both result in equal throughput capa-
good idea to run the simulation enough times to bilities and conclude that the throughput does
let every type of event (including rare ones) hap- indeed depend on which method is used.
pen at least a few times if not several hundred.
Remember, the longer the model is run, the more Sometimes there may be insufficient evidence to
confident you can become that the results repre- reject the stated hypothesis and thus the analysis
sent a steady-state behavior. If collecting batch proves to be inconclusive. This failure to obtain
mean observations, it is recommended that run sufficient evidence to reject the hypothesis may
times be as large as possible to include at least be due to the fact that there really is no difference
ProModel 49
User Guide
in performance, or it may be a result of the vari- rial design. In this type of experiment, we simply
ance in the observed outcomes being too high define a high and low level setting for each factor
given the number of replications to be conclu- and, since it is a full-factorial experiment, we try
sive. At this point, either additional (perhaps time every combination of factor settings. This means
consuming) replications may be run or one of that if there are five factors and we are testing
several variance reduction techniques might be two different levels for each factor, we would test
employed (see Law and Kelton, 1991). each of the 25 = 32 possible combinations of high
and low factor levels. For factors that have no
Factorial Design range of values from which a high and low can be
chosen, the high and low levels are arbitrarily
In simulation experiments we are often interested
selected. For example, if one of the factors being
in finding out how different input variable set-
investigated is an operating policy for doing work
tings impact the response of the system. Rather
(e.g., first come, first served; or last come, last
than run hundreds of experiments for every possi-
served), we arbitrarily select one of the alterna-
ble variable setting, experimental design tech-
tive policies as the high level setting and a differ-
niques can be used as a “short-cut” to finding
ent one as the low level setting.
those input variables of greatest significance.
Using experimental-design terminology, input For experiments in which a large number of fac-
variables are referred to as factors, and the output tors are being considered, a two-level full-facto-
measures are referred to as responses. Once the rial design would result in an extremely large
response of interest has been identified and the number of combinations to test. In this type of
factors that are suspected of having an influence situation, a fractional-factorial design is used to
on this response defined, we can use a factorial strategically select a subset of combinations to
design method which prescribes how many runs test in order to “screen out” factors with little or
to make and what level or value to be used for no impact on system performance. With the
each factor. As in all simulation experiments, it is remaining reduced number of factors, more
still desirable to run multiple replications for each detailed experimentation such as a full-factorial
factor level and use confidence intervals to assess experiment can be conducted in a more manage-
the statistical significance of the results. able fashion.
One's natural inclination when experimenting After fractional-factorial experiments and even
with multiple factors is to test the impact that two-level full-factorial experiments have been
each individual factor has on system response. performed to identify the most significant factor
This is a simple and straightforward approach, level combinations, it is often desirable to con-
but it gives the experimenter no knowledge of duct more detailed experiments, perhaps over the
how factors interact with each other. It should be entire range of values, for those factors that have
obvious that experimenting with two or more fac- been identified as being the most significant. This
tors together can affect system response differ- provides more precise information for making
ently than experimenting with only one factor at a decisions regarding the best factor values or vari-
time and keeping all other factors the same. able settings for the system. For a more concise
explanation of the use of factorial design in simu-
One type of experiment that looks at the com-
lation experimentation see Law and Kelton
bined effect of multiple factors on system
(1991).
response is referred to as a two-level, full-facto-
50 Chapter 3:
Steps for Doing Simulation
Use of Random Streams used in a simulation has its own independent seed
and tracks its own values for subsequent input to
One of the most valuable characteristics of simu- the generator. Where the sequence begins in the
lation is the ability to reproduce and randomize cycle depends on the initial seed value used by
replications of a particular model. Simulation the generator.
allows probabilistic phenomena within a system
to be controlled or randomized as desired for con- Any time a particular number seeds a stream, the
ducting controlled experiments. This control is same sequence of values will be repeated every
made available through the use of random time the same seed is used to initialize the stream.
streams. This means that various elements within a model
can be held constant with respect to their perfor-
A stream is a sequence of independently cycling, mance while other elements vary freely. Simply
unique random numbers uniformly distributed specify one random number stream for one set of
between 0 and 1 (see the figure on next page). activities and another random number stream for
Random number streams are used to generate all other activities.
additional random numbers from other probabil-
ity distributions (Normal, Beta, Gamma). After Because the same seed produces the same
sequencing through all of the random numbers in sequence of values every time it is used, com-
the cycle, the cycle starts over again with the pletely independent functions within a model
same sequence. The length of the cycle before it must have their own streams from the start. For
repeats is called the cycle period and is usually example, arrival distributions should generally
very long. have a random number stream used nowhere else
in the entire model. That way, activities added to
.52 a model that sample from a random number
stream will not inadvertently alter the arrival pat-
.80 .31
tern because they do not affect the sample values
generated from the arrival distribution.
To show an example of how multiple streams can
.07 .95 be useful, consider two copy machines, Copy1
and Copy2, which go down approximately every
4 hours for servicing. To model this, the fre-
quency or time between failures is defined by a
.60
.25 normal distribution with a mean value of 240
minutes and a standard deviation of 15 minutes,
.66 N(240,15). The time to repair is 10 minutes. If no
stream is specified in the normal distribution, the
Example of a Random Stream Cycle with a
same stream will be used to generate sample val-
Very Short Period
ues for both machines. So, if the next two num-
bers in the stream number are .21837 and .86469,
A random stream is generated using a random Copy1 will get a sample value from the normal
number generator or equation. The random num- distribution that is different from Copy2. There-
ber generator begins with an initial seed value fore, the two machines will go down at different
after which, each successive value uses the previ- times.
ous value as input to the generator. Each stream
ProModel 51
User Guide
Suppose, however, that the resource servicing the about getting too pedantic about the precision of
machines must service them both at the same simulation output. With more than 60 combined
time, so we would like to have the machines go years of experience in doing simulation model-
down at the same time. Using the same stream to ing, Conway, Maxwell and Worona (1986) cau-
determine both downtimes will not bring them tion that attaching a statistical significance to
down at the same time, because a different ran- simulation output can create a delusion that the
dom number will be returned from the stream output results are either more or less significant
with each call to generate a random normal vari- than they really are. They emphasize the practi-
ate. Using two different streams, each dedicated cal, intuitive reading of simulation results. Their
to a machine's downtime and each having the guideline is "If you can't see it with the naked
same initial seed, will ensure that both machines eye, forget it."
go down at the same time every time. The two
The goal of conducting experiments is not just to
streams have the same starting seed value so they
find out how well a particular system operates,
will produce exactly the same sequence of ran-
but hopefully to gain enough insight to be able to
dom numbers.
improve the system. Unfortunately, simulation
output rarely identifies causes of problems, but
Step 5: Analyzing the Output only reports the symptomatic behavior of prob-
lems. Bottleneck activities, for example, are usu-
Output analysis deals with drawing inferences ally identified by looking for locations or queues
about the actual system based on the simulation that are nearly always full which feed into one or
output. When conducting simulation experi- more locations that are sometimes empty. Detect-
ments, extreme caution should be used when ing the source of the bottleneck is sometimes a
interpreting the simulation results. Since the bit trickier than identifying the bottleneck itself.
results of a simulation experiment are random Bottlenecks may be caused by excessive opera-
(given the probabilistic nature of the inputs), an tion times, prolonged delays due to the unavail-
accurate measurement of the statistical signifi- ability of resources, or an inordinate amount of
cance of the output is necessary. downtime. The ability to draw correct inferences
People doing simulation in academia are often from the results is essential to making system
accused of working with contrived and often improvements.
oversimplified assumptions, yet are extremely
careful about ensuring the statistical significance Step 6: Reporting the Results
of the model results. Simulation practitioners in
industry, on the other hand, are usually careful to The last step in the simulation procedure is to
obtain valid model data, only to ignore the statis- make recommendations for improvement in the
tical issues associated with simulation output. actual system based on the results of the simu-
Maintaining a proper balance between establish- lated model. These recommendations should be
ing model validation and establishing the statisti- supported and clearly presented so that an
cal significance of simulation output is an informed decision can be made. Documentation
important part of achieving useful results. of the data used, the model(s) developed and the
experiments performed should all be included as
The most valuable benefit from simulation is to
part of a final simulation report.
gain insight, not necessarily to find absolute
answers. With this in mind, one should be careful
52 Chapter 3:
Steps for Doing Simulation
A simulation has failed if it produces evidence to for trying this or that with the model), the model
support a particular change which is not imple- recommendations, if approved, are ready to be
mented; especially if it is economically justified. implemented. If the simulation has been ade-
The process of selling simulation results is quately documented, it should provide a good
largely a process of establishing the credibility of functional specification for the implementation
the model. It is not enough for the model to be team.
valid, the client or management must also be con-
vinced of its validity if it is to be used as an aid in
decision making. Finally, the results must be pre- Pitfalls in Simulation
sented in terms that are easy to understand and If the steps that have been outlined are followed,
evaluate. Reducing the results to economic fac- the chances of performing a successful simula-
tors always produces a compelling case for mak- tion project are very good. Typical reasons why
ing changes to a system. simulation projects fail include the following:
In presenting results it is important to be sensitive •Failure to state clear objectives at the outset.
to the way in which recommendations are made. •Failure to involve individuals affected by
It helps to find out whether recommendations are outcome.
being sought or whether a simple summary of the
•Overrunning budget and time constraints.
results is wanted. It is generally wise to present
•Failure to document and get a consensus on
alternative solutions and their implications for
input data.
system performance without suggesting one
•Including more detail than is needed.
alternative over another, particularly when per-
sonnel changes or cuts are involved. In fact, •Including variables that have little or no
where there may be careers on the line, it is best impact on system behavior.
to caution the decision maker that your simula- •Failure to verify and validate the model.
tion study looks only at the logistical aspects of •Basing decisions on a single run observa-
the system and that it does not take into account tion.
the potential reactions or potential difficulties •Basing decisions on average statistics when
employees may have in accepting a particular the output is actually cyclical.
solution. •Being too technical and detailed in present-
ing the results to management.
Animation and output charts have become an
extremely useful aid in communicating the
results of a simulation study. This usually Summary
requires that some touch-up work be done to cre-
ate the right effect in visualizing the model being A simulation project has distinct phases that must
simulated. In preparing the results, it is often nec- be understood and followed in order to be suc-
essary to add a few touch-ups to the model (like a cessful. Simulation requires careful planning
full dress-rehearsal) so the presentation effec- with realistic goals and expectations. Steps to
tively and convincingly presents the results of the performing a simulation study include planning
simulation study. the study, defining the system, building the
model, conducting experiments, analyzing the
After the presentation is finished and there is no output, and presenting the results. Systematically
further analysis to be conducted (the final presen- following these steps will help avoid the pitfalls
tation always seems to elicit further suggestions
ProModel 53
User Guide
Modeling Scenario
Before we actually begin building a model, let's
look at a fictitious scenario for our model build-
ing session.
Cogswell Cogs has just secured a contract to pro-
duce a new cog for production of the X-95C
Family Space Cruiser. The current capacity of the
Cogswell facility is not adequate to handle any
additional work load while continuing to fill
existing orders. Therefore, Mr. Cogswell has
ordered the I.E. department to simulate the design
of a new workcell dedicated to the production of
the new cog.
The process consists of loading a cast blank onto
an NC mill for milling of the outside splines.
Once the splines have been cut, the cog must be
degreased, inspected and loaded with an inner
bearing. All operations, including inspection, are
to be performed by a single operator.
Model Elements
In building this model we must define all of the
basic modeling elements and a few of the
optional elements.
54 Chapter 3:
Building a Model
Locations Resources
We need some type of receiving location to hold A single operator, CellOp, performs all manual
incoming entities. We also need processing loca- operations.
tions where entities have value added to them.
For the given production rate, Cogswell's engi- Path Networks
neers have determined that the workcell will
In order to make CellOp a mobile resource, we
require two NC_300 series numerically con-
must define a path network. We'll call it CellNet.
trolled mills, a degreasing machine, and an
inspection/assembly station.
Attributes
Entities (Parts) An attribute is simply a “numeric tag” attached to
either an entity (entity attribute) or a location
The entity types in this system include Pallets, (location attribute). Since each Cog is inspected
each carrying six cast Blanks. Blanks become for proper spline depth, we attach an attribute
Cogs after processing, and Bearings are loaded at called Test to each Cog, specifying the Pass/Fail
the Inspect station. If a Cog fails the inspection it status of the Cog.
will be called a Reject.
User Distributions
Arrivals
We will sample from a user defined distribution
Cogswell's engineers have determined that Pal- and set the Test attribute to either 1 (for pass) or 0
lets should arrive at the rate of 1 Pallet every 45 (for fail). Ninety six percent of the Cogs pass
minutes. inspection and have their Test attribute set to one.
Four percent fail the inspection and have their
Processing Test attribute set to zero.
The operation at each mill requires an operator to
load the Blank, which takes a normally distrib-
uted amount of time with a mean of 3 minutes Phased Modeling Approach
and standard deviation of .2 minutes (i.e., Instead of trying to build a model all at once, you
N(3,.2)). After a blank has been loaded, the may want to implement a phased modeling
machining time is a constant 5.7 minutes. approach where you build the model in stages.
Cogs are then removed from the mill and placed This will help you understand the basic modeling
in the degreasing machine. The degreasing elements before moving on to more complex
machine has capacity for 2 Cogs, and has a cycle ones like attributes and IF-THEN logic. The fol-
time of 5 minutes. lowing elements are those components normally
entered during each phase of the model building
Once the Cogs have been degreased, they are process.
inspected for proper spline depth, and a bearing is
installed in the center hole. This process requires Phase 1: Basic Model Elements
the cell operator, and takes U(3.2,.3) minutes for
the inspection and U(1.5,.2) minutes for the Bear- In the first phase you input all of the basic model
ing to be installed. If the Cog fails inspection, no elements: General Information, Locations, Enti-
Bearing is installed. ties, Arrivals, and Processing. You also import a
background graphic to help in placing the loca-
ProModel 55
User Guide
tions in the layout window. Upon completion of name of the graphics library to use. By default it
this phase you have a fully working model, ready will be PROMOD5.GLB.
to animate and collect output.
General Information
The General Information dialog box, accessed
through the Build menu, allows you to name your
model and specify default information such as
time and distance units. You also specify the Often, importing a background graphic makes the
process of placing locations easier, or altogether
eliminates the need to create graphic icons for
locations.
56 Chapter 3:
Building a Model
Defining Arrivals
Of the four entity types, only one needs to be
scheduled to arrive in the system. Every 45 min-
utes one Pallet arrives at the Receiving location.
The word “INFINITE” in the Occurrences col-
umn means that one pallet continues to arrive
every 30 minutes as long as the simulation runs.
For more information on defining arrivals, see
Location Edit Table “Arrivals” on page 163.
information on defining process logic, see “Pro- Process and Routing Logic
cessing” on page 149, and “Operation Logic” on The entire process and routing tables for the
page 299. Phase 1 model are shown next. The table reads as
Once the basic entity flow has been defined using follows:
the point and click method, operation statements
1.When an entity called Pallet arrives at location
are added to the processing logic. The processing
Receive there is no operation time or processing
logic can be as simple as a constant operation
logic (it's just a storage location). The resulting
time or as complex as a nested IF...THEN...ELSE
output is six entities called Blank that are routed
statement.
to the FIRST available destination of either
Process editing actually involves two edit tables NC_301L or NC_302L.
that normally appear side by side. The Process
2.When Blanks arrive at NC_301L or NC_302L,
edit table specifies what happens to an entity
the processing time is a normal distribution with
when it arrives at a location, and the Routing edit
a mean of 3 and a standard deviation of .2 min-
table specifies where an entity is to be sent once
utes. The name of the entity is now changed to
processing is complete.
Cog, and the Cog is sent to the Degrease location
(FIRST is the default routing rule).
Process Edit Table
3.Two Cogs are accumulated at Degrease and
processed for 5 minutes. When the degrease
cycle is complete, Cogs are routed to location
Inspect.
4.The inspection time is a uniform distribution
with a mean of 3.2 and a half range of .3 minutes.
Ninety six percent of the Cogs pass inspection
and exit the system, while four percent of the
Cogs fail inspection and become Rejects.
Routing Edit Table
The Resource edit table shown below contains Process Edit Table and corresponding
fields for specifying the name and number of operation logic
units of a resource. It also has fields for specify-
ing resource downtimes (DTs...), the level of sta-
tistics to collect (Stats...), which path network
used for travel (Specs...), and any work and park
search routines (Search...). Clicking the mouse on
any of these buttons brings up separate edit tables
for specifying this data.
Process Editing
Now that we have defined a resource, we must
specify how and when that resource is used in the
processing logic.
In the Phase 1 model we used only constant pro-
cessing times. Now, due to variability associated
with the operator, we must represent the loading
and inspection times as distributions.
Routing Edit Table
In the example below, CellOp loads the blank at
mill NC_302L and is then FREEd to perform
other operations. When the Blank has finished
processing, the entity is moved with the CellOp
to the degreasing machine.
Entity Location Operation (min) Blk Output Destination Rule Move Logic
Pallet Receive 1 Blank NC_301L FIRST 6 MOVE WITH CellOp
Blank NC_302L FIRST MOVE WITH CellOp
Blank NC_301L WAIT N(3,.2) 1 Cog Degrease FIRST 1 MOVE WITH CellOp
FREE CellOp
WAIT 5.7
Blank NC_302L WAIT N(3,.2) 1 Cog Degrease FIRST 1 MOVE WITH CellOp
FREE CellOp THEN FREE
WAIT 5.7
Cog Degrease ACCUM 2 1 Cog Inspect FIRST 1 MOVE WITH CellOp
WAIT 5
Cog Inspect WAIT U(3.2,.3) 1 Cog EXIT 0.960 1
FREE CellOp Reject EXIT 0.040
With the new processing now defined, we have
specified all of the necessary modeling elements.
We are now ready for the model execution phase.
Once again, we shall defer discussion of model
execution until we have finished the final phase
of the model.
ProModel 61
User Guide
Phase 3: Additional Operations case, 96% of the entities pass inspection and 4%
fail.
In the final phase of our modeling session we
want to demonstrate an assembly operation by
using the operator to install a Bearing into the
center hole of the Cog if (and only if) the Cog
passes inspection.
Once we have defined the attribute and distribu-
tion table, we must return to the Locations, Enti-
ties and Arrivals modules to define a new
location called Bearing_Que, a new entity called
Bearing, and an arrival schedule for the Bearings.
In addition, we also need to specify a usage based
downtime for mills NC_301L and NC_302L New Location, Entity, and Arrival
from the Location module.
Before we can assemble the Cog at the Inspect
The final step in completing this phase of the location we must first define the new entity type
model is to edit the processing logic to include called Bearing in the Entities module. We must
the assembly. We will use the built-in JOIN con- also define a new location, Bearing_Que, to hold
struct to accomplish the assembly. the Bearings, and an arrival schedule for the
Bearings. To do this we simply open the appro-
Defining Attributes priate module as in Phase 1 and supply the infor-
mation. For simplicity we'll skip the details and
The Attribute module allows you to enter the
move on to downtime specification.
Attribute edit table to define an Entity Attribute
called Test that holds integer values. We set this
attribute to one if the Cog passes the inspection, Defining Location Downtimes
or zero if it fails the inspection. For more infor- In order to represent machine failure times for the
mation about defining attributes, see “Attributes” two mills, NC_301L and NC_302L, we click on
on page 225. the DT... button in the Location edit table shown
below. This brings up another edit table for spec-
ifying a downtime based on machine usage. For
more information about defining location down-
times, see “Location Downtimes” on page 107.
Defining a Distribution
In order to determine if an entity passes or fails
the inspection, you sample from a user-defined
distribution called Dist1 (alternately, you could
use the RAND() function). To define the distribu-
tion, simply click the mouse on the Table... but-
ton and fill in the distribution parameters. In this
62 Chapter 3:
Running a Model
In the example above, we have defined failures to Process and Routing Logic
occur according to an exponential distribution
with a mean of 30 minutes. When a machine The process and routing table below shows all of
fails, resource CellOp is required to service the the changes and additions to the Phase 2 model in
machine. bold text.
Viewing Model Statistics & Graphs” on page 373 for detailed examples of the
output generated by the Output Viewer 3DR.
Reports
The purpose of any simulation model is to gain a
deeper understanding of the system under study.
ProModel's Output Viewer 3DR helps you to see
the interactions between various system elements
through tabular and graphical representation of
system parameters such as resource utilization,
throughput history, cycle time, and work-in-pro-
cess levels.
After each simulation run, you are prompted to
view the model output. You can select yes to
view the results immediately, or select no to con-
tinue with some other task. Selecting yes opens
the Output Viewer 3DR and automatically loads
the output of the most recent model run.
available from the file management section •version 5.0 to run with versions 5.0, 5.1, 5.2
shown previously. or 5.3.
•version 4.5 to run with version 4.5.
•version 4.0 to run with versions 4.0 or 4.2.
Please note
New Closes any currently opened model so a There is also an Autosave feature that saves the
new model can be built. This command is unnec- model file every n minutes as specified in the .INI
essary if no other model is open. If the currently file. This feature can be disabled. See the discus-
opened model has changed, ProModel will ask if sion later in this section.
you want to save the model before closing it.
Open Opens a user-specified model and clears
previous model data.
File Management Procedures
Merge Merges a selected ProModel model or
submodel into the current model. The same sub-
How to create a new model:
model can be merged multiple times into the
same model. See “Merge Model” on page 70.
1. Select New from the File menu.
Save Saves an open model under the current file
2. Define model elements using their corre-
name. If no file name has been given, the user is sponding modules.
prompted for a file name.
Save As Saves an open model under a new file
name specified by the user. The old file name still
exists. How to open an existing model:
Models saved in current versions of ProModel 1. Select Open from the File menu.
are not always compatible with previous versions
of ProModel. 2. Enter the necessary information in the
Load Model dialog box.
How to save a model: ment. After all segments are ready, they can be
merged together to form a single model.
• Select Save from the File menu. If the The Merge feature consists of two options:
model does not already have a name, the Merge Model and Merge Submodel.
Save As dialog box will appear.
Please note
Each menu selection is covered in detail in the
You may leave the View Text window open for
following pages.
reference while editing the model. However, any
•View Text Displays the text of the current updates will not appear until you close the win-
model data in a window. dow and select View Text again.
•Print Text Prints the text of the current
model to either a file or the printer.
•Print Layout Prints the model layout to a
printer. Print Text
•Printer Setup Opens a dialog box to allow The Print and Print Layout options allow you to
printers to be selected and controlled. print a model to any printer configured for use
ProModel 73
User Guide
with Windows. You may also save a text copy of Please note
the file to disk.
The entire layout may also be copied to the clip-
How to save a text copy of the board for editing and printing in another appli-
current model: cation.
1. Select Print Text... from the File menu. How to print a model layout:
2. Select To Printer from the submenu.
1. Select Print Layout from the File menu.
3. Select the desired options from the Print
dialog box and click OK. 2. Select the desired options from the Print
dialog box and click OK.
74 Chapter 4:
File Menu
Printer Setup
ProModel allows you to print to any printer con- Create Model Package Copies the current
figured for use with Windows. At times you may model and its associated files to a specific direc-
need to switch from the default printer to another tory or disk as <model name>.pkg.
printer or plotter. This can be done easily Install Model Package Copies the files in a
through the Setup option on the print dialog box. *.pkg file to the destination directory you wish to
use.
How to change the printer set-
tings: Creating a Model Package
The Create Model Package option allows you to
1. Select Printer Setup... from the File menu to
copy the current model and its associated files to
access the Print Setup dialog box.
a specific directory as a single file entitled
2. Select the desired options and click OK. <model name>.PKG. This file includes the model
file (*.MOD), the graphic library (unless you
check the Exclude Graphic Library option), and
any external files you defined (e.g., read files,
arrivals files, and shift files)—the model package
automatically includes bitmaps imported into the
background graphics.
When you create a model package, two options
are available:
•Exclude Graphic Library Excludes the
graphics library file from the model pack-
age—if not required—and creates a smaller
package file.
ProModel 75
User Guide
•Protect Model Data Prevents those who 4. Check the Protect Model Data box if you
install the model package from viewing or want to protect your model data and pre-
editing the model data. When you load a vent other users from changing or viewing the
model package, ProModel disables the View model data.
Text, Print Text, and Expression Search fea- 5. Click OK.
tures, plus the Build menu and portions of
the run-time Options and Information
menus.
Installing a Model Package
Please note Install Model Package copies all files in a model
package to a specified destination directory and
You may NOT use dynamic plots with protected gives you the option to load the model.
models.
How to install a model package:
How to insert a record in a table: pasting entire process and routing records appear
in the Edit menu.
1. Position the cursor in the record below
where you wish the new record to be
inserted.
2. Select Insert from the Table Edit menu.
Please note
How to move a record to a new
position in a table:
Notes on editing process records:
1. Select the record to be moved by placing 1. A process record consists of all fields in the
the cursor in any field of the desired record. Process edit table, as well as all corresponding
2. Select Move from the Table Edit menu. routing records defined in the Routing edit table
for the given process.
3. Position the cursor in the record that is
below the final destination of the selected 2. From a Routing edit table, you may only use
record and select Move to from the Table Edit the Copy Record and Paste Record options to
menu. copy routing information to another routing
record.
3. These options cannot be used to copy process-
Editing Process Records ing or routing records from one model to
another.
When editing the records in the Processing edit
table, two additional options for copying and
78 Chapter 4:
Edit Menu
How to copy information from 2. Click on the Notes button at the right of
the table.
another record:
Please note
Alternately, you may copy information between The selections available from the Notes Edit
records using the right-click menu. menu are defined as follows.
Cut Removes the selected text and places it in
the clipboard.
Editing Notes Windows Copy Copies the current text and places it in the
clipboard.
You may annotate individual records of the loca-
Paste Inserts the contents of the clipboard at the
tions, resources and entities tables through Notes
windows. When editing the text of a notes win- cursor.
dow, the Edit menu changes to the following Clear Deletes the selected text without placing a
form. copy in the clipboard.
In addition to the options in the edit menu, the
How to annotate a record: notes window itself contains four buttons. There
are three edit buttons, Cut, Copy, and Paste
1. Click inside the record to be annotated. which work exactly the same as the correspond-
ing options in the Edit menu, and a Print button.
The print button prints the text in the notes win-
dow. A status bar appearing at the bottom of the
Notes edit window shows the current line posi-
tion of the cursor (e.g., Line: 2).
following example. These buttons include cut, is a result of the incorrectly spelled statement
copy, paste, undo, local find and replace, build, “Acum 2.”
compile, print, and help. Using the Cut, Copy, or
Paste button works exactly the same as using the
corresponding option from the Edit menu.
Editing & Moving Graphics dow. You may also scroll the layout first and then
move the selected graphics.
ProModel allows easy adjustment and fine tuning
of the graphics in one window rather than open-
Please note
ing individual modules to move each object. This
makes it possible to move or rearrange a whole
submodel or model after it has been merged. To Multiple graphics can also be selected by drag-
move any or all graphics in a model, ProModel ging a bounding box around the graphics. Hold-
must be in common mode (all modules must be ing the left mouse button down, drag the mouse
closed, leaving only the layout window open). from one corner of the graphics to the opposite
corner. The bounding box must completely
While in common mode, graphics that can be enclose the graphics you wish to select.
moved and arranged in the layout window
include locations, path networks, static and
dynamic resources, variables, and background
graphics. Multiple graphics can be selected and Special Considerations for Moving
moved simultaneously. When graphics are Graphics
selected, the layout can be scrolled and the graph-
ics will remain selected. Locations When you click on a location with
multiple graphics defined for it (i.e., counter, sta-
tus light, label) in common mode, it is selected as
How to move graphics:
one graphic. Multiple units of a location can be
moved individually. Adjusting the position of an
1. Close all build modules leaving only the
individual graphic in a multiple graphic location
layout window open.
must be done in the locations module.
2. Left click and drag the selected graphic to
the desired position. Routing Paths Routing paths defined in the Pro-
cessing module cannot be selected for movement
3. To move multiple graphics, hold down the
but will move when a location to which they are
Shift key while left clicking the desired graph-
connected is moved. If a routing path has multi-
ics to select them and then drag them to the
desired position. Using the shift key with a left ple segments, only the segment connected to the
click deselects a selected graphic. location being moved gets readjusted. However,
when both locations on the routing path are
4. Fine tune the position of the selected
graphic(s) by using the arrow keys on the key-
board to move one pixel at a time.
moved simultaneously, the whole routing path is Sizing Graphics cannot be sized in common
moved. mode.
Snap-to-Grid Graphics will not snap to the grid
in common mode, but their position can be fine-
tuned using the arrow keys on the keyboard to
move the selected graphic(s) one pixel at a time.
Labels To view the label or edit a location, path
network, resource, or variable graphic, right click
on the item. If you double left click on an item,
ProModel opens the build module and highlights
the record where you defined the element.