e8c59fd9-6818-4eb0-acde-be2eaaf6ae53

Upload: antonio-alfaro-victorio

Post on 21-Feb-2018

216 views

Category:

Documents


0 download

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