Arena Basic Edition User's Guide
Arena Basic Edition User's Guide
Users Guide
Doc ID ARENAB-UM001C-EN-P
Technical Support Telephone1-440-646-5800 World Wide Webwww.software.rockwell.com 2002 Rockwell Software Inc., a Rockwell Automation company. All rights reserved. Printed in the United States of America. This manual and any accompanying Rockwell Software products are copyrighted by Rockwell Software Inc. Any reproduction and/or distribution without prior written consent from Rockwell Software Inc. is strictly prohibited. Please refer to the license agreement for details. Commercial runtime models may be legally loaded and run only by employees of the organization that purchased the license in which the model was created. Runtime models created using a research license may not be used for commercial use. Any other use of a runtime model is illegal, unauthorized, and should be reported to Rockwell Software at 1-800-BizWare or 1-412-741-3727.
Trademark Notices
Arena and SIMAN are registered trademarks and the phrase Forward Visibility for Your Business and the Rockwell Software logo are trademarks of Rockwell Software Inc., a Rockwell Automation company. Microsoft, ActiveX, and Visual Basic are registered trademarks of the Microsoft Corporation. Visio is a registered trademark of Visio Corporation. All other trademarks and registered trademarks are the property of their respective holders and are hereby acknowledged.
Warranty
This Rockwell Software product is warranted in accord with the product license. The products performance will be affected by system configuration, the application being performed, operator control, and other related factors. This products implementation may vary among users. This manual is as up-to-date as possible at the time of printing; however, the accompanying software may have changed since that time. Rockwell Software reserves the right to change any information contained in this manual or the software at anytime without prior notice. The instructions in this manual do not claim to cover all the details or variations in the equipment, procedure, or process described, nor to provide directions for meeting every possible contingency during installation, operation, or maintenance.
ii
Contents
1 Welcome to Arena Basic Edition ....................................... 1
What is Arena Basic Edition? ..................................................................... 1 Intended audience ....................................................................................... 1 Where can I go for help? ............................................................................. 2 Reference the users guides ........................................................................ 2
Explore our examples ...................................................................... 2 Get help! ............................................................................................. 3 Use the SMARTs library .................................................................. 3 Access the Arena Symbol Factory .................................................. 3 Call for technical support ................................................................ 3 Call for software training ................................................................ 4 Call for consulting services ............................................................. 5 Contact us .......................................................................................... 5
iii
Create ................................................................................................ 39 Dispose ............................................................................................. 40 Process .............................................................................................. 41 Process Resource dialog ........................................................... 43 Decide ............................................................................................... 44 Batch ................................................................................................. 46 Separate ............................................................................................ 47 Assign ............................................................................................... 48 Record ............................................................................................... 49
Data modules .............................................................................................. 51
Entity ................................................................................................ 51 Queue ............................................................................................... 52 Resource ........................................................................................... 53 Variable ............................................................................................ 55 Schedule ........................................................................................... 56 Set ...................................................................................................... 58
Calendar schedule information ............................................................... 59
iv
Index ........................................................................................ 99
CHAPTER 1
Documenting, visualizing, and demonstrating the dynamics of a process with animation Predicting system performance based on key metrics such as costs, throughput, cycle times, and utilizations Identifying process bottlenecks such as queue build ups and overutilization of resources Planning staff, equipment, or material requirements
In addition to Arena Basic Edition, Rockwell Software offers a full suite of products to provide enterprise-wide simulation, including Arena Standard Edition, Arena Professional Edition, Arena Contact Center Edition, Arena Factory Analyzer, Arena Packaging Edition, and an optimization template called OptQuest for Arena.
Intended audience
The Arena Basic Edition is designed for business consultants, business analysts, and engineers. It can be widely deployed as a desktop tool and can serve as a natural extension to those who use various flowcharting packages such as Visio to document business processes.
We assume that you are familiar with the basic concepts and terms used in these types of systems. You are interested in improving business or manufacturing productivity and are responsible for evaluating and predicting the impact of proposed strategic and tactical changes to help improve performance. A familiarity with computers and the Microsoft Windows operating system is assumed. A familiarity with the concepts and terms used in simulation is also helpful.
CHAPTER 1
Get help!
Online help is always at your fingertips! Arena incorporates the latest in help features, including Whats This? help that displays a brief description of fields in dialogs, context-sensitive help on menu and toolbar buttons, and a help button on each of Arenas modules. Just refer to the Arena help table of contents and index for a list of all help topics. And be sure to check the Arena User Zone (www.arenauserzone.com) on the web for possible software patches. If you cant find the answer you need, contact your local representative or Arena Technical Support.
for users on active maintenance, there is a technical support hotline and e-mail address staffed by full-time, experienced professionals help with installation problems or questions related to the softwares requirements troubleshooting limited support regarding the interaction of Arena with other programs support of the Arena Object Model, which is used in Microsoft Visual Basic for Applications
n n
If you call the support line, you should be at your computer and prepared to give the following information:
n n n n n
the product serial number (located on the activation disk) the product version number the operating system you are using the exact wording of any messages that appeared on your screen a description of what happened and what you were doing when the problem occurred a description of how you tried to solve the problem
CHAPTER 1
Contact us
We strive to help all of our customers become successful in their manufacturing improvement efforts. Toward this objective, we invite you to contact your local representative or Rockwell Software at any time that we may be of service to you. Numbers for the support group are listed on the copyright page of this book. Support E-mail: [email protected] Corporate E-mail: [email protected] URL: www.arenasimulation.com URL: www.rockwellsoftware.com
CHAPTER 2
GETTING STARTED
Getting Started
Introduction
While you may not realize it quite yet, you now have the power to transform your business. Whenever you and others in your organization are wondering what if?, you can look into the future to find the answer. With Arena, you can:
n n
Model your processes to define, document, and communicate. Simulate the future performance of your business to understand complex relationships and identify opportunities for improvement. Visualize your operations with dynamic animation graphics. Analyze how your system will perform in its as-is configuration and under a myriad of possible to-be alternatives so that you can confidently choose the best way to run your business.
n n
Project Bar
To model your process in Arena, youll work in three main regions of the application window. The Project Bar hosts panels with the primary types of objects that you will work with:
n
The Project Bar usually is docked at the left of the Arena application window, but can tear off or dock at another position like any toolbar.
Basic Process panel: Contains the modeling shapes, called modules, that youll use to define your process. Reports panel: Contains the reports that are available for displaying results of simulation runs. Navigate panel: Allows you to display different views of your model, including navigating through hierarchical submodels.
In the model window, there are two main regions. The flowchart view will contain all of your model graphics, including the process flowchart,
CHAPTER 2
GETTING STARTED
animation, and other drawing elements. The lower, spreadsheet view displays model data, such as times, costs, and other parameters. As we model the mortgage application process, well work in all three of these regions of Arena.
Where do the mortgage applications enter the process? What happens to them at each step? What resources are needed to complete work?
First, well draw the flowchart representing the mortgage application process. Refer to the Mortgage Application Process Flowchart (shown previously) so youll know what well be creating.
Every process flow starts with a Create module. When you simulate the flowchart, individual entities will be created according to timing information you supply in the Create module properties. After its created, each entity moves from the Create module to the next shape in the process flow.
1. So that Arena will automatically connect the Process to the Create module, be sure that the Create module is selected. 2. Drag a Process module from the Basic Process panel into the model window, placing it to the right of the Create. Arena will automatically connect the two modules. As with the Create, the Process module has a default name that well replace later.
10
CHAPTER 2
GETTING STARTED
Note: If no connection appears between Create and Process, click the Object > Connect menu item or the Connect toolbar button to draw a connection. Your cursor will change to a cross hair. Start the connection by clicking the exit point ( ) of the Create module, then click the entry point ( ) of the Process module to complete the connection.
11
If the mortgage application has a complete set of information, it will leave the Decide module from the right side of the diamond shape, representing the True condition. Incomplete applications (False result to the Decide test) will leave via the bottom connection.
12
CHAPTER 2
GETTING STARTED
Entity flow always begins with a Create module and terminates with a Dispose module. You may have as many of each of these modules as you need to generate entities into the model and to remove them when their processing is complete.
2. Drag a Dispose module to the right of the Decide module. Arena will connect it to the primary (True) exit point of the Decide module. (We wont include a graphic display since youre now familiar with the drag-and-drop sequence.) 3. To add the second Dispose module, once again select the Decide module so that Arena will automatically connect its False exit point to the new Dispose module, and drag another Dispose module below and to the right of the Decide module. 4. Drag and drop another Dispose module, placing it below and to the right of the Decide shape, completing the process flowchart.
What is a module?
In Arena, modules are the flowchart and data objects that define the process to be simulated. All information required to simulate a process is stored in modules. For now, were working with flowchart modulesthose that are placed in the model window to describe the process. In the Basic Process panel, these are the first eight shapes: Create: The start of process flow. Entities enter the simulation here. Dispose: The end of process flow. Entities are removed from the simulation here. Process: An activity, usually performed by one or more resources and requiring some time to complete. Decide: A branch in process flow. Only one branch is taken. Batch: Collect a number of entities before they can continue processing. Separate: Duplicate entities for concurrent or parallel processing, or separating a previously established batch of entities. Assign: Change the value of some parameter (during the simulation), such as the entitys type or a model variable. Record: Collect a statistic, such as an entity count or cycle time. Simulation settings are defined in the Run > Setup > Replication Parameters dialog. There is also a set of data modules for defining the characteristics of various process elements, such as resources and queues.
13
5. Click OK to close the dialog. For now, well leave the default values for the other Create module properties. Feel free to explore their purposes through online help or the Entity Arrivals models in the SMARTs library.
14
CHAPTER 2
GETTING STARTED
Frequency
minimum
most likely
maximum
Value Returned
For our Review Application process, well use a minimum time of 1 hour, most likely value of 1.75 hours, and a maximum of 3 hours. We will assign a resource, the Mortgage Review Clerk, to perform this process. 1. Double-click the Process module to open its property dialog.
If more than one resource is required for a process to be performed, add as many as are necessary in the process dialogs Resources list. An entity wont commence its process delay until all listed resources are available.
3. To define a resource to perform this process, pull down the Action list and select Seize Delay Release.
Arriving entities will wait their turn for the resource to be available. When its turn comes, the entity will seize the resource, delay for the process time, and then release the resource to do other work. 4. A list of resources will appear in the center of the dialog. To add a resource for this process, click Add. 5. In the Resource dialog, type Mortgage Review Clerk in the Resource Name field.
16
CHAPTER 2
GETTING STARTED
6. Click OK to close the Resource dialog. 7. Define the process delay parameters in the Minimum, Most Likely Value, and Maximum fields as 1, 1.75, and 3. (Note that the default delay type is Triangular and the default time units are in hours.)
8. Click OK to close the dialog. For now, well leave the default values for the other Process module properties. Feel free to explore their purposes through online help or the Modeling Concepts and Resources models in the SMARTs library.
3. For the Percent True field, type 88 to define the percent of entities that will be treated with a True decision (i.e., will depart through the exit point at the right of the Decide module).
17
Click OK to close the dialog. 2. Double-click the other Dispose module to open its property dialog. In the Name field, type Returned.
18
CHAPTER 2
GETTING STARTED
2. Because we defined the Mortgage Review Clerk as the resource in the Review Application process, Arena has automatically added a resource with this name in the Resources spreadsheet. Click in the Busy/Hour cell and define the cost rate when the clerk is busy by typing 12. Click in the Idle/Hour cell and assign the idle cost rate by typing 12.
19
20
CHAPTER 2
GETTING STARTED
With these few, short steps, we are ready to predict the future! The mortgage application model contains all of the information needed to run the simulation. Start the simulation run by clicking the Go button or clicking the Run > Go menu item. Arena first will check to determine whether youve defined a valid model, then will launch the simulation. As the simulation progresses, youll see small entity pictures resembling pages moving among the flowchart shapes. Also, a variety of variables change values as entities are created and processed, as illustrated below.
Decide: Number of entities out each branch
If the animation is moving too fast, you can slow it down by adjusting the animation scale factor. For this, you have two choices:
The animation scale factor is the amount of simulated time between successive screen updates. Smaller values provide smoother, slower animation.
n
Open the Run Setup dialog via the Run > Speed > Animation Speed Factor menu item and enter a smaller value (e.g., 0.005) for the scale factor; or Use the less-than (<) key during the run to decrease the scale factor by 20%. Be sure that the model window is activenot the Navigate panelor > and < wont take effect. Pressing < repeatedly is an easy way to fine tune the animation speed. The greater-than (>) key speeds up animation by 20%.
21
If the run finishes before you have a chance to explore these controls, answer No when youre asked if you want to view the results. Then click Start Over on the Run toolbar to begin the run again.
To pause the simulation, click the Pause button or press the Esc key. With the automatic flowchart animation, you can see how many entities have been created, are currently in the Review Application process, have left each branch of our Decide module, and have left the model at each of our terminating Dispose modules. These variables can be helpful in verifying the model. For example, if the probability in the Decide shape was entered wrong (e.g., if you typed 12the rejection probability instead of 88), the variables would show that many more applications were leaving the Returned branch. You also can step through the simulation one event at a time. Pause the simulation, then click the Step button or press the F10 key. Each time you step the simulation, an entity is moved through the flowchart. Usually, youll see animation of the entitys movement, though sometimes no visual change will take place (e.g., when the next event is creating a new entity). When this occurs, just step again to move forward to the next event.
Each of Arenas reports is displayed in its own window within the Arena application. You can use the standard window options (maximize, minimize, etc.) by clicking on the window control buttons or pulling down the window menu.
June 1, 2001
22
CHAPTER 2
GETTING STARTED
On the left side of each report window is a tree listing the types of information available in the report. The project name (in our case, Mortgage Review) is listed at the top of the tree, followed by an entry for each category of data. This report summarizes the results across all replications (although, in this model, we have only one replication). Other reports provide detail for each replication. By clicking on the entries inside the category sections, you can view various types of results from the simulation run. The following table illustrates some of the questions you could answer from the Category Overview Report on our simple mortgage application process simulation.
Question On average, how long did mortgage applications spend in the modeled process? What was the average cost of reviewing a mortgage application? What was the longest time an application spent in review? What was the maximum number of applications waiting for review? What proportion of time was the Mortgage Review Clerk busy? Report Section Total Time (Entity), Average column Answer 16.51 hrs
Total Cost (Entity), Average column Total Time (Process), Maximum column Number Waiting (Queue), Maximum column Utilization (Resource), Average column
$22.99
33.45 hrs
21 applications
97%
After youve browsed the Category Overview Report, you can close it by clicking on the window icon to the left of the File menu and clicking Close. You can look at other reports by clicking on their icons in the Project Bar. Each report will be displayed in its own window. To return to the model window, close all of the report windows or select the model file from the Window menu. After you have viewed the reports and returned to the model window, end the Arena run session by clicking End.
23
You can toggle between the split view (flowchart and spreadsheet) and a full-screen view of either area by clicking the Split Screen toolbar button or selecting the View > Split Screen menu item. When in full-screen view, clicking the icons on the Basic Process panel displays the appropriate view (flowchart for flowchart modules and spreadsheet for data-only modules).
24
CHAPTER 2
GETTING STARTED
3. Open the Workers picture library by clicking the Open button, then browsing to the Workers.plb file in the Arena application folder (e.g., C:\Program Files\Arena) and double-clicking on it. 4. To change the idle picture: Click the Idle button in the table on the left. Select from the picture library table on the right the picture of the worker sitting down. Click the Transfer button between the tables to use the worker picture for the Idle resource state. 5. To change the busy picture: Click the Busy button in the table on the left. Select from the picture library table on the right the picture of the worker reading a document. Click the Transfer button between the tables to use the selected picture when the Mortgage Review Clerk is busy. 6. Click OK to close the dialog. (All other fields can be left with their default values.) 7. The cursor will appear as a cross hair. Move it to the model window and click to place the Mortgage Review Clerk resource animation picture. 8. If youd like to have the clerk appear a bit larger, select the picture and use the resize handles to enlarge it.
25
You can plot many expressions on the same set of axes by adding multiple expressions in the Plot dialog. Each can be colorcoded so that you can readily compare data such as workloads in processes, waiting customers, etc.
3. In the Plot Expression dialog that appears, right-click in the Expression field to open the Expression Builder. 4. We want to plot the number of entities in our Review Application process over time. Select Review Application from the pull-down list in the Process Name field, then choose WIP from the Information pull-down list. Click OK to close the Expression Editor. 5. From our reports in the earlier simulation run, we noted that the maximum number of applications in the process was 9. Lets set our plot Maximum value to 10. 6. In the History Points field, type 5000, which will plot the most recent 5000 values of the variable during the simulation run. Click OK to close the Plot Expression dialog. Note that Arena places the formula (Review Application.WIP) in the Plot Expression field. 7. To complete the plot definition, change the Time Range to 480. Our plots horizontal axis will represent 480 hours (20 days) of simulated time, matching our run length. Click OK to close the Plot dialog. 8. The cursor changes to a cross hair. Draw the plot in the model window by clicking to locate each of the two opposite corners (e.g., the top-left and bottom-right corners), placing the plot below the flowchart and to the right of the resource. With the edits complete, you may want to save them by clicking Save or pressing Ctrl+S.
26
CHAPTER 2
GETTING STARTED
time between arrivals of applications (defined in the Create module) and the time to process applications (Process module).
Next steps
Youve succeeded in modeling, simulating, visualizing, and analyzing a simple mortgage application process. To further explore Arenas capabilities, try solving a few of these extensions to the process. 1. Add a screening process before the application is reviewed. Applications can be screened in as little as 15 minutes. Most often, it takes about 25 minutes for the screening, though sometimes it can require as much as 45 minutes. Assign a Receptionist (rate of $6.75/ hour) to perform the screening. What proportion of the Receptionists time will be used in this task? 2. Return some applications to the mortgage applicants after the screening process. On completion of the screening, 8% of the applications are returned. Also, because many of the deficient applications are caught in the new screening, the percentage of applications that is accepted in the formal review is raised from 88% to 94%, and the Mortgage Review process time is reduced by 10%. By how much did the cost of reviewing an application change? How about the total time to review applications? To view completed Arena models for the main tutorial and these two extensions, browse to the Examples folder and open Mortgage Applications.doe, Mortgage Extension 1.doe, and Mortgage Extension 2.doe.
27
28
CHAPTER 3
USING VISIO
AND
ARENA
29
Start a drawing
Its important to start your drawing by browsing to the Process Simulation template, rather than opening or starting a new drawing and directly attaching the Process Simulation stencil. If you dont start your drawing with the template, custom dialogs and other features may not be available.
To begin a drawing, browse to the Process Simulation template, which the Process Simulator installs in a Process Simulation folder under Visios Solutions area. This dialog typically appears when you first start Visio, or you can bring it up via the File > New > Browse Templates menu. The Process Simulation template sets up the Visio environment to work with Arena and opens a new drawing. Drawings that are started with this template will automatically display the Process Simulation stencil, provide custom dialogs for editing shape properties, and add a Simulate menu to Visio for checking your drawing and transferring it to Arena. The Process Simulation stencil, which is opened with your new drawing, contains shapes that will capture your process flow and data. The shapes mirror those in Arenas Basic Process panel, so you can use Visio to define fully a model of your process, including all of the parameters needed to exploit the power of simulation analysis. The first 14 shapes in the Process Simulation stencil correspond to the Arena flowchart and data modules with the same names. In addition, the Visio stencil contains five connector shapes for properly defining the process flowchart.
30
CHAPTER 3
USING VISIO
AND
ARENA
You can change the Visio page layout or size via the File > Page Setup menu. For many process maps, a Standard page size and Landscape orientation work well.
The sample flowchart below illustrates the use of these connectors, including the Dynamic Connector, which is unlabeled.
31
32
CHAPTER 3
USING VISIO
AND
ARENA
Either of these actions will display the appropriate dialog for the shape. The dialogs that Arena presents for its corresponding modules are designed to match those in Visio, so that youre working in a familiar interface, whether mapping your process in Visio or Arena.
The property values that you define via the custom dialogs are stored with the individual shapes. When you transfer the process map to Arena, these parameters are used for simulation.
You only need to add the data shapes if you want to change any of the default values. Otherwise, they are not needed in the Visio drawing; theyll automatically be added to the spreadsheets when you transfer the drawing to Arena.
33
34
CHAPTER 3
USING VISIO
AND
ARENA
If multiple problems are detected, each will be listed with a description and, in the case of invalid or missing properties, the field and value that are improper are listed. To correct the errors in your drawing, you can use the buttons at the bottom of the dialog. For errors in shape properties, click the Edit Properties button, which displays the shapes dialog, to correct the data. In the case of connector problems, click Go to Shape, which displays and selects the shape that caused the problem, as shown below. (Note that the Error Listing dialog shrinks to allow more room for viewing the drawing.)
After youve corrected the problem, you can return to the list of errors/ warnings by clicking the Return to Error List button. Once you finish correcting any additional problems, click the Close button. You can check your drawing at any time, correcting any or all errors that are detected.
35
created the model directly in Arena. Because the process is being simulated in Arena with the standard Basic Process modules, you have all of Arenas capabilities at your disposal, including reports on all aspects of your process via the Reports panel selections. After you have simulated your process, you can save the Arena model (.doe) file to continue work in Arena, or you can close it to return to Visio for continued modifications. Because the transfer of the Visio drawing is from Visio to Arena (but not vice-versa from Arena to Visio), its usually best to return to Visio. However, you might want to save the Arena model in case you want to review the simulation or results as youre refining the Visio process page.
36
CHAPTER 3
USING VISIO
AND
ARENA
With this approach, process maps can be created and shared throughout the organization on any desktop with a Visio license. When simulation and animation are needed to visualize and analyze the behavior of the process, the drawings can be transferred to systems with the Arena Basic Edition. By using the Process Simulation template and checking the process maps as theyre created, you can be confident that taking the step to move from static drawing to dynamic simulation will be seamless. The Process Simulation add-in is automatically installed with Arena. To install only the Process Simulation add-in (without Arena), download it from the User Zone (www.arenasimulation.com). A compatible version of Visio (see the Web site for more details) is needed to use the Process Simulation template for mapping your business processes.
37
38
CHAPTER 4
Flowchart modules
Flowchart modules are the set of objects that are placed in the model window to describe the simulation process.
Create module
Description This module is intended as the starting point for entities in a simulation model. Entities are created using a schedule or based on a time between arrivals. Entities then leave the module to begin processing through the system. The entity type is specified in this module.
Number of entities created
Typical uses
n n
The start of a parts production in a manufacturing line A documents arrival (e.g., order, check, application) into a business process A customers arrival at a service process (e.g., retail store, restaurant, information desk)
Prompts Prompt Name Entity Type Type Description Unique module identifier displayed on the module shape. Name of the entity type to be generated. Type of arrival stream to be generated. Types include: Random (uses an exponential distribution, user specifies mean), Schedule (uses an exponential
39
distribution, mean determined from the specified Schedule module), Constant (user specifies constant value; e.g., 100), or Expression (pull-down list of various distributions). Value Determines the mean of the exponential distribution (if Random is used) or the constant value (if Constant is used) for the time between arrivals. Applies only when Type is Random or Constant. Identifies the name of the schedule to be used. The schedule defines the arrival pattern for entities arriving to the system. Applies only when Type is Schedule. Any distribution or value specifying the time between arrivals. Applies only when Type is Expression. Time units used for interarrival and first creation times. Does not apply when Type is Schedule. Number of entities that will enter the system at a given time with each arrival. Maximum number of entities that this module will generate. When this value is reached, the creation of new entities by this module ceases. Starting time for the first entity to arrive into the system. Does not apply when Type is Schedule.
First Creation
Dispose module
Description This module is intended as the ending point for entities in a simulation model. Entity statistics may be recorded before the entity is disposed.
Number of entities that have been disposed
Typical uses
n n n
Parts leaving the modeled facility The termination of a business process Customers departing the store
40
CHAPTER 4
Prompts Prompt Name Record Entity Statistics Description Unique module identifier displayed on the module shape. Determines whether or not the incoming entitys statistics will be recorded. Statistics include valueadded time, non-value-added time, wait time, transfer time, other time, total time, value-added cost, nonvalue-added cost, wait cost, transfer cost, other cost, and total cost.
Process module
Description
Indicator of a submodel process
This module is intended as the main processing method in the simulation. Options for seizing and releasing resource constraints are available. Additionally, there is the option to use a submodel and specify hierarchical user-defined logic. The process time is allocated to the entity and may be considered to be value added, non-value added, transfer, wait, or other. The associated cost will be added to the appropriate category. Typical uses
n n n n
Machining a part Reviewing a document for completeness Fulfilling orders Serving a customer
Prompts Prompt Name Type Description Unique module identifier displayed on the module shape. Method of specifying logic within the module. Standard processing signifies that all logic will be stored within the Process module and defined by a particular Action. Submodel indicates that the logic
41
will be hierarchically defined in a submodel that can include any number of logic modules. Action Type of processing that will occur within the module. Delay simply indicates that a process delay will be incurred with no resource constraints. Seize Delay indicates that a resource(s) will be allocated in this module and delay will occur, but that resource release will occur at a later time. Seize Delay Release indicates that a resource(s) will be allocated followed by a process delay and then the allocated resource(s) will be released. Delay Release indicates that a resource(s) has previously been allocated and that the entity will simply delay and release the specified resource(s). Applies only when Type is Standard. Priority value of the entity waiting at this module for the specified resource(s). Used when one or more entities from other modules are waiting for the same resource(s). Does not apply when Action is Delay or Delay Release, or when Type is Submodel. Lists the resources or resource sets used for entity processing. Does not apply when Action is Delay, or when Type is Submodel. Type of distribution or method of specifying the delay parameters. Constant and Expression require single values, while Normal, Uniform, and Triangular require several parameters. Time units for delay parameters. Determines how the processing time and process costs will be allocated to the entity. The process may be considered to be Value Added, Non-Value Added, Transfer, Wait, or Other and the associated cost will be added to the appropriate category for the entity and process. Parameter field for specifying the minimum value for either a uniform or triangular distribution.
Priority
Resources
Delay Type
Units Allocation
Minimum
42
CHAPTER 4
Value
Parameter field for specifying the mean for a normal distribution, the value for a constant time delay, or the mode for a triangular distribution. Parameter field for specifying the maximum value for either a uniform or triangular distribution. Parameter field for specifying the standard deviation for a normal distribution. Parameter field for specifying an expression whose value is evaluated and used for the processing time delay. Specifies whether or not statistics will be automatically collected and stored in the report database for this process.
Report Statistics
Selection Rule
43
available member (1st member, if available; then 2nd member, if available; then 3rd member, etc.). Specific Member requires an input attribute value to specify which member of the set (previously saved in the Save Attribute field). Largest Remaining Capacity and Smallest Number Busy are used for resources with multiple capacity. Applies only when Type is Set. Save Attribute Attribute name used to save the index number into the set of the member that is selected. This attribute can later be referenced with the Specific Member selection rule. Does not apply when Selection Rule is Specific Member. If Action is specified as Delay Release, the value specified defines which member (the index number) of the set is to be released. If no attribute is specified, the entity will release the member of the set that was last seized. The index number into the set of the member requested. Applies only when Selection Rule is Specific Member. If Action is specified as Delay Release, the value specified defines which member (the index number) of the set is to be released.
Set Index
Decide module
Description
Number of entities that have taken the True branch
This module allows for decision-making processes in the system. It includes options to make decisions based on one or more conditions (e.g., if entity type is Gold Card) or based on one or more probabilities (e.g., 75%, true; 25%, false). Conditions can be based on attribute values (e.g., Priority), variable values (e.g., Number Denied), the entity type, or an expression (e.g., NQ(ProcessA.Queue)). There are two exit points out of the Decide module when its specified type is either 2-way chance or 2-way condition. There is one exit point for true entities and one for false entities. When the N-way chance or condition type is specified, multiple exit points are shown for each condition or probability and a single else exit. The number of entities that exit from each type (true/false) is displayed for 2-way chance or condition modules only.
44
CHAPTER 4
Typical uses
n n n
Dispatching a faulty part for rework Branching accepted vs. rejected checks Sending priority customers to a dedicated process
Prompts Prompt Name Type Description Unique module identifier displayed on the module shape. Indicates whether the decision is based on a condition (e.g., if X>Y) or by chance/percentage (e.g., 60%, yes; 40%, no). The type can be specified as either 2-way or N-way. 2-way allows for one condition or probability (plus the false exit). N-way allows for any number of conditions or probabilities to be specified as well as an else exit. Defines one or more conditions used to direct entities to different modules. Applies only when Type is N-way by Condition. Defines one or more percentages used to direct entities to different modules. Applies only when Type is N-way by Chance. Value that will be checked to determine the percentage of entities sent out a given True exit. Types of conditions that are available for evaluation. Specifies either the name of the variable, attribute, or entity type that will be evaluated when an entity enters the module. Does not apply when Type is Expression. Evaluator for the condition. Applies only to Attribute and Variable conditions. Expression that will be either compared to an attribute or variable or that will be evaluated as a single expression to determine if it is true or false. Does not apply to Entity Type condition. If Type is Expression, this value must also include the evaluator (e.g., Color <>Red).
45
Conditions
Percentages
Is Value
Batch module
Description This module is intended as the grouping mechanism within the simulation model. Batches can be permanently or temporarily grouped. Temporary batches must later be split using the Separate module.
Number of entities waiting to be batched
Batches may be made with any specified number of entering entities or may be matched together based on an attribute. Entities arriving at the Batch module are placed in a queue until the required number of entities has accumulated. Once accumulated, a new representative entity is created. Typical uses
n n n
Collect a number of parts before starting processing Reassemble previously separated copies of a form Bring together a patient and his record before commencing an appointment
Prompts Prompt Name Type Batch Size Save Criterion Rule Description Unique module identifier displayed on the module shape. Method of batching entities together. Number of entities to be batched. Method for assigning representative entitys userdefined attribute values. Determines how incoming entities will be batched. Any Entity will take the first Batch Size number of entities and put them together. By Attribute signifies that the values of the specified attribute must match for entities to be grouped. For example, if Attribute Name is Color, all entities must have the same Color value to be grouped; otherwise, they will wait at the module for additional incoming entities.
46
CHAPTER 4
Attribute Name
Name of the attribute whose value must match the value of the other incoming entities in order for a group to be made. Applies only when Rule is By Attribute.
Separate module
Description
The original leaves on this branch
This module can be used to either copy an incoming entity into multiple entities or to split a previously batched entity. Rules for allocating costs and times to the duplicate are also specified. Rules for attribute assignment to member entities are specified as well. When splitting existing batches, the temporary representative entity that was formed is disposed and the original entities that formed the group are recovered. The entities proceed sequentially from the module in the same order in which they originally were added to the batch. When duplicating entities, the specified number of copies is made and sent from the module. The original incoming entity also leaves the module. Typical uses
n n n
Send individual entities to represent boxes removed from a container Send an order both to fulfillment and billing for parallel processing Separate a previously batched set of documents
Prompts Prompt Name Type Description Unique module identifier displayed on the module shape. Method of separating the incoming entity. Duplicate Original will simply take the original entity and make some number of identical duplicates. Split Existing Batch requires that the incoming entity be a temporarily batched entity using the Batch module. The original entities from the batch will be split.
47
Allocation of costs and times of the incoming entity to the outgoing duplicates. This value is specified as a percentage of the original entitys costs and times (between 0-100). The percentage specified will be split evenly between the duplicates, while the original entity will retain any remaining cost/time percentage. Visible only when Type is Duplicate Original. Number of outgoing entities that will leave the module, in addition to the original incoming entity. Applies only when Type is Duplicate Original. Method of determining how to assign the representative entity attribute values to the original entities. These options relate to six of the special-purpose attributes (Entity.Type, Entity.Picture, Entity.Station, Entity.Sequence, Entity.HoldCostRate, and Entity.Jobstep) and all user-defined attributes. Applies only when Type is Split Existing Batch. Name of representative entity attribute(s) that is assigned to original entities of the group. Applies only when Member Attributes is Take Specific Representative Values.
Attribute Name
Assign module
Description This module is used for assigning new values to variables, entity attributes, entity types, entity pictures, or other system variables. Multiple assignments can be made with a single Assign module. Typical uses
n n
Accumulate the number of subassemblies added to a part Change an entitys type to represent the customer copy of a multipage form Establish a customers priority
48
CHAPTER 4
Prompts Prompt Name Assignments Type Description Unique module identifier displayed on the module shape. Specifies the one or more assignments that will be made when an entity executes the module. Type of assignment to be made. Other can include system variables, such as resource capacity or simulation end time. Name of the variable that will be assigned a new value when an entity enters the module. Applies only when Type is Variable.
Variable Name
Attribute Name Name of the entity attribute that will be assigned a new value when the entity enters the module. Applies only when Type is Attribute. Entity Type New entity type that will be assigned to the entity when the entity enters the module. Applies only when Type is Entity Type. New entity picture that will be assigned to the entity when the entity enters the module. Applies only when Type is Entity Picture. Identifies the special system variable that will be assigned a new value when an entity enters the module. Applies only when Type is Other. Assignment value of the attribute, variable, or other system variable. Does not apply when Type is Entity Type or Entity Picture.
Entity Picture
Other
New Value
Record module
Description This module is used to collect statistics in the simulation model. Various types of observational statistics are available, including time between exits through the module, entity statistics (time, costing, etc.),
49
general observations, and interval statistics (from some time stamp to the current simulation time). A count type of statistic is available as well. Tally and Counter sets can also be specified. Typical uses
n n n
Collect the number of jobs completed each hour Count how many orders have been late being fulfilled Record the time spent by priority customers in the main check-out line
Prompts Prompt Name Type Description Unique module identifier displayed on the module shape. Type of observational (tally) or count statistic to be generated. Count will increase or decrease the value of the named statistic by the specified value. Entity Statistics will generate general entity statistics, such as time and costing/duration information. Time Interval will calculate and record the difference between a specified attributes value and current simulation time. Time Between will track and record the time between entities entering the module. Expression will record the value of the specified expression. Name of the attribute whose value will be used for the interval statistics. Applies only when Type is Interval. Value that will be recorded to the observational statistic when Type is Expression or added to the counter when Type is Count. This field defines the symbol name of the tally into which the observation is to be recorded. Applies only when Type is Time Interval, Time Between, or Expression. This field defines the symbol name of the counter to increment/decrement. Applies only when Type is Counter.
Tally Name
Counter Name
50
CHAPTER 4
Record into Set Tally Set Name Counter Set Name Set Index
Check box to specify whether or not a tally or counter set will be used. Name of the tally set that will be used to record the observational-type statistic. Applies only when Type is Time Interval, Time Between, or Expression. Name of the counter set that will be used to record the count-type statistic. Applies only when Type is Count. Index into the tally or counter set.
Data modules
Data modules are the set of objects in the spreadsheet view of the model that define the characteristics of various process elements, such as resources and queues.
Entity module
Description This data module defines the various entity types and their initial picture values in a simulation. Initial costing information and holding costs are also defined for the entity. Typical uses
n n n
Items being produced or assembled (parts, pallets) Documents (forms, e-mails, faxes, reports) People moving through a process (customers, callers)
Prompts Prompt Entity Type Initial Picture Description The name of the entity type being defined. This name must be unique. Graphical representation of the entity at the start of the simulation. This value can be changed during the simulation using the Assign module.
51
Hourly cost of processing the entity through the system. This cost is incurred when the entity is anywhere in the system. Initial cost value that will be assigned to the valueadded cost attribute of the entity. This attribute accrues the costs incurred when an entity is spending time in a value-added activity. Initial cost value that will be assigned to the non-valueadded cost attribute of the entity. This attribute accrues the costs incurred when an entity is spending time in a non-value-added activity. Initial cost value that will be assigned to the waitingcost attribute of the entity. This attribute accrues the costs incurred when an entity is spending time in a wait activity; e.g., waiting to be batched or waiting for resource(s) at a Process module. Initial cost value that will be assigned to the transfer cost attribute of the entity. This attribute accrues the costs incurred when an entity is spending time in a transfer activity. Initial cost value that will be assigned to the other cost attribute of the entity. This attribute accrues the costs incurred when an entity is spending time in a transfer activity. Specifies whether or not statistics will be collected automatically and stored in the report database for this entity type.
Initial NV A Cost
Report Statistics
Queue module
Description This data module may be utilized to change the ranking rule for a specified queue. The default ranking rule for all queues is First In, First Out unless otherwise specified in this module.
52
CHAPTER 4
Typical uses
n n
Stack of work waiting for a resource at a Process module Holding area for documents waiting to be collated at a Batch module
Prompts Prompt Name Type Description The name of the queue whose characteristics are being defined. This name must be unique. Ranking rule for the queue, which can be based on an attribute. Types include First In, First Out; Last In, First Out; Lowest Attribute Value (first); and Highest Attribute Value (first). A low attribute value would be 0 or 1, while a high value may be 200 or 300. Attribute that will be evaluated for the Lowest Attribute Value or Highest Attribute Value types. Entities with lowest or highest values of the attribute will be ranked first in the queue, with ties being broken using the First In, First Out rule. Specifies whether or not statistics will be automatically collected and stored in the report database for this queue.
Attribute Name
Report Statistics
Resource module
Description This data module defines the resources in the simulation system, including costing information and resource availability. Resources may have a fixed capacity that does not vary over the simulation run or may operate based on a schedule. Typical uses
n n
Equipment (machinery, cash register, phone line) People (clerical, order processing, sales clerks, operators)
53
Prompts Prompt Name Type Description The name of the resource whose characteristics are being defined. This name must be unique. Method for determining the capacity for a resource. Fixed Capacity will not change during the simulation run. Based on Schedule signifies that a Schedule module is used to specify the capacity and duration information for the resource. Number of resource units of a given name that are available to the system for processing. Applies only when Type is Fixed Capacity. Identifies the name of the schedule to be used by the resource. The schedule defines the capacity of a resource for a given period of time. Applies only when Type is Schedule. Dictates when the actual capacity change is to occur when a decrease in capacity is required for a busy resource unit. Applies only when Type is Schedule. Cost per hour of a resource that is processing an entity. The resource becomes busy when it is originally allocated to an entity and becomes idle when it is released. During the time when it is busy, cost will accumulate based on the busy/hour cost. The busy cost per hour is automatically converted to the appropriate base time unit specified within the Replication Parameters page of the Run > Setup menu item. Cost per hour of a resource that is idle. The resource is idle while it is not processing an entity. During the time when it is idle, cost will accumulate based on the idle/hour cost. The idle cost per hour is automatically converted to the appropriate base time unit specified within the Replication Parameters page of the Run > Setup menu item.
Capacity
Schedule Name
Idle/Hour
54
CHAPTER 4
Per Use
Cost of a resource on a usage basis, regardless of the time for which it is used. Each time the resource is allocated to an entity, it will incur a per-use cost. Name of states that the resource may be assigned during the simulation run. Initial state of a resource. If specified, the name must be defined within the repeat group of state names. This field is shown only when a StateSet Name is defined. Lists all failures that will be associated with the resource. Failure NameName of the failure associated with the resource. Failure RuleBehavior that should occur when a failure is to occur for a busy resource unit.
Failures
Report Statistics
Specifies whether or not statistics will be collected automatically and stored in the report database for this resource.
Variable module
Description This data module is used to define a variables dimension and initial value(s). Variables can be referenced in other modules (e.g., the Decide module), can be reassigned a new value with the Assign module, and can be used in any expression. There are three methods for manually editing the Initial Values of a Variable module:
n
Via the standard spreadsheet interface. In the module spreadsheet, right-click on the Initial Values cell and select the Edit via spreadsheet menu item. The values for two-dimensional arrays should be entered one column at a time. Array elements not explicitly assigned are assumed to have the last entered value.
55
Via the module dialog. In the module spreadsheet, right-click on any cell and select the Edit via dialog menu item. The values for twodimensional arrays should be entered one column at a time. Array elements not explicitly assigned are assumed to have the last entered value. Via the two-dimensional (2D) spreadsheet interface. In the module spreadsheet, click on the Initial Values cell.
Typical uses
n n n
Number of documents processed per hour Serial number to assign to parts for unique identification Space available in a facility
Prompts Prompt Name Rows Columns Statistics Description The name of the variable being defined. This name must be unique. Number of rows in a dimensional variable. Number of columns in a dimensional variable. Check box for determining whether or not statistics will be collected. This field is visible when the rows and columns are not specified (single variables). Defines the time (if at all) when the value(s) of the variable is reset to the initial value(s) specified. Specifying Statistics indicates to reset this variable to its initial value(s) whenever statistics are cleared. Specifying System indicates to reset this variable to its initial value(s) whenever the system is cleared. None indicates to never reset this variable to its initial value(s), except prior to the first replication. Lists the initial value(s) of the variable. This value(s) may be changed with the Assign module. Variable value at the start of the simulation.
Clear Option
56
CHAPTER 4
Report Statistics
Specifies whether or not statistics will be collected automatically and stored in the report database for this variable.
Schedule module
Description This data module may be used in conjunction with the Resource module to define an operating schedule for a resource or with the Create module to define an arrival schedule. Additionally, a schedule may be used and referenced to factor time delays based on the simulation time. Durationformatted schedules are defined within this module. Calendar formatted schedules are defined by selecting Calendar Schedules > Time Patterns... from the Edit menu. (For more details, refer to the section entitled Calendar Schedule Information.) Typical uses
n n n n
Work schedule, including breaks, for staff Breakdown patterns for equipment Volume of customers arriving at a store Learning-curve factors for new workers
Prompts Prompt Name Format Type Description The name of the schedule being defined. This name must be unique. Format of schedule being defined. If format is duration, the schedule is defined with a collection of valueduration pairs. If format is calendar, the schedule is defined using the time pattern editor. Type of schedule being defined. This may be Capacity related (for resource schedules), Arrival related (for the Create module), or Other (miscellaneous time delays or factors). Time units used for the time-duration information.
Type
Time Units
57
Scale Factor
Method of scaling the schedule for increases or decreases in Arrival/Other values. The specified Value fields will be multiplied by the scale factor to determine the new values. Not available for Capacity type schedules. Lists the value and duration pairs for the schedule. Values can be capacity, arrival, or other type values, while the duration is specified in time units. Schedule pairs will repeat after all durations have been completed, unless the last duration is left blank (infinite). Schedule data can be entered graphically, using the graphical schedule editor or manually using the Value/Duration fields. Represents either the capacity of a resource (if Type is Capacity), arrival rate (if Type is Arrival) or some other value (if Type is Other). Examples of Other may be a factor that is used in a delay expression to scale a delay time during various parts of the day. Time duration for which a specified Value will be valid.
Durations
Value
Duration
Set module
Description This data module defines various types of sets, including resource, counter, tally, entity type, and entity picture. Resource sets can be used in the Process module. Counter and Tally sets can be used in the Record module. Typical uses
n
n n n
Machines that can perform the same operations in a manufacturing facility Supervisors, check-out clerks in a store Shipping clerks, receptionists in an office Set of pictures corresponding to a set of entity types
58
CHAPTER 4
Prompts Prompt Name Type Members Description The name of the set being defined. This name must be unique. Type of set being defined. Repeat group that specifies the resource members with the set. The order of listing the members within the repeat group is important when using selection rules such as Preferred Order and Cyclical. Name of the resource to include in the resource set. Applies only when Type is Resource. Name of the tally within the tally set. Applies only when Type is Tally. Name of the counter within the counter set. Applies only when Type is Counter. Name of the entity type within the entity type set. Applies only when Type is Entity Type. Name of the picture within the picture set. Applies only when Type is Entity Picture.
Resource Name Tally Name Counter Name Entity Type Picture Name
59
Time Patterns are saved in an Arena model in the Schedule module with a Type set to Calendar. Their data are edited via the Time Pattern window, which is opened from the Edit > Calendar Schedules > Time Patterns menu option. Typical uses
n
n n
Weekly work schedules (e.g., 1-shift, 5-day weeks; 2-shift, 4-day weeks) Daily work patterns (e.g., 8-hour day with 30-minute lunch break) Arrival patterns (e.g., weekly customer arrivals, daily part orders)
Prompts Prompt Category Description The unique name of the category to which the time pattern belongs. A category named Uncategorized is provided by default. The unique name of this time pattern. The type of data to be defined in this time pattern. Types include Arrival, Capacity, Efficiency, and Other. The data type defining the default value for this time pattern. Types include Numeric, State, and Time Pattern. The value to be used for all time periods where no other value has been defined in this time pattern. The Default Value Type dictates the information supplied in this field: Numerica non-negative, real number (e.g., 1) Statethe name of a State, defined via the state editor dialog (e.g., On Shift) Time Patternanother time pattern of matching Time Pattern Type (e.g., Standard Work Day) Duration The length of this time pattern, which establishes the period in which the time pattern will repeat. For example, a time pattern of Duration equal to 1 day will
60
CHAPTER 4
repeat every 24 hours. This field is read-only, displaying the settings chosen in the Duration Edit dialog for this time pattern. Base Date Scale Factor Lock Times The beginning calendar date of this time pattern. Applies only when the time pattern type is Custom. A multiplier to be applied to all values in the time pattern and specified as a non-negative, real value. Indicates whether the times defined in this time pattern are absolute clock times (when Lock Times is True), or are relative times from the beginning of the time pattern (when Lock Times is False). Time patterns with relative times are typically used as building blocks for other time patterns. For example, a shift time pattern (with Lock Times as False) might be created that establishes the timing of breaks relative to the start of the shift. A weekly pattern (with Lock Times as True) then could use that shift pattern repeatedly to establish the working schedule for first shift starting at 7:00, second shift starting at 15:00, etc.
Time Spans List Values to apply for this time pattern and the time periods during which the values should apply. If any time spans overlap, those defined further down in the list supercede values defined above. Value Type Value Start The data type defining the value for this time span. Types include Numeric, State, and Time Pattern. The value to be used during this time span. Valid entries are as described for the Default Value. Starting time for the time span, defined as a day, hour, minute, second, and millisecond. Day values are specified as a day number (for custom durations) or a day-of-week (for 1-week durations). All times are specified in 24-hour format (e.g., 3:00 PM is 15 hours, 0 minutes). Ending time for the time span, specified as described for the Start time.
End
61
Calendar Exceptions
Description An Exception defines a value that is to be applied for a resource over some fixed period of time. The exception value overrides the base value defined for the resource. For example, if a machines capacity was scheduled to be available (value of 1) during second shift according to its base time pattern, you could add an exception to change it to unavailable for second shift on a particular day (e.g., December 30, 2001). Exception data are edited via the Exception and Composite windows, which are opened from the Edit > Calendar Schedules > Exceptions and Display Composite menu options. Typical uses
n n n
Prompts Prompt Description Value Type Value Description Optional description of the exception. The data type defining the value for this exception. Types include Numeric, State, and Time Pattern. The value to be used during this exception period. The Value Type dictates the information supplied in this field: Numerica non-negative, real number (e.g., 1) Statethe name of a State, defined via the state editor dialog (e.g., On Shift) Time Patterna time pattern (e.g., Standard Work Day) Start Date Start Time The calendar date on which this exception should start. The time on the Start Date at which this exception should start.
62
CHAPTER 4
End Date
The calendar date on which this exception should stop being applied to the resource. If the Value Type is Time Pattern, the values in the time pattern will repeat until this End Date. The time on the End Date at which this exception should start being applied. The type of data to be defined in this time pattern. Types include Capacity and Efficiency. The list of resources to which this exception should apply.
Calendar States
Description A Calendar State defines a name that can be used in place of a numeric value when defining time patterns and exceptions. This can be useful if a particular value (e.g., the number of workers in a pool of labor) needs to be entered in multiple places, but may need to be modified. By entering the state name in the time patterns/exceptions, you can modify the value associated with the state, which will apply the new value in all of those places. States are defined by opening the States editor dialog from within the time pattern and exceptions editors. Typical uses
n n n
Prompts Prompt Name Value Description The unique name of the calendar state. The non-negative, real value to be associated with this state.
63
Color Hatch
The color associated with displaying this state.* The hatch pattern associated with displaying this state.*
*Arena does not use the Color and Hatch values; they are utilized by other RSBizWare products.
64
APPENDIX A
STATISTICAL DISTRIBUTIONS
Statistical Distributions
Arena contains a set of built-in functions for generating random numbers from the commonly used probability distributions. These distributions appear on pull-down menus in many Arena modules where theyre likely to be used. They also match the distributions in the Arena Input Analyzer. This appendix describes all of the Arena distributions. Each of the distributions in Arena has one or more parameter values associated with it. You must specify these parameter values to define the distribution fully. The number, meaning, and order of the parameter values depend on the distribution. A summary of the distributions (in alphabetical order) and parameter values is given in the table below.
Summary of Arenas Probability Distributions
Distribution Beta Continuous Discrete Erlang Exponential Gamma Johnson Lognormal Normal Poisson Triangular Uniform Weibull BETA CONT DISC ERLA EXPO GAMM JOHN LOGN NORM POIS TRIA UNIF WEIB
Parameter Values Beta, Alpha CumP1,Val1, . . . CumPn,Valn CumP1,Val1, . . . CumPn,Valn ExpoMean, k Mean Beta, Alpha Gamma, Delta, Lambda, Xi LogMean, LogStd Mean, StdDev Mean Min, Mode, Max Min, Max Beta, Alpha
To enter a distribution in an Arena field, you type the name of the distribution (or its four-letter abbreviation) followed by its parameters
65
enclosed in parentheses. You may use spaces around punctuation to help read the distribution. A few examples appear below. UNIF( 3.5, 6 ) Uniform distribution with a minimum value of 3.5, a maximum value of 6 NORMAL( 83, 12.8 ) Normal distribution with a mean of 83, a standard deviation of 12.8 DISCRETE( 0.3,50, 0.75,80, 1.0,100 ) Discrete probability distribution that will return a value of 50 with probability 0.3, a value of 80 with cumulative probability 0.75, and a value of 100 with cumulative probability of 1.0. (See Discrete Probability for a description of these parameters.) TRIA( 10, 15, 22 ) Triangular distribution with a minimum value of 10, mode (most likely value) of 15, and maximum value of 22 In the following pages, we provide a summary of each of the distributions supported by Arena, listed in alphabetical order for easy reference. Each includes the density or mass function, parameters, range, mean, variance, and typical applications for the distribution. If you have existing data and want to select the appropriate distribution for use in your model, use Arenas Input Analyzer. Click on Tools > Input Analyzer to launch the program, or launch it from the Windows Start menu.
66
APPENDIX A
STATISTICAL DISTRIBUTIONS
Beta( , )
BETA(Beta, Alpha)
f(x)
Parameters
Shape parameters Beta () and Alpha () specified as positive real numbers. [0, 1] (Can also be transformed to [a,b] as described below)
Range
Applications
Because of its ability to take on a wide variety of shapes, this distribution is often used as a rough model in the absence of data. Also, because the range of the beta distribution is from 0 to 1, the sample X can be transformed to the scaled beta sample Y with the range from a to b by using the equation Y = a + (b - a)X. The beta is often used to represent random proportions, such as the proportion of defective items in a lot.
67
Continuous
f(x)
c1
x xx1 1
x2 x2
x x33
xn-1 x n-1
xn xn
c3 c2 c1 x1 1 x x22 x xx3 3
xn-1 n-1
xnn x
Parameters
The CONTINUOUS function in Arena returns a sample from a userdefined distribution. Pairs of cumulative probabilities cj (= CumPj) and associated values xj (= Valj) are specified. The sample returned will be a real number between x1 and xn, and will be less than or equal to each xj with corresponding cumulative probability cj. The xjs must increase with j. The cjs must all be between 0 and 1, must increase with j, and cn must be 1. The cumulative distribution function F(x) is piecewise linear with corners defined by F(xj) = cj for j = 1, 2, . . ., n. Thus, for j > 2, the returned value will be in the interval (xj1, xj] with probability cj cj1; given that it is in this interval, it will be distributed uniformly over it. You must take care to specify c1 and x1 to get the effect you want at the left edge of the distribution. The CONTINUOUS function will return
68
APPENDIX A
STATISTICAL DISTRIBUTIONS
(exactly) the value x1 with probability c1. Thus, if you specify c1 > 0, this actually results in a mixed discrete-continuous distribution returning (exactly) x1 with probability c1, and with probability 1 c1 a continuous random variate on (x1, xn] as described above. The graph of F(x) above depicts a situation where c1 > 0. On the other hand, if you specify c1 = 0, you will get a (truly) continuous distribution on [x1, xn] as described above, with no mass of probability at x1; in this case, the graph of F(x) would be continuous, with no jump at x1. As an example use of the CONTINUOUS function, suppose you have collected a set of data x1, x2, . . ., xn (assumed to be sorted into increasing order) on service times, for example. Rather than using a fitted theoretical distribution from the Input Analyzer, you want to generate service times in the simulation directly from the data, consistent with how theyre spread out and bunched up, and between the minimum x1 and the maximum xn you observed. Assuming that you dont want a mass of probability sitting directly on x1, youd specify c1 = 0 and then cj = (j 1)/(n 1) for j = 2, 3, . . ., n.
Range
[x1, xn]
Applications
The continuous empirical distribution is often used to incorporate actual data for continuous random variables directly into the model. This distribution can be used as an alternative to a theoretical distribution that has been fitted to the data, such as in data that have a multimodal profile or where there are significant outliers.
69
Discrete
p(x)
c22c11 c- c c11 c
x x1 1
x2 x
. . .
xn n
F(x) cn = 1 c3
c2
c1
x1 1
xx2 2
. . .
x xnn
Parameters
The DISCRETE function in Arena returns a sample from a user-defined discrete probability distribution. The distribution is defined by the set of n possible discrete values (denoted by x1, x2, . . . , xn) that can be returned by the function and the cumulative probabilities (denoted by c1, c2, . . . , cn) associated with these discrete values. The cumulative probability (cj) for xj is defined as the probability of obtaining a value that is less than or equal to xj. Hence, cj is equal to the sum of p(xk ) for k going from 1 to j. By definition, cn = 1.
Range
70
APPENDIX A
STATISTICAL DISTRIBUTIONS
Applications
The discrete empirical distribution is often used to assign a variable or attribute one of a set of values based on a probability. For example, the formula DISCRETE(0.25, 1, 0.6, 2, 1.0, 3) could be entered as an assignment value to a Priority attribute, setting it to either 1(25%), 2(35%, which is 0.6-0.25), or 3(40%, 1.0-0.6).
71
Erlang( , k)
ERLANG(ExpMean, k) or ERLA(ExpMean, k)
f(x)
Parameters
If X1, X2, . . . , Xk are independent, identically distributed exponential random variables, then the sum of these k samples has an Erlang-k distribution. The mean ( ) of each of the component exponential distributions and the number of exponential random variables (k) are the parameters of the distribution. The exponential mean is specified as a positive real number, and k is specified as a positive integer.
Range
[0,+ )
Applications
The Erlang distribution is used in situations in which an activity occurs in successive phases and each phase has an exponential distribution. For large k, the Erlang approaches the normal distribution. The Erlang distribution is often used to represent the time required to complete a task. The Erlang distribution is a special case of the gamma distribution in which the shape parameter, , is an integer (k).
72
APPENDIX A
STATISTICAL DISTRIBUTIONS
Exponential( )
EXPONENTIAL(Mean) or EXPO(Mean)
f(x)
Parameters
Range
[0,+ )
Applications
This distribution is often used to model inter-event times in random arrival and breakdown processes, but it is generally inappropriate for modeling process delay times. In Arenas Create module, the Schedule option automatically samples from an exponential distribution with a mean that changes according to the defined schedule. This is particularly useful in service applications, such as retail business or call centers, where the volume of customers changes throughout the day.
73
Gamma( , )
f(x)
=1/2
=1/2
=1
k=1 k=2 =2
=3 k=3
Parameters
Range
[0,+ )
Applications
For integer shape parameters, the gamma is the same as the Erlang distribution. The gamma is often used to represent the time required to complete some task (e.g., a machining time or machine repair time).
74
APPENDIX A
STATISTICAL DISTRIBUTIONS
Johnson
0 Unbounded Family
0 Bounded Family
Parameters
Gamma shape parameter ( ), Delta shape parameter ( > 0 ), Lambda scale parameter ( > 0 ), and Xi location parameter ( ).
Range
( , + ) [, + ]
Applications
The flexibility of the Johnson distribution allows it to fit many data sets. Arena can sample from both the unbounded and bounded form of the distribution. If Delta () is passed as a positive number, the bounded form is used. If Delta is passed as a negative value, the unbounded form is used with | | as the parameter.
75
Lognormal( , )
f(x)
Parameters
Mean LogMean (l > 0) and standard deviation LogStd ( l > 0) of the lognormal random variable. Both LogMean and LogStd must be specified as strictly positive real numbers.
Range
[0, + )
Applications
The lognormal distribution is used in situations in which the quantity is the product of a large number of random quantities. It is also frequently used to represent task times that have a distribution skewed to the right. This distribution is related to the normal distribution as follows. If X has a lognormal (l , l) distribution, then ln(X) has a normal (, ) distribution. Note that and are not the mean and standard deviation of the lognormal random variable X, but rather the mean and standard deviation of the normal random variable lnX.
76
APPENDIX A
STATISTICAL DISTRIBUTIONS
Normal( , )
f(x)
Parameters
The mean () specified as a real number and standard deviation () specified as a positive real number.
Range
( , + )
Applications
The normal distribution is used in situations in which the central limit theorem applies; i.e., quantities that are sums of other quantities. It is also used empirically for many processes that appear to have a symmetric distribution. Because the theoretical range is from - to + , the distribution should only be used for positive quantities like processing times when the mean is at least three or four standard deviations above 0.
77
Poisson( )
POISSON(Mean) or POIS(Mean)
p(x) f(x)
Parameters
Range
{0, 1, . . .}
Applications
The Poisson distribution is a discrete distribution that is often used to model the number of random events occurring in a fixed interval of time. If the time between successive events is exponentially distributed, then the number of events that occur in a fixed-time interval has a Poisson distribution. The Poisson distribution is also used to model random batch sizes.
78
APPENDIX A
STATISTICAL DISTRIBUTIONS
f(x)
a a
m m
b b
Parameters
The minimum (a), mode (m), and maximum (b) values for the distribution specified as real numbers with a < m < b.
Range
[a, b]
Applications
The triangular distribution is commonly used in situations in which the exact form of the distribution is not known, but estimates (or guesses) for the minimum, maximum, and most likely values are available. The triangular distribution is easier to use and explain than other distributions that may be used in this situation (e.g., the beta distribution).
79
Uniform(a, b)
f(x)
11 b-a ba
x
0 a b
Parameters
The minimum (a) and maximum (b) values for the distribution specified as real numbers with a < b.
Range
[a, b]
Applications
The uniform distribution is used when all values over a finite range are considered to be equally likely. It is sometimes used when no information other than the range is available. The uniform distribution has a larger variance than other distributions that are used when information is lacking (e.g., the triangular distribution).
80
APPENDIX A
STATISTICAL DISTRIBUTIONS
Weibull( , )
f(x)
=1/2 =1 =2 =3
Parameters
Range
[0, + )
Applications
The Weibull distribution is widely used in reliability models to represent the lifetime of a device. If a system consists of a large number of parts that fail independently, and if the system fails when any single part fails, then the time between successive failures can be approximated by the Weibull distribution. This distribution is also used to represent non-negative task times that are skewed to the left.
81
82
APPENDIX B
PICTURE LIBRARIES
Picture Libraries
Arenas picture libraries (*.plb files) contain images that you may use for entity, resource, and global pictures. You can use the images in these libraries for any of these three types of picture animation. You also can copy these pictures into your own libraries or draw new pictures in Arenas picture editor. The Basic Process library supplies a set of default entity pictures that are preloaded into your Arena models. When you start a model, Arena adds the pictures from BasicProcess.plb to the entity picture list (see the Edit > Entity Pictures... menu). Also, the predefined names associated with these pictures are added to the entity picture list (e.g., Picture.Report) in the Entity module and Entity picture placement dialog.
BasicProcess.plb
Report
Bike
Airplane
Man
Woman
Blue Ball
Red Ball
Green Ball
Yellow Ball
Boat
Box
Diskette
Letter
Red Page
Blue Page
Yellow Page
Green Page
Envelope
Truck
Van
Widgets
Telephone
Package
Fax
83
Buildings.plb
WAREHOUSE
84
APPENDIX B
PICTURE LIBRARIES
Equipment.plb
C HEV R OLET
C HEV R OLET
85
Faces.plb
86
APPENDIX B
PICTURE LIBRARIES
Factory.plb
87
General.plb
OFF
ON
A A A A A A A A
88
APPENDIX B
PICTURE LIBRARIES
Machines.plb
SCANNER
SCANNER
W AR
es CO pr
FR EDENHA G EN
M a u e ca o n t n
89
Medical.plb
90
APPENDIX B
PICTURE LIBRARIES
Objects.plb
91
Office.plb
T R A
S H
92
APPENDIX B
PICTURE LIBRARIES
Office Equipment.plb
phone/fax
93
People.plb
94
APPENDIX B
PICTURE LIBRARIES
Symbols.plb
YIELD
STOP
RECYCLE
CAUTION
ONE WAY
$ $
95
Vehicles.plb
CH EVROLET
96
APPENDIX B
PICTURE LIBRARIES
Workers.plb
97
98
INDEX
Index
Symbols
2-way chance 44 2-way condition 44 Calendar schedule information 59 Calendar States 63 consulting services 5 CONT 65 continuous empirical distribution 65, 68 counter sets 58 Create module 9, 39
A
animation 21 enhancing the graphics 24 plot 25 animation scale factor 21 application window 8 Arena Basic Edition 1 Arena modeling environment 8 Assign module 48 audience, intended 1
D
Decide module 12, 17, 44 defining model data 14 defining types 51 DISC 65 discrete empirical distribution 65, 70 Dispose module 12, 18, 40 Distributions beta 65, 67 continuous empirical 65, 68 discrete empirical 65 Erlang 65 exponential 65 gamma 65 Johnson 65 lognormal 65 normal 65 Poisson 65 probability 65 triangular 65 uniform 65 Weibull 65 documentation conventions 2 documentation set 2
B
Basic Process panel 8, 9, 39 Assign module 13, 48 Batch module 13, 46 Create module 9, 13, 39 Decide module 12, 13, 17, 44 Dispose module 12, 13, 18, 40 Entity module 51 Process module 10, 13, 41 Queue module 52 Record module 13, 49 Resource module 53 Schedule module 57 Separate module 13, 47 Set module 58 Variable module 55 Batch module 46 BETA 65 beta distribution 65, 67 business process modeling 29
E
entities 9 creating 9, 39 disposing of 18, 40 what are they? 15 Entity module 51
C
Calendar Exceptions 62
99
entity picture sets 58 entity type sets 58 ERLA 65 erlang distribution 65, 72, 74 EXPO 65 exponential distribution 65, 73
P
pausing the simulation 22 pictures changing from idle to busy 25 plot 25 POIS 65 Poisson distribution 65, 78 probability distribution 65 process flow 10 process maps 9 checking the drawing 34 publishing on a Web 37 simulating other Visio drawings 36 transferring the darwing to Arena 35 Process module 10, 41 Process Simulation distributing the add-in 36 stencil 30 Project Bar 8 Basic Process panel 8 Navigate panel 8 Reports panel 8
F
flowchart view 8
G
GAMM 65 gamma distribution 65, 74 grid 11
J
JOHN 65 Johnson distribution 65, 75
L
LOGN 65 lognormal distribution 65, 76
Q
Queue module 52
M
model window 8 flowchart view 8 spreadsheet view 8 modules 13 data 13 flowchart 13 mortgage application example 7
R
Record module 49 reports 22 Reports panel 8 Resource module 53 resource sets 58 resources defining in system 53 running the simulation 21, 26
N
Navigate panel 8 NORM 65 normal distribution 65, 77
S
sample models 2 saving your model 20 Schedule module 57 Separate module 47 Set module 58
O
online help 3
100
INDEX
sets definition 58 simulating your process 21 simulation reports 22 SMARTs library 3, 14 snap 11 software training 4 split view 24 spreadsheet view 9 statistics, defining collection 49 stepping through the simulation 22
V
Variable module 55 variables assigning new values 48 defining 55 Visio 29 Visio Process Simulator 30 adding data shapes 33 entering custom properties 32 placing and connecting shapes 31 simulating the process map 34 starting a drawing 30, 34
T
tally sets 58 technical support 3 Time Pattern 59 TRIA 65 triangular distribution 65, 79
W
WEIB 65 Weibull distribution 65, 81
U
UNIF 65 uniform distribution 65, 80
101
102