Good Lab
Good Lab
Good Lab
Linköping University
Introduction ............................................................................................................................................................ 2
Reports and evaluation ...................................................................................................................... 2
Feedback and questions ..................................................................................................................... 2
LAB 1 – Introduction to Arena ............................................................................................................................ 3
LAB 2 – Simulation of service systems ............................................................................................................ 15
LAB 3 – Simulation of production systems .................................................................................................... 17
LAB 4 – Simulation of transportation systems............................................................................................... 19
LAB 5 – Modelling a production flow ............................................................................................................. 21
COMPUTER LABS IN ARENA
Introduction
This document contains the ARENA computer lab task descriptions for the courses TNK089
“Diskret simulering” and TNSL07 ”Simulering av logistiksystem”. The labs are organised in
five 4-hour supervised lab sessions, in which you should complete all the tasks for a given
session. The aim of the labs is to get hands-on experience with simulation software, and also
learn about importance of the different theoretical aspects of simulation, discussed in the
lectures.
You also will have to write a report about the results of all the labs and submit it to the lecturer.
If for any reason you do not manage to finish the lab in the allotted 4 hours, you are allowed to
finish them on your own, the most important thing is that you do it right.
The lab series are based on the exercises in the book and start with simpler tasks that gradually
become more complicated, but all the knowledge required to complete these labs can be learned
from the textbook and is also in part discussed in the lectures.
At the end of the course you have to submit the reports for all labs (you can also send them as
soon as you are ready), together with the corresponding ARENA models. Please submit them
by e-mail to Krisjanis Steins (krisjanis.steins@liu.se) in a compressed file (.zip, .cab or .rar) and
give meaningful names to the model files (e.g. teamXX_task2_1b.doe, where XX is your team
number). University mail system might not allow sending attached files with extension .zip, in
that case you must use other compression format or rename the file so that extension is changed
to something else, for instance .zipp or similar. When saving your model files in ARENA, do not
use dot (.) within the filenames, otherwise ARENA will produce a runtime error.
Report should include result tables for the solutions of all the tasks. The format of the results can
vary from one task to another, sometimes it is specified in the task which output performance
measures are important to consider, but mostly you will have decide yourself which results to
include in your tables. You can even include screenshots from Output Analyzer, Process
Analyzer or any other tool you use in your analysis. Finally, do not forget to include a short
discussion of the results. It is important that you show in the report how do you analyze and
interpret the numerical results from the simulation. Do not forget to add your names to the
report.
Remember that your lab work will be evaluated according to your reports and models, so
make sure you submit good quality reports (number of pages is not important, what is
important is to present relevant results in the right, easy-to-read format).
IMPORTANT! After each lab session, you can submit your questions (issues that still were not
clear, or aspects of the lab you did find particularly difficult to understand) to Krisjanis Steins
(krisjanis.steins@liu.se). In the coming lectures these issues will be discussed along with the
general feedback from the lab supervisor.
2
COMPUTER LABS IN ARENA
A single server with a single queue forms the simple processing system that we will simulate.
Arriving parts are processed in this server and then sent out of the system. The figure below
shows the characteristics of the system.
Machine
(Server)
Arriving Departing
7 6 5 4
Blank Parts Finished Parts
Queue (FIFO) Part in Service
This system has the following additional data associated with it:
Parts arrive on average every five minutes, and inter-arrival times are exponentially
distributed.
Queue in front of the machine has unlimited capacity.
Machine processes each part slightly differently, the average processing time is 3 minutes,
minimum time is 1 minute and maximum time is 6 minutes.
Initially (at time 0) the system is empty and machine is idle.
You will run the model for 480 minutes (8 hours).
3
COMPUTER LABS IN ARENA
Flowchart modules.
Create module is a “birth” node for entities. In reality, entity could have existed earlier, but
outside boundaries of model you’ve built. Create module launches entities into model at
appropriate intervals.
For this lab, you should enter the following data in the Create module:
Name Part Arrives To System
Entity Type Part
Time Between Arrivals area
Type Random (Expo)
Value 5
Units Minutes
The Process flowchart module represents the machine, including the resource, queue, and entity
delay time (processing).
4
COMPUTER LABS IN ARENA
For this lab you should enter the following data in the Process module:
5
COMPUTER LABS IN ARENA
For this lab, you should enter the following data into Dispose module:
Name Part Leaves System
By connecting the flowchart modules (can be done automatically), you establish the sequence of
flowchart modules through which entities will flow. To make a connection (if not already connected):
Data modules.
The Entity data module you can edit in spreadsheet view only. There you can view, edit aspects of
different kinds of entities in your model (we have just one type, Part). Pull-down lists are activated as
you select fields.
Our only edit – Initial Picture for animation, we have picked Picture.Blue Ball from the default list.
The Resource data module. Defining the Drilling Center Resource in the Process module
automatically creates an entry for it in the Resource data module. You can edit it here for more
options:
Type – could vary capacity via a Schedule instead of having a fixed Capacity. Then you would
define the Schedule via Schedule data module. For this lab, leave it at fixed capacity.
Failures – could cause resource to fail according to some pattern. In such case we define this
pattern via Failure data module (Advanced Process panel).
The Queue data module is used to specify aspects of the queues in the model. We only have one,
named Drilling Center.Queue (the default name given the Process name):
Type – specifies queue discipline or ranking rule. If Lowest or Highest Attribute Value, then a
new field appears where you have to specify which attribute to use for sorting the queue.
Shared – if this queue will be shared among several resources.
Report Statistics – check to get automatic collection and reporting of queue length, time in queue.
6
COMPUTER LABS IN ARENA
Animation.
In order to animate the model you need to specify a few more things. You did get queue animation
automatically by specifying a Seize in the Process module. Entity pictures (blue balls) will line up
here in animation.
However, you don’t get Resource animation automatically. To add it, use Resource button in
Animate toolbar and get Resource Picture Placement dialog. You have to select the Identifier – link to
Resource name in pull-down list. Then you can specify different pictures for Idle, Busy state. For pre-
defined artwork, open a picture library (.plb filename extension), for instance machines.plb. Scroll
up/down on right, select (single-click) a picture on right, select Idle or Busy state on left, then
press to copy the picture. When you have finished adding pictures to different resource states
and close the resource animation window the mouse cursor changes to a crosshair and now you have
to place the resource picture in your model (by clicking somewhere in the model window). If you
click outside the modeling area the resource picture will not be created and your work on it will be
lost. To edit the picture later, double-click on picture in flowchart view.
You can also add dynamic plots in order to trace variables, queues as simulation runs. These results
will disappear after run ends (to keep them, you must save data and postprocess via Output
Analyzer).
Use plot button from Animate toolbar, press “Add” to add new Data series to plot. Then edit
and change the following properties of the newly added series (see the picture on the next page):
Then click on the Legend tab and uncheck Show Legend box.
After clicking OK in the Plot dialog, once again, it is important to actually place the plot in model
window by clicking the mouse and dragging the rectangle to appropriate plot size. You can resize
the plot later by dragging the corners. Above is an example of creating a queue length plot.
Repeat the whole procedure to create another plot for Drill Press resource by yourself, this plot
should display “Current number busy” usage statistic for the Drill Press resource. Use the Expression
Builder to find the right expression for this plot.
7
COMPUTER LABS IN ARENA
You have to specify Run Setup (under Run menu), which documents the model and controls run
conditions. In this dialog box you will find six tabs:
8
COMPUTER LABS IN ARENA
Project Parameters
Project Title Simple Processing System
Analyst Name Enter your name here
Replication Parameters
Replication Length 480
Time Units Minutes
Base Time Units Minutes
Finally, you can dress up your model with some drawings and text, using the Draw toolbar:
By now you should be finished with your model. Save your model as teamXX_task1_1.doe
(where XX is your team number). You will need this model later in Lab 1.
This is how your model could look like:
c) Explore further ARENA’s user interface, open and examine examples that come with
software. Explore Basic Process, Advanced Process and Advanced Transfer templates.
9
COMPUTER LABS IN ARENA
Task 1.2
In the system that you have modeled in the preceding task it is intended to find out which is the
best policy for the queue in front of the processing machine. The managers intend to determine
which alternative among the ones below is the best one in order to minimize the flow time (time
in the system, both average and maximum). Change the model run length to 720 minutes and
run the model for 5 replications. To make model run for 5 replications choose menu Run
Setup/Replication Parameters and change Number of Replications. Use “Category Overview”
report that gives you the result averages across all replications. Create a similar table as on
previous page for writing down your results for different experiments.
The different policies proposed for the queue in front of the machine are:
1. First In First Out (entities go to the process in the same order as they arrived to the queue)
2. Last In First Out (entities that come last into the queue have priority, they are first to be
processed)
3. Shortest processing time first (the entities that require the shortest production time go first
to the process)
4. Longest processing time first (the entities that require the longest processing time go first to
the process)
For accomplishing this task (mainly for trying the two last alternatives), attributes carrying the
production time must be assigned to the entities in order to make it possible to decide which
entity goes first into the process. In order to do this you can follow the following guidelines:
Disconnect Create and Process modules. Place the “Assign” module between Create and
Process modules and connect all of them again. Add one assignment (in the Assign module) as
follows:
Value: TRIA(1,3,6)
So far, you have assigned an attribute to the entities that enter the system. This attribute carries
the time necessary to process them. Now you have to make the necessary changes in the Process
module in order to set the processing time by means of this attribute. In order to accomplish this
open the Process module and enter the following data (Note that the Expression field will now
contain the name of the newly created attribute; make sure you type in the attribute name
correctly):
The policy adopted in the queue of parts waiting for being processed can be defined within the
queue data module. In order to declare which alternative to use in each simulation run open the
queue data in spreadsheet view, and change the Type for each of the 4 alternatives. Do not
forget to specify the attribute name (Processing time) in last two of the queue disciplines,
otherwise the queue will not be sorted and you will get the same results as in FIFO.
Save your model for alternative 1, 2, 3 and 4 separately with filenames
teamXX_task1_2Y.doe (where XX is your team number and Y is the alternative). Run your
model for all 4 alternatives and compare the results. Write down your results. Write down your
conclusions about comparing different queue disciplines.
10
COMPUTER LABS IN ARENA
Task 1.3
In this task you will experiment with a model of a production system. The task consists of trying
to balance the system and optimize its performance. The simulation model file can be
downloaded from the course webpage. The model filename is wiplab7_vbr.doe, download
and save it in your home directory. Start Arena and open the model file (ignore the comment
about the license, in the case you get it – the model was created with legal university license of
ARENA). IMPORTANT! Do not save the model from within ARENA!
System description
The system consists of a manual assembly line where workers monitor variable buffer levels
before pulling work into their areas. The production line consists of six benches where the parts
are processed manually by the workers. Parts enter the system through two different entrances
(see Figure 1). Parts arrive into the system randomly.
Two different lines are set up for processing the parts that come from a specified entrance. The
line 1 consists of benches 14 and 16. The second line consists of benches 15 and 17. Parts that
have been processed in benches 16 and 17 are sent to the benches 18 and 19 where they are
finished.
Each bench has one worker. The worker at bench 19 is dedicated to do the packaging job. If
there are parts in the table waiting for the worker at bench 18 and the worker at bench 19 is idle,
he can help the worker at bench 18. Nevertheless, the worker at bench 19 has to finish the
packaging activities before helping the worker at bench 18.
The flow of material in the plant occurs in batches. For instance, when the parts are processed in
bench 14 they are not sent to the next activity until a certain number of parts are accumulated.
The same occurs at benches 15, 16 and 17 (see Figure 1). The batches are moved to the next
activity by automatic transporters that pick them up when the defined number of parts in batch
is reached.
Benches 18 and 19 use the same table. The parts are shipped immediately after being packaged.
The task
Your task consists of deciding the number of parts in the batches (totesizes) in order to reduce as
much as possible the total work in process (WIP), and to increase the total number of parts
produced. The results of the experiments must be written down in the table shown later in this
document. Make as many experiments as you can until you cannot improve the performance of
the system any more.
Interaction with the model
You are going to be able to declare the tote sizes (number of parts that form the batches, also
known as lot sizes). This number of parts can be defined in a range from 1 to 20. Once the
simulation run is started a dialog box will appear. Just enter the desired totesize values and
press OK to proceed with the simulation run.
The number in batches is set up by default to 5. Every time the simulation run starts you have to
change these values using the dialog box (it will remember the last values you used).
Navigating in the layout of the model
Use the “Navigate” panel or so-called “shortcut keys” to navigate around the model. It is also
possible to use the scroll bars and the zoom features of the software. (See the toolbars in the
upper part of the screen).
Reading the outputs from the model
Information concerning the three most important aspects of the system performance is
displayed on the model screen. It is the total production, the number of parts on the tables and
the total WIP. This information can be read directly from the model’s layout (see figure 1). You
can also look at the dynamic plots for additional information.
11
Utilization
COMPUTER LABS IN ARENA
12
Parts on the tables
wait to be processed
Entrance 2
Enter the results of your experiments in a table as the one shown below:
Lot size at Lot size at Lot size at Lot size at No of parts on Total WIP Production
Experiment Bench 14 Bench 15 Bench 16 Bench 17 the tables
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Lot size at Lot size at Lot size at Lot size at No of parts on Total WIP Production
Experiment Bench 14 Bench 15 Bench 16 Bench 17 the tables
Additional question: in your opinion, which other performance measures we should consider
when deciding on system’s performance in this case, in addition to the three you recorded in the
table? Motivate your answer and write down your arguments in the report. The tables showing
the results of your experiments must appear in your report as well.
13
COMPUTER LABS IN ARENA
Task 1.4
In this task you will have to build your own models according to the problem description
below.
Customers arrive at an order counter with exponential inter-arrivals with a mean of 10 minutes.
A single clerk accepts and checks their orders and processes payments, UNIF(8,10) minutes.
Upon completion of this activity, orders are randomly (50/50) assigned to one of two available
stock persons who retrieve the orders for the customers, UNIF(16,20) minutes. These stock
persons only retrieve orders for customers who have been assigned specifically to them (they do
not help each other). Upon receiving their orders, the customers depart the system. Develop a
model of this system (with animation) and run the simulation for 5000 minutes. Save this
version of your model as teamXX_task1_4a.doe (where XX is your team number).
A bright, young engineer has recommended that they eliminate the assignment of an order to a
specific stock person and allow both stock persons to select their next activity from a single
order queue. Develop a model of this system, run it for 5000 minutes, and compare the results to
the first system. Save this version of your model as teamXX_task1_4b.doe (where XX is your
team number). Try to explain the reasons of the differences in these results.
Models:
teamXX_task1_1.doe
teamXX_task1_21.doe
teamXX_task1_22.doe
teamXX_task1_23.doe
teamXX_task1_24.doe
teamXX_task1_4a.doe
teamXX_task1_4b.doe
(where XX is your team number)
14
COMPUTER LABS IN ARENA
15
COMPUTER LABS IN ARENA
Hints: Consider using a “Create” block for each new type of customer and the definition of the
service time by means of attributes. Make sure that each type of customer has its own picture –
select Edit/Entity Pictures from the menu and edit the picture for each type of customer. Follow
the steps given in section 4.3.2 of the textbook.
d) In the system of the previous task (c): how many agents would you assign to check-in desks
in order to assure that the passengers be on average no more than 20 minutes (average for
all passengers together) in the system? Feel free to decide the number of additional agents
and the distribution of their break and lunch times, as long as the original 5 agents keep
their staggered breaks. All agents should be employed either full time (8h per shift with 2
breaks, as the existing ones), or half-time (4 hours per shift). Half-time employees do not
need a lunch break; it is enough with one 15-minute break. There is also an additional
constraint - if you have two half-time employees during one shift, they should changed to
one full-time employee (For example, you cannot have 4 full time and 3 half time
employees, you should change to 5 full time and 1 half time employees instead). Also, there
should be no overlapping between shifts (an agent works either during first eight hours or
during second eight hours). The shifts can be different, for instance, 5 agents working
during the first shift and 10 agents during the second. The best solution would be the one
with the less number of agents and the less average time in system of the passengers.
Consider that having many agents would increase the costs of your activities. Explain
clearly your decision in the final report of the lab. Make sure that the reader can understand
your strategy. Save this version of your model as teamXX_task2_1d.doe (where XX is
your team number).
Hint: You can plot the number in queue to have an idea of how it varies through the working
hours.
In the report:
Include the results of all 6 best fits from your input data analysis (you can copy the result text from
Input analyzer) and also the screenshots of frequency histograms. Write down the results of each
experiment you do and discuss them (you can include screenshots from ARENA to explain you
schedules).
Models:
teamXX_task2_1a.doe
teamXX_task2_1b.doe
teamXX_task2_1c.doe
teamXX_task2_1d.doe
(where XX is your team number)
16
COMPUTER LABS IN ARENA
Upon completion of the assembly process, the fans are inspected with approximately 7% being
found defective. A defective fan is sent back to the same operator that assembled it for repair.
These defective fans have priority over incoming kits. Since the fan needs to be disassembled
and then reassembled, the repair time is assumed to be 30% greater than the normal assembly
time. After repairing, fans are sent to inspection again, where they are tested together with
other, newly assembled fans. Run your model for 20 000 minutes and collect statistics on
operator utilization and the time in system. Save this version of your model as
teamXX_task3_1.doe (where XX is your team number).
a) Suppose you could hire one more person and that person could be a second (identical)
operator at any of the four locations. Which one should it be? Use PAN with five
replications per scenario and select the best in terms of lowest average time in system.
(See section 6.5 of the book) In retrospect, is your choice surprising? How important is it
to get this choice right?
b) Now suppose you could hire up to five more people and allocate them any way you
want to the four existing operators, including allocating all five of the new people to a
single operator. What's the best thing to do? Use OptQuest to search for the optimal
allocation of this maximum of five more people, with the objective of minimizing the
average time in system (See section 6.6 in the textbook). If OptQuest displays the
following error message “The Arena model has no controls defined. The model must
have at least one control to run optimization”, although you have resources in your
model, you will need to change the Decimal Symbol parameter defined for the
computer to a period instead of a comma. To do this go to Start/Settings/Control Panel
and click on the Regional and Language Options icon and under Regional Options click
on the Customize button, there you will be able to define the Decimal Symbol to a
period "." instead of a comma ",".
c) The quality control staff for the fan assembly area has decided that if a fan is rejected a
second time it should be rejected from the system and sent to a different area for
rework. Make the necessary changes to the original model (the one you built before
exercise a), run the simulation for 20 000 minutes and compare the utilization by
operator and time in system (based on 5 replications of each model). Use the Output
Analyzer in order to compare the alternatives (see section 6.4 in the textbook). Is there
any statistical difference between the performance indicators (utilization per operator
17
COMPUTER LABS IN ARENA
and time in system) from the two models? Save this version of your model as
teamXX_task3_1c.doe (where XX is your team number).
Keep track and report the number of fans rejected from the system. (Hint: Set an
attribute for storing the number of times the parts were rejected. Use a “Decide” module
from the Basic Process Panel in order to define the path of the entities basing the
decision on condition.)
Note: Remember that animation will be counted as an important aspect when evaluating the
lab. In this lab there is no data on entity transfers, so you have to assume they are equal to zero,
which means there is no use for Route (and Station) module. Nevertheless, try to make an
animation that resembles a small production unit as close as possible.
In the report:
Describe the analysis process in each of the subtasks and write down the results of each experiment
you do and discuss them. Include screenshots from Output Analyzer, Process Analyzer and
OptQuest.
Models:
teamXX_task3_1.doe
teamXX_task3_1c.doe
(where XX is your team number)
18
COMPUTER LABS IN ARENA
19
COMPUTER LABS IN ARENA
(Hint: Modify your model by means of adding a truck for each of the exercises a) and b). You
will need to have three models for each situation.) Use the Process Analyzer for comparing the
average times the pallets spend in the system on each scenario.
Note: Remember that animation will be counted as an important aspect when evaluating the
lab.
For this lab you have to submit following:
In the report:
Describe the analysis process in each of the subtasks and write down the results of each experiment
you do and discuss them. Include screenshots from Output Analyzer and/or Process Analyzer, if you
are using these tools.
Models:
teamXX_task4_1a.doe
teamXX_task4_1b.doe
(where XX is your team number)
20
COMPUTER LABS IN ARENA
Note: Remember that animation will be counted as an important aspect when evaluating the
lab.
21
COMPUTER LABS IN ARENA
In the report:
Describe the analysis process write down the results of each experiment you do and discuss them.
Include screenshots from Output Analyzer and/or Process Analyzer and/or OptQuest, if you are
using these tools.
Model:
teamXX_task5_1.doe
(where XX is your team number)
22