Thesis Douma, Albert
Thesis Douma, Albert
Albert Douma
This thesis is number D-114 of the thesis series of the Beta Research School for
Operations Management and Logistics. The Beta Research School is a joint
effort of the departments of Technology Management, and Mathematics and
Computing Science at the Technische Universiteit Eindhoven and the Centre
for Telematics and Information Technology at the University of Twente. Beta
is the largest research centre in the Netherlands in the field of operations man-
agement in technology-intensive environments. The mission of Beta is to carry
out fundamental and applied research on the analysis, design, and control of
operational processes.
Dissertation committee
Chairman Prof. dr. ir. E.J. de Bruijn (University of Twente)
Secretary Prof. dr. P.J.J.M. van Loon (University of Twente)
Promotor Prof. dr. ir. J.H.A. de Smit (University of Twente)
Assistant Promotor Dr. P.C. Schuur (University of Twente)
Members Prof. dr. E. Hagdorn-Van der Meijden (VU University)
Prof. dr. J. van Hillegersberg (University of Twente)
Prof. dr. A.G. de Kok (Eindhoven University of
Technology)
Prof. dr. S. Voß (University of Hamburg)
Prof. dr. ir. M.J.F. Wouters (University of Twente)
ISBN 978-90-365-2735-4
ALIGNING THE OPERATIONS OF
BARGES AND TERMINALS
THROUGH DISTRIBUTED PLANNING
PROEFSCHRIFT
door
en de assistent promotor:
Acknowledgements
Writing this thesis was a rich experience and a special opportunity to develop
both professionally and personally. For that, I owe a great deal of gratitude to
many people of whom I like to mention a few in particular.
First prof. Aart van Harten and Matthieu van der Heijden. Both put a lot
of energy in setting up this research project. Sadly, Aart got ill soon after I
was employed and passed away in December 2006. We still miss him. Due to
the illness of Aart several task in our department were rearranged. The result
was that prof. Jos de Smit and Peter Schuur took over my supervision.
I am grateful to prof. Jos de Smit for being my promotor, even after his
retirement. His great experience and keen sense of language greatly improved
my thesis. I thank Peter Schuur for his committed and personal supervision.
He taught me much and gave me many opportunities to take advantage of his
broad knowledge and experience in many fields. Peter, thanks a lot!
I thank Erwin Hans and Waling Bandsma for encouraging me, as Master’s
thesis supervisors, to consider a Ph.D. position. I am happy that they did so.
I thank my colleagues for the great working atmosphere and the nice activ-
ities after working hours. To my mind, only a few days passed without having
laughed. I thank Marco Schutten in particular for his help with developing the
off-line benchmark and being a sparring-partner. Special thanks also to Mar-
tijn Mes. Besides being a travel companion on two international conferences, I
valued much that he was always available for discussing and commenting ideas.
Thanks also to Rama Jagerman and Saskia Kuipers who helped me devel-
oping an alternative agent model (used in Chapter 7) and a realistic model of
the Port of Rotterdam.
Within my research I cooperated with several parties. In particular I thank
Initi8 B.V. for sharing their broad practical knowledge about the Port of Rot-
terdam. In addition, I thank prof. Jos van Hillegersberg for the pleasant coop-
eration and the possibilities to develop several initiatives, like the management
game. I also acknowlegde the financial support from Transumo.
Finally, special thanks to my parents for their patience and care in my life,
especially during the last four years. Pa en ma, dank jullie wel daarvoor!
Contents
1 Introduction 1
1.1 Introduction and motivation . . . . . . . . . . . . . . . . . . . . 1
1.2 Research objective . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Scope of the research and assumptions . . . . . . . . . . . . . . 10
1.4 Research questions and approach . . . . . . . . . . . . . . . . . 11
1.5 Related literature . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Performance evaluation 69
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Research approach . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3 Conceptual simulation model . . . . . . . . . . . . . . . . . . . 70
x Contents
5 Waiting profiles 93
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 The barge operator agent . . . . . . . . . . . . . . . . . . . . . 94
5.3 In between: simplified terminology . . . . . . . . . . . . . . . . 98
5.4 The terminal operator agent . . . . . . . . . . . . . . . . . . . . 98
5.5 Experimental settings . . . . . . . . . . . . . . . . . . . . . . . 103
5.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Bibliography 218
Appendices 229
Appendix
. . .A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Appendix
. . .B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Index 231
Samenvatting 235
Chapter 1
Introduction
Nevertheless, companies that are part of a supply chain have to align their op-
erations in one way or another. However, it seems that supply chain members
have difficulty to find coordination mechanisms through which they can align
the activities in the supply chain, especially in the absence of one powerful
player. The coordination mechanisms should allow for coordination in such a
way that synergy can be achieved, while at the same time the interest of each
of the companies is guaranteed satisfactorily. Traditionally, techniques to opti-
mize operational processes (the realm of Operations Research and Operations
Management) mainly focused on optimization for a single objective function
measuring the overall system performance (centralized optimization). This re-
quires that the objectives of all supply chain members can be rephrased to one
objective function, which in turn requires that companies agree on the weights
given to their respective interests. The latter is another difficult issue.
In this thesis we consider a specific problem -occurring in, among others, the
Port of Rotterdam (The Netherlands)-, which we call the barge handling prob-
lem (BHP). The problem is about aligning the operations of container barges
and terminals in a port. In the problem we deal with competitive actors that
have to cooperate, but only want to do so under specific conditions.
In Section 1.1.1 we explore the barge handling problem. Section 1.1.2 illus-
trates the relevance of the problem. Section 1.1.3 describes several factors that
complicate the design of a solution to the barge handling problem. In Section
1.1.4 we describe a few earlier studies to the problem. Finally, we describe in
Section 1.1.5 the outline of the chapter.
In the Port of Rotterdam, barges are used to transport containers from the
port to the hinterland, and vice versa. Every time a barge arrives in the Port
of Rotterdam it visits several terminals to load and unload containers. The
sequence in which a barge visits these terminals depends, among others, on the
availability of terminals. The availability of terminals, in turn, is depending on
other barges and sea vessels that have to be processed.
In the remainder of this thesis we will mainly talk about barge operators and
terminal operators. Barge operators are companies that offer and organize
barge container transportation services to and from the hinterland. These
companies usually do not own barges themselves, but contract barge companies,
which are companies that own and operate barges. Terminal operators are
companies that operate a terminal. Terminals are used for the transshipment
and temporary storage of containers.
Nowadays, barge and terminal operators try to align their activities by making
appointments. These appointments are made by telephone, fax, and e-mail.
1.1. Introduction and motivation 3
The barge operator usually initiates the communication with the terminal op-
erators, to determine the most convenient rotation (sequence of terminal vis-
its) for the barge concerned. The barge operator makes these appointments
together with the stowage plan, i.e., the plan indicating the locations of all
the containers on a ship, since the sequence in which terminals are visited de-
termines the sequence in which containers are (un)loaded. This implies that
appointments are sometimes made already one or two days in advance.
For a barge operator it is important that barges have short and reliable sojourn
times in the port. The uncertainty in the sojourn time of a barge in the port
nowadays is mainly determined by uncertain waiting and handling times at
terminals. Barge operators anticipate uncertainty by stowing their barges such
that they are able to deal flexibly with the actual waiting times at terminals.
For example, they stack containers with the same terminal destination on top
of each other, as much as possible. However, this flexibility is at the cost of
a high utilization degree. Moreover, the uncertain sojourn times require more
slack in the sailing schedules of barges, which means that a barge makes fewer
round trips to the hinterland.
do not always have enough capacity to pickup all the containers that were ini-
tially announced. Terminal operators then have to decide what to do with the
remaining containers at the quay.
As one can see, the current alignment process leads to several inefficiencies for
both barge and terminal operators. In the past, attempts have been made to
establish a central trusted party that coordinates the activities of all barges and
terminals. It turned out that this was not an acceptable solution. Terminal
operators compete with each other (as do barge operators) and they are, e.g.,
reluctant to share information or to give up the autonomy over their operational
processes. In addition, there are several other factors that complicate the design
of a solution to the barge handling problem. We discuss these factors in Section
1.1.3. In Section 1.1.4 we mention some earlier initiatives to solve the barge
handling problem.
The barge handling problem is not only an issue in the Port of Rotterdam, but
also in ports such as the Port of Antwerp. Moreover, a similar problem as the
barge handling problem can be found for other types of cargo or ships, such as
the transportation of liquid bulk by short-sea vessels. These short-sea vessels
also have to visit a number of terminals in the port to load and unload liquid
bulk products. In this thesis we focus on the barge handling problem and we
illustrate it with our case of reference, i.e., the Port of Rotterdam.
In the next section we first give an impression of the urgency of the barge
handling problem in the Port of Rotterdam.
Since December 2007, the CBRB (an organization for employers and entrepre-
neurs in logistics and inland navigation) reports, in cooperation with several
barge operators, the so-called haven verblijfindex (the port sojourn index). For
the Dutch readers: CBRB stands for Centraal Bureau voor de Rijn en Bin-
nenvaart. The index denotes the average amount of time a container barge
sojourned in the port per move, i.e., per container transshipment. The aver-
age ‘haven verblijfindex’ in the first half year of 2008 was about 8 minutes for
Rotterdam and 7 minutes for Antwerp. By publishing sojourn times, barge
1.1. Introduction and motivation 5
Figure 1.1: Some press releases that appeared in 2006 and 2007 expressing the
problems in the Port of Rotterdam
In view of the growing competition among European ports, the increasing wait-
ing times at terminals in Rotterdam can affect the attractiveness of the port
in the long run. For liner shipping companies it is important that they can
transfer containers fast, reliably, and with short transit times. If the Port of
Rotterdam gets more and more congested, liner shipping companies might shift
their activities to other ports if they offer better services. However, other ports
in the Hamburg - Le Havre range also had difficulties in 2007 to process the
increasing container flows.
The above mentioned factors need to be taken into account when designing a
solution to make it acceptable for the actors concerned. Acceptance is possibly
even more important than optimization. Optimization is a difficult concept in
this context, since parties have different interests and have to make decisions
without full knowledge of the future.
The barge handling problem already emerged in the 1980’s, when the first
containers were transported by barge. The problem, however, became urgent
in the last ten years due to the rapid growth of container transportation. A
first study to investigate the bottlenecks in the barge handling process was
performed in 1998 (RIL Foundation, 1998). One of the results of this study
was a covenant between barge operators and the ECT terminals in which they
made agreements about the handling of barges at the ECT terminals and about
8 Chapter 1. Introduction
In the past, some ideas have been proposed to establish a central trusted party
to coordinate the activities of both terminals and barges. However, for rea-
sons described in Section 1.1.3 this turned out not to be an acceptable solu-
tion. Instead of a centralized approach, in 2003 the companies Initi8 B.V.
and Havenbedrijf Rotterdam B.V. took the initiative to investigate a distrib-
uted approach to the barge handling problem. The aim of the study -called
Approach 1- was to investigate the possibilities of a decentralized control
structure (Connekt, 2003; Melis et al., 2003; Schut et al., 2004). The focus was
on creating an off-line planning system, where barge rotations were planned
one day in advance and not updated during execution. The main concern was
to create feasible plans, meaning a major improvement in practice. From the
study it became clear that a decentralized control structure offers a promising
solution to the parties involved (Moonen et al., 2007).
One of the contributions of the Approach 1 study was the identification of the
causes of the problems in the barge handling process and the way these causes
are related/enforce each other. Connekt (2003) reports the following causes
(see also Moonen et al., 2007). The first cause is the inefficient use of terminal
capacity, rather than the terminal capacity itself. Second, actors include slack
in their operations since they expect delays and disturbances, which further
worsens the situation. Third, time slots at quays are unilaterally assigned by
terminals to barges and do not always correspond with the time requested
by the barge. This can result in infeasible rotations, e.g., when barges have
planned two terminal visits at the same time. Fourth, a long planning horizon
and poor administrative processes worsen the situation further. Summarizing
they conclude that terminal and barge operators keep each other ‘captive’ in
a situation of increasing waiting times and decreasing capacity utilization. All
actors try to protect themselves against the negative effects resulting from the
actions of others, but these protective actions hinder an improvement of the
overall situation.
The aim of this study is to develop and evaluate an efficient and effective distrib-
uted planning system for the barge handling problem -concerning the alignment
of container barge and terminal operations in a port-, and to gain insight in
the way the proposed system functions.
With efficient we mean the extent to which barge and terminal operators can
realize their objectives, given that decisions are made in real-time with min-
imum communication. Effective concerns the realization and implementation
of the solution in practice. Even if the developed distributed planning system
is efficient, if it is not acceptable to the players in the market, it will not be
implemented and can therefore not be effective. We call the distributed plan-
ning system also a Multi-Agent system. Evaluation of the distributed planning
(or Multi-Agent) system is done with respect to barge operator, terminal op-
erator, and other over-all objectives. We aim to make a comparison between
the distributed planning system and a central planning system, i.e., an off-line
benchmark. In addition, we consider different scenarios to gain insight in the
performance of the Multi-Agent system for different situations.
In our model we focus on the barge handling problem. We consider only con-
tainer barge and terminal operators as decision making actors. We assume that
both actors are opportunistic, meaning that they exploit opportunities for their
own benefit with no regard for the consequences for other players. Decisions
of both barge and terminal operators have to be made in real-time and we
assume that two barge operators never plan rotations simultaneously, but one
after another.
as the yard planning or the release of containers. Terminals handle both barges
and sea vessels. With respect to barges, we assume that terminals only have
information about barges that have been announced to the terminal, which is,
in our model, on arrival in the port. The service of a barge is not preempted
for the service of another barge. We abstract from individual containers and
assume that a barge just needs a certain amount of processing time at a ter-
minal to transship its containers. Terminals have fixed capacity and can have
restricted opening times, during which barges can be processed. Opening times
of terminals are fixed, i.e., no work is done in overtime. The time to handle a
container, the mooring time, and the sailing time between terminals are deter-
ministic. Sea vessels arrive with stochastic interarrival times at terminals and
processing takes a stochastic amount of time. Arrival times of sea vessels are
known to the terminal prior to the planning horizon. Sea vessels have absolute
priority over barges.
With respect to a barge we make the following choices and assumptions. Barges
arrive over time with stochastic interarrival times. On arrival in the port the
barge operator decides which rotation a barge is going to execute, i.e., one
must decide on the sequence in which the terminals concerned are visited. We
assume that the barge has information about the terminals it has to visit, the
number of containers it has to (un)load at each terminal, and the mooring
time at, and sailing time between, terminals. It has no information about
the state of the network, such as waiting times at terminals. We consider no
capacity or stowage constraints for the barge. Each barge visits a terminal
only once. We define closing of the terminal as preemptive downtime, and the
processing of a sea vessel as non-preemptive downtime. Preemptive downtime
means that the handling of a barge may start before the downtime and finish
after it (Schutten, 1998). Non-preemptive downtime means that the handling
of a barge may not be interrupted by a downtime.
We assume that all terminal operators have identical objectives. The same
holds for all barge operators. We do not explicitly consider disturbances in
our model, although we discuss the way disturbances can be introduced in our
model and how they will influence the performance of the system. Leaving
out disturbances in the operations of barges and terminals, allows for making
reliable appointments, since no unexpected delays occur.
Let us briefly describe the research approach we take to design and evaluate
our Multi-Agent system. In the design of our Multi-Agent system we aim to
develop a system that can be implemented in practice. For that, it is necessary
that the Multi-Agent system facilitates (near) optimization of the operations
of barge and terminal operators and is acceptable for them as well. Moreover,
the system has to facilitate real-time planning to deal with the dynamic nature
of the problem. We evaluate our Multi-Agent system by means of simulations.
Through simulation we can study the performance of the system as a whole,
as the result of the interactions of the parts. We study different variants of
our Multi-Agent system to evaluate the value of, e.g., exchanging less informa-
tion between terminal and barge operator agents. In addition, we construct
an off-line benchmark, which is a central optimization algorithm, to make a
comparison between the performance of a distributed planning system and a
central planning system. In our study we consider general (fictitious) port
settings and realistic settings of the Port of Rotterdam. To communicate our
solution to practice, we develop a game to see how practitioners respond to
the Multi-Agent system we propose. Through this we get insight whether the
solution we propose is an acceptable solution in practice.
14 Chapter 1. Introduction
The first related problem discussed is the berth allocation problem (BAP). It
concerns the assignment of berths to ships (for an overview, see, e.g., Cordeau
et al., 2005; Steenken et al., 2004; Stahlbock and Voss, 2008). However, there
are two major reasons why the BAP is not applicable to our problem. First, the
static and dynamic BAP is usually assumed to have expected arrival times of
ships as well as the processing times known at the time the berth plan is made
(see, e.g., Imai et al., 2001; Park and Kim, 2003; Cordeau et al., 2005; Imai
1.5. Related literature 15
et al., 2007). In our problem, however, arrival times of barges are uncertain and
terminals have to plan their quays taking into account possible future barge
arrivals. Second, the BAP considers the operations of a single terminal. In our
problem we deal with multiple terminals which are mutually depending on each
other due to the barges that, in general, have to visit more than one terminal.
This means that the arrival time of a barge at a terminal is also a result of
decisions made at other terminals.
A second related problem is the ship routing and scheduling problem (SR&SP).
For a recent overview we refer to Christiansen et al. (2004). SR&SPs are con-
sidered separately from similar problems in other transportation modes (such
as vehicle routing problems), due to the specific conditions under which ships
operate (Ronen, 1983). Although our problem can be considered as an SR&SP,
there are some major differences with the existing literature. First, the routing
of ships is mainly along ports instead of terminals within a port. Although this
seems a similar problem at a different level, the level of freedom in the order
in which ports are visited might be much more limited due to the geographi-
cal dispersion than this is the case within a port. Moreover, we need to take
into account the availability of berths, whereas the majority of literature in the
SR&SP only focuses on the route the ship sails and assumes that (when a port
or terminal is not closed) quay space is available to process the ship. Second,
nearly all papers that appeared in the field of SR&SP consider a static prob-
lem, i.e., all information is known in advance. Moreover, these problems are
solved using a single objective function, which is not an appropriate approach
for the barge handling problem. Within the literature of SR&SP, we like to
mention a contribution of Christiansen and Fagerholt (2002), who introduce a
service-time function to represent the expected service time of a ship during a
certain time horizon. The service-time function is influenced by the availability
of the port and used to calculate robust ship schedules. In our study we extend
the concept of a service-time function and apply it for the construction of barge
rotations.
A third related problem is the vehicle routing problem and especially the
attended home delivery problem (AHDP) (see, e.g., Campbell and Savels-
bergh, 2005; Campbell and Savelsbergh, 2006; Asdemir et al., 2008). In the
AHDP, a carrier offers attended deliveries of packages at the homes of cus-
tomers. An attended delivery means that a customer has to be present when
the package is delivered. To optimize the route the carrier travels, Campbell
and Savelsbergh (2006) consider incentive schemes to influence the preferred
time windows of a customer. We consider a similar problem, although we have
multiple carriers. We take explicitly into account the interest of the customer
(the terminal), who might want to plan carriers (barges) close to each other in
order to decrease the total time needed to be present ‘at home’. This makes
our problem different from the AHDP.
The HPSP is about the scheduling of patients which can have multiple ap-
pointments that have to be scheduled at different resources (see, e.g., Decker
and Li, 2000; Paulussen et al., 2003; Vermeulen et al., 2007). Especially in the
diagnostic phase, the sequence in which tests need to be done is relatively free.
This makes the HPSP comparable to the barge handling problem. However,
there is a major difference with respect to the arrival time of barges and pa-
tients. In our problem, barges sail from the hinterland to the port and are not
willing to delay their arrival time with days or weeks. In the HPSP, the arrival
time of patients at the hospital is still variable and part of the decision to make
the most convenient appointments from the patients’ perspective.
1.6 Contributions
Our study makes both a scientific and a practical contribution. We discuss
these contributions successively.
Our research has been supported by Transumo (see Section 2.8 for a descrip-
tion of the program). The objective of Transumo is to strengthen the com-
petitiveness of the Dutch transport sector (‘Profit’), and to preserve and im-
prove spatial and ecological (‘Planet’) and social (‘People’) aspects of mobility
(www.transumo.nl). Let us formulate the practical contribution of our study
in terms of planet, profit, and people. In our study we contribute to a more
efficient use of barge and terminal resources. This leads to a reduction of the op-
erational costs for barge and terminal operators (profit), to less environmental
damage (planet), and to a reduction of the costs of hinterland container trans-
portation, which is interesting for the shipper (people). We also contribute to
a more reliable barge hinterland container transportation. This allows for opti-
mization of the operations of barge and terminal operators (profit) and higher
customer satisfaction (people). Finally, we automate the negotiation between
barge and terminal operators, so that they have more time to work on the
non-routine tasks and have to spend less time on recovering from all kinds of
disturbances that take place (people).
Ch 1 Introduction
Ch 3 Decentralized planning:
analysis and design choices
Chapter 2
2.1 Introduction
In this chapter we describe the background of the barge handling problem. In
Section 2.2 we describe briefly the history and prospects of global container
transportation. In Section 2.3 we try to give insight in the door-to-door trans-
portation of a container by describing the role of liner shipping companies as
deep-sea transportation provider. In Section 2.4 we describe the role of the
Port of Rotterdam for container transshipment and in Section 2.5 the roles of
barges in the hinterland container transportation. Transshipment is the trans-
fer of a good from one conveyance to another for shipment. The hinterland is
defined as an inland area supplying goods to and receiving goods from a port.
In Figure 2.1 we illustrate the relation between the Sections 2.3, 2.4, and 2.5.
We place these roles in a historical context and describe developments that are
observed and expected in the container sector by academia and practitioners.
Sea port
Figure 2.1: The container flows from sea to the hinterland and vice versa
In Section 2.6 we focus on the barge handling problem in the Port of Rot-
22 Chapter 2. Background of the barge handling problem
The growth that has taken place in container transportation is impressive. The
total number of TEU (twenty feet equivalent unit) passing the Port of Rotter-
dam has grown from 360,000 TEU in 1970 to 10.8 million TEU in 2007. In
the period 1996 to 2006, the increase in TEU transshipped is 94%. For the
period 2006-2020 an additional growth is expected of 64% to 15.9 million TEU
in 2020 (Gemeente Rotterdam, 2004). From the containers transshipped in
2007 in the Port of Rotterdam, about 75% had a hinterland origin or destina-
tion (www.portofrotterdam.com). The remaining part is sea-sea transshipment.
With respect to the hinterland container flows, the Port of Rotterdam reports
a growth of 38% in the period 2003-2007.
1980 to about 14,500 TEU in 2006 (ESPO, 2007). The increase in vessel sizes
also leads to an increase in call sizes at terminals, which has a major impact
on the terminal facilities and hinterland transportation (Visser et al., 2007). A
call size denotes the number of containers a barge or sea vessel has to load and
unload at a terminal.
The increase in container flows has not been without consequences for the port
and related facilities. Currently the major deep-sea terminals have reached
their maximum capacity, which leads to delays in the transit times of containers.
This affects especially the hinterland transportation means (truck and barge),
who face long waiting times at terminals (see, e.g., Nieuwsblad Transport,
2007a). To be able to cope with the increased container flows, the Port of
Rotterdam plans to build the Tweede Maasvlakte. This is a new container
terminal area close to the sea where most of the container handling will take
place. The transport of these containers to the hinterland via the existing
infrastructure, especially road and rail, will form a serious challenge.
2.3.1 Business
The core business of liner shipping companies (carriers) is the ocean going
transport of containers (CBRB, 2003). However, liner shipping companies
sometimes also organize the hinterland transportation of containers. The situa-
tion that a liner shipping company only takes care of the ocean transportation
is called merchant haulage. The merchant, which is the customer of the liner
shipping company, then organizes the hinterland transportation. The situation
that a liner shipping company organizes the door-to-door transportation of a
container is called carrier haulage. In that case the liner shipping company
organizes both the hinterland and the ocean transportation of the container.
The two situations, carrier and merchant haulage, result in different contrac-
tual relationships between the liner shipping company, the merchant or the
shipper, the terminal operator, and the barge operator.
The terminal is always contracted by the liner shipping company. In this con-
tract the liner shipping company and the terminal make agreements about
the transshipment of a certain amount of containers from a deep-sea vessel on
a successive hinterland modality (truck, rail, or barge) and vice versa. The
barge operator, on the other hand, is contracted by a carrier (in case of carrier
24 Chapter 2. Background of the barge handling problem
2.3.2 History
Liner shipping companies have played an important role in intercontinental
trade and the adoption of containerized transportation. Until the 1980s, the
profits of liner shipping companies were relatively safe, since the powerful liner
conferences looked after freight rates. These liner conferences were started
in 1875. The advent of steam ships gave ship owners the possibility to offer
regular scheduled services. To protect their business, ship owners established
cartels (liner conferences) to control freight rates and the entrance of new ship-
ping companies. These conferences have granted protection from national and
international anti-trust legislations, because of their importance in realizing
freight rate stability and traffic regulation (Franck and Bunel, 1991).
Motivations for designing alliances are several, but mainly to secure economics
of scale, to achieve critical mass in the scale of operation, and to maintain local
and global market share (Glaister and Buckley, 1996; Ryoo and Thanopoulou,
1999). In today’s business, liner shipping companies have developed a strong
focus on reducing costs, while maintaining service levels in terms of sailing fre-
quency, number of ports visited, reliability of the schedule, and transit times
(Notteboom, 2004). Short transit times are necessary to offer attractive ser-
vices, and reliable schedules are important to guarantee transit times. Notte-
boom (2007) states that a delay of a large container vessel holding 4,000 TEU
with one day amounts for at least 57,000 euro.
service network. The main reason is to secure transit times and schedule re-
liability, by guaranteeing transshipment capacity in ports (Notteboom, 2007).
AP Møller - Maersk has, e.g., besides liner ships also several dedicated ter-
minals (APM terminals), which means that APM terminals primarily handle
containers shipped with Maersk Line. A third development is the reduction of
port visits in, e.g., the Hamburg-Le Havre range. This means that carriers visit
one port in a certain region and ship containers with another port destination
in the same region over land. This results in large container flows between,
e.g., Antwerp and Rotterdam (CBRB, 2003; Notteboom, 2007).
A fourth development is that liner shipping companies try to increase the per-
centage of carrier haulage at the costs of merchant haulage. This development
has several reasons. First reason is, according to Notteboom (2004), that in
a typical intermodal transport, the share of inland transportation costs in the
total costs of container shipping ranges from 40-80%. Although liner ship-
ping companies see this opportunity to reduce costs, there is little room to
increase income out of inland logistics. If carrier haulage tariffs are higher
than the open market rates, the merchant haulage becomes more attractive
(Notteboom, 2002). A second reason is that in case of merchant haulage, car-
riers lose control of and information on their containers. Containers are mostly
owned by the carrier, i.e., the liner shipping company, and the repositioning
of empty containers is a significant cost factor. By choosing strategically posi-
tioned hubs of terminals in the hinterland, carriers try to gain control over the
repositioning costs. However, the increasing number of inland terminals and
the relatively large share of merchant haulage hinder the carriers’ insight in the
location of their containers and the dwell time at customers. Moreover, carriers
are not eager to impose financial penalties on clients that hold containers too
long, as they fear to upset and possibly lose the customer (Notteboom, 2004).
The Port of Rotterdam is the sixth largest container port in the world and
the largest container port of Europe in 2007 in TEUs transshipped. Hamburg
and Antwerp are respectively the second and third largest container port in
Europe (www.portofrotterdam.com). Although Rotterdam has some major
benefits over Hamburg and Antwerp, e.g., the accessibility of the port for (the
largest) sea vessels and the connection to different hinterland transportation
modes, it has to a large extent the same hinterland as Antwerp, Hamburg
26 Chapter 2. Background of the barge handling problem
Port of Rotterdam
Van Brienenoord-
North sea
bridge
city
Spijkenisse-
bridge
Figure 2.2: Layout of the Port of Rotterdam. Highlighted are the important
container terminal clusters, the main waterways, and the hinterland access
points. Adapted from Gemeente Rotterdam (2004)
and Le Havre. This leads to fierce terminal competition between the ports
(Haralambides, 2002).
The Port of Rotterdam has a specific layout, since it has been developed and
extended over time along the river towards the sea. In Figure 2.2 we depict
the layout of the port and the three clusters of container terminals that can be
distinguished. The port has become very large in the last decades. To sail, e.g.,
from the Van Brienenoord-bridge to the Maasvlakte (right-side of the figure to
the left-side) takes about three hours for an average barge. Barges normally
enter the port via the Van Brienenoord-bridge or the Spijkenisse-bridge and use
the marked waterways to move between the regions. The reason why we dis-
tinguish regions within the port is that sailing between regions takes relatively
much time (about one to two hours), whereas sailing from one terminal to an-
other terminal in the same region is less time consuming (about 20 minutes).
For barges it is therefore less important in which sequence terminals are visited
within a region, than the sequence in which the regions are visited. About 50%
of the barges sailing between Antwerp and Rotterdam enter and leave the Port
of Rotterdam via the Spijkenisse-bridge, all other barges mainly enter the port
via the Van Brienenoord-bridge.
that former clients leave the port, not because the provided infrastructure is
insufficient, but because of new service networks and new partnerships of the
carriers.
If the vision of the municipality of Rotterdam comes true, then the barge sector
28 Chapter 2. Background of the barge handling problem
will face a growth in the coming years resulting from i) a modal shift and ii) an
increase in container flows. A modal shift means that cargo flows are shifted
from road to rail or water. The question is whether this growth can be realized
given the current situation. Deep-sea terminals have reached the limit of their
transshipment capacity, which leads to significant waiting times for trucks and
barges over the last years. For barges this results in uncontrolled sojourn times
in the port. Press-releases in 2007 (cf. Figure 1.1) even report waiting times
for trucks up to six hours and for barges varying from 24 to 72 hours (see, e.g.,
Nieuwsblad Transport, 2007a).
The main Rotterdam related hinterland for barge container transportation can
be geographically divided in four areas or markets (CBRB, 2003; Konings,
2007):
Lower Rhine
Middle Rhine
Upper Rhine
Figure 2.3: Different sub markets in the Rhine container transport. Picture
adapted from Gemeente Rotterdam (2004)
30 Chapter 2. Background of the barge handling problem
Rotterdam has traditionally a strong position in the Rhine trade (and the
sub-markets), whereas Antwerp is mainly strong on the Upper Rhine market
(Notteboom, 2002). In the Rhine river trade, barges visit usually about three
to five terminals in the hinterland and about ten terminals in the Port of
Rotterdam (Konings, 2007). The reason why a barge has to call at several port
terminals, is that containers (collected in the hinterland) have to be shipped
by specific sea vessels which are handled at specific terminals.
In contrast to the other modalities (road and rail) barges are handled at the
same side of the terminal as sea-going vessels. Some terminals have dedicated
barge quays and cranes, but most terminals use the same equipment for barges
as they use for loading and unloading sea vessels. In practice this means that
barges are handled in between the handling of sea vessels. When the modal
split of barge container transport was low (at the start of the 1970’s) this was
not a problem. However, today about 36% of the containers are shipped by
barge to the hinterland. This means that the processing of barges impacts the
operations of the terminals significantly. Terminals, however, give priority to
the handling of sea vessels, since these are paying for the terminal operations.
Barge operators have no contractual relationship with the terminal and are
processed with low(er) priority at the terminals. During several discussions
with barge operators and barge companies we got the impression that they feel
(still) not to be taken seriously by the main terminals. The result is uncertain
waiting and handling times at the terminals.
2.5. Barge hinterland container transportation 31
30%
25%
20%
15%
10%
5%
0%
<1900 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 1996 1997 1998 1999 2000
Year of construction
Figure 2.4: Year of construction of the active Dutch barge fleet in 2000. Source:
CBS and CBRB (2003)
The active barge fleet is defined as all vessels that participate in national and/or
international shipping on inland waterways in a given year (source: CBS).
The active Dutch barge fleet consists of barges that can sail different classes
of waterways, so-called, CEMT classes (CEMT, 1992). CEMT classes are a
European standard of the waterways dimensions and the maximum sizes of
ships (and push-tug combinations) that can navigate these waterways. In Table
2.3 we give examples of the capacity of barges that can navigate waterways
of different CEMT classes. In addition, we give an indication of the active
barge fleet per CEMT class. The Dutch government recently invested in the
improvement of waterways to make them navigable for larger vessels.
Barges have a long life span as becomes clear from Figure 2.4. The figure
presents the year of construction of the active barge fleet in 2000. The long life
span impacts the speed of renewal of the fleet.
Freight
forwarder
Legend
Figure 2.5: Actors involved in the hinterland container transportation and their
mutual contractual relationships. Adapted from Van der Horst and De Langen
(2008)
relationships.
In Figure 2.5 we depict the most important actors involved in the inland ship-
ping of containers. The figure is adapted from Van der Horst and De Langen
(2008). We distinguish the following actors. For every actor we give a brief
description of his role or task:
which are companies that own and operate barges. In practice, barge
operators can operate more than one barge. Without loss of generality,
we assume in the sequel that every barge operator operates exactly one
barge and every barge is operated by one barge operator.
• Inland terminal operator. A company that offers services to transship
containers from barge to truck or rail (and vice versa) and to temporarily
store containers. An inland terminal is located in the hinterland.
• Truck operator. A company that offers transportation of containers by
truck.
• Shipper/consignee. The organization (or person) where the container is
sent to, or the organization (or person) that owns the freight or initiates
the container transportation.
• Freight forwarder. A company who arranges container transportation on
behalf of a shipper.
• Customs. The organization responsible for inspecting freight that enters
or leaves the country.
• Port authority. The organization that leases sites to port-related busi-
nesses and which is responsible for an efficient and safe handling of ship-
ping traffic. The organization also takes care of the port infrastructure
and other facilities in the port area.
• Port InfoLink (not in Figure 2.5). The organization that develops and
exploits the IT infrastructure for the Port of Rotterdam.
Let us describe some of the actors in more detail. The role of the barge oper-
ator is to organize hinterland container transportation by barge. Most barge
operators contract barge companies to sail fixed round trips between Rotter-
dam and the hinterland. Some barge operators own inland terminals, giving
them a stronger position in the hinterland. Competition among barge opera-
tors is fierce and the profits are relatively low, due to the fact that little value is
added (CBRB, 2003). To be competitive with other modalities it is important
for a barge operator to offer frequent and reliable services with enough capacity
and at low cost (CBRB, 2003). On the Rhine river and Rotterdam-Antwerp
trade some barge operators cooperate by sharing barge capacity. In this way
they can offer frequent services with enough capacity. These barge operators
have their own central planning system and can operate their ships efficiently
(CBRB, 2003). One of the tasks of the barge operator, which is relevant in our
study, is the alignment of barge operations with inland and deep-sea terminals.
In Figure 2.5 we depict, besides the actors, also their mutual contractual re-
lationships. The contracts that are necessary to ship a container depend on
whether the shipper chooses for carrier or merchant haulage (see Section 2.3.1).
Suppose a shipper chooses for merchant haulage, then he has to arrange the
hinterland transport and the ocean transport of the container himself. The
shipper therefore contracts directly a barge or truck operator, and the liner
shipping company. Another option is to ask a freight forwarder to arrange the
transportation. The freight forwarder then contracts a barge or truck opera-
tor, and the liner shipping company. In case of carrier haulage, the shipper
contacts the liner shipping company, who arranges the hinterland and ocean
transportation. Depending on who organizes which part of the transportation,
several contractual relations are established.
• Strategic alliances. They expect that most barge companies in the fu-
ture will remain small and medium-sized businesses operating about two
to three barges. However, they also expect that barge companies will
start strategic alliances with terminals, truck operators, or other barge
companies, to gain new business and improve the quality of the offered
services.
• Increase in scale. The increase in scale, especially vessel size, is expected
to continue since the limits of the vessels and waterways are not reached
yet.
• Automation of transshipment and ship operations. The Bureau Voor-
lichting Binnenvaart expects that the transshipment of containers will
become fully automated in the coming years and that by the year 2020
also vessels will be navigated fully automatically.
2.5. Barge hinterland container transportation 35
The first idea is the development of a large inland terminal close to the Port
of Rotterdam (<50 km), a so-called transferium, where containers are trans-
shipped from trucks to barges and vice versa. The idea is that barges bring
containers from the transferium to the terminals in the port and vice versa, thus
reducing the number of trucks that use the congested road infrastructure in the
port (Konings, 2007; De Binnenvaartkrant, 2008). Realizing a transferium will
lead to an increasing number of barge movements in the port.
The second idea is a large transferium far in the hinterland, e.g., Duisburg.
Barges bring (unsorted) containers in large vessels (consisting of four boats,
pushed by one barge) directly from a sea terminal to the inland transferium.
At the transferium the containers are sorted and shipped to their hinterland
destination.
Although the idea of a transferium (close to the port or far away) is not new,
it never seemed to be economically and logistically interesting for truck and
barge operators. However, recent publications show that these ideas are still
viable and subject of research in science (Konings, 2007) and practice (De
Binnenvaartkrant, 2008).
36 Chapter 2. Background of the barge handling problem
Timeslot request
Reply: yes or no
Figure 2.6: Sequence diagram of the communication between a single barge and
terminal operator in Approach 1
The planning process is started at a fixed moment, e.g., 7 a.m., to align termi-
nal and barge operations for the next 24 hours. At this moment, announced
by a special timer agent, the barge operators, which have a barge that visits
the port during the planning period, start a rotation planning process. The
basic interaction protocol underlying this process is depicted in Figure 2.6. A
barge operator determines the sequence of terminal visits (a rotation) and the
corresponding (expected) arrival times. These arrival times are sent as request
for handling to the terminals, which in turn reply with respective yes or no if
a request for handling is ok for the terminal or not.
The rotation planning process is visualized in Figure 2.7. At the start (step 1)
of the process the barge operator agent collects information about the barge
2.6. Barge handling problem 37
Read load/
1 discharge plan
End
Generate
2 scenarios
ok
Prioritize ok/not
3 scenarios ok
10
not ok
4 Select scenarios
Figure 2.7: The rotation planning process, relating the different processes at
the barge and terminal side. After Connekt (2003)
38 Chapter 2. Background of the barge handling problem
Scenarios
1 A B C
2 A B C
3 A B C
4 A B C
5 A B C
6 A B C
7 A B C
Time slots
Figure 2.8: Possible sequence of scenarios a barge operator agent has tried to
establish a rotation. Example copied from Connekt (2003)
it has to plan a rotation for. This information comprises the planned port
arrival and departure times, the stowage plan, the terminals that have to be
visited etcetera. In step 2 the agent starts to generate scenarios. A scenario is
a possible rotation, determined by the sequence in which terminals are visited
and the expected arrival times at the terminals. The agent generates different
scenarios by varying the sequence of terminal visits or delaying arrivals at
a terminal. Unfortunately, Connekt (2003) does not describe how scenarios
are exactly generated. In step 3 the scenarios are sorted according to certain
criteria, such as the total sailing distance. The best scenario is on the top of the
list. Again, no clear description of the prioritization step is given in Connekt
(2003). In step 4 the barge agent selects a scenario and prepares requests
for time slots at the terminals. In step 5 the time slot requests are sent to
the terminal operator agents. In step 6 the request is received by a terminal,
together with requests of other barge operators. In step 7 the terminal operator
agent tries to plan the barge at the requested time slot. If this is successful, a
confirmation is prepared, if not, a refusal. In step 8 the answer (confirmation or
refusal) is sent to the concerning barge operator. In step 9 the barge operator
collects the answers of all terminal operator agents. In step 10 these answers
are evaluated. If all requests are confirmed then the rotation planning process
for this particular barge has come to an end. If one or more terminals have sent
a refusal, the barge operator has to go to step 4 and select another scenario
and send new requests to all terminals until all terminals have agreed with a
specific time slot. It is not clear from the report Connekt (2003) what happens
if the number of scenarios that are generated for a specific barge turn out not
to be enough. They implicitly assume that this situation never occurs.
adding waiting time in the rotation (before terminal A). However, now terminal
B and C refused the proposed time slot. The barge continued to add slack and
postpone terminal visits until a rotation was found that was confirmed by all
terminals. In the example the agent did not resequence terminal visits, but
this could be done as well. Surprisingly scenarios 5 and 6 are similar. From
the report is does not become clear why.
The workshop clearly illustrated the problems that arise in the current situa-
tion and the improvement that may be realized using a distributed planning
system. Moonen et al. (2007) report that the practitioners were highly in-
terested in the implementation of the distributed planning system in practice.
The company Initi8 B.V. has developed a commercial application, called Syn-
chron8, based on the illustrated prototype. However, the application has not
been implemented yet, i.e., up to 2008.
some time. Second, the planning system focuses on feasible instead of optimal
(or best) plans for each of the actors in the network. This is not desirable from
a single actor’s point of view, especially, when an actor discovers that he can
make a better plan himself without using the system. Third, the orchestration
of the agent communication can be crucial. If every barge operator agent can
start talking to every terminal operator agent at the same time (as suggested
in Connekt, 2003) then terminal operator agents have to answer several barge
operator agents, more or less, at the same time. Based on these responses, all
barges start to reconsider their rotations which leads to new requests. Since
all barge operator agents do this at the same time, it might be that a time slot
for which a negative response was given by a terminal at time t, is available
again at time t + ( > 0) when another barge operator agent has cancelled
his temporary reservation. This does not lead to satisfying results and creates
a tremendous communicational burden.
In our study we are mainly interested in the key performance indicators per ac-
tor. In future research we aim to differentiate the KPIs per barge and terminal
operator. Let us describe the barge operator, the terminal operator, and the
Port of Rotterdam successively based on the report of Van Groningen (2006).
Barge operator
The main objective of a barge operator is, according to Van Groningen (2006),
to minimize possible delays in the sailing schedule. The sailing schedule de-
termines the time at which a barge is planned to be in the port and at its
hinterland destinations. The reasons why barge operators have difficulty to
stick to their sailing schedule are several. We combine the findings of Van
Groningen (2006), Moonen et al. (2007), and interviews we did ourselves:
• Rotations are not feasible at the time they are constructed. Infeasible
means that, e.g., two terminal visits are planned at the same time, that
terminals have double booked a time slot, or that terminal visits are
planned too tight to each other. This effect is reinforced by uncertainties
2.6. Barge handling problem 41
Barge operators deal in several ways with the uncertainties in the barge hand-
ling process. We mention the following (derived from Van Groningen (2006)
and interviews we did ourselves):
• Increase sailing speed. Barges can increase their sailing speed to recover
lost time. However, increasing sailing speed hardly makes a difference on
short trips (from Rotterdam to Antwerp for instance). Moreover, an in-
crease of the sailing speed with about 4km can result in an increase of fuel
42 Chapter 2. Background of the barge handling problem
Clearly, the mentioned ways to deal with uncertainties in the barge handling
process have a price for barge operators. First, the price of shifters. Second,
the flexible stowage results in a lower utilization degree of the barge, which
means that a barge operator has to employ more barges to transport the same
number of containers. Third, the fact that barges have long waiting times in
the port results in fewer round-trips to the hinterland which results in a loss of
revenues for the barge operators.
1. The fraction of rotations for which a barge leaves the port in time, i.e.,
in accordance with its sailing schedule.
2. The average delay of a barge on arrival in the port, compared to the time
set in the sailing schedule.
3. The maximum delay of a barge on arrival in the port, compared to the
time set in the sailing schedule.
4. The operational costs of being delayed.
indicators to measure the extent to which a barge operator realizes his main
objective (as formulated in the beginning in this section), namely to minimize
possible delays in the sailing schedule. The second and third indicator are re-
lated to the external system (outside the port) and not to the operations in the
port, which is the focus of our study.
Terminal operator
The main objective of a terminal operator is, according to Van Groningen
(2006), to maximize the utilization of his resources, i.e., the berth, crane and
crew productivity. Under-utilization of these resources can be caused by several
factors (Van Groningen, 2006):
• Load and unload list announced late. The list with containers to be loaded
and unloaded is sometimes provided late by barge operators. This means
that containers are not always available at the time of call or the barge
has to wait until the container has been stacked at the quay-side.
• Deviating call sizes during operation. Announced call sizes of barges reg-
ularly differ from the call sizes at the time the barge handling is started.
This can have different causes, but requires flexibility of the terminal
operator.
• Disturbances. Disturbances, such as crane breakdowns, lacking shipping
documents, delayed arrivals of sea vessels, and containers not yet released
by the customs introduce another source of uncertainty.
Terminals have different options to increase the utilization of the resources (Van
Groningen, 2006):
Van Groningen (2006) reports that if a terminal is flexible towards barge op-
erators, in making or changing appointments for instance, it faces the risk
that barge operators use this flexibility to capture uncertainties caused by less
flexible terminals. Small terminals in the city feel that they are usually more
flexible than the highly occupied terminals at the Maasvlakte.
Note that some of the terminal key performance indicators (mentioned by Van
Groningen, 2006) need to be maximized and others to be minimized. Surpris-
ingly, the utilization degree of a terminal is not defined as key performance
indicator, which seems to be a logical indicator for the main objective of the
terminal operator, namely to maximize the utilization of his resources
Port of Rotterdam
The Port of Rotterdam has on a strategic level three main concerns, namely
competition with other ports, environmental issues, and congestion of the in-
frastructure (Van Groningen, 2006). The Port of Rotterdam has several goals
which are related to the three concerns mentioned. Van Groningen (2006) de-
fines the main objective (related to the barge handling problem) as minimizing
the congestion in the port. The key performance indicators are: the average
level of congestion per hour and the maximum level of congestion per hour.
1. Fraction of barges leaving the port late. Leaving the port late means that
a barge leaves the port later than the time set in its sailing schedule. This
indicator measures the fraction of barges that did not manage to leave
the port in time.
2. Average project tardiness. The project tardiness of a barge is equal to the
maximum of zero and the project lateness of the barge. Project lateness
is: the actual time the barge leaves the port minus the time set in the
sailing schedule. Project lateness can be negative.
3. Average activity tardiness. If an activity (the loading or discharging of
containers at a terminal) has a due date, we also measure the activity
tardiness. The activity tardiness is the maximum of zero and the activity
lateness. Activity lateness is: the actual time an activity is completed
minus the due date of that activity. Activity lateness can be negative.
4. Average project lateness. To get an impression how ‘early’ or ‘late’ the
barges leave the port on average, we measure also the average project
lateness of all barges.
2.8.1 Objectives
The mission of Transumo is to accelerate/encourage the transition to sustain-
able mobility. This will be achieved by initiating, and establishing for the long
term, a transition process that leads to the replacement of the current, supply
driven, mono-disciplinary technology and knowledge infrastructure, with a de-
mand driven, multidisciplinary and trans-disciplinary, participative knowledge
infrastructure. The transition to the new knowledge infrastructure leads to
advances that help to strengthen the competitiveness of the Dutch transport
sector (profit) and to preserve and improve spatial and ecological (planet), and
social (people) aspects of mobility. The three goals profit, planet, people spec-
ify the concept sustainability. Additionally, Transumo aims for the transition
of knowledge to practice and enhancing the cooperation between governments,
companies and knowledge institutes.
2.9 Summary
In this chapter we described the background of the barge handling problem.
We focused on aspects and developments that affect or will affect our problem.
We discussed the history and prospects of global container transportation. We
described the intercontinental transport of containers by focusing successively
on the role of liner shipping companies, the Port of Rotterdam, and the barge
sector. We placed these roles in a historical context and described developments
that are observed and expected in the container sector. Then, we described
in detail an earlier study to our problem and we summarized the results of
another study regarding the (key) performance indicators of barge operators,
terminal operators, and the Port of Rotterdam. We concluded the chapter with
a description of the performance indicators we use in our model and described
the way our project is organized.
Chapter 3
Decentralized planning:
analysis and design choices
3.1 Introduction
In this chapter we discuss the research question: What is an efficient and
effective Multi-Agent system for the barge handling problem? To design an
effective Multi-Agent system, both optimization and acceptance are important.
Traditionally, the focus in the realm of Operations Research has been more on
the realization of optimal solutions (efficiency). However, if the system is not
acceptable for the players involved, a solution will never be implemented in
practice and can certainly not be effective.
In this chapter we discuss several design issues that affect the efficiency and
acceptance of our solution. In Section 3.2 we discuss the notion of decentralized
control, agents and Multi-Agent systems. Moreover, we make some first choices
regarding our Multi-Agent system. In Section 3.3 we discuss desired properties
of a Multi-Agent system and an interaction protocol, and we discuss some
50 Chapter 3. Decentralized planning: analysis and design choices
specific difficulties we face in our problem. Section 3.4 analyzes the interaction
protocol proposed in a previous study, called Approach 1 (see Section 2.6.1).
Finally, in Section 3.5 we propose our interaction protocol and we reflect on its
strengths and weaknesses.
A system with more than one agent is called a Multi-Agent system. A Multi-
Agent system can be defined as a loosely coupled network of problem solvers
that work together to solve problems that are beyond the individual capabili-
ties or knowledge of each problem solver (Durfee and Lesser, 1989). Agents in
a Multi-Agent system can be self-interested. The basic idea behind the appli-
cation of a Multi-Agent system is that through the interaction of local agents
coherent global behavior is achieved. Characteristics of a Multi-Agent system
are that i) each agent has incomplete information, i.e., a limited viewpoint, ii)
there is no global system control, iii) data is decentralized, and iv) computation
is asynchronous (Jennings et al., 1998).
These problems usually require a more robust and adaptable solution, which
can be realized using Multi-Agent systems. Research into Multi-Agent systems
in the field of logistics has increased over the last years. Several researchers
have attempted to apply agent technology to manufacturing systems (see, e.g.,
Arbib and Rossi, 2000; Dewan and Joshi, 2002), supply chain management
(see, e.g., Ertogral and Wu, 2000; Qinghe et al., 2001), and transportation
networks (see, e.g., Bürckert et al., 2000; Figliozzi et al., 2006; ’t Hoen and
La Poutré, 2006; Mes, Van der Heijden and Schuur, 2008; Mes, 2008).
With respect to the strategy of players, we assume that all agents are op-
portunistic and make decisions in the best interest of their principal. With
opportunistic we mean that every agent exploits opportunities for its princi-
pal’s benefit, regardless of the other agents. We assume that agents from the
same type (like barge operator agents) have identical intelligence.
The Multi-Agent system, consisting of all the barge and terminal operator
agents, has the same characteristics as the current situation in the Port of
Rotterdam; it is open, ill-structured, and loosely coupled. We assume that
communication in our Multi-Agent system only takes place between barge and
terminal operators, not between agents of the same type. All agents use the
same interaction protocol and can make decisions on behalf of their princi-
pal. In the Multi-Agent system we imitate more or less the way the market is
currently structured to make the solution acceptable for the players involved.
However, a Multi-Agent system can, compared to the current situation, con-
tribute in two respects:
In our model we rationalize the decision making of barge and terminal operator
agents. This means that we exclude all kinds of personal influences in the
decision making, which may be considered as important. In future research
these issues may be included in the decision making of the agents.
The design of the interaction protocol plays a key role in the realization of
these properties (Zlotkin and Rosenschein, 1996). The design choices with
respect to the interaction protocol therefore need careful consideration, since
they impact the ease of keeping the system up and running, i.e., to make it
attractive for participants to continue to be part of the system. In the next
section we elaborate on several complicated design choices we faced.
Terminal Alpha A B C D
time
Actual arrival: 10.15 a.m.
Terminal Delta
Terminal Beta B N
time
Planned: 12 a.m.
It will be clear that if barges plan terminal visits right after each other (no slack
between terminal visits), one disruption can propagate quickly through the
whole system and affects the operations of many barge and terminal operators.
This makes the system vulnerable for even small disruptions. To reduce the
dominoes effect of disruptions, it would be better for the system as a whole
(that is for all barge and terminal operators) if barges would plan slack between
terminal visits, so that disruptions can fade out and affect only a few local
activities. However, why would a barge add slack in between terminal visits if
its main concern is to leave the port as soon as possible or at least within its
time window. Of course, if all barges plan terminal visits tight to each other, a
single barge will surely be worse off. However, there is an individual incentive
to deviate in the short term, i.e., to behave opportunistically. Here we have
the conflict between sustainability and individual rationality.
56 Chapter 3. Decentralized planning: analysis and design choices
Benefit/loss sharing
The sharing of benefits and losses is a complex issue and strongly related to
the field of game theory. If it is possible to avoid the benefit and loss sharing
issue in the design of a Multi-Agent system, it will have many benefits in
the implementation and operation of the system. First, a certain division of
gains and losses always results in discussions, especially when many players are
involved and everyone has a clear interest in the result. Second, it will be hard
to make a division that is acceptable by everyone and can be explained as the
fairest division. What is defined as fair in game theory is not always perceived
as fair (cf. Schotanus, 2007). Third, the registration of activities, tracing the
causes of delays, and quantifying the impact will take much time and effort,
and results in direct costs for operating the system.
Consider our problem. Suppose we can quantify the benefits and losses of
individual players, then we have to find a mechanism that distributes these
gains and losses fairly and acceptably among all the players. One can imagine
that this is not easy. For instance, how to trace a delay to a specific barge or
terminal if the dominoes effects are significant. Note that delays can cumulate
which makes it less transparent what the actual cause of a delay is and what the
contribution of this cause is to the delay. Another example is the contribution
of an individual player to the performance of the others. Can the coalition of
3.3. Interaction protocol design 57
players decide to refuse a terminal or barge in the port, since this barge or
terminal has a negative effect on the operations of the rest?
The latter option is strange in the current situation in the Port of Rotter-
dam, since there are no contractual relationships between terminals and barges.
Moreover, a virtual currency also introduces the problem how gains and losses
have to be interpreted, how virtual money can be obtained, and how it can be
exchanged in, e.g., real money. Direct communication, on the other hand, is
the way the manual system works at the moment. It is more likely that this is
an acceptable way of communication for barge and terminal operators.
In our opinion this protocol and the resulting Multi-Agent system lack some of
the desired properties mentioned in Section 3.3.1. Let us clarify this for each
of the properties that can be improved.
The interaction protocol we propose consists of three parts, namely, the way
of communication, the information that is exchanged, and the result of the
communication. In the next two sections we describe these parts successively,
starting with the result of the communication.
Terminaloperator
Terminal operatoragent
agent
Barge operator agent Terminal operator agent
The communication between the barge operator and terminal operators can
be divided in two, so-called, phases. These phases correspond with two phases
in the decision process of the barge operator agent. In the first phase of the
communication, the barge operator agent tries to obtain information about the
occupation of the terminals. Based on this information it determines a conve-
nient rotation. In the second phase the barge operator agent makes appoint-
ments with the terminal operator agents, based on the rotation determined in
the first phase. Let us consider this in detail and also focus on the information
that is exchanged.
For the first phase of the communication we introduce the concept waiting
profile. A waiting profile, issued by a terminal for a particular barge, denotes
the maximum waiting time for a barge until the start of processing, for every
possible arrival time during a certain time period. The maximum waiting times
determining the waiting profile are guaranteed maximum waiting times. We can
3.5. Proposed interaction protocol 63
At the start of the communication, the barge operator agent sends a request
to all terminal operators to issue a waiting profile. In this request the agent
announces the total number of containers to load and unload, i.e., the call size.
After receiving the waiting profiles, the barge operator agent can determine
a rotation that minimizes its sojourn time in the port. It therefore assumes
that it has to wait the guaranteed maximum waiting time at a terminal. When
the barge operator agent has determined the best rotation, i.e., the rotation
minimizing its port sojourn time, it proceeds to phase 2.
In phase 2 of the communication, the barge operator agent announces its latest
arrival time to all the terminal operator agents. The terminal operator agents
reply that, if the barge arrives not later than its latest arrival time, it has a
certain guaranteed maximum waiting time. We assume that the whole com-
munication (phase 1 and 2) takes place in real-time. The reason why we focus
on real-time decision making is that the faster a barge operator agent decides
on its best rotation, i.e., the faster phase 2 follows on phase 1, the more likely
it is that the state of the system has not changed significantly and that waiting
profiles issued by terminal operator agents in the first phase are still valid.
Note that barges in our model do not estimate the waiting time, but use the
maximum waiting time to plan their rotation. This maximum waiting time
is guaranteed by the terminals. Recall that we assume that no disturbances
occur during operations and that sailing, mooring, and handling times are
deterministic. This means that a barge is always able to arrive in time at
a terminal, i.e., not later than the agreed latest arrival time. Penalty costs
are therefore no issue. In a future study it might be interesting to let barges
estimate the waiting time instead of using the maximum waiting time to plan
their rotation. However, this probably requires the introduction of a penalty
to force parties to stick to their agreements.
We suggest to give the agent a high level of autonomy to make quick decisions
possible. We think that especially barge operators are likely to trust their
agent, since the agent aims to make decisions in the best interest of the barge
operator and can easily explain why it made its decision.
In our opinion, the choice for direct communication is a strength, since direct
communication (or negotiation) is suitable for coordination among competitive
or self-interested agents (see also, Jennings et al., 1998; Huhns and Stephens,
1999), mirrors daily practice, is probably easier accepted by barge and terminal
operators, and enables us to stay away from benefit and loss sharing issues,
which would make the implementation of the system unnecessarily complex.
The fact that terminal and barge operator agents can make reliable appoint-
ments contributes to a more reliable and robust system, since barges are more
or less forced to include slack in between terminal visits. If a terminals really
‘punishes’ a barge by giving it less favorable waiting times if it does not stick to
the agreement made, then we establish a kind of self-regulation to regulate the
behavior of barges. This makes the system more robust than when we apply
some kind of external regulation. In the latter case it remains somehow bene-
ficial to show undesired behavior, whereas with self-regulation this is no longer
true. On the other hand, a self-regulation mechanism to regulate the behavior
of terminals is much more difficult to establish, since terminals have naturally
a dominant position in the port. To let terminals display desired behavior it
might be necessary to apply other mechanisms or means, e.g., contracts, service
level agreements with the Port Authority, or law.
We stress that the levels of information exchange relate to the first phase of the
interaction protocol (see Section 3.5.1). The second phase of the interaction
protocol, where barge and terminal operator agents make appointments, is the
same, regardless of the level of information exchange in the first phase.
3.7 Summary
In this chapter we aimed to design an efficient and effective Multi-Agent sys-
tem for the barge handling problem. The design of a Multi-Agent system is
generally about the strategy of players and the interaction protocol. Both are
important to gain acceptance and to facilitate the optimization of the opera-
tions of the actors concerned. We assumed that the strategy of players is to
use opportunistic agents that make decisions in the best interest of their prin-
cipal. We elaborated on the design of the interaction protocol, through which
we can determine to a large extent the ‘rules of the game’. We mentioned sev-
eral desired properties of a Multi-Agent system and the associated interaction
protocol and we discussed specific difficulties in the realization of these desired
properties. We analyzed the interaction protocol proposed in Approach 1 and
showed that this protocol has room for improvement. We therefore proposed
our own interaction protocol and we reflected on its strengths and weaknesses.
In Chapter 5 we specify our conceptual Multi-Agent system and we analyze its
performance by means of simulation.
68 Chapter 3. Decentralized planning: analysis and design choices
69
Chapter 4
Performance evaluation
4.1 Introduction
Before we specify the conceptual Multi-Agent system proposed in Chapter 3
and evaluate its performance in Chapter 5, we first describe in this chapter
the approach we take to evaluate the performance of our Multi-Agent system.
We describe successively the research approach we adopt (Section 4.2), our
conceptual simulation model (4.3), the off-line benchmark model and solution
techniques we apply (Section 4.4), the way we model a scenario (Section 4.5),
and the structure in the data sets and the data we use (Section 4.6). We
conclude the chapter with a summary in Section 4.7.
To facilitate a sound comparison of the two models, we use the same data sets
for both the simulations and the off-line benchmark. A data set is a set of
scenarios which are stored in a database. The database contains a complete
set of all the relevant parameters describing a scenario. Here, on may think of
70 Chapter 4. Performance evaluation
Centralized Decentralized
Figure 4.1: Our research approach with respect to the evaluation of the perfor-
mance of the Multi-Agent system
the capacity of terminals, the arrival times of barges in the port, the number
of terminals a barge has to visit, etcetera. A scenario is generated by means
of a data set generator, based on certain distributions etcetera. From a single
scenario we can have multiple replications, which are different instances of a
scenario.
The fact that the off-line benchmark has all information over the whole planning
horizon in advance influences the comparison with the simulations. What we
mean is that part of the difference between the off-line benchmark and the
simulations can be explained by lack of knowledge about the future in the
simulations. The magnitude of this impact is hard to estimate, but needs to
be taken into account considering the results.
The simulation model we have made is a discrete event simulation. This means
that the course of the simulation is event based. An event is an instantaneous
occurrence that may change the state of the system (Law and Kelton, 2000).
Event based means that after an event the barge or terminal can perform
an action resulting in a state transition, after which the state of the system
remains unchanged until the next event. The state of the system is described
by the state of all the barges and terminals in the system. The simulation
model is object oriented, which means that the simulation consists of objects
that interact with each other as the system evolves through time. An object
consists of data (describing the state of the object at a particular point in time)
and methods (describing the actions the object is capable to perform). Data
of an object can only be changed by its own methods. For further reading we
refer to Law and Kelton (2000).
In the next section we describe the general structure of the simulation model.
State of the
simulation
Performance Event
tables listener
Containing the scenarios
terminals
Update Perform
status action
Barge Terminal
Question terminal:
operator operator what to do next?
agent agent
SA application SA application
Determine rotation Determine schedule
Figure 4.2: General structure of the simulation model and the way the parts
are implemented in different software components
namely the state of the simulation, the control of the simulation, the barge
operator agent, and the terminal operator agent. In addition, we have the
DSOL simulation model, two stand-alone (SA) programs, and the data sets.
We describe the parts (and the objects within the parts) successively.
• State of the simulation: The state of the system represents the state of
barges and terminals at a particular point in time, and processes the
events and actions initiated by the simulation control. The way the state
transitions are managed is described in Section 4.3.3, containing the state
transition diagrams for both barges and terminals.
• Control of the simulation: To be able to communicate with the DSOL
4.3. Conceptual simulation model 73
Initial state
Final state
In the next section we describe in more detail the state transition diagrams
representing the state of the system.
The initial state in a state transition diagram is represented by a black dot and
the final state as a black dot in a white circle. A state is a characterization of
the activities that are performed at a specific moment in time. We include the
following states in the simulation: a terminal can be either closed, handling a
sea vessel, handling a barge, or idle. A barge can be sailing, waiting, mooring,
or handling. A transition from one state to another is triggered by an event.
On every event the terminal or barge operator agent can decide which action
to take, resulting in a specific state transition. Sometimes a guard expression
determines which response is required. For example, on the event finish barge
handling there are many state transitions possible. However, when a sea vessel
arrives at the terminal, the terminal will go to the state handling sea vessel.
The state transition diagram of the terminal is depicted in Figure 4.4 and the
state transition diagram of the barge in Figure 4.5. The diagrams denote the
states, events, and actions that are simulated.
Finish sea vessel [no time remaining to process barge] / Close terminal
Sailing
Waiting
Mooring
Handling
S 3 T
the sailing times in the network. In this section we describe the model and the
solution methods we apply.
4.4.1 Model
We describe the basic model we use and the way specific characteristics of the
problem are modeled.
Basic model
We model the off-line benchmark as a Resource Constrained Project Scheduling
Problem (RCPSP; see, for example, Demeulemeester and Herroelen, 1992), as a
base model. In the classical RCPSP, a single project has to be scheduled, which
consists of a number of activities. These activities have to be processed on a
number (not necessarily all) of the available resources, consisting of a number
of parallel processors. If an activity is processed at a resource, it can use one or
more processors during its processing (for example, 2 processors from resource
1 and 5 processors of resource 2). Between activities precedence relations exist.
Precedence relations determine the sequence in which activities have to be
processed, i.e., an activity cannot start before all its predecessors have been
finished. The RCPSP is N P-hard in the strong sense (see Demeulemeester
and Herroelen, 2002).
For solving the RCPSP a graph representation is widely used in the literature.
This graph representation is known as an ‘activity-on-node network’. See Fig-
ure 4.6 for the activity-on-node network for a simple project, consisting of three
activities, which all have a node in the graph. There are precedence relations
between activity 1 and activity 3, and between activity 2 and activity 3. This
means that activity 3 can only start when both activity 1 and activity 2 are fin-
ished. In addition to the nodes representing an activity, there are two dummy
nodes S and T . Dummy node S represents the project start and dummy node
78 Chapter 4. Performance evaluation
Barge 1
a1 -b1
a2 -b2
Barge 2
S ai -bi T
Barge i
an -bn
Barge n
Figure 4.7: Barges are denoted as parallel projects in one super-project that
start with dummy node S and end in dummy node T
T represents the project end. If we give each node a weight that is equal to the
required processing time, then the length of a longest path from S to a node
i is equal to the earliest possible starting time of activity i. The length of a
longest path from S to T is equal to the earliest possible completion time for
the project.
Barge i
hi1
hi2
Vi1 di12
piSi1 Vi2
pi2Ti
ai piSi2 -bi
S Si pi1Ti Ti T
di13 di23
piSi3 pi3Ti
Vi3
hi3
If we focus on one barge (one project) we get a picture such as Figure 4.8.
Every barge project i starts in dummy node Si , which precedes all activities of
barge i. An activity is denoted by Vij , i.e., the processing of barge i at terminal
j. The associated handling time of activity Vij is hij . From dummy node Si an
arc goes to all activities of barge i, with weight piSi j denoting the sailing time
from the start node Si (denoting the entrance point of the port) to terminal j.
Similar arcs go from all activities to the dummy end node Ti (denoting the port
exit point of the barge). The weights on these arcs are pijTi , i.e., the sailing
time from terminal j to the port exit point Ti . Between activities a dashed
lined is depicted, with associated weights dij1 j2 , denoting the sailing time for
barge i to go from terminal j1 to j2 . We assume that the sailing time from
j1 → j2 is equal to the sailing time from j2 → j1 . During the scheduling of
activities the dashed lines have to be given a direction to indicate the sequence
in which the activities are performed. The reason why, is that the sequence in
which activities are performed is not determined beforehand, but is part of the
decision. To model this, we introduce for each barge a dummy resource that
has capacity one and is required by each activity associated with this barge.
In the basic RCPSP, the objective is to minimize the makespan, i.e., the time
to complete all activities in the project. For our problem we are interested
in minimizing the total tardiness of all projects and all activities. To achieve
80 Chapter 4. Performance evaluation
Time Capacity
6 2
16 -1
Table 4.1: Example of a resource profile for a terminal with two parallel proces-
sors. The terminal opens both processors at time t=6 and closes both processors
at time t=16
Time Capacity
6 1
10 0
14 1
16 -1
Table 4.2: Example of a quay resource profile
Opening times
Opening times of terminals (resources) are represented by so-called resource
profiles. A resource profile denotes the times at which the capacity of the
resource changes as a result of opening or closing of one (or more) parallel
processors. Table 4.1 gives an illustration for a terminal with two parallel
processors. The times are denoted in hours.
In the example of Table 4.1 the terminal opens two parallel processors at time
t = 6 and closes them again at time t = 16. The ‘-1’ in the column ‘capacity’
of Table 4.1 denotes closing of the terminal, i.e., all quays are closed due to
restricted opening times. Every number in the column ‘capacity’ greater than
or equal to zero denotes the number of processors available for processing.
Sea vessels
In our model we assume deterministic arrival times of sea vessels. We also
assume the quay(s) at which a sea vessel is processed to be given. We there-
fore choose to represent sea vessels also in the resource profiles. This has the
advantage that sea vessels are not seen as activities and therefore do not need
to be planned. To do so it is necessary to translate terminal resource profiles
to quay resource profiles. Quay resource profiles describe the availability of a
single quay.
4.4. Centralized off-line benchmark 81
The set Dn then consists of all unscheduled activities which are available for
scheduling with respect to precedence and resource constraints and which can
start at time Tn . In a stage the set might consist of one or more activities
ready for scheduling. Based on a priority rule one activity of the set Dn is
selected and scheduled. After scheduling the activity the set Dn is updated,
i.e., the scheduled activity is removed as well as all activities which cannot be
started anymore at time Tn . If the set Dn is empty after this update, then
the algorithm proceeds to the next stage. If the set Dn is not empty after this
update, then again one activity of the set is selected and scheduled. This is
repeated until all activities in Dn are scheduled and Dn has become empty.
Experiments revealed that our adaptive search solution method appears not
to be satisfactory anymore if we deal with non-preemptive downtime, e.g.,
caused by sea vessels. We have tried several priority rules, but were not able
to find a rule that weighs in a proper way the scheduling of an activity in the
current stage, and the possible consequences of scheduling the activity in a later
stage. The effect of a poor decision can be quite significant, especially when
containers have a closing time. We therefore apply, after running the adaptive
search algorithm, the following neighborhood searches (in the given order) to
improve the schedule:
4.4. Centralized off-line benchmark 83
In every step we only consider activities that contribute to the objective func-
tion, or activities that are part of a project with project tardiness greater than
zero. If an improvement is found, we start again with step 1 (moving activi-
ties on a resource). We stop if no improvements can be found after the four
mentioned steps.
First, we describe the priority rule we use for scenarios without closing times
of containers. We define the adjusted activity due date of an activity as the
due date of the associated project minus the sailing time from the terminal
(associated with the activity) to the port exit point. The contribution of an
activity is then equal to the adjusted activity due date augmented with the
sailing time from the previous terminal to the terminal associated with the
activity and diminished by the sum of the processing times of all unscheduled
activities in the associated project. The higher the contribution, the lower the
priority of the activity.
Second, we describe the priority rule we use scenarios with closing times of
containers. We define the activity tardiness of an activity as the maximum of
i) zero and ii) the (planned) completion time of the activity minus its due date.
The contribution of an activity is equal to the activity tardiness, augmented
with the following term: the project tardiness penalty times the increase in
project tardiness of the associated project. The higher the contribution, the
higher the priority of the activity.
1 * * 1 1 *
Project (barge) Activity Resource (Terminal) Sea vessel
-Project ID consists -Activity ID corresponds -Resource ID processes -Sea vessel ID
-Entrance point of -# Load with -# Quays -Processing time
-Exit point -# Discharge -Region -Arrival time
-Release date -Release date -Cycle length -Resource ID
-Due date fixed TW -Due date fixed TW -# Quays
-Due date variable TW -Due date variable TW -Start quay
-Processing time
1
-Project ID
has
-Resource ID
-Closing time 1
Resource Profile
-Resource ID
-Time
-# Quays
activities, sea vessels, and resource profiles (see Figure 4.9). A barge (project)
has several attributes, namely an ID, a point where it enters and leaves the
port, an arrival time (release date), and a time window in which it has to
finish its activities (a due date). We define two due dates, namely for fixed and
variable time windows (TW). We elaborate on this in Section 4.6.2.
A sea vessel has the following attributes: a sea vessel ID, a processing time,
an arrival time, a resource ID (to denote at which terminal the vessel has to
be processed), the number of quays required for processing, and the (start)
quay. The start quay denotes the first quay where the sea vessel processing is
planned, e.g., quay 5. If a sea vessel requires more than one quay, the quays
following on the start quay are assigned, e.g., quays 6, 7, 8 etcetera.
The ERD in Figure 4.9 forms the basis of the database in which we store a
scenario. A necessary element in our model, which is not depicted in the ERD,
are the travel times between terminals. These are also stored in the database.
Let us describe the model we use to create a scenario. Note that some of the
parameters coincide with attributes of entities in Figure 4.9.
The reason why we take the utilization degree of terminals as starting point, is
that we can control it very well in this way. This is desirable, since we think that
the utilization degree of terminals determines to a large extent the performance
of the system. An alternative would be to create a number of barges, assign
them to a number of terminals, and see what the resulting utilization degree is.
So, in general we have two options. Or we create a random number of barges
and take the resulting utilization degree of terminals for granted, or we adjust
the number of barges to get a certain desired utilization degree. In both cases
we fix one parameter to determine another.
4.5. Modeling a scenario 87
From the total number of barges per day we derive the mean interarrival time.
We assign barges proportionally to terminals, such that each terminal realizes
the desired utilization degree. Other attributes of barges, terminals, and activi-
ties (as presented in Figure 4.9) are determined (randomly) during the scenario
creation.
For sea vessels we follow a similar computation as for the barges, taking the
desired utilization degree of terminals and the capacity available for sea vessels
as starting point, and deriving from that the required number of sea vessels.
88 Chapter 4. Performance evaluation
Table 4.4 provides an overview of the data sets we consider and in which chapter
each data set is studied. Data set 0 is the basic set and forms the basis for
data sets 1 to 4. Data set 5 is a separate data set based on realistic data of
the Port of Rotterdam and is studied in Chapter 8. In Section 4.6.2 we give a
description of the basic data set and in Section 4.6.3 we describe the data sets
1 to 5.
Variable Value
Network layout three variants
Number of terminals per region 4 and 9
Utilization degree 50, 75, 90%
Times windows of the barges fixed and variable
Table 4.5: Dimensions varied in the experiments for the basic data set
4.6. Data and data sets 89
A A B C A B
Figure 4.10: Three network layouts: one region (I), three regions in line (II),
and three regions in a triangle (III). The arrows represent the port entrance
and exit point
In the next sections we describe the network layouts, some parameter settings
and distributions, and the time window of the barge.
Network layouts
We consider three different network layouts (see Figure 4.10), which are inspired
by the geographical structure of large ports around the world (Rotterdam (lay-
out II), Antwerp (layout III), Hamburg (layout III), Singapore (layout II), and
Shanghai (layout II)). We do not claim that our network layouts fit these ports
exactly, but they are reasonable approximations. Layout I is added to evalu-
ate the effect of regions on the performance of the system. The arrows in the
pictures determine the port entrance and exit points, i.e., the point through
which barges enter and leave the port.
We vary the number of terminals per region (either four or nine terminals).
A terminal in this basic data set has one quay and is opened 24h a day. All
terminals are identical. The sailing time between two terminals only depends
on the regions each of the terminals belongs to, not on the Euclidian distance.
In the port it is not possible to sail straight from one terminal to another, since
there are only a few connecting waterways. We therefore assume that sailing
time within a region is fixed. We choose it to be 20 minutes. Sailing through
a region (without visiting a terminal) takes 40 minutes. Sailing times between
terminals are given by Table 4.6 on a regional level. So, from Table 4.6 we can
see that traveling from a terminal in region A to a terminal in region C takes
240 minutes in a line network configuration.
Line Triangular
From/to a terminal in region A B C A B C
Port entrance and exit point 20 140 260 20 140 140
Region A 20 120 240 20 120 120
Region B 120 20 120 120 20 120
Region C 240 120 20 120 120 20
Table 4.6: Sailing times (in minutes) between terminals belonging to specific
regions, specified for different network layouts
Parameter Value
Time to load or unload a container 3 min.
Mooring time on arrival and departure 10 min.
Maximum number of terminal visits per rotation 15
Table 4.7: Parameter settings
The call size (sum of the containers to load and unload) at a terminal is drawn
from a normal distribution with mean 30 containers and a standard deviation
of 10 containers. We discretize the normal distribution by rounding to the
nearest integer with a minimum value of one. The number of terminal visits
(calls) in a rotation is triangularly distributed with a minimum a, maximum
b, and mode c. The mode denotes the most frequent value in the distribution.
The minimum a is equal to one. The maximum b is equal to minimum of i)
the maximum number of terminal visits per rotation and ii) the number of
terminals in the network. Mode c is equal to (a + b) /2. Other parameters are
given in Table 4.7. The distributions used for the call size and the number of
terminals in a rotation are chosen in the absence of real data.
To add slack for waiting at terminals, we multiply the sum of the handling and
sailing time with some slack factor which varies per experimental setting. The
slack factor does not depend on the chosen average utilization degree.
The variable time windows are calculated as follows. For every barge, we cal-
culate the sum of the handling time (including mooring time) and the expected
sailing time. The result is increased with some fixed percentage of slack and a
variable percentage depending on the number of terminals in the rotation. The
slack per terminal (x) and the slack per rotation (y) depend on the utilization
of the network and differs per experimental setting we consider. To give an
illustration, assume that we have a network with a utilization degree of 50%
and corresponding slack factors x = 4% and y = 10%. The time window of a
barge with, e.g., eight terminals is then equal to (1 + 10% + 8 · 4%) times the
total handling and sailing time in the rotation.
In the basic data set we use the following slack factors. For the fixed time
windows the slack factor is equal to 180%. For the variable time windows the
variable slack per terminal (x) is equal to 4%, and the fixed slack per rotation
(y) is equal to 10, 50, and 100% if terminals have a utilization degree of 50, 75,
and 90% respectively. These factors are determined experimentally, such that
a reasonable number of barges can leave the port within their time window.
The data sets 0 to 4 are based on fictitious data, inspired by the Port of
Rotterdam. Data set 5 is based on realistic data of the Port of Rotterdam.
4.7 Summary
In this chapter we described the approach we take to evaluate the performance
of our Multi-Agent system. We propose to evaluate the Multi-Agent system
by means of simulation and to compare the results with an off-line benchmark.
The off-line benchmark is a central optimization algorithm, which solves the
problem for a single objective and has a priori all information about the plan-
ning horizon. We discussed successively our research approach, the conceptual
simulation model, the off-line benchmark, the way we model a scenario, the
structure in the data sets we study, the data sets we constructed, and data
sources we used.
93
Chapter 5
Waiting profiles
5.1 Introduction
In the previous chapters we introduced our conceptual Multi-Agent system
(Chapter 3) and proposed a way to evaluate its performance (Chapter 4). In
this chapter1 we specify the conceptual Multi-Agent system of Chapter 3 and we
evaluate its performance in the way we described in Chapter 4. We consider a
simplified setting of the problem. In Chapter 6 we extend the model we develop
in this chapter with several practical issues. Let us describe the contribution
of this chapter, our assumptions, and the outline of the chapter.
5.1.1 Contribution
The aim of this chapter is to gain insight in the functioning of our Multi-Agent
system, what the effect is of different levels of information exchanged, and how
well the system performs compared with more traditional algorithms. For this
purpose, we model our Multi-Agent system of Chapter 3 in more detail, i.e.,
we model the barge and terminal operator agent, and we describe in detail
the concept of waiting profiles. In addition, we evaluate the performance of
the Multi-Agent system by means of simulations and comparison with the off-
line benchmark. In our Multi-Agent system we consider different levels of
information exchange (as introduced in Section 3.6). In this chapter we focus
on the data sets 0 and 1 (see Section 4.6).
1 This chapter is based on the paper: A.M. Douma, J.M.J. Schutten, and P.C. Schuur
(2008). Waiting profiles: an efficient protocol for enabling distributed planning of container
barge rotations along terminals in the Port of Rotterdam. Accepted for publication in Trans-
portation Research Part C. DOI: 10.1016/j.trc.2008.06.003.
94 Chapter 5. Waiting profiles
5.1.2 Assumptions
We make the following assumptions. Barges arrive over time with independent
stochastic interarrival times. Decisions of both barges and terminals have to
be made in real-time and we assume that two barge operators do not plan
rotations concurrently, but one after another. With respect to a terminal, we
assume that it handles only barges (no sea vessels), has fixed capacity, is never
closed, and only has information about barges that already arrived in the port.
Arrival times and other characteristics of barges that did not arrive yet in the
port are unknown to the terminal. The time to handle a container, the mooring
time, and the sailing time between terminals are deterministic. With respect
to a barge we assume that, on arrival in the port, it needs to make a decision
about the sequence in which it visits the terminals concerned. On arrival in the
port, the barge has information about the terminals it has to visit, the number
of containers it has to (un)load at each terminal, and the mooring time at and
the sailing time between terminals. It has no information about the state of
the network, such as waiting times at terminals. We consider no capacity or
stowage constraints for the barge. Barges visit terminals only once and preemp-
tion at a terminal is not allowed. We assume that all terminals have the same
objectives and the same holds for all barges. We do not consider disturbances
and the effect on the operations of barges and terminals. These assumptions
allow barges and terminal operators to make reliable appointments, since no
disturbances occur during operations that result in unexpected delays. Intro-
ducing disturbances require the introduction of a kind of penalty, e.g., penalty
costs, if appointments are not met by one of the parties. This is part of future
research.
visited. We assume that every barge operator agent makes these decisions at
the moment the concerning barge enters the port. We assume that the infor-
mation of the terminals is reliable and does not change during the time the
barge operator agent needs to make its decisions. It is important that barges
make decisions in real time.
Let us consider one specific barge entering the port. The barge operator agent
of this barge is assumed to have the following information. First, it knows
the set N of terminals that have to be visited. This set is a subset of all the
terminals in the port. For every j ∈ N the agent knows how much handling
time hj is needed at the terminal. The handling time consist of the time needed
for loading and unloading of containers, as well as the mooring time on arrival
and departure. In addition, the agent knows the sailing times sj1 j2 between
every pair of terminals (j1 , j2 ), where j1 , j2 ∈ N . We assume that both the
sailing and the handling time are deterministic. Every barge enters and leaves
the port via the port entrance and exit point, which is a specific point barges
have to pass to access the port.
The aim of the barge is to finish all the activities within a certain time window
and to leave the port before the end of this time window. In this study, we
have defined the objective of the barge to finish all activities in the port as
soon as possible, although in practice there is usually a trade-off between fuel
costs and waiting time. We have therefore defined the secondary objective as
minimize the total sailing time. This means that if two solutions are equal in
terms of total sojourn time in the port, the solution with the least sailing time is
preferred. The extent to which a barge operator agent can realize this objective
depends both on the actual state of the port and the information it has about
this. Assume that the barge operator agent knows the maximum waiting times
wjt , for every terminal j ∈ N and every arrival moment t. The barge operator
assumes that it has to wait the maximum waiting time at a terminal. We can
now model the barge operator agent by a time dependent traveling salesman
problem (TDTSP). We define the time dependent travel time τ j1 j2 (dj1 ) , as the
sum of the sailing, handling, and maximum waiting time going from terminal
j1 to j2 , where the barge departs at time dj1 at terminal j1 . Let the arrival
time at terminal j2 be denoted by aj2 (dj1 ) . Clearly, aj2 (dj1 ) = dj1 + sj1 j2 .
Furthermore, the time dependent travel time τ j1 j2 (dj1 ) is given by:
and we constructed several routes for g ∈ [0, 3] and f ∈ [0, 1] (see Paessens,
1988). Every construction is followed by a 2-opt procedure with 1000 iterations.
To compare the performance of this heuristic we also implemented a depth-
first branch-and-bound algorithm (B&B). However, from preliminary tests we
did two observations. First, it turned out that we could solve the TDTSP
optimally using B&B within 100ms for instances with up to about seven to
eight terminals. Second, the savings based algorithm resulted in solutions with
an optimality gap varying from 10-40%, which is not satisfying.
In the Port of Rotterdam, barges visit at most twenty terminals, which means
that we need an algorithm that is able to solve instances with up to about
twenty terminals. We therefore implemented the DP-heuristic of Malandraki
and Dial. The DP-heuristic of Malandraki and Dial (1996) constructs rotations
by adding to each partial tour in the previous stage a (yet unvisited) node,
which becomes the new end node of the partial tour. A state is a set of terminals
that are in the partial tour, and an end node. The value of the state is the
5.2. The barge operator agent 97
minimum time to travel from the depot, along all the terminals in the partial
tour and ending in the end node. To limit the growth of the state space and to
keep the computation time of the DP tractable, Malandraki and Dial (1996)
retain in every stage the best H states, i.e., the states that most likely result
in the optimal rotation. We compared the algorithm with an exact branch-
and-bound algorithm for different experimental settings (for more details, see
Appendix A). In the experiments, we took H=1000. From the results we
conclude the following:
on a specific arrival time, then the barge operator agent calculates the
total sojourn time in the port. If this time exceeds the time window of
the barge, it cancels all appointments with the terminal operator agents
and it considers the second ranked rotation in the same way as the first
rotation. If a rotation can be completed within the time window, then the
barge operator agent accepts the appointments made for this rotation. If
the barge operator agent has arrived at the tenth ranked rotation and still
did not find a feasible rotation, it stops considering other rotations and
accepts the appointments made for the tenth terminal. This approach
is similar to the model used in a previous study (Connekt, 2003) and
is inspired by practice, where barge operators improve their rotation by
contacting terminals iteratively, until they are satisfied with a certain
rotation or they simply stop putting effort in finding improvements if it
takes too much time.
Recall that these two levels of information exchange relate to the first phase
of the barge operator agents’ decision process when the agent determines the
best rotation for its principal (see Section 3.5.1).
The terminal operator agent has two tasks. First, it has to make appointments
with barge operator agents and second, it has to keep these appointments.
Making appointments concerns the generation of the waiting profile, indicating
the preferred handling times of the barge. This is done in response to a request
of a barge. Keeping appointments is about scheduling the barges with which
already appointments are made, such that no appointment is violated.
To schedule the expected barges, the terminal has to decide how the barges are
assigned to the available quays, such that all appointments are met, i.e., the
handling of no barge is started later than its LST. Starting the handling of a
barge later than its LST is not permitted in our model.
To determine the quay waiting profile, we first determine all start intervals
for barge b in the current quay schedule. A start interval is defined as a time
interval in which the handling of the concerning barge could be started immedi-
ately, without violating any appointments made with other barges. The start
5.4. The terminal operator agent 101
Repeating the steps for all possible insertion points, results in a list with start
intervals ordered on start time. Table 5.2 presents the start intervals for the
example schedule of Table 5.1.
Once we have determined the start intervals, we need to evaluate whether the
start intervals are disjoint. If the end time of start interval i is larger than the
start time of start interval i + 1, we set the end time of start interval i equal
to the starting time of start interval i + 1. We cannot make one start interval
out of these two start intervals, since they correspond with different insertion
points in the schedule.
To determine the waiting profile we evaluate, starting from the current time
t0 , for all possible arrival times t in the time interval [t0 , ∞) the corresponding
maximum waiting time. We do this as follows. If arrival time t is in one of the
start intervals, the corresponding waiting time wt = 0. If arrival time t is not
an element of one of the start intervals, the corresponding maximum waiting
time wt is equal to the time until the start time of the first start interval after
t. The latter means that maximum waiting times are linear functions in time,
which means that we only need to evaluate the times t ∈ [t0 , ∞) at which
the maximum waiting times change. Changes correspond directly with the
start times of all start intervals, including the actual time t0 . Considering our
example we denote the resulting waiting profile in Table 5.3, where t0 = 0.
102 Chapter 5. Waiting profiles
Waiting profile
20
Max waiting time
15
10
0
0 20 40 60
Tim e
The maximum waiting times are given by linear functions with slope -1 and a
minimum of zero. See Figure 5.1 for a visual representation.
Quay 1 Quay 2
Time Max waiting Insertion Time Max waiting Insertion
time point time point
0 0 0 0 0 0
5 15 1 10 15 1
25 15 2 25 5 2
Table 5.4: Example of a waiting profile of two quays
In the example it is clear that the maximum waiting time changes at time
t = 0, 5, 10, 25. Since a waiting profile can be expressed by linear functions, the
resulting terminal profile can easily be obtained (see Table 5.5 and Figure 5.2).
5.5. Experimental settings 103
Waiting profiles
20
Max waiting time
15
10
0
0 20 40 60
Tim e
Quay 1 Quay 2 Terminal
Figure 5.2: The terminal waiting profile derived from the quay waiting profiles
The minimum maximum waiting time in the waiting profile is now equal to
zero. This means that a barge can get a maximum waiting time of zero after
its arrival time. The result is that the terminal operator has no flexibility in
its schedule anymore, since this barge must be started at the agreed time. To
increase flexibility, we can add some slack s to the maximum waiting time,
which means that we augment the maximum waiting time at every time t with
an amount s. Note that s = 0 resembles the issuing of time windows. In
the experiments, we evaluate different values of s to see the impact on the
performance of both the terminals and the barges (see Section 5.5).
profiles we also vary the value of s (the additional flexibility in the waiting
profile) for s ∈ {0, 30, 60}, with s in minutes.
All scenarios have a run length of 100 days. We apply a warm-up period of
ten days (which proves to be sufficiently long) and a cool-down period of three
days. The length of these periods are determined by a graphical procedure
(the method of Welch (1983)). We evaluated the development of the average
project lateness by taking the moving average over the successive barges until
the average project lateness becomes more or less stable. The length of the
warm-up period is especially important for higher utilized networks. In that
case it takes some time before the system is fully loaded. To calculate the
results of the off-line benchmark, we take only nineteen days, with the same
warm-up and cool-down period as in the simulations. The reason why we
consider nineteen days is that this is still computationally viable to compute
with the off-line benchmark, whereas the number of days that can be used
for the analysis, after subtracting the warm-up and cool-down period, is still
acceptable. The primary objective of the off-line benchmark is minimizing
the sum of the project tardiness, and the secondary objective to minimize the
fraction of late barges. Since it is possible that the total project tardiness for
specific scenarios is zero, we also implemented the standard RCPSP objective
to the problem, i.e., the primary objective is to minimize the maximum project
lateness and the secondary objective is to minimize the total project lateness.
In fact we have two benchmarks; one based on total project tardiness and one
on maximum project lateness.
Recall that all handling and sailing times are deterministic. As time unit we use
minutes in our experiments. To speed up the simulation we let the terminals
reconsider their quay schedules not on every arriving barge, but after every ten
arriving barges.
5.6 Results
In this section we describe the results of our experiments. In Section 5.6.1
we compare the results of the different models we consider, namely the Multi-
Agent system (including the different levels of information exchange) and the
off-line benchmark. Then we take a closer look at the waiting and sailing time
in the rotation in Section 5.6.2 to gain insight in the way our Multi-Agent
system performs.
all considered scenarios, specified for the number of quays (one and two), and
the utilization degree of the terminal (50% and 90%).
300
Average project tardiness (min.)
Figure 5.3: The average project tar- Figure 5.4: The average project tar-
diness per barge averaged over all diness per barge averaged over all
considered scenarios, specified for the considered scenarios, specified for the
number of quays per terminal and a number of quays per terminal and a
utilization degree of 50% utilization degree of 90%
The aim of Figure 5.3 and 5.4 is not to give an estimate of the average project
tardiness of the barges, but to depict patterns that arise in each of the scenarios.
Looking at Figure 5.3 and 5.4, we make the following observations. First, the
average project tardiness correlates with the utilization degree of the terminals.
Second, the average project tardiness reduces significantly when all terminals
increase their capacity (from one to two quays) for the same utilization degree.
This effect is in accordance with queuing theory, especially theory on queuing
systems consisting of multiple servers (see, e.g., Gross and Harris, 1998). Third,
the effect of adding slack s to the waiting profiles (see Section 5.4.3) depends
on the average utilization degree of the terminals.
We depict the results for the average project tardiness, but similar results are
found considering the fraction of late barges and the average project lateness.
If we take a closer look at the results, we conclude that issuing waiting profiles
performs significantly better for all scenarios than yes/no or no information ex-
change. Yes/no information exchange in turn performs significantly better than
no information exchange in terms of fraction of late barges, but not necessarily
in terms of average project lateness or average project tardiness.
For network layout II and III (see Figure 4.10), our experiments show that the
relative performance of the different levels of information exchange are similar,
although the average performance in the ‘line network’ is slightly better than
in the ‘triangle network’. This is because barges visit region B only once in the
latter network and twice in the ‘line network’. Therefore, in the ‘line network’
barges have the possibility to visit the terminals in region B partly before and
partly after visiting region C.
106 Chapter 5. Waiting profiles
1000
Figure 5.5: Average project tardiness Figure 5.6: Average project lateness
per barge averaged over all scenarios per barge averaged over all scenarios
and compared with the off-line bench- and compared with the off-line bench-
mark mark
If we take a closer look at the waiting profiles, we observe that the benefit of
a certain amount of slack added to the waiting profile clearly depends on the
utilization degree of the terminals in the network and whether barges use fixed
or variable time windows. The best amount of slack for different utilization
degrees, and fixed or variable time windows is denoted in Table 5.6. The
reason why more slack is needed in case of variable compared to fixed time
windows is explained in Section 7.2.5.
With respect to a Multi-Agent system using waiting profiles, we see that both
terminals and barges benefit from adding slack to the waiting profile. The
5.6. Results 107
In case we add slack to the waiting profile, it might happen that a barge has
to wait less than its maximum waiting time and arrives earlier at the next
terminal. This terminal can then decide to process the barge earlier if no
other appointments are violated. A difference between the announced and the
realized waiting time is to be expected in this case. Barges can possibly benefit
from this by estimating the waiting time instead of using the maximum waiting
time during the planning of the rotation. However, it might then happen that a
barge makes a wrong estimate of the waiting time and has to replan its rotation
if it cannot arrive timely at a terminal. This is a topic for future research.
5,000
Avg total waiting time (min)
5,000
(min)
2,500 2,500
2,000 2,000
1,500 1,500
1,000 1,000
500 500
- -
- 5 10 15 - 5 10 15
Figure 5.7: Average total waiting time Figure 5.8: Average total waiting and
for different levels of slack and differ- sailing time for different levels of slack
ent rotation lengths and different rotation lengths
barges, if they visit more terminals, use the waiting time at terminal A to visit
another terminal B. Waiting time is then used partly for sailing, handling, and
waiting at terminal B. Especially when a barge visits more terminals, it has
more options to minimize its total waiting time in a rotation.
minutes
5000
5000
minutes
4500 4500
4000 4000
3500 3500
3000 3000
2500 2500
2000 2000
1500 1500
1000 1000
500 500
0 0
0 5 10 15 0 5 10 15
1 5 1 5
10 15 10 15
terminal in rotation terminal in rotation
Duration rotation Duration rotation
Figure 5.9: The avg waiting time at a Figure 5.10: The avg waiting time
terminal measured at time t0 as func- at a terminal measured at time t0 as
tion of the position of the terminal in function of the position of the termi-
a rotation with a specific length (1, 5, nal in a rotation with a specific length
10, and 15). Results for a utilization (1, 5, 10, and 15). Results for a uti-
degree of terminals of 50% lization degree of terminals of 90%
Let us take a closer look at the waiting times at terminals when barges plan
their rotation. We are interested in the correlation between the waiting times
at terminals and the order in which a barge visits the terminals concerned.
Consider a barge with a specific rotation length. In order to plan a rotation,
the barge requests waiting profiles at the terminals that have to be visited.
At the time these waiting profiles are issued to the barge, we (as researchers)
collect these waiting profiles and extract from these the waiting time at each
terminal at that very moment. Then we consider the rotation a barge has
planned based on these waiting profiles and we link the observed waiting time
at each terminal to the position of that terminal in the rotation. We average the
5.6. Results 109
observed waiting time at the nth terminal in the rotation of all barges with the
same rotation length. In the Figures 5.9 and 5.10 we depict the average waiting
time at the nth terminal in the rotation, at the time a barge plans its rotation.
To create the figures we use the results for waiting profile communication with
30 minutes slack and we specified the results for different utilization degrees.
For comparison, we also depict the average duration of a rotation for different
rotation lengths. Note that the x-axis for the average duration denotes the
rotation length, whereas for the other lines the x-axis denotes the nth terminal
visited in the rotation. The results indicate that terminals with long waiting
times -as perceived at the very moment of planning- are usually visited at the
end of the rotation. In general, however, most terminals do not have long
waiting times at the time a barge plans its rotation, which means that they
can be visited rather easily in the short run.
Considering Figure 5.9 and especially Figure 5.10 (results for a utilization de-
gree of 90%) we gain the following insights. First, if the utilization of the
network increases, then the waiting time at a terminal -as perceived at the
very moment of planning- determines to a large extent the position of this ter-
minal in the rotation. The longer the waiting time the later the terminal will
be visited in the rotation. Second, the waiting times at terminals determine to
a large extent the duration of the rotation, especially the waiting time at the
last terminal. Third, barges with short rotations face relatively much waiting
time at a terminal compared to barges with long rotations. In a network with a
low utilization degree there seems to be no significant correlation between the
waiting time at terminal -as perceived at the very moment of planning- and
the position of the terminal in the rotation.
Recall that barges use the maximum waiting time given by the waiting profiles
to plan their rotation. This means that if terminals add more slack to their
waiting profile, then the rotations of barges will be spread over a longer period
of time. The result is that terminals have less ‘dense’ quay schedules and
therefore, there are more opportunities for future barges to visit a terminal
in the short run. We can see this effect if we look at the waiting time at
terminals as perceived at the time a barge plans its rotation. If terminals apply
60 instead of 0 minutes slack, then the average waiting at a terminal, for a
barge with rotation length one, drops from 2,500 to 1,000 minutes.
Based on Figure 5.10 it is clear that usually the terminal with the longest
waiting time is put at the end of the rotation. We find a similar result if we look
at the average waiting time a barge faces at successive terminals. In Figures
5.11 and 5.12 we depict the waiting time of barges with different rotation
lengths experienced at successive terminals during execution of a rotation. The
results are depicted for the same scenario as we used for Figure 5.7 and 5.8,
using waiting profile communication with 30 minutes slack. The reason why
we also depict the 90% utilization degree (Figure 5.12) is that in this setting
110 Chapter 5. Waiting profiles
1400 1400
800 800
(min)
(min)
600 600
400 400
200 200
0 0
0 5 10 15 0 5 10 15
Figure 5.11: Waiting time barges face Figure 5.12: Waiting time barges face
on average at the nth terminal in their on average at the nth terminal in their
rotation during execution of their ro- rotation during execution of their ro-
tation. Results for 50% utilization de- tation. Results for 90% utilization de-
gree and different rotation lengths (1, gree and different rotation lengths (1,
5, 10, and 15) 5, 10, and 15)
the impact of waiting times on the duration of barges becomes most apparent.
Typical in Figure 5.12 is the bend at the end of each line, which means that
barges wait relatively more at the last terminal than at previous terminals.
From the picture it becomes clear again that barges with long rotations face
on average less waiting time per terminal.
Based on the figures we just discussed we can conclude that if the terminals
are highly utilized, it seems not to really matter for barges how many terminals
they visit with respect to average total waiting and sailing time. For terminals,
however, it does matter since longer rotations imply smaller call sizes at ter-
minals which implies in turn more barge visits per time unit, and every visit
results in mooring time during which the quay cranes are not productive.
Considering the average waiting time that successive barges face at terminals,
we see great fluctuations if the utilization degree of terminals increases. This
5.6. Results 111
180
(min)
80
60
40
20
0
Utilisation Utilisation Utilisation
degree 50%, degree 75%, degree 90%,
slack=0 slack=30 slack=60
One quay Two quays
Figure 5.13: The amount of slack that leads to the lowest average waiting time
per terminal, specified for different terminal utilization degrees. Results are
presented for scenarios with network layout II, 9 terminals per region where
terminals have one or two quays
Also in our simulations we find a relationship between the call size (the process-
ing time) and the waiting time at the terminal. In Figure 5.14 we approximate
this relationship for the same scenario as used in Figures 5.7 and 5.8 in case
we use waiting profiles with a slack of 30 minutes. Note that processing times
are drawn from a normal distribution (see Section 4.6.2), which means that
the results for small and large processing times are based on a limited number
of observations. This explains the fluctuations in the graph. The depicted
relationship between the processing time and the average waiting time at a
terminal is only found for higher utilization degrees (>75%). For lower utiliza-
tion degrees the relationship is not significant. In Figure 5.15 we combine the
insights obtained from Figures 5.10 and 5.14, by depicting the relation between
the average processing time at a terminal and the position of the terminal in a
112 Chapter 5. Waiting profiles
600 110
400 105
200 100
0 95
0 50 100 150 200 0 5 10 15
Observed data Processing time 1 5 Nde terminal in rotation
Approx data 10 15
rotation.
We remark that the average waiting time at a terminal is not only determined
by the processing time at the terminal concerned, but also on the number of
terminals a barge has to visit in its rotation as we have explained based on
Figures 5.9 and 5.10.
5.7 Conclusions
In this chapter we evaluated the performance of our Multi-Agent system. We
modeled the barge and the terminal operator and described in detail how wait-
ing profiles can be constructed. We evaluated our Multi-Agent system by means
of simulation and compared the results with alternative levels of information
exchange and the off-line benchmark. We analyzed the results and provided
several insights in the functioning of a distributed control in our problem.
Based on the result we think that our decentralized control based on issuing
waiting profiles (compared to centralized control) is promising as a control
structure enabling an efficient barge handling process. We think of several rea-
sons. First, we can reduce the communicational burden for practitioners by
reducing the communication necessary to make appointments, and by speed-
ing up the communication through automation. Second, we can significantly
improve outcome of the communication. Third, when we take into account
that our off-line benchmark (resembling central control) has a priori informa-
tion, we see that, especially the exchange of waiting profiles, performs quite
well. Moreover, our experiments indicate that an information exchange based
on waiting profiles reduces the average project tardiness per barge with almost
80% when compared to the situation in which no information is exchanged.
We therefore think that waiting profiles provide a promising protocol for our
problem. For the problem owners (the terminals and barges), this might mean
a huge improvement over the current situation.
113
Chapter 6
Service-time profiles
6.1 Introduction
In this chapter1 we make some practical extensions to the model we developed
in Chapter 5. These extensions concern restricted opening times of terminals,
unbalanced networks, sea vessels, and closing times of containers. To deal with
these realistic issues, we introduce the concept of service-time profiles, which
enables us to deal with time-dependent service-times. This allows barges to
plan a rotation along terminals, taking into account the availability of terminals
and the effect on the service time. We perform several simulations to analyze
the effect of different factors on the performance of barges and terminals, such
as restricted opening times and unbalanced networks. We compare the results
with the off-line benchmark. The model in this chapter forms a basis for
implementation in practice. Let us describe the contribution of this chapter,
our assumptions, and the outline of the chapter.
6.1.1 Contribution
In this chapter we extend the model proposed in Chapter 5 by introducing the
following practical extensions, which make the model more realistic:
(2008). Using service-time profiles for distributed planning of container barge rotations along
terminals. Beta-working paper WP-247. Submitted for publication.
114 Chapter 6. Service-time profiles
The aim of this chapter is i) to develop and extend our Multi-Agent system
to be able to deal with these more complicated settings and ii) to get insight
in the way the system functions. We extend the model proposed in Chapter
5 by introducing service-time profiles, which are an extension of the waiting
profiles with respect to time dependent service times. We consider different
experimental settings to evaluate (by means of simulation) the effect of in-
creasing degrees of complexity on the performance of the Multi-Agent based
controls and to compare the results (obtained by simulation) with an off-line
benchmark, which is a central algorithm based on the assumption that infor-
mation over the whole planning horizon is known a priori. This information
concerns the arrival times of barges and sea vessels, the terminals each barge
or sea vessel has to visit, the processing time of each barge and sea vessel,
the terminals and their capacity (including opening times), the closing times
of containers, and the sailing times in the network. In the off-line benchmark
this information is known prior to the related planning horizon, whereas in the
Multi-Agent based control, this information is revealed gradually during the
planning horizon (except for opening times of terminals, and the arrival and
processing times of sea vessels).
6.1.2 Assumptions
We make the following assumptions. Barges arrive over time with independent
stochastic interarrival times. On arrival in the port the barge operator decides
which rotation a barge is going to execute. Decisions of both barges and ter-
minals have to be made in real-time and we assume that two barge operators
do not plan rotations simultaneously, but one after another. With respect to a
terminal, we assume that it handles both barges and sea vessels. With respect
to barges, terminals only have information about barges that arrived in the
port. The service of a barge is not preempted for the service of another barge.
Terminals have fixed capacity and can have restricted opening times, during
which barges can be processed. Opening times of terminals are hard, i.e., no
work is done in overtime. The time to handle a container, the mooring time,
and the sailing time between terminals are deterministic. Sea vessels arrive
with stochastic interarrival times at terminals and processing takes a stochas-
tic amount of time. Arrival times and handling times of sea vessels are known
to the terminal prior to the planning horizon. Sea vessels have absolute priority
over barges.
With respect to a barge we assume that, on arrival in the port, it needs to make
a decision about the sequence in which it visits the terminals concerned. On
6.2. Practical extensions 115
arrival in the port, the barge has information about the terminals it has to visit,
the number of container it has to (un)load at each terminal, and the mooring
time at and the sailing time between terminals. It has no information about
the state of the network, such as waiting times at terminals. We consider no
capacity or stowage constraints for the barge. Barges visit terminals only once.
We define closing of a terminal as preemptive downtime, and the processing of
a sea vessel as non-preemptive downtime. Preemptive downtime means that
the handling of a barge may start before the downtime and finish after it
(Schutten, 1998). Non-preemptive downtime means that the handling of a
barge might not be interrupted by a downtime. We do not consider disturbances
and their effect on the operations of barges and terminals. These assumptions
allow barges and terminal operators to make reliable appointments, since no
unexpected delays occur. Introducing disturbances requires the introduction
of a kind of penalty, e.g., penalty costs, if appointments are not met by one of
the parties. This is part of future research.
Restricted opening times of terminals mean that terminals are only opened
during a certain time window every day or week. In the Port of Rotterdam
a lot of terminals are closed during the night, especially the smaller terminals
near the city. This means that the processing of a barge can be interrupted
by closing of the terminal, which impacts the sojourn time at the terminal
significantly. We assume that opening times of terminals are hard, i.e., even
when a barge only needs to load or unload one container at the moment the
terminal closes, it has to wait until the terminal opens again. This is not
realistic for all terminals in the port, but in general it is true that workers
at the terminal hardly work overtime. In our model we consider closing of a
terminal as preemptive downtime (see Section 6.1.2).
116 Chapter 6. Service-time profiles
With unbalanced networks we mean that i) terminals are not identical, but have
a different capacity and utilization degree and ii) can be distributed unequally
over the port, resulting in busy and quiet regions. This is a realistic situation.
In the Port of Rotterdam, e.g., about 80% of all container transshipment takes
place in one region.
Sea vessels are handled in the Port of Rotterdam only at a few terminals that
are able to receive these large vessels. For all these terminals it holds that sea
vessels have absolute priority over barges, which means that the handling of a
barge is stopped at the time a sea vessel arrives. We consider sea vessels as
non-preemptive downtime (see Section 6.1.2). This choice is in accordance with
the current practice in the port, although some terminals sometimes process
barges in parallel. Sea vessels have long processing times compared to barges.
Sea vessels therefore significantly impact the capacity available for barges. To
determine the interarrival and processing time distributions of sea vessels, we
analyzed data of sea vessels that arrived from 2005 until 2007 at the major
terminals in the Port of Rotterdam. See also Kuo et al. (2006) for a case study
into arrival patterns of container vessels in international ports in Taiwan.
If the service time of a barge is time dependent, it is clear that waiting pro-
files alone do not offer enough information to barge operators. To be able to
optimize a rotation, additional information about the service time needs to be
revealed by the terminal. To keep the information exchange between terminals
6.4. The barge operator agent 117
70
Service time 70
Service time
60 60
50 50
40 40
30 30
20 20
10 10
0 0
0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70
Time Time
ST profile WT profile ST profile
Let us consider one specific barge entering the port. The barge operator agent
of this barge is assumed to have the following information. First, it knows
the set N of terminals that have to be visited. This set is a subset of all the
terminals in the port. We assume that the agent knows the maximum service
time θjt , for every terminal j ∈ N and every arrival moment t. The maximum
service time can be derived from the service-time profile and consists of waiting
and handling time at the terminal. The handling time hj consist of the time
needed for loading and unloading of containers, as well as the mooring time
on arrival and departure. In addition, the agent knows the sailing times sj1 j2
between every pair of terminals (j1 , j2 ), where j1 , j2 ∈ N . We assume that
both the sailing and the handling time are deterministic. Let w be the planned
port departure time set in the sailing schedule and cj the earliest closing time
of all containers that have to be (un)loaded at terminal j. Without loss of
generality we assume cj ≤ w. Every barge enters and leaves the port via a port
entrance and exit point.
In case containers have a closing time, then the barge operator has to weigh
‘sticking to the sailing schedule’ and ‘meeting the closing times of containers’,
i.e., it has to weigh project tardiness against activity tardiness. The extent to
which a barge operator agent can realize this objective depends both on the
actual state of the port and the information it has about this. Optimizing its
rotation, the barge operator assumes that the service time at the terminal will
be equal to the time expressed in the service-time profile (which is actually
a maximum service time). We can now model the barge operator agent by
a time dependent traveling salesman problem (TDTSP). We define the time
dependent travel time τ j1 j2 (dj1 ) = sj1 j2 + θj2 ,aj (dj ) , as the sum of the sailing
2 1
and service time going from terminal j1 to j2 , where the barge departs at
time dj1 at terminal j1 . The aim of the barge is to find a rotation along all
terminals it has to visit, such that the sum of the time dependent travel times
is minimized. We assume that a barge visits a terminal only once.
6.4. The barge operator agent 119
Objective
To deal with closing times of containers we have to adapt the objective function
of the algorithms we use. Let ω A j denote the activity lateness at terminal j.
If one or more containers at terminal j has a closing time, then ω Aj = dj − cj
P
and is zero otherwise. The project lateness is denoted by ω and is equal to
the actual time the barge leaves the port minus the planned departure time
w. To weigh project and activity tardiness we introduce γ ≥ 0, the so-called
project tardiness penalty. The primary and secondary objective functions are
then equal to
⎡ ⎤
¡ P ¢+ X ¡ A ¢+
primary objective: min ⎣γ · ω + ωj ⎦
j∈N
P
secondary objective: min ω
So, we consider all possible scenarios and select the rotation that minimizes
the weighed sum of the project and the total activity tardiness. If two or more
rotations are equal in this respect, we minimize the project lateness, i.e., we
prefer to let the barge leave the port as soon as possible.
this stage and let N N inT be the terminals that still need to be added. Let the
current duration of the rotation be denoted by t. The activity lateness ω A j at
terminal j ∈ N inT is calculated as we described above. The activity lateness
ω̂ A
j at terminal j ∈ N
NinT
is equal to t − cj if one or more of the container that
has to be transshipped at terminal j has a closing time, and is zero otherwise.
The selection criterion we use is then given by:
⎡ ⎤
X ¡ ¢+ X ³ ´+
selection criterion: min ⎣γ · ω P + ωA
j + ω̂ A
j
⎦
j∈N inT j∈N N inT
The terminal operator agent has two tasks. First, it has to make appointments
and second, it has to keep its appointments. Making appointments concerns
the construction of the service-time profile, indicating the preferred handling
times of the barge. Keeping appointments is about scheduling the barges with
which already appointments are made, such that no appointment is violated.
6.5. The terminal operator agent 121
To schedule the expected barges, the terminal has to decide how the barges are
assigned to the available quays, such that all appointments are met, i.e., the
122 Chapter 6. Service-time profiles
quay 0
quay 1
quay 2
0 5 10 15 20
time
Figure 6.3: Example of a quay schedule of a terminal. The bars represent the
scheduled time for sea vessels at each quay
handling of no barge is finished later than its LDT. Finishing the handling of
a barge later than its LDT is not permitted in our model. By scheduling the
barges, the terminal has to take into account the sea vessels that arrive in the
near future. For every sea vessel the terminal knows the number of quays it
needs and the amount of containers it needs to load and unload. We assume
that sea vessels are known a priori to the planning horizon, or at least so early
that no conflict arises with yet scheduled barges. We assume that sea vessels
are scheduled in the order of arrival.
We schedule sea vessels in the following way. Let τ j be the departure time
of the last scheduled sea vessel on quay qj , k the number of quays required
for the sea vessel that is to be scheduled, and ta the arrival time of the
sea vessel. A sea vessel is then assigned to a group of quays qi , ..., qi+k−1
for which the most time has elapsed after the last scheduled sea vessel, i.e.,
maxi=0,...,|Q|−k minj=i,...,i+k−1 [ta − τ j ]. Suppose we have to schedule a sea
vessel arriving at time ta = 20, requiring two quays, and that we have already
a schedule as given in Figure 6.3. The sea vessel is now scheduled on quays q0
and q1 .
The primary objective for the terminal for the scheduling of the barges is to
minimize the maximum terminal lateness and the secondary objective is to
minimize the average terminal lateness of all expected barges. We define the
terminal lateness of a barge as the expected departure time of this barge minus
its latest departure time. Remark that the terminal lateness always needs to
be less than or equal to zero, since all appointments with barges need to be
met. The algorithm we apply to obtain a schedule is list-scheduling in combi-
nation with depth-first branch-and-bound (see Schutten, 1996). The algorithm
is adapted to deal with sea vessels and restricted opening times, since these
events impact the start and service time of the barge. The basic idea of the
list scheduling algorithm is to make an ordered list of barges and to assign
these barges successively to the first available resource. The time the resource
(quay-crane-team combinations q) is available is determined iteratively starting
from the completion time tcq of the last scheduled barge. We use Algorithm 6.1,
where h denotes the processing time of the barge that is currently scheduled.
A good initial solution to the branch-and-bound algorithm is usually to sort
6.5. The terminal operator agent 123
barges based on latest departure time (LDT), which results in a strong bound
and makes the algorithm fast.
ok ← f alse
t ← tcq
while not ok do
h0 ← h
//First check the start and processing time with respect to closing of the
terminal
if t is during closing of the terminal then
increase t to the time the terminal is open again
else if t + h0 overlaps with closing of the terminal then
increase h0 with the time the terminal is closed
//Then check the start and processing time with respect to planned sea
vessels
if t + h0 overlaps with the processing of a sea vessel then
increase t to the time the processing of the sea vessel is completed
//Is the start time ok with respect to the closing of the terminal and
planned sea vessels?
if t = tcq then
ok ← true
else
tcq ← t
Algorithm 6.1: Calculating the first possible start time of an activity on a
resource
To determine all the start intervals we take two steps. The first step is similar
to the start interval procedure described in Chapter 5. For all insertion points
i we determine a start interval in the following way. We schedule all barges
and sea vessels before insertion point i as early as possible, and all barges and
sea vessels after insertion point i as late as possible. By doing so we take into
account the sequence in which the ships are scheduled as well as the restricted
opening times of the terminal. Let mi and ni be the respective start and end
of start interval i. Then mi becomes equal to the EDT of ship i (the last
scheduled ship (barge or sea vessel) before insertion point i), and ni is equal
to the P STi+1 − P T , where P STi+1 denotes the planned (and latest possible)
starting time of the first scheduled ship after insertion point i. If ni < mi then
the start interval is empty and we do not consider it anymore. If mi ≤ ni then
we maintain the start interval.
Once we have considered all possible insertion points i in the quay schedule,
we proceed to step two. In this step we evaluate whether the processing of a
barge is interrupted by the closing of the terminal when we start the handling
of a barge during start interval i. This could mean h that iwe have to adjust start
0 0 0 0
interval [mi , ni ] resulting in a new start interval mi , ni ⊂ [mi , ni ]. If ni < mi
then the adjusted start interval is empty and we do not consider it anymore.
Otherwise we maintain the start interval.
In Table 6.2 we give six possible elementary relations between a start interval
and closing of the terminal. In Table 6.2 we denote the interval in which the
terminal is closed with [es , ec ]. Note that P STi+1 ∈
/ [es , ec ] . Let us consider the
fifth situation in Table 6.2. We see that in this situation mi < es < ni ≤ ec .
Assuming that we derived the start interval [mi , ni ] in the way we describe
above, then ni = P STi+1 − P T . However, if we start barge b in interval [es , ni ]
the completion time of barge b will be greater than P STi+1 . This means that
0
we have to decrease ni such that ni + P T + ec − es ≤ P STi+1 . Rewriting
0
the expression gives ni = ni + es − ec . The example is just one illustration of
6.5. The terminal operator agent 125
infeasible inter-
es ≤ mi < ni ≤ ec
e s
mi ni ec Time val
0
mi = mi and
es < ec ≤ mi < ni 0
es ec m n Time ni = ni
i i
If es < ni + P T
0
then mi = mi
0
and ni = ni +
mi < ni ≤ es < ec es − ec . If ni +
mi ni e
s
ec Time P T < es then
0
mi = mi and
0
ni = ni .
0
mi = mi and
mi < es < ni ≤ ec 0
mi es n ec Time ni = ni + es − ec
i
0
mi = ec and
es ≤ mi < ec < ni 0
es m ec n Time ni = ni
i i
Table 6.2: Six possible elementary relations between start intervals and closing
of the terminal
126 Chapter 6. Service-time profiles
how a start interval has to be adapted. In practice all other kind of (nested)
situations can exist.
In the example it is clear that start interval one overlaps with closing of the
terminal, which means that we possibly have to adjust the interval. However, in
this situation the start interval can be maintained, since the barge handling can
be completed without any problem before the next scheduled barge. During
the interval the service time will vary. The terminal in our example has one
quay and the resulting terminal waiting profile is depicted in Figure 6.4.
service-time function, and s the amount of slack that is added to the maximum
service time to increase scheduling flexibility. The reason this function holds,
is that at time t + w (t) a barge can be started by definition, since w (t) is the
time till opening of the next start interval, and a start interval has the property
that the barge handling be started without violating any other appointments.
In addition to the maximum service time we also have to determine the slope
of the function. The slope of the function is -1 if w (t) > 0, and is equal to the
slope of the service-time function otherwise.
60 time
50 0 65 -1
40 15 50 -1
30
20 45 0
20
10
30 45 -1
0 50 40 -1
0 10 20 30 40 50 60 70 65 25 0
Time
WT profile ST function ST profile
The service-time profile of the example presented at the start of this section
is given in Figure 6.4. The corresponding data representation is presented in
Table 6.4. In the service-time profile we included 10 time units slack.
6.6.1 Introduction
We consider different experimental settings, namely data set 1 to 4 (see Sec-
tion 4.6), to evaluate the performance of the different levels of information
exchange. Each data set is divided in different scenarios. We consider the
effect of restricted opening times of terminals and unbalanced networks in sep-
arate experimental settings. We do not consider the effect of introducing sea
128 Chapter 6. Service-time profiles
vessels separately, since we expect that the effect will be similar to introducing
restricted opening times. Instead, we consider an experimental setting with
restricted opening times of terminals, unbalanced networks, sea vessels, and
closing times of containers. In future research one might consider also other
experimental settings, such as the effect of introducing sea vessels.
The primary objective of the off-line benchmark is minimizing the sum of the
project tardiness and the activity tardiness, and the secondary objective to
minimize the fraction of late barges. Note that if containers have no closing
time, then the activity tardiness will be zero. We then weigh the project
tardiness with a factor γ = 1. If containers do have a closing time (experimental
setting 3), then we use different values for γ, as we describe in Section 6.6.4.
terminals. With respect to the way terminals with restricted opening times
are distributed over the regions, we consider two network configurations. In
configuration A we close 50% of the terminals in every region (A, B, C). In
configuration B we close 100% of the terminals in region A, 50% of the terminal
in region B, and 0% of the terminals in region C.
Terminal type #Quays Utiliz. degree Mean call size Stdev call size
Alpha 1 50% 15 5
Beta 2 50% 15 5
Gamma 3 75% 40 20
Delta 6 90% 60 30
Table 6.5: Different types of terminals, with corresponding number of quays,
utilization degree, and average and standard deviation of the number of con-
tainers handled for every barge
The call sizes are drawn from a normal distribution. We simulate different
network layouts with specific configurations of terminal types, as given by Table
6.6. The reason we have chosen this distribution of terminals over the regions
is that it is comparable with the Port of Rotterdam. We have two relatively
quiet regions and one very busy region (region C) in the network layouts with
three regions.
Terminals are opened 24h a day in all experiments. The slack factor used for
the fixed time window is 0.75. The fixed slack y (slack per rotation) for the
variable time window is equal to 0.5 and the variable slack x (slack per terminal)
equal to 0.03. All experiments are replicated 10 times and each replication has
a length of 75 days. We apply a warm-up period of 10 days and a cool-down
period of 3 days.
130 Chapter 6. Service-time profiles
Slack option
Terminal type 1 2 3
Alpha 0 0 0
Beta 0 0 0
Gamma 30 30 30
Delta 30 60 90
Table 6.7: The amount of slack for different terminal types
The processing time of sea vessels is based on historical data of 23.000 container
sea vessels that visited the Port of Rotterdam at the major container terminals
in the period 2005-2007. Based on this data we decided to apply a beta dis-
tribution with parameters β 1 and β 2 , equal to 1.14 and 8.3, respectively. The
corresponding mean and standard deviation is equal to 770 and 645 minutes.
Based on these settings, we can calculate the number of sea vessels that have to
arrive during a certain time period in order to realize that terminals work 40%
of their time on sea vessels. We assume that sea vessels arrive at a terminal
with exponentially distributed interarrival times. The mean interarrival time
depends on the number of sea vessels the terminal has to process to realize the
utilization degree we aim for. If a sea vessel is about to arrive during processing
of another vessel and a terminal has no capacity available to process the vessel,
we delay the arrival of the sea vessel until the handling of the first sea vessel is
6.7. Results 131
completed. The arrival time of the next sea vessel, however, is calculated using
the initial arrival time of the previous vessel.
6.7 Results
In this section, we present the results and insight obtained after simulating all
the experimental settings described in Section 6.6. We describe the results of
Experimental Settings 1, 2, and 3 respectively.
If we look at the way barges deal with restricted opening times for different
levels of information exchange, we see that in case of service-time profiles,
barges avoid to visit terminals with restricted opening times at the end of
the day, i.e., right before the terminal closes. This holds especially for lower
utilization degrees. The reason is that barges limit the risk to stay overnight at
132 Chapter 6. Service-time profiles
1600 1600
Figure 6.5: The average project tardi- Figure 6.6: The average project late-
ness per barge averaged over all con- ness per barge averaged over all con-
sidered experiments, compared with sidered experiments, compared with
the off-line benchmark the off-line benchmark
a terminal which would lead to a significant longer sojourn time in the port. In
Figure 6.7 and 6.8, we depict the average fraction of nights barges were present
at a terminal (with restricted opening times), averaged over all terminals and all
scenarios, and specified for a utilization degree of 50 and 90%. Additionally, we
denoted the fraction of times a terminal started processing a barge at opening
of the terminal. It is clear that with service-time profiles communication barges
arrive during the night. This means in practice that terminal with restricted
opening times will see a reduced occupation of their quays at the end of the
day.
1.00 1.00
Fraction
Fraction
0.90 0.90
0.80 0.80
0.70 0.70
0.60 0.60
0.50 0.50
0.40 0.40
0.30 0.30
0.20 0.20
0.10 0.10
0.00 0.00
No Yes/No ST profiles, ST profiles, ST profiles, No Yes/No ST profiles, ST profiles, ST profiles,
information s=0 s=30 s=60 information s=0 s=30 s=60
% of nights barge present % of days terminal started handling barge % of nights barge present % of days terminal started handling barge
Figure 6.7: Fraction of barges dur- Figure 6.8: Fraction of barges dur-
ing the night present at the terminal ing the night present at the terminal
and fraction of barges for which the and fraction of barges for which the
processing has been started at the start processing has been started at the start
of the day. Results for different com- of the day. Results for different com-
munication protocols, averaged over munication protocols, averaged over
all scenarios with a 50% utilization all scenarios with a 90% utilization
degree degree
The sensitivity analysis reveals that an increase of the duration of the closing
of the terminals leads to an increase of the average sojourn time of barges in
the port. The extent to which the sojourn time increases depends on the way
the terminals (with restricted opening times) are distributed over the different
regions, and on the utilization degree of the network. We depicted the results
in Figures 6.9 to 6.12.
6.7. Results 133
2000 2000
1500 1500
1000 1000
500 500
0 0
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
Figure 6.9: Average sojourn time of Figure 6.10: Average sojourn time of
barges in a network with 50% utiliza- barges in a network with 50% utiliza-
tion degree and network configuration tion degree and network configuration
A. Results denoted for varying closing B. Results denoted for varying closing
times of terminals (in hours) times of terminals (in hours)
Avg sojourn time (min.)
5000 5000
4000 4000
3000 3000
2000 2000
1000 1000
0 0
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
0 4 6 0 4 6
8 12 # terminals in rotation 8 12 # terminals in rotation
Figure 6.11: Average sojourn time of Figure 6.12: Average sojourn time of
barges in a network with 90% utiliza- barges in a network with 90% utiliza-
tion degree and network configuration tion degree and network configuration
A. Results denoted for varying closing B. Results denoted for varying closing
times of terminals (in hours) times of terminals (in hours)
If terminals (with restricted opening times) are equally distributed over the
regions (configuration A) or the network utilization is low (say 50%), then the
sojourn time increases linearly in the duration of the closing. If terminals are
divided unequally over the regions (configuration B) and the network utilization
is high (say 90%), then we see that, the longer the terminal closes, the greater
the impact is on the sojourn of barges. The reason for the increase in sojourn
time is probably an increase in variability in the system. From the factors
determining the cycle time of a product, namely the variability, the utilization
degree and the processing time (Hopp and Spearman, 2000), only the variability
is affected.
134 Chapter 6. Service-time profiles
150 -300
-400
100
-500
50 -600
0 -700
No YesNo ST profiles ST profiles ST profiles ST profiles No YesNo ST profiles ST profiles ST profiles ST profiles
Information (s=0) (s=30) (s=60) (option 2) Information (s=0) (s=30) (s=60) (option 2)
Figure 6.13: Average project tardiness Figure 6.14: Average project lateness
per barges, averaged over all scenar- per barges, averaged over all scenar-
ios and specified for fixed and variable ios and specified for fixed and variable
time windows time windows
160
Average activity tardiness (minutes)
140
1600
1400
120
1200
100
1000
80 800
60 600
40 400
20 200
0 0
Off-line No information Yes/No ST profiles, Off-line No information Yes/No ST profiles,
benchmark s=option 2 benchmark s=option 2
Figure 6.15: Average activity tardi- Figure 6.16: Average project tardi-
ness for different levels of information ness for different levels of information
exchange, compared with the off-line exchange, compared with the off-line
benchmark. Results for project tardi- benchmark. Results for project tardi-
ness penalty equal to zero ness penalty equal to ten
Analysis of the results reveals that raising the project tardiness penalty from
zero to ten does not significantly affect the average project tardiness, but re-
duces the average activity tardiness slightly with about 5%. The explanation
136 Chapter 6. Service-time profiles
3000 3000
2500 2500
2000 2000
1500 1500
1000 1000
500 500
0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Figure 6.17: Average waiting time at Figure 6.18: Average waiting time at
t0 related to the position of the ter- t0 related to the position of the ter-
minal in the rotation. For compari- minal in the rotation. For compari-
son we also plotted the average dura- son we also plotted the average dura-
tion for different rotation lengths (1, tion for different rotation lengths (1,
5, 10, and 15) and a project tardiness 5, 10, and 15) and a project tardiness
penalty of zero penalty of ten
for the fact that project tardiness is not significantly affected is that some ter-
minals function as bottleneck, which means that the sojourn time of a barge is
mainly determined by the waiting time at this terminal. In Figure 6.17 and 6.18
we depicted the waiting time announced by terminals at time t0 (the time a
barge plans its rotation), related to the position of this terminal in the rotation
of the barge. We plotted this for different rotation lengths (1, 5, 10, and 15).
In addition, we plotted the average duration of different rotation lengths. We
conclude the following. First, it is clear that terminals with high waiting times
at time t0 are usually visited at the end of the rotation. Second, the waiting
time at this terminal determines to a large extent the total sojourn time of the
barge in the port. Third, we see that most terminals on average have some
waiting time at time t0 of about 400 minutes. This is probably due to the
restricted opening times and sea vessels that block capacity for a significant
amount of time. The fact that activity tardiness is only reduced by about 5%
is probably caused by the fact that barges plan rotations successively and have
very limited possibilities to reduce the activity tardiness, unless it is possible
to swap activities of two barges at the same terminal. Moreover, terminals do
not take into account the due date of a barge in their scheduling procedure. If
terminals would give the barges with a due date a higher priority, the average
tardiness might be reduced.
Figure 6.19 depicts the average sojourn time of barges for different rotation
lengths in Experimental Setting 2 and 3. It is clear the sojourn of time of barges
increases significantly as a result of sea vessels, restricted opening times, and
closing times of containers. The reason for this increase is mainly an increase
in waiting time at terminals, as indicated by Figure 6.20. Figure 6.20 shows
the average amount of sailing, service, and waiting time in an average rotation
(seven terminals) in Experimental Settings 2 and 3.
6.8. Conclusions 137
Figure 6.19: Average sojourn time of Figure 6.20: Average service, sailing,
barges in Experimental Setting 2 and and waiting time for a rotation with
3, related to the length of the rotation 7 terminal visits. Results for Experi-
mental Setting 2 and 3
6.8 Conclusions
In this chapter we considered practical extensions to make the model we de-
veloped in Chapter 5 suitable for a realistic situation. These extensions are
restricted opening times of terminals, unbalanced networks, sea vessels, and
closing times of containers. It turns out that waiting profile communication
is not sufficient in these situations. The reason is that, besides waiting time,
also the service time of a barge becomes time-dependent, e.g., when the barge
handling cannot be finished before closing of the terminal. We therefore pro-
pose service-time profiles, which are an extension of the waiting profiles and
include time-dependent service-times.
The change from waiting to service-time profiles, as well as the other practical
extensions, requires some adaptations of the barge and terminal operator agent
algorithms. We explained, e.g., how a service-time profile can be constructed
and how barge operator agents can deal with closing times of containers. We
performed different experiments to gain insight in the effect of a certain ex-
tension, such as restricted opening times, on the performance of barges and
terminals. We compared the results with an off-line benchmark.
The experiments revealed that also in a more realistic setting service-time pro-
files in general perform well. If we look more specifically at the results, we
saw that if terminals have restricted opening times, barges prefer not to visit
these terminals when the terminals are about to close. The reason is that they
want to reduce the risk to stay overnight at the terminal. If the utilization
degree of the terminals increases, however, then more barges tend to stay at a
terminal during the night. We found that the longer the terminals are closed,
the longer the sojourn time of barges in the port. In case of unbalanced net-
works, we saw that an increase in total capacity of the network reduces the
average sojourn time of barges. Moreover, the average waiting time at a ter-
minal can be reduced further when terminals add different amounts of slack to
138 Chapter 6. Service-time profiles
their service-time profile. If we introduced also sea vessels and closing times
of containers, then we found that the Multi-Agent based approach based on
service-time profiles performs well compared to other levels of information ex-
change. However, the approach has some difficulty to minimize the activity
tardiness. The reason is that barges plan rotations successively and have no
opportunity to swap activities with other barges. Moreover, terminals do not
take into account the closing times of activities during their scheduling. The
latter two issues are interesting extensions of our model. Finally, we found that
the introduction of sea vessels and closing times of containers lead to signifi-
cant sojourn times of barges in the port, which is mainly caused by increased
waiting time at terminals.
Chapter 7
7.1 Introduction
In the Chapters 5 and 6 we developed a Multi-Agent system based on the
assumptions that i) no disturbances occur during the operations of barges and
terminals, and ii) barge and terminal operators want to make appointments
for the handling of a barge. Both of these assumptions impact the design and
performance of our Multi-Agent system. In this chapter we investigate the
effect of relaxing both assumptions. For convenience we return to the port
settings of Chapter 5. In Chapter 5 we considered simplified port settings,
without restricted opening times, unbalanced networks, sea vessels, and closing
times of containers.
(2008). Degree of cooperativeness of terminals and the effect on the barge handling process.
HMS2008 conference proceedings, Italy.
140 Chapter 7. Extensions to the model
that they give insight in their occupation during the day. However, in prac-
tice the attitude of terminals might be less cooperative, e.g., terminals might
not keep the agreements with barges or give limited insight in their occupa-
tion. The aim of this section is to provide insight in the effect of the degree of
cooperativeness of terminals on the barge handling process.
The long-term relationships between terminals and barges might influence the
decisions both actors make and the service they are willing to offer. It turns
out that in the barge handling problem, the behavior of terminals is difficult
to regulate within the system (see Section 7.2.2 for an explanation). However,
when terminals offer better services to barges, their relationship might improve
in the long term. Services can be, e.g., guarantees on waiting times (Kumar
et al., 1997; Whitt, 1999).
1. Fully cooperative: a terminal issues waiting profiles and keeps the ap-
pointments made with barges.
2. Partly cooperative: a terminal issues waiting profiles, but processes barges
first-come first-served (FCFS).
3. Lowly cooperative: a terminal gives (limited) insight in the current state
of the barge queue at the terminal, and processes barges first-come first-
served (FCFS).
Note that appointments are only made in the fully cooperative case. The model
and the results for the fully cooperative case are already presented in Chapter
5. In this chapter we discuss the lowly and partly cooperative case. For the
fully and partly cooperative case we assume that waiting profiles are issued only
once per rotation. In the lowly cooperative case, however, a terminal informs
the barge about the current state of the queue at any moment a barge asks
for it, even repeatedly. The model we apply for the lowly cooperative case is
different from the model we use for the fully and partly cooperative case and
is introduced in Section 7.2.3.
One might argue that in the lowly cooperative case terminals are not that
uncooperative, since they provide information at any moment a barge asks for
it. We still stick to the label ‘lowly cooperative’ for two reasons. First, the
quality of information is low (only the current queue length). Second, this
142 Chapter 7. Extensions to the model
label can also be used in the case of absolute lack of terminal information,
provided that barges are learning about queue lengths by other means such as
barge transponders, eye-sight, or friendly colleagues.
We first describe the lowly cooperative and then the partly cooperative case.
Model
The model we use to simulate the lowly cooperative case is different from the
models in Chapter 5 and 6. In these chapters we assume that barge operator
agents plan a rotation on arrival in the port and do not reconsider their rotation
later on. In the lowly cooperative case barges do not plan a rotation once on
arrival in the port, but they construct their rotation by choosing terminals
successively during their stay in the port. We have modeled this as follows.
On the geographical layout of the port we map a network of decision points.
Decision points are virtual points at which a barge operator agent has to make a
decision. The idea is that barges sail (virtually) from decision point to decision
point. In this way barges make decisions as late as possible, which gives an
agent the possibility to include the most recent information in the decision.
Figure 7.1 gives a conceptual representation of the network of decision points.
We define the following decision points (see Figure 7.1). On arrival in the port
the barge operator agent first chooses which region (cluster of terminals) it
wants to visit. This decision has to be made in node start. On arrival in this
region it either decides to pass the region or to visit a terminal (node choose
terminal or leave region). If it decides to visit a terminal, the barge operator
can decide, on arrival at the terminal, to enter the queue (node decide to enter
queue at terminal). If it enters the queue it can reconsider from time to time
whether it keeps on waiting at the current terminal or leaves the queue to visit
another terminal (node decide to keep waiting). After it has visited a terminal
it can decide to go to another region or to stay in the current region (node
choose region). If it decides to stay in the current region, the agent has to
choose which terminal to visit or yet sail to another region. If it has decided
to go to another region it sails there and on arrival in this region it again has
to decide either to visit a terminal or to go to another region.
7.2. The degree of cooperativeness of terminals 143
Decision points
Region
Terminal
Stay
Choose Decide to
Arriving in region Arriving at Decide to keep
terminal or a terminal
enter queue Stay
waiting
leave region at terminal
Go to another
region: Choose Leave
terminal region
Leave Leave
without without Successfully
being being finished
served served at terminal
Choose region
Barge operator
Finish Start
Figure 7.1: Decision points for a barge operator agent in the lowly cooperative
case
144 Chapter 7. Extensions to the model
The decisions that have to be made at the decision points can be based on
different kinds of information, depending on the willingness of terminals to
share this information. In the next section we discuss four alternative decision
rules.
We explore four decision rules (DRs). The first decision rule (DR1) uses no
information about the state of the terminals in the port. Decision rule 2 (DR2)
uses information about the number of barges waiting in the queue of each
terminal in the rotation belonging to the region considered. The third decision
rule (DR3) uses information about the estimated waiting time in the queue of
each terminal in the rotation belonging to the region considered. Decision rule
4 (DR4) uses information about the estimated waiting time in the queue of
each terminal in the rotation and the estimated average waiting time in the
queue of all terminals in the port. The latter gives the barge operator insight
in the average busyness of all terminals of the port. The four decision rules
are a choice, one can of course define several other decision rules using other
kinds of information. For now, these four decision rules are sufficient to give
us insight in the effect of different kinds of information on the performance of
barges in the lowly cooperative case.
When describing the decision rules (DR) we also explain what kind of infor-
mation a terminal is assumed to give to a barge, either the number of barges
waiting in the queue or the estimated total waiting time in the queue. For
convenience we introduce the following notation: let Lj denote the number of
barges waiting in the queue at terminal j and Wj the estimated waiting time
in the queue at terminal j. We denote the total set of terminals in the port by
N . Suppose that a barge is in region R. Then let N R ⊂ N denote the set of
all terminals in R that still have to be visited by the barge. The set N R is a
dynamic set and is updated every time the handling of a barge is successfully
completed at a terminal. In one of the decision rules (DR4) we use the general
queue value. The general queue value W expresses the average Wj of all termi-
nals j ∈ N . The information to determine this value is provided by all barges,
every time a barge enters the queue of a terminal. The general queue value is
updated by exponential smoothing (with a smoothing factor of 5%).
We describe for every decision rule in every decision node, the decision that is
made and the information that is needed from the terminals.
7.2. The degree of cooperativeness of terminals 145
• Decision: Leave the current region if one of the following two conditions
is true: either i) all terminals are visited, or ii) no terminal b
j ∈ N R has
a Wej ≤ W and the region will be visited again. Otherwise stay in the
current region.
• Information: Wj of every terminal j ∈ N R
Figure 7.4: The decision made in each of the four decision rules in node ‘Choose
region’
The four decision rules are meant to explore the value of various kinds of
information. In future research these rules may become more sophisticated,
taking into account opening times of terminals and arrivals of sea vessels (like
the port settings studied in Chapter 6).
In future research one might consider other and even hybrid decision rules,
where barges use different decision rules in their rotation on a cherry picking
basis.
The model we use is similar to the model in Chapter 5 and 6. Barges plan their
rotation on arrival in the port and use the waiting profiles to minimize their
expected sojourn time in the port. Once they have determined their best rota-
tion they announce their expected arrival time to the terminal, assuming that
the maximum waiting times in the waiting profile are valid maximum waiting
7.2. The degree of cooperativeness of terminals 147
times. However, during execution of the rotation, the waiting times might be
different from what is announced, since other barges might have arrived earlier.
Waiting profiles are therefore not more than an indication of the busyness of
the terminal during certain periods of the day. The announced expected arrival
times of the barges are therefore also not more than an indication, subject to
the waiting times at other terminals during the rotation.
Barges do not update their rotation during execution, but visit the terminals
in the sequence determined on arrival of the port.
lowly cooperative case may realize an even higher throughput than the fully
cooperative case.
20 900
18 800
16 700
14 600
12
500
10
8 400
6 300
4 200
2 100
0 0
Fully Partly Lowly Fully cooperative Partly Lowly
cooperative cooperative cooperative cooperative cooperative
(DR4) (DR4)
Figure 7.5: The average project tardi- Figure 7.6: The average project tardi-
ness averaged over all scenarios with ness averaged over all scenarios with
a 50% utilization degree. Results are a 90% utilization degree. Results are
specified for fixed and variable time specified for fixed and variable time
windows windows
However, we need to make two remarks regarding the results. First, in our data
set we did not include sea vessels or restricted opening times of terminals. This
might have a big impact on the decision rules in the lowly cooperative case,
since then information about down-time of the terminals becomes important.
Second, to interpret the performance of the fully and lowly cooperative case in
the right way, we also have to examine the relation between the duration of a
rotation and the number of terminal visits (calls) in a rotation. We get back
to this in one of the next sections.
A second interesting result we derive from Figures 7.5 and 7.6, is that the lowly
cooperative case outperforms the partly cooperative case. The reason for this is
that barges in the partly cooperative case determine a rotation (and announce
the corresponding arrival times) based on the issued waiting profiles. This has
some disadvantages. First, the waiting profiles might be outdated since barge
arrivals might be significantly different from the announced arrival times. This
effect is larger for higher utilization degrees. Second, barges assume that in
the waiting time of one terminal another terminal can be visited. This is not
true, since terminals process barges FCFS. The fact that lowly cooperative
outperforms partly cooperative is interesting from a barge perspective. This
suggests that, if terminals are reluctant to provide any information to the
barges, then barges will surely benefit from joining their forces and exchange
information on a mutual basis.
project tardiness corresponds with low waiting times at terminals. We also see
that the fully and lowly cooperative case perform quite similarly.
300 6000
Average project tardiness (min.)
250 5000
200 4000
150 3000
100 2000
50 1000
0 0
DR1 DR2 DR3 DR4 DR1 DR2 DR3 DR4
Figure 7.7: Average project tardiness Figure 7.8: Average project tardiness
of barges for different decision rules of barges for different decision rules
(DR) in the lowly cooperative case. (DR) in the lowly cooperative case.
Results for a utilization degree of 50% Results for a utilization degree of 90%
5,000
Avg total waiting time (min)
5,000
Figure 7.9: Average total waiting time Figure 7.10: Average total wait-
for different levels of slack and differ- ing time related to different rotation
ent rotation lengths. This is the situa- lengths. This is the situation in the
tion in the fully cooperative case lowly and partly cooperative case
In Figure 7.10 we see that for the partly or lowly cooperative case the relation
between the average total waiting time and the number of calls in a rotation is
rather linear. In the fully cooperative case this relation is totally different as we
have explained in Chapter 5 (see Figure 7.9). A barge in the fully cooperative
case can make appointments with bottleneck terminals and visit in the mean
time other terminals to load and unload containers. This is different in the
lowly and partly cooperative case, because terminals process barges FCFS. On
every arrival at a terminal a barge has to enter the queue and wait for its
service until all earlier arrived barges are processed.
The relations depicted in Figures 7.9 and 7.10 hold especially when the utiliza-
tion degree of terminals is high (more than 75%). The differences between the
three degrees of cooperativeness are less apparent for lower utilization degrees.
In the fully cooperative case the relation is even depending on the amount of
slack added to the waiting profile. The reason why the differences becomes
less apparent is that terminals have relatively much time to process barges and
waiting times at terminals are low. It is therefore less important to visit the
terminals at the ‘right’ time than when terminals are highly occupied. This
will be different if terminals also close during the night or process sea vessels.
The reason why FCFS performs better is that terminals in this case are never
7.2. The degree of cooperativeness of terminals 151
300 6000
(min.)
(min.)
150 3000
100 2000
50 1000
0 0
No Information No Information No Information No Information
FCFS (DR1) Appointments FCFS (DR1) Appointments
Figure 7.11: Average project tardiness Figure 7.12: Average project tardiness
per barge. Results aggregated for data per barge. Results aggregated for data
sets 0 and 1, specified for a 50% uti- sets 0 and 1, specified for a 90% uti-
lization degree lization degree
idle while there are barges waiting in the queue. In case of appointments,
terminals are sometimes forced to stay idle to wait for a specific barge.
If we use variable time windows we have a different situation. Barges then get
a time window which increases linearly with the number of terminals they have
to visit. Consider again Figure 7.9. One can imagine that in this case, when
terminals are fully cooperative, barges with small rotation lengths have trouble
to meet their time window. In the lowly and partly cooperative case this holds
more equally for all barges (see also Figure 7.14).
The partly and lowly cooperative situations therefore seem to be better suited
for variable time windows, since the sojourn time in the port increases linearly
with the number of terminal visits. The fully cooperative situation, on the
contrary, better suits fixed time windows, since the sojourn time of barges is
more constant in the number of terminals they visit. The reason we mention
152 Chapter 7. Extensions to the model
1600 1600
1400 1400
1200 1200
1000 1000
800 800
600 600
400 400
200 200
0 0
0 5 10 15 0 5 10 15
Rotation length Rotation length
Fully cooperative Lowly cooperative (DR4) Fully cooperative Lowly cooperative (DR4)
Figure 7.13: Average project tardiness Figure 7.14: Average project tardiness
for different rotation lengths in case of for different rotation lengths in case of
fixed time windows. Specified for the variable time windows. Specified for
fully and lowly cooperative case the fully and lowly cooperative case
this is that both models may show an equal number of late barges, but the
group of barges which is late differs. We therefore need to be a bit cautious
interpreting the results.
Barge operators can use these insights in the following way. If terminal opera-
tors are lowly or partly cooperative, then the average barge port sojourn time
increases (more or less) linearly with the number of terminals a barge visits in
the port. If terminals are fully cooperative, on the other hand, then the average
barge sojourn time is mainly determined by the waiting time at the bottleneck
terminals and less on the number of terminal visits. This means that in the
former situation it can become attractive to reduce the average rotation length
of a barge, and in the latter situation to obtain a convenient time slot at the
bottleneck terminal.
average smaller call sizes per barge. This results in more idle time of the crane
during mooring of the barges. FCFS processing gives barges a clear incentive
to reduce the number of terminal visits and is more robust against disruptions.
However, FCFS leads also to several disadvantages during operations. First,
terminals do not exactly know when a barge is to be processed and when
containers need to be stacked at the quay. Second, barge operators need to
stow their barges very flexibly to be able to visit terminals in a different order.
This affects the utilization degree of the barges. If barges make appointments,
there is more certainty about their rotation, which enables them to increase
their ship utilization. Third, there is more uncertainty in sojourn times of
barges in the port, which makes the sailing schedules offered to carriers less
reliable.
One can imagine that in practice also a mix of degrees of cooperativeness can
be found among terminals; for instance, terminals that participate in the Multi-
Agent system (and are fully cooperative) and terminals that are not willing to
154 Chapter 7. Extensions to the model
participate. The latter terminals will cause a lot of uncertainties about the
time a barge needs to be processed at those terminals, which makes it harder
to make appointments with fully cooperative terminals. In this hybrid setting
it is essential for barges that they make appointments such, that they can visit
the less cooperative terminals in between the appointments.
In the previous section (Section 7.2) we argued that the flexibility terminals
have, in case they process barges FCFS, might be especially attractive when
dealing with disturbances. However, FCFS processing also introduces uncer-
tainty for terminals and barges, e.g., in arrival and waiting times at terminals.
In this section we assume that terminals are fully cooperative. We reflect on
uncertainties barge and terminal operators experience and we aim to provide
some directions of how terminal and barge operators can deal with uncertainty
in their operations. We do not intend to give an extensive discussion of the
topic.
Uncertainties differ in the frequency with which they happen and in their du-
ration (or their impact). To give an example: a crane breakdown at a terminal
happens incidentally and reduces the terminal capacity for a significant amount
of time. A small deviation in the call size of a barge happens frequently and the
duration (or impact) is relatively small. Moreover, uncertainty is also related
to time. The expected arrival time of a sea vessel is more uncertain one month
prior to the arrival of the sea vessel than when the sea vessel is about to arrive
at the terminal. Moreover, Connekt (2003) shows that uncertainties in the port
can have different causes and can be a cause for uncertainty itself. Through
these interrelations, a small disruption can indirectly have a major impact on
several processes.
are related to the execution of the activities in the baseline schedule. Third, a
baseline schedule can be useful when uncertainty is not purely stochastic, but
‘manageable’ to a certain extent. Full dynamic scheduling means that a sched-
ule is created dynamically as time evolves, by deciding on freeing of a resource
which activity is to be started next (Leus, 2003) Full dynamic scheduling can
be done by means of dispatching policies, such as ‘earliest due date first’ (see,
e.g., Pinedo and Chao, 1999). The lowly cooperative case in Section 7.2 is an
example of a dynamic scheduling approach, since terminals make no baseline
schedule and process barges FCFS.
Reactive approaches are meant to repair the baseline schedule after a distur-
bance has occurred. There are several techniques to repair the baseline sched-
ule, varying from simple policies (right shifting of activities) to more complex
actions (full re-scheduling). The result of these actions might be that the new
baseline schedule strongly deviates from the old baseline schedule. The question
is whether this is desirable.
Note that different authors use different ‘forms’ and definitions of robustness.
Leus (2003), e.g., mentions the term ‘quality robustness’ as the insensitivity
of the schedule performance in terms of the objective value, and ‘solution ro-
bustness’ as the insensitivity of the activity start times to changes in the input
data. Both forms of robustness are related to stability.
We use the mentioned forms of robustness, since they are useful to start think-
ing about robust terminal quay schedules and barge rotations.
7.3. Dealing with disturbances and uncertainties 157
The dependencies we just described are related to the first form of robustness,
namely stability. It is important that disruptions cannot propagate from one
terminal or barge to another. For the other actor this uncertainty is uncontrol-
lable and can therefore hardly be influenced. In the design of our Multi-Agent
system we took this kind of robustness already into account. We did this by
defining appointments in a specific way (see Sections 3.3.2 and 3.5.2). The idea
is that barges become responsible for a timely arrival at a terminal. This implies
that a barge operator, although it is opportunistic, uncouples the operations
of terminals by including more slack in between terminal visits to guarantee a
timely arrival.
To let this mechanism work, it is important that terminals really keep their
appointments and force barges to do so as well. If terminal operators take
appointments not very strict, but expect barge operators that they do, then
barge operators will probably perceive this as (highly) unfair. It means that
barge operators have to buffer the uncertainty that terminal operators create.
To motivate barge operators to keep their appointments, we think it is necessary
158 Chapter 7. Extensions to the model
Barge Y Barge Z
Terminal A
Terminal B
To analyze how a terminal operator can create a robust base line schedule, we
describe the three forms of robustness (stability, flexibility, and nervousness
avoidance) successively.
appointments as possible. The latter implies that the terminal operator has to
focus on solution robustness, i.e., the insensitivity of the activity start times
to changes in the input data (Leus, 2003). To realize solution robustness, the
terminal operator has to schedule barges such that the probability that the
handling of a barge is started later than its latest starting time is negligible.
A flexible base line schedule means that a schedule can be easily repaired after
a disruption. The possibilities to repair a schedule are determined to a large
extent by the appointments that are made. If a particular barge is planned
close to a sea vessel or closing of the terminal, then a small disruption might
cause the handling of this barge to be delayed significantly. A terminal operator
has to take this into account when making appointments.
A nervousness avoiding schedule means that the (baseline) schedule can avoid
frequent and significant changes. Nervousness of a schedule becomes an issue
when processes to prepare the barge handling have already started off, such as
the stacking of containers at the quay side. A change in the quay assignment of
a barge in the latter case, results in rework (containers have to be transported
to another quay), a waste of resources, and is annoying for the people in the
operations. We think that schedule nervousness in the hours prior to execution
of a schedule should therefore be prevented as much as possible.
A way for terminal operators to deal with uncertainty might be the following.
Terminal operators fill a significant part of the day with appointments, but
also leave each day a certain amount of time unplanned, the so-called slack
time. This slack time can be distributed over the day. Terminal operators
can use the slack time to recover from disturbances or to deal with unforeseen
activities, such as rush orders. If the slack time is not necessary for these
purposes on a specific day, then the terminal operator can use it to process
barges earlier or to process barges that did not make an appointment and are
waiting for an opportunity to be processed. The latter can be interesting for
barges that experienced a delay in their rotation and were not able to keep
their appointment with the terminal.
160 Chapter 7. Extensions to the model
When barge operators make appointments with terminal operators, they agree
on a latest arrival time. This implies that they have to create a robust rotation
to deal with uncertainties in, e.g., sailing times between terminals, sailing times
to the port, or the departure time at terminals. Robustness for the barge
operator concerns especially stability and flexibility. To create a stable rotation
it might be necessary to include slack in between terminal visits to prevent an
uncertainty at a terminal to disrupt the whole rotation. Flexibility is more
difficult to realize, since appointments fixate to a large extent the rotation of a
barge. If a barge departs delayed at one terminal and arrives delayed at another,
then it can not simply right shift all its appointments at other terminals. The
options it has are either to make a new appointment, or to wait at the terminal
for an opportunity to be processed without having an appointment.
A possible repair strategy for a barge operator is to replan his rotation, e.g.,
by canceling some of the appointments with terminals and making new ones.
However, replanning of appointments causes uncertainty in the operations of
terminals, which is not desirable. Terminal operators might penalize this by
keeping track of the reputation of a barge operator and taking this reputation
into account when, e.g., issuing waiting profiles.
Suppose a major disturbance occurs at one of the terminals, e.g., a crane break-
down. If this happens, then it is not likely that the terminal operator has in-
cluded enough slack in his baseline schedule to guarantee a stable schedule for
this disturbance. To deal with the disturbance, the terminal operator might
have the strategy to cancel all appointments with barges for the duration of
7.3. Dealing with disturbances and uncertainties 161
the disturbance. This implies that barge operators have to make a new ap-
pointment and possibly prefer to reconsider their whole rotation. Barge and
terminal operators might use different strategies to deal with different kinds of
disturbances.
A major disturbance is likely to have a great impact on the whole system, since a
lot of actors are affected directly or indirectly. Dealing with a major disturbance
is then not the problem of only a single actor but of all actors concerned. To
deal properly with a disturbance, it is therefore important that all actors in the
system are timely informed about a disturbance (communication) and possibly
take over tasks of the actors that are affected by the disturbance (cooperation).
The latter requires that actors look beyond their immediate interests and are
willing to cooperate with competitors in case of a calamity.
Given the common interests of all actors, we suggest that the port authority
plays a central role in managing a large disturbance. Prior to the disturbance,
the port authority can make agreements with all the actors in the port on how
to deal with certain disturbances, e.g., a crane breakdown. These agreements
can be put down in a covenant, which is in force when an ‘emergency’ takes
place. Let us give an example of an agreement. Suppose a crane breaks down
and the associated terminal operator expects that the breakdown will last for
several hours, then an agreement might be that the nearest terminal takes over
part of the tasks. During the disturbance, the port authority can facilitate
the communication of the disturbance to all the actors concerned and give
suggestions on how to circumvent the disturbed parts of the system. This is
similar to the task of the road authority, which informs car drivers about traffic
jams and gives advice on alternative routes.
In this way, mechanisms are established to deal properly with a major distur-
bance and to minimize the disrupting effects on all parts of the system.
revenge (see, a.o., Camerer, 1997; Falk and Fischbacher, 2006). Let us give two
examples of (non)-intentional misuse of mechanisms to deal with uncertainty.
Figure 7.16: Container dregded up from the river Rhine near Cologne. In
March 2007 a barge lost 31 containers by making a turn on the river Rhine.
The accident caused a blockage of shipping traffic for five days. Picture taken
by the author on March 29, 2007
A barge lost 31 containers on the Rhine near Cologne. For five days no ships
could pass the place of the accident. We visited the place ourselves on March
29, 2007 and we observed numerous barges at anchor in the Rhine waiting for
the blockage to be resolved. Figure 7.16 presents a picture we took during
our visit of the place of accident. Once the blockage was removed, the Port
of Rotterdam was confronted with a high arrival intensity of barges for several
days.
To simulate the effect of a waterway blockage we use scenarios from data set
0 and data set 4 (see Section 4.6). We consider scenarios from data set 0
to evaluate the effect of a disturbance in networks with different utilization
degrees. We expect that the utilization degree of the network has a major
impact, considering theory on queueing systems.
1500
500
0
10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42
-500
-1000
-1500
Figure 7.17: The average project lateness during the simulated horizon, assum-
ing that a blockage of the waterway results in a reduced barge arrival intensity
from day 20 to 21, and an increased barge arrival intensity on day 22 and 23.
Results for scenarios from data set 0: network layout II, 9 terminals per region,
1 quay per terminal, and fixed time windows
on day 20 and 21 we reduce the arrival intensity of barges to 0.5, and on day
22 and 23 we increase the arrival intensity to 1.5 arrivals per time unit. We
simulate all scenarios for 50 days, 10 replications per scenario, and we apply a
warm-up and cool-down period of 10 and 3 days respectively.
In Figure 7.17 we depict the moving average of the average project lateness of
successive barges during the simulated horizon. The results are specified for
scenarios with 50, 75, and 90% utilization degree. From the picture we make
the following observations. Batch arrivals of barges can clearly be considered as
disturbances in the system. During the blockage we see a reduction and after
the blockage an increase of the average project lateness. The impact of the
blockage (and the resulting batch arrival of barges) depends on the utilization
of the network, as we expect. The higher the utilization degree, the greater
the impact and the more time it takes before the system has recovered from a
disruption.
In Figure 7.18 we depict the moving average of the average project lateness of
successive barges during the simulated horizon. The results indicate that also
in a more complex scenario similar effects can be observed. Note that terminals
in data set 4 have different utilization degrees. The average utilization degree
of all terminals in the data set is about 55%. This explains why the effect of
7.3. Dealing with disturbances and uncertainties 165
1500
500
0
10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
-500
-1000
-1500
Days
Figure 7.18: The average project lateness during the simulated horizon, assum-
ing that a blockage of the waterway results in a reduced barge arrival intensity
from day 20 to 21, and an increased barge arrival intensity on day 22 and
23. Results for a scenario from data set 4: network layout II, 9 terminals per
region, and fixed time windows
Our Multi-Agent system has a lot of potential to reduce the uncertainties that
are the result of a poor alignment process in practice nowadays. Appointments
play a major role in realizing this reduction, since barge and terminal operators
commit themselves to the appointment and thus reduce the uncertainty in each
others operations. However, uncertainties in the current alignment process are
sometimes caused by uncertainties that are inherent to the operations of barges
and terminals. It is therefore important that barge and terminal operators can
create robust plans, such that a certain level of uncertainty can be captured
and that almost all of the appointments can be kept. We mentioned three
forms of robustness (stability, flexibility, and nervousness avoidance) that can
166 Chapter 7. Extensions to the model
help terminal and barge operators to think about creating robust plans.
Chapter 8
8.1 Introduction
In the previous chapters we modeled a Multi-Agent system and evaluated its
performance using fictitious data sets. In this chapter we develop and evaluate
a realistic model of the Port of Rotterdam with respect to the barge handling
problem. The aim is to evaluate the performance of our Multi-Agent system
in the Port of Rotterdam. In this section we describe the way we model the
realistic situation, our assumptions, and the outline of the chapter.
These difficulties imply that i) it will be hard to validate our model, ii) certain
less realistic assumptions will influence the results, and iii) a detailed model
may have limited predictive value. Despite these limitations, we think that
we managed to create a (fairly) realistic model of the Port of Rotterdam and
provide valuable insights in the performance of our Multi-Agent system. The
reason why we think so, is that we can still validate our model on certain levels
of abstraction by checking the internal consistency and by making a comparison
with figures published by, e.g., the Port of Rotterdam.
168 Chapter 8. Distributed planning in the Port of Rotterdam
8.1.3 Assumptions
We make the following assumptions. Barges arrive over time with independent
stochastic interarrival times. We assume that the arrival intensity of barges is
the same every day, and every time unit of the day. On arrival in the port the
barge operator decides which rotation a barge is going to execute. Decisions of
both barges and terminals are made in real-time and we assume that two barge
operators do not plan rotations simultaneously, but one after another. With
respect to a terminal, we assume that it handles both barges and sea vessels.
With respect to barges, terminals only have information about barges that
arrived in the port. The service of a barge is not preempted for the service of
another barge. Terminals have fixed capacity and can have restricted opening
times, during which barges can be processed. Opening times of terminals are
hard, i.e., no work is done in overtime. The time to handle a container, the
mooring time, and the sailing time between terminals are deterministic. Sea
vessels arrive with stochastic interarrival times at terminals and processing
takes a stochastic amount of time. Arrival times of sea vessels are known to
the terminal prior to the planning horizon. Sea vessels have absolute priority
over barges.
With respect to a barge we assume that, on arrival in the port, it needs to make
a decision about the sequence in which it visits the terminals concerned. On
arrival in the port, the barge has information about the terminals it has to visit,
the number of containers it has to (un)load at each terminal, and the mooring
8.2. Data sources 169
time at and the sailing time between terminals. It has no information about
the state of the network, such as waiting times at terminals. We consider no
capacity or stowage constraints for the barge. Barges visit terminals only once.
We define closing of a terminal as preemptive downtime, and the processing of
a sea vessel as non-preemptive downtime. Preemptive downtime means that
the handling of a barge may start before the downtime and finish after it
(Schutten, 1998). Non-preemptive downtime means that the handling of a
barge might not be interrupted by a downtime. We do not consider disturbances
and their effect on the operations of barges and terminals. These assumptions
allow barge and terminal operator agents to make reliable appointments, since
no unexpected delays occur. Introducing disturbances requires the introduction
of a kind of penalty, e.g., penalty costs, if appointments are not met by one of
the parties. This is part of future research.
In this chapter we do not consider closing times of containers, since this requires
a lot of additional factors to be included in our model. The results in Chapter 6
indicate that closing times of containers can be included in the algorithms and
we suggest to take closing times into consideration in a more detailed study
into the Port of Rotterdam.
• Initi8 B.V. The company Initi8 B.V. (project partner within Tran-
sumo) provided information about the following aspects:
— The utilization degrees of terminals.
— The sailing times between terminals, taking into account whether a
barge has to sail upstream or downstream.
— The number of quays per terminal, i.e., dedicated barge quays, barge
and sea vessel quays, and dedicated sea vessels quays.
— The opening times of terminals.
— The average and standard deviation of the barge call size at a ter-
minal (in number of containers).
170 Chapter 8. Distributed planning in the Port of Rotterdam
In Section 8.4 we describe how we use these data sources. The data we use is
mainly based on the period 2006-2007. We like to stress again that it is hard
to get realistic data describing objectively and unambiguously the relevant
parameters of our model. This will change in the next couple of years as
we expect. To give an example, in 2008 the Port of Rotterdam will start a
project to equip several barges with transponders. The aim is to get objective
registrations of sojourn times of barges at terminals. It is to be expected that in
the future these kinds of projects are more widely introduced. Consequently,
information will become more easily available and make the performance of
barges and terminals more transparent.
For terminals we get the following output: the total volume of containers trans-
shipped, and the number of barges and sea vessels processed. For barges we
get as output: the arrival times of barges in the port, the time windows of
barges, which terminals a barge has to visit, the number of barge arrivals per
day, and the average utilization degree of barges. For sea vessels we get as
output: the arrival times of sea vessels and which quay(s) of a terminal a sea
vessel is assigned to.
After simulation of a realistic scenario we can derive, among others, the fol-
lowing results for terminals: the average waiting times of barges at terminals,
the arrival times of barges at a terminal, and the distribution of the workload
of a terminal over the day. For barges we can derive the average total waiting,
handling, and sailing time in a rotation, the total sojourn time in the port, and
the extent to which a barge leaves the port late.
The figures we present in this section lead, to our opinion, to a reasonable ap-
proximation of the activities performed in the Port of Rotterdam and result in
a setting which is consistent. In this section we describe some general observa-
tions. In addition, we describe successively characteristics of barges, terminals,
and sea vessels, which are used as input for the realistic model.
172 Chapter 8. Distributed planning in the Port of Rotterdam
We note that the figures presented by the Port of Rotterdam concern only the
containers that come from or go to the sea. Movements at, e.g., empty depot
terminals are not counted in these statistics. The total number of containers
loaded and unloaded is therefore larger than the numbers in Table 8.1. Al-
though in January 2007 in total 33 container terminals were active in the port,
the ECT terminals (seven in total) and the APM terminal certainly account
for the major share. We therefore focus on these terminals in particular in
determining the terminal characteristics.
Table 8.3 first denotes for every terminal, the region where the terminal is
located. This is needed for the calculation of the time window of a barge. We
use the following abbreviations: city for the city terminals, botlek for the botlek
terminals, and mv for the terminals located at the Maasvlakte. We refer to
Figure 2.2 for a picture of the port with the respective regions.
To determine how much capacity of the duo quays is available for barges, we
performed some calculations based on the total number of containers trans-
shipped by the ECT Delta and APM terminals and the total number of dedi-
cated sea vessel quays of these terminals. We derived that approximately 50%
of the duo quay capacity is needed to process sea vessels, assuming a time to
move a container of three minutes and a utilization degree of these quays of
85%. However, this is a rough estimate which can vary per terminal and per
period.
174 Chapter 8. Distributed planning in the Port of Rotterdam
#quays St.
Avg
barges - Opening dev. Util.
Terminal Region call
duo - sea times call degree
size
vessel size
C1 city 1-0-0 0-24h 30 5 50%
C2 city 1-0-0 8-16h 8 4 50%
C3 city 1-0-0 8-16h 8 4 50%
C4 city 1-0-0 8.5-15h 8 4 50%
C5 city 1-0-0 8 -15h 8 4 50%
C6 city 1-0-0 8-16h 8 4 50%
C7 city 1-0-0 8-16h 15 3 60%
C8 city 0-1-0 8.5-16h 15 3 60%
C9 city 1-0-0 8.5-15h 15 4 60%
C10 city 1-0-0 8.5-15h 15 4 60%
C11 city 0-1-0 8.5-15h 15 4 60%
C12 city 1-1-0 6-21h 15 4 60%
C13 city 1-0-0 7-21h 8 4 70%
C14 city 0-2-0 7.5-23h 8 4 70%
C15 city 0-5-0 7.5-16h 8 4 70%
C16 city 2-0-0 8.5-15h 8 4 70%
C17 city 0-1-0 8.5-15h 8 4 70%
C18 city 1-0-0 7-21h 8 4 70%
C19 city 0-2-0 7.5-22h 15 3 80%
C20 city 1-0-0 7.5-22h 8 4 80%
C21 city 1-2-0 0-24h 23 6 85%
B1 botlek 1-0-0 8-17h 8 4 50%
B2 botlek 1-0-0 8-16h 15 4 60%
B3 botlek 0-1-0 8.5-16h 8 4 70%
B4 botlek 0-1-0 8.5-15h 23 3 70%
B5 botlek 2-0-0 6-21h 8 4 80%
M1 mv 0-2-0 6-24h 15 4 60%
M2 mv 1-0-0 0-24h 8 2 60%
M3 mv 1-3-1 0-24h 30 5 85%
M4 mv 0-1-3 0-24h 30 5 85%
M5 mv 0-2-1 0-24h 38 7 85%
M6 mv 0-1-2 0-24h 23 7 85%
M7 mv 3-0-0 0-24h 45 5 85%
Table 8.3: Terminals and their attributes
8.4. Estimating the model parameters 175
The presented opening times are the opening times of terminals at January 1.,
2007. We assume that these opening times are the same every day in a week.
In the absence of data about the distribution of the call sizes at terminals,
we assume a beta-distribution with a minimum of 1 and a maximum of 60
containers. We assume that the handling time of barges is equal to three
minutes per container move, assuming that a crane can perform 20 moves per
hour. In practice the handling of barges is done at different speeds, varying
from 2-20 (or more) moves per hour. This has a significant impact on the time
a barge sojourns at the terminal.
We estimated the utilization degrees given in Table 8.3. We remark that in-
dividual terminals might calculate the utilization degree in a different way.
We adopt the definition as given in Section 4.5.2. In our model, as in reality,
we use sailing times between terminals which are different for upstream and
downstream movements.
0.3 0.12
Fraction
Fraction
0.2 0.08
0.15 0.06
0.1 0.04
0.05 0.02
0 0
0 200 400 0 1000 2000 3000 4000
Inter arrival time (min.) Sojourn time (min.)
Figure 8.1: Histogram of the inter- Figure 8.2: Histogram of the sojourn
arrival times aggregated for the main times aggregated for the main termi-
terminals in the port of Rotterdam nals in the port of Rotterdam
Considering Figure 8.1 we think that an exponential distribution fits well the
interarrival times of container ships at port level. These findings are in line
with Kuo et al. (2006). They have done a case study into interarrival times of
176 Chapter 8. Distributed planning in the Port of Rotterdam
Poisson arrivals at a single quay are also not very likely since terminal operators
can plan sea vessels over the available quays. The actions of the terminal
operator therefore undermine the Poisson arrival process. The more quays
that are operated by the same terminal operator, the more flexible this operator
can plan the sea vessels. Moreover, the way terminal operators plan sea vessels
differs per terminal. We therefore adopt the following strategy to get a realistic
distribution of sea vessels over the quays of terminals. At departure of a sea
vessel we determine the arrival time of the next sea vessel drawn from an
exponential distribution. The mean of the distribution is equal to the mean
interarrival time of the sea vessels minus the average processing time of the sea
vessels. To give an illustration. Suppose we expect 20 sea vessel arrivals in 100
days, then the mean interarrival time is equal to 100/20=5 days. If the average
processing time of a sea vessel is one day, then the mean of our new distribution
is equal to four days. i.e., if the processing of one sea vessel is completed, then
the time until the next sea vessel arrival is exponentially distributed with a
mean of 4 days. In this way we prevent clustering of sea vessels at a quay for
an unrealistic amount of time, but it still can happen that sea vessels arrive
soon after another.
We prefer to use a theoretical distribution for the processing times of sea vessels.
The reasons why are that: i) we use data that is aggregated for all terminals in
the port, ii) the data seems to fit well with known distributions, and iii) by us-
ing an empirical distribution we pretend a precision which does not correspond
with other parameters in our model. We therefore compared the sojourn time
data of the sea vessels with theoretical distributions, such as log-normal, beta,
and gamma, to determine a suitable distribution to approximate the process-
ing time of sea vessels. We have chosen to apply a beta-distribution for two
reasons. First, the beta distribution fits the data quite well except for larger
values (see Figure 8.3 for a Q-Q plot). Second, there is a clear upper bound
8.5. Description of the base case and the scenarios 177
0,6
0,4
0,2
0,0
0 ,0 0 ,2 0,4 0,6 0 ,8 1,0
Observed V alue
Figure 8.3: A Q-Q-plot of the processing times aggregated for all terminals
compared with the beta distribution with α1 = 1.14 and α2 = 8.3
to the number of containers sea vessels can load and unload due to capacity
restrictions. Distributions with an infinitely long tail (such as the log normal
distribution) have to be cut-off to prevent call sizes that exceed the sea vessel
capacity. Moreover, it is well-known that a lot of stochastic models are not
very sensitive for more than the first two moments of the underlying proba-
bility distribution (see, e.g., Tijms, 2003), unless one is very interested in the
tails of the distributions.
The total number of sea vessels is derived from the available capacity for sea
vessels and the desired utilization degree of terminals. We refer to Section 4.5
for a detailed description of how a scenario is created.
In the base case and the scenarios, we determine the time window of a barge
analogously to Section 4.6.2. For the fixed time window we use a slack factor of
two. For the variable time window we use a fixed slack (y) per rotation equal
to one, and a variable slack per terminal (x) equal to 12%. These values are
determined experimentally based on the base case. We do not consider closing
times on containers. The objective of the barges is to minimize the sojourn
time in the port.
In the next sections we describe the base case and the two scenarios.
In our simulation we omit the dedicated sea vessel quays since they do not
affect the processing of barges. With respect to the duo quays (barge and sea
vessel) we assume that 50% of the quay capacity is available for sea vessels with
a utilization degree of 85%. We assume that the opening times of terminals,
mentioned in Table 8.3 do not hold for sea vessels, i.e., sea vessels can be
processed 24h a day. The processing time of a sea vessel is beta distributed with
a mean processing time of 770 minutes, a standard deviation of 645 minutes,
a minimum processing time of zero, and a maximum processing time of 6400
minutes.
The number of barges is determined analogously to Section 4.5. For the base
case it means that a number of about 48 barges visit the port daily. The average
utilization degree of the barges is 80% (assuming an average barge capacity of
120 TEU). The total number of container moves per year is about 2 million,
about 700,000 moves more than reported by the Port of Rotterdam. These
moves concern the handling of, e.g., empty containers, which are not included
in the statistics of the Port of Rotterdam.
For the simulation of the service-time profiles we apply slack policy 1 of Table
8.4. In addition to the Multi-Agent control we also evaluate the performance of
8.5. Description of the base case and the scenarios 179
8.5.2 Scenario 1
In both practice and theory, ideas have been mentioned to reduce the number
of terminals a barge visits. An example is the introduction of a large hub, far in
the hinterland, e.g., in Duisburg (De Binnenvaartkrant, 2008). The idea is that
containers are put unsorted on large barges and are sailed to the hinterland
where the containers are sorted and shipped to their hinterland destination,
either by truck or barge. The expected effect of this development is a reduction
of the average number of calls in a rotation and an increase of the average call
sizes at terminals (to maintain a certain utilization degree of barges).
utilization degree of the barges. These two adjustments imply that a barge
spends less time on mooring during its stay in the port, since it visits only a few
terminals to handle the same amount of containers. This is also attractive for
terminals, as they can use the time saved with mooring to transship containers.
Regarding the modeling of Scenario 1 we now have two options: i) keeping the
utilization degree of terminals the same as in the base case (resulting in a higher
throughput of containers), or ii) keeping the throughput of containers the same
as in the base case (resulting in a reduced utilization degree of terminals). We
investigate both options in Scenarios 1a and 1b respectively. Let us take a
closer look at the parameters of the scenarios.
In Scenario 1a we keep the utilization degree of the terminals the same as in the
base case. This results in about 57 barge arrivals per day. The total number
of container moves per year is about 2.5 million, about 1.2 million more than
reported by the Port of Rotterdam. The reason we can handle about 500,000
moves more than in the base case is that mooring time now is used for the
transshipment of containers.
The aim of both scenarios is to get insight in the effect of a reduced number
of terminal visits and increased call sizes, on the sojourn time of barges in the
port and on the performance of different control methods.
For the simulation of the service-time profiles we apply both slack policies from
Table 8.4 for Scenario 1a, and slack policy 1 for Scenario 1b.
8.5.3 Scenario 2
The second scenario is based on another idea, namely to realize a hinterland
hub about 50 kilometers from the port (a so-called transferium) to transfer con-
tainers from truck to barge and vice versa. The aim is to relieve the congested
roads leading to the sea terminals and to perform logistic activities in less con-
gested areas (Konings, 2007; De Binnenvaartkrant, 2008). The expected effect
of such a transferium is an increased number of barges in the port. For ter-
minals this implies that truck handling operations will reduce and that barge
handling operations will increase.
8.5. Description of the base case and the scenarios 181
10
Waiting time
9
8
m=1
7
m=2
6
m=3
5
m=4
4
0
0 0.5 1
Utilization degree
Figure 8.4: Example of the relation between the utilization degree of a terminal
and the average waiting time (in time units). The example is based on an
M/M/m queue, with m ∈ {1, 2, 3, 4}
In the next sections we give our motivation for choosing this scenario and we
describe they way we model the scenario.
Based on insights from queueing theory we expect that this extra flow of barges
may result in a significant increase of waiting time at terminals. We illustrate
this with an example. In Figure 8.4 we depict the relationship between the
utilization degree of a terminal (with m ∈ {1, 2, 3, 4} quays) and the average
waiting time at this terminal. The picture is based on the assumption that
barges are processed first-come first-served, arrive according to a Poisson arrival
process, and have exponentially distributed processing times. This is a so-
called M/M/m queue (see, e.g., Gross and Harris, 1998). It is clear that an
increased utilization of the terminal corresponds with growing waiting times,
especially when the terminal has a limited number of quays. Moreover, Hopp
and Spearman (2000) argue that the waiting time increases even faster if the
variability in the arrival process or the processing times of barges increases.
182 Chapter 8. Distributed planning in the Port of Rotterdam
For the simulation of the service-time profiles we apply slack policy 1 from
Table 8.4.
The average sojourn time of barges with a rotation length of seven terminals
is about 36 hours (in case of service-time profiles). This consists of about 9
hours handling, 9 hours sailing, and 18 hours waiting. The waiting time boils
down to about 2.6 hours per terminal on average. The sojourn time of a barge
in case of ‘No Info (appoint)’ is about 69 hours, consisting of 7 hours sailing, 9
hours handling, and 54 hours waiting. We see that the increased performance
of the service-time profiles is mainly due to a decrease in the average waiting
time at terminals. In Section 8.6.4 we discuss this in more detail.
8.6. Results and insights 183
Figure 8.5: Average project tardiness Figure 8.6: Average project lateness
for different Multi-Agent controls in for different Multi-Agent controls in
the base case the base case
600
400
700 200
600 0
500 -200
-400
400 -600
300 -800
-1000
200 -1200
100 -1400
0 -1600
Off-line No info No info Yes/No ST profiles, Off-line No info No info Yes/No ST profiles,
benchmark (FCFS) (appoint) s=option 2 benchmark (FCFS) (appoint) s=option 2
Figure 8.7: Average project tardi- Figure 8.8: Average project late-
ness for different Multi-Agent controls ness for different Multi-Agent controls
compared with the off-line benchmark. compared with the off-line benchmark.
Results for the base case Results for the base case
If we make a comparison with the off-line benchmark we get the results pre-
sented in Figures 8.7 and 8.8. We find that the Multi-Agent system with
service-time profiles performs well compared to the off-line benchmark. More-
over, we find the same patterns as we see in Figures 8.5 and 8.6. To give an
impression of the computational burden: every bar representing the off-line
benchmark in the Figures 8.7 and 8.8 account for about 240 hours of compu-
tation time.
In Figure 8.9 we depict the arrival patterns of barges during the day for different
terminals. In Figure 8.9 we see, e.g., that terminal C19 (closed from 10 p.m.
to 7.30 a.m.) clearly has more barge arrivals during the day than in the night.
Terminal C21, however, is opened 24h a day and we see that especially at
the start of the day there is a decline in the fraction of barge arrivals. The
reason why is that the terminal is surrounded by terminals that close during
the night. When these terminals open, barges prefer to head to these terminals
first. Terminal M4, on the other hand, is opened 24h and not surrounded by
terminals that close during the night. One can see that the arrival pattern has
a wave-like shape during the day. The reason for this is that at the end of the
day, several terminals in other regions close and that barges prefer to visit 24h
terminals during the night.
184 Chapter 8. Distributed planning in the Port of Rotterdam
0.30
0.25
0.20
0.15
0.10
0.05
0.00
0-4 4-8 8-12 12-16 16-20 20-24
M4 C21 C19
Figure 8.9: Fraction of barges arriving at terminals M4, C21, and C19 during
certain time intervals of the day
3,500
Waiting time (min)
3,000
2,500
2,000
1,500
1,000
500
-
- 5 10 15
terminal in rotation
Duration 1 5 10 15
Figure 8.10: The avg waiting time at a terminal measured at the time a barge
plans its rotation, as function of the position of the terminal in a rotation with
a specific length (1, 5, 10, and 15). Results for the base case and service-time
profiles
8.6. Results and insights 185
Now that we have seen the arrival pattern of barges at different terminals, let
us consider the waiting times at terminals when barges plan their rotation.
We are interested in the correlation between the waiting times at terminals
and the order in which a barge visits the terminals concerned. Consider a
barge with a specific rotation length. In order to plan a rotation, the barge
requests waiting profiles at the terminals that have to be visited. At the time
these waiting profiles are issued to the barge, we (as researchers) collect these
waiting profiles and extract from these the waiting time at each terminal at
that very moment. Then we consider the rotation a barge has planned based on
these waiting profiles and we link the observed waiting time at each terminal to
the position of that terminal in the rotation. We average the observed waiting
time at the nth terminal in the rotation of all barges with the same rotation
length. In Figure 8.10 we depict the average waiting time at the nth terminal
in the rotation, at the time a barge plans its rotation. For comparison, we also
depict the average duration of a rotation for different rotation lengths. Note
that the x-axis for the average duration denotes the rotation length, whereas
for the other lines the x-axis denotes the nth terminal visited in the rotation.
The results indicate that terminals with long waiting times -as perceived at
the very moment of planning- are usually visited at the end of the rotation. In
general, however, most terminals do not have long waiting times at the time a
barge plans its rotation, which means that they can be visited rather easily in
the short run.
8.6.2 Scenario 1
In Scenario 1a we reduced the average and maximum length of the rotation
compared to the base case. The utilization degree of terminals in this scenario
is the same as in the base case. In Figures 8.11 and 8.12 we depict the average
project tardiness and project lateness for different Multi-Agent controls. The
results reveal that the service-time profiles perform significantly better than
the other controls, however, the relative difference with other controls is much
smaller than in the base case. This result indicates that the added value of
service-time profiles is less when barges have shorter average rotation lengths.
If we vary the slack policy in the service-time profile communication, we find
that slack policy 2 (Table 8.4) leads to a slight improvement of the results
compared to slack policy 1, but the difference is small.
In Scenario 1b we also reduced the average and maximum length of the rotation
compared to the base case. However, we maintain the same throughput as in
the base case by reducing the average utilization degree of terminals. In Figures
8.13 and 8.14 we compare the average project tardiness and project lateness
in Scenario 1a and 1b, in case we use service-time profiles. It is clear that the
reduced utilization degree of terminals leads to a significant improvement of the
average project tardiness and project lateness of barges. This is in accordance
with results in Chapter 5.
186 Chapter 8. Distributed planning in the Port of Rotterdam
Figure 8.11: Average project tardiness Figure 8.12: Average project lateness
for different Multi-Agent controls in for different Multi-Agent controls in
Scenario 1a Scenario 1a
400
350
300
-500
250
200
150 -1000
100
50
0 -1500
Scenario 1a Scenario 1b Scenario 1a Scenario 1b
Figure 8.13: Average project tardiness Figure 8.14: Average project lateness
in Scenario 1a and 1b, specified for in Scenario 1a and 1b, specified for
fixed and variable time windows fixed and variable time windows
Note that in Scenario 1b we realize the same throughput as in the base case.
This indicates that mooring time (which is part of the utilization of terminals
in our model) leads to a significant waste of capacity at terminals.
8.6.3 Scenario 2
In Scenario 2 we increased the utilization degree of terminals with 20%, with
a maximum of 95%. In Figures 8.15 and 8.16 we depict the average project
tardiness and project lateness for different Multi-Agent controls. We do not
depict the results for the yes/no information exchange, since the simulation
effort was too extensive and we expect that the results are in the same order
of magnitude of figures we have presented before.
The results indicate that the average project tardiness has increased signifi-
cantly compared to the base case. This means that an increase in the uti-
lization degree of terminals leads to a more than proportional increase in the
sojourn time of barges due to waiting time at terminals. Also now we see that
service-time profiles outperform the other controls.
8.6. Results and insights 187
Figure 8.15: The average project tar- Figure 8.16: The average project late-
diness for different Multi-Agent con- ness for different Multi-Agent controls
trols in Scenario 2 in Scenario 2
From Figure 8.17 we can derive several insights. First, the difference between
the average rotation length in Scenario 1a and the base case is only due to
sailing time. This means that a reduction of the average rotation length not
necessarily results in a reduction of the barge sojourn time. However, when we
reduce the utilization degree of terminals such that we get the same throughput
in the base case, we find that the average sojourn time reduces significantly,
i.e., Scenario 1b. This is mainly due to a reduction of average waiting time.
Second, an increase of the average terminal utilization (Scenario 2) leads to
a significant increase of waiting time in the rotation. The share of the other
components (handling and sailing time) in Scenario 2 is more or less equal to
the base case.
In Figure 8.18 we depict the average barge’s sojourn time for different rotation
lengths in the base case and each of the scenarios. The figure shows that the
results found in Figure 8.17 are consistent also for other rotation lengths. In
Figure 8.19 we show the duration of a rotation in the base case for different
rotation lengths and different Multi-Agent controls. Also here we find similar
results as in previous chapters, namely that the average port sojourn time of
barges decreases in the length of the rotation, in case barges and terminals
make appointments. This relation is linear if we process barge FCFS.
188 Chapter 8. Distributed planning in the Port of Rotterdam
5000
Minutes
74
4500
4000
3500
3000
2500
35
2000 31
1500 20
1000
Sailing
Waiting 500
Handling 0
BASIC SCEN1a SCEN1b SCEN2
# terminals in rotation: 7 2 2 7
Figure 8.17: The duration of an average rotation in the base case and the
scenarios. The duration of the rotation is specified for sailing, handling, and
waiting time
• Connekt (2003) reports an average port sojourn time of 22.5 hours, con-
sisting of 7.5 hours handling and 15 hours for sailing and waiting. Al-
though not explicitly mentioned, we assume that these numbers are based
on the study B-RIL in 1998 (RIL Foundation, 1998).
• Konings (2007) reports sojourn times varying from 30-36h. During these
30-36h about 150 TEU are loaded and unloaded on average, with a total
handling time of about 12h. These numbers are probably based on a
study in 2003.
• In 2007 several press releases appeared reporting increasing waiting times
varying from 24 to 72 hours, mainly due to congestion at the major
terminals (see, e.g., Nieuwsblad Transport, 2007a).
• The CBRB (an organization for employers and entrepreneurs in logistics
8.8. Conclusions 189
7000 8000
3000 4000
2000
3000
2000
1000
1000
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Length rotation
No info (appiont) NoInfo (FCFS) Length rotation
BASIC SCEN1a SCEN1b SCEN2
ST profiles
Figure 8.18: The duration of a rota- Figure 8.19: The duration of the ro-
tion in the base case and the scenarios tation in the base case, specified for
for different rotation lengths different Multi-Agent controls
and inland navigation, cf. Section 1.1.2) reports since 2007, in coopera-
tion with several barge operators, the so-called haven verblijfindex (the
port sojourn index). The index denotes the average amount of time a
container barge sojourned in the port per move, i.e., per container trans-
shipment. The average ‘haven verblijfindex’ in the first half year of 2008
was about 8 minutes. If we assume an average barge capacity of 120 TEU
and a barge utilization degree of 80%, then an average barge transships
in the port 192 TEU, i.e., about 116 containers. This means that the
sojourn time of an average barge is about 928 minutes (116 containers *
8 minutes), which is about 15.5 hours.
The different sources of information result in different values for the average
port sojourn time of a barge. Considering the numbers we just mentioned, we
think that a sojourn time of 36 hours in the base case (for a barge with a rotation
length of seven terminals) might be relatively high compared to the current
situation. Especially when we take into account that in practice the alignment
of activities is not done efficiently. This can imply several things. First, it
could be that the terminal utilization is not as high as we assume it is for all
terminals. Lower utilization degrees lead to shorter waiting times and shorter
sojourn times. Second, it is likely that barges on average are utilized less than
80%. This means that they have fewer container transshipments which impacts
the handling and waiting time at terminals. Third, in practice terminals process
barges both according to appointments and FCFS. This hybrid system probably
functions better than ‘No Info (appoint)’ as reported in Section 8.6.1.
8.8 Conclusions
In the previous chapters we evaluated the performance of our Multi-Agent
systems for fictitious data sets. In this chapter we considered the Port of
Rotterdam to get insight in the performance of our Multi-Agent system in a
realistic setting.
190 Chapter 8. Distributed planning in the Port of Rotterdam
We faced several difficulties in making a realistic model of the port. The first
difficulty is the availability and reliability of data. The second difficulty is the
degree of complexity and detail we can include in our model. The third difficulty
the period of validity of a realistic model. These difficulties imply that i) it is
hard to validate the model, ii) certain less realistic assumptions influence the
results, and iii) a detailed model has limited predictive value. Nevertheless, we
think that we managed to develop a realistic model of the Port of Rotterdam
and provide valuable insights in the performance of our Multi-Agent system.
However, we did not aim to quantify the impact of implementing a Multi-Agent
system on, e.g., the operations of terminals and barges or the economical impact
on the port. Instead, we focused on the relative performance of our Multi-Agent
system in different situations and compared with the off-line benchmark, and
we analyzed which factors impact the performance of the Multi-Agent system
in general.
In this chapter we made a realistic model of the Port of Rotterdam for the
time frame 2006-2007. We called this model the base case. In addition, we
developed two scenarios (based on the base case) by which we performed sen-
sitivity analysis. In the scenarios we varied factors of which we think (based
on results in Chapter 5 and Chapter 6), that they have a major impact on the
performance of terminals and barges.
The results for the base case indicate that a Multi-Agent system with service-
time profiles performs well compared to the off-line benchmark, and outper-
forms the other Multi-Agent controls. Since it is not clear which way barges are
planned currently (probably a combination of appointments and FCFS process-
ing), we cannot say what the expected improvement is of a Multi-Agent system
compared to the current situation in terms of waiting times at terminals or the
port sojourn of barges. The comparison with the off-line benchmark indicates
that a Multi-Agent system is promising in the port.
The idea to build a large transferium far in the hinterland can be interest-
ing (Scenario 1), especially when the average rotation lengths of barges de-
8.8. Conclusions 191
crease. Terminals then waste less capacity during the mooring of barges, and
the throughput of the port can be increased without an increase of terminal
utilization. To reduce the average rotation length, it will be necessary to or-
ganize the barge container transport differently, such that barges only collect
containers for a limited number of sea terminals. The question is how easily
this can be realized in the current market.
Regarding the idea to build a transferium close the port (Scenario 2), we expect
that the increase in barge movements will lead to a significant increase of wait-
ing at the terminal, unless terminals increase the capacity available for barges.
A similar concern we raise regarding the 2nd Maasvlakte. If terminals do no
reserve enough capacity for barges and aim for a reasonable utilization degree
(say ≤ 85%), then the waiting times of barges might be significant. Increased
waiting times worsen the competitive position of the barge modality and will
also determine the success of a transferium. We wonder whether this effect is
currently taken into account.
It would be interesting to perform our study again, when better data about
the Port of Rotterdam becomes available in the future. Another option is to
perform a field test to see how our model works out in practice and which ben-
efits can be observed. In the next chapter we already make a first step towards
implementation in practice by developing a game, as a means to communicate
our model in practice.
192 Chapter 8. Distributed planning in the Port of Rotterdam
193
Chapter 9
9.1 Introduction
In Chapter 3 we argue that in the design of a Multi-Agent system not only
optimization but also acceptance is important. Suppose we are able to design
a Multi-Agent system that optimizes the operations of each of the actors. How-
ever, the system requires that actors have to participate on conditions they do
not accept. Then, although the system is very efficient, it will probably never
be implemented and therefore certainly not be effective.
(2008). Using a management game to exemplify a Multi-Agent approach for the barge
194 Chapter 9. The use of a management game
Ryan (2000) claims that changing management practices require learning skills
that can be met through games. He states that problems and issues become
increasingly interrelated and that, as more people become involved in decision
making, priorities become less clear and implementation gets more difficult.
His experience is that simulation games are extremely useful in developing an
appreciation of systems thinking, i.e., seeing the consequences as the prod-
uct of the interaction of the parts. Ryan (2000) states that simulation games
create common experience among participants, which they can refer to dis-
cussing the system concepts (see also Wenzler and Chartier, 1999; Le Bars
and Le Grusse, 2008). Le Bars and Le Grusse (2008) share their experience
with a simulation game and a decision support system for (collective) deci-
sion making among several actors. They show that this combination improves
discussions between stakeholders and facilitates the emergence of acceptable
solutions. They mention that acceptability of the solution in this case is more
important than the optimal solution. A game-like setting has also been ap-
plied in an earlier study of our problem (Moonen et al., 2007). They report
that through a game the participants start to realize the seriousness of the
problem and the potential benefits of an agent based system.
The brief literature overview shows that games are considered to have potential
to increase the understanding of complex systems and support the discussion
between stakeholders based on common experiences. In this chapter we describe
a game and our first experiences with the use of the game as a means to explain
the functioning of a Multi-Agent system.
The second aim is to use the game as practical validation of our solution. Are
people, e.g., able to make better (or more efficient) decisions if they are provided
196 Chapter 9. The use of a management game
with more information? How do people use the provided information and what
does it mean for the decisions they make?
The third aim is to evaluate the design of the user interface and the way
information is presented to the player. Finally, we aim to initiate a pointed
discussion between actors (barge and terminal operators). Through the game
they can experience the effect of different interaction protocols and discuss
whether certain solutions are acceptable or not.
We position our game in the following way along the dimensions of the typology
of Angelides and Paul (1999). First, we build a role-playing game, i.e., we focus
on a particular position within a system, namely the barge operator. Second,
we build a specific game, i.e., industry specific. Third, we build a functional
game focusing on the planning discipline within (terminal and) barge operator
companies.
To plan a rotation barges can propose specific time slots to terminals. Terminals
can accept or reject a request depending on whether the terminal is available
to process the barge. How terminals reply to barges depends on the scenario
played. We discuss this in the next section.
After the player has determined a first terminal to head to, his barge starts to
sail to this terminal, say terminal A. If the player decides to head to terminal B
instead of A, the barge changes direction and sails to terminal B. If the barge
arrives at the terminal prior to the planned time slot, it queues and waits for
processing. Once the barge is processed it heads to the next planned terminal
and queues on arrival, unless the player has decided in the mean time to sail
to another terminal.
After the barge has been processed at all the assigned terminals, it heads back
to the entrance of the port. When the barge arrives there, the player has
completed his tasks and his arrival time is logged. The player which barge
returns first at the entrance of the port is winner.
During the game the player gets a map of the port, including the position of
his own barge, the barges of other players, and all the terminals. In addition to
the barges of players, we can also introduce dummy barges. Dummy barges are
barges that are operated by the computer. Dummy barges limit the possibilities
for players to plan specific rotations. In this way we can make the game setting
more complex, since the actions of dummy barges also affect the actions of the
players.
In the game we can play one of the four scenarios mentioned, or play a combi-
nation of scenarios. We can let one part of the group play scenario 1 and the
other part scenario 2, or one part scenario 3 and the other part scenario 4.
9.3. Game description 199
timer
Timer Client Window
terminals
Game Server Terminal Controller
attached to attached to
Barge
visualized by
corresponds with
XML Protocol Message
located on
located on Game State
Game Map
GameConfig
of the communication between the classes and controls the game state.
Figure 9.3: Example of a waiting profile depicted in the time bar of a terminal.
The maximum waiting time is depicted on a logarithmic scale
The red bar in the lower part of the screen denotes the progress of time. If
the processing of a barge is finished, the corresponding time slot turns blue.
Refused time slots turn red and approved time slots green. Proposed (and not
communicated) time slots are depicted as grey.
In the time bars we can depict waiting profiles as shown in Figure 9.3. Waiting
profiles are depicted on a logarithmic scale and show the number of time slots
a barge has to wait before it can be processed.
Every player in the game plans a single barge. Terminals are controlled by the
computer, to be sure to have a timely and equal response to players. The time
horizon is divided in discrete time slots. The processing of a barge at every
terminal takes one time slot. Sailing times between terminals are determined
based on the shortest path between two terminals, taking into account the
course of the shore line. The sailing speed is equal for all barges. Every barge
arrives and leaves the port at the same point.
The length of the simulated horizon is configurable. Terminals only have one
quay and one place where barges can queue. Terminals do not process sea
vessels, but can be closed for barges for a random time. During the game the
player can see his position in the port, the position of the terminals, and the
other players.
The user id’s are denoted by real flags which are handed out at the start of
the game. In this way players can see which flag (and barge) corresponds with
which player.
On initialization of the game we can select the fraction of time slots that are
randomly closed at terminals. In this way we can influence the available time
slots and thus the difficulty to find an optimal (or even feasible) rotation.
In the waiting profile scenario we omit the slack, which plays an important
role in Chapters 5 and 6. The result is that waiting profiles reduces to time
slot information. The reason we have chosen to omit the slack is to make the
waiting profiles not too complicated for players. Waiting profiles without slack
already give an impression how waiting information can be used by players and
how competitively sensitive it possibly is.
1. 2. 3. 4.
Intro- Assign- Game Discus-
duction ment round sion
The assignment serves as introduction to the game. The aim of the game
was to give the players a feeling of the dynamics in the planning problem.
There was not time enough to play several rounds. After the game we briefly
discussed the experiences with the participants. In the workshop about 18
people participated on 10 computers (clients).
Experiences
The participants reacted enthusiastically on the game. None of the participants
had difficulty to operate the user interface or to interpret the information on
the interface. For participants it became clear that the actions of other play-
ers influenced directly the possibilities they had to plan their rotation. After
playing the game we got several responses of practitioners. Some people, e.g.,
still wondered why a central solution is not possible in our problem. We also
got detailed feedback from people working for a barge operator. They first
indicated that our game omits several practical aspects that complicate the
problem, e.g., the stowage plan of barges which restricts the sequence in which
terminals can be visited. They were, however, enthusiastic about our solution,
but expected that it can be hard to implement the Multi-Agent system. The
reason is that a Multi-Agent system requires different behavior from the ac-
tors, e.g., to make reliable appointments or to reveal specific information. The
question is whether actors are willing to adopt the Multi-Agent based solution.
204 Chapter 9. The use of a management game
1. 2. 3. 4. 5.
Intro- Game Game Game Discus-
duction round 1 round 2 round 3 sion
After playing the game we started a discussion related to the concepts we tried
to explain and the game itself. In the workshop about 10 people participate on
10 computers (clients).
Experiences
The experience with the student group was that they were able to operate the
user interface easily and had no difficulty to interpret the information presented.
Students could easily work with waiting profiles. They indicated that waiting
profile information made the planning of a rotation easier, especially when the
utilization of the network increases. Analysis of the behavior of the players in
different rounds revealed that players adopt different strategies to make plans
for their barge. Some students make a lot of proposals and changes in their
plan, whereas others plan once and update only a few times. From the game
rounds it also became clear that if the network is lowly utilized, it does not
really matter how much information someone has at his disposal. This is in
accordance with findings in our simulation study. The higher the utilization
degree of the network and the more terminals a player has to visit, the larger
the benefits of having waiting profiles.
9.4. First experiences 205
1. 2. 3. 4. 5.
Intro- Game Game Game Discus-
duction round 1 round 2 round 3 sion
The students indicate that the game was fun to play and increased their under-
standing of the dynamics in planning problems among different (self-interested)
actors. All students perceived the game as useful for their understanding and
the explanation of the developed concepts. They had some difficulty to see the
task of the agent. They did not directly realize that they actually played a
living agent.
After playing the three game rounds we closed the workshop with a brief dis-
cussion of the experiences. We played the game with about 20 players on 18
computers (clients).
Experiences
During the workshop we were struck by some annoying bugs. The bugs some-
times prevented a player to complete his rotation. Despite that, all players
played (part of) the three scenarios. Most of the participants could intuitively
work with the game interface after our brief introduction. However, some bugs
resulted in questions why certain things did not happen. It indicates that the
expectations of the players are in accordance with the supposed functioning of
the game.
After playing the three rounds, the players indicated that scenario 2 was rather
easy to play compared to the other scenarios. The reason why is that play-
ers do not have much information at their disposal and simply sail along the
terminals where they are processed FCFS. The lack (or limited availability) of
206 Chapter 9. The use of a management game
information about queues at the terminals means that this information cannot
be taken into account in the decision, which makes the decision easier in that
respect. Scenario 3 was the most difficult to play according to the participants.
The players that planned a rotation soon after the game started were mostly
successful in getting a convenient slot at a terminal. However, players that were
a bit later faced a lot of occupied slots and repeatedly had to send requests to
terminals. They considered this as rather inconvenient. Scenario 4 was more
easy to play than scenario 3, although people still had difficulty to find a good
rotation. The reason why is that waiting profiles change repeatedly because
of the actions of other players. Moreover, the fact that players had relatively
much information about the availability of terminals, made it more difficult to
decide quickly on a convenient rotation in scenario 2, where this information
was lacking.
After playing the three game rounds, we discussed the experiences of the game
with the players. From the discussion is became clear the players not always
understand the role of an agent in our game. They did not realize that they
were playing a living agent. One of the participants, employed by one of the
major containers terminals in Rotterdam, explained that his terminal already
makes appointments with barges. An appointment means that a barge has to
be present at the terminal before a certain time and then receives a guaranteed
latest departure time from the terminal. These appointments, however, are
mostly cyclic appointments, e.g., every week or every couple of days. They
would be interested in a system in which similar appointments can be made
more dynamically. The participant also suggested to add some slack to the
appointments, to create some planning flexibility. The Multi-Agent system we
propose in Chapter 6 has incorporated already these suggestions.
The first experiences with the game are encouraging and promising. In three
workshops participants indicate that the game increased their understanding
of our solution. In the game they experience the dynamics in the problem and
the complexity of aligning activities between multiple self-interested parties.
Through the game we were able to start pointed discussions with participants
about, e.g., their attitude towards the solution, the difficulties they expect
in the implementation, the extent to which waiting profiles reveal sensitive
information, whether the solution is acceptable, etcetera.
9.5. Conclusions and further research 207
Although the first experiences with the game are promising, we cannot yet
conclude that all our aims can be achieved. To get more experience we plan to
organize yet another workshop with practitioners, especially barge and termi-
nal operators. With respect to the further development of the game, we aim to
introduce also the notion of agents. An interesting question is how to give play-
ers an impression of the task of an agent and how to design the communication
between an agent and a player. The game can function in this way as proto-
typing technique for the development of the user interface of the Multi-Agent
system. Another interesting option is the possibility for players to increase or
decrease the sailing speed of their barges. An increase of the sailing speed of
a barge with a few kilometers per hour, can double the fuel consumption. The
corresponding fuel costs can then be taken into account in the determination
of the winner. In a later stage we aim to let the terminal also be played by
a player instead of the computer. This gives terminal operators the option to
reflect on the way they plan their quays and the issues a terminal operator
agent should take into account when it responds to barges.
208 Chapter 9. The use of a management game
209
Chapter 10
The barge handling problem is not easy to solve due to several complicating
factors mentioned in Section 1.1.3. Previous attempts to provide a solution
to the barge handling problem made clear that a centralized solution is not
acceptable for the actors concerned, and that a decentralized planning approach
may be one of the few ways to solve the problem. The problem is highly relevant
in practice, e.g., in the Port of Rotterdam. The inefficiencies, resulting from a
poor alignment of barge and terminal operations, lead to significant (in)direct
costs and also affect the attractiveness of the Port of Rotterdam as a node in
global container transportation chains. We formulated the goal of our research
as follows:
The aim of this study is to develop and evaluate an efficient and effective distrib-
uted planning system for the barge handling problem -concerning the alignment
of container barge and terminal operations in a port-, and to gain insight in
the way the proposed system functions.
210 Chapter 10. Summary, conclusions, and further research
Over the last decade, container flows have increased rapidly worldwide. The
Port of Rotterdam plays a major role in global container transportation. In
2007, the port was the sixth largest in the world and the largest in Europe with
respect to the number of transshipped containers. The hinterland transporta-
tion of containers related to the Port of Rotterdam is performed by barge, rail,
and truck. In 2007, about 36% of all containers going to or coming from the
hinterland were shipped by barge and this fraction will probably grow in the
coming years. The reasons why are: i) other modalities (road and rail) get
congested or have reached the limits of their capacity, whereas barge container
transportation has still room for growth, ii) the increasing attention for envi-
ronmental issues and the rising oil prices increase the attractiveness of barge
container transportation, and iii) the development and exploitation of the 2nd
Maasvlakte will lead to additional container volumes, since the Port of Rot-
terdam has made agreements with the terminal operators exploiting the 2nd
Maasvlakte about the maximum fraction of containers that are transported by
truck.
Low cost, fast, and reliable hinterland connections are of vital importance for a
port such as the Port of Rotterdam. However, increasing container volumes lead
to problems such as long waiting times of barges at terminals, and require the
development of new concepts to structurally improve barge hinterland container
transportation.
10.1. Summary and conclusions 211
barge operator promises the terminal operator to arrive prior to a latest arrival
time. The terminal operator in turn promises the barge operator a guaranteed
maximum waiting time until the start of service, provided that the barge has
arrived prior to its latest arrival time.
Based on the simulation results we draw the following general conclusions. Our
Multi-Agent system clearly outperforms more restricted levels of information
exchange. Moreover, our Multi-Agent system performs well compared to the
10.1. Summary and conclusions 213
off-line benchmark, especially when we take into account that the off-line bench-
mark has a priori information about the planning horizon. In-depth analysis of
the waiting times in the system revealed an interesting result, which might seem
counterintuitive at first sight. We observed that, when the utilization degree
of the port is high (>75%), then the average total waiting time in a rotation
of a barge does not necessarily increase if a barge visits more terminals. The
reason why is that a barge plans to visit a bottleneck terminal at the end of its
rotation. During the waiting time of this terminal it visits other terminals in
the port, thus using waiting time for sailing and handling. For other insights
we obtained we refer to Chapter 5.
Simulation results show again that our Multi-Agent system (using service-time
profiles) outperforms more restricted levels of information exchange. Com-
paring the simulation results with the off-line benchmark, learns us that our
Multi-Agent system can deal well with restricted opening times, unbalanced
networks, and sea vessels. However, in case containers have closing times, our
Multi-Agent system has difficulty to provide solutions of similar quality as the
off-line benchmark.
The experimental results in the Chapters 5 and 6 indicate that our Multi-Agent
system might be promising in practice.
In the Chapters 5 and 6 we assumed that terminals are cooperative in the sense
that they share the required information and are willing to make appointments.
However, what will happen if terminal operators are not so cooperative? To
investigate that, we introduce the following, so-called, degree of cooperativeness
of terminals:
1. Fully cooperative: a terminal issues waiting profiles and keeps the ap-
pointments made with barges (the situation in the Chapters 5 and 6).
214 Chapter 10. Summary, conclusions, and further research
will probably lead to shorter rotation lengths of barges and larger call sizes
at terminals. The second scenario (Scenario 2) is based on an idea to build a
transferium close to the port, to transfer containers from truck to barge and vice
versa. The aim is to relieve the congested roads leading to the sea terminals.
Scenario 2 will probably lead to a higher utilization of the terminals, since there
will be additional barge movements compared to the current situation.
The results for the base case indicate that a Multi-Agent system with service-
time profiles performs well compared to the off-line benchmark, and outper-
forms the other Multi-Agent controls. The comparison with the off-line bench-
mark suggests that our Multi-Agent system is promising in the port.
The first experiences with the game are encouraging and promising. In three
workshops participants indicated that the game increased their understanding
of our solution. In the game they experienced the dynamics in the problem and
the complexity of aligning activities between multiple self-interested parties.
Through the game we were able to start pointed discussions with participants
about their attitude towards the solution, the difficulties they expect in the im-
plementation, the extent to which waiting profiles reveal sensitive information,
whether the solution is acceptable, etcetera.
216 Chapter 10. Summary, conclusions, and further research
Although the first experiences with the game are promising, we cannot yet con-
clude that our game is an effective means to facilitate the acceptance process
of our Multi-Agent system. To get more experience, we plan to organize other
workshops, preferably with barge and terminal operators. Through that we
hope to get insight in the extent to which a game contributes to the under-
standing of our Multi-Agent system, provides a tool for effective communication
of our solution to practice, and can be used as prototyping technique for the
further development of our Multi-Agent system.
frustrate the Multi-Agent system, and how to prevent the system from collaps-
ing because of the behavior of specific actors or because of certain (disturbing)
events.
and objectively the performance of barges and terminals. We expect that both
conditions can be fulfilled in the near future.
Before implementation
We can imagine that, when our Multi-Agent system is about to be implemented,
not all actors in the port are willing to participate. This may result in a hybrid
setting, where part of the terminal and barge operators participate and make
appointments through our Multi-Agent system and others make appointments
as they do it nowadays. Such a hybrid setting can be complicated, since a
barge operator, e.g., may not have all the necessary information at his disposal
at the time he has to plan a rotation. Although a field test would be desirable
before implementing the system, we expect that a field test with less than the
critical mass might be problematic due to the hybrid setting that will arise.
Bibliography
Ahn, B. and Shin, J. (1991). Vehicle-routeing with time windows and time-
varying congestion, The Journal of the Operational Research Society
42(5): 393—400.
Anderson, P., Cannon, H., Malik, D. and Thavikulwat, P. (1998). Games as
instruments of assessment: a framework for evaluation, Developments in
business simulation and experiential learning 25: 31—39.
Angelides, M. and Paul, R. (1993). Developing and intelligent tutoring system
for a business simulation game, Simulation Practice and Theory 1(3): 109—
135.
Angelides, M. and Paul, R. (1999). A methodology for specific, total enterprise,
role-playing, intelligent gaming-simulation environment development, De-
cision Support Systems 25: 89—108.
Arbib, C. and Rossi, F. (2000). Optimal resource assignment through negotia-
tion in a multi-agent manufacturing system, IIE Transactions 32: 963—974.
Asdemir, K., Jacob, V. and Krishnan, R. (2008). Dynamic pricing of mul-
tiple home delivery options, European Journal of Operational Research .
Forthcoming: doi:10.1016/j.ejor.2008.03.005.
Barreteau, O., Bousquet, F. and Attonaty, J.-M. (2001). Role playing games for
opening the black box of multi-agent systems: method and lessons of its
application to senegal river valley irrigated systems, Journal of artificial
societies and social simulation 4(2).
Böcker, J., Lind, J. and Zirkler, B. (2001). Using a multi-agent approach
to optimise the train coupling and sharing system, European Journal of
Operational Research 131(2): 242—252.
Bürckert, H., Fund, P. and Vierke, G. (2000). Holonic transport scheduling
with Teletruck, Applied Artificial Intelligence 14(7): 697—725.
BvB (2007). The power of inland navigation, Bureau Voorlichting Binnenvaart.
220 Bibliography
Nieuwsblad Transport (2007b). Stremming rijn zorgt voor lange ‘file’. March
27, 2007.
Notteboom, T. (2002). The interdependence between liner shipping networks
and intermodal networks, Proceedings of the IAME, Panama.
Notteboom, T. (2004). Container shipping and ports: An overview, Review of
Network Economics 3(2).
Notteboom, T. (2007). Strategic challenges to container ports in a changing
market environment, Research in Transportation Economics 17: 29—52.
Paessens, H. (1988). The savings algorithm for the vehicle routing problem,
European Journal of Operational Research 34: 336—344.
Park, Y. and Kim, K. (2003). A scheduling method for berth and quay cranes,
OR Spectrum 25: 1—23.
Paulussen, T., Jennings, N., Decker, K. and Heinzl, A. (2003). Distributed
patient scheduling in hospitals, Proceedings 18th international joint con-
ference on AI.
Pinedo, M. and Chao, X. (1999). Operations Scheduling. With applications in
manufacturing and services, Irwin/McGraw-Hill.
Qinghe, H., Kumar, A. and Shuang, Z. (2001). A bidding decision model
in multiagent supply chain planning, International Journal of Production
Research 39(15): 3291—3301.
RIL Foundation (1998). Afhandeling containerbinnenvaart rotterdam, Techni-
cal report, B-RIL, CBRB, and TNO-Inro.
RIL Foundation (2000). Functioneel ontwerp bargeplanning.nl, Technical re-
port.
Ronen, D. (1983). Cargo ships routing and scheduling: Survey of models and
problems, European Journal of Operational Research 12: 119—126.
Ross, S. (2003). Introduction To Probability Models, 8 edn, Academic Press.
Ryan, T. (2000). The role of simulation gaming in policy-making, Systems
research and behavorial science 17: 359—364.
Ryoo, D. and Thanopoulou, H. (1999). Liner alliances in the globalisation
era: A strategic tool for asian container carriers, Maritime Policy and
Management 26(4): 349—367.
Sandholm, T. (1999). Multiagent Systems, A Modern Approach to Distrib-
uted Artifical Intelligence, 1 edn, MIT press, chapter Distributed Rational
Decision Making, pp. 201—258.
226 Bibliography
Appendices
Appendix A
To evaluate the performance of the DP-heuristic of Malandraki and Dial (1996),
we performed several off-line experiments. For the experiments we created
several instances, which are solved using the DP-heuristic of Malandraki and
Dial (1996), a branch-and-bound algorithm, and the savings-based algorithms
with a 2-opt procedure as described in Section 5.2.2. Every experiment is a
combination of the following variables. First, the number of regions (1, 2, or
3). Second, the number of terminals per region (varying from 3-12) with a
maximum of 12 terminals for the whole network. Third, randomly generated
waiting profiles for varying average waiting times.
The waiting profiles are created as follows. We first compute the number
of times the waiting time is zero during a certain planning horizon. We do
this by multiplying a sufficient long planning horizon with different values of
k ∈ {0.05, 0.025, 0.017, 0.0125}, where k is the probability that the waiting
time is zero for a certain time unit. After determining the number of times
the waiting time is zero, we distribute these points uniformly over the planning
horizon. At each of these points the waiting time is zero. At other points in
planning horizon the waiting time is equal to the time remaining to the first
point on the planning horizon where waiting time is zero. Remark that the
aim of these experiments is go get a feeling for the quality of the algorithms,
without giving specific performance guarantees. We are mainly interested in
the performance of comparable algorithms on instances with time dependent
travel times comparable to the problems barges need to solve.
230 Appendices
Appendix B
In Figure B.1 we depict the assignment (including a solution) we handed out to
participants during the first workshop on the Management Game (as described
in Section 9.4). The assignment is to plan the shortest rotation along all the
eight terminals, starting and ending in I/O.
en van terminals
Waiting profiles of terminals
solutions. An opt ima l solution is I/O-7-6-5-4-3-2 -1 -8-I/O
poin t to I/O p oin t, via a ll terminals). The re a re in total 45 o ptimal
T he du ration of the optimal rotation is 39 time slots (going from I/O
100
100
10
Terminal 1 10
1
1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
10
Terminal 2 10
1
1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
Terminal 3 10
10
1
1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
10
Terminal 4 10
1
1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
10
Terminal 5 10
1
1
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
Terminal 6 10
10
11
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
Terminal 7 10
10
11
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
100
100
Terminal 8 10
10
11
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
Figure B.1: The assignment given to the participants during the first workshop,
described in Section 9.4
231
Index
A closing time, 7, 114
acceptance, 49, 193 consignee, 33
activity, 45 contract net protocol, 57
attributes, 85 cool-down period, 71
adaptive search, 81 cooperative
agent, 51 fully, 141
key properties, 51 lowly, 141, 142
alliances, 24 partly, 141, 146
appointment, 61 cooperativeness
Approach 1, 8, 36 degree of, 139
interaction protocol, 59 customs, 33
Approach 2, 46 cycle length, 85, 126
autonomy
extent of, 57 D
data set, 69
B basic, 88
barge, 98 generator, 70
attributes, 85 structure of the, 88
barge company, 2, 33 data sources, 92
barge handling problem, 2 decentralized control, 50
barge operator, 2, 32, 98 decision
agent, 94, 98, 117 points, 142
objective, 95, 117 rules, 144
base case, 168 desired properties, 53
baseline schedule, 155 disturbance, 139, 154
benefit/loss sharing, 56 downtime
BHP, 2 (non)-preemptive, 11
botlek, 173 DP-heuristic, 96, 119
branch-and-bound, 96, 100, 119 DSOL, 71
dynamic, 69
C dynamic programming, 96
call size, 23
carrier, see liner shipping company E
case of reference, 2 ease of use, 202
CEMT, 31 economical benefits, 191
city, 173 EDT, 99
232 Index
R stowage plan, 3
RCPSP strategic behavior, 161
model, 77 strategy of players, 50
objective, 79
reciprocal behavior, 161 T
regulation of behavior, 56 tardiness
replication/deletion, 71 activity, 45
resource, 78 project, 45
resource profile, 80 project penalty, 80
Rhine, 28 TDTSP, 95
lower, 28 terminal, 2, 98
middle, 28 attributes, 85
upper, 28 terminal operator, 2, 98
robust, 54 agent, 98, 120
robust scheduling, 155, 156 deep-sea, 32
robustness inland, 33
forms of, 156 TEU, 22
rotation, 3 throughput, 180
robust, 160 time to move a container, 90, 173
rotation length, 90 time window, 88, 90
fixed, 90
S variable, 91
sailing schedule, 40 trade lane, 22
sailing time, 11, 89 transferium, 35, 180
scenario, 84 transshipment, 21
sea vessel, 122, 175 Transumo, 46
attributes, 85 Diploma, 46
sensitivity analysis, 168 truck operator, 33
sequence diagram, 36, 62 trust, 58
service-time function, 123, 126
service-time profile, 113, 117, 123 U
shifter, 42 UML, 199
shipper, 33 unbalanced networks, 91, 113
short-sea vessel, 4 uncertainty, 139, 154
simulation, 194 usefulness, 202
discrete event, 71 user interface, 196, 200
model, 70 utilization degree, 86
object-oriented, 71
slack, 103 W
start interval, 100, 124 waiting profile, 62, 100, 123
state of the system, 71 warm-up period, 71
state transition, 74 workshop, 202
diagram, 74
static, 69
static structure diagram, 199
234 Index
235
Samenvatting
Voor het vervoer van containers van de haven van Rotterdam naar het achter-
land (en vice versa) worden binnenvaartschepen (Engels: barges) ingezet. Wan-
neer een binnenvaartschip vanuit het achterland in de haven van Rotterdam
arriveert, moeten gemiddeld ongeveer zeven terminals bezocht worden om con-
tainers te lossen en te laden. Een barge operator (het bedrijf dat het binnen-
vaartschip heeft ingehuurd) wil graag dat het binnenvaartschip deze terminals
in een zodanige volgorde bezoekt, dat het binnen een bepaalde tijd de haven
kan verlaten. Om dit te realiseren maakt de barge operator afspraken met de
desbetreffende terminal operators. Een terminal operator is het bedrijf dat een
terminal exploiteert. Het maken van afspraken gaat veelal via telefoon, fax
of e-mail. Het komt echter vaak voor dat afspraken niet nagekomen (kunnen)
worden. Dit heeft verschillende redenen, zoals het feit dat er soms dubbele
afspraken gemaakt worden, maar ook dat een verstoring bij één terminal zich
snel kan verspreiden door de hele haven. Het gevolg is dat afspraken erg onbe-
trouwbaar zijn.
Het probleem is urgent geworden in de afgelopen jaren als gevolg van de sterke
toename van het containerverkeer. In het verleden is geprobeerd één (centrale)
partij te installeren die de activiteiten van alle terminals en binnenvaartschepen
coördineert. Dit bleek geen acceptabele oplossing te zijn voor de partijen in
236 Samenvatting
Het doel van het onderzoek is het ontwikkelen van een efficiënt en effectief
gedistribueerd planningssysteem voor het ‘barge handling problem’ en inzicht te
krijgen in de manier waarop het voorgestelde systeem werkt.
We evalueren de prestatie van ons Multi-Agent systeem door middel van simu-
latie. Daarnaast maken we een vergelijking met een zogenaamde off-line bench-
238 Samenvatting
ze dan vaak beter af zijn door helemaal geen afspraken te maken. Het maken
van betrouwbare afspraken heeft echter tal van voordelen, aangezien het meer
zekerheid geeft in de operaties van barge operators en terminal operators. Deze
conclusie is dus gebaseerd op vereenvoudigde havensituaties. Of het ook geldt
in realistischer havensituaties is onderwerp van toekomstig onderzoek.
Naast fictieve havensituaties hebben we ook gekeken naar de haven van Rot-
terdam. We beschrijven dit in hoofdstuk 8. Het bleek, om verschillende re-
denen, lastig te zijn betrouwbare en volledige informatie te verkrijgen van de
tijdsperiode die wij hebben beschouwd (2006-2007). We hebben op basis van
de beschikbare informatie een model gemaakt (de zogenaamde basissituatie).
Daarnaast hebben we twee scenario’s beschouwd die gebaseerd zijn op ideeën
die bestudeerd worden in de praktijk. Het eerste scenario is een idee om grote
hoeveelheden containers ongesorteerd naar een transferium in het achterland
te varen (bijvoorbeeld Duisburg) en daar verder te distribueren. Dit leidt naar
verwachting tot minder terminalbezoeken per rotatie. Het tweede scenario
is gebaseerd op het idee om een transferium dichtbij de haven te realiseren,
met als doel de wegen te ontlasten door containers van vrachtwagens over te
slaan op binnenvaart (en vice versa). We verwachten dat dit tot een hogere
kadebezetting leidt van de terminals. De resultaten laten allereerst zien dat
ons Multi-Agent systeem met servicetijdprofielen goed presteert in vergelijking
met de off-line benchmark en een goede oplossing kan bieden in de praktijk.
Verder blijkt dat het eerste scenario tot een hogere doorzet kan leiden in de
haven zonder een stijging van de bezettingsgraad van terminals. De reden is
dat schepen minder terminals aandoen en de tijd voor het aan- en afmeren
gebruiken voor overslag. Als de bezettingsgraad van terminals gelijk blijft als
in de basissituatie (wat inhoud dat terminals meer containers overslaan) dan is
de verblijftijd van binnenvaartschepen in scenario 1 vrijwel gelijk aan die in de
basissituatie. De resultaten van de simulatie van het tweede scenario laten zien
dat een toename van het aantal binnenvaartschepen zal leiden tot een meer dan
lineaire toename van de wachttijd bij terminals. We betwijfelen of dit effect
tegenwoordig voldoende wordt meegenomen in de praktijkstudies.
de barge operator van een binnenvaartschip en moet hij afspraken maken met
bepaalde terminal operators. Deze terminal operators worden gespeeld door
de computer. Het doel van de game is dat spelers zelf kunnen ervaren hoe
het voorgestelde Multi-Agent systeem werkt en hoe de beslissingen van andere
spelers de eigen mogelijkheden beïnvloeden. Door middel van de game zijn we
in staat gerichte discussies te genereren over onze oplossing, in hoeverre deze
acceptabel is, hoe spelers erop reageren en dergelijke. De ervaringen die we
opgedaan hebben in een aantal workshops zijn veelbelovend.
Dit proefschrift beschrijft een uitvoerige studie naar het barge handling problem
en stelt een oplossing voor in de vorm van een Multi-Agent systeem. Hoewel de
theoretische resultaten veelbelovend zijn, kan de weg naar implementatie wel
eens lang zijn. Toch denken we dat geavanceerde planningstechnieken, zoals
degene die we in dit proefschrift bespreken, essentieel zijn voor een haven als
Rotterdam, om haar concurrentiepositie in de wereld te handhaven of zelfs te
verbeteren.
241