0% found this document useful (0 votes)
29 views12 pages

Expert Systems With Applications: M. Rodriguez-Molins, M.A. Salido, F. Barber

Uploaded by

mr.visastudy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views12 pages

Expert Systems With Applications: M. Rodriguez-Molins, M.A. Salido, F. Barber

Uploaded by

mr.visastudy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Expert Systems with Applications 39 (2012) 978–989

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications


journal homepage: www.elsevier.com/locate/eswa

Intelligent planning for allocating containers in maritime terminals


M. Rodriguez-Molins ⇑, M.A. Salido, F. Barber
Instituto de Automática e Informática Industrial, Universidad Politécnica de Valencia, Valencia, Spain

a r t i c l e i n f o a b s t r a c t

Keywords: Maritime container terminals are facilities where cargo containers are transshipped between ships or
Planning between ships and land vehicles (tucks or trains). These terminals involve a large number of complex
Heuristics and combinatorial problems. One of them is related to the Container Stacking Problem. A container yard
Optimizing is a type of temporary store where containers await further transport by truck, train or vessel. The main
Container Stacking Problem
efficiency problem for an individual stack is to ensure easy access to containers at the expected time of
transfer.
Stacks are ‘last-in, first-out’ storage structures where containers are stocked in the order they arrive.
But they should be retrieved from the stack in the order (usually different) they should be shipped. This
retrieval operation should be efficiently performed, since berthing time of vessels and the terminal oper-
ations should be optimized. To do this, cranes can relocate containers in the stacks to minimize the rear-
rangements required to meet the expected order of demand for containers.
In this paper, we present a domain-dependent heuristically guided planner for obtaining the optimized
reshuffling plan, given a stacking state and a container demand. The planner can also be used for finding
the best allocation of containers in a yard-bay in order to minimize the number of reshuffles as well as to
be used for simulation tasks and obtaining conclusions about possible yard configurations.
 2011 Elsevier Ltd. All rights reserved.

1. Introduction on the stack is performed by cranes following a ‘last-in, first-out’


(LIFO) storage. In order to access a container which is not at the
Maritime container terminals are the most important locations top of its pile, those above it must be relocated. It occurs since
for transshipment and intermodal container transfers (Fig. 1). other ships have been unloaded later or containers have been
Henesey (2006) shows how this transshipment market is growing stacked in the wrong order due to lack of accurate information.
fast (container throughput has increased by 58 per cent over 2000– This reduces the productivity of the cranes. Maximizing the effi-
2004) and needs further studies to analyze it. In order to ensure ciency of this process leads to several requirements:
reliability, e.g. delivery dates or handling times, to the different
shipping companies as well as increasing productivity and con- 1. Each incoming container should be allocated a place in the stack
tainer throughput from the quayside and landside and vice versa, which should be free and supported at the time of arrival.
there are several issues which need optimization. Vis and De Kos- 2. Each outgoing container should be easily accessible, and prefer-
ter (2003) and Stahlbock and Voß (2008) provide an extensive sur- ably close to its unloading position, at the time of its departure.
vey about operations at seaport container terminals and methods
for their optimization. Moreover, other problems could be faced In addition, there exist a set of hard/soft constraints regarding
as for instance planning the routes for liner shipping services to ob- the container locations, for example, small differences in height
tain the maximal profit (Chuang, Lin, Kung, & Lin, 2010). Another of adjacent yard-bays, dangerous containers must be allocated sep-
important issue for the success at any container terminal is to fore- arately by maintaining a minimum distance and so on.
cast container throughput accurately (Chen & Chen, 2010). With Nowadays, the allocation of positions to containers is usually
this data they could develop better operational strategies and done manually. Therefore, using appropriate Artificial Intelligent
investment plans. techniques is possible to achieve significant improvements of lead
Containers are an ISO standardized metal box and can be times, storage utilization and throughput.
stacked on top of each other. Loading and offloading containers Fig. 2 left shows a container yard. A yard consists of several
blocks, and each block consists of 20–30 yard-bays (Kim, Park, &
⇑ Corresponding author. Ryu, 2000). Each yard-bay contains several (usually 6) rows. Each
E-mail addresses: mrodriguez@dsic.upv.es (M. Rodriguez-Molins), msalido@
row has a maximum allowed tier (usually tier 4 or tier 5 for full
dsic.upv.es (M.A. Salido), fbarber@dsic.upv.es (F. Barber). containers). Fig. 2 right shows a gantry crane that is able to move

0957-4174/$ - see front matter  2011 Elsevier Ltd. All rights reserved.
doi:10.1016/j.eswa.2011.07.098
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 979

In the literature, generally this problem can be seen in two dif-


ferent ways according to when it should be done the optimization:

1. Minimizing the number of relocations during the pickup


operation.
2. Getting a desirable layout for the bay before the pickup opera-
tion is done in order to minimize (or eliminate) the number of
relocations during this process.

Kim (1997) proposes a methodology to estimate the expected


number of rehandles to pick up an arbitrary container and the total
number of rehandles to pick up all the containers in a bay for a gi-
ven initial stacking configuration. In a similar way, (Kim & Hong,
2006) compares two methods, branch-and-bound algorithm and
a heuristic rule based on an estimator, which they minimize the
number of relocations during the pickup operation.
In Kim and Bae (1998), they also propose a methodology to con-
vert the current bay layout into the desirable layout by moving the
fewest possible number of containers (remarshalling) and in the
shortest possible travel distance although it takes a considerable
Fig. 1. Container terminal at Valencia. time since they use mathematical programming techniques. Coop-
erative coevolutionary algorithms have been developed in Park,
Park, and Ryu (2009) to obtain a plan for remarshalling in auto-
a container within a stacking area or to another location on the ter- mated container terminals.
minal. For safety reasons, it is usually prohibited to move the gan- This paper focuses on this latter issue. But we present a new
try crane while carrying a container (Lee & Hsu, 2007), therefore heuristic with a set of optimization criteria in order to achieve effi-
these movements only take place in the same yard-bay. ciency and take into account constraints that should be considered
When a container arrives at the terminal port, a transfer crane in real-world problems in the provided solutions.
picks it up and stacks it in a yard-bay. During the ship loading
operation, a transfer crane picks up the container and transfers it 2. Problem description (The Container Stacking Problem)
to a truck that delivers it to a quay crane.
In container terminals, the loading operation for export contain- The Container Stacking Problem can be viewed as a modifica-
ers is pre-planned by load planners. For load planning, a container- tion of the Blocks World planning domain (Winograd, 1971), which
ship agent usually transfers a load profile (an outline of a load plan) is a well-known domain in the planning community. This domain
to a terminal operating company several days before a ship’s arri- consists of a finite number of blocks stacked into towers on a table
val. The load profile specifies only the container group. In order to large enough to hold them all. The Blocks World planning problem
have an efficient load sequence, storage layout of export containers is to turn an initial state of the blocks into a goal state, by moving
must have a good configuration. one block at a time from the top of a tower onto another tower (or
The main focus of this paper is to present a planning system on a table). The optimal Blocks World planning problem is to do so
which optimally reallocates outgoing containers for the final stor- in a minimal number of moves.
age layout from which a load planner can construct an efficient Blocks World problem is closed to the Container Stacking Prob-
load sequence list. In this way, the objective is therefore to plan lem, but there are some important differences:
the movement of the cranes so as to minimize the number of
reshuffles of containers in a complete yard. To this end, the yard  The number of towers is limited to 6 because a yard-bay con-
is decomposed in yard-bays, so that the problem is distributed into tains usually 6 rows.
a set of subproblems. Thus, each yard-bay generates a subproblem,  The height of a tower is also limited to 4 or 5 tiers depending on
but containers of different yard-bays must satisfy a set of con- the employed cranes.
straints among them, so that subproblems will be sequentially  There exist a set of constraints that involve different rows such
solved taken into account the set of constraints with previously as balanced adjacent rows, dangerous containers located in dif-
solved subproblems. ferent rows, etc.

Fig. 2. A container yard (left) and gantry cranes (right) (Photos by Stephen Berend).
980 M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989

 The main difference is in the problem goal specification. In the goal  container ?x-container and
Blocks World domain the goal is to get the blocks arranged in a ready ?x-container:
certain layout, specifying the final position of each block. In the
Container Stacking Problem the goal state is not defined as – Numerical predicates. The first one stores the number of
accurately, so many different layouts can be a solution for a containers stacked on a given row and the second one counts
problem. The goal is that the most immediate containers to load the number of container movements carried out in the plan.
are in the top of the towers, without indicating which contain-
height ?s-row and num  moves:
ers must be in each tower.
 Actions:
We can model our problem by using the standard encoding – The crane picks the container ?x which is in the floor of row
language for classical planning tasks called PDDL (Planning ?r.
Domain Definition Language) (Ghallab et al., 1998) whose pur-
pose is to express the physical properties of the domain under pick ð?x-container ?r-rowÞ:
consideration and it can be graphically represented by means of – The crane puts the container ?x, which is holding, in the
tools as (Hatzi, Vrakas, Bassiliades, Anagnostopoulos, & Vlahavas, floor of row ?r.
2010). A classical AI planning problem can be defined by a tuple
hA, I, Gi, where A is a set of actions with preconditions and effects, put ð?x-container ?r-rowÞ:
I is the set of propositions in the initial state, and G is a set of – The crane unstacks the container ?x, which is in row ?r,
propositions that hold true in any goal state. A solution plan to from the container ?y.
a problem in this form is a sequence of actions chosen from A
that when applied transform the initial state I into a state of unstack ð?x-container ?y-container ?r-rowÞ:
which G is a subset.
– The crane stacks the container ?x, which is currently hold-
Following the PDDL standard, a planning task is defined by
ing, on container ?y in the row ?r.
means of two text files. The domain file, which contains the
common features for problems of this domain and the problem stack ð?x-container ?y-container ?r-rowÞ:
file, which describes the particular characteristics of each
problem. These two files will be described in the following – Finally, we have defined two additional actions that allow to
subsections. check whether a given (goal) container is ready, that is, it is
in a valid position. When a container is clear:
2.1. Domain specification fict  check1 ð?x-containerÞ:

In this file, we will specify the objects which may appear in the The container is under another (goal) container which is in a valid
domain as well as the relations among them (propositions). More- position.
over, in order to make changes to the world state, actions must
fict  check2 ð?x-container ?y-containerÞ:
be defined.

 Object types: containers and rows, where the rows represent the As an example of PDDL format, we show in Fig. 3 the specifica-
areas in a yard-bay in which a tower or stack of containers can tion of the stack operator. Preconditions describe the conditions
be built. that must hold to apply the action: crane must be holding con-
 Types of propositions: tainer ?x, container ?y must be clear and at row ?r, and the num-
– Predicate for indicating that the container ?x is on ?y, which ber of containers in that row must be less than 4. With this
can be another container or, directly, the floor of a row constraint we limit the height of the piles. The effects describe
(stack). the changes in the world after the execution of the action: con-
on ?x-container ?y-ðeither row containerÞ: tainer ?x becomes clear and stacked on ?y at row ?r, and the crane
is not holding any container. Container ?y becomes not clear and
– Predicate for indicating that the container ?x is in the tower the number of movements and the containers in ?r is increased
built on the row ?r. in one unit.
at ?x-container ?r-row:
– Predicate for stating that ?x, which can be a row or a con-
tainer, is clear, that is, there are no containers stacked on it.
clear ?x-ðeither row containerÞ:
– Predicate for indicating that the crane used to move the con-
tainers is not holding any container.
crane  empty:
– Predicate for stating that te crane is holding the container
?x.
holding ?x-container:
– Predicates used to describe the problem goal. The first one
specifies the most immediate containers to load, which must
be located on the top of the towers to facilitate the ship load-
ing operation. The second one becomes true when this goal
is achieved for the given container. Fig. 3. Formalization of the stack operator in PDDL.
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 981

It follows an enforced hill-climbing (Hoffman & Nebel, 2001)


approach with some modifications:

 It applies a best-first search strategy to escape from plateaux.


This search is guided by a combination of two heuristic func-
tions and it allows the planner to escape from a local minima
very efficiently.
 If a plateau exit node is found within a search limit imposed, the
hill-climbing search is resumed from the exit node. Otherwise, a
new local search iteration is started from the best open node.

The initial approach, based on Simplanner, was firstly used to


solve individual subproblems (yard-bays). To improve the solu-
tions obtained by Simplanner we have further developed a do-
main-dependent heuristic to guide the search in order to
accelerate and guide the search toward a optimal or sub-optimal
solutions.
This heuristic (called h1) was developed to efficiently solve one
yard-bay. h1 computes an estimator of the number of container
Fig. 4. The obtained plan solution to be carried out by the transfer crane.
movements that must be carried out to reach a goal state (see
Algorithm 1). The essential part of this algorithm is to count the
number of containers located on the selected ones, but also keeps
2.2. Problem specification track of the containers that are held by the crane distinguishing be-
tween whether they are selected containers or not. When the crane
Once the problem domain has been defined, we can define is holding a selected container, the value h has a smaller increase
problem instances. These files describe the particular characteris- since, although this state is not a solution, this container will be
tics of each problem: at the top of some row in the next movement.

 Objects: the rows available in the yard-bay (usually 6) and the


Algorithm 1. Pseudo-code of the domain-dependent heuristic
containers stored in them.
h1
 Initial state: the initial layout of the containers in the yard.
 The goal specification: the selected containers to be allocated at Data: b: state of the yard-bay;
the top of the stacks or under other selected containers. Result: h: heuristic value of b;
 The metric function: the function to optimize. In our case, we h 0;
want to minimize the number of relocation movements // Container hold by the crane
(reshuffles). if $ x  container/Holding(x) 2 b then
if GoalContainer(x) then
Since the Container Stacking Problem can be formalized with h 0.1;
these two files, we can use a general domain independent planner else
to solve our problems as Metric FF (Hoffmann, 2003). The plan, h 0.5;
which is returned by the planner, is a totally ordered sequence of end
actions or movements which must be carried out by the crane to end
achieve the objective. Fig. 4 shows an example of the obtained plan // Increasing the Dh value
for a given problem. The performance of this general planner will for r 1 to numRows(b) do
be analyzed in Section 6, which will be compared with the do- Dh 0;
main-oriented planner presented in next Sections. for x-container/ At(x, r) ^ GoalContainer(x) 2 b do
if 9
= y-container/ GoalContainer(y)^ On(y, x) 2 b then
Dh max (Dh, NumContainersOn(x));
3. A domain-dependent heuristically guided planner end
end
Metric FF planner might obtain plans, but it is very inefficient. h h + Dh;
Therefore, we propose a domain-dependent planner in order to end
provide more efficiency, it means at least reducing the number of
crane operations required to achieve a desirable layout.
The proposed planner is built on the basis of a local search do- 4. Optimization criteria for one-bay yards
main-independent planner called Simplanner (Sapena & Onaindı´a,
2002). This planner has several interesting properties for the con- Despite we are able to obtain good solutions (layouts) from Sim-
tainer stacking problem: planner enhanced with h1, we also want solutions more realistic for
instance taking into account safety standards.
 It is an anytime planning algorithm. This means that the plan- From this heuristic h1, we have developed some optimization
ner can found a first, probably suboptimal, solution quite rap- criteria each one of them achieving one of the requirements we
idly and that this solution is being improved while time is could face at Container Terminals (Salido, Sapena, Rodriguez, &
available. Barber, 2009). These criteria are centered in the next issues:
 It is complete, so it will always find a solution if exists.
 It is optimal, so that it guarantees finding the optimal plan if 1. Reducing distance of the goal containers to the cargo side
there is time enough for computation. (OC1d).
982 M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989

2. Increasing the range of the move actions set for the cranes how many tiers cranes work. This topic has been considered in
allowing to move a container to 5th tier (OC1t). Salido, Sapena, and Barber (2009). But, another approach is to
3. Applying different ways of balancing within the same bay in reach the fifth tier only during the remarshalling process. Thereby,
order to avoid sinks (OC1b). there would be 4 tiers at the beginning and the end keeping the
first requirements.
These criteria have been easily incorporated in our planner by Following this concept, we will use instances of problems hn, 4i
defining a heuristic function as a linear combination of two with a domain whose move actions allow 5 tiers at the stacks. This
functions: function is showed in Algorithm 3 and it follows the same steps
than the original but increasing the value of h when the height of
hðsÞ ¼ a  h1 ðsÞ þ b  h2 ðsÞ ð1Þ
one of the stacks is higher than 4. Thereby, we assure that the final
being this secondary function a combination of these three criteria layout will always have 4 tiers.
described:
h2 ðsÞ ¼ OC 1d þ OC 1t þ OC 1b ð2Þ Algorithm 3. Pseudo-code of the domain-dependent heuristic
function to allow 5 tiers
Note that although we want to guarantee balancing with this last
Data: s: state to evaluate
optimization criterion, unbalanced states (states with sinks) are al-
Result: h: heuristic value of s
lowed during this process of remarshalling in order to get better
h 0;
solutions according to the number of reshuffles done.
if $x-container/Holding(x) 2 s then
if GoalContainer(x) then
4.1. OC1d: placing goal containers close to cargo side
h 0.1;
else
Given an initial state, several different layouts can be usually
h 0.5;
achieved making the same number of reshuffles and some of them
end
can be more interesting than the rest according to other important
end
questions. In this case, since the transfer crane is located at the
for r 1 to numRows(s) do
right side of the yard-bay, we want to obtain a layout where it is
Dh 0;
minimized the distance of the goal containers to this side of the
if Height[r, s]> 4 then
yard-bay. Achieving this we can spend considerably less time dur-
if x-container/Clear(x, r) 2 s ^ GoalContainer(x) then
ing the truck loading operations.
Dh 0.5;
Following the heuristic function presented in Eq. (1):
else
Dh 1;
 h1(s) is the main heuristic function, which estimates the num-
end
ber of movements required to reach the goal layout (outlined
end
in Algorithm 1). Since this is the main optimization function,
for x-container/At(x, r) 2 s ^ GoalContainer(x) do
a value should be significantly higher than b.
if 9
= y-container/GoalContainer (y)^ On(y, x) 2 s then
 h2(s) is the secondary function we want to optimize. In this case,
Dh max (Dh, NumContainersOn(x));
it is just OC1d. This means the sum of the distances of the
end
selected containers to the right side of the yard-bay, which
end
can be computed as Algorithm 2 shows.
h h + Dh;
end
Algorithm 2. Pseudo-code to calculate the distance
Data: s: state to evaluate 4.3. OC1b: balancing one yard-bay
Result: d: distance value of s
d 0; In this section we present an extension for the heuristic h1
for r 1 to numRows(s) do (Algorithm 1) to include the balancing of the stacks within one
for x-container/At(x, r) 2 s ^ GoalContainer(x) do yard-bay as a requirement. It is considered that there is a sink
d d + (NumRows(s)  r); when the height difference between two adjacent stacks in the
end same yard-bay is greater than a maximum number of containers,
end in our case two containers.
Considering the time when the goal containers are removed
from the yard, we can distinguish three ways to get balanced one
The benefits of using this combined heuristic function can be yard-bay presented in the next subsections. The last mode is the
observed in Figs. 5 and 6. In the first one we want only to minimize consequence of applying the first two ones.
the number of reshuffles, i.e. h(s) = h1(s). In the second one, we also
want to minimize the distance of the selected containers to the 1. Balanced before loading operation: In this case, we consider
forklift truck, so we have set h(s) = 9 ⁄h1(s) + h2(s). As a result, none that the layout must be balanced before the goal containers are
of the selected containers (the red ones) are placed in the most left removed from that yard-bay. This function is showed in Algo-
rows, reducing the required time to load the truck. rithm 4, it compares the height of each row of the yard-bay with
the next one, and if the difference is higher than 2, the value
4.2. OC1t: allowing the 5th tier during the remarshalling process heuristic h is increased. As it appears in Fig. 7, this criterion
avoids the sinks in the final layout while all the containers are
In this optimization criterion as well as the next ones, we will still in the yard-bay.
include the new given heuristic value with the same factor as the
initial one. One of the decisions that must be done in Container However, when these containers are removed, it might cause
Terminals is about which cranes have to be bought depending on that the new layout is unbalanced as it happens in Fig. 7(c).
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 983

Fig. 5. Obtained plan with the initial domain-dependent heuristic.

Fig. 6. Obtained plan with the distance optimization function.

These values are employed to get the difference of height between


Algorithm 4. Pseudo-code to balance before the goal two adjacent stacks once the goal containers have been removed
containers are removed from the yard. Heights of each row are stored as soon as the
Data: s: state to evaluate; h: Initial heuristic; planner gets the final solution plan for one yard-bay. After we
Result: h: heuristic value of s; obtain these values, we increase the heuristic value h according
for r 1 to numRows(s)  1 do to whether or not there are goal containers on the floor. Then,
Dh Abs(Height[r, s]  Height[r + 1,s])  2; we use the values given by HeightsWithoutGoals to calculate the
if Dh > 0 then difference between two adjacent stacks, when this difference is
h h + Dh; higher than 2 we consider that there is a sink, so h is increased
end again.
end However, this process might also cause some unbalanced lay-
outs (Fig. 8(b)). But in this case, non-desirable layouts will appear
while the goal containers are in the yard-bay. Once they have been
2 Balanced after loading operation: In contrast to the method removed from it, these layouts will be balanced ones (Fig. 8(c)).
seen above, we can consider that the layout must remain bal-
anced after the goal containers are removed from the yard-bay. Algorithm 6. Pseudo-code to balance after the goal containers
Fig. 8 shows the layouts we get after execute the plan returned are removed
by our planner.
Data: s: state to evaluate; h: Initial heuristic;
Algorithm 5. Function HeightsWithoutGoals to calculate Result: h: heuristic value of s;
heights of each row without taking into account the goal HeightsWithoutGoals(s);
containers at the top Dh 0;
//Not allow containers on the floor
Data; b: state of the yard-bay;
for r 1 to numRows(s) do
Result: MinHeight, heights calculated;
if $x  container/On(x, r) ^ GoalContainer(x) then
for r 1 to numRows(b) do
if MinHeight[r, s] > 0 then
MinHeight[r, b] Height[r, b];
Dh Dh + NumContainersOn(x);
//Decrease till the first no goal-container
end
While MinHeight[r, b] > 0 ^
end
GoalContainer(MinHeight[r, b],r) 2 b do
end
MinHeight[r, b] MinHeight[r, b]  1;
h h + Dh;
end
for r 1 to numRows(s)  1 do
end
Dh Abs (MinHeight[r, s]  MinHeight[r + 1,s]);
if Dh > 2 then
h h + Dh  2;
Algorithm 6 shows this function. It uses the Function Heights-
end
WithoutGoals (Algorithm 5) in order to calculate for the yard-bay
end
b the height for each stack where the first no-goal container is.
984 M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989

3 Balanced before and after loading operation: Finally, we must be lower than a maximum (in our case lower than 3).
present an optimization criterion which obtains a layout Fig. 10 shows which rows must be get balanced when we con-
where is balanced both before and after the goal containers are sider one yard-bay and Fig. 11 left shows an example of non-
removed from this yard-bay. With this function we want to balanced yard-bays (rows in dotted points).
solve the problems seen in the last subsections as we can see  Dangerous containers: two dangerous containers must main-
it in Fig. 9. tain a minimum security distance. Fig. 11 right shows an exam-
ple of two dangerous containers that does not satisfy the
security distance constraint.
This function (Algorithm 7) is a mixture of the last two ones.
First, we increase h when there are goal containers on the floor.
These constraints interrelate the yard-bays so the problem must
When this is achieved, we increase h when the difference between
be solved as a complete problem. However, it is a combinatorial
the heights values obtained by the function HeightsWithoutGoals
problem and it is not possible to find an optimal or sub-optimal
(Algorithm 5) are higher than 2 for two contiguous rows. And final-
solution in a reasonable time. Following the previous philosophy
ly, if h value is low enough (in our case lower than 1), we increase h
of solving each subproblem independently (each yard-bay sepa-
again if the difference between the actual heights of two contigu-
rately), we can distribute the problem into subproblems and solve
ous rows is higher than 2.
them sequentially taken into account related yard-bays. Thus a
solution to the first yard-bay is taken into account to solve the sec-
Algorithm 7. Pseudo-code to balance the yard-bay before and
ond yard-bay. A solution to the second yard-bay is taken into ac-
after the goal containers are removed
count to solve the third yard-bay. Furthermore, if there exist a
Data: s: state to evaluate; h: Initial heuristic; dangerous container in a first bay, its location is taken into account
Result: h: heuristic value of s; to solve a dangerous container located in the third yard-bay (if it
HeightsWithoutGoals(s); exists); and so on. Taken into account this distributed and synchro-
Dh 0; nous model, we present two different optimization criteria to man-
// Not allow containers on the floor age these types of constraints.
for r 1 to numRows(s) do These two criteria are added to the heuristic function seen in Eq.
if $x  container/On(x, r) ^ GoalContainer(x) then (1) as h3 (Eq. (3)); and Eq. (4) shows the exact combination of them.
if MinHeight[r, s] > 0 then This makes possible to follow a criterion with major priority than
Dh Dh + NumContainersOn(x); the other one.
end
end h ¼ a  h1 þ b  h2 þ c  h3 ð3Þ
end h3 ¼ d1  OC nB þ d2  OC nD ð4Þ
h h + Dh;
if h < 2 then As a consequence of the solving mode followed, depending on the
Dh 0; order the yard-bays are resolved may not be possible to achieve a
// Balancing with containers which are not solution. Moreover, as mentioned in Section 4, although we want
objective to guarantee balancing and/or minimum distance between danger-
for r 1 to numRows(s)  1 do ous containers, during relocation of container process we will allow
Dh Abs(MinHeight[r, s]  MinHeight[r + 1,s]); the presence of non-desirable sates, e.g. with some sinks between
if Dh >2 then two contiguous rows or bays. These intermediate states are allowed
h h + 0.6  (Dh  2); because through them we will be able to get better solutions taking
end into account as metric function the number of reshuffles done.
end
if h < 2 then 5.1. OCnB: balancing contiguous yard-bays
// Balancing with containers which are objective
for r 1 to numRows(s)  1 do In this section we present an extension for the heuristic h1
Dh Abs(Height[r, s]  Height[r + 1,s]); (Algorithm 1) to include the balancing of continuous yard-bays
if Dh >2 then as a requirement. It is considered that there is a sink when a differ-
h h + 0.4  (Dh  2); ence higher than two containers exists between two adjacent rows
end in contiguous yard-bays. This criterion is an extension of the bal-
end anced heuristic presented in Algorithm 7, which avoids sinks in
end the same yard-bay (horizontal balance) both before and after the
end outbound containers have been removed from the yard. However,
in this case a sink represents a constraint between two subprob-
lems. Thus, we also consider that there is a sink when a difference
5. Optimization criteria for one block of two exits between the same row r in two contiguous yard-bays
(vertical balance).
This initial heuristic (h1) was unable to solve a complete yard or This process is showed in Algorithm 8. This also uses the Func-
block (in our case, one block consists of 20 yard-bays) due to the tion HeightsWithoutGoals (Algorithm 5) in order to calculate for the
fact that they only solve individual yard-bays. In this paper, we yard-bay b the height for each stack where the first no-goal con-
also have developed two optimization criteria that include new tainer is. Heights of each row are stored as soon as the planner gets
constraints that involve several yard-bays. These constraints are: the final solution plan for one yard-bay.
First, we apply the criterion seen in Algorithm 7 on the yard-bay
 Balancing contiguous yard-bays: rows of adjacent yard-bays b. Through heights’ calculated by Algorithm 5 and the real
must be balanced, that is, the difference between the number heights of the actual yard-bay we obtain the differences between
of containers of row j in yard-bay i and row j in yard-bay i  1 the row r and r  1 to calculate the value of h. When this value is
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 985

Fig. 7. Effects of using function seen in Algorithm 4.

Fig. 8. Effects of using function seen in Algorithm 6.

zero (the yard-bay b is horizontally balanced), then we introduce ences are higher than 2, we increase h proportionally. After that
our function to balance it with respect to the last yard-bay bl. To process, b will be balanced horizontally with respect to their rows,
do so, we must also calculate the heights’ through the Algorithm and vertically with respect to the last yard-bay. Repeating this pro-
5 over bl and use the real heights of it in order to obtain the differ- cess for each yard-bay in the block, this will be completely
ences between the row r situated in b and bl. When these differ- balanced.
986 M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989

Fig. 9. Effects of using function seen in Algorithm 7.

Algorithm 8. Pseudo-code to balance two adjacent yard-bays


Data: b: state of the actual yard-bay; h: Initial heuristic; bl:
last yard-bay;
Result: h: heuristic value of b
// Getting the balance horizontally
HeightsWithoutGoals(b);
h h + BalBeforeAfter(b);
// This heuristic will be executed after a partial
solution
if h < 1 ^ NumBay(b) – 1 then
Dh 0;
HeightsWithoutGoals(bl);
// Balancing with containers which are not
objective
Fig. 10. Balancing scheme.
for r 1 to numRows(b) do
Dh Abs(MinHeight[r, bl]  MinHeight[r, b]);
if Dh >2 then
If they do not satisfy certain restrictions, it may become a hazard
h h + 0.6  (Dh  2);
situation for the yard since e.g. if one of them explodes and they
end
are not enough far between them, it will set off a chain of
end
explosions.
if h = 0 then
With this added objective, the next optimization criterion (Al-
// Balancing with containers which are objective
gorithm 9) ensures a minimum distance (Dmin) between every
for r 1 to numRows(b) do
two dangerous containers (Cd) in the yard. Dmin is set as one para-
Dh Abs(Height[r, bl]  Height[r, b]);
meter for the planner and the distance is calculated as the Eucli-
if Dh >2 then
dean distance, considering each container located in a 3-
h h + 0.4  (Dh  2);
dimensional space (X, Y, Z) where X is the number of yard-bays, Y
end
is the number of rows and Z is the tier.
end
Generally, in container terminals, at most, there is only one dan-
end
gerous container in two contiguous yard-bays, so that we take into
end
account this assumption in the development of this function.
This function increases h value when a dangerous container Cd1
exists in a yard-bay b and the distance constraints between dan-
5.2. OCnD: dangerous containers gerous containers are not hold. Thereby, for each dangerous con-
tainer Cd2 allocated in the previous Dmin yard-bays is calculated
Within a block, there are different types of containers depend- by Euclidean distance to Cd1. If this distance is lower than Dmin,
ing on the goods they transport, being some of them dangerous. for any dangerous container Cd2, then h value is increased with
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 987

Fig. 11. (Left) non-balanced yard-bays. (Right) proximity of two dangerous containers.

the number of containers n on Cd1 because it indicates that remov- ⇑ (continued)


ing those n containers is necessary to reallocate the container Cd1.
Algorithm 10. Sinks within a whole block

Algorithm 9. Pseudo-code to avoid locating two dangerous for r 1 to numRows(b) do


containers closer to a distance Dmin Dh Abs (Height[r, b]  Height[r, b  1]);
if Dh >2 then
Data: B: whole block; b: state of the actual yard-bay; h: Initial
nSinks nSinks + 1;
heuristic; Dmin: Minimum distance;
end
Result: h: heuristic value of b;
end
nBay NumBay(b);
end
if nBay >1 ^ $Cd1 2 b then
end
Dh 0;
L1 Location(Cd1);
foreach
bl 2 Y/NumBay(bl) 2 {max (nBay  Dmin + 1,1), nBay  1} Algorithm 11. Unfeasible relationships between two
do dangerous containers within a whole block
if $Cd2 2 bl then
L2 Location(Cd2); Data: B: whole block;
dist EuclideanDistance(L1, L2); Result: nDang: number of Sinks;
if dist < Dmin then nDang 0;
Dh Dh + NumContainersOn(Cd1); for b 1 to numYards(B) do
if Clear(Cd1) 2 b then nBay NumBay(b);
Dh Dh + 0.1(Dmin  dist); if nBay > 1 ^ $Cd1 2 b then
end L1 Location(Cd1);
end foreach bl 2 Y/NumBay(bl) 2
end {max (nBay  Dmin + 1,1), nBay  1} do
end If $Cd2 2 bl then
h h + Dh; L2 Location(Cd2);
end dist EuclideanDistance(L1, L2);
if dist < Dmin then
nDang nDang + 1;
end
Algorithm 10. Sinks within a whole block end
Data: B: whole block; end
Result: nSinks: number of Sinks; end
nSinks 0; end
for b 1 to numYards(B) do
for r 1 to numRows(b)  1 do
Dh Abs(Height[r, b]  Height[r + 1,b]);
6. Evaluation
if Dh >2 then
nSinks nSinks + 1;
In this section, we evaluate the behavior of the heuristic with
end
the set of optimization criteria presented in this paper. The exper-
end
iments were performed on random instances. A random instance
if NumBay(b) >1 then
of a yard-bay is characterized by the tuple hn, si, where n is the
988 M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989

number of containers in a yard-bay and s is the number of selected Table 3


containers in the yard-bay. Each instance is a random configura- Number of solved problems hn, 4i with 4 and 5 tiers during the
process.
tion of all containers distributed along six stacks with 4 tiers. They
are solved on a personal computer equipped with a Core 2 Quad Instance 4 tiers h1 5 tiers OC1t
Q9950 2.84 Ghz with 3.25 Gb RAM. h19, 4i 100 100
First, we present a comparison between our basic domain h20, 4i 100 100
dependent heuristic h1 against a domain independent one (Metric h21, 4i 95 99
h23, 4i 3 84
FF). Thus, Table 1 presents the average running time (in millisec-
onds) to achieve a first solution as well as the best solution found
(number of reshuffles) in 10 s for our domain-dependent planner
and the average running time (in milliseconds) and the quality of there are less positions or gaps where containers could be
the solution for Metric FF. Both planners have been tested in prob- remarshalled.
lems hn, 4i evaluating 100 test cases for each one. Thus, we fixed  Allowing movements to the 5th helps us to solve more prob-
the number of selected containers to 4 and we increased the num- lems. It is remarkable with instances h23, 4i with H1 only three
ber of containers n from 15 to 21. problems could be solved, however OC1t solves 84 over 100
It can be observed that our new domain-dependent heuristic is problems.
able to find a solution in a few milliseconds, meanwhile the do-
main-independent planner (Metric FF) needs much time for finding Last criterion for solving problems where we only take into ac-
a solution and also, this solution needs more moves to get a goal count one yard-bay is showed in Section 4.3. As we mentioned in
state. Furthermore, due to the fact that our tool is an anytime plan- this section, since the last function (Algorithm 7) presents the best
ner, we evaluate the best solution found in a given time (10 s). results after the whole process of remarshalling, we do the com-
Now we show the effects of using each one of the criteria de- parison in Table 4 among the solutions given by Metric FF planner,
scribed in Section 4 separately. In Table 2, we present the average the initial one h1 and OC1b (Both) in 50 test cases. These results are
sum of distances between the selected containers and the right the average of the best solutions found given a time limit of 1 s for
side of the layout in both our domain-independent heuristic and the instances of both h15, 4i and h17, 4i .
our domain-dependent heuristic with distance optimization for Sinks are calculated by Algorithm 10. As we mentioned above,
problems hn, 4i. As mentioned above, we fixed the number of se- we consider that there is a sink where the difference in tiers be-
lected containers to 4 and we increased the number of containers tween two adjacent rows is higher than 2. Thereby, in this algo-
n from 13 to 21. It can be observed that distance optimization func- rithm we are counting sinks produced between two contiguous
tion helps finding solution plans that place the selected containers stacks at the same yard-bay as well as between two rows in one
closer to the cargo side of the yard-bay. yard-bay and the previous one. This process takes into account
Applying the criterion or function showed in Algorithm 3 we the goal containers in final yard-bays.
obtain the results appeared in Table 3. These results are the com- From here we realize an evaluation for the criteria presented in
parison between the number of solved problems over 100 prob- Section 5. Table 5 shows the performance of the criteria for solving
lems hn, 4i using or not that criterion in just one second. Through the whole block of yard-bays. These experiments were performed
this table we can conclude that: in blocks of 20 yard-bays and each one of them are instances
h15, 4i . This evaluation was carried out in a yard with 2 blocks
 The greater number of containers, the fewer problems are of 20 yard-bays. Thus, the results showed in Table 5 represent
solved. This is because as we increase the number of containers the average number of reshuffles, the average number of sinks gen-
erated along the block and the average number of unsatisfied dan-
gerous containers. Results given by these optimization criteria are
the average of the best solutions found in 10 seconds.
Table 1 The number of unfeasible relationships between dangerous
Average number of reshuffles and running time of MetricFF and h1 in problems hn, 4i .
containers is calculated by means of Algorithm 11. Basically, we
Instance Metric FF Heuristic (h1) look for those pairs of dangerous containers whose distance be-
Running Solution Time first Best Solution tween them is shorter than minimum distance (Dmin).
time solution in 10 s
h13, 4i 22 3.07 2 3.07
h15, 4i 3102 4.04 5 3.65
Table 4
h17, 4i 4669 5.35 11 4.35
Average number of movements, sinks and time for the first solution in problems
h19, 4i 6504 6.06 22 4.72
h15, 4i (1) and h17, 4i (2) using or not balanced heuristics.
h20, 4i 22622 7.01 33 5.22
h21, 4i 13981 6.82 62 5.08 Metric FF h1 OC1b
(1) (2) (1) (2) (1) (2)
Reshuffles 3.72 4.24 3.42 3.72 4,76 5.04
Sinks 0.62 0.50 0.94 0.66 0 0
Table 2
Time first 2621 2961 5 9 32 44
Average distance obtained by considering distance or not in our domain-dependent
heuristic hn, 4i with 4 tiers.

Instance Metric FF OC1d


Distance Reshuffles Distance Reshuffles
Table 5
h13, 4i 11.28 3.07 10.91 3.07 Average results with blocks of 20 yard-bays each one being a h15, 4i problem.
h15, 4i 10.60 4.04 9.21 3.65
Metric FF h1 OCnB OCnD OCN
h17, 4i 10.58 5.35 8.87 4.46
h19, 4i 12.28 6.06 8.33 4.85 Reshuffles 3.65 3.38 4.85 4.00 5.65
h20, 4i 12.71 7.01 7.75 5.55 Sinks 18.00 29.50 0 40.33 0
h21, 4i 12.20 6.82 8.22 5.33 Non-safe dangerous 16.00 7.50 8.00 0 0
M. Rodriguez-Molins et al. / Expert Systems with Applications 39 (2012) 978–989 989

In this table, it can be observed that h1 still outperforms Metric Acknowledgment


FF in the average number of reshuffles. However, due to the fact
that they do not take into account the balancing constraints, Metric This work has been partially supported by the research projects
FF generated an average of 18.00 sinks in the block of yard-bay and TIN2010-20976-C02-01 (Min. de Ciencia e Innovación, Spain), P19/
h1 generated and average of 29.50 sinks. And the same thing hap- 08 (Min. de Fomento, Spain-FEDER) and the VALi+d Program of the
pens for the average number of unfeasible constraints for danger- Conselleria d’Educació (Generalitat Valenciana), as well as with the
ous containers, Metric FF gives us 16.00 and h1 obtains 7.50. collaboration of the maritime container terminal MSC (Mediterra-
Taking into account that OCN is a junction of OCnB and OCnD, both nean Shipping Company S.A.).
OCnB and OCnD solved their problems, that is, OCnB obtained its solu-
tions with no sinks and OCnD obtained its solutions by satisfying all References
dangerous constraints. Furthermore, OCN was able to solve its
problems by satisfying both types of constraints. However we Chen, S.-H., & Chen, J.-N. (2010). Forecasting container throughputs at ports using
genetic programming. Expert Systems with Applications, 37(3), 2054–2058.
could state that balancing problem is harder than the problem re- Chuang, T.-N., Lin, C.-T., Kung, J.-Y., & Lin, M.-D. (2010). Planning the route of
lated to dangerous containers because OCnB needs more reshuffles container ships: A fuzzy genetic approach. Expert Systems with Applications,
to obtain a solution plan than OCnD. Moreover, we observe with 37(4), 2948–2956.
Ghallab, M., Howe, A., Knoblock, C., McDermott, D., Ram, A., Veloso, M., Weld, D.,
OCnB, OCnD and OCN ensure the established requirements however Wilkins, D. (1998). PDDL – the planning domain definition language. AIPS-98
the average reshuffles is increased with respect to h1. Planning Committee.
Hatzi, O., Vrakas, D., Bassiliades, N., Anagnostopoulos, D., & Vlahavas, I. (2010). A
visual programming system for automated problem solving. Expert Systems with
7. Conclusions Applications, 37(6), 4611–4625.
Henesey, L. (2006). Overview of Transshipment Operations and Simulation. In
This paper presents domain-dependent heuristics and a set of MedTrade conference, Malta, April (pp. 6–7).
Hoffman, J., & Nebel, B. (2001). The FF planning system: Fast planning generation
optimization criteria for solving the Container Stacking problem through heuristic search. Journal of Artificial Intelligence Research, 14, 253–302.
by means of planning techniques from Artificial Intelligence. We Hoffmann, J. (2003). The metric-ff planning system: Translating ignoring delete lists
have developed a domain-dependent planning tool for finding to numeric state variables. Journal of Artificial Intelligence Research, 20(1),
291–341.
optimized plans to obtain an appropriate configuration of contain- Kim, K., & Bae, J. (1998). Re-marshaling export containers in port container
ers in a yard-bay. Thus, given a set of outgoing containers, our terminals. Computers and Industrial Engineering, 35(3–4), 655–658. selected
planner minimizes the number of necessary reshuffles of contain- Papers from the 22nd ICC and IE Conference.
Kim, K., & Hong, G. (2006). A heuristic rule for relocating blocks. Computers and
ers in order to allocate all selected containers at the top of the
Operations Research, 33(4), 940–954.
stacks. The proposed planner is able to satisfy both balancing con- Kim, K., Park, Y., & Ryu, K. (2000). Deriving decision rules to locate export containers
straints and keeping a security distance among dangerous contain- in container yards. European Journal of Operational Research, 124, 89–101.
Kim, K. H. (1997). Evaluation of the number of rehandles in container yards.
ers, as well as reducing the distance of the goal containers to the
Computers and Industrial Engineering, 32(4), 701–711. new Advances in Analysis
cargo side or allowing a fifth tier during the remarshalling process. of Manufacturing Systems.
Additional criteria have been defined for management of blocks Lee, Y., & Hsu, N.-Y. (2007). An optimization model for the container pre-
of yard-bays. However, as the problems involve a larger number of marshalling problem. Computers and Operations Research, 34(11), 3295–3313.
Park, K., Park, T., & Ryu, K. (2009). Planning for remarshaling in an automated
constraints, the solution becomes harder and the number of container terminal using cooperative coevolutionary algorithms. In Proceedings
reshuffles increases. Due to the fact that a solution of a yard-bay of the 2009 ACM symposium on applied computing (pp. 1098–1105). ACM.
influences on the solution of the following yard-bay, the order of Salido, M., Sapena, O., & Barber, F. (2009). What is better: 4 tiers or 5 tiers in the
container stacking problem? In The International workshop on harbour, maritime
solving the yard-bays will vary and determine the minimal number and multimodal logistics modelling and simulation.
of reshuffles. Salido, M., Sapena, O., Rodriguez, M., & Barber, F. (2009). A planning tool for
This proposed planner with a domain-dependent heuristic al- minimizing reshuffles in containers terminals. In ICTAI 2009: 21st international
conference on tools with artificial intelligence.
lows us obtaining optimized and efficient solutions. This automatic Sapena, O., & Onaindı´a, E. (2002). Domain independent on-line planning for strips
planner can help to take decisions in the port operations dealing domains. In Proceedings of IBERAMIA-02, 2527 (pp. 825–834).
with real problems. Moreover, it can help to simulate operations Stahlbock, R., & Voß, S. (2008). Operations research at container terminals: A
literature update. OR Spectrum, 30(1), 1–52.
to obtain conclusions about the operation of the terminal, evaluate
Vis, I., & De Koster, R. (2003). Transshipment of containers at a container terminal:
alternative configurations, obtain performance measures, etc. Par- An overview. European Journal of Operational Research, 147, 1–16.
ticularly, in Salido et al. (2009) the proposed planner has been ap- Winograd, T. (1971). Procedures as a representation for data in a computer program
for understanding natural language. MIT. Cent. Space Research, Cambridge, MA.
plied for obtaining an evaluation of alternative 4 or 5 tiers stacks
configuration.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy