e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
TRANSCRIPT
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
1/148
FOREWORD
In January 2001 our first Arena Handbook was published. This Handbook was a response
to the lack of a manual that could be used for courses on the simulation environment Arena.
For the past two years this handbook has been used by many students and teachers and wereceived positive reactions on the clear structure and extensive explanations.
Of course we received negative reactions as well. With the release of Arena 6.0, the
moment had come to review the existing Handbook and to use the comments and
suggestions of users to create a new version. Marjolein Gransjean and Martijn Verschuren
wrote a number of new sections. Roderik Hylkema translated the manual into English.
Alexander Verbraeck did the last quality check and the editing.
We have tried to make this new Handbook even better ordered and provide the user with
clear explanations. The Handbook has been edited for content and lay-out. Every Arena
module is discussed in the same way so this Handbook can be used not only as a manual
but also as a reference guide.
We hope that our efforts have resulted in a Handbook that every user will consider a useful
and instructive guide during his/her first steps in simulation!
Delft, November 2002
Alexander Verbraeck
Jaap Beerens
Marjolein Gransjean
Herre van Kaam
Roderik Hylkema
Jaap Beerens and Herre van Kaam are students in Systems Engineering and Policy
Analysis at the TU Delft and are partners in D3K Simulations and Consultancy, a company
specialised in applying simulation in consultancy and research projects.
Marjolein Gransjean and Roderik Hylkema are students in Systems Engineering and Policy
Analysis at TU Delft
Alexander Verbraeck is an associate professor at the Systems Engineering Department of
the Faculty of Technology, Policy and Management of TU Delft and research professor in
supply chain management of the R.H. Smith School of Business of the University of
Maryland, USA.
Foreword -
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
2/148
TABLE OF CONTENTS
INTRODUCTION...................................................................................................................................................1
OVERVIEW OF ARENA ......................................................................................................................................5
2.1 USER-INTERFACE OF ARENA ..................................................................................................................62.2 MODELLING, ANIMATING AND SIMULATING ....................................................................................8
2.3 LICENCED AND TRAINING/EVALUATION MODE...............................................................................8
2.4 HELP WHEN USING ARENA......................................................................................................................9
GETTING STARTED WITH ARENA...............................................................................................................13
3.1 ARRIVALS: CREATE & ENTITY..............................................................................................................143.1.1 Data Module - Entity ..........................................................................................................................143.1.2 Flowchart Module - Create.................................................................................................................16
3.2 PROCESSES: PROCESS, RESOURCE & QUEUE....................................................................................183.2.1 Data Module - Resource .....................................................................................................................183.2.2 Data Module - Queue..........................................................................................................................213.2.3 Flowchart Module - Process ...............................................................................................................23
3.3 END OF THE SYSTEM: DISPOSE.............................................................................................................26
3.4 EXAMPLE: THE BANK..............................................................................................................................26
3.5 EXERCISE ASSIGNMENT: THE BAKERY..............................................................................................30
BASIC ENTITY PROCESSES............................................................................................................................31
4.1 ATTRIBUTES AND VARIABLES: ASSIGN.............................................................................................324.1.1 Data module: Variable ........................................................................................................................324.1.2 Attributes.............................................................................................................................................344.1.3 Flowchart Module: Assign..................................................................................................................34
4.2 ROUTING TROUGH THE LOGIC: DECIDE ............................................................................................364.2.1 Flowchart Module: Decide .................................................................................................................364.2.2 Examples .............................................................................................................................................38
4.3 BATCHING, SEPARATING AND COPYING: BATCH AND SEPARATE............................................414.3.1 Flowchart Module: Batch ...................................................................................................................414.3.2 Flowchart Module: Separate...............................................................................................................434.3.3 Batching and separating: An example ................................................................................................454.3.4 Match module .....................................................................................................................................474.3.5 Example ..............................................................................................................................................48
4.4 EXERCISE ASSIGNMENT.........................................................................................................................50
MODELLING AND ANIMATING MOVEMENT...........................................................................................51
5.1 MODELLING AND ANIMATING MOVEMENT OF ENTITIES ............................................................525.1.1 Station .................................................................................................................................................52
5.1.2 Route ...................................................................................................................................................545.1.3 Example ..............................................................................................................................................56
5.2 SEQUENCES................................................................................................................................................585.2.1 Sequence module ................................................................................................................................595.2.2 Examples .............................................................................................................................................60
5.3 EXERCISE ....................................................................................................................................................67
TRANSPORT ........................................................................................................................................................69
6.1 TRANSPORTER ..........................................................................................................................................706.1.1 Transporter module.............................................................................................................................706.1.2 Distance module..................................................................................................................................726.1.3 Request module...................................................................................................................................74
6.1.4 Transport module................................................................................................................................766.1.5 Free module ........................................................................................................................................776.1.6 Order of modelling a Transporter.......................................................................................................776.1.7 Example ..............................................................................................................................................78
Table of Contents ii
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
3/148
6.2 CONVEYOR.................................................................................................................................................826.2.1 Conveyor module ................................................................................................................................826.2.2 Segment module..................................................................................................................................846.2.3 Access module ....................................................................................................................................866.2.4 Convey module ...................................................................................................................................876.2.5 Exit module .........................................................................................................................................88
6.2.6 Order of modelling of a Conveyor......................................................................................................886.2.7 Example ..............................................................................................................................................89
6.3 EXERCISE ....................................................................................................................................................93
ADVANCED MODELLING................................................................................................................................95
7.1 SPECIAL CONSTRUCTIONS ....................................................................................................................967.1.1 Schedules ............................................................................................................................................967.1.2 Hold-Signal .........................................................................................................................................977.1.3 PickStation ..........................................................................................................................................997.1.4 ReadWrite .........................................................................................................................................1007.1.5 Searching a Queue and removing an entity ......................................................................................1027.1.6 Record ...............................................................................................................................................105
7.2 BLOCKS TEMPLATE ...............................................................................................................................1067.2.1 General Explanation .........................................................................................................................106
7.2.2 Queue block ......................................................................................................................................1077.2.3 Alter-block ........................................................................................................................................108
7.3 MODELLING IN A STRUCTURED WAY..............................................................................................1117.3.1 Sub models ........................................................................................................................................1117.3.2 Views ................................................................................................................................................113
APPENDICES .....................................................................................................................................................115
APPENDIX A OVERVIEW OF TOOLBARS..........................................................................................117
APPENDIX B RUN SETUP AND REPORTS...........................................................................................119
APPENDIX C ERROR MESSAGES..........................................................................................................123
APPENDIX D EXPRESSION BUILDER..................................................................................................129
APPENDIX E INPUT ANALYZER...........................................................................................................131
APPENDIX F PICTURE PLACEMENT ..................................................................................................136
APPENDIX G PROBABILITY DISTRIBUTIONS..................................................................................139
Table of Contents iii
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
4/148
Table of Contents iv
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
5/148
Introduction
Arena, the simulation package which is described in this handbook, has been developed
based on the principle of flow-oriented simulation. The idea behind flow-oriented
simulation is that you can represent a real situation as a series of delays and processes
through which entities flow. This way of modelling corresponds with the way in which
people often represent a system intuitively. If you ask someone how he/she thinks a certain
process works, often this person will draw a diagram using blocks and arrows to indicate
the activities that are carried out and the sequence in which they are performed.
System
Entrance
Exit
Figure 1.1 Flow model with system borders
Introduction - 1-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
6/148
A flow-oriented simulation model has, therefore, a starting point where entities enter the
system and an exit point where entities leave the system. Entities contain knowledge to
allow them to follow a route through the system: in case of various paths through the
system, every entity can be assigned certain characteristics according to which the entity
can determine its own route.
In Figure 1.1 you can see how you can visualize a flow-oriented system. The system that
you want to model has a boundary that has been chosen by the modeler: The system
boundary. This boundary determines what you do include and do not include in your model
of the actual situation. In figure 1 you can see that the entrance and exit of the system are
located on the system boundary. This is done because the entities that flow through the
system must come from somewhere and, after flowing through the system, they must go
somewhere. In the model we do not consider where entities come from or where they go to;
this is something outside the system boundary. Therefore, in the simulation model entities
must be created to simulate their entrance into the system and, after passing through the
system, they must also be disposed of. We call the entrance that creates entities and the exit
that removes entities artefacts of the system.
Entities:The units that flowthrough the model ofthe system on whichactivities can be carriedout.
Before you can start building a simulation model, you must first map out the system that
you want to model. If you are going to build a flow-oriented simulation model, it is sensible
to choose a modelling technique that is based on flow orientation. Examples of such
modelling techniques are the IDEF-0-diagram and the task-actor-diagram. It is, however,
not obligatory to keep to a predefined modelling technique. After having built a number of
models, you will know the best way of representing a model on paper, so that you can use
the description optimally when building your simulation model.
This handbook is a manual to the Arena simulation package, but you will only really learn
how to operate the application by actually using it. We have therefore chosen a practical
approach: Every chapter explains a number of Arena modules. Every section starts with a
description of a part of the functionality of Arena, after that a case example extensively
demonstrates how the functionality is used in practice. Moreover, at the end of each
chapter, we give an exercise assignment, that you can use to put what you have learned into
practice. We therefore advise you to work through this handbook on the PC so that you can
follow the explanation and examples hands-on and can carry out the exercise assignments
immediately.
Modules:The basic buildingblocks of Arena, whichwe can distinguish intodata and flowchartmodules
The handbook is divided into a number of chapters. Each of them addresses a certain aspect
of Arena. The structure has been chosen in such a manner that we move from simple to
more complex use of the software. The following subjects will be addressed in the chapters
below:
The 2nd
chapter will focus on a number of general aspects of Arena, We will deal with the
Arena screen and consider how the help-function works. In the 3rdchapter we will go into
the first modules of Arena; The Create, Process, Dispose, Resource and Queue modules.
Overview of Arena - 2-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
7/148
Subsequently in chapter 4 we discuss how one can give entities specific attributes based on
which the entities move through the model using different routes.
Movements of entities are discussed in chapter 5 and in chapter 6 we distinguish between
two means of transport of entities. These first six chapters form the basis of Arena. In
chapter 7 we will go into the more complex parts of Arena: Advance use of Arena.
The matters discussed in the handbook provide a far from exhaustive description of the
possibilities of Arena. However, those who will finish this handbook have basic knowledge
of Arena and have more than enough knowledge to single-handedly discover the other
functionality of Arena.
Overview of Arena - 3-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
8/148
Overview of Arena - 4-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
9/148
2
Overview of Arena
INTRODUCTION: In this chapter we give an overview of Arena. In paragraph 2.1 we show the parts of the
Arena screen and what the functions of these parts are. A model can be in various states in
Arena. In addition, there is also the possibility of making an animation of the model. These
two items will be discussed in paragraph 2.2. In paragraph 2.3 the difference between
Arena Full-licence mode and Arena Training/evaluation mode will be shown. Finally, in
paragraph 2.4 we will elaborate on the use of the Help-function and how to use the example
models (SMARTs) of Arena.
OBJECTIVES: Having completed the chapter:
you will be familiar with the function of the menu bars and the toolbars, the project bar,
the model window and the spreadsheet window.
you will know the difference between modelling, animating and simulating.
you will know how to start and use the help function.
you will know the purpose of the SMART models.
Overview of Arena - 5-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
10/148
2.1 USER-INTERFACE OF ARENA
When we open Arena, a screen like the one shown in Figure 2.1 will appear. If a warning is
displayed while opening Arena that states that the program is already open in
training/evaluation mode, you can just click OK to ignore it (see paragraph 2.3).
The screen can be roughly divided into 4 areas:
The menu bar and toolbars at the top of the screen;
The model window, at the right-hand side in the middle
The project bar at the left-hand side;
The spreadsheet window at the right-hand side at the bottom.
The above mentioned areas will be discussed below.
Figure 2.1 The Arena screen
Model Window
ProjectBar
Spreadsheet Window
Menubar and Toolbars:The menu bar contains the common Windows functions such as those for
opening and saving models and calling-up the help function. We assume that you have
sufficient knowledge of Windows to use these functions. In addition, you can set specific
Arena preferences via the menu. Where required, we will explain in this manual how you
can set specific default preferences.
Arena has a considerable number of toolbars that contain buttons. These buttons can be
used to execute standard Windows functions and specific Arena functions. If the cursor is
positioned over a button, a tooltip will be displayed stating the function of the button. We
make regular use of the toolbars in this manual. We will mention the name of the button
and the toolbar that contains it. Figure 2.2 shows the toolbars that will be used frequently.
APPENDIX A gives an overview of the functions of all buttons of the toolbars of Figure
2.2.
Overview of Arena - 6-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
11/148
Figure 2.2 Frequently used toolbars
Project-bar:
The left part of the screen contains the project bar. By using the project bar you can open
panels that contain Arena modules. You can open a panel by clicking the right-hand mouse
button in the project bar and then selecting Attach. You can then select the panel you
want to open. Arena has a number of panels that are used often:
PanelThe objects that are
being used are shownin a panel in the projectbar.
Basic Process
Advanced Process
Advanced Transfer
The above mentioned panels will be discussed in detail in following chapters. There are
two types of modules included in the panels:
The flowchart modules are positioned in the model window and are connected to each
other. Thus, they form the logic of the simulation model. You position flowchart models by
dragging them into the model window.
The data modules are not positioned in the model window, but are processed via the
spreadsheet in the spreadsheet window.
In the project bar, reports of the simulation runs can also be shown. This is done using the
reports panel (see also APPENDIX B). In the navigation panel it is possible to navigate
through the various hierarchical layers and predefined sreeens of the simulation model,
provided that sub models and/or views have been used. (see also chapter 7).
Model Window: As already stated in the introduction, Arena is a flow-oriented simulation package.
You can see this by the way you build a simulation model. Arena uses modules of which
the parameters can be set as desired. You connect the modules, so that they form a
flowchart. The entities flow through the simulation model in the way that is determined by
this flowchart.
You position the modules in the model window in order to build the logic of the simulation
model. When they have been positioned, you enter the parameters of the module in the
dialog box that can be opened by double-clicking the module.
The modules are connected together using connectors. Therefore the logic that you have
built appears in the form of a flowchart. Arena automatically inserts a connector between a
selected and the newly placed module. Connectors can be selected and deleted using themouse. You add a connector by clicking the connect button in the Standard toolbar.
This allows you to manually create a connector between two modules.
Connector:The line graphicallyconnecting themodules.
Overview of Arena - 7-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
12/148
In addition to modules, you can position animation elements (see also chapter 3),
backgrounds and texts in the model window. Every type of picture and font that you can
use in the Microsoft Office package, can also be used in the model window. You do this by
copying the picture or text concerned and then pasting it into the model window. See also
paragraph 2.2 for more explanation.
The Spreadsheet Window: In the spreadsheet window, the parameters of a module are displayed.
Most module parameters can also be viewed and changed in the spreadsheet. The type of
module that is displayed is dependent on the module selected in the project bar or the model
window. If a Create Module is selected in the model window, the spreadsheet shows an
overview of all Create Modules in the model window together with their parameters.
2.2 MODELLING, ANIMATING AND SIMULATING
Modelling, animating and simulating; these three notions will often be used in this
handbook and while making a model. This is why we will here explain these notions.
Modelling is the first step of the computer simulation model building process. In this step
you will translate the conceptual model you have made into an Arena model. For this you
use the modules from the project bar. You enter the parameters in every module and by
doing this you build a flowchart model. When the Arena model is being built, the model is
in edit-mode.
Furthermore an animation can be built. This is the part of the model that you will show to
your boss or employer, as it is a dynamic and graphical representation of the model. There
are various graphs, images and counters available to build a nice animation. It is also
possible to insert your own images in Arena. An animation is a very important help in the
verification and validation of your model.
Simulating itself (or experimenting) is the last step. You will start to run the model (with
the Go-button ( ), the model is then in run-mode. Parameters for this run can be
entered and changed in the Run-Setup (Menu bar, Run, Setup). For example we can enter
here how long the simulation should run. When Arena has finished the run of the model,
you will be prompted if you want to see the results. Arena will open the reports, thesedisplay the output data of the simulation run. The Run Setup and Reports are explained in
more detail in APPENDIX B.
Reports:The output data of thesimulation runs isstored in a set of
reports.
2.3 LICENCED AND TRAINING/EVALUATION MODE
If you do not have a license for Arena and you use the program in training / evaluation
mode, when opening Arena a message will be displayed that states that you are using the
training / evaluation mode (see Figure 2.3). This only has consequences for the size of
simulation models that you are able to build. In this version you can only build models that
do not exceed 52 modules and the number of entities that are present simultaneously in the
Overview of Arena - 8-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
13/148
modelled system during a simulation run must not exceed 100. However, the training /
evaluation mode offers all the functionality of Arena.
In case such a message is not displayed upon starting Arena, a licence is being used and the
program will function unlimited.
Figure 2.3 Warning: Arena is being started in training/evaluation mode
Arena will report an error if the maximum number of modules has been exceeded. A model
in which the maximum number of modules is exceeded can no longer be saved or run. If
the maximum number of entities has been exceeded during a run, the run will stop and
Arena will report an error (see APPENDIX C).
Every model that has been built using a licensed program can be opened in training /
evaluation mode, even if the maximum number of modules or entities would be exceeded.
In this case, the model will be opened in run mode. You will be able to run the model and
edit and save parameters, but you can not delete or add model components from the limited
version.
2.4 HELP WHEN USING ARENA
Although we try to explain every functionality fully, it can be that when using Arena some
things remain unclear. In that case, Arena has an extensive and clear help function, and
more than 180 example models are supplied with the package. These examples clarify the
operation of certain modules. In this paragraph we address the help function and the
SMART models.
Help function: You can consult the help function via the "Help" menu and then "Arena Help
Topics", but every dialog box also has a button entitled "Help" that leads you to the help
function. In the latter case, Arena immediately offers information that is related to the
dialog box in which the help button was clicked. In the help function, information is
available in the form of an explanation for every parameter that can be entered, together
with examples and related information.
The tab "Contents (or Inhoud" if a Dutch language version of Windows is installed on the
PC), gives further information in the form of the well-known Windows books. In the tabs
Index and Search (or Zoeken) you can search on keywords in the books.
Overview of Arena - 9-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
14/148
Figure 2.4 The Help dialog box
Figure 2.6 shows what happens when you search for "Create Module". The resulting help
function displays a screen with an explanation concerning the Create Module. In the yellow
field, 5 buttons are displayed. As standard the "Main Topic" is displayed. By clicking on
the other four buttons, you can request information about animation (Animation), examples
can be examined (Examples), an explanation is given of the prompts in the dialog box of
the module (Prompts) and extra remarks concerning the module can be read (Remarks).
Figure 2.5 Dialog box of Help topics Arena
This summary of the Create Module can also be requested by clicking the Help button
in the dialog box of the Create Module.
Figure 2.6 Searching for "Create Module" the search results
When consulting the help function, you will regularly come across words underlined in
green. These are links to related subjects. By clicking on them, the information on the
subject concerned is displayed.
Usually hard to find topics to remember in the Help Topics Index are: Variables for all
internal Arena functions, Distributionsfor the statistical distributions, and Run Controller
Commandsfor the Command window tasks.
Overview of Arena - 10-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
15/148
SMART models: Arena is supplied with over 180 example models, called SMART models.
SMART models are small simulation models that are intended to clarify the operation of
the modules and to demonstrate modelling techniques. These SMART models are located
in the "Smarts" directory in the Arena directory (so for instance C:\Program Files\Rockwell
Software\Arena 6.0\Smarts).
In the help function of Arena (Help Help Topics Arena) all SMART models are classified
in various categories. You can call up the SMART models by typing SMART in the tab
Index of the help function. As shown in Figure 2.7, you can select the SMART Files
Library. In Figure 2.8 the overview of Smart Files is shown that appears when you click
SMART Files Library.
Figure 2.7 Calling up an overview of the SMART-models
Figure 2.8 SMART Files overview
If you click on one of the green underlined model names, a short description of the model,
including a summary of the modules used, is displayed.
The SMART-model can then be opened through the small button in front of the description
of the model. Figure 2.9 shows the model Smart 010. The model demonstrates the
animation of a resource. Two text boxes give a further explanation of the operation of the
model.
Resource:
A resource is unit thatneeds to be claimed inorder to execute acertain process.
If an error message appears when you want to open the SMART-model from the help
function, you can also open the model via File, Open and by navigating to the directory
in which Arena has been installed. In this directory you will find the folder SMARTS. In
this folder select the SMART model you wish to open and click the Open-button.
Overview of Arena - 11-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
16/148
Figure 2.9 The screen of SMART model Smart010.doe
By clicking the "Go"-button ( ) the model is put in "Run mode", the simulation is started
and you can view the animation. By clicking the "End"-button ( ) the simulation is ended
and the model returns to the Edit mode.
To be able to run the model, the model has to be opened from a location on which the user
has the rights to write. If you open a SMART model from a drive on the network on which
you are not allowed to write or from a CD-ROM an error message will appear. In this case,
store the model in a location with rights to write, and then run the model.
Overview of Arena - 12-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
17/148
3
Getting started with Arena
INTRODUCTION: In this chapter we build our first Arena model. Therefore, we will first deal with the
flowchart modules Create, Process and Dispose and we will look into the data modules
Entity, Resource and Queue. For every module we will look into the functionality, share a
few practical experiences, and show the properties of the module and the possible
animation.
Resource, Entity and Queue are called data modules because the modules are not placed as
a part of the flowchart in the model window, but instead they are modelled in their
spreadsheets. Conversely, the other three modules (Create, Process and Dispose) are placed
in the model window. On the basis of these flowchart modules we will structure this
chapter. Paragraph 3.1 (Arrivals) will deal with the Create module; next in paragraph 3.2
(Processes) the Process module is discussed. Finally in paragraph 3.3 (End of System), the
Dispose module is looked into. The data modules are used in the various flowchart modules
and are discussed in the concerning paragraphs.
OBJECTIVES: Having completed the chapter:
you will understand the operation of the Create, Process, Dispose, Entity, Queue and
Resource modules;
you will be able to use these modules to create a simple simulation model based on a
written case description;
you will be able to carry out a simple simulation run and interpret the results.
Getting started with Arena - 13-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
18/148
3.1 ARRIVALS: CREATE & ENTITY
This paragraph deals with the arrival process in a simulation model. The process of arrivals
is modelled in Arena by means of the Create module. In the Create module we specify how
many entities (customers, orders, etc) arrive at the process that is being modelled. Below
we will first elaborate on the Entity module and afterwards the Create module is discussed.
3.1.1 Data Module - Entity
Functionality:The entities flowing through the logics of your model that can undergo processes are
called entities. The entities are defined in the Entity module. You can find this module in
the Basic process panel. The entity module is a data module
Practical examples: Examples of entities are:
Customers in a shop.
Bottles in a soft drinks factory.
Orders at an insurance company.
Telephone calls at a call center.
Properties: Because the Entity module is a data module, the Entity module is not placed in the
modelling window. The Entity module is a data module. Therefore, you do not place this
module in the model window, but enter the data for an entity in the spreadsheet window.
You can also enter or edit the data of an entity by calling up a dialog box. You do this by
clicking the right mouse button on the list of entities that you want to work on and then
selecting option "Edit via Dialog" (see Figure 3.1). Additionally it is possible to call up
the windows by double clicking on the number in front of the row. In this case number 1.
Figure 3.1 Calling up a dialog box for the Entity module
Figure 3.2 shows the dialog box of the Entity module. In this window various parameterscan be set. In Table 3.1 we discuss all options.
Figure 3.2 Entity dialog box
Getting started with Arena - 14-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
19/148
Fieldname: Explanation:
Entity Type In the field of "Entity Type" you specify the type of entity you want to model with aname, e.g. "client" or "form".
Initial Picture In this field you (can) select the animation picture of this entity.
Initial Costs
Value Added, Non-
Value Added, etc
These fields relate to the cost calculations that Arena is able to perform. In the
field "Initial Costs" you (can) specify the initial costs assigned to an entity at itscreation.
Report Statistics By selecting this checkbox you tell Arena to collect statics about an entity duringthe model run. Report Statistics is an option return very often in various dialogboxes, we only discuss it for this dialog box (see alsoAPPENDIX B).
Table 3.1 The Entity dialog box in detail
Animation: As shown in chapter 2,animation is an important part of Arena. An animation can only
improve the communicative value of a model when the animation evokes recognition with
the people to whom the animation is shown. In this paragraph we will discuss how to make
the entities recognisable when flowing through your model.
When you model a client as an entity, you would like to see a person moving over the
screen. The default picture of an entity is set to a picture of a document. In some cases, this
does not improve the recognisability of the model. To change this picture, we therefore
have to assign a different picture to the entity. For this you need to specify in the dialog box
of every Entity data module (see Figure 3.1:right mouse button in entity spreadsheet; Edit
via Dialog) which picture you would like to assign to the entity type. This is done by
selecting a picture from the pull down menu of "Initial Picture" (Figure 3.2). The list with
possibilities comes from the standard library of pictures, see Figure 3.3.This is the Entity
Picture Placement window.
Figure 3.3 Entity Picture Placement window
To add pictures to this library you can do the following:
1. In the menu bar go to: Edit, Entity Pictures. Here you open the Entity Picture
Placement window of Figure 3.3.
2. You can insert an empty picture by clicking Add... in the left column. (if you want
the new picture to appear above another picture in the list, you first have to select this
picture, otherwise the inserted picture will appear below it)
Getting started with Arena - 15-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
20/148
3. When you have selected the new picture with the
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
21/148
Figure 3.4 Create dialog box
Fieldname: Explanation:
Name Here you (can) enter a module name that you (can) choose yourself.However, this name must be unique.
Entity type Indicates the type of the entity to be created, for instance a document,a customer or an incoming telephone call. This is handy if you havevarious types of entities next to each other in one model.
Time Between Arrivals (TBA):
Type, choose from: Indicates how the time between arrivals will be defined.
Random (expo) Time between arrivals will be derived from an exponential distribution.
Schedule Time between arrivals will be read from a schedule.(see chapter 7).
Constant Time between arrivals is constant.
Expression Time between arrivals will be determined from a formula supplied bythe user.
Value
(If Type = Random of Constant)Here the random value or the constant time between arrivals isspecified.
Schedule
(If Type =Schedule)This field is used to specify the name of the schedule.
Expression(If Type = Expression)
Specify the probability distribution or formula. Standard distributions canbe selected from the pulldown menu.
Units Indicates the time units that are used to express the time betweenarrivals.
Entities per Arrival Indicates how many entities must be created each time.
Max Arrivals If required, this field can be used to indicate how many (groups of)entities can be created.
First Creation This field can be used to indicate when the first entity must be created.
Table 3.1 The Create dialog box in detail
Getting started with Arena - 17-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
22/148
3.2 PROCESSES: PROCESS, RESOURCE & QUEUE
In this paragraph we discuss the Process module. The name of the module is self-evident; it
deals with processes that take a certain amount of time and that can use resources as well as
queues. We discuss the Resource module and after that we look into the Queue module.
3.2.1 Data Module - Resource
We will first discuss the functionality. Then we give an overview of examples of practice
and after that we elaborate on the properties of a resource. We end this paragraph by
looking into the animation of a resource.
Functionality: In Arena, a resource is a unit that needs to be claimed before it can execute a certain
process. You can model a resource in the Resource module from the Basic Process panel.
Resources have a limited capacity and they can be active at predetermined times.
Before we continue with a few examples of practice, we will first explain the relationship
between a resource and an entity:
Bakery: A customer (entity) enters the bakery and wants to order something from
the clerk behind the counter (resource). In Arena a customer can claim a
clerk for a certain period. Then the customer will be served for a certain
period by the clerk and after the process the customer has finished his
order and the clerk is free for the next customer.
Examples of practice: Examples of resources are:
Bank employees
Machines that can clean up to ten bottles at a time
Telephone lines in a call center
Computers in a library
Properties: At any moment in time during a model run, a resource has one of four possible
statuses:
1. Idle; the resource is available but is not claimed by an entity.
2. Busy; the resource is claimed by an entity.
3. Inactive; the resource is not available.
4. Failed; the resource is defective and therefore not available.
The Resource Module from the Basic Process panel is not a flowchart module, but a data
module. Therefore, Resource Modules cannot be placed in the model window. If you select
the Resource Module in the Basic Process panel the following will appear in the
spreadsheet window:
Getting started with Arena - 18-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
23/148
Figure 3.5 Resource spreadsheet
The characteristics of the resource can be directly entered into the spreadsheet, in the same
manner as for the Create and Process Modules. The characteristics of a resource can
similarly be amended via a dialog box. Move the mouse to the entrance of the resource
concerned, click the right mouse button and then select "Edit via Dialog". A dialog box
will appear similar to the one shown in Figure 3.6.
Figure 3.6 Resource dialog box
Fieldname: Explanation:
Name Here you can enter a resource name that you can choose yourself.
Type, choose from:
Fixed Capacity
Capacity based on schedule
During the model run, there is no change in the capacity of the resource
The capacity of the resource changes during the model run in accordance withthe user-specified schedule. This option is described in chapter 7.
Capacity
(If Type = Capacity)
Capacity of the resource, for example the number of clerks.
Schedule Name
(If Type = Capacity based onSchedule)
The name of the scheme in which the capacity of the resource has beenmodelled (see chapter 7)
Schedule Rule, choose from
Wait
Ignore
Preempt
(If Type = Capacity based onSchedule)
Here you specify how a resource has to act in the case the capacity of theresource is lowered by the schedule.
The resource finishes processes, before the change in capacity is effectuated.
The extra time that this might take is not being taking into account.
The resource finishes processes, before the change in capacity is effectuated.The extra time will be added to the duration of the change in capacity.
The change in capacity is effectuated immediately, processes still in progressare not finished.
Busy/Hour Here it is possible to enter the costs of a busyresource.
Idle/Hour Here it is possible to enter the costs of an idleresource.
Per Use Here the fixed (start-up) costs can be entered for each processed entity.
StateSet Name This is not covered in this manual
Failures Here you can model the chance of failure of a resource.
Table 3.1 The Resource dialog box in detail
Getting started with Arena - 19-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
24/148
At this point in this book, we only use resources with a fixed capacity. Schedules will be
addressed in chapter 7.
Animating a Resource: In the previous paragraph we saw that a resource is a processing unit that
can have various statuses during a simulation run. A processing unit is a broad concept: It
can be a telephonist, a telephone line, a computer, a shop assistant, etc. In the same way as
for entities, the model has increased its communicative level when a resource is animated in
such a way that it evokes recognition for the person who is viewing the model.
Arena does not animate a resource by default. To add animation of a resource, you click on
the "Resource" ( ) button in the Animate toolbar. A dialog box as shown in Figure 3.7
will appear.
Figure 3.7 Resource Picture Placement window
In the right-hand column of this dialog box red squares can be seen, followed by the four
possible statuses of a resource. Above it there are two fields. The top field "Identifier:"
refers to the resource that must be animated. From the pull-down menu you choose the
name of this resource. The field "State:" indicates which status picture is selected at that
moment.
The allocation of pictures from the library in the right-hand column is done in an identical
way as in the Entity Picture Placement screen.
Furthermore, there are two check boxes. If "Auto Scale" is checked, Arena will determine
the size of the picture in the simulation model. If "Seize Area" is checked, a dashed line
will appear on the displayed resource with a circle at the end. This circle indicates where an
entity is positioned in the animation if it is processed by the resource.
You can change the position of the Seize Area by positioning the cursor in the middle of
the circle and clicking once. The Seize Area is now selected: A red dot appears in the circle
and the cursor changes into a crosshair. The circle can now be dragged to the desired
position, if the left mouse button is kept pressed.
If the resource capacity is greater than 1, it might be desirable to show that several entities
will be processed at the same time. When the Seize Area is selected, a double-click will
cause a dialog box to open (Figure 3.8).
Getting started with Arena - 20-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
25/148
Figure 3.8 Dialog box Seize Area
By clicking Points in the Seize Area dialog box, the Points dialog box will be opened
(Figure 3.9). By clicking once on "Add" one extra position will be added to the Seize
Area. You can click "Add" as often as you wish until the desired number of positions has
been created. When you have click Add for a number of times, some zeros will appear
below each other. Then click on "OK" to close the dialog boxes and you will see that the
number of positions in the Seize Area has been increased. The added positions you can drag
to the right place in the modelling window.
Figure 3.9 Add Additional Points to the Seize Area in the dialog box Points
3.2.2 Data Module - Queue
Functionality:Entities that must be processed by a resource, can encounter two situations
when they arrive at the resource:
1. The resource is idle; in this case the entity can directly claim the resource.
2. The resource is busy, inactive or failed; the entity must wait until the resource is again
idle.
It is often the case that entities must wait before they can be processed by a resource. Allentities that are waiting are placed on a waiting list: the queue.
Examples of practice: Examples in which a queue is applied:
Queue in front of a counter
Pile of files waiting to be processed
Letters in the bag of a mailman
Buffer of a filling machine
Being on hold with a call center
Properties: In Arena queues are often created automatically. If, for instance, it is indicated
in the dialog box of a Process Module that a resource must be claimed, Arena automatically
Getting started with Arena - 21-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
26/148
places a queue above the Process Module concerned. Because you will sometimes need to
deviate from the standard settings or because you may want to add an extra queue, we will
discuss here the characteristics of a queue.
The Queue Module can be found in the Basic Process panel and is a data module, just as
the Resource module. Therefore, when the Queue Module is selected, a queue spreadsheet,
as shown in Figure 3.10 will appear on the screen.
Figure 3.10 Spreadsheet of the Queue module
Here the characteristics of the queue can be specified directly in the spreadsheet, just as for
the Resource Module. Moreover, in the same way as for the Entity and Resource Modules,
a dialog box can be opened for the queue. This dialog box is shown in Figure 3.11.
A name can be given to the queue in the Queue dialog box. If Arena automatically creates a
queue for a module then the name of the queue always has the form "Module name.Queue".
If for instance, we give the name Fill_Bottle to a Process Module, the name of the
automatically created queue will be Fill_Bottle.Queue. The meaning of the other prompts
in the Queue dialog box can be seen in Table 3.1.
Figure 3.11 Queue dialog box
Fieldname Explanation
Name Here you can enter a queue name that you can choose yourself.
Type, choose from:
First In First Out
Last in First Out
Lowest Attribute Value
Highest Attribute Value
Processing occurs in arrival sequence.
The last entity to arrive will be the first to be processed.
Queue sequence in accordance with an attribute value (for instancepriority), where the entity with the lowest attribute value will be processedfirst. (see chapter 4 for Attributes).
The same as Lowest Attribute Value, but then on the basis of the highestattribute value.
Attribute Name
(If Type = Lowest Attribute Value ofHighest Attribute Value)
Here the name of the attribute on which the queue is based must bedefined.
Checkbox Shared Here you can indicate whether the queue will be shared by variousprocesses.
Table 3.1 The Queue dialog box in detail
Animation: Animating a queue is very important for the communicative value. Bottle necks are
often shown by the length of the queue. Arena automatically put a queue above a Process
module when a resource is being used in this process (see paragraph 3.2.3). If want the
Getting started with Arena - 22-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
27/148
queue to appear in front of the picture of the resource, we can then drag the queue to
another place.
In some modules queues are not automatically added. To add an animation of a queue you
click the button "Queue" ( ) from the Animation toolbar. In the model window the dialog
box of Figure 3.12 appears.
Figure 3.12 Queue animation Dialog box
In the field: Identifier you can specify which queue will be animated. Furthermore in the
field Type you can specify the way in which you want to display the queue. By default
Arena display a queue of the type Line. This is a line over which the entities slide when
they enter the queue. The type Point can also be selected; with this, various points can be
defined on which the entities will stand when waiting. The entities will not slide against
each other on the line, but they will wait on the indicated spot. Furthermore the colour of
the line can be changed in the field Colour. Below two possible types of queues are
shown (Figure 3.13).
Figure 3.13 Queue of type Points (left) and Line (right)
3.2.3 Flowchart Module - Process
Functionality: The Process Module is used to process an entity. A process can be just
delaying an entity for a certain time; the entity will only be delayed. However, a process
can be carried out by something or someone, for instance by a machine or a telephonist.
The machine or telephonist is called a resource (the resource; discussed in paragraph 3.2.1).
Furthermore it is possible that a queue builds up when an employee is busy while a next
entity arrives.
Examples of practice: Examples of processes that you can model with a Process module:
Serving of customers on a terrace
Digitising orders
Cleaning of bottles by a cleaning machine
Properties: Just like the Create Module, the Process Module also has a name that can be
determined by the user. As standard, the module is equipped with a counter that records
how many entities are contained in the Process Module. The module has an entrance and an
Getting started with Arena - 23-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
28/148
exit that must be connected using connectors with respectively the preceding and
succeeding modules. Below follows a short example of a Process module.
Glue: The employee of a factory has got the assignment to glue two part of a
device together. In the first part of this process the employee has to cover
the parts with glue. This is a process in which one employee is needed, theresource, and in which the entities go through the process one by one and
in which the entities have to wait when the resource is busy. This could be
modelled in a Process module with a seize, delay, release construction
(this construction is demonstrated in Table 3.1).
In a process it is also possible that an entity is delayed for a certain amount
of time, without the help of a resource. If we continue with Glue example:
After the parts have been covered in glue, they have to wait for a certain
time to dry. For this drying process no machine or employee is needed, in
Arena the part (entities) can be delayed for a certain time. This is modelled
in a Process module with a delay construction. Entities can go through
these modules (partially) parallel independent of each other.
By double clicking on the Process module, a dialog box as in Figure 3.14 is opened. Table
3.1 shows which settings can be made in the Process Module.
Figure 3.14 Process dialog box
Getting started with Arena - 24-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
29/148
Fieldname: Explanation:
Name Here you can enter a (unique) module name that you can choose yourself.
Type, choose from:
Standard
Submodel
The process will be carried out in the module itself.
The process will be carried out in a submodel. See chapter 7
Logic
Action, choose from:Delay The entity will only be delayed; no resource needs to be defined.
Seize Delay Before the process can start, the entity should claim a resource. The resourcewill not be released after processing.
Seize Delay Release Before the process can start, the entity should claim a resource. When theprocess has finished, the claimed resource will be released.
Delay Release A resource is already claimed; the process can therefore start immediately.When the process has finished, the earlier claimed resource can be released.
Priority If a resource is claimed in this module, this field defines the priority of theentity. This is handy for when a resource is used for multiple processes.
Resources This field is used to specify which resource(s) must be claimed for thisprocess. Click on "Add" to add a resource.
Delay type Defines the type of the processing delay. There is a choice of 4 standardprobability distributions and the possibility to enter your own formula for theprocessing time. The parameters of the distributions or the formula are
entered in the last line of the dialog box.Time Units Here you enter the time unit associated with the process time.
Allocation Here the process time is given an allocation that can be used later whenanalyzing the results.
Table 3.1 The Process dialog box in detail
* When you click Add under resources, a new dialog box appears (see Figure 3.15).
Here you can specify a number of things, namely: Type, Resource Name and Quantity. For
Type you can choose between Resource or Set. In the next chapters we will choose for
Resource, Set we will not discuss in this manual. Next you can enter a name for the
resource or, when you have already made the resource in the spreadsheet, you can select the
resource from the pull down menu. Under Quantity you specify the number of resources
that you want to claim per entity. For example: If you have to be served by two employees
in the shop, then Quantity should be set to two.
Figure 3.15 Resource dialog box
Let op: The Quantity is not equal to the Capacity. Under Capacity you specify how many units of a
resource are available to the process. For example, there can be four employees in the shop.
In this case the resource employee has a capacity of 4 units. Under Quantity you specify
how many employees are going to serve one customer. The customer is usually served by
only one at a time; therefore Quantity should be equal to 1.
Let op:In the Process module it is possible to click Add more then once to add resources. The
entity being processed should then claim all added resources before the process can be
started. This is nota matter of choice (the entity is not allowed to choose which resource to
Getting started with Arena - 25-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
30/148
claim), or an expansion of capacity (when twice the resource baker in the Resources field
is shown, it does not mean that there are two resources baker available).
Pay attention to the possibility of drawing a negative value from a distribution! For
example a normal distribution is unlimited; this is why negative values as a processing time
can be drawn. In this case, Arena will use the value 0 as processing time and this results in
a distribution function with a different form than meant.
3.3 END OF THE SYSTEM: DISPOSE
Functionality: We have now seen how we can model the creation and processing of entities. At a
certain moment, an entity has progressed through the system and will leave it. In Arena the
system-exit is modelled with a Dispose module from the Basic Process panel. There are no
data modules for the Dispose module.
Examples of practice: Examples of the dispose module are:
The ending of a conversation at a call-center
Bottles are delivered to the client in crates
Orders have been processed and are filed in an archive
Properties: When a Dispose Module is placed in the model window, the characteristics of the
module can be set by selecting the module and filling in the spreadsheet under the model
window, or by double-clicking on the module and then filling in the dialog box as shown in
Figure 3.16.
Figure 3.16 Dispose dialog box
Fieldname Explanation
Name Here you can enter a module name that you can choose yourself.
Checkbox -
Record Entity
Statistics
Here you can indicate whether or not statistical data concerning the entities that
leave the system via this module should be recorded.
Table 3.1 Dispose dialog box in detail
3.4 EXAMPLE: THE BANK
We now have sufficient knowledge of Arena to allow us to build a
simple simulation model. A case is described below which we will use to
create an Arena model in stages.
CASE: THE BANKA small bank is open from Monday through Friday from 9:00 to 17:00.
Every day a customer enters the bank on average every 9 minutes.
Getting started with Arena - 26-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
31/148
There is one employee continually present who helps the customers
with every possible transaction. The employee is busy with each
customer for at least 3 minutes, but never longer than 7 minutes.
Normally, the customer is served in 5 minutes. When the transaction is
completed, the customer leaves the bank.
STEP 1: MODELLING
It is always sensible, before you start to drag and drop modules, to first
make a flowchart on paper: A so-called "conceptual model". The task-
actor diagram below gives an overview of the events in the system.
Employee
Serves customers
Customer
Leaves the bank
Customer
Enters the bank
The diagram can be extended further by indicating with which module
we want to model an event and what we want to enter in these
modules.
We choose to model the time between arrivals using an exponential
distribution. Because only the average of the time between arrivals is
known and there are no data concerning the spread of the time
between arrivals, the exponential distribution is the most applicable
probability distribution.
In the case description we read that an employee requires between 3
and 7 minutes to serve a customer. From this we can see that limits
must be applied to the probability distribution from which we derive the
handling time. Moreover, we read that it normally takes the employee 5
minutes to help the customer. The minimum handling time is therefore
3 minutes, the most common handling time is 5 minutes and the
maximum handling time 7 minutes. It is therefore obvious that we
should model the handling time using a triangular distribution.
If we fill in these details, the diagram will appear as follows:
Dispose
Name: Exit
Record Ent. Stat:
Check
Process
Name: Desk_employee
Action:Seize-Delay-Release
Resource: Employee
Delay Type: Triangular
(Min, Val., Max): (3,5,7)
Create
Name: Entrance
TBA-Type: Expression
Expr.: EXPO(6)
Customer
Enters the bank
Employee
Serves customer
Customer
Leaves the bank
Using this overview it is very easy to create the simulation model. First,
we drag a Create Module into the model window and then double-click
on it to open the dialog box. We fill in this dialog box as follows:
Getting started with Arena - 27-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
32/148
STEP 2: CREATE MODULE
We first drag a Create module into the model window double click on
the module to call up the dialog box. This we fill in as follows:
There is only one entity type (the customer), so we do not need to
model separate entities with specific characteristics using the Entity
Module.
N.B. In Time Between Arrivals - Type we could have chosen Randomand then filled in 9 for Value. This also creates customers in
accordance with an exponential distribution.
Step 3: Process module
Now we drag the Process Module into the model window. If you have
selected the Create Module before dragging the Process Module, then a
connect line will automatically be added between the Create Module
and the Process Module. If this is not done, then the connection line
can be created by clicking on the connect button ( ) and then first
clicking on the output of the Create Module and then on the input of
the Process Module.
When the Process Module is positioned and connected to the Create
Module, we fill in the dialog box.
We create the resource Desk_employee by clicking in the Process-
dialog box on the button "Add" and then by filling in the appearing
dialog box as follows:
Getting started with Arena - 28-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
33/148
When this dialog box has been filled in, Arena defines a resource with
the name Desk_Employee. In the Resources spreadsheet you can see
if the standard settings are correct:
In the case description we read that one person is continually present.
The capacity is therefore already correctly filled in. (Actually, theemployee is only present from 9:00 to 17:00 and therefore not 24
hours a day. Because of the case, it is uninteresting what happens
outside of opening hours, we will therefore not consider the remainder
of the hours.) There is nothing known about costs, so we will not fill
anything in.
Note that when the dialog boxes are closed, a queue is displayed above
the Process Module.
Step 4: Dispose module
Now only the Dispose Module needs to be positioned. We make sure
that the module is connected to the Process Module and then fill in the
dialog box as follows:
When this is done the model window appears more or less as follows:
Step 5: Run Model
The model is now ready and can be run. We first save the model and
then we click the Run-button in the standard toolbar to start the
simulation If you get an error message, check if no (typing) errors have
been made when filling in the dialog box or look up the error message
inAPPENDIX C to determine the cause of the problem. Note that we did
not specify a run length (see APPENDIX B) and that therefore themodel will run infinitely. You can stop the simulation run by clicking the
End-button .
Getting started with Arena - 29-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
34/148
3.5 EXERCISE ASSIGNMENT: THE BAKERY
Description
In a small bakery every hour approximately 25 people enter. (Poisson
distributed). In the bakery there are two employees serving customers.
Measurements have shown that serving a customer usually takes 6
minutes, but at least 4 minutes and at most 8 minutes. After customers
have been served, they exit the bakery.
Assignment
Using the information above, make a simulation model in Arena and run
the model. During the run, monitor the queue above the process
module. Do you think that the employees can handle the situation?
Getting started with Arena - 30-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
35/148
4
Basic entity processes
INTRODUCTION: In the models of the previous chapter all entities that passed through the system were equal:
Every entity in the system had identical characteristics and went through the system in the
same way. In reality this is hardly ever the case: customers of a bakery have different
characteristics and want to have different products. Bottles in a soft drink factory go
through other processes than crates. In this chapter we will discuss the characteristics of
entities and how, based on these characteristics or other circumstances, entities choose their
own way through the model. We will go into the use of attributes and variables as well as
the Assign module in paragraph 4.1.In paragraph 4.2 we will look into the Decide-module
with which you can model the path of entities through the model and finally in paragraph
4.3 the Separate, Batch and Match module, with which entities can be batched together and
separated.
OBJECTIVES: Having completed the chapter:
you will be familiar with the modules Assign, Decide, Separate and Batch
you will know what an attribute is and how you can use attributes in your models;
you will know what a variable is and how you can use variables in your models;
you will be in a position to build your model logic in such a way that the entities flow
through your model in the correct manner.
Basic entity processes - 31-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
36/148
4.1 ATTRIBUTES AND VARIABLES: ASSIGN
In this paragraph we discuss the use of attributes and variables. Figure 4.1 gives an
overview of the use of attributes and variables in a simulation model. In paragraph 4.1.1
we elaborate on what is really meant with a variable and on the Variable module. In
paragraph 4.1.2 we introduce the notion attribute and in paragraph 4.1.3 we discuss the
use of the Assign module from the Basic Process panel.
EntityType: ASerialNumber: 12
EntityType: BSerialNumber: 14
Entity
Type: ASerialNumber: 05
EntityType: CSerialNumber: 07
EntityType: ASerialNumber: 16
EntityType: BSerialNumber: 03
EntityType: CSerialNumber: 18
Number of Entities: 7Day: MondayTime: 14:35
AttributesVariables
Model
Figure 4.1 Attributes and variables in a simulation model
The difference between a variable and an attribute is that attributes are characteristics of
every individual entity. It is as it were, a small note with some values that every entity
carries with it. Entities can not see or change each others attributes. Variables however, are
writable and readable by all entities in the model. You can imagine the list of variables as
one central list on the wall that is accessible by all entities.
4.1.1 Data module: Variable
Functionality: The variables that you use in your simulation model are defined in the Variable
module. A variable is a unique characteristic of the model and can be read and changed by
all entities in the model. You can find the Variable module in the Basic Process panel.
Examples of practice: Examples of variables are:
The time (N.B. also the simulation clock is a variable!).
The number of people in a shop.
The average waiting time of people calling a call center.
Weather influencing the model.
The exchange rate of the Dollar.
Properties:A new variable is created by selecting the variable icon in the Basic Process panel and
by double clicking in the spreadsheet window on the Double-click here to add a new
row. Inserting data on this variable is done in the spreadsheet itself, or by entering the data
Basic entity processes - 32-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
37/148
in the dialog box of the Variable module (see Figure 4.2). This dialog box can be opened by
double clicking on the row of the variable.
Figure 4.2 Variable dialog box
In Table 4.1 We discuss the Variable dialog box
Tip: It is not always necessary to define a variable yourself. When, for the first time, you ascribe
a value to a variable in the Assign module (see paragraph 4.1.3), Arena will automatically
define this variable.
Fieldname: Explanation:
Name Here you can choose a unique name for the variable.
Rows When you want to define a one or two dimensional variable, this iswhere you specify the number of rows.
Columns When you want to define a two dimensional variable, this is where youspecify the number of columns.
Clear Option Here you determine when the variable will be reset to the initial value(s).
Initial Values This is where you can input the initial value(s) for the variables. Defaultvalue is 0.
Table 4.1 The Variable dialog box in detail
Animation: It is useful to show the current value of a variable in the model in the animation. This
can be done in several ways of which we will discuss one here:
The value of a variable can be displayed during a simulation run by using a counter. You
can position a counter in the model window using the "Variable" ( ) button from the
Animate toolbar. If you click on this button, the dialog box shown in Figure 4.3.
Figure 4.3 Variable dialog box (Animation)
Basic entity processes - 33-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
38/148
Fieldname: Explanation:
Expression Here you select the name of the variable from the pull down list, or you enter thename of the variable. It is also possible to enter a formula (calculation), possibly withthe help of the Expression Builder (seeAPPENDIX D)
Format Select the format in which the value of variable should be displayed. A * stands fora number, the . Is the decimal.
Fixed Decimal Point When you have chosen for a decimal underFormat, this is where you can specifywhether this decimal should be fixed or whether the decimal is allowed to move tothe right when the value left of the decimal does not fit the text box anymore.
Transparant Here you can select whether or not the text box should have a border orbackground.
Alignment Here you specify if the value should be aligned left or right.
Area, Border, Font With these buttons you call up the dialog boxes in which you can set the backgroundcolour, the border and the font.
Table 4.1 The Variable dialog box (Animation) in detail
When you have filled in this window and click OK, the cursor turns into a cross-hair.
With a click-and-drag movement you can place the text box in the model window.
Except for this possibility you can also animate the value of a variable with a Level ( ),
a Histogram ( ) and a Plot( ). We will not go into these ways of animating here.
4.1.2 Attributes
Functionality:An attribute is a characteristic of an entity.
Examples of practice: Examples of attributes are:
Your name
Your age
Brand of a car
Client type (business or private)
The time you have been on hold at a call center
Properties:There is no module for attributes in Arena. To define attributes, the Assign module is
used (see next paragraph).
4.1.3 Flowchart Module: Assign
Functionality:The Assign module is used to define attributes and variables and in order to assign
values to them.Assign 1
Properties:By dragging the module into the model window and double clicking it (or by double
clicking the row that corresponds to this module in the spreadsheet window) you call up the
dialog box of the Assign module as is shown in Figure 4.4.Assignment:The defining of, theallocation of or thechanging of anattribute or variable
In one Assign module you can specify several assignments. By clicking the button Add
you open the Assignments dialog box (Figure 4.4,right). In this dialog box you model one
assignment. By selecting an assignment from the list Assignments and by clicking the
button Edit you can change an existing assignment. With the button Delete you
can delete the selected assignment.
Basic entity processes - 34-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
39/148
Figure 4.4 Assign and Assignments dialog box
Fieldname: Explanation:
Name Here you can choose a unique name for the module.
Assignments This list gives an overview of all assignments that has been modelled inthis Assign module.
Type, choose from:
Variable You want to assign a value to a variable.
Attribute You want to assign a value to an attribute.
Entity Picture You want to assign a new picture to an entity.
Entity Type You want to assign a new entity type to an entity.Other You want to model a different type of assignment.
Variable name
(If Type = Variable)
Here you specify the name of the variable to which you want to assign avalue, or you select this from the list with existing variables.
Attribute name
(If Type = Attribute)
Here you specify the name of the attribute to which you want to assign avalue, or you select this from the list with existing attributes.
Entity Picture
(If Type = Entity Picture)
Here you specify the name of the picture to which you want to assign avalue, or you select this from the list with used variables.
Entity Type
(If Type = Entity Type)
Here you specify the name of the type you want to assign to an entity,or you select this from the list of used types.
Other
(If Type = Other)
Here you specify the name of Other Type to which you want to assigna value.
New Value
(If Type = Variable, Attribute orOther)
Enter here the value you want to assign to the variable, the attribute orOther Type.
Table 4.1 The Assign and Assignment dialog boxes in detail
Let op: It is allowed to only assign numeric values to attributes and to variables. Arena is incapable
of evaluating strings. In case you do want to use textual values, you will have to link the
textual values to a numeric value. This is possible with the Statics element from the
Elements panel. This is not further discussed here.
Tip: You can enter a value in the New Value field. On the other hand it is also possible to
have this value determined by an expression. In Arena you can build an expression with the
Expression Builder. It can be found by right clicking in the field New Value andchoosing the option Build Expression. The Expression Builder will be covered in detail in
APPENDIX D.
Basic entity processes - 35-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
40/148
4.2 ROUTING TROUGH THE LOGIC: DECIDE
Entities do not always follow the same path through the modelled system. When entities
can follow different paths through the model, at least at one place in the model a decision
has to be made where it is determined by which route the entity will continue through the
logic of the model. You can use the Decide module for this in Arena; we will discuss this
module in paragraph 4.2.1.In paragraph 4.2.2 we will go into a couple of examples of the
Decide module.
4.2.1 Flowchart Module: Decide
Functionality: In the Decide module (see picture), it is determined which path an entity should
follow continuing through the model. This choice can be based on a probability
distribution, on an attribute of an entity or on other conditions.
The shape of the Decide module depends on the number of routes that can be chosen in the
module. When there are two possible choices, the Decide module in the model window
looks like the top left picture. At that moment the module has a True and a False exit.
Both exits come with a counter that keeps track of how many entities have left the module
through the concerning exit.
When there are more than two possibilities, the module will look like the bottom left
picture. The Decide module has exits on the right, marked with a label, and an Else exit.
The labels correspond to the chance that the concerning exit will be chosen, when you
make use of a decide by chance. When you base the choice on a condition, this condition
will be shown as a label.
Examples of practice: You can use a Decide module when you want to model one of the following
situations:
70% of the customers of a supermarket do not go by the bakery department.
In a call center business clients are served on a different department than private
clients.
3% of all products do not pass quality control in a factory.
Properties: When the Decide module has been dragged into the model window, you call up the
accompanying dialog box by double clicking on the module. The dialog box of Figure 4.5
is opened. In Table 4.1 we discuss this dialog box more in depth.
Basic entity processes - 36-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
41/148
Figure 4.5 The Decide dialog box.
Fieldname: Explanation:
Name Here you can choose a unique name for the module.
Type, choose from:
2-way by Chance Two possibilities can be chosen, based on chance
2-way by Condition Two possibilities can be chosen, based on condition
N-way by Chance More possibilities can be chosen, based on chance
N-way by Condition More possibilities can be chosen, based on condition(s)
Percent True
(If Type = 2-way by Chance)
Here you specify the chance that an entity leaves the module via theTrue exit.
Determine the condition
(If Type = 2-way by Condition)
If Here you choose whether the decision is based on a variable, anattribute, the entity type or on a formula.
Named Here you choose the name of the variable, the attribute or the entitytype that will be used for the decision.
Is Here you choose the evaluator thatapplies.
Value Here you choose the value of the attribute or variable, or specify the
formula here.Percentages
(If Type = N--way by Chance)
The list with chances is shown here. With the button Add, Editand Delete you can add, change and delete chances.
Conditions
(If Type = N--way by Condition)
The list with conditions is shown here. With the button Add, Editand Delete you can add, change and delete conditions. Definingconditions takes place in almost the same way as under Determine thecondition (see above).
Table 4.1 The Decide dialog box in detail
Tip: When you have selected the type N-way by Chance in the Decide module, the chances
you specify do not have to add to 100%. When the sum of the specified chances is less than
100%, Arena will let the entities with the remaining probability leave the module via the
Else exit. However, the sum of the chances can never be larger than 100%!
Tip: Sometimes you would like to assign an attribute to entities based on a probability
distribution. For example: The assigning of a processing time for a specific process. This
can be done with the above mentioned Decide module. However it is also possible to do it
with only one module: the Assign module, see Figure 4.6
Figure 4.6 Disc function in the Assign module
Basic entity processes - 37-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
42/148
In this way of modelling the two modules, the Decide module and the Assign module are as
it were combined. The formula DISC (0.5,Male,1,Female) represents a discrete probability
function that constructed in the following way:
50% of the entities flowing through the module have the value Male for Gender
50% of the entities flowing through the module have the value Female for Gender
Notice that the formula has been constructed cumulatively: the final "probability value"
therefore is always 1! Male and Female are Statics (constants) with e.g.
the values 1 and 2.
4.2.2 Examples
We illustrate the operation of the Decide Module by using two simple models.
Example 1:
In the model above, 20 entities are created in the Create Module. With
a 50% chance of an entity leaving the system via Dispose 1 and the
remainder leaving via Dispose 2.
We have therefore filled in the Decide dialog box as follows:
Below it is shown what the model looks like at the end of the run:
At the end of the run, 11 entities have left the system via Dispose 1 and
9 entities via Dispose 2. The fact that the distribution is not exactly
50%-50% is the result of using a probability distribution. As the
number of entities created tends towards infinity, the distribution over
Dispose 1 and Dispose 2 will tend towards 50%-50%.
Follow the steps below to see how the distribution of entities over both
Dispose Modules varies for the different replications:
Replicatie:
A model run in whichthe simulation model is
ran for the periodspecified as run length.
Basic entity processes - 38-
-
7/24/2019 e8c59fd9-6818-4eb0-acde-be2eaaf6ae53
43/148
Open the dialog box "Run Setup" and select the "Replication
Parameters" tab. Now enter 5 for "Number of Replications" (or an
arbitrary other number), and check both of the boxes in "Initialize
Between Replications".
Now select the "Run Control" tab and ensure that "Pause Between
Replications" is checked.
Start the simulation using the button. When a replication
finishes, use the same button to start the next one. Note how the
results differ per replication.
In order to record the total distribution after a number of
replications, do not check the