0% found this document useful (0 votes)
16 views

ProModel User Guide-1

Guia de usuario-1

Uploaded by

Guido Salazar S
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

ProModel User Guide-1

Guia de usuario-1

Uploaded by

Guido Salazar S
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

user guide

Disclaimer Copyright Information


The information in this guide is provided by Pro- © 1/06 ProModel Corporation
Model Corporation to document ProModel. The
All rights reserved
contents of this manual are subject to change
without notice and does not represent a commit- Printed in the United States of America
ment on the part of ProModel Corporation. The
software described in this guide is applied under
a license agreement and may be copied only
under the terms of the license agreement. No part
ProModel and SimRunner are registered trade-
of this guide may be reproduced, transmitted, or
marks of ProModel Corporation.
distributed by any means, electronic or mechani-
cal, for purposes other than the owner’s personal Text indicator graphics Copyright New Vision
use without express written permission from Pro- Technologies Inc.
Model Corporation.
Microsoft is a registered trademark and Win-
dows, Excel, and ActiveX are trademarks of
Microsoft Corporation.
Stat::Fit is a trademark of Geer Mountain Corpo-
ration.
IBM is a registered trademark of International
Business Machines Corporation.
Netware and Novell are a registered trademarks
of Novell, Inc.
AutoCAD is a registered trademark of Autodesk,
Inc.

1/06
ProModel iii
User Guide

Table of Contents

Introduction ...................................................................... 1

About the User Guide ........................................................... 1


Symbols and Notation .......................................................... 3
Keyboard ........................................................................ 3
Text ................................................................................ 3
Logic .............................................................................. 3
Product Support .................................................................... 4
Modeling Services ................................................................ 5
Reporting Suggestions .......................................................... 5

Chapter 1: Getting Started ................................................................. 7

Welcome to ProModel .......................................................... 7


Where to Go from here .................................................. 7
Using ProModel .................................................................... 9
Building Models ............................................................. 9
Running Models ........................................................... 11
Creating Run-Time Models ......................................... 11
Trace Window .............................................................. 11
Location Information Windows ................................... 12
Viewing Output ............................................................ 12

Chapter 2: Installation and Registration ........................................... 15


iv

General Setup Information ................................................. 15


Hardware Requirements ............................................... 15
Installation Procedure for a Stand-alone PC ...................... 15
Installation Procedure for Network Version ....................... 17
Overview ...................................................................... 17
Installation Types ......................................................... 17
Local Machine Install ................................................... 18
File Server Install ......................................................... 19
Set Up License Server .................................................. 21
Registering ProModel ......................................................... 24
Checking for ProModel Updates .................................. 28
Software License Key FAQ ......................................... 28

Chapter 3: Planning the Model ........................................................ 31

Steps for Doing Simulation ................................................ 31


Introduction .................................................................. 31
General Procedure ........................................................ 31
Step 1: Planning the Study ........................................... 32
Step 2: Defining the System ......................................... 36
Step 3: Building the Model .......................................... 41
Step 4: Conducting Experiments .................................. 43
Step 5: Analyzing the Output ....................................... 51
Step 6: Reporting the Results ....................................... 51
Pitfalls in Simulation .................................................... 52
Summary ...................................................................... 52
Building a Model ................................................................ 53
Modeling Scenario ....................................................... 53
Phased Modeling Approach ......................................... 54
Phase 1: Basic Model Elements ................................... 55
Phase 2: Adding Resources & Variability ................... 58
Phase 3: Additional Operations .................................... 61
Running a Model ................................................................ 62
Simulation Options ...................................................... 63
Animation Screen ......................................................... 63
Options Menu ............................................................... 64
Information Menu ........................................................ 64
ProModel v
User Guide

Viewing Model Statistics & Reports .................................. 65

Chapter 4: Modeling Environment .................................................... 67

Menu Bar ............................................................................ 67


File Menu ............................................................................ 68
File Management .......................................................... 68
Model Merging ............................................................ 70
View/Print Model Text ................................................ 72
Model Packaging/Data Protection ............................... 74
Edit Menu ........................................................................... 76
Editing Tables .............................................................. 76
Editing Process Records ............................................... 77
Editing Notes Windows ............................................... 78
Editing Logic Windows ............................................... 78
Editing Background Graphics ...................................... 80
Editing & Moving Graphics ........................................ 81
View Menu ......................................................................... 83
Switches ....................................................................... 83
Toolbars ....................................................................... 83
Settings ......................................................................... 83
Views ........................................................................... 84
Zoom Feature ............................................................... 86
Layout Settings ............................................................ 86
Edit Tables ................................................................... 90
Commands ................................................................... 90
Window Menu .................................................................... 91
Help Menu .......................................................................... 91
Toolbars .............................................................................. 92
Right-Click Menu ............................................................... 94

Chapter 5: Building the Model: General Elements ............................ 95

Build Menu .................................................................. 95


Locations ............................................................................ 96
vi

Locations Editor ........................................................... 96


Location Edit Table ...................................................... 97
Location Graphics Window ......................................... 98
Location Graphics ...................................................... 100
Capacities and Units ................................................... 106
Location Downtimes .................................................. 107
Rules Dialog Box ....................................................... 115
Entities .............................................................................. 118
Entities Editor ............................................................ 118
Defining Entities ........................................................ 119
Entity Graphic Dimensions ........................................ 119
Defining Multiple Entity Graphics ............................ 120
Preemptive Entities .................................................... 121
Path Networks .................................................................. 123
Path Networks Editor ................................................. 123
A Typical Path Network ............................................ 125
Path Segment Edit Table ............................................ 126
Automatic Time and Distance Calculation ................ 127
Interfaces Edit Table .................................................. 127
Mapping Edit Table ................................................... 128
Nodes Edit Table ........................................................ 130
Pre-translation check for Path Networks ................... 131
Resources .......................................................................... 132
Typical Use of Resources .......................................... 132
Resources Editor ........................................................ 133
Static Resources ......................................................... 135
Dynamic Resources .................................................... 136
Multiple Resource Graphics ....................................... 136
Multi-Unit Resources vs.
Multiple Single-Unit Resources ................................. 137
Resource Downtimes ................................................. 138
Resource Priorities and Preemption ........................... 140
Resource Shift Downtime Priorities .......................... 141
Resource Preemption Matrix ..................................... 141
Resource Specifications Dialog Box .......................... 143
Resource Search Routines .......................................... 145
Node Logic Editor ...................................................... 146
Resource Points .......................................................... 147
Processing ......................................................................... 149
ProModel vii
User Guide

Using the Processing Editor ....................................... 149


Defining Entity Processing ........................................ 150
Processing Editor ....................................................... 151
Process Edit Table ...................................................... 151
Routing Edit Table ..................................................... 155
Processing Tools ........................................................ 159
Arrivals ............................................................................. 163
Arrivals Editor ............................................................ 163
Arrivals Edit Table ..................................................... 163
Defining Arrivals ....................................................... 164
Independent Arrivals .................................................. 165
Arrival Logic .............................................................. 167
Shifts & Breaks ................................................................. 168
Shift Assignments ...................................................... 171
Shift Downtime Principles ......................................... 175
General Information ......................................................... 179
General Information Dialog Box ............................... 179
Cost ................................................................................... 183
Cost Dialog Box ......................................................... 183
Building a Model with Costing .................................. 184
Preemption/Downtime ............................................... 185
Join/Load .................................................................... 185
Combine/Group .......................................................... 185
Special Cost Handling ................................................ 186
Costing Output Statistics ............................................ 186
Enable or Disable Costing .......................................... 187
Tanks ................................................................................ 188
Basic Concepts ........................................................... 189
Tank Logic Builder .................................................... 191
Pre-defined Tank Subroutines .......................................... 193
Tank_Fill .................................................................... 193
Tank_Empty ............................................................... 194
Tank_Transfer ............................................................ 195
Tank_TransferUpTo ................................................... 195
Tank_TransferDownTo .............................................. 196
Tank_SetLevel ........................................................... 197
Tank_Inc .................................................................... 198
Tank_Dec ................................................................... 198
viii

Tank_RiseTrigger ...................................................... 199


Tank_FallTrigger ....................................................... 200
Tank_Cap ................................................................... 200
Tank_FreeCap ............................................................ 200
Tank_DoOperation ..................................................... 201
Tank_GoDown ........................................................... 201
Tank_GoDownSched ................................................. 202
Tank_DoPrep ............................................................. 203
Tank_SetState ............................................................ 204
Tank_SelectOutput ..................................................... 204
Tank_SelectInput ....................................................... 206
Tank_UpdateStats ...................................................... 206
Tank_Rate .................................................................. 207
Pre-defined Data Elements ......................................... 207
Defining Tank Control Subroutines ........................... 209
Examples of Tank Control Logic ............................... 209
Background Graphics ....................................................... 218
Background Graphics Editor Modes .......................... 218
Background Graphics Editor ...................................... 219

Chapter 6: Building the Model: Advanced Elements ...................... 225

Attributes .......................................................................... 225


Attribute Types .......................................................... 225
Memory Allocation for Attributes ............................. 226
Attributes vs. Local Variables .................................... 226
Cloning Attributes ...................................................... 226
Attribute Edit Table ................................................... 227
Example of Attributes in Logic .................................. 227
Attributes and the JOIN Statement ............................ 228
Attributes and the GROUP/UNGROUP Statements . 228
Attributes and the LOAD/UNLOAD Statements ...... 229
Attributes and the COMBINE Statement ................... 230
Variables ........................................................................... 231
Variable Edit Table .................................................... 231
Variable Layout .......................................................... 232
Editing a Variable’s Icon ........................................... 233
Local Variables .......................................................... 233
ProModel ix
User Guide

Arrays ............................................................................... 235


Arrays Edit Table ....................................................... 236
Initializing Arrays ...................................................... 237
Import Data into Arrays ............................................. 237
Export Arrays to Spreadsheets ................................... 239
Using Arrays .............................................................. 240
Notes on Arrays ......................................................... 240
Macros .............................................................................. 241
Macro Editor .............................................................. 241
Run-Time Interface .................................................... 242
Resource Grouping .................................................... 244
Subroutines ....................................................................... 246
Subroutine Editor ....................................................... 246
Subroutine Format ...................................................... 247
Subroutine Example ................................................... 248
Interactive Subroutines .............................................. 249
External Subroutines .................................................. 250
Subroutines vs. Macros .............................................. 250
Arrival Cycles ................................................................... 252
Arrival Cycles Edit Table .......................................... 252
Arrival Cycles Example ............................................. 252
Cumulative Cycle Tables ........................................... 254
Arrival Cycles by Quantity ........................................ 254
Table Functions ................................................................ 256
Table Functions Editor ............................................... 256
Table Function Edit Table .......................................... 257
User Defined Distributions ............................................... 259
User Distribution Edit Table ...................................... 259
Discrete Distributions ................................................ 259
Continuous Distributions ........................................... 261
External Files .................................................................... 262
External Files Editor .................................................. 262
File Types ................................................................... 262
Streams ............................................................................. 266
Streams Edit Table ..................................................... 266
Using Random Number Streams ................................ 266
Stream Example ......................................................... 267
x

Material Handling Systems .............................................. 269


Crane Systems ............................................................ 269
Conveyors .................................................................. 277
Automated Guided Vehicle Systems ......................... 281
Manual Material Handling Systems ........................... 282
Industrial Vehicles ..................................................... 282
Automated Storage/Retrieval Systems ....................... 283
Modeling Tips .................................................................. 284
Using Entity Attributes .............................................. 284
Customizing Graphics ................................................ 285
Batching & Unbatching Entities ................................ 286
Modeling Priorities .................................................... 288
Displaying Statistics On Screen ................................. 289
Creating Pull Systems ................................................ 290
Making Assemblies .................................................... 291

Chapter 7: Building the Logic ......................................................... 293

Logic Builder .................................................................... 293


Using the Logic Builder ............................................. 293
Operation Logic ................................................................ 299
Preemption Process Logic ................................................ 300
Routing Move Logic ......................................................... 302
Move-Related Statements .......................................... 303
Related Logic Statements ........................................... 304
Statement Processing ................................................. 304
Shift & Break Logic ......................................................... 305

Chapter 8: Using Auxiliary Tools ...................................................... 307

Tools Menu ................................................................ 307


Expression Search ............................................................ 308
Expression Search Sub-Menu Choices ...................... 308
Find Expression .......................................................... 309
Replace Expression .................................................... 309
Important Notes Regarding Expression Searches ...... 310
ProModel xi
User Guide

Local Find and Replace .............................................. 311


Graphic Editor .................................................................. 312
Overview .................................................................... 312
File Menu ................................................................... 313
Edit Menu ................................................................... 314
Graphics Menu ........................................................... 316
Options Menu ............................................................. 319
Window Menu ............................................................ 321
Library Edit Buttons ................................................... 321
Manipulating Graphics ............................................... 321
Create New Graphics and Libraries ........................... 322
Naming a Graphic ...................................................... 322
Graphic Tools Button Bar .......................................... 323
Editing a Library Graphic .......................................... 331
Options ............................................................................. 334
Customize ......................................................................... 336
Power Tools ...................................................................... 337
ProClare ..................................................................... 338
ProSetter ..................................................................... 339
Shift Library ............................................................... 340
ProActiveX ................................................................. 340
Promodel Player ......................................................... 343

Chapter 9: Running the Model ....................................................... 347

Simulation Menu ........................................................ 347


Simulation Options ........................................................... 348
General Options & Settings ....................................... 348
Output Reporting Options .......................................... 350
Running a Specific Replication .................................. 351
Customized Reporting ................................................ 352
Model Parameters & Scenarios ........................................ 352
Model Parameters ...................................................... 352
Scenarios .................................................................... 353
Running the Simulation .................................................... 355
Run-Time Menus & Controls ........................................... 355
Run-Time File Menu .................................................. 355
xii

Run-Time Simulation Menu ...................................... 356


Run-Time Options Menu ........................................... 356
Debug Option ............................................................. 357
Trace Options ............................................................. 361
Animation Options ..................................................... 363
Run-Time Information Menu ..................................... 363
Dynamic Plots ............................................................ 364
Run-Time Window Menu .......................................... 368
Run-Time Interact Menu ............................................ 368
Run-Time Help Menu ................................................ 368
Run-Time Controls .................................................... 369
Run-Time Right-Click Menu ..................................... 370
SimRunner ................................................................. 370

Chapter 10: Reports and Graphs ................................................... 373

Output Viewer 3DR .......................................................... 374


Menu Bar .................................................................... 374
Toolbar ....................................................................... 379
Right-click Menu ....................................................... 379
Creating Reports ............................................................... 382
Creating Charts ................................................................. 389
Chart Window ............................................................ 389
Category Chart ........................................................... 391
State Chart .................................................................. 392
Histogram ................................................................... 394
Time Plot .................................................................... 397

Chapter 11: Language Elements and Expressions .......................... 403

Language Elements .................................................... 403


Names ............................................................................... 404
Keywords .......................................................................... 405
Numbers ........................................................................... 406
Character Strings .............................................................. 407
Operators .......................................................................... 408
ProModel xiii
User Guide

Mathematical Operators ............................................. 408


Relational Operators .................................................. 408
Comparison Operators ............................................... 408
Operator Precedence .................................................. 408
Expressions ................................................................ 408
Numeric Expressions ....................................................... 409
Boolean Expressions ........................................................ 410
Time Expressions ............................................................. 411
String Expressions ............................................................ 412
Operator Precedence ......................................................... 413

Chapter 12: Routing Rules .............................................................. 415

Routing Rules ............................................................. 415


Alternate ........................................................................... 416
Backup .............................................................................. 417
Continue ........................................................................... 418
Dependent ......................................................................... 420
Empty ............................................................................... 421
First Available .................................................................. 422
Join ................................................................................... 423
Load .................................................................................. 424
Longest Unoccupied ......................................................... 425
Most Available ................................................................. 426
Probability ........................................................................ 427
Random ............................................................................. 428
Send .................................................................................. 429
Turn .................................................................................. 430
Until Full .......................................................................... 431
User Condition .................................................................. 432

Chapter 13: Logic Elements ............................................................ 435

Functions .......................................................................... 435


xiv

System Functions ....................................................... 435


General Functions ...................................................... 435
Statements ......................................................................... 436
Distribution Functions ...................................................... 437
Priorities ........................................................................... 438

Chapter 14: Statements and Functions .......................................... 439

Accum ............................................................................... 439


Activate ............................................................................. 441
Animate ............................................................................ 442
ArrayDims() ..................................................................... 443
ArrayDimSize() ................................................................ 444
Assignment Statement ...................................................... 445
Begin ................................................................................. 446
Break ................................................................................. 447
BreakBlk ........................................................................... 448
CalDay() ........................................................................... 449
CalDOM() ......................................................................... 450
CalHour() .......................................................................... 451
CalMin() ........................................................................... 452
CalMonth() ....................................................................... 453
CalYear() .......................................................................... 454
Cap() ................................................................................. 455
Char() ................................................................................ 456
Clock() .............................................................................. 457
Close ................................................................................. 458
Combine ........................................................................... 459
Comments ......................................................................... 461
Contents() ......................................................................... 462
Create ................................................................................ 463
Debug ............................................................................... 465
Dec .................................................................................... 466
Display .............................................................................. 467
ProModel xv
User Guide

Do...Until .......................................................................... 468


Do...While ........................................................................ 469
Down ................................................................................ 470
DownQty() ........................................................................ 471
DTDelay() ......................................................................... 472
DTLeft() ........................................................................... 473
DynPlot() .......................................................................... 474
End .................................................................................... 475
Ent() .................................................................................. 476
Entity() .............................................................................. 477
Entries() ............................................................................ 478
Exp() ................................................................................. 479
ForLocation() .................................................................... 480
Format() ............................................................................ 481
ForResource() ................................................................... 482
Free ................................................................................... 483
FreeCap() .......................................................................... 484
FreeUnits() ........................................................................ 485
Get .................................................................................... 486
GetCost() .......................................................................... 488
GetReplicationNum() ....................................................... 489
GetResRate() .................................................................... 490
Goto .................................................................................. 491
Graphic ............................................................................. 492
Group ................................................................................ 493
GroupQty() ....................................................................... 495
If...Then...Else .................................................................. 496
Inc ..................................................................................... 498
IncEntCost ........................................................................ 499
IncLocCost ....................................................................... 500
IncResCost ........................................................................ 501
Int ...................................................................................... 502
Join ................................................................................... 504
Jointly Get ........................................................................ 506
Last() ................................................................................. 507
xvi

Ln() ................................................................................... 508


Load .................................................................................. 509
Loc() ................................................................................. 511
LocState() ......................................................................... 512
Location() ......................................................................... 513
Log .................................................................................... 514
MapArr ............................................................................. 516
Match ................................................................................ 518
Move ................................................................................. 520
Move For .......................................................................... 522
Move On ........................................................................... 523
Move With ........................................................................ 524
Next() ................................................................................ 526
Order ................................................................................. 527
OwnedResource() ............................................................. 528
Pause ................................................................................. 529
PercentOp() ....................................................................... 530
PercentUtil() ..................................................................... 531
Preemptor() ....................................................................... 532
Priority .............................................................................. 533
Prompt .............................................................................. 534
Rand() ............................................................................... 536
Read .................................................................................. 537
Real ................................................................................... 539
Real() ................................................................................ 540
Rename ............................................................................. 541
Report ............................................................................... 542
Res() ................................................................................. 543
Reset ................................................................................. 544
Reset Stats ........................................................................ 545
Resource() ......................................................................... 546
ResourceUnit() ................................................................. 547
ResQty() ........................................................................... 548
Return ............................................................................... 549
Round() ............................................................................. 551
ProModel xvii
User Guide

Route ................................................................................. 552


Send .................................................................................. 554
SetRate .............................................................................. 556
Sound ................................................................................ 558
Split As ............................................................................. 559
Sqrt() ................................................................................. 561
Stop ................................................................................... 562
ThreadNum() .................................................................... 563
TimeLeft() ........................................................................ 564
TimesUsed() ..................................................................... 565
Trace ................................................................................. 566
Trunc() .............................................................................. 567
Ungroup ............................................................................ 568
Units() ............................................................................... 570
Unload .............................................................................. 571
Use .................................................................................... 573
Variable() .......................................................................... 575
View ................................................................................. 576
Wait .................................................................................. 577
Wait Until ......................................................................... 578
Warmup ............................................................................ 579
While...Do ........................................................................ 580
Write ................................................................................. 581
WriteLine .......................................................................... 582
Xsub() ............................................................................... 583
Xwrite ............................................................................... 585

Appendix A ................................................................... 587

Glossary ........................................................................ 601

Bibliography ................................................................. 606


xviii

Index ............................................................................. 607


ProModel 1
User Guide

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.

About the User Guide model. It then provides an example scenario,


which designs a model from start to finish.
The ProModel User Guide is designed as a refer-
ence to guide you through the process of build- Chapter 4
ing, running, and viewing the results of
Modeling Environment
simulation models. The guide contains detailed
information on the use of features and capabili- Familiarizes your with the ProModel modeling
ties found within ProModel and serves as a com- environment. You will learn how to use many of
pliment to the product training. the menus and windows found in ProModel.

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

tions, user-defined distributions, external files, Chapter 11


and streams. Language Elements and Expres-
sions
Chapter 7
Describes the basics of the language used to
Building the Logic define model objects and logic, as well as expres-
Applying intelligence and decision-making capa- sions and the role they play in creating models.
bilities to your models makes them true to life. Discussion focuses on names, reserved words,
The logic builder helps you create and implement numbers, strings, operators, and basic syntactical
logic for operations, routings, shifts, breaks, and structure, as well as operator precedence and
more. numeric, Boolean, time, and string expressions.

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

Glossary Symbols and Notation


Contains definitions and descriptions for many of To better help you navigate this text, please
the terms and concepts common to simulation review the following symbols and conventions.
and modeling.

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:

IF Start_Time = 10 THEN INC Var1


4
Product Support

Product Support Telephone (888) PROMODEL


Speak to a technical support engineer and resolve
Technical support is available to all licensed Pro- the problem over the phone. Our support lines are
Model users with current maintenance and sup- open Monday through Friday from 6:00 AM to
port agreements. Support representatives are glad 6:00 PM MST. The technical support number is
to answer specific questions you may have and
(888) PROMODEL.
offer direction in solving specific modeling chal-
lenges you encounter.
After Hours Support (801) 362-8324
In our ongoing effort to serve you better, techni-
Technical support
cal support is also available after hours. Please
have ready your user profile and a description of
Technical support is available via: telephone, fax, the problem you encountered.
ftp, and email. When you contact technical sup-
port, please be prepared to provide your user pro- Fax (801) 226-6046
file and a description of any problems you
experience. Send a fax of the listing created when you select
Print Text from the File menu along with your
User Profile user profile and a description of the problem you
encountered.
•Your name and company.
•The license # found on your security key or FTP ftp.promodel.com
ProModel CD.
•Hardware make and configuration. For file transfers to and from ProModel Corpora-
•Network information (if applicable).
tion via file transfer protocol, contact the ftp
server at “ftp.promodel.com”. ProModel Corpo-
•Version number of Windows and ProModel.
ration allows user access via anonymous login
(your e-mail address is your password).
Problem Description
•Brief description of the problem you are Email [email protected]
experiencing.
When you contact technical support via email,
•What you were doing when the problem
send your user profile and a description of the
occurred.
problem you encountered.
•The exact wording of any messages that
appeared on your screen.
ProModel 5
User Guide

Modeling Services Reporting Suggestions


If you find yourself in need of extra help or spe- It is our goal to make ProModel the ultimate
cific expertise to complete your simulation manufacturing simulation tool. To do this, we
project, let us help you. ProModel Corporation rely on your input. Please feel free to submit
Modeling Services will meet all of your needs comments and ideas on how we may improve the
with fast, accurate results at competitive rates. ProModel software and documentation.
Whether simple or complex, partial or complete,
ProModel Corporation Modeling Services can Send us your comments
create any model you require. With our vast
experience in producing simulation models for ProModel Product Team
many diverse applications, we are in a unique ProModel Corporation
position to evaluate your system and isolate spe- 556 E. Technology Way
cific improvements. We work closely with you Orem, UT 84097
during the development process to ensure that the
model we create is complete and precise. Phone (801) 223-4600
Fax (801) 226-6046
With each simulation ProModel Corporation pro- Email [email protected]
vides a complete, comprehensive analysis of your
system. We document conclusions and results
derived from the project and present you with sta-
tistics suitable for company presentations and
briefings. You may even present a limited ver-
sion of the model which allows repeated execu-
tions and minor revision capabilities.

For more information on modeling


services, please contact:

Phone (801) 223-4600


Fax (801) 226-6046
6
Reporting Suggestions
ProModel 7
User Guide

Chapter 1: Getting Started

Welcome to ProModel •Transfer lines• JIT and KANBAN systems


•Flexible Manufacturing systems• Supply
ProModel is a powerful, Windows-based simula- chains & logistics
tion tool for simulating and analyzing production
systems of all types and sizes. ProModel provides
the perfect combination of ease-of-use and com- Use of ProModel requires only a brief orientation
plete flexibility and power for modeling nearly and virtually no programming skills. With Pro-
any situation, and its realistic animation capabili- Model's convenient modeling constructs and
ties makes simulation come to life. graphical user interface, model building is quick
and easy. All you do is define how your particu-
ProModel provides engineers and managers the
lar system operates, mostly through part flow and
opportunity to test new ideas for system design or
operation logic. Automatic error and consistency
improvement before committing the time and
checking help ensure that each model is complete
resources necessary to build or alter the actual
prior to simulation. During simulation, an ani-
system. ProModel focuses on issues such as
mated representation of the system appears on the
resource utilization, production capacity, produc-
screen. After the simulation, performance mea-
tivity, and inventory levels. By modeling the
sures such as resource utilization, productivity
important elements of a production system such
and inventory levels are tabulated and may be
as resource utilization, system capacity, and pro-
graphed for evaluation
duction schedules, you can experiment with dif-
ferent operating strategies and designs to achieve
the best results. Where to Go from Here
As a discrete event simulator, ProModel is 1. In order to use ProModel effectively, you
intended primarily for modeling discrete part must understand the basics of the Microsoft
manufacturing systems, although process indus- Windows operating environment. If you are
tries can be modeled by converting bulk material unfamiliar with Windows you should begin
into discrete units such as gallons or barrels. In by reviewing the help information. To do
addition, ProModel is designed to model systems this, select Help from the Start menu. If you
where system events occur mainly at definite are an accomplished Windows user, you can
points in time. Time resolution is controllable proceed to the next step.
and ranges from .01 hours to .00001 seconds. 2. To begin using ProModel you must install
•Typical applications for using ProModel the software. This is described in Chapter 2:
include: Installation and Registration.
•Assembly lines• Job Shops 3. You will want to become familiar with the
basic theory of model building, and review
8 Chapter 1:
Welcome to ProModel

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

Using ProModel graphical tools for placing locations, path net-


works and other modeling elements.
ProModel views a production system as an
arrangement of processing locations, such as
machines or work stations, through which parts
(or entities) are processed according to some pro-
cessing logic. A system may also include paths,
such as aisle-ways for movement, as well as sup-
porting resources, such as operators and material
handling equipment used in the processing and
movement of parts.
The example below depicts a typical manufactur-
ing workcell with six processing locations
(Receiving, NC_301L, NC_302L, Degrease,
Inspect, Rework), two entity types (Pallets and
Blanks), two operators, and one transporting
device (forklift). Models such as this are devel-
oped rapidly and easily using ProModel's graphi-
cal user interface and point-and-click approach to
modeling. Modules may be completed in any order and with
any amount of switching back and forth between
modules. However, with certain exceptions, it is
recommended that modules be completed in the
general order in which they appear in the menu.
For example, it is usually best to identify and
place locations in a model, and define the entities
to be processed at those locations, before actually
defining processing logic. This is generally
accepted since processing logic describes the
flow of entities from location to location and the
operations performed on, for, or in behalf entities
at each location.
Building Models
Edit Tables
Models are created by completing the necessary
modules selected from the Build menu shown Edit tables, such as the Locations edit table, are
below. Each module consists of various edit used extensively throughout ProModel for defin-
tables and dialog boxes used to supply model ing model elements. Edit tables provide direct
information. A layout window also appears with access to model data without wading though sev-
eral levels of dialog boxes. Each table consists of
records, which consist of fields describing some
aspect of the element. Many of these fields have
heading buttons you can click (or select and press
10 Chapter 1:
Using ProModel

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.

To access the Logic Builder, click the right


mouse button in any edit box which accepts an
expression or anywhere inside an open logic win-
dow. You may also click the Build button on the
logic window's toolbar.

Model Merging and Submodels


Logic Builder Another extremely useful feature in ProModel is
The Logic Builder in ProModel provides a quick the ability to merge two or more models into one
and powerful way to create and insert valid state- larger model. This supports the concept of modu-
ments and expressions in logic windows or fields. lar model building, where models are created and
It takes you through the process of creating state- tested in modules, and then joined together to
ments or expressions, as well as providing point- produce a final model.
and-click access to every element defined in your The use of sub-models further allows you to build
model. The Logic Builder handles the syntax for common model elements such as work cells and
place them repeatedly in a model. The elements
of each sub-model (i.e., locations, entities,
resources, etc.) may all be given a common prefix
ProModel 11
User Guide

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.

For more information on merging models, see


“Model Merging” on page 70.
Creating Run-Time Models
On-Line Help
One of the most powerful features in ProModel is
Regardless of where you are in the model build- the ability to create models that may be run by
ing process, the on-line help system is available others who do not own the full software. PRO-
to provide context specific definitions and MODEL allows you to install the software on any
instructions. The help system can even run in the machine to run a model. However, without the
background, allowing instant access to help security key, the user has limited ability to build
whenever you need it. or make changes to a model.
Like all Windows applications, you can locate You may wish to develop run-time models to
the help you need quickly using the standard help allow the user to perform "what-if" analyses with
tools. the models. PROMODEL encourages you to
develop demonstration models, and allows you to
Running Models distribute them freely. These models can be run
by installing ProModel from the CD-Rom onto a
Completed models are run using the Simulation computer without a security key.
menu. Model data is automatically checked for
consistency and completeness before each simu-
lation begins. Trace Window
As shown in the dialog below, ProModel allows Several tools are available to help you verify and
you to specify a run length, warm-up period, validate your models. During model execution
number of replications, and other special options you may trace the activity of the simulation
before running a simulation. In addition, you may events to see exactly what is happening in the
run the models with or without animation. For
12 Chapter 1:
Using ProModel

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.

Location Information Windows


In addition to trace files, you may track the activ-
ity at any location through a Location Informa-
tion window. This feature gives up-to-the-minute
information about a selected location, such as Graphical Analysis
current contents, total entries, and operational
In addition to the general report shown above,
state (i.e., idle, blocked, or in operation).
almost all report elements of a model may be dis-
played graphically. Below is an example of a
Category Chart.

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

Chapter 2: Installation and


Registration

General Setup Information Installation Procedure for a


This section describes how to install and register Stand-alone PC
ProModel.
The installation program will decompress and
copy files from the CD-ROM into user-specified
Hardware Requirements directories.

Minimum Technical Support


Pentium 3 - 800 or better
512MB RAM If you encounter problems during installation,
200 MB Free Disk Space please call the Product Team at (888) PRO-
SVGA Monitor (1024 x 768) MODEL between 6:00 AM and 6:00 PM MST,
CD ROM Monday through Friday. We will be glad to help
Mouse you get up and running.
Windows 98 SE or higher

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

The Setup program may require you to reboot


4. Click Next to proceed with the installation your computer during the setup. If you do so, the
5. Review the License Agreement. If you wish Setup program will automatically launch after the
to accept the agreement and continue with reboot, and the installation will continue.
the installation, , select the button to accept
the agreement, and then click Next. When you have completed the installation, you
can run ProModel from the Windows Start menu.
6. Select Standard Package and click Next.
Upon running ProModel for the first time, you
7. From the dialog that appears, choose the
will be prompted to register ProModel. For
components that you would like the Setup
program to install. It is recommended that instruction on doing so, see the section at the end
you allow the Setup program to install all of this chapter on registering ProModel.
components, hard drive space permitting.
When you have finished selecting your com-
ponents, click Next.
8. Choose the destination directory for the
install. If you wish to change the destination
from the default, select the Browse button
ProModel 17
User Guide

Installation Procedure for sub-nets, see “Find a License Key Server on a


Routed Network” on page 23.
Network Version
In a multi-user environment, license tracking
with multiple keys is difficult. To combat this,
PROMODEL Corporation offers a network ver-
Installation Types
sion of ProModel that allows a single machine to
control license usage (via a network connection) Local Machine Install
for several users. To use this method of license
This procedure allows you to install to and exe-
tracking, you must install a network version of
cute ProModel from the local hard drive of a
ProModel. The network version of ProModel
workstation, yet still require the workstation to
includes a hardware security key and the license
make a license request from the license server.
manager software you will use to control license
usage at your site.
Pros
•Locally stored files minimize start-up time.
Overview •One-step installation as opposed to a file
server install.
When you install and run the network version of
•Limits network usage to short license
ProModel from a workstation’s local hard drive
or a file server share, the workstation searches requests only and allows users to connect
your network for a license key server rather than remotely due to lower network traffic needs.
check its own printer port for a security key.
Once it locates the license key server, the work- Cons
station asks the license manager software (run- •You must install ProModel from the CD at
ning on the key server) if a license is available. If each workstation.
a license is available, the license manager soft- •Install occupies more hard drive space on
ware will assign a license to the workstation. each workstation than when you install it on
When you exit ProModel, the license you used a file server share.
becomes available to another user.
Check the support web page for periodic updates File Server Install
to the installation information, software configu- This procedure allows you to install ProModel to
ration, and the license server software for Pro- a share on a file server. From each workstation
Model. that will run ProModel, run the workstation setup
program, pmwsetp.exe (this will create a program
http://www.promodel.com/support group, icons, and copy several files to the win-
dows directory).
Please note
Pros
If you are running a network version of Pro- •Saves hard drive space on the workstation by
Model on a routed network and your license key running ProModel from the file server.
server and workstations are located on different
18 Chapter 2:
Installation Procedure for Network Version

•End-user can run workstation setup program Please note


without administrative help.
If the Setup Program did not open automatically,
Cons select Run... from the Windows Start menu. Type
•File server must always be available. x:\install.exe (where x is the CD-ROM drive let-
ter) and press ENTER. The proper dialog will the
Set Up Network License Server appear
Whether you choose to do a file server share or
local hard drive install of the network version of
ProModel, you must set up a license server. The 4. Click Next to proceed with the installation
license server consists of the security key that
5. Review the License Agreement. If you wish
plugs into the license server’s printer port, and
to accept the agreement and continue with
the license manager software. When installed, the
the installation, , select the button to accept
license server responds to ProModel license the agreement, and then click Next.
requests and allows workstations to run either a
full version (if sufficient licenses are available) or 6. From the dialog that appears, select Net-
work Package. The dialog will then appear as
a limited run-time version.
below:

Local Machine Install

Install Program Files on Local


Machine:

1. Start Windows.
2. Insert the CD-ROM.
3. The ProModel Setup program will open
automatically, and display the following win-
dow.

7. Select Install program files on local machine,


and click Next.
ProModel 19
User Guide

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.

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.
9. From the dialog that appears, choose the
components that you would like the Setup When you have completed the installation, you
program to install. It is recommended that must set up a license server. See “Set Up License
you allow the Setup program to install all Server” on page 21, for information on how to do
components, hard drive space permitting. so.
When you have finished selecting your com-
ponents, click Next.
Please note
10. Choose the destination directory for the
install. If you wish to change the destination
from the default, select the Browse button If you are running a network version of Pro-
and choose a new directory. When you have Model on a routed network and your license key
chosen the destination directory, click Next. server and workstations are located on different
11. The next dialog allows you to have the
sub-nets, see “Find a License Key Server on a
Setup program create backups of any files Routed Network” on page 23.
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. File Server Install
Later, if you choose, you can have the instal-
lation rolled back and the original files
restored. If hard drive space permits, it is rec- Install Programs & Grant Rights/
ommended that you allow the Setup pro- Permissions
gram to backup previous files. When you are
ready to continue with the installation, click From a PC on the network, install the software on
Next. the file server and grant appropriate rights. Users
will need at least the equivalent rights of read and
12. The Setup program will add a new Win-
dows Program group containing ProModel file scan for the PROMODEL directory.
program icons to the Program Manager.
20 Chapter 2:
Installation Procedure for Network Version

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.

7. Select Install program files on file server, and


click Next.
8. Select the type of hardware key you are
using on the network server, and click Next.

Please note

If the Setup Program did not open automatically,


select Run... from the Windows Start menu. Type
x:\install.exe (where x is the CD-ROM drive let-
ter) and press ENTER. The proper dialog will the
appear

4. Click Next to proceed with the installation


5. Review the License Agreement. If you wish 9. From the dialog that appears, choose the
to accept the agreement and continue with components that you would like the Setup
the installation, , select the button to accept program to install. It is recommended that
the agreement, and then click Next. you allow the Setup program to install all
components, hard drive space permitting.
When you have finished selecting your com-
ponents, click Next.
10. Choose the destination directory for the
install. If you wish to change the destination
from the default, select the Browse button
ProModel 21
User Guide

and choose a new directory. When you have Workstation Set up


chosen the destination directory, click Next.
11. The next dialog allows you to have the Set up a Workstation:
Setup program create backups of any files
that might be replaced during the installa-
tion. This is helpful if you are installing this ver- 1. Run ProModel Workstation Setup.exeS
sion of the ProModel software on a computer (located in the directory to which you
that already has ProModel installed on it. installed ProModel on the file server) from the
Later, if you choose, you can have the instal- workstation you will use to run ProModel.
lation rolled back and the original files 2. Click Next.
restored. If hard drive space permits, it is rec-
3. Select the components you wish to install
ommended that you allow the Setup pro-
and click Next.
gram to backup previous files. When you are
ready to continue with the installation, click 4. Select the folder to which you will to install
Next. ProModel and click Next.
12. The Setup program will add a new Win- 5. Select the program group you wish to use
dows Program group containing ProModel and click Next. (By default, ProModel creates
program icons to the Program Manager. its own program group).
When you have selected where you want the
6. Click Next to finish installing ProModel.
Program icons to appear, click Next.
13. The Setup program is now ready to install
ProModel on your server. If you wish to make
changes to the options you have previously Please note
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
If you are running a network version of Pro-
install ProModel. Model on a routed network and your license key
server and workstations are located on different
sub-nets, see “Find a License Key Server on a
Routed Network” on page 23.
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. Set Up License Server
When you have completed the installation, you PROMODEL software monitors licensed user
can setup each workstation you will use to run activity through a security key attached to the
ProModel. See "Workstation Set up," which is parallel port (for the network version of Pro-
the next section, for information on setting up Model, you must have the red key supplied by
multiple workstations. PROMODEL Corporation). The machine to
When you have completed setting up worksta- which you attach the key becomes the license
tions, you must set up a license server. See “Set manager—whether it is a dedicated file server or
Up License Server” on page 21, for information a workstation. The security server can run on
on how to do so. Windows 95, 98, 2000, or NT 4.0 and listen for
incoming license requests over any of the follow-
22 Chapter 2:
Installation Procedure for Network Version

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:

Set Up License Server:

1. Start Windows.
2. Insert the CD-ROM.
3. The ProModel Setup program will open
automatically, and display the following win-
dow.

7. Select Set up a network license server, and


click Next.
8. Select the type of hardware key you are
using on the network server, and click Next.

Please note

If the Setup Program did not open automatically,


select Run... from the Windows Start menu. Type
x:\install.exe (where x is the CD-ROM drive let-
ProModel 23
User Guide

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

the network set up as the license server. To iden-


tify which computer on the network is the license
Registering ProModel
server, you must create and store a text file called Your ProModel product must be registered. If
NETHASP.INI in the directory to which you you do not register ProModel, you will only have
installed ProModel on the workstation or file access to a limited, evaluation version of Pro-
server. Model. This version will not allow expansive
model building.
For TCPIP-based network the NETHASP.INI
file must contain the following lines The registration process for ProModel depends
on the type of installation you chose.
[NH_COMMON]
NH_TCPIP=Enabled;
Registration for a Stand-alone PC
Installation
[NH_TCPIP]
When you run ProModel for the first time after
NH_TCPIP_METHOD=TCP installing it on a Stand-alone PC, you will be
NH_SERVER_ADDR=<Enter the license prompted to register ProModel. The following
server’s IP address here> screen will appear.
ProModel 25
User Guide

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.

How to Register without a Serial


Number

1. If you do not have a serial number, or your


serial number cannot be used due to Internet
connectivity issues, choose the “I do not have
Depending on your organization’s software a Serial Number (or registering with the serial
licensing arrangement, a Serial Number may be number failed)” option, and click Next.
included with your CD or possibly obtained by
contacting the ProModel Corporation licensing
representative for your organization.
If you do not have a Serial Number, you may still
register using the instructions “How to Register
without a Serial Number” on page 25.

How to Register with a Serial Num-


ber

1. When you have obtained a valid Serial


Number, enter it into the registration dialog,
and then click the Next button.
2. If a connection cannot be made to the
ProModel Corporation server, an Internet
2. You may choose to email (this step) or
connectivity issue (firewall, etc.) may exist. If
phone (next step) ProModel Support to regis-
this is the case, you will be prompted that the
ter your product. If you would like to email
registration was not successful, in which case
ProModel Support, follow the “Click to send
you may still register without a serial number.
registration request” link that is next to the
Email option.
26 Chapter 2:
Registering ProModel

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.

How to move a license


You will now have access to the full version of
ProModel. 1. Launch the LicenseManager from the Win-
dows Start menu.
If you choose not to register ProModel at this
time, click Cancel without entering registration 2. The following dialog will appear, showing
information. You will then have access to the you the licenses you currently have on your
limited, evaluation version of ProModel. machine.

Registration for a Network


Installation
If you purchased a network version of ProModel,
you will have received a hardware key with your
ProModel software. To register your network
version of ProModel, simply attach the hardware
key to your computer’s LPT1 port.

Transferring Your Software Key


As you use ProModel it may become necessary to
transfer your software key from one PC to
ProModel 27
User Guide

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.

How to terminate a license

1. Launch the LicenseManager from the Win-


4. Enter the reference code. This will be the dows Start menu.
code generated by the computer you are 2. The following dialog will appear, showing
moving a license to. The reference code will you the licenses you currently have on your
be displayed when you attempt to register machine.
ProModel on the machine you are moving
the license to.
5. WARNING: Proceeding with the next step
will permanently remove your software key
from the computer; however, it is necessary
to complete the next step to move the soft-
ware key to the new machine.
6. After entering the reference code, click
Generate. A new license key will be dis-
played. You software key on the original
computer has now been removed.
7. Copy the new license key into the license
key field of the registration dialog on the
machine you are moving the license to in
order to complete its registration. 3. If you have multiple licenses, click on the
name of the license you want to terminate.
8. The full version of ProModel will now run on
Click Terminate. The following dialog will
new machine. The original computer will no
appear.
longer run the full version of ProModel, but the
evaluation version instead.

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.

Software License Key FAQ


1. I need to move my software license key to
another computer, can I do this?
Yes. Using the License Manager, which can
7. Write down and save your termination be found in the Start menu within the Pro-
code. This is your proof that your have termi- Model 6.0/PowerTools group, you may
nated your software key. Click the HERE link to move a license. It is recommended you use
E-mail the code to PROMODEL the Move option in the License Manager to
8. Click OK to complete the termination pro- move a license between computers. A
cess. Your installed version of ProModel will description of the License Manager and its
now run in evaluation mode. functionality can be found in chapter 2 of the
User Guide.
2. I want to upgrade my computer’s operat-
ing system, or make a major change to my
Checking for ProModel computer’s configuration, should I be
Updates concerned?
The software license key is sensitive to
The Check for ProModel Update feature checks changes to your computer’s configuration.
the PROMODEL Web server for an update to This is to prevent the key’s unauthorized
ProModel, downloads any available update, and duplication to multiple computers. If you
then installs the update. In order to have access to plan on making major changes to your com-
updates, you will need a PROMODEL Solutions puter’s configuration, you must take one of
Cafe username and password, and a current the following steps to protect your software
Maintenance and Support agreement. If you have license key:
questions regards your M&S agreement, or user- •Move your key to another computer, using
name and password, please contact PROMODEL the License Manager. When you have com-
Technical Support at [email protected]. pleted the changes to the original computer,
There are two ways to launch the Check for you may then move the license key back.
Update client:
ProModel 29
User Guide

•Or, if moving the key to another computer is


not an option, you may terminate your soft-
ware license key using the License Manager.
Doing so will create a Termination Code,
which you will use as proof of the key’s
removal when you contact PROMODEL
Support (1-888-PROMODEL) for a new
license key after you have completed the
changes to your computer.
3. My software license key no longer appears
to be functioning. What should I do?
Your software license key may have been
disturbed by changes to your computer’s
configuration. Reboot your computer in an
attempt to reset the configuration to a point
that is recognizable by the license key. If the
problem persists, please contact PRO-
MODEL Support (1-888-PROMODEL).
30 Chapter 2:
Registering ProModel
ProModel 31
User Guide

Chapter 3: Planning the


Model

Steps for Doing Simulation General Procedure


A decision to do a simulation usually results from
Introduction a perception that simulation can help resolve one
or more issues associated with the design of a
Doing simulation requires more than just know- new system or the modification of an existing
ing how to use a simulation product. A simula- system. Before launching into a simulation
tion study is, by its very nature, a project. Like project, one or more individuals should have
any project, there are tasks to be completed and been assigned to the study who have at least a
resources required to complete them. To be suc- basic knowledge of the system to be studied and
cessful, a simulation project should be planned the issues of concern. Enough background infor-
with an understanding of the requirements of mation should have been obtained about the
each of the tasks involved. Many failures result nature of the problem to determine whether simu-
from hastily jumping into a simulation without lation is a suitable solution. If the simulation is
first taking time to consider the steps involved being conducted by individuals inside the com-
and developing a plan for proceeding. pany, there may already be a basic knowledge of
the operation. For outsiders or those unfamiliar
Simulation modeling requires good analytical,
with the operation, a brief description of the sys-
statistical, communication, organizational, and
tem and explanation of key issues should be pro-
engineering skills. The modeler must understand
vided. For an existing system, a facility walk-
the system being investigated and be able to sort
through is an excellent way of getting familiar
through complex cause-and-effect relationships
with the operation.
that determine system performance. At least a
basic foundation in statistics is needed to prop- Once a suitable application or project has been
erly design experiments and correctly analyze identified as a candidate for simulation, decisions
and interpret input and output data. Ongoing must be made about how to conduct the study.
communication with owners, stakeholders, and There are no strict rules on how to perform a sim-
customers during a simulation study is also vital ulation study, however, the following steps are
to ensure that a purposeful model is built and that generally recommended as a guideline (Shannon,
everyone understands the objectives, assump- 1975; Gordon, 1978; Law, 1991):
tions, and results of the study.
1. Plan the study
2. Define the system
3. Build the model
32 Chapter 3:
Steps for Doing Simulation

4. Run experiments Procedure for Conducting a Simulation


5. Analyze the output Study
6. Report results While the requirements for each step vary from
Each step need not be completed in its entirety simulation to simulation, the basic procedure is
before moving on to the next step. The procedure essentially the same. The primary value of adopt-
for doing a simulation is an iterative one in which ing this systematic procedure, or one like it, is to
activities are refined and sometimes redefined ensure that the project is conducted in an orga-
with each iteration. Describing this iterative pro- nized, timely fashion with minimal waste of time
cess, Pritsker and Pegden (1979) observe the fol- and resources and maximum effectiveness in
lowing. achieving the objectives.
The iterative nature of this process is shown next:
Step 1: Planning the Study
Many simulation projects are doomed to failure
from the outset due to poor planning. Undefined
objectives, unrealistic expectations and a general
lack of understanding of requirements frequently
result in frustration and disappointment. If a sim-
ulation project is to be successful, a plan must be
developed which is realistic, clearly communi-
cated and closely followed. Planning a simulation
study involves the following sub tasks:
•Defining Objectives
•Identifying Constraints
•Preparing a Simulation Specification
•Developing a Budget and Schedule
Each of these tasks is discussed in the following.

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

12. What do resources do when they finish per- •Time Studies


forming a task and there are no other tasks •Predetermined Time Standards
waiting (e.g., stay put, move somewhere •Flow Charts
else)? •Facility Layouts
13. In situations where multiple entities could be •Market Forecasts
waiting for the same location or resource
•Maintenance Reports
when it becomes available, what method is
•On-line tracking systems
used for making an entity selection (e.g.,
•Equipment Manufacturers
longest waiting entity, closest entity, highest
priority, preemption)? •Managers
14. What is the schedule of availability for •Engineers
resources and locations (define in terms of •Facility Walk-throughs
shift and break schedules)? •Comparisons with Similar Operations
15. What planned interruptions do resources and In deciding whether to use a particular source of
locations have (scheduled maintenance, data, it is important to consider the relevancy,
setup, changeover)? reliability and accessibility of the source. If the
16. What random failures do resources and loca- information that a particular source can provide is
tions experience (define in terms of distribu- irrelevant for the model being defined, then that
tions describing time to failure and time to source should not be consulted. What good is a
repair)? maintenance report if it has already been decided
Depending on the purpose of the simulation and that downtimes are not going to be included in
level of detail needed, some of these questions the model? Reliability of the source will deter-
may not be applicable. For very detailed models mine the validity of the model. A managers per-
additional questions may need to be asked. ception, for example, may not be as reliable as
Answers to these questions should provide nearly actual production logs. Finally, if the source is
all of the information necessary to build a model. difficult to access, such as a visit to a similar
facility in a remote site, it may have to be omit-
Using Appropriate Data Sources ted.

Having a specific set of questions for defining the


Making Assumptions
system, we are now ready to search for the
answers. Information seldom comes from a sin- Not long after data gathering has started, you
gle source. It is usually the result of reviewing may realize certain information is unavailable or
reports, conducting personal interviews, personal perhaps unreliable. Complete, accurate, and up-
observation and making lots of assumptions. “It to-date data for all the information needed is
has been my experience,” notes Carson (1986), rarely obtainable, especially when modeling a
“that for large-scale real systems, there is seldom new system about which very little is known. For
any one individual who understands how the sys- system elements about which little is known,
tem works in sufficient detail to build an accurate assumptions must be made. There is nothing
simulation model. The modeler must be willing wrong with assumptions as long as they can be
to be a bit of a detective to ferret out the neces- agreed upon, and it is recognized that they are
sary knowledge.” Good sources of system data only assumptions. Any design effort must utilize
includes the following:
40 Chapter 3:
Steps for Doing Simulation

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

a satisfactory warm-up period using this method, Output 60


(per hr)
50
one or more key response variables should be 40
monitored by period over time, like the average 30
number of entities in a queue or the average utili- 20

zation of a resource. This approach assumes that 10

the mean value of the monitored response vari- 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30


Simulation Time (hrs)
able is the primary indicator of convergence
rather than the variance, which often appears to Plot of Hourly Entity Output to Identify Start of
be the case. If possible, it is preferable to reset the Steady-State
response variable after each period rather than
track the cumulative value of the variable, since
cumulative plots tend to average out instability in Obtaining Sample Observations In a terminat-
data. Once these variables begin to exhibit ing simulation, sample observations are made by
steady-state, we can add a 20% to 30% safety simply running multiple replications. For steady-
factor and be reasonably safe in using that period state simulations, we have several options for
as the warm-up period. This approach is simple, obtaining sample observations. Two widely used
conservative and usually satisfactory. Remember, approaches are running multiple replications and
the danger is in underestimating the warm-up interval batching. The method supported in Pro-
period, not overestimating it. Relatively little Model is running multiple replications.
time and expense is needed to run the warm-up Running multiple replications for non-terminat-
period longer than actually required. The follow- ing simulations is very similar to running termi-
ing figure illustrates the average number of enti- nating simulations. The only difference is that (1)
ties processed each hour for several replications. the initial warm-up period must be determined,
Since statistical stability is reached at about 10 and (2) an appropriate run length must be deter-
mined. Once the replications are made, confi-
dence intervals can be computed as described
earlier in this chapter. One advantage of running
independent replications is that samples are inde-
pendent. On the negative side, running through
the warm-up phase for each replication slightly
extends the length of time to perform the replica-
tions. Furthermore, there is a possibility that the
length of the warm-up period is underestimated,
causing biased results.
48 Chapter 3:
Steps for Doing Simulation

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

that frequently occur when conducting a simula-


tion study.
Building a Model
ProModel gives you the flexibility to create a
model in several ways—the easiest is to use the
graphical point-and-click approach. To build a
model, you should first define any locations in
the system. With locations defined, you are ready
to create entities (parts, customers, calls, etc.) and
schedule their arrivals to the locations you cre-
ated. Next, specify the process logic for entities at
each location (this will establish the entity flow
throughout the model). Finally, define any
optional model elements such as attributes, vari-
ables, or arrays that you will use in processing
entities.

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.

Phase 2: Adding Resources & Variability


The second phase normally consists of expanding
the model by adding resources and the corre-
sponding path network needed to move entities,
using resources, from location to location.

Phase 3: Additional Operations


The final phase usually consists of adding addi-
tional reality to the model—that is, adding those
nuances that make the model an accurate repre- Importing a Background Graphic
sentation of a real system. These include:
Simple background graphics are imported easily
•Adding Quantity and Time_in_system through the Background Graphics Editor. Pro-
attributes. Model also allows you to import complex graph-
•Changing operational times from simple ics files such as AutoCAD drawings to use as the
time constants to distributions. background for your simulations. For more infor-
•Adding features that ensure accurate entity mation on how to import a background graphic,
processing. see “Graphic Editor” on page 312.
•Adding variables for on-screen display.
•Defining appropriate downtimes.

Phase 1: Basic Model Elements


The first step in building the model is to define
the model's basic elements.

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 Locations For more information on how to define entities,


see “Entities” on page 118.
Locations are defined easily by selecting the
desired icon and placing it in the layout window.
Each time a location is placed in the layout win-
dow, a corresponding record is entered in the
Location edit table. This table lists each location
along with location parameters such as the capac-
ity, number of units, and downtime information. In this model the Speed (fpm) column is irrele-
For more information on how to define a loca- vant since all entities move according to the defi-
tion, see “Locations” on page 96. nition of the mobile resource CellOp. Also, the
Stats column shows that we desire detailed statis-
Layout Window (maximized) tics for all entity types. “Time series” statistics
include throughput history of the entity. “Basic”
statistics include only the total exits of each entity
type from the system and the final quantity of
each entity type in the system.

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.

Defining Entities Defining Process Logic


Once all locations have been defined, we define The last step in defining Phase 1 of our model is
entities in a similar way by selecting an icon for to define the processing of entities at each loca-
each entity type. As we do this, a record is cre- tion. ProModel simplifies this task by allowing
ated in the Entity edit table for each entity type. you to select an entity type and then use the
mouse to click on the locations in the order in
which they will process the entity. Each time you
click on a location, a new processing record is
added to the Process edit table, defining the pro-
cess for that entity type at that location. For more
ProModel 57
User Guide

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

 Process Table Routing Table


Entity Location Operation (min) Blk Output Destination Rule Move Logic
Pallet Receive 1 Blank NC_301L FIRST 6 MOVE FOR .5
Blank NC_302L FIRST MOVE FOR .5
Blank NC_301L WAIT N(3,.2) 1 Cog Degrease FIRST 1 MOVE FOR .5
Blank NC_302L WAIT N(3,.2) 1 Cog Degrease FIRST 1 MOVE FOR .5
Cog Degrease ACCUM 2 1 Cog Inspect FIRST 1 MOVE FOR .5
WAIT 5
Cog Inspect WAIT U(3.2,.3) 1 Cog EXIT 0.960 1
Reject EXIT 0.040
58 Chapter 3:
Building a Model

Phase 2: Adding Resources & Path Segment Edit Table


Variability
In this phase we wish to add the operator, CellOp,
to move entities from location to location, and to
perform the loading, unloading, and inspection
operations. ProModel requires that all dynamic
resources travel on a path network. Therefore, for
Phase 2, we need to define resources and path
networks.

Defining Path Networks


Path Networks consist of nodes and path seg- Defining Resources
ments which connect nodes to other nodes. Each Resources are defined in much the same way as
location where a resource may stop to pick up, entities. When in the Resource module we simply
drop off, or process entities must interface with a select an icon to represent the resource and then
path node. specify the characteristics of the resource in the
We define path networks through the Path Net- Resource edit table. For more information about
work edit table similar to the previous edit tables. defining resources, see “Resources” on page 132.
For each network we specify the nodes and path
segments connecting the nodes. Some of the
heading buttons, such as Paths and Interfaces,
bring up other edit tables such as the Path Seg-
ment Edit table shown below. For more informa-
tion on defining path networks, see “Path
Networks” on page 123.

Path Network Edit Table


ProModel 59
User Guide

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.

Process and Routing Logic


The complete process and routing logic is shown
below, with CellOp used to perform the loading
operations at each mill and inspect the Cogs at
the Inspect location. CellOp is also used to trans-
port entities from location to location. All addi-
tions or changes to the Phase 1 model are shown
in bold type.
60 Chapter 3:
Building a Model

 Process Table Routing Table

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.

 Process Table Routing Table


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 THEN FREE
Cog Inspect WAIT U(3.2,.3) 1 Cog EXIT FIRST 1
Test = Dist1() 2 Reject EXIT FIRST 1
IF Test = 1 THEN
BEGIN
JOIN 1 Bearing
WAIT U(1.2,.2)
FREE CellOp
ROUTE 1
END
ELSE
BEGIN
FREE CellOp
ROUTE 2
END
Bearing Bearing_Que 1 Bearing Inspect JOIN 1 MOVE FOR .05
This concludes the final phase of our model Running a Model
building session. We now turn our focus to run-
ning the model. Running a model is a fun and easy process. Mod-
els are compiled automatically at runtime, keep-
ing you apart from any complex compilation
process. If your model contains any errors, a
detailed message explains the nature of the error
and points to the module and line number where
the error occurred. In most cases you are permit-
ted to make changes on the fly.
ProModel uses concurrent animation, which
means that the animation occurs while the simu-
ProModel 63
User Guide

lation is running. Concurrent animation has many


advantages over post-simulation animation. By
CLOCK PRECISION
eliminating the two-step process of running the Time Unit .01 .001 .0001 .00001
simulation and then animating it, you save valu- Seconds 11,930 hrs 1,193 hrs 119 hrs 11 hrs
able time. Concurrent animation immediately (sec)
allows you to see if a model is working properly. Minutes 715,827 hrs 71,582 hrs 7,158 hrs 715 hrs
(min)
Hours (hr) 42,949,672 4, 294,967 429,496 42,949
Simulation Options hrs hrs hrs hrs
Days (day) 1,030,792,1 103,079,2 10,307,90 1,030,77
When you select Options from the Simulation 28 hrs 08 hrs 4 hrs 6 hrs
menu, ProModel displays the Simulation Options
dialog. This dialog contains several options for also control the animation through panning,
controlling the simulation, such as the run length, zooming, and pausing.
warm-up period, clock precision, and the name of
the output file. You can also set the number of
replications and the level of detail to be collected
for the statistics. For more information about
Simulation options, see “Simulation Menu” on
page 347.

Speed Control Bar


Clock Selection Button

The screen above shows the speed control bar,


along with the clock selection button for control-
ling the format of the clock readout.
The File menu includes an option for viewing a
The maximum run length depends on the clock text file of the model as the model is running.
precision and the time unit selected as shown in This is an excellent way of checking to make sure
the model is doing what it is supposed to do!
the following table.
Next we'll take a look at two of the other menu
items: Options and Information.
Animation Screen
The ProModel animation screen has a menu of its
own, with selections for controlling many simu-
lation parameters (such as run speed). You can
64 Chapter 3:
Running a Model

Options Menu Other options include: Animation Off, which


makes the simulation run considerably faster;
The Options menu contains several options that Zoom, which allows you to zoom in or out to any
allow you to track events in the system as they degree on the animation; Views, which allows
occur. The Debugger is a convenient and effi- you to quickly and easily access specific areas of
cient way to test or follow the processing of any the model Layout window (see “Layout Settings”
logic defined in your model. The debugger is on page 86); and User Pause, which allows you to
used to step through logic one statement at a time specify the time of the next simulation pause.
and examine variables and attributes while a
model is running. A Step Trace allows you to
step through the system events one at a time by Information Menu
clicking on the left mouse button. A Continuous
The Information menu contains selections for
Trace allows you to step through system events
obtaining system information during the run. For
continuously without clicking the mouse.
up-to-the-minute location information, such as
current location contents and total number of
entries, select Locations from the Information
menu.

The following Trace window shows system


events as they occur in the animation. The num-
ber in the left hand column represents the simula-
tion time when the event occurred, while the text
describes the event. Stepping through the events
is an excellent way to verify and debug a model.
ProModel 65
User Guide

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.

The Output Viewer 3DR can be run directly from


within ProModel, or as an independent applica-
tion separate from ProModel. You can load a sin-
gle results file or several results files from
different models for comparison of selected sta-
tistics.
Model output is written to several output files
according to the type of data being collected. The
main output file contains information of a sum-
mary nature such as overall location utilization
and number of entries at each location. Other
files keep track of information such as location
contents over time and the duration of each entity
at each location.
In order to see the power and flexibility of the
ProModel output generator, see “Reports and
66 Chapter 3:
Viewing Model Statistics & Reports
ProModel 67
User Guide

Chapter 4: Modeling Envi-


ronment

The Modeling Environment is everything con- Menu Bar


tained within the ProModel window.
All of the tools necessary to build and run a
When you open a model or select New from the
model and view the corresponding output are
File menu, your screen appears with a menu bar
accessed through the menu bar. The menu bar is
across the top of the screen and a layout window.
located just beneath the ProModel caption bar
You will also be given access to the ProModel
and contains the selections listed on the following
Shortcut Panel. For now, let's look briefly at the
page. These selections access other menus with
Shortcut Panel and then the menus accessible
selections related to the menu heading.
from the menu bar.
•File The File menu allows you to open new
From the ProModel shortcut panel seen above,
models, save current models, and merge two
you may quickly access some of ProModel’s
or more models into one. It also allows you
commonly used features:
to view a text version of the model and print
•Open a model Opens an existing model. either the model text file or the graphic lay-
•Install model package Loads an existing out of the model. For more information, see
model package. “File Menu” on page 68.
•Run demo model Allows you to run a •Edit The Edit menu contains selections for
demonstration model. editing the contents of edit tables and logic
•www.promodel.com Immediately con- windows. The selections available from this
nects you with the ProModel support page menu will change according to the module
on the PROMODEL Web site. from which the Edit menu is selected. They
•SimRunner Launches SimRunner. also vary according to the currently selected
•Stat::Fit Launches Stat::Fit. window. For more information, see “Edit
Menu” on page 76.
To simply begin working on a new model, close •View The View menu lets you control Pro-
the Shortcut Panel and select New from the File Model’s appearance. From this menu you
menu. The Shortcut Panel can be opened again can control layout settings, hide or view hid-
from the View menu. den paths, operate the zoom controls, and
more. For more information, see “View
Menu” on page 83.
•Build The Build menu contains all of the
modules for creating and editing a model.
68 Chapter 4:
File Menu

This includes the basic modules such as


Locations, Entities, Arrivals and Processing,
File Menu
and the optional modeling elements such as The File menu is the first selection on the menu
Variables, Attributes, Arrays, and Subrou- bar and consists of five major sections divided by
tines. For more information, see “Build horizontal lines. The file management section
Menu” on page 95. contains functions related to model files such as
•Simulation The Simulation menu controls saving and retrieving. The view/print section
the execution of a simulation and contains allows the user to view a text listing of the current
options for running a model, defining model model and print that listing or model layout. The
parameters, and defining and running scenar- model packaging section allows the user to create
ios. For more information, see “Simulation and install model packages consisting of models
Menu” on page 347. with associated files. Exit quits ProModel, and
•Output The Output selection starts the Pro- the model history section lists the five most
Model Output Viewer 3DR for viewing recently opened models for quick retrieval.
model output. It also allows you to view the Choosing any model in the model history will
trace generated during run-time. For more open and retrieve that model.
information, see “Reports and Graphs” on
page 373.
•Tools The Tools menu contains various
utilities including the Graphics Editor for File management

creating and modifying graphic icons and a


search and replace feature for finding or View/Print
replacing expressions throughout a model.
For more information, see “Tools Menu” on
Model packaging
page 307.
•Window The Window menu allows you to
arrange the windows (or iconized windows)
that are currently displayed on the screen
such that all windows are visible at once. It
also allows you to bring any individual win-
dow to the forefront of the display. For more
information, see “Window Menu” on
page 91. File Management
•Help The Help menu accesses the Pro-
The File menu provides five functions related to
Model Online Help system. For more infor-
model files such as saving and retrieving. Files
mation, see “Help Menu” on page 91.
in the ProModel format use the MOD extension.
The following table defines each of the selections
ProModel 69
User Guide

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.

However, models may be saved as previous ver-


sions in order to allow those models created in
recent versions of ProModel to be shared with
others who may be running a previous version of
ProModel.
Models created in version 5.4 or higher must be
saved as:
70 Chapter 4:
File Menu

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.

How to save a model with a new


name:

1. Select Save As from the File menu. Merge Model


2. Enter the new file name in the Save As dia- The Merge Model option allows two or more
log box as shown in the following dialog box. independent (complete or incomplete) models to
3. Select OK.
be merged into a single model. Duplicate ele-
ments found in the base model and the merging
model are treated differently according to the ele-
ment type.
1. Entity and attribute names common to both
models are considered common elements in
the merged model. For example, if both
models contain the entity type In-Box, the
merged model will contain only the record
from the base model in the Entities table for
In-Box.
2. Duplicate locations, resources or path net-
works must first be renamed or deleted from
the merging model. Otherwise, an error
Backup File message occurs and the merge will termi-
nate.
ProModel also creates a backup file every time a 3. If the two models use different graphic
model is saved. The backup file is named the libraries, ProModel will give the user the
same as the model file, only with a .BAK exten- choice to append the merging model's
sion. graphic library to the base model's graphic
library.
Model Merging 4. All other duplicate model elements cause a
prompt to appear with the choice to delete
Model merging is a powerful feature that allows the duplicate element from the merging
large or complex models to be built in smaller model or cancel the merge process.
segments. A model segment may be as small as a
single workstation or as large as an entire depart-
ProModel 71
User Guide

Merge Submodel tag “3C_” is invalid and would produce an error


message.
The Merge Submodel option allows commonly
used submodels to be merged into an existing
model in one or more places. Submodels are cre-
ated just like any other model and may be com-
How to merge a model or sub-
plete or incomplete models.
model into an existing model:
When specifying a submodel, you are prompted
for a “tag” to be attached to each element of the 1. Open the initial (base) model.
submodel as either a prefix or suffix. For exam-
2. From the File menu select Merge.
ple, you may be developing a model with four
workstations. Instead of creating workstations 3. Select Model or Submodel from the sub-
individually, you could create a submodel with menu.
only the common elements (e.g., in-box, out-box, 4. Specify the name of the model to be
telephone, variables, arrays, etc.) and merge the merged in the following dialog box.
submodel into the main model four times. In the
resulting model, you would then fill in the unique
portions of each workstation. Entity and attribute
names will not be tagged.
In the following example, the tag “A_” is
attached as a prefix to every element of the sub-
model. A location called Queue1 in the submodel
becomes A_Queue1 in the main model and so on.
Likewise, a variable called Rejects becomes
A_Rejects in the merged model.

5. If you select Submodel, specify a prefix or


suffix to be attached to each element of the
submodel.
6. Click on the layout where you want the
model or submodel to appear. A bracket
appears on the screen, representing the
upper left corner of the merging model’s lay-
out. This bracket moves as you move the
mouse, allowing you to correctly position the
layout to be merged.
7. Next, you will be asked if you would like to
Please note append the graphic library file from the
model or submodel to the current graphic
library file. Select yes or no depending on
Tags used as prefixes must begin with a letter, A your preference.
through Z, or an underscore. For example, the
8. When the model is merged in, the graphi-
cal elements remain selected so that you
72 Chapter 4:
File Menu

can position the merged model exactly View Text


where you want it.
The View Text option displays the text of the cur-
rent model data in a window. This window may
be sized or shrunk to an icon for later viewing.
Please note
How to view the text of a model:
When merging models, if the zoom factors and
grid scales are not the same, ProModel will • Select View Text from the File menu. The
adjust the sizes of graphical elements in the model's text is displayed in a window as
merging model to the scale of the original model. shown in the following example.

View/Print Model Text


The modular nature of ProModel makes it easy to
focus on the individual elements of a model.
However, it can still be useful to see an entire
model with all of the model elements in view at
one time. ProModel provides two ways to accom-
plish this. The first is through the View Text
option and the second is through the Print Text
and Print Layout Options.
The second major division of the File menu con-
tains the following options.
Only the first 30 characters of names will appear
in the names column.

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.


2. Select To Text File from the submenu.
Print Layout
3. Supply a name for the file in the Print to
Text File dialog box. The default file extension You may print the layout of any model including
is TXT. all locations, path networks, resources, variables
and background graphics to any printer config-
ured for use with Windows. Regardless of the
size of the model layout, the layout will be pro-
How to print the current text to a portioned automatically to print on one standard
printer: size sheet of paper.

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

3. Choose the elements to be included in the Model Packaging/Data Pro-


layout.
tection
Model packaging and Data Protection are power-
ful tools that allow you to distribute copies of
your model for others to examine and review, yet
maintain the integrity of the model. When you
create a model package, ProModel builds an
archive of files necessary to run the model and
allows you to distribute a copy of the model’s
graphics library. When you apply Data Protec-
tion, you can prevent others from viewing or
altering logic contained in your model.

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:

1. Select Install Model Package... from the


How to create a model package: File Menu.

1. Select Create Model Package from the


File menu.

2. Select the model package (*.pkg) from


the Install Model Package dialog.
3. In the Destination field, type the name of
the directory to which you want to copy the
model package.
4. Select OK. After you install the model
2. Enter the name you wish to use for the package, a dialog will appear and allow you
model package (by default, ProModel uses to load the model.
the name of the current model with a *.pkg
extension). You may also use the Browse...
button to select the model name and direc-
tory.
3. Check the Exclude Graphics Library box if
you want to package the model without the
graphics library.
76 Chapter 4:
Edit Menu

Edit Menu multiple edit tables and windows may appear on


the screen at the same time, the Edit menu com-
The Edit menu is the second selection on the mands pertain only to the currently active win-
menu bar. It changes forms depending on which dow. (To activate a window, click anywhere
window is currently active when choosing Edit. inside it.)
•If the active window is an edit table such as
the Locations edit table, the Edit menu con-
tains options for inserting, deleting and mov-
ing records. Editing Tables
•If the active window is the Processing edit When creating or modifying records in an edit
table, the Edit menu contains two additional table such as a Locations or Entities table, the
options for copying and pasting completed Edit menu appears as follows.
process and routing records.
•If the active window is a Notes window, the
Edit menu contains selections for cutting,
copying, and pasting text within the current
window or transferring it to another window.
•If the active window is a logic window, such
as the one for the operation column of the
processing module, the Edit menu contains The following table briefly lists the function of
an additional selection, Compile, which each selection of the Table Edit menu.
checks the syntax of the logic in the logic
Delete Deletes a record from the table.
window. This option is additional to the cut
and paste functions normally available in a Insert Inserts a record in the table above the cur-
notes window. rent record.
•Finally, if the active window is either the
Append Appends a record to the end of the
Graphic or Background Editor, the Edit
table.
menu contains three sections. The first sec-
tion has choices for cutting, copying, and Move Marks a record for moving to a new posi-
pasting graphic objects to and from Pro- tion in the table. Only one record may be marked
Model's internal clipboard. The second has at a time.
options to cut and paste items to and from
Move to Moves the previously marked record
the Windows Clipboard. The third has
in the table above the current record.
options to import and export graphics from
other applications.
How to delete a record from a
Please note table:

1. Select the desired record by clicking in any


The Edit menu is accessible only while working
field of the record.
inside a module such as a processing edit table or
a Notes edit window. If no module is currently 2. Select Delete from the Table Edit menu.
open, the Edit selection is not available. Because
ProModel 77
User Guide

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.

How to append a record to the


end of a table: The Processing Edit menu's first five selections
are identical to the Table Edit menu. The two
1. Position the cursor in any record of the additional menu items are as follows:
table.
Copy Record Copies all fields of the current
2. Select Append from the Table Edit menu. record for subsequent pasting.
A new record will appear below the last
record of the table. Paste Record Places a copy of the most
recently copied record above the current record.

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:

1. Select the information to copy from field of


the desired record.
2. From the Edit menu, select Copy Record
(or press CTRL + C) to copy the information.
3. In the field you want to place the informa-
tion, select Paste Record from the Edit menu
(or press CTRL + V).

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).

Editing Logic Windows


All multi-line logic windows, such as the opera-
tion logic window of the Process edit table,
include the editing function buttons shown in the
ProModel 79
User Guide

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.

Print Prints text, such as the operation logic for a


single location, in a logic window and is helpful
when you are trying to debug a model and need to
Build The Logic Builder, which may also be work with particularly complex logic at certain
accessed by clicking the right mouse in the logic locations.
window button, is a tool that allows you to build
logic without typing a single keystroke. Primarily Help Provides context-sensitive help. ProModel
for building logic in the logic windows, it may will provide help with select words or any word
also be used for building expressions in expres- with the cursor next to it.
sion fields.
Compile The Compile menu item checks the
Please note
logic in the edit window to see if it is complete
and syntactically correct. If an error is found, an A status bar is displayed at the bottom of a Logic
information box with details regarding the edit window, and shows the current line position
error(s) appears. For example, the following error of the cursor (e.g., Line: 2).
80 Chapter 4:
Edit Menu

Editing Background Graphics Copy to Clipboard Copies the entire contents


of the workspace to the Windows clipboard.
When working with graphic objects in the Back- Objects cannot be copied individually to the clip-
ground Graphics module, the Edit menu appears board. ProModel copies the workspace as a bit-
as follows. map or windows metafile for easy transfer to
other graphics packages that use the Windows
clipboard.
Paste WMF Pastes a Windows metafile (WMF)
from the Windows clipboard into the Edit win-
dow. You must have previously copied a Win-
dows metafile to the Windows clipboard.
Paste BMP Pastes a bitmap file (BMP) from the
Windows clipboard into the Edit window. You
must have previously copied a bitmap to the Win-
dows clipboard.
Import Graphic Imports a WMF, BMP, PCX
Cut Removes the selected object(s) and makes a
temporary copy that may be pasted back into the or GIF file into the layout window.
layout window. Export Graphic Exports the graphic in the lay-
Copy Makes a temporary copy of the selected
out window to a WMF or BMP file.
object(s) for pasting later.
How to edit background graphics:
Paste Adds the most recently cut or copied
object(s) to the layout window.
1. Right click on the background graphic you
wish to edit.
Please note
2. Select Edit Background Graphic from the
right-click menu.
While in the Background Graphics module, CUT,
COPY, and PASTE all use ProModel's internal
clipboard. Any objects copied to this clipboard
cannot be pasted into other Windows applica-
tions. To copy objects to other applications, use
COPY TO CLIPBOARD.

Delete Deletes the selected objects from the


layout window.
Select All Selects all of the objects in the layout
window. 3. Edit the graphic as desired.
ProModel 81
User Guide

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.

When a submodel or model is merged into


another model, all graphics associated with it are
selected. This allows for immediate movement
by left clicking on the graphics and dragging
them to the desired position in the Layout win-
82 Chapter 4:
Edit Menu

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.

In the examples above, the machine on the right


is moved. The routing paths remain connected to
each graphic while the path segment connected to
the moved graphic is adjusted accordingly.
Path Networks Path networks are not resized
when moved. Any resource points defined for a
dynamic resource are moved when the path net-
work is moved. The resource points remain rela-
tive to the node for which they were defined.
Resources When a dynamic resource is moved,
the resource point associated with it moves but
not the entire path network.

You might also like