Proceedings of the 2001 Winter Simulation Conference
B. A. Peters, J. S. Smith, D. J. Medeiros, and M. W. Rohrer, eds.
SIMULATION MODELING AND OPTIMIZATION USING PROMODEL TECHNOLOGY
Charles R. Harrell Kevin C. Field
Department of Manufacturing Engineering PROMODEL Corporation
435 CTB 1875 South State
Brigham Young University Suite 3400
Provo, UT 84062, U.S.A. Orem, UT 84097, U.S.A.
ABSTRACT lean expressions, variables, attributes, arrays and even ac-
cess to external spreadsheet and text files.
The ProModel Optimization Suite is a powerful yet easy- For those who prefer coding complex logic using a
to-use simulation tool for modeling all types of manufac- programming language such as C, Pascal or Basic, external
turing systems ranging from small job shops and machin- subroutines may be dynamically linked to the model and
ing cells to large mass production, flexible manufacturing called from anywhere inside the model at runtime. Pro-
systems, and supply chain systems. ProModel is a Win- Model may also be controlled as a COM object, and run
dows based application with an intuitive graphical inter- directly from external applications such as Microsoft Excel
face and object-oriented modeling constructs that eliminate or PowerPoint, or from a custom front-end such as a VB
the need for programming. It combines the flexibility of a interface. In this way, ProModel allows systems analysts
general-purpose simulation language with the convenience and simulation experts to use the tools they are most com-
of a data-driven simulator. The ProModel Optimization fortable with, providing total flexibility.
Suite includes an optimization tool called SimRunner that ProModel also provides several built-in distribution
performs sophisticated “what-if” analysis by running auto- functions, which, in conjunction with streams, return random
matic factorial design of experiments on the model, provid- values according to a statistical distribution. To aid the user
ing the best answer possible. This paper provides an in selecting an appropriate distribution for a data set,
overview of the ProModel Optimization Suite and presents Stat::Fit is included with ProModel. Stat::Fit is a curve fit-
its modeling, analysis, and optimization capabilities. ting software that fits analytical distributions to user data.
Model development is completely graphical and ob-
1 OVERVIEW OF PROMODEL ject-oriented. To the greatest extent possible, all input is
provided graphically with information being grouped by
ProModel is a simulation and animation tool designed to object type and presented in a “spreadsheet-like” format
model manufacturing systems of all types quickly and accu- for quick and intuitive access. For example, when the
rately. Engineers and managers find the manufacturing ori- modeler defines a machine the modeler can also define the
ented modeling elements and rule-based decision logic ex- machine’s icon, capacity, downtime characteristics, input
tremely easy to learn and use. Users are particularly delighted and output rules, desired output statistics, etc.
when they discover that ProModel is capable of modeling ProModel complies with Graphical User Interface
(GUI) standards, which means that individuals familiar
their most complex systems. Because it provides such an in-
with other standard Windows programs such as word proc-
tuitive and straightforward approach to modeling, it is also
essors or spreadsheets will have no trouble learning how to
attractive to professors in engineering and business programs
use ProModel. This data input approach minimizes the
who are interested in teaching modeling and analysis con- learning curve for beginners and maximizes the efficiency
cepts without having to teach computer programming. for modifying large and complex models.
While most systems can be modeled by selecting from A unique feature in ProModel is the ability to invoke
ProModel’s complete set of modeling elements (e.g. re- pop-up menus, depending on the current context, that
sources, downtimes, locations, etc.) and modifying the ap- prompt the user in defining any statement or expression.
propriate parameters, complete programming capability is This enables any expression or statement to be entered us-
also provided if needed for modeling special situations. ing only the mouse. It also eliminates the need to remem-
Built-in language features include if-then-else logic, Boo- ber variable or other element names that users wish to ref-
erence by allowing name selection from a list box.
226
Harrell and Field
Convenient online documentation is available through meric characters. Following is a brief description of each
ProModel’s integrated Help system and online tutorials. The of these elements.
Help system uses the Windows Help system that allows
maximum flexibility for looking up anything from command
syntax to descriptions of model building modules. ProModel
also provides tutorials that contain quick lessons on how to
build models, run models, access output reports, and how to
model various applications with the software.
To further reduce model development time, ProModel
provides model merging capabilities to allow several indi-
viduals to be working separately on different sections of a
large model. Additionally, frequently defined cells or even
commonly used decision logic may be stored as submodel
templates which eliminate the need to “re-invent the wheel”
with every model. These templates can even have specially
designated parameters that may be changed by the user.
Animation development is integrated with the model
definition. A major drawback of many simulation software
products is that their animation development is independ-
ent from simulation model development. This makes it
time consuming and inconvenient for engineers to use Figure 1: ProModel’s Modeling Elements
animation as a validation/verification tool. ProModel inte-
grates system definition and animation development into 2.1 Locations
one function. While defining routing locations, conveyors,
AGV paths, and other elements, the user essentially devel- Locations are fixed places in the system such as machines,
ops the animation layout. The layout screen is a virtual queues, storage areas, workstations or tanks to which parts
screen that can be scaled to an actual factory layout. or entities are routed for processing, storage or simply to
Simulation results are informative and may be dis- make some decision about further routing. Locations may
played in tabular or graphical form. Many other simulation be either single unit locations (a single machine) or multi-
software products require special commands to generate unit locations (a group of similar machines performing the
statistics that are difficult to interpret for non- same operation in parallel).
simulationists. ProModel allows quick and convenient se- Locations may have a capacity greater than one and
lection of reports and provides automatic tabular and may have periodic downtimes as a function of clock time
graphic reports on all system performance measures. Out- (shift changes), usage time (tool wear), usage frequency
put reports from several simulation runs can even be com- (change a dispenser after every n cycles), change of mate-
pared on the same graph. rial (machine setup) or other user-defined condition. Loca-
ProModel runs on any standard Pentium® or faster tions may be assigned input and output rules. Input rules
computer with Windows 95, Windows 98, Windows NT or are used for selecting what entity to process next, while
Windows 2000 operating systems. Licensing is available output rules are used for ranking entities (i.e. FIFO, LIFO,
for single-user “standalone” platforms as well as network user-defined) in a multi-capacity location.
licensing versions. ProModel does not require any special Two special types of locations that provide movement
graphics cards or special monitors, making it convenient and perform holding and operation functions are queues
and cost effective for companies and academic institutions and conveyors. A queue mimics the behavior of waiting
using standard microcomputers. lines, including the movement of entities through the line.
Conveyors are accumulating or non-accumulating and have
2 MODELING ELEMENTS a particular speed and load spacing. Conveyors may be
configured together to provide conveyor networks.
The modeling elements of ProModel provide the building ProModel also has the ability to schedule independent
blocks for representing the physical and logical compo- arrivals. This ability makes creating appointments easy,
nents of the system being modeled. Physical elements of and appointments can be automatically repeated weekly or
the system such as parts, machines, or resources may be daily. Other features include the optimization of shift and
referenced either graphically or by name. Figure 1 illus- arrival patterns, and the ability to group resources and col-
trates the pull-down menu system utilized to access the lect statistics on the group. ProModel also has an on-
various elements of the model. Names of modeling ele- screen 24-hour clock and calendar, plus several new func-
ments may be any word consisting of up to 80 alphanu- tions associated with this clock which provide access to
227
Harrell and Field
calendar days (including the day of the month), calendar 2.5 Processing (or Routing)
month, and calendar year.
This element defines the processing sequence and flow
2.2 Entities (or Parts) logic of entities between routing locations. The operation
or service times at locations, resource requirements, proc-
Entities or parts refer to the items being processed in the essing logic, input/output relationship, routing conditions,
system. These may include raw materials, piece parts, as- and move times or requirements can be described using the
semblies, loads, WIP, finished products, orders, or any Processing element.
other type of product that may need to be tracked as it Operation times can be defined by constants, distribu-
moves through the system. Entities of the same type or of tions, functions, attributes, subroutines, etc. or an expres-
different types may be consolidated into a single entity, sion containing any combination of these. Operation logic
separated into two or more additional entities or converted can include IF-THEN-ELSE statements, loops, nested
to one or more new entity types. statement blocks and subroutine calls. Resource related
Entities may be assigned attributes that can be tested in statements such as GET, USE, and JOINTLY GET with
making decisions or used for gathering specialized statistics. Boolean expressions and built-in operation statements such
The graphic of an entity can be changed as a result of an op- as ACCUM, JOIN, and GROUP greatly simplify otherwise
eration to show the physical change during the animation. complex logic in describing the processing requirements.
Built-in and user-defined routing rules provide flexibility
2.3 Path Networks for modeling all types of routing conditions.
Path networks are optional and define the possible paths 2.6 Arrivals (or Production Schedule)
that entities and resources may travel when moving
through the system. Path networks consist of nodes con- Deterministic, conditional, or stochastic arrivals can be
nected by path segments and are defined graphically with modeled using this element. Independent scheduled arrivals
simple mouse clicks. Multiple path networks may be de- simulate scheduling of repeated appointments and produc-
fined, and one or more resources and/or entities may share tion schedules can be modeled using independent arrivals.
the same network. Movement along a path network may be External files including production schedules or arrival data
defined in terms of distance and speed or by time. Path dis- can be read into ProModel in the Arrivals element. Built-in
tances are automatically computed based on the layout distributions, user-defined distributions, or spreadsheet cre-
scale defined by the user. ated data can be used to define arrival times and quantities.
There are three types of path networks: passing, non-
passing, and crane. A passing network is used for open path 2.7 Shifts (or Work Schedules)
movement where entities and resources are free to overtake
one another. Non-passing networks consist of single-file A powerful feature is the ability to define custom work and
tracks or guide paths such as those used for AGVs where break schedules through ProModel’s Shifts module. Work
vehicles are not able to pass. Crane networks define the op- and break schedules are defined graphically by time of day
erating envelope and interface points for bridge cranes. and day of the week. Resources or locations are then assigned
to a specific shift schedule. In addition, the user can define
2.4 Resources shift and break logic that controls location and resource be-
havior when they go off-line and also controls what happens
A resource may be a person, tool, vehicle or other object within the model once the resources are off-line.
that may be used to:
3 ADDITIONAL MODELING ELEMENTS
• Transport material between routing locations.
• Perform an operation on material at a location ProModel provides additional modeling elements used in
• Perform maintenance on a location or other re- statements and expressions to define special decision and op-
source that is down. erating logic in a model. These elements include variables,
attributes, functions, user-defined distributions, and costing.
Resources may be either static or assigned to a path There are several types of logic elements that may be
network for dynamic movement. A special type of dy- defined by the user. Like model elements, names given to
namic resource is a crane. Built-in decision rules can be these elements may be up to 80 characters in length. Fig-
used for allocation of resources and for prioritization of ure 2 shows the menu for accessing these additional ele-
part pick-up and delivery. Motion characteristics of re- ments, some of which will be discussed below.
sources such as empty and full speeds, acceleration, decel-
eration, and pickup and delivery time can also be specified.
228
Harrell and Field
3.4 Macros
A macro is a complex expression or set of expressions that
can be defined once and used multiple times as part of a
logic statement (i.e. processing, scheduling, downtime
logic). Macros are helpful when the same bit of logic is re-
peated in many places in the model.
3.5 Subroutines
A subroutine is a user-defined block of statements that can
be passed values when called and optionally return values
when completed. Subroutines may be referenced in the
place of any value or logic. A complex operation per-
formed several places in a model may be appropriately de-
fined by a single subroutine.
3.6 Arrival Cycles, Table Functions and
User Defined Distributions
Arrival patterns, table functions or user distributions may
be defined. For example, a user defined distribution that
Figure 2: More Elements Menu returns an operation time of 5 minutes 30 percent of the
time and an operation time of 8 minutes 70 percent of the
3.1 Attributes time can be expressed in the User Distributions element.
Attributes are placeholders assigned to an entity or loca- 3.7 External Files
tion. Attributes contain numerical information about par-
ticular entities or locations. Attributes are assigned user- One of the powerful features of ProModel is the ability to
defined alphanumeric names and numeric values that may read data from external text or spreadsheet files or write
be real or integer. Attributes may be useful containers of data to external files. For example, operation times (even
information such as routing priority, entity speed, conveyor in the form of expressions) from an Excel spreadsheet file
speed, or entity model number. can be read into ProModel using this element.
3.2 Variables 4 COSTING
Variables are used for decision-making and statistical re- With ProModel’s Costing feature, users can make deci-
porting. The value of a variable may be monitored over sions about their system on a cost basis. Users can monitor
time and displayed at the end of the simulation as a time costs associated with locations, entities, and resources dur-
series plot or histogram. Variables may hold integer or real ing a model run. In addition, the General Statistics Report
values. Local variables may also be used for quick conven- includes Costing statistics, automatically generated at run-
ience when defining logic. time. For locations, the user can find the cost of operating a
location. For resources, the total cost includes the usage
3.3 Arrays cost as well as the cost of not using the resource. For enti-
ties, the total cost includes the costs incurred at all loca-
An array is a matrix of variables representing multiple val- tions the entity passed through, the costs incurred by use of
ues and may be one-/multi-dimensional. ProModel 4.2 has resources, and the initial cost of the entity.
the ability to directly import Excel spreadsheet data into
arrays. This improves data accuracy and allows for easy 5 GRAPHICS
updates to processing data. Array data may also be directly
written to Excel spreadsheet format for manipulation of re- Graphics in ProModel are realistic and easy to create.
sults in a familiar environment. Visually realistic animation helps simulation to become an
effective communication vehicle between engineers and
managers. ProModel comes with an extensive library of
graphics with provision to create and add other graphics to
229
Harrell and Field
the library. ProModel’s Graphic Editor comes with a com- it can be selected manually while the animation is running or
plete set of drawing tools and a full spectrum of color se- may be changed automatically from within the logic.
lections. Scaling, rotating, copying and many other editing During the simulation the status of resources or the
features are available. You can even import drawings from current value of any logic element may be displayed.
other graphics packages. With little effort you can develop Source level debugging allows the modeler to trace each
quick and simple 2D layouts, or, with little extra effort, 3D action with the option to display the actual source state-
perspective layouts. CAD layout drawings (e.g. AutoCAD) ment that triggered the action. Trace statements may be
can also be brought in to use as the model background. The confined to a single area of a model. Status lights for loca-
Graphic Editor is shown in Figure 3. tions change colors to help the observer see various states
such as busy, idle or down.
ProModel 2001’s Dynamic Plot feature (Figure 4)
provides for graphical observation of statistical information
during runtime, as well as the ability to export this infor-
mation to an Excel spreadsheet. This statistical informa-
tion can be charted in 2D or 3D mode, or as a line, bar,
step, area, curve, or Gantt chart.
Figure 3: ProModel’s Graphic Editor
6 SCENARIOS AND RUNTIME INTERFACE
The runtime interface (RTI) is a convenient and controlled
environment for modifying selected model parameters (ca-
pacities, operation times, etc.) without having to change
the model data directly. It also provides an experimental
environment, which permits multiple scenarios to be de-
fined and simulated. The RTI can be accessed at the begin-
ning of a simulation run for making modifications for a
single run or for saving alternative modifications as scenar-
ios for running multiple scenario analysis. Figure 4: Dynamic Plots
7 RUNNING THE SIMULATION & ANIMATION ProModel’s animation screen is a virtual screen. This
means the animation layout is limited only by memory in
Models can be run for specified lengths of time or until all the computer. By turning off the animation, users can
entities have been processed. Multiple replications may speed up the simulation, run for a while and then turn the
also be specified. Models may be run with or without ani- animation back on. The simulation clock resolution can be
mation. The animation is very smooth and maintains great expressed in terms of hours, minutes, or seconds with a
resolution at any zoom factor. clock resolution of .00001 second.
The Views feature allows the modeler to define and then
access specific areas of the model layout quickly and easily. 8 OUTPUT REPORTS
Selecting a view scrolls the layout window and adjusts the
zoom so the observer sees a specific region of the layout re- Users can customize their output reports by selecting the
gardless of the layout window’s size. Once a view is defined, type of statistics desired for each resource, location, entity,
230
Harrell and Field
or variable. The statistics are written to a results database ences for model development. Default fonts and sizes for text
that can be saved as an Excel spreadsheet, or automatically and a choice of long or abbreviated menu lengths are avail-
converted to Access database tables. Additionally, graphic able. Prompts and added explanations can also be activated
reports of the outputs can be displayed, printed, plotted, or which may assist the novice user. The expert user can benefit
pasted into other programs. These graphs can be individual from choosing options that streamline the editing process.
or comparative pie charts, histograms, or time-series plots.
Figure 5 contains a sample location state graph. 10 OPTIMIZATION
SimRunner Optimization is an add-on capability for Pro-
Model simulation software. SimRunner turns a simulation
model into a solution machine by giving the best answer
possible in the least amount of time. The optimization proc-
ess takes an existing ProModel simulation model and per-
forms sophisticated “what-if” analysis and optimization
automatically. For each optimization project, the modeler
tells SimRunner which model to analyze/optimize, which
input factors to change, and how to measure system simula-
tion performance. You can run two types of projects in
SimRunner: Stage One Optimization Analysis, and Stage
Two Simulation Optimization. A Stage One Optimization
Analysis is a factorial design of experiments that tells the
user whether or not changing a given input factor is affecting
the objective function, and the significance of the effects. A
Stage Two Simulation Optimization is a multi-variable op-
timization that tries various combinations of input factors to
arrive at the combination that provides the best objective
function value. The SimRunner Output report generates the
following three types of data and reporting:
1. Data reports for import into spreadsheets
2. Analysis reports for text and word processing re-
ports
3. Charts for graphical display of results.
11 CONCLUSIONS
Until recently, manufacturing companies have not fully
benefited from simulation in making continuous improve-
ments due to the time, programming expertise, and cost in-
volved in getting useful results. PROMODEL products are
designed to quickly provide solutions using simulation
technology. ProModel’s goal is to make simulation a stan-
dard method for providing insightful, relevant, and benefi-
cial answers to engineers, managers and systems analysts.
Figure 5: Location State Graphs
AUTHOR BIOGRAPHIES
9 OPTIONS
CHARLES R. HARRELL is an Associate Professor of
One of the most accommodating features of ProModel is the Manufacturing Engineering at Brigham Young University,
provision for customizing the modeling environment to suit and founder and chairman of PROMODEL Corporation in
the preferences of the user. Under the View menu, they can Orem, Utah. Dr. Harrell received his B.S. in Manufactur-
zoom in or out, display a grid, set default directories for ing Engineering Technology from Brigham Young Univer-
model files, icon library files, or model output files. Users sity; M.S. in Industrial Engineering from the University of
can set and save default settings (i.e. window sizes, appear- Utah; and Ph.D. in Manufacturing Engineering from the
ance). ProModel also allows them to choose editing prefer- Technical University of Denmark. Prior to forming
231
Harrell and Field
PROMODEL, he worked in simulation and systems design
for Ford Motor Company and Eaton Kenway Corporation.
Dr. Harrell is a senior member of IIE and SME. His email
and web addresses are <harrellc@[Link]> and
<[Link]/sot/>.
KEVIN C. FIELD is the Development Manager and
Product Manager for PROMODEL Corporation’s latest
product, Innovate. He has been with PROMODEL Corpo-
ration for eight years. Mr. Field has developed many simu-
lation applications and models for PROMODEL customers
through consulting engagements and remote support ser-
vices. He has extensive experience designing and pro-
gramming Visual Basic applications, particularly those that
utilize ActiveX/COM technology and he has worked to in-
tegrate PROMODEL technology within other software ap-
plications. Mr. Field gained his background in develop-
ment of applications as a Senior Application Engineer and
as a Quality Control Specialist at PROMODEL. Mr. Field
has a Bachelor of Science degree in Mechanical Engineer-
ing from Brigham Young University. His email and web
addresses are <kevinf@[Link]> and <www.
[Link]>.
232