You are on page 1of 22

Project 2

Logistic Systems Planning


Paula García Geijo

PROJECT 2
1. Description of the modelled system.

The system consists of a container terminal where trucks arrive with containers inside.

Trucks arrive at the terminal every day from 6 AM to 6 PM at an average of 3 trucks


per hour, in other words, the inter-arrival time is 20 minutes. This inter-arrival time is
exponentially distributed. We assume that there is only one container loaded on a
truck.

Once at the terminal, containers are unloaded from the trucks, which leave the system
once they are empty. Unloading times are exponentially distributed with a mean value
equal to 9 minutes.

Then, containers must pass a technical inspection whose time follows the exponential
distribution with the mean value equal to 27 minutes. By this inspection we find that
approximately 6 percent of containers are in bad state, so they have to be repaired.
Time of reparation is exponentially distributed with a mean value equal to 68 minutes.
After technical inspection, or reparation in case of containers that were in
unsatisfactory condition, containers have to go to customs inspection.

Customs inspection time follows a truncated normal distribution with a mean value of
21 minutes and a deviation of 5 minutes. So, the distribution can take values from the
interval <μ – 3σ; μ + 3σ > = <21-15; 21+15> = <6; 36>.

Containers leave the terminal by train. Once the customs inspection is done,
containers must wait in a storage place to be loaded on the train. The capacity of this
storage area is 10 containers and the capacity of the train leaving the terminal is 10,
20, 30 or 40 containers with probabilities 0,15; 0,25; 0,25 and 0,35. We consider that
wagons are always available in the terminal to load containers. The loading time per
one container is exponentially distributed with the mean value equal to 11 minutes.
Finally, when the capacity of the train is full, it leaves the system.

There is also a reach stacker whose job is uploading and loading the containers. He
works every day from 6 AM to 6 PM with three breaks from 9:00 to 9:15, from 12:30 to
13:15 and from 16:00 to 16:15.

1
Project 2
Logistic Systems Planning
Paula García Geijo

94%
Unloading Inspection Customs Storage Loading

6%

Repairing

Loaded truck: truck + container

Empty truck

Container

Empty train

Loaded train: train + 10/20/30/40 containers

Reach stacker

2. Description of the simulation model.


Elements of the system

Basic elements of this model are:


 Trucks, containers and trains. They are parts because they enter the model,
move from element to element through the model and then pass out of the
model.
 Storage store parts, so it is the buffer.
 The machines are unloading, inspection, repairing, customs and loading. They
process the parts.

2
Project 2
Logistic Systems Planning
Paula García Geijo

 Finally, there is a stacker that is a labor because it represents a resource


(human operator), which is required by other elements for processing
(unloading trucks and loading trains).

Basic elements have some characteristics that are selected depending on the modelled
system. In this container terminal:

Parts

Trucks are active because they arrive at random intervals instead of whenever an
element needs them. There isn’t a maximum number of parts that can arrive at the
simulation during a single run of the model. Whatever the time of the simulation,
trucks don’t stop arriving. First arrival time is the simulation time at which the first
part arrives at the model. Inter arrival time is the amount of time that elapses
between the arrival of each part. Both of them are defined by an exponential
distribution whose mean time equals to 20 minutes. We use the function NEGEXP(EX)
to define this exponentially distributed values. Lot size is the number of parts that
arrive at the system at the same time. As trucks arrive at the system one-by-one, lot
size equals to 1. Shift is the period of time when the trucks arrive at the system. It is
from 6 AM to 6 PM and is defined in the variable called Shift2.

3
Project 2
Logistic Systems Planning
Paula García Geijo

Containers and trains are passive parts because there is an unlimited supply of them.
Containers and trains arrive at the model whenever an element needs them.

Machines

Unloading container. It is a production machine because it takes in a single part and


outputs several parts, in this case two parts: truck and container. The output is the
original part (truck) followed by the production quantity (container). In the part type
4
Project 2
Logistic Systems Planning
Paula García Geijo

we have to define the part that is produced in this machine and the production
quantity is the number of containers that the machine produces at one cycle time.
Cycle time defines the time that the machine takes to process the parts. In this model
it is defined by an exponential distribution whose mean time is 9 minutes. As we have
done for trucks, we have to use the function NEGEXP(EX) to define exponentially
distributed values.

Input: 1 part
Loaded Truck Output: 2 parts

Empty Truck
Production
+
machine Container

Inspection. It is a single machine because it processes one part at a time (one part
enters and one part leaves). Cycle time defines the time that the machine takes to

5
Project 2
Logistic Systems Planning
Paula García Geijo

process the parts. In this model it is defined by an exponential distribution whose


mean time is 27 minutes. As we have done for trucks and the previous machine, we
have to use the function NEGEXP(EX) to define exponentially distributed values.

Single
machine
Input: 1 part Output: 1 part
Container Container

Repairing. It is a single machine like inspection because it processes one part at a time
(one part enters and one part leaves). Cycle time is defined by an exponential
distribution whose mean time is 68 minutes. We use again the function NEGEXP(EX) to
define exponentially distributed values.

6
Project 2
Logistic Systems Planning
Paula García Geijo

Single
machine
Input: 1 part Output: 1 part
Container Container

Customs. It is another single machine because it processes one part at a time. Cycle
time is defined by a truncated normal distribution with a mean value of 21 minutes
and a deviation of 5 minutes. This type of distribution can take values from the interval
<μ – 3σ; μ + 3σ >. In this case μ=21 minutes and σ=5 minutes, so the minimum and
maximum values are:

min = μ – 3σ = 21 – 15 = 6

max = = μ + 3σ = 21 + 15 = 36

Therefore, the values of the distribution are within the interval < 6; 36 >. We use the
function TNORMAL(μ, σ, min, max) to define this truncated normal distributed values.

7
Project 2
Logistic Systems Planning
Paula García Geijo

Single
machine
Input: 1 part Output: 1 part
Container Container

Loading container. It is an assembly machine because it takes in a number of parts


and outputs a single part. In this case the machine takes in an empty train and the
number of containers that fill the capacity of it and outputs the train which is loaded.
Cycle time defines the time that the machine takes to process the parts. In this model
it is defined by a variable called Loading_time. In the input we have to define quantity
which the number of parts that enter in the machine. We have defined a new variable
called Capacity that indicates the number of containers that can be loaded in the train:
10, 20, 30 or 40. Therefore the number of elements that enter in the machine is the
variable capacity plus 1, the empty train.

8
Project 2
Logistic Systems Planning
Paula García Geijo

Input: Capacity + 1

Containers (10, 20, 30 Assembly


or 40) machine
+
Output: 1 part
Empty Train
Loaded Train

Buffer

Storage. It is defined by its capacity, which is the maximum number of parts that it can
contain. In this model the capacity of the buffer is 10. There are three options related
to the situation of the parts and the time that they spend in the buffer. For input
option we have select that parts must be placed in the rear part of the buffer when
they enter it. In delays option you can define the length of time that parts spend in
the buffer, but we haven’t define it. Finally, for output option we have indicated that
Loading_container machine must take the first container from the front part of the
storage to process it.

9
Project 2
Logistic Systems Planning
Paula García Geijo

Labor

Stacker. It is a human operator, which is required by loading and unloading containers


machines to processing these parts. There is only a stacker, consequently in quantity
we have to write one. Shift represents the periods of work when the stacker is
available. We have select Shift1 which is a variable that we have defined previously.
The periods of work of the stacker are included in this variable.

As we have said, stacker works in two machines: loading_container and


unloading_container. We have to add a labor rule “Stacker” in these machines to
indicate the program that they need a stacker to proceed processing the containers.

10
Project 2
Logistic Systems Planning
Paula García Geijo

Data. Empirical distributions

How_many_containers. We have select IDist to create a data discrete integer


distribution of probability. We will use it to define the capacity of the generated trains.
In this variable we have introduced the different values of capacity together with their
respective probabilities.

11
Project 2
Logistic Systems Planning
Paula García Geijo

Variables and their application

Capacity. It is an integer variable which represents the capacity of the incoming trains.

In the part train we write the following sentence to define its capacity:

Capacity = How_many_containers ()

This ensures that the capacity of every new train will be the number created by the
previous empirical distribution with the appropriate probability.

Furthermore, in the machine loading_container, we have used this variable to define


the quantity of elements that enter in the machine. Input quantity is 1 + Capacity,
which means one empty train plus the number of containers that the train can carry:
its capacity.

Order_of_cont. It is an integer variable which represents the order of the containers,


from the first (1) until the last one (Capacity). We will use it in the next variable,
loading_time.

Loading_time. It is a real variable which represents the time that takes the process of
loading the containers in the train. We know that the loading time per one container is
exponentially distributed with the mean value equal to 11 minutes. So, the
loading_time depends on the capacity and that exponential distribution.

As we can remember, the number of containers that the train is going to carry is
recorded in the variable called Capacity. Order_of_cont is another important variable
in the definition in loading_time. The whole loading time is the sum of the loading time
of each container loaded in the train. Each of this loading time follows the exponential
distribution with a mean value of 11 minutes.

NEGEXP (11)

Container 1
+ NEGEXP (11)

Container 2
+ NEGEXP (11)

Container 3
… NEGEXP (11)

Container N

Loading time
Capacity = N

12
Project 2
Logistic Systems Planning
Paula García Geijo

We can define loading_time with the following function, which we have to write as an
action on create in the part train. In this way, every time a train is created, its loading
time is calculated according to its capacity:

Loading_time = 0

FOR Order_of_cont = 1 TO Capacity

Loading_time = Loading_time + NEGEXP (11)

NEXT

This function goes from the first container until the last one (capacity) and calculate for
each of them their own exponential distribution and adds the new calculated value to
the previous. This allows obtaining the real value of the variable loading_time that we
will use to define the cycle time of the loading_container machine.

Shifts
There are two different shifts in this model:

Shift1. This shift is for stacker. He works every day from 6 AM to 6 PM with three
breaks from 9:00 to 9:15, from 12:30 to 13:15 and from 16:00 to 16:15. So, there are 5
periods in one day:

1. First period starts at 00:00


Working time is 0
Rest time is 360 min (6 hours) From 00:00 until 06:00
2. Second period starts at 06:00
Working time is 180 min (3 hours)  From 06:00 until 09:00
Rest time is 15 min  From 09:00 until 09:15
3. Third period starts at 09:15
Working time is 195 min (3 h + 15 min)  From 09:15 until 12:30
Rest time is 45 min  From 12:30 until 13:15
4. Fourth period starts at 13:15
Working time is 165 min (2 h + 45 min)  From 13:15 until 16:00
Rest time is 15 min  From 16:00 until 16:15
5. Fifth period starts at 16:15
Working time is 105 min (1 h + 45 min)  From 16:15 until 18:00
Rest time is 360 min (6 hours)  From 18:00 until 00:00

13
Project 2
Logistic Systems Planning
Paula García Geijo

The cycle time is 1440 min (24 hours = 1 day) and it is composed by a working time of
645 min (10 h + 45 min) and a rest time of 795 min (13 h + 15 min)

To associate this shift to the stacker we have to select in the part stacker shift1.

Shift2. This shift is for trucks. Trucks arrive at the terminal every day from 6 AM to 6
PM.

1. First period starts at 00:00


Working time is 0
Rest time is 360 min (6 hours)  From 00:00 until 06:00
2. Second period starts at 06:00
Working time is 720 min (12 hours)  From 06:00 until 18:00
Rest time is 360 min (6 hours)  From 18:00 until 00:00

14
Project 2
Logistic Systems Planning
Paula García Geijo

The cycle time is 1440 min (24 hours = 1 day) and it is composed by a working time of
720 min (12 h) and a rest time of 720 min (12 h)

To associate this shift to the trucks we have to select in the part truck shift2.

Input and output rules

We have to define also the input and output rules, in other words, how parts move
through the model. Buffers are passive. Therefore, is not possible to define input or
output rules for the Storage. We have to define it for parts and machines. The input
and output rules we have used are the followings:

 Truck  Unloading_container. The loaded truck, which arrives at the system,


is pushed to the machine unloading_container.

15
Project 2
Logistic Systems Planning
Paula García Geijo

 From unloading_container, Truck  Ship // Container  Inspection. In the


input of unloading_container we have to write “Wait” because the input truck
is pushed from the arrivals. The machine has to wait until the truck was pushed
to it. Once the truck is empty, it is shipped. The machine pushes it out of the
model. The container, that has been unloaded from the truck, is pushed to
inspection. PUSH Truck to SHIP, Container to Inspection.

 Inspection  Repairing (6%) / Customs(94%). In the input of inspection we


have to write “Wait”, like in the unloading_container, because the input
container is pushed from it and inspection machine has to wait until the
container was pushed to it. Then, the containers go from inspection to customs
or repairing depending on its condition. The 94% of containers go to customs
and the other 6% go to repairing because they are in an unsatisfactory
condition. We have defined it with the input rule PERCENT: PERCENT Customs
94.00, Repairing 6.00

 Repairing  Customs. The input of inspection is “Wait” again. For the output,
the containers are pushed to Customs.

 Customs  Storage. The input of Customs is “Wait” once more time. For the
output, the containers are pushed to Storage.

16
Project 2
Logistic Systems Planning
Paula García Geijo

 Loading_container. This machine has two different inputs: one train that is
pushed to it when the machine needs it and several containers whose number
is the capacity of the train. The containers must wait in the storage until the
machine loading_container take them to be loaded. We have define this
process with the input rule SEQUENCE: SEQUENCE /Wait Train out of
WORLD#(1), Storage#(Capacity). The output of the machine is the same for
trains and containers. Both of them are pushed to ship. They left the system.

In the following picture we can see the whole system:

Objective variables

To show the statistics of the simulation we have defined a real variable and an integer
variable:

17
Project 2
Logistic Systems Planning
Paula García Geijo

Processed_containers. This variable is an integer variable which represents the


number of containers processed by the system. To count the number of containers
processed, we have written an output action in the machine customs:

Processed_containers = Processed_containers + 1

Every time a container leaves the machine customs the variable processed_containers
is increased by one. We calculate the value of this variable in the machine customs
because, in this model, the container is considered processed if it has left the this
machine.

Rejected_trucks. This real variable represents the number of trucks that have been
rejected. If a truck arrives at the system and the machine loading_containers is busy,
this truck is rejected and sent out of the system without being processed. That means
that this truck and the container inside are lost.

To calculate this variable we have to use two functions:

 NCREATE. This function returns the number of trucks that have been created
(including those that were rejected on arrival at the model because the
machine is occupied). This is the total number of parts.
 NREJECT. This function returns the number of trucks of this type that have been
rejected on arrival at the model. These are the parts that are lost.

To define this variable we have to write the following function as an action on create
on the part truck:

Rejected_trucks = 100 * NREJECT (Truck) / NCREATE (Truck)

3. Reached outcomes presented in the form of graphs or tables.

First task. Model validation

The time of the simulation is 30 days. We have used minutes as unit of time, so the
simulation time equals to 30*1440 minutes.

After running the simulation, we obtain these values of the variables:

18
Project 2
Logistic Systems Planning
Paula García Geijo

Simulation: 30 days

Processed containers 412 containers

Rejected trucks 61.16%

There are a lot of trucks that are rejected, so we should optimize the system to avoid
the bottle necks.

Second task. Terminal optimization

The optimization of the model consists on make several changes to increase the
number of processed containers and decrease the number of trucks rejected upon
their arrival in the same time of simulation: 30 days.

The objective is to achieve the lower number of rejected trucks with a maximum of 5
changes.

We have done the following changes:

1. FIRST CHANGE. Increase the quantity of inspection machines. First of all I have
increased the number of inspection machines. Now, there are two inspection
machines and these are the new values of the variables:

2 x Inspection machine
Processed containers 511 containers
Rejected trucks 51.88%

The number of processed containers has been increased and the number of
rejected trucks is lower than the first one, so we can say that this is a good
change.

2. SECOND CHANGE. Add a new buffer. Another change that I have done is to
add a new buffer in the input of the unloading_container machine with a
capacity of 10 containers. For that, we have written in the input of

19
Project 2
Logistic Systems Planning
Paula García Geijo

unloading_container machine BUFFER (10) instead of Wait. The results of the


simulation are:

New buffer
Processed containers 673 containers
Rejected trucks 35.93%

With this change the number of processed containers is higher than the
previous ones and the rejected trucks have decreased. So, this change is also
positive.

3. THIRD CHANGE. Increase the number of stackers. Stackers work in unloading


and loading machine and only one stacker for both machines is not enough.
That’s why I have decided to add another stacker. With two stackers the results
are:

2 x Stacker
Processed containers 826 containers
Rejected trucks 21.63%

With this change there are more processed containers and less rejected trucks,
as we wanted.

4. FOURTH CHANGE. Increase the capacity of the buffer Storage. With the
increased number of processed containers the capacity of 10 containers of the
Storage is too low, so I have increased it 10 units. Now, the storage has a
capacity of 20, which has enable the increase of the number of processed
containers and the decrease of the rejected trucks as we can see in the
following table:

Storage +10
Processed containers 934 containers
Rejected trucks 11.99%

20
Project 2
Logistic Systems Planning
Paula García Geijo

5. FIFTH CHANGE. Increase the quantity of custom machines. Finally, the fifth
change is in customs. Processed containers are the containers that have left this
machine. Therefore, if we increase the number of customs machine, the
number of processed containers will increase too. With two customs machines
these are the results:

2 x Customs
Processed containers 1021 containers
Rejected trucks 4.03%

As we can see, with the five changes there is a big increase of processed containers
and the rejected trucks have decreased a lot too.

Without any change With five changes


Processed
412 containers 1021 containers
containers
Rejected trucks 61.16% 4.03%

The changes in the model have been analyzed as they were added. Every time a
change was added, the results changed. I haven’t analyzed every change individually
because there are some changes that are done due to another change. The individual
analysis of this type of changes, like the increase of the number of stackers, hasn’t got
any sense. That’s why I have shown the results as I added a new change.

4. Conclusions

As conclusion of this simulation of the system, we can say that there are some bottle
necks in the original system that can be solved with some modifications in the
elements of it, near where the bottle neck is.

In this model, we can find these bottle necks in:

 Inspection, because trucks arrive at the system at an average of 3 trucks per


hour (one truck every 20 minutes) and inspection takes 27 minutes. In one hour
3 trucks arrive at the system but only 2 had passed the inspection. That’s why

21
Project 2
Logistic Systems Planning
Paula García Geijo

we have optimized the system adding another inspection machine and a buffer
in the input of unloading_containers.
 Loading_containers, because the containers have to wait in the storage until
there are enough containers ready to be loaded and fill the train capacity. If we
increase the number of custom machines containers are processed faster and
they are ready sooner to be loaded. The capacity of the storage is also quite
low. The capacity of the trains varies between 10 and 40 and the capacity of
the storage is only 10. Therefore, the increase of the number of custom
machines and the capacity of the storage has optimized the system.
The increase of the number of stackers has also helped to improve the system
because with two stackers, both unloading and loading containers machines
can be processing at the same time.

If we make the correct changes in the correct element or place the results will be very
successful. As we can see in the previous table, with only 5 changes the results
obtained have been incredibly improved. The number of processed containers is more
than double the first value. On the other hand, the rejected trucks, whose value was
higher than 60%, now it is lower than 5%.

In conclusion, if we want to improve our system, the best way is to find the bottle
necks and solve them making some little changes where the bottle necks are. In this
way, we will get a system much more efficiently.

22

You might also like