Professional Documents
Culture Documents
Decision Making.
Alex Goussiatiner, P. Eng., M. Sc., Senior Container Terminal and Transportation Specialist,
Sandwell Engineering Inc., Vancouver, Canada
An effective ship unloading plan is a crucial element in the successful operation of any
marine container terminal. Depending on the current situation at the terminal, the ship
planners prioritize all container categories to be unloaded and the computer system
instantly provides the unloading sequence for the crane operators. In an ideal unloading
sequence, all first priority containers go out first, followed by second priority containers,
etc. In reality, an ideal sequence is not always achievable. Containers are randomly
stowed in the bays and often in order to retrieve containers with the higher priority it is
necessary to retrieve containers with lower priority first. The planning model developed
in this paper is based on multiple criteria with lexicographic ordering for sequence
evaluation and effective informed search procedure. This model can easily be applied to a
variety of inventory tasks related to stowage/stack unloading and in general to any multi-
step process evaluated by such multiple criteria.
Introduction
Container ships are loaded and unloaded by section (bays) as shown in Fig 1. Ship
planners are required to plan the sequence of bays for operations as well as the unloading
and loading plans for each bay. The planning model described in this paper makes
unloading sequences for bays. Each container in a bay can belong to only one allocation
category and each allocation category has a priority level with 1 being the highest,
followed by 2, etc. These priorities are identified by a planner depending upon additional
information such as train schedules, the yard situation, etc. at the time of unloading. . In
reality, an ideal sequence is not always achievable. Containers are randomly stowed in
the bays and often in order to retrieve containers with the higher priority it is necessary
to retrieve containers with lower priority first. (Figure 1: the category is in the lower right
comer of each cell, the sequence number is denoted in each upper left corner). Therefore
the planner attempts to make a sequence so as to approximate the ideal.
Figure 1. Unloading Sequence
For now our intention is to describe verbally the optimal sequence in such a way as to
allow us the construction of a formal planning model. An optimal sequence should entail
the minimum moves necessary to unload the first container of first priority, the minimum
moves necessary to unload the next container of first priority, etc. This is the main
planning objective, but there are always a number of variants which will achieve this
objective. Which sequence is the best? To answer this question, we should obviously take
into account containers of second priority, then third priority and so on. Therefore, when
defining the optimal sequence, the following conditions are to be taken into account:
• What are the minimum moves necessary to discharge the first container of first
priority?
• What are the minimum moves necessary to discharge the second container of the
first priority?
• What are the minimum moves necessary to discharge the first container of the
second priority?
• What are the minimum moves necessary to discharge the second container of the
second priority?
• etc.
Multiple Criteria
If m is less than the number of units in the bay n then the sequence is incomplete,
otherwise it is complete.
First let us compare sequences one pair at a time. For any pair, say s1 and s 2 , one and
only one of the following can occur:
s1 s2 : s1 is preferred to s2 ;
s1 ≺ s2 : s1 is less preferred than s2 ;
s1 ∼ s2 : s1 and s2 are of equal preference;
s1 ? s2 : preference between s1 and s2 is unknown
Assume that each unloading sequences s is evaluated according to the next multiple
criteria vector:
Where y jp - sequential number on s for the j -th container with priority p if the
unit has been determined in s otherwise y jp equal #.
Let us consider that the k -th component of Y = ( y1 ,..., yk ,..., yn ) is overwhelmingly more
important then the (k + 1) -th component for k ∈ {1,..., n − 1} . (This approach is called
lexicographic ordering [1] .)
• s1 ? s2 otherwise
Example 1. Let us compare four sequences for the unloading bay in Fig. 2 (the first two
sequences are complete, the last two are incomplete) and present multiple criteria for
each of them in Fig 3. If we compare the evaluation vectors, we can define preference
relations between all of them as shown in Fig. 4.
1 2 3
1 2 3
1 1 1
s1 s2 s3 s4
s1 ∼ ≺ ≺ ≺
s2 ∼ ?
s3 ? ∼ ?
s4 ≺ ? ∼
, so that whenever
( s1 , s2 ) ∈ P{} , s1 s2
, for every ( s1 , s2 , s3 ) ∈ S
Remark 1. As you can see from Example 1, P{} is transitive, but P{?} is not. For
example ( s2 , s3 ) ∈ P{?} and ( s3 , s4 ) ∈ P{?} but ( s2 , s4 ) ∉ P{?}
Definition 6. As discussed before, an ideal sequence occurs when every container goes
out according to its priority level. So the ideal sequence for the bay with n containers
would be the one which has multiple criteria:
Y = (1, 2,3,..., n) .
Obviously this sequence is preferred to any other sequence but it can rarely be realized.
For example, it cannot be realized for the bay on Fig. 2 because some first priority
containers are covered from above by second and third priority containers.
Remark 2. This definition certainly does not prohibit that case where there are a number
of equal goal sequences.
Proof. Simply by definition of multiple criteria (Def. 3), if any member of Y has already
been set for the incomplete sequence it will stay unchanged for the complete sequence.
Theorem 1. If f1 and f 2 are two incomplete sequences and f1 f 2 , then for any
complete sequences s1 and s2 developed from f1 and f 2 respectively s1 s2
(1) y1 ( f1 ) < y1 ( f 2 ) .
According to Lemma 1 :
y1 ( s1 ) = y1 ( f1 )
y1 ( s1 ) = y1 ( f 2 )
According to Remark 2:
yq ( s1 ) = yq ( f1 ) and yq ( s2 ) = yq ( f 2 ) for q ∈ {1,..., k − 1}
s1 s2
Let us call the very first undetermined member of the multiple criteria the leader and
denote it with a question mark.
Theorem 2. Let us assume that f is an incomplete sequence with m members and the
k -th member of Y ( f ) is a leader member. Then any complete sequence s1 which has the
k -th member determined by step m + 1 ( yk ( s ) = m + 1 ) is preferred to any complete
sequence s2 developed from f which has the k -th member determined by the later step
yk ( s ) > m + 1 .
Thus:
yq ( s1 ) = yq ( s2 ) for q ∈ {1,..., k − 1}
As we assumed:
yk ( s1 ) = m + 1;
and
yk ( s2 ) > m + 1;
Thus we established: yk ( s1 ) < yk ( s2 ) .
Remark 6. These theorems are not true exclusively for the evaluation of unloading
sequences. In general, they can be used for any multi-step process evaluated by multiple
criteria with lexicographic ordering (Def . 3).
Theorems 1 and 2 allow creation of the effective informed tree search heuristic, which
allows finding of the goal sequence s * .
Search Tree
• An arc presents a fragment of unloading sequence which is being applied to the
ancestor node.
• A node presents evaluation criteria for that part of the unloading sequence which
has been determined in a path from the root node to the node in question. Each
node also contains a description for those containers remaining in the bay. This
description we will call state.
• A terminal node is a node where the sequence is complete (all members of the
evaluation criteria have been determined),
• A goal node is a terminal node whose corresponding sequence is preferred to that
of any other terminal node on the tree.
Control Strategy
The strategy which defines the rules for raising the search tree and finding the goal node
can be presented as seen in Procedure 1.
begin
Create a search tree, G , consisting solely of the node Root
Y ( Root ) ::= (#, #,..., #)
Put Root on list called Open
Barrier ::= Root
while Open is not empty do
n ::= first member from Open
Remove n from Open
if n Barrier or n ? Barrier then
if n can be accumulated then
Create node n *
Install n * on G
else
n* ::= n
end
Barrier ::= n *
if n * is not a terminal node then
Expand node n * , generating, the set M of its successors
and install them as successors of n * in G .
while M is not empty do
m ::= first member from M
Remove m from M
if m Barrier or m ? Barrier then
Barrier ::= m
Put m on Open
end
loop
end
end
loop
Define Goal as a sequence obtained by tracing a path from Root
to Barrier in G .
end
There is a set of rules which is used in the procedure to prevent the creation of
unnecessary nodes:
• In every step of the search procedure the barrier node is determined. This node
presents a temporary lower level limit for the search because it is preferred to or
has unknown preference relations with any other node that has been created thus
far. So before we create a new node or expand an existing one, we compare it
with the barrier. If the node is not preferred to the barrier, then according to
Theorem 1 we can put it aside as it is not a prospect.
• Before we expand any prospective node, we analyze the state for this node and
determine if it is possible to find a container which will immediately define the
leader member. As we demonstrated in Theorem 2, all other continuations would
be less preferred and can therefore be ignored. We create a new node which
accumulates all such containers and then expand this node.
• When we expand a node, we determine the leader member in the multiple criteria
and then search all state columns in order to fill up the leader member. When a
column with such a container is found, we include the container in the sequence
and determine the multiple 9 criteria for the prospective node. Finally, we
compare the node with the barrier and decide whether to put it into the Open list
or to put it aside.
Example 4. In Fig. 5, we presented a search tree for the bay in Figire 2. As you can see,
the multiple criteria for the root node (1) contains only undetermined members, and the
bay description is the original. When the search procedure creates new nodes, the
multiple criteria become more determined, and the number of containers in the bay
diminishes. Finally, you can see the goal node (7).
Figure 5
Conclusion
With respect to container ship unloading, this approach allows us to provide unloading
sequences similar to those manually prepared by ship planners. The search procedure is
quite efficient, so ship planners can specify priority and instantly see the results. In
general, this search procedure can be used for any multi-step plans that can be evaluated
by multiple criteria with lexicographic ordering.
References
1. P. L. Yu (1989) Multiple Criteria Decision Making: Five Basic Concepts, In
Optimization 1993 (G. L. Nemhauser, A. H. G. Rinnooy Kan, M. J. Todd Eds.),
vol. I, pp.663-699. NHC, North-Holland.