Você está na página 1de 19

Transportation Research Part E 87 (2016) 167–185

Contents lists available at ScienceDirect

Transportation Research Part E


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

Evaluating the solution performance of IP and CP for berth


allocation with time-varying water depth
Tianbao Qin a, Yuquan Du b,⇑, Mei Sha a
a
College of Transport and Communications, Shanghai Maritime University, Shanghai 200135, China
b
Centre for Maritime Studies, National University of Singapore, Singapore 118414, Singapore

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

Article history: This paper considers the berth allocation problem (BAP) with time-varying water depth at
Received 17 February 2015 a tidal river port. Both integer programming (IP) and constraint programming (CP) models
Received in revised form 3 November 2015 are developed. Numerical experiments find that CP tends to be superior to IP when the fea-
Accepted 14 January 2016
sible domain is small (e.g. dynamic vessel arrivals), when the restriction of the objective
towards decision variables is loose (e.g. makespan, departure delay), or when the size of
IP models is too large due to fine time resolution. Meanwhile, CP’s incapability of proving
Keywords:
optimality can be compensated by post-optimization with IP, by using a simple CP/IP
Berth allocation
Tide
hybrid procedure.
Water depth Ó 2016 Elsevier Ltd. All rights reserved.
Integer programming
Constraint programming
Hybrid algorithm

1. Introduction

1.1. Background and literature review

Berthing space is one of the most critical resources of a terminal, and the dimensions and number of berths always
constitute the performance bottleneck of a terminal serving approaching vessels. In the practice of port operations, water
depth at berth might also restrict the mooring of vessels since berth water depth has to match the drafts of vessels and
satisfy the requirements of under knee clearance, in order to avoid stranding vessels. In a terminal located along a river, berth
water depth is typically affected by ambient tidal conditions: the fluctuation of tide heights may cause the variation of water
depth at berth at different times over a day (Xu et al., 2012). If a vessel arrives at the river port during a low-tide window
which cannot meet its water depth requirement originating from draft and under knee clearance, it has to wait at the
anchorage ground for the coming of the next high-tide window. This waiting behavior caused by tidal conditions definitely
further reduces the productivity of a terminal.
The berth allocation problem (BAP) has been attracting the research interest from the field of operation research and
management science since 1990s. Studies on the BAP can be roughly categorized with three schemes: (a) discrete versus
continuous berthing space, (b) static versus dynamic arrival of vessels, and (c) deterministic versus uncertain operational
environments. The BAP with discrete berthing space divides the wharf into several individual berths (Buhrkal et al., 2011;
Cordeau et al., 2005), while that with continuous berthing space regards the wharf as a continuous straight line (Kim and
Moon, 2003; Lee and Chen, 2009). In a static BAP, all the vessels to be scheduled have already arrived at the port at the

⇑ Corresponding author at: Centre for Maritime Studies, National University of Singapore, 15 Prince George’s Park, Singapore 118414, Singapore. Tel.: +65
6516 7593.
E-mail addresses: qtbgo@163.com (T. Qin), duyuquan2006@gmail.com (Y. Du), meisha@shmtu.edu.cn (M. Sha).

http://dx.doi.org/10.1016/j.tre.2016.01.007
1366-5545/Ó 2016 Elsevier Ltd. All rights reserved.
168 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

beginning of the planning horizon (Li et al., 1998). In contrast, a dynamic BAP allows vessels to approach the port dynam-
ically during the planning horizon (Imai et al., 2001; Lee et al., 2010). In reality, some uncertainty factors, including stochas-
tic vessel arrivals and variation of quay crane productivity, might influence the seaside operations of a terminal. These
uncertainties are addressed by recent studies on the BAP (Han et al., 2010; Zhen et al., 2011). Another research stream
devotes much to the integrated planning of berth and other resources such as quay crane and yard space from a holistic
scheduling viewpoint (Hendriks et al., 2013; Meisel and Bierwirth, 2009; Ursavas, 2014; Vacca et al., 2013). For a most recent
review on the BAP, we refer readers to Bierwirth and Meisel (2015). This review identifies several new issues in berth allo-
cation, such as cyclic arrivals (Imai et al., 2014), direct transshipment (Liang et al., 2012), vessels’ fuel consumption (Golias
et al., 2010), indented berth (Imai et al., 2007), mobile quay wall (Emde et al., 2014), cargo type (Umang et al., 2013) and
cargo inspection for safety reasons (Guan and Yang, 2010).
Despite the fruitful achievements mentioned above, research on berth allocation that recognizes the impact of time-
varying water depth caused by tides is still scarce. Some work captures the influence of tides on vessels’ sailing in the nav-
igation channel connecting port basin and anchorage ground. Kelareva et al. (2012, 2013) optimize the navigation schedule
of bulk carriers in a single high tide in order to improve the throughput of a port in Australia, which is measured by the
weighted sum of scheduled vessels’ drafts since one-centimeter draft increase of different vessels always means different
amount increase of loaded iron ore. Their studies do not touch the BAP. Ilati et al. (2014), Sheikholeslami et al. (2014),
and Du et al. (2015) mathematically model in the BAP the impact of tide-dependent water depth of the navigation channel
on vessels’ entrance and departure into and from the port basin. This is consistent with the reality in a seaport that tides
always influence the water depth in the navigation channel, but not the water depth at berth.
However, in a river port, tides may influence the water depth at berth. Few studies address this reality and its impact on
berth allocation. Barros et al. (2011) examine the BAP in a tidal bulk port in Brazil and develop a simulated annealing algo-
rithm. In their model, the berths are regarded as homogenous and decisions only focus on the assignment of vessels to tidal
time windows. Xu et al. (2012) address the daily berth plan for a tidal river port located at the Pearl River Delta area of China,
model the restriction of tides on vessel mooring and design some heuristics to solve both the static and dynamic cases of this
problem. Lalla Ruiz et al. (2013) deal with the same problem addressed in Xu et al. (2012) with a variable neighborhood
search algorithm. However, these pioneering studies all concisely divide the planning horizon into low-water and high-
water periods which are not vessel-specific: the vessels might have different drafts but face the same tidal time windows.
This poses a gap between academic research and industrial needs.

1.2. Objective and contributions

The objective of this study is to further close the gap between the pioneering work by Barros et al. (2011), Xu et al. (2012),
and Lalla Ruiz et al. (2013) and industrial needs, by taking into account time-varying draft constraints on vessel berthing. In
this study, the specific tidal time windows for each vessel will be dedicatedly constructed based on its draft and tide con-
ditions at different berths.
We develop both integer mathematical programming (IP) and constraint programming (CP) models for two cases (static
and dynamic), with three different objectives (total weighted service time, total weighted departure delay and makespan), of
berth allocation in a tidal river port with time-varying water depth. Since off-the-shelf IP and CP solvers are the first resort in
industrial applications, we evaluate the solving performance of IP and CP through a group of numerical experiments by tak-
ing advantage of the state-of-the-art commercial solvers in IBM ILOG Optimization Studio: CPLEX Optimizer and CP Opti-
mizer. Meanwhile, we also design some hybrid CP/IP algorithmic procedures to improve the optimality proving capability
of the algorithm over the models where CP outperforms IP.
Our contributions can be summarized in three aspects:

 Compared to the pioneering work by Barros et al. (2011), Xu et al. (2012), and Lalla Ruiz et al. (2013), this study considers
vessel-specific water depth requirements based on the drafts of vessels, instead of simply dividing the time horizon into
several high-tide and low-tide windows regardless of vessel drafts, and addresses the influence of tides on berth alloca-
tion in a more precise manner.
 To the best of our knowledge and based on the latest review paper (Bierwirth and Meisel, 2015), this study takes the ini-
tiative to model the BAP with CP. One may find few existing studies that touch the BAP via CP, e.g. (Zampelli et al., 2013).
However, the core submodel in (Zampelli et al., 2013) is for gang (a group of workers) allocation since gang cost domi-
nates the seaside operational cost of a terminal. The construction of the optimality gap they considered in numerical
experiments even ignores the submodels for berth allocation and quay crane allocation. The computational performance
of CP on the BAP is still unclear with (Zampelli et al., 2013).
 Several insights into the solution performance of IP and CP on this BAP are obtained via numerical experiments: (a) When
the feasible domain of the BAP model is small (e.g. dynamic vessel arrivals compared to the static case) or when the
restriction of the objective to decision variables is loose (e.g. makespan compared to total weighted service time), CP
tends to be more efficient due to the fact that the algorithm for CP relies on domain reduction instead of mathematical
(lower) bounds; (b) CP is more robust against the rescaling of time resolution, while the size/performance of IP models
increases/reduces dramatically if a finer time granularity is adopted; and (c) a simple hybrid CP/IP procedure may be use-
ful to improve the optimality proving capability of the algorithm.
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 169

The remainder of this paper is organized as follows. Section 2 formulates the proposed problem as IP models for both the
static and dynamic cases. Section 3 develops the corresponding CP models. Section 4 proposes some hybrid CP/IP procedures
to improve the optimality proving capability of the algorithm. Section 5 conducts numerical experiments and reports our
experimental findings. Section 6 concludes the paper.

2. IP Models for berth allocation with time-varying water depth

Berth allocation with time-varying water depth can be described as follows. Within a time horizon T (discretized into
t 2 f0; 1; . . . ; T  1g with a granularity e.g. 1 h), n vessels arrive at the tidal port and the terminal planner has to assign these
vessels to the m berths he is operating for stevedoring service, in order to finish the loading/discharge for the vessels as soon
as possible. Each vessel i 2 f1; . . . ; ng has three properties associated with it: arrival time ai , draft di and handling time pi at
berth. The water depth of each berth k 2 f1; . . . ; mg at each time period t, denoted by rkt , depends on its datum water depth
(basic water depth excluding tidal impacts) and the tidal conditions in the terminal. In berth allocation, the planner has to
ensure that the berth allocated to a vessel should provide adequate water depth during the berthing period of this vessel.
Fig. 1 illustrates a schedule for a berth with time-varying water depth caused by tides and the restrictions of water depth
at berth on vessel mooring. A rectangle in this figure represents a vessel: the position of the rectangle along the time axis
represents the berthing time of the corresponding vessel; the length of the rectangle denotes its handling time at berth,
while the height means its draft.
The objectives pursued by terminal planers might be diverse, depending on the management policy of the terminal and
business scenarios. In order to improve the throughput of the terminal, planners may attempt to reduce the turnaround time
of each vessel, namely, the duration from arrival at the port to the stevedoring completion time C i at berth. This turnaround
time ðC i  ai Þ is also referred to as the service time of vessel i. Second, planners might optimize berth allocation aiming to
make the stevedoring of each vessel completed before its requested due time Di for departure. Mathematically, minimization
over departure delay ðC i  Di Þþ ¼ maxð0; C i  Di Þ is desired. If a vessel faces departure delay from a port, it might have to
speed up in the upcoming leg to catch up the schedule at next port of call, causing the increase of bunker fuel cost. Thus,
departure delay minimization is an objective from the viewpoint of improving customers’ satisfaction. Third, when the
port/terminal suffers sever congestion or after a business interruption due to bad weather or a strike, the port authority
may be more willing to complete the handling work of all the vessels as soon as possible, which can be interpreted as make-
span minimization in the terminology of scheduling. We refer readers to JOC (2015) and APL (2015) to see how the conges-
tion in US West Coast ports originating from labor standoff impacts US container exports at the beginning of 2015 and the
revenue of APL (American President Lines) in the first quarter of 2015. Moreover, terminal planners might assign each vessel
a priority, or say weight, wi , based on the vessel size, cargo volume and contractual terms, in berth allocation.
Some reasonable assumptions are made for all the models throughout this paper:

(a) From the viewpoint of berthing space, each berth is longer than the longest vessel to be scheduled. In other words, the
length of each berth can match all the vessels under consideration.
(b) Berths are homogenous in productivity and the handling times of a vessel across all the berths are the same.

Fig. 1. A schedule for a berth with time-varying water depth caused by tides at a river port.
170 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

(c) The draft value di of each vessel has included the additional water depth requirement for under knee clearance posed
by the terminal operator.
(d) The water depth at a berth during a time interval ½t; t þ 1Þ; rkt , is a constant, which justifies the step-wise form of the
water-depth curve in Fig. 1. This is a practical approximation to the reality of water depth variation at berth.
(e) Berth shift during stevedoring is not allowed.

If we define the binary decision variable xkit indicating whether vessel i moors at berth k and begins its stevedoring at time
t, and attempt to reduce the vessels’ service times at port, we can formulate the BAP with time-varying water depth as a IP
model as follows:

dynamic-wst
X
n
½IPdynamic-wst  min f ¼ wi ðC i  ai Þ ð1Þ
i¼1

s:t: : xkit ¼ 0; k ¼ 1; . . . ; m; t ¼ 0; . . . ; ai  1; i ¼ 1; . . . ; n ð2Þ


X Xi
m Tp
xkit ¼ 1; i ¼ 1; . . . ; n ð3Þ
k¼1 t¼0
X
n X
t
xkis 6 1; k ¼ 1; . . . ; m; t ¼ 0; . . . ; T  1 ð4Þ
i¼1 s¼maxf0;tþ1pi g

X
t
di  xkis 6 rkt ; k ¼ 1; . . . ; m; i ¼ 1; . . . ; n; t ¼ 0; . . . ; T  1 ð5Þ
s¼maxf0;tþ1pi g

xkit ¼ 0; k ¼ 1; . . . ; m; i ¼ 1; . . . ; n; t ¼ T  pi þ 1; . . . ; T  1 ð6Þ
X Xi
m Tp
ðt þ pi Þxkit ¼ C i ; i ¼ 1; . . . ; n ð7Þ
k¼1 t¼0

xkit 2 f0; 1g; k ¼ 1; . . . ; m; i ¼ 1; . . . ; n; t ¼ 0; . . . ; T  1 ð8Þ


C i P 0; i ¼ 1; . . . ; n ð9Þ
In this formulation, the objective (1) is to minimize the total weighted service time of all the vessels. Constraint (2)
restricts that each vessel can only start its loading/discharge along the quay after its arrival at the terminal, which implies
that this model is for a dynamic case of the BAP. Constraint (3) requires that each vessel should be assigned exactly one berth
and one start time of mooring. Constraint (4) imposes that a berth cannot serve more than one vessel at the same time. Con-
straint (5) reflects the influence of vessel-specific tidal time windows and ensures that the allocated berth to a vessel must
provide adequate water depth during the mooring period of this vessel to accommodate the vessel’s draft and possible under
knee clearance. Constraint (6) poses the restriction that all the stevedoring operations along berth should be completed in
the predefined time horizon. Constraint (7) defines the auxiliary decision variable C i . Constraints (7) and (8) clarify the
domains of variables. The stevedoring completion time C i is intrinsically an integer variable, since we discretize the planning
horizon and adopt integer values for all model parameters.
Among these constraints, (5) reflects our modeling effort on vessel-specific mooring restrictions caused by tide-
dependent water depth at berth, which can be seen as one of the improvements compared to the pioneering work by
Barros et al. (2011), Xu et al. (2012), and Lalla Ruiz et al. (2013). Similar constraints to (5) can also be found in the literature
on parallel machine scheduling with additional resources. However, these studies (Edis and Ozkarahan, 2011; Edis et al.,
2013) actually deal with the additional resource (e.g. quay cranes) whose amount might affect the processing speeds of
machines (e.g. berths) or handling times of jobs (e.g. vessels), and thus generally assume that the additional resource amount
shared by all the machines is a constant during the whole planning horizon. In this study, the additional resource, namely
water depth at berth, is quite differentiating: (a) its amount is time-varying in a periodic manner; (b) its amount at a specific
time on a given machine (berth) affects the availability of this machine (berth) and the job-specific (vessel-specific) proces-
sibility; and (c) it is not allocatable among machines (berths) and jobs (vessels), but provides a job-specific calendar for the
availability of machines. Therefore, computational findings over this model and its CP counterpart formulated in Section 3
would be interesting to the readers in the field of theoretical scheduling studies.
When it turns to the static case of this BAP where all the vessels under consideration have arrived at the port at the begin-
ning of the planning horizon, removing constraint (2) and retrofitting the objective (1) yields the corresponding IP models:

static-wst
X
n
½IPstatic-wst  min f ¼ wi  C i ð10Þ
i¼1

s:t: :ð3Þ—ð9Þ
Similarly, the static and dynamic cases of this BAP with the objective of total weighted departure delay can be formulated
as the IP models [IPstatic-wdd] and [IPdynamic-wdd], respectively, in the following:
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 171

wdd
X
n X
n
½IPstatic-wdd  min f ¼ wi ðC i  Di Þþ ¼ wi  maxð0; C i  Di Þ ð11Þ
i¼1 i¼1

s:t: : ð3Þ—ð9Þ
dynamic-wdd
½IP  Objective : ð11Þ
s:t: :ð2Þ—ð9Þ

The nonlinearity in objective (11) can be treated by substituting an auxiliary decision variable qi for the term ðC i  Di Þþ .
That is, objective (11) is equivalent to:

wdd
X
n
min f ¼ wi  qi ð12Þ
i¼1

s:t: : 0 6 qi ; i ¼ 1; . . . ; n ð13Þ
C i  Di 6 qi ; i ¼ 1; . . . ; n ð14Þ
If makespan is used for the objective, we have the following IP models for the static and dynamic cases of this BAP:

msp
½IPstatic-msp  min f ¼ C max ð15Þ
s:t: : ð3Þ—ð9Þ
C i 6 C max ; i ¼ 1; . . . ; n ð16Þ
½IPdynamic-msp  Objective : ð15Þ
s:t: : ð3Þ—ð9Þ;ð16Þ

3. CP models for berth allocation with time-varying water depth

Constraint programming (CP), originating from the field of artificial intelligence (AI) for solving the constraint satisfaction
problem, now becomes an orthogonal and complementary solution technique for combinatorial optimization problems aris-
ing in wide domains with varieties of application backgrounds. The most promising application domain of CP is scheduling
and planning. The key features of modeling in CP are interval variables, logical constraints and global constraints: interval
variables, unlike the numerical variables used in mathematical programming (MP), greatly facilitate modeling jobs/tasks/
activities in scheduling and planning problems; logical constraints make CP modeling easier than MP and closer to natural
languages; global constraints help CP systems to find the problem structural information and significantly strengthen the
inference levels of the embedded algorithms, which is an critical feature distinguishing CP from MP. From the viewpoint
of solution algorithms, CP also searches solutions in a tree, like the branch-and-bound tree in MILP (mixed-integer linear
programming) solvers, with a branch-and-prune (B&P) algorithm. There are two critical algorithmic component in branch
and prune algorithm: one is constraint propagation for ‘‘prune” to reduce variable domains, the other is constructive search
for ‘‘branch” to find promising solutions (Hentenryck and Michel, 2009). For a great number of combinatorial optimization
problems, CP is competitive to and even much better than MILP. In fact, CP is competent to find high-quality solutions in an
extremely short time for some scheduling and planning problems, which makes CP even competitive to dedicated local
search/metaheuristic methods from the viewpoint of algorithmic performance (Hentenryck and Michel, 2009). Meanwhile,
CP has deployment convenience in industrial applications like MILP without much coding work on dedicated algorithms.
That is the reason why we make great efforts to solve the BAP with time-varying water depth via the CP method. In this
study, the syntax in the algebraic modeling language OPL in IBM ILOG CPLEX Optimization Studio is adopted to describe
the objectives and constraints of CP models.

3.1. CP counterpart of IP model [IPdynamic-wst]

Unlike the numerical variables in MP, CP generally uses interval variables, as decision variables, to denote the jobs/tasks/
activities in scheduling or planning problems. Each interval variable has at least three properties: the start time, the end time,
and the length (duration). Solving a CP model is basically to fix the start time and end time of the interval variables involved
(if its length is given, only the start time is to be determined). If an interval variable is announced as optional, the property
‘‘present” bundled with this interval variable can be 1 or 0, to represent whether this interval variable appears in the final
solution. Solving a CP model also needs to determine the values of the property present of the optional interval variables:
present = 1 for an interval variable indicates that the interval variable will appear in the final solution, present = 0 otherwise.
Optional interval variables are often used as auxiliary decision variables to model the resource allocation. Laborie and
Rogerie (2008) emphasize the benefits of the property present on the inference capability of CP systems.
Interval variables used for the BAP with time-varying water depth are defined as below:
172 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

ai : an obligate (present = 1) interval variable representing the stevedoring activity of vessel i 2 f1; . . . ; ng along the quay;
the domain of this variable is

domðai Þ ¼ f½s; eÞjs; e 2 Zþ ; s P ai ; e ¼ s þ pi ; e 6 Tg; i ¼ 1; . . . ; n; ð17Þ


bki : an optional interval variable representing the stevedoring activity of vessel i 2 f1; . . . ; ng at berth k 2 f1; . . . ; mg. This
variable is declared as optional since the stevedoring activity of vessels i can only be performed at exactly one berth:
if the ‘‘alternative” constraint in OPL is performed on fbki gmk¼1 , the B&P algorithm of CP will set the present status of one
and exactly one interval variable in fbki gmk¼1 as 1, which fulfills berth allocation for vessel i. The domain of this variable is

domðbki Þ ¼ f½s; eÞjs; e 2 Zþ ; s P ai ; e ¼ s þ pi ; e 6 Tg; i ¼ 1; . . . ; n; k ¼ 1; . . . ; m: ð18Þ


We also introduce a sequence variable for each berth to facilitate the arrangement of stevedoring tasks over a certain berth:
ck : a sequence variable for berth k 2 f1; . . . ; mg defined as fpermutationOfðbki Þji ¼ 1; . . . ; n; presenceOfðbki Þ ¼ 1g. The
‘‘noOverlap” constraint will be applied to ck to ensure that the vessels mooring at berth k are served one by one.

With the variables defined above, we can reformulate the dynamic case of the studied BAP with the objective of minimiz-
ing total weighted service time via CP as follows:

X
n
wi ½endOfðai Þ  ai 
dynamicwst
½CPdynamicwst  min f ¼ ð19Þ
i¼1

s:t: : ð17Þ and ð18Þ;


alternativeðai ; fbki gm
k¼1 Þ; i ¼ 1; . . . ; n ð20Þ
noOverlapðck Þ; k ¼ 1; . . . ; m ð21Þ
X
n
Sk ¼ pulseðbki ; di Þ; k ¼ 1; . . . ; m ð22Þ
i¼1

alwaysInðSk ; t; t þ 1; 0; r kt Þ; k ¼ 1; . . . ; m; t ¼ 0; . . . ; T  1 ð23Þ
In this CP counterpart of the model [IPdynamic-wst], objective (19) aims to minimize the total weighted service time. Con-
straint (20) allocates exactly one berth to vessel i. The statement alternative announces that there is one and exactly one
optional variable in the set fbki gm k¼1 who will appear in the solution and whose start and end times are the same as those
of the interval variable ai . In fact, CP solvers will set the present property of this chosen variable as 1 while 0 for other vari-
ables, and synchronize the start and end times of this chosen variable and ai . In constraint (21), the sequence variable ck
represents a sequence of vessels stevedoring activities occurring at berth k, and the noOverlap constraint imposes that these
activities should be carried out one by one, without any overlap. Generally speaking, constraint (21) may help CP solvers
identify the structural information of the problem and to enhance the global view of the B&P algorithm. Constraint (22)
extracts the profile of vessel drafts at berth k over time with a pulse function (which is usually used to model the resource
occupation of an activity in CP) and a sum operator, and records this profile into Sk . Constraint (23) finally poses the time-
varying water depth restriction on vessel mooring, by keeping the vessel draft during time interval ½t; t þ 1Þ at berth k
between 0 and rkt .
To help readers understand the variables and constraints of this CP model, let us consider a simple example in Xu et al.
(2012), as illustrated in Fig. 2. In this example, there are n ¼ 6 vessels to be serviced by m ¼ 3 berths in a day. Let us assume
that vessels 2 and 3 can only moor at berth after time 12 due to the requirement of tide-dependent water depth, while ves-
sels 1, 4, 5 and 6 are not affected by tidal conditions. In the CP model, we have 6 obligate interval variables fa1 ; a2 ; . . . ; a6 g to
represent the handling activities of these 6 vessels, and 3  6 ¼ 18 optional interval variables to represent the possible berth
allocation plans

Fig. 2. A berth allocation plan of six vessels over three berths (Xu et al., 2012).
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 173

8 9
< b11 ; . . . ; b16 ; >
> =
b21 ; . . . ; b26 ; :
>
: >
;
b31 ; . . . ; b36
For instance, b32 means berth 3 might serve vessel 2. To fulfill the feasible berth allocation plan shown in Fig. 2, the B&P
algorithm (constraint (20)) will set the present property of fb16 ; b21 ; b23 ; b32 ; b34; b35 g as 1, and synchronize these variables
with the obligate variables ai as follows: a6 ¼ b16 ¼ ½0; 13Þ; a1 ¼ b21 ¼ ½0; 6Þ; a3 ¼ b23 ¼ ½12; 19Þ; a2 ¼ b32 ¼
½14; 23Þ; a4 ¼ b34 ¼ ½8; 14Þ; a5 ¼ b35 ¼ ½0; 8Þ. The sequence variable say
 
hb32 ; b34 ; b35 i; hb32 ; b35 ; b34 i; hb34 ; b32 ; b35 i;
c3 ¼
hb34 ; b35 ; b32 i; hb35 ; b32 ; b34 i; hb35 ; b34 ; b32 i
announces that the stevedoring activities of vessels 2, 4 and 5 form 6 possible job sequences. Constraint (21) over c3 imposes
that the stevedoring tasks in any job sequence at berth 3, including the feasible sequence hb35 ; b34 ; b32 i ¼ ha5 ; a4 ; a2 i shown in
Fig. 2, will be implemented one by one without any overlap in the planning horizon. The feasibility of this berth allocation
plan with respect to tide-dependent water depth is ensured by constraints (22) and (23). Meanwhile, the requirement that
each vessel cannot be berthed before its arrival at the port is met by the domains of ai and bki , i.e., Eqs. (17) and (18).
To facilitate the comparison between models [IPdynamic-wst] and [CPdynamic-wst], we tabulate the correspondence of objec-
tives and constraints in Table 1.

3.2. CP counterparts of other IP models

If the domains of ai and bki (constraints (20) and (21)) are set as
domðai Þ ¼ f½s; eÞjs; e 2 Zþ ; s P 0; e ¼ s þ pi ; e 6 Tg; i ¼ 1; . . . ; n ð24Þ
and
domðbki Þ ¼ f½s; eÞjs; e 2 Zþ ; s P 0; e ¼ s þ pi ; e 6 Tg; k ¼ 1; . . . ; m; i ¼ 1; . . . ; n; ð25Þ
respectively, Eqs. (19)–(23) represent the static case of this BAP with the objective of total weighted service time minimiza-
tion, and constitute the CP counterpart of the model [IPstatic-wst]. We refer to this CP model as [CPstatic-wst].
Similarly, with other objectives such as minimization over total weighted departure delay and makespan, the CP coun-
terparts of the models [IPstatic-wdd], [IPdynamic-wdd], [IPstatic-msp] and [IPdynamic-msp] can be respectively formulated as the mod-
els [CPstatic-wdd], [CPdynamic-wdd], [CPstatic-msp] and [CPdynamic-msp] in the following:
X
n
wi  max½0; endOfðai Þ  Di 
wdd
½CPstatic-wdd  min f ¼ ð26Þ
i¼1

s:t: : ð20Þ—ð25Þ:

½CPdynamic-wdd  Objective : ð26Þ

s:t: : ð17Þ; ð18Þ; ð20Þ—ð23Þ:

¼ C max ¼ max ½endOfðai Þ


static-msp msp
½CP  min f ð27Þ
i¼1;...;n

s:t: : ð20Þ—ð25Þ:

½CPdynamicmsp  Objective : ð27Þ

s:t: : ð17Þ; ð18Þ; ð20Þ—ð23Þ:

Table 1
Comparison between models [IPdynamic-wst] and [CPdynamic-wst].

[IPdynamic-wst] [CPdynamic-wst]
Objective (1), (7) (19)
Berth allocation (3) (20)
Task sequence at each berth (4) (21)
Time-varying water depth restriction (5) (22), (23)
Time horizon; berthing after arrival (2), (6), (9) (17), (18)
174 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

4. Hybrid CP/IP algorithmic procedures

IP and CP methods were originally developed by researchers in different communities: IP was developed in the field of
operation research, while CP was in computer science. Like the branch-and-bound tree in the B&C (branch-and-cut) algo-
rithm behind IP, a search tree is also iteratively built during the whole searching process of the B&P algorithm for CP. But
the searching mechanism is quite different: in each node of the branch-and-bound tree, the B&C algorithm tries to partition
the domain of a variable into two parts (‘‘branch” to partition the domain), and derives the bounds of the whole model by con-
tinuous relaxation and cuts in the form of valid inequalities (‘‘bound” or say ‘‘cut” to derive the bounds); while in each choice
point of the inference tree, the B&P algorithm will try a promising value of a dedicatedly chosen variable (‘‘branch” to try
different promising values), e.g., the start time of an activity in scheduling, and conduct inference by constraint propagation
in order to reduce the domains of the variables involved (‘‘prune” for domain reduction). These two algorithms generally have
complementary advantages: B&C is quite competent to derive good global bounds, while B&P is promising to find high-
quality solutions in an extremely short time, especially for planning and scheduling problems (Hentenryck and Michel,
2009). This spurs the trend of combing IP and CP methods together in optimization. Several solvers have been developed
in this trend, such as SCIP (Achterberg, 2009) and SIMPL (Yunes et al., 2010).
IP (usually MILP) and CP can be combined in simple ways. For instance, CP finds a high quality solution and feeds it to
MILP as an initial solution. This is referred to as a warm-start mechanism. On the other hand, the complementary advantages
of the two methods can be explored by using complicated decomposition techniques, such as logic-based Benders decompo-
sition and constraint programming-based column generation (Castro et al., 2011). The Benders approach often decomposes the
original combinatorial problem into a MILP master problem, which provides a partial solution and lower bound of the objec-
tive, and a CP subproblem, which extends the partial solution to a complete one (upper bound of the objective) or proves the
infeasibility of the partial solution. After solving the subproblem, some cuts (‘‘Benders cuts”) will be inferred from the infea-
sibility and/or optimality and added back into the master problem, with which a new solution iteration starts. This approach
is proved to be more efficient in many scheduling and planning problems, such as machine scheduling (Jain and Grossmann,
2001; Hooker, 2007; Hooker, 2012), sports scheduling (Rasmussen and Trick, 2007) and log-truck scheduling (El Hachemi
et al., 2011). The CP-based column generation approach mainly takes advantage of CP’s high performance in finding good
candidates among a large pool of solutions, especially when the rules defining solutions are complex. For instance, CP can
be adopted to solve the pricing subproblem in column generation. This approach generally applies to the combinatorial prob-
lems where column generation performs well, such as crew scheduling (Fahle et al., 2002), vehicle routing (Rousseau et al.,
2004) and cutting stock (Fahle and Sellmann, 2000).
During the numerical experiments over some models where CP is promising than IP (say [CPstatic-msp] compared to [IPstatic-
msp
]), we found that the CP method can find promising solutions within a short computation time, but its capability to prove
optimality is weak. This motivated us to develop some hybrid CP/IP procedures.

4.1. A hybrid CP/IP procedure with the warm-start mechanism

A simple hybrid procedure which feeds the high quality solution CP finds to the B&C algorithm of IP as an initial guess is
considered first. For instance, the static BAP with the objective of makespan minimization can be solved by Procedure 1
shown in Fig. 3. In the first step, the procedure solves model [CPstatic-msp] via CP and produces an resultant solution bki
and the corresponding objective C max . The second step solves the IP counterpart [IPstatic-msp] by taking advantage of the
solution result of CP: the time horizon is fixed to T ¼ C max , with which the IP model is small-sized and easy to solve since
the numbers of decision variables and constraints of [IPstatic-msp] are greatly determined by the value of T; a warm-start

Fig. 3. Procedure 1: a hybrid CP/IP procedure for the static BAP with makespan minimization.
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 175

mechanism is also adopted by initializing xkit with the CP solution bki . The second step is actually a post-optimization pro-
cess aiming to compensate the CP’s incapability of proving the optimality of a solution. Experimental results in Section 5.2
will show that this step of post-optimization is beneficial to improve optimality proving without much additional compu-
tational load, compared to the pure CP and pure IP methods.
This CP/IP procedure applies to the dynamic case if the models [CPstatic-msp] and [IPstatic-msp] are replaced with [CPdynamic-
msp
] and [IPdynamic-msp], respectively, in Fig. 3. Meanwhile, the application of this hybrid procedure can be extended by involv-
ing more schedule objectives. For example, Fig. 4 shows an extended CP/IP procedure (referred to as Procedure 2) in a biob-
jective optimization setting in the sense of lexicographic order: makespan minimization is the first objective, while the total
weighted service time will be treated as the secondary objective with less importance. In this new hybrid procedure, IP plays
two different roles: IP in the second step is to improve the optimality proving capability for the objective of makespan min-
imization; an IP model is solved to minimize the total weighted service time in the third step because [IPstatic-wst] is superior
to [CPstatic-wst] in terms of solution performance. Moreover, this procedure can also be retrofitted to construct the Pareto effi-
cient frontier with e.g. the e-constraint approach (T’Kindt and Billaut, 2006), where minimization over makespan solves
[CPstatic-msp] and small-sized [IPstatic-msp] sequentially (like the first steps in Fig. 4) and minimization over total weighted ser-
vice time solves [IPstatic-wst] (like the third step in Fig. 4). We only report the experimental results of this hybrid procedure in
the sense of lexicographic order (but not in the sense of Pareto efficiency) because it represents a more practical business
scenario. In fact, Procedure 2 also applies to the dynamic vessel arrival case.

4.2. A Benders decomposition procedure

This subsection proposes a logic-based Benders decomposition procedure by using the Benders cuts suggested by
(Hooker, 2007; Hooker, 2012; Heinz et al., 2013). The dynamic case of the BAP with total weighted service time minimization
is addressed for illustration purposes. However, the proposed procedure applies to both arrival cases and all the objectives.
In this decomposition, the master MILP problem is an assignment problem which fulfills the assignment of vessels to
berths, while the CP subproblem for a specific berth is a sequencing problem which schedules the stevedoring tasks of
the vessels assigned to this berth. To formulate the master problem, we introduce xki ðk ¼ 1; . . . ; m; i ¼ 1; . . . ; nÞ as a binary
decision variable indicating whether berth k serves vessel i, and v k ðk ¼ 1; . . . ; mÞ as an auxiliary decision variable to facilitate
the formulation of the objective. In iteration H, the solution results of CP subproblems in previous iterations are known.
Specifically, in iteration h 2 f1; . . . ; H  1g, if the sequencing subproblem corresponding to berth k is proved to be infeasible,
the set of vessels is denoted by J kh ; otherwise, we denote the set of vessels by Ikh and the corresponding optimal objective as
Mkh . Based on these solution results of CP subproblems in previous iterations, the master problem in iteration H can be for-
mulated as follows.

Fig. 4. Procedure 2: a hybrid CP/IP procedure for the static BAP in a biobjective setting.
176 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

X
m
½MP H  min vk ð28Þ
k¼1
Xm
s:t: : xki ¼ 1; i ¼ 1; . . . ; n ð29Þ
k¼1
X X
T1
pj  dj  xkj 6 r kt ; k ¼ 1; . . . ; m; t 1 2 fai ji ¼ 1; . . . ; ng ð30Þ
j2fiji¼1;...;n; ai Pt1 g t¼t 1
X
ð1  xki Þ P 1; k ¼ 1; . . . ; m; h ¼ 1; . . . ; H  1 ð31Þ
i2J kh
!
X
v k P Mkh xki  jIkh j þ 1 ; k ¼ 1; . . . ; m; h ¼ 1; . . . ; H  1 ð32Þ
i2Ikh

In this formulation, objective (28) is a surrogate for total service time minimization. Constraint (29) requires that each
vessel is served by one and exactly one berth. Constraint (30) is redundant, forming a restriction in Fig. 1 that the area occu-
pied by the rectangles should be less than or equal to that below the curve for water depth at berth. This constraint is from
Heinz et al. (2013) and helps to tighten the linear programming relaxation of this MILP model. Constraints (31) and (32) are
Benders cuts derived from the solutions of CP subproblems in previous iterations. Constraint (31), inferred from the infea-
sibility of a subproblem, states that the vessel set denoted by J kh should not be allocated to berth k since it has already been
proved infeasible in a previous iteration h by a CP subproblem. Constraint (32), derived from the optimality of a subproblem,
ensures that the total service time of the vessels at berth k is at least Mkh if the vessel set Ikh is assigned to this berth.
Given the optimal solution of the master problem ½MP H , i.e., a set of vessels Lk ¼ fiji ¼ 1; . . . ; n; xki ¼ 1g is assigned to
berth k ðk ¼ 1; . . . ; mÞ, the following CP subproblem designs an optimal schedule for these ships at berth k:
h i X
SP Hk min wi ½endOfðvi Þ  ai  ð33Þ
i2Lk

presenceOfðvi Þ ¼ 1; 8i 2 Lk ð34Þ
noOverlapðfvi ji 2 Lk gÞ ð35Þ
!
X
alwaysIn pulseðvi ; di Þ; t; t þ 1; 0; r kt ; t ¼ 0; . . . ; T  1 ð36Þ
i2Lk

where vi denotes the obligate interval variable corresponding to the stevedoring task of vessel i 2 Lk . The objective and con-
straints in this formulation can easily be understood based on the explanation in Section 3 towards model [CPdynamic-wst].
The whole algorithmic procedure for this Benders decomposition approach is shown in Fig. 5. The algorithm terminates at
the time when the gap between the upper bound suggested by the subproblems and the lower bound produced by the mas-
ter problem closes with a tolerance.

5. Numerical experiments

With the IP and CP models in Sections 2 and 3, we need to evaluate the computational performance of B&C and B&P algo-
rithms in commercial solvers through numerical experiments to answer the following questions:

Q1: Can these algorithms in commercial solvers well solve these models of realistic sizes in reasonable time limits?
Q2: Are there some differences between IP and CP methods in computational performance over this problem?

This is of great importance for this study since state-of-the-art commercial solvers are generally the first resort for indus-
trial applications.
Experimental data are randomly but systematically generated as follows. (a) Totally 12 instance sets are constructed with
different sizes in terms of the numbers of berths and vessels to be scheduled, i.e., ðm; nÞ is in
8 9
> ð3; 20Þ; ð3; 60Þ; ð3; 100Þ; >
>
> >
>
< ð5; 20Þ; ð5; 60Þ; ð5; 100Þ; =
:
>
> ð7; 20Þ; ð7; 60Þ; ð7; 100Þ; >
>
>
: >
;
ð9; 20Þ; ð9; 60Þ; ð9; 100Þ
These instance sets represent realistic sizes of a terminal operation at a river port in practice. For each instance set, 5
instances are generated randomly (totally 12  5 ¼ 60 instances) and the experimental results to be reported are all the
averages over 5 instances. The unit for berth water depth and vessel draft is 0.1 m, and time unit is 1 h without special indi-
cation. (b) Based on the pioneering work by Xu et al. (2012), test data for each instance are generated: 30% of the vessels are
small feeders with the draft di  U½5:0; 8:9 and the handling time at berth pi  U½3; 8, while 70% of the vessels are large
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 177

Fig. 5. Procedure 3: a Benders decomposition solution procedure for BAP.

feeders with the draft di  U½9:0; 10:0 and the handling time at berth pi  U½8; 12; the weight factor representing priority
wi  U½1; 10; vessel arrival time at the port ai  U½0; 168 in the dynamic case of berth allocation; due time for departure
P
from the port Di ¼ ai þ 1:5  pi ; time horizon is set as T ¼ 3  d12n=me for the static case, and T ¼ 3  d12n=me þ ni¼1 ai for
the dynamic case. (c) To emulate the tide conditions at berth, we assume that water depth variation at berth Dtide is
0.3 m, and that berth 1 has the deepest water depth and berth m has the shallowest water depth with the water depth dif-
ference between two adjacent berths Dberth ¼ 0:5 m. Berth 1 follows the water depth fluctuation pattern shown in Fig. 1.
Specifically, the water depth of berth k 2 f1; . . . ; mg at time interval t 2 f0; 1; . . . ; T  1g is given by
(
r k þ ðt mod 12Þ  Dtide ; if t mod 12 6 6
r kt ¼ ð37Þ
r k  ðt mod 12  6Þ  Dtide ; otherwise

where the shallowest and deepest water depths at berth k are:

rk ¼ 100  ðk  1Þ  Dberth ð38Þ


rk ¼ r k þ 6  Dtide ð39Þ
The 12 models, [IPstatic-wst], [IPdynamic-wst], [IPstatic-wdd], [IPdynamic-wdd], [IPstatic-msp], [IPdynamic-msp], [CPstatic-wst], [CPdynamic-
wst
], [CPstatic-wdd], [CPdynamic-wdd], [CPstatic-msp] and [CPdynamic-msp], are formulated in the algebraic modeling language OPL
in IBM ILOG CPLEX Optimization Studio 12.6. The hybrid CP/IP procedures shown in Figs. 3–5 are also coded in OPL. The
IP models are solved by CPLEX Optimizer, while the CP models are solved by CP Optimizer. All the experiments are tested
on a personal computer with Intel 3.7 GHz quad-core CPU and 8 GB of RAM.

5.1. Computational performance comparison between IP and CP

This subsection compares the computational performance of the IP models versus their CP counterparts, and aims to
reveal how vessels’ arrival dynamicity and schedule objectives influence the difference of IP and CP in solution performance.
All the 12 models, representing 2 arrival cases (static and dynamic), 3 different objectives (minimization on total
weighted service time, total weighted departure delay and makespan) and 2 solution algorithms (B&C and B&P), are tested.
For each comparison (e.g. [IPstatic-wst] versus [CPstatic-wst]), totally 12 instance sets (m  n combinations) and 12  5 ¼ 60
178 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

instances are tested. For each instance, the times limits of CPLEX Optimizer and CP Optimizer are both set to 600 s, which
represents a reasonable computational effort from the practical perspective (Zampelli et al., 2013). If an instance is not
solved to optimality within the preset computational limit, the objective and CPU time for the incumbent solution are
adopted. Experimental results for the BAP with the objective of total weighted service time minimization are reported in
Table 2. ‘‘Gap (%)” in the table reflects the relative difference in objective between IP and CP. ‘‘Time” is the CPU time in s.
Similarly, experimental results with the objectives of minimum total weighted departure delay and minimum makespan
are collected in Tables 3 and 4, respectively.
The experimental results with the objective of minimum total weighted service time in Table 2 are analyzed. It can be
seen that in both dynamic and static cases, IP solves all the instances to optimality within the time limit. Meanwhile, IP pos-
sesses a stronger optimality proving capability: IP proves the optimality for all the 60 instances, while CP cannot prove the
optimality of 49 and 36 instances for the static and dynamic cases, respectively, though its solution quality is high enough
from the practical viewpoint.
When minimum total weighted departure delay is adopted as the objective, see Table 3, IP is still superior to CP in com-
putational performance for the static case. However, in the dynamic case, IP runs out of memory or is unable to construct any
feasible solutions within the time limit for the large-sized instances with 100 vessels involved. In contrast, CP can work out
feasible, probably good, solutions for these large-sized instances.
As shown in Table 4, CP begins to win in computational performance if minimum makespan is desired in berth allocation
in the tidal river port. In the static case, CP produces competitive solutions in much less CPU time, compared to IP. In the
dynamic case, CP completely wins IP in both solution quality and computational efficiency, especially for the large-sized
instances.
By combining together the experimental results through Tables 2–4, we find that IP is superior for the objectives of min-
imum total weighted service time and minimum total weighted departure delay, and this superiority is especially verified in
the static case of the BAP. On the contrary, CP outperforms IP for the objectives of minimum makespan and minimum total
weighted departure delay (large-sized instances), especially for the dynamic case. This difference in computational perfor-
mance might originate from the algorithmic difference of B&C and B&P. First, the three objectives restrict decision variables
in different tightness levels: the restriction of total weighted service time minimization is the strongest, that of total
weighted departure delay is medium, and that of makespan minimization is the weakest. For instance, makespan minimiza-
tion only requires that the stevedoring operation of the last vessel handled completes as soon as possible, while total
weighted service time minimization imposes that all the vessels should be handled along the quay as early as possible.
The stronger the restriction of the objective towards decision variables is, the easier it is for B&C to construct tight lower
bounds. This interprets, to some extent, the reason why IP tends to be superior over the strong objectives. Second, compared
to static vessel arrivals, the BAP with dynamic arrivals has a much smaller feasible domain, which will benefit the domain
reduction algorithmic component of B&P behind CP. This might enhance CP’s superiority over the dynamic case. In a more
general sense, experimental results here verify the common knowledge that objectives and decision variable domains both
affect the choice of optimization algorithms.

Table 2
Experimental comparison results with total weighted service time minimization.

Instance set Static BAP Dynamic BAP


m n IPa CPb IPc CPd
e
Obj Time Gap (%) Time Obj Time Gap (%)f Time
3 20 2375.4 0.5 0.2 7.0 958.6 3.8 0 0.1
60 19220.6 17.9 0.5 139.4 4312.6 56.2 1.5 230.8
100 52778.0 355.3 0.6 462.8 19353.6 493.1 4.3 262.2
5 20 2299.8 0.6 0 11.6 1117.4 4.5 0 0.2
60 15218.2 10.2 0.9 90.3 4240.8 60.4 0.7 7.5
100 34208.8 121.5 1.8 373.8 8929.6 224.7 7.2 377.3
7 20 2016.0 0.4 0 0.9 1008.0 6.5 0 0.1
60 13540.0 9.1 0.8 269.3 3820.2 61.8 0.6 93.5
100 30647.8 59.6 1.1 261.7 9670.4 269.3 2.5 285.4
9 20 2626.4 0.4 0 5.3 1158.6 9.4 0 0.2
60 12067.4 6.4 0.4 220.0 3553.8 86.3 0.1 57.0
100 33978.8 53.8 1.7 376.9 11816.4 359.9 5.0 377.8
a
CPLEX Optimizer over model [IPstatic-wst]; all instances are solved and proved to optimality.
b
CP Optimizer over model [CPstatic-wst]; optimality of 49 instances is not proved.
c
CPLEX Optimizer over model [IPdynamic-wst]; all instances are solved and proved to optimality.
d
CP Optimizer over model [CPdynamic-wst]; optimality of 36 instances is not proved.
e
Calculated as 100  (objective of [CPstatic-wst]-objective of [IPstatic-wst])/objective of [IPstatic-wst].
f
Calculated as 100(objective of [CPdynamic-wst]-objective of [IPdynamic-wst])/objective of [IPdynamic-wst].
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 179

Table 3
Experimental comparison results with total weighted departure delay minimization.

Instance set Static BAP Dynamic BAP


m n IPa CPb IPc CPd
Obj Time Obj(gape) Time Obj Time Obj(gapf) Time
3 20 1120.5 1.9 1133.3(1.1) 5.0 27.8 8.8 27.8(0) 0.1
60 15130.8 60.1 15228.5(0.6) 313.3 827.7 232.1 938.6(13.4) 211.1
100 45987.9 552.7 46195.1(0.5) 450.7 –g –g 13790.1(–h) 311.9
5 20 896.4 1.1 896.4(0) 19.1 34.7 9.2 34.7(0) 0.1
60 10963.2 29.9 11098.5(1.2) 183.2 653.4 193.1 662.3(1.4) 46.7
100 27649.3 429.6 28128.8(1.7) 369.1 – – 3769.6(–) 340.3
7 20 723.9 0.9 723.9(0) 2.4 6.8 11.8 6.8(0) 0.1
60 9313.4 37.2 9484.4(1.8) 294.9 398.9 207.9 398.9(0) 91.0
100 24035.7 248.7 24320.2(1.2) 440.4 – – 4237.2(–) 444.4
9 20 1133.2 0.8 1133.2(0) 24.3 3.6 13.5 3.6(0) 0.2
60 8295.0 19.8 8384.9(1.1) 251.4 415.3 290.8 434.9(4.7) 108.8
100 27499.3 231.3 27598.5(0.4) 457.9 – – 6035.4(–) 270.5
a
CPLEX Optimizer over model [IPstatic-wdd]; all instances are solved and proved to optimality.
b
CP Optimizer over model [CPstatic-wdd]; optimality of 50 instances is not proved.
c
CPLEX Optimizer over model [IPdynamic-wdd]; all instances are solved and proved to optimality, except that CPLEX Optimizer runs out of memory or does
not find any feasible solutions within the time limit over the large-sized instances with n ¼ 100.
d
CP Optimizer over model [CPdynamic-wdd]; optimality of 31 instances is not proved.
e
Calculated as 100  (objective of [CPstatic-wdd]-objective of [IPstatic-wdd])/objective of [IPstatic-wdd].
f
Calculated as 100  (objective of [CPdynamic-wdd]-objective of [IPdynamic-wdd])/objective of [IPdynamic-wdd].
g
CPLEX Optimizer runs out of memory or does not find any feasible solutions within the time limit.
h
Gap cannot be calculated due to the out-of-memory or feasible-solution-construction issue of its IP counterpart.

Table 4
Experimental comparison results with makespan minimization.

Instance set Static BAP Dynamic BAP


m n IPa CPb IPc CPd
e
Obj Time Obj(gap) Time Obj Time Obj(gap)f Time
3 20 58.2 1.8 58.2(0) 2.1 171.8 6.1 171.8(0) 0.1
60 170.4 55.3 170.4(0) 2.3 189.2 366.7 188.2(0.5) 10.8
100 289.6 445.0 290(0.1) 22.1 5984.8 649.3 294.6(95.1) 109.2
5 20 54.8 0.9 54.8(0) 0.1 170.2 6.8 170.2(0) 0.1
60 148.8 31.7 148.8(0) 10.9 183.8 160.2 183.8(0) 1.9
100 215 455.2 215.8(0.4) 59.6 2232.2 674.1 226.6(89.8) 191.2
7 20 55.4 1.0 55.4(0) 0.2 166.8 9.3 166.8(0) 0.1
60 136.6 123.8 136.6(0) 7.3 179.2 137.8 179.2(0) 1.9
100 224.6 546.3 225.2(0.3) 132.8 3309.0 701.1 236.2(92.9) 75.8
9 20 58.4 0.9 58.4(0) 0.1 171.6 11.7 171.6(0) 0.2
60 143.4 92.3 143.4(0) 8.8 182.8 181.8 182.8(0) 1.7
100 233.2 321.2 234.2(0.4) 93.2 2478.8 802.4 248.0(90.0) 113.6

Notes: CPU times reported are sometimes larger than the preset limit of 600 s, because each reported time counts in model extraction time.
a
CPLEX Optimizer over model [IPstatic-msp]; optimality of 8 large-sized instances is not proved.
b
CP Optimizer over model [CPstatic-msp]; optimality of 39 instances is not proved.
c
CPLEX Optimizer over model [IPdynamic-msp]; optimality of 21 large-sized instances is not proved and 1 large-sized instance suffers the out-of-memory
issue.
d
CP Optimizer over model [CPdynamic-msp]; optimality of 22 instances is not proved.
e
Calculated as 100  (objective of [CPstatic-msp]-objective of [IPstatic-msp])/objective of [IPstatic-msp].
f
Calculated as 100  (objective of [CPdynamic-msp]-objective of [IPdynamic-msp])/objective of [IPdynamic-msp].

5.2. Experimental results of hybrid CP/IP algorithmic procedures

Besides the superiority of CP aforementioned, Tables 2–4 also reveal CP’s incapability of proving optimality. For instance,
in Table 4, CP cannot prove the optimality of solutions over 39 and 22 instances for the static and dynamic cases, respec-
tively. The hybrid CP/IP Procedure 1 aims to overcome CP’s optimality proving incapability by taking advantage of IP’s com-
petence to derive good lower bounds. We re-conduct the experiments in Table 4 with Procedure 1 by setting the limit on the
search failures before termination of CP Optimizer as 100,000, and the time limit of CPLEX Optimizer as 600 s. Experimental
results for the static and dynamic cases are shown in Tables 5 and 6, respectively.
180 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

Table 5
Results of the hybrid CP/IP Procedure 1 for the static BAP with makespan minimization.

Instance IP CP Hybrid CP/IP


set
m n Timea #nOptInsb Timea #nOptInsb CP objc CP timed IP obje IP timef Timeg #nOptInsb
3 20 1.8 2.1 58.4 0.5 58.2 0.2 0.7
60 55.3 2.3 5 170.8 0.7 170.4 4.7 5.4
100 445.0 22.1 5 292.4 1.2 289.6 176.1 177.3
5 20 0.9 0.1 54.8 0.1 54.8 0.1 0.2
60 31.7 10.9 4 149.6 0.6 148.8 7.4 8 1
100 455.2 3 59.6 5 220.6 1.9 215.0 152.9 154.8 2
7 20 1.0 0.2 55.4 0.1 55.4 0.3 0.4
60 123.8 7.3 5 138.0 1.1 136.6 5.3 6.4
100 546.3 4 132.8 5 227.4 1.6 224.6 253.6 255.2 1
9 20 0.9 0.1 58.4 0.1 58.4 0.2 0.3
60 92.3 8.8 5 143.8 0.7 143.4 4.3 5
100 321.2 1 93.2 5 237.0 1.4 233.2 113.7 115.1
a
CPU time in s.
b
Number of instances whose optimality is not proved.
c
Objective of CP Optimizer.
d
CPU time of CP Optimizer.
e
Objective of IP Optimizer.
f
CPU time of IP Optimizer.
g
CPU time of the whole hybrid procedure.

Table 6
Results of the hybrid CP/IP Procedure 1 for the dynamic BAP with makespan minimization.

Instance IP CP Hybrid CP/IP


set
m n Timea #nOptInsb Timea #nOptInsb CP objc CP timed IP obje IP timef Timeg #nOptInsb
3 20 6.2 0.1 171.8 0.1 171.8 0.2 0.3
60 365.6 2 10.8 2 188.8 1.0 188.2 22.7 23.7
100 648.6 5 109.2 5 297.8 2.3 294.4 199.6 201.9
5 20 6.9 0.1 170.2 0.1 170.2 0.2 0.3
60 159.6 1.9 183.8 1.4 183.8 2.1 3.5
100 668.7 5 191.2 5 236.8 3.2 226.4 508.4 511.6 4
7 20 9.1 0.1 166.8 0.2 166.8 0.2 0.4
60 137.4 1.9 179.2 1.1 179.2 2.5 3.6
100 699.6 5 75.8 5 240.6 4.2 235.8 280.7 284.9 2
9 20 11.9 0.2 171.6 0.2 171.6 0.3 0.5
60 181.8 1.7 182.8 1.5 182.8 3.1 4.6
100 801.4 4 113.6 5 252.6 4.7 248.0 558.2 562.9 4
a
CPU time in s; CPU times reported are sometimes larger than the preset limit of 600 s, because each reported time counts in model extraction time.
b
Number of instances whose optimality is not proved.
c
Objective of CP Optimizer.
d
CPU time of CP Optimizer.
e
Objective of IP Optimizer.
f
CPU time of IP Optimizer.
g
CPU time of the whole hybrid procedure.

For the static case, Procedure 1 reduces the number of instances in which algorithms cannot prove solutions’ optimality
from 39 (CP) to 4 (even better than 8 with pure IP). For the dynamic case, this procedure fails to prove solutions’ optimality
over only 10 instances. By contrast, IP and CP respectively fail over 21 and 22 instances. This improvement can be attributed
to the good solutions CP produced and the global view of IP on solution bounds. Apart from the improvement on optimality
proving capability, Tables 5 and 6 also indicate that the computational efforts (CPU time) paid in the second phase of this
procedure over a small-sized IP model is trivial.
The hybrid CP/IP Procedure 2 in Fig. 4 for a biobjective optimization in the sense of lexicographic order represents a prac-
tical scenario in port operations: the terminal planner first optimizes the berth plan to make all the stevedoring activities
complete as soon as possible (makespan minimization), and then desire to minimize the total weighted service time. We
set the stopping criterion for the third step as ‘‘relative gap = 1%” and re-test all the instances in Tables 5 and 6. Experimental
results are reported in Tables 7 (static case) and 8 (dynamic case).
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 181

Table 7
Results of the hybrid CP/IP Procedure 2 for the static BAP.
wst a wst b wst d
m n f1 f2 Improvement (%)c Time on f 1
3 20 3519.6 2441.8 31 0.3
60 29528.0 19363.6 34 14.7
100 84988.6 54187.6 36 338.2
5 20 3185.6 2420.6 24 0.2
60 23071.6 15435.2 33 17.8
100 55910.4 34730.4 38 155.0
7 20 2722.4 2057.8 24 0.3
60 21762.0 13827.8 36 24.8
100 58847.8 31042.8 47 193.2
9 20 3450.4 2672.6 23 0.3
60 18317.8 12197.0 33 69.7
100 66487.8 34394.2 48 247.4

Notes: Experimental settings are the same as those in Table 5. Unit for objective: hour; unit for CPU time: s.
a
total weighted service time at the end of the second step.
b
Total weighted service time at the third step.  
c wst wst wst
Improvement on total weighted service time: 100  f 1  f 2 =f 1 .
d static-wst
CPU Time of CPLEX Optimizer over model [IP ] (the third step in Fig. 4).

Table 8
Results of the hybrid CP/IP Procedure 2 for the dynamic BAP.
wst a wst b wst d
m n f1 f2 Improvement (%)c Time on f 2
3 20 1294.0 968.6 25 0.4
60 6395.0 4581.8 28 24.1
100 39897.8 20740.8 48 328.4
5 20 1449.8 1146.0 21 0.6
60 6149.8 4451.8 28 2.9
100 24513.0 9882.0 60 99.7
7 20 1108.0 1014.8 8 0.6
60 5892.8 3886.8 34 2.9
100 26374.4 10185.8 61 146.2
9 20 1230.0 1158.6 6 0.8
60 5197.4 3604.0 31 3.6
100 29291.2 12340.8 58 176.7

Notes: Experimental settings are the same as those in Table 5. Unit for objective: hour; unit for CPU time: s.
a
total weighted service time at the end of the second step.
b
Total weighted service time at the third step.  
c wst wst wst
Improvement on total weighted service time: 100  f 1  f 2 =f 1 .
d
CPU Time of CPLEX Optimizer over model [IPdynamic-wst] (the third step in Fig. 4).

It can be seen from Tables 7 and 8 that post-optimization over the berth plans with minimum makespan could further
reduce the second objective, i.e., total weighted service time, by around 25–50% for the static case and by around 5–60%
for the dynamic case. This improvement means a significant elevation of vessels’ turnaround in port operation practice. Pro-
cedure 2 indeed takes advantage of CP’s solution performance on model [CPstatic-msp] and IP’s efficiency on model [IPstatic-wst].
However, when the Benders decomposition approach, namely Procedure 3, is adopted, none of the instances in Tables 2–4
is solved to optimality within a time limit of 1 h. To further examine the solution performance of Procedure 3, we addition-
ally generate some smaller-sized instances with 2 or 3 berths and 6–20 vessels. The computational results within a time
limit of 1 h are shown in Table 9. In contrast, if a pure IP algorithm is adopted, all these small-sized instances can be solved
to optimality in 14 s. The inferiority of Procedure 3 might originate from the fact that the Benders cuts are not strong enough.
The results here are also consistent with the observation in existing studies that it is not clear whether a general MILP/CP
integration strategy will always perform better than either MILP or CP, especially when either MILP or CP is already a good
tool to solve the problem at hand (Castro et al., 2011).

5.3. Computational performance with finer time resolution

In the IP models, the number of constraints and variables are both OðmnTÞ, while the CP models have OðmnÞ variables and
OðmTÞ constraints. We might conjecture that the computational performance of IP would be bad when a fine time granular-
ity is adopted resulting in a large value of T. In this experiment, we rescale the time resolution from 1 h to 30 min, 15 min and
1 min, causing the value increase of T by 2, 4 and 60 times respectively, re-test the instances in Table 2, where IP outperforms
182 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

Table 9
Results of the hybrid CP/IP Procedure 3 over small-sized instances.

Instance Static BAP Dynamic BAP


Timewst a
Timewdd b
Timemsp c
Timewst a
Timewdd b
Timemsp c

2  6_1d 88.4 58.6 7.3 84.3 6.0 47.0


2  6_2 91.8 67.1 1.5 105.4 1.6 41.5
2  6_3 49.8 41.2 10.8 44.0 11.0 43.1
2  6_4 100.6 73.3 3.1 85.6 11.1 43.8
2  6_5 94.6 70.6 1.6 92.6 44.5 48.8
2  10_1 1639.9 1207.6 1.5 1367.6 95.9 752.5
2  10_2 717.4 623.4 170.6 645.1 198.8 684.4
2  10_3 1712.2 1632.3 51.7 1419.8 5.1 673.7
2  10_4 1017.1 677.3 64.9 1005.4 105.8 537.3
2  10_5 1838.6 2054.5 1.7 1949.2 100.1 1006.2
2  20_1 –e – 3.4 – – –
2  20_2 – – 1279.1 – – –
2  20_3 – – 2.2 – – –
2  20_4 – – 8.5 – – –
2  20_5 – – 10.7 – – –
3  6_1 87.0 61.4 46.4 199.3 6.8 44.6
3  6_2 133.1 94.7 40.7 332.8 2.3 31.7
3  6_3 155.2 141.9 2.9 410.4 19.2 40.5
3  6_4 44.8 70.5 52.5 112.6 4.3 36.5
3  6_5 145.9 125.1 17.6 309.3 19.2 38.7
3  10_1 1181.3 924.5 363.3 2309.9 96.0 302.5
3  10_2 1162.9 774.9 414.9 2570.2 138.1 304.0
3  10_3 1132.0 808.5 223.2 2504.1 22.5 329.9
3  10_4 2376.6 1332.7 219.7 - 103.5 451.9
3  10_5 1992.1 1281.3 211.6 2909.3 16.5 325.0
3  20_1 – – – – – –
3  20_2 – – – – – –
3  20_3 – – – – – –
3  20_4 – – – – – –
3  20_5 – – – – – –

Note: Unit: s.
a
CPU time for the BAP with total weighted service time minimization.
b
CPU time for the BAP with total weighted departure delay minimization.
c
CPU time for the BAP with makespan minimization.
d
The first instance which involves 2 berths and 6 vessels.
e
The instance is not solved to optimality within the time limit of 1 h.

Table 10
Results of the instance sets in Table 2 with time granularity rescaled to 30 min.

Instance set Static BAP Dynamic BAP


m n IPa CP IP CP
Gap (%)b Timec Gap (%)b Timed Gap (%)b Timec Gap (%)b Timed
3 20 0 1.6 0.4 124.9 0 11.8 0 0.1
60 0 57.1 0.5 182.5 0 171.6 2.2 105.1
100 1.8 577.8 0.5 400.6 –e – 4.3 299.4
5 20 0 1.4 0 12.5 0 14.7 0 0.2
60 0 31.8 0.4 203.8 0 161.2 0.2 175.7
100 0.2 480.6 1.7 456.2 – – 7.3 419.8
7 20 0 1.1 0 1.5 0 19.4 0 0.1
60 0 31.1 0.6 213.6 0 168.7 0.3 168.2
100 0 347.2 1.1 518.5 – – 3.0 352.9
9 20 0 1.2 0 10.0 0 25.7 0 0.2
60 0 19.7 0.6 175.8 0 237.1 0 22.6
100 0 241.5 1.2 351.0 – – 4.1 239.3
a
Optimality of 10 large-sized instances is not proved.
b
The gap relative to the optimal objective (produced by IP models) in Table 2; before the gap is calculated, the objective in Table 2 is rescaled in terms of
30-min.
c
CPU time of CPLEX Optimizer.
d
CPU time of CP Optimizer.
e
‘‘–” indicates that CPLEX Optimizer runs out of memory or does not find any feasible solutions within the time limit; this occurs over totally 20 instances
for dynamic case.
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 183

Table 11
Results of the instance sets in Table 2 with time granularity rescaled to 15 min.

Instance set Static BAP Dynamic BAP


m n IPa CP IP CP
Gap (%)b Timec Gap (%)b Timed Gap (%)b Timec Gap (%)b Timed
3 20 0 5.4 0.1 12.1 0 39.5 0 0.1
60 0 246.2 0.5 213.0 710.0 726.4 1.5 109.3
100 484.9 635.2 0.5 439.9 –e – 5.0 354.8
5 20 0 4.9 0 5.5 0 46.3 0 0.2
60 0 122.5 0.8 141.3 – – 0.8 68.4
100 5.2 633.4 1.8 415.8 – – 6.0 355.2
7 20 0 3.6 0 1.1 0 61.4 0 0.1
60 0 102.1 1.0 267.2 0 801.5 0.7 85.4
100 0.2 582.2 1.3 468.1 – – 2.4 292.8
9 20 0 3.4 0 16.6 0 77.6 0 0.2
60 0 66.7 0.9 197.9 – – 0.4 168.5
100 0.1 595.5 1.4 417.4 – – 3.4 214.2
a
Optimality of 18 large-sized instances is not proved.
b
The gap relative to the optimal objective (produced by IP models) in Table 2; before the gap is calculated, the objective in Table 2 is rescaled in terms of
15-min.
c
CPU time of CPLEX Optimizer; CPU times reported are sometimes larger than the preset limit of 600 s, because each reported time counts in model
extraction time.
d
CPU time of CP Optimizer.
e
‘‘–” indicates that CPLEX Optimizer runs out of memory or does not find any feasible solutions within the time limit; this occurs over totally 35
instances for dynamic case.

Table 12
Results of the instance sets in Table 2 with time granularity rescaled to 1 min.

Instance set Static BAP Dynamic BAP


IP CP IP CP
m n Gap (%)a Gap (%)a Timeb Gap (%)a Gap (%)a Timeb
3 20 –c 0.2 5.6 – 0.0 0.1
60 – 0.5 283.8 – 2.4 203.6
100 – 0.6 295.7 – 4.5 471.4
5 20 – 0.3 64.0 – 0.0 0.2
60 – 0.5 158.5 – 0.7 59.3
100 – 1.9 469.5 – 8.5 405.8
7 20 – 0.0 1.9 – 0.0 0.1
60 – 0.5 253.0 – 0.4 139.8
100 – 1.3 420.2 – 3.4 250.9
9 20 – 0.0 15.4 – 0.0 0.2
60 – 0.5 200.9 – 0.1 22.8
100 – 1.7 433.1 – 3.3 376.5
a
The gap relative to the optimal objective (produced by IP models) in Table 2; before the gap is calculated, the objective in Table 2 is rescaled in terms of
minute.
b
CPU time of CP Optimizer.
c
‘‘–” indicates that CPLEX Optimizer runs out of memory or does not find any feasible solutions within the time limit; this occurs over all the instances
for both static and dynamic cases.

CP, and report the experimental results in Tables 10–12, respectively. Preset computational limits are the same as those for
Table 2.
When the time granularity rescaled to 30 min, the B&C algorithm behind CPLEX Optimizer begins to fail in optimality
proving over 10 large-sized instances for the static case, and even runs out of memory (or cannot construct any feasible solu-
tions) over all the large-sized instances with n ¼ 100 for the dynamic case. When the time granularity reaches 15 min, the
results of IP, shown in Table 11, are much worse: solution optimality of 18 instances for the static case is not proved; in the
dynamic case, totally 35 instances encounter the out-of-memory or feasible-solution-construction issue. Table 12 shows the
results with the time granularity of 1 min, which might be useless from the practical viewpoint but helps to reveal the dete-
rioration trend of IP’s computational performance against the decrease of time granularity. We can see that IP completely
fails with such a fine time granularity of 1 min. On the contrary, it can be seen from these three tables that CP’s computa-
tional performance in both solution quality and computational efficiency is quite stable when the time resolution grows finer
184 T. Qin et al. / Transportation Research Part E 87 (2016) 167–185

and finer. We can conclude that IP is more sensitive to time resolution in berth allocation with time-varying water depth,
compared to CP. When a fine time granularity is required, CP is recommended for industrial applications.

6. Conclusions

This study examines the BAP with time-varying water depth, under the industrial background that the water depth at
berth at a river port is often affected by tide conditions. With vessel-specific mooring restrictions caused by time-varying
water depth at berth, IP models are obtained by retrofitting the traditional BAP models, with three objectives (total weighted
service time/total weighted departure delay/makespan) and two arrival cases (static/dynamic) taken into consideration.
Meanwhile, we innovatively build the CP counterparts of these IP models by using the constraint programming technique
which is parallel to mathematical programming in scheduling studies. To improve the optimality proving capability of CP,
some hybrid CP/IP procedures are developed. We conducted a group of numerical experiments to evaluate the computa-
tional performance of IP and CP, by formulating our models and coding the hybrid CP/IP procedures in OPL and calling CPLEX
Optimizer and CP Optimizer in IBM ILOG CPLEX Optimizer Studio.
Contributions of this study to literature on the BAP are threefold. First, this study treats the impact of tide on berth allo-
cation at a river port in a more precise manner than existing studies, by taking into account vessel-specific mooring restric-
tions caused by tide-dependent water depth at berth. Second, this study takes the initiative to develop CP models in the
research stream of the BAP. Third, experimental findings are obtained on the computational performance of these CP versus
IP models: (a) Compared to IP, CP tends to be superior when the restriction of the objective towards decision variables is not
tight (e.g. minimum makespan, or minimum total weighted departure delay over large-size instances), when the original
feasible domain is smaller (e.g. dynamic arrival compared to static arrival), or when the time granularity is finely set; (b)
even a simple hybrid CP/IP procedure can significantly improve the optimality proving capability of CP, by paying minor
additional computational effort.
Notwithstanding the contributions, there are still some limitations needing to be overcome in future studies. First, the
stepwise form of water depth curve in Fig. 1 is an applicable simplification for water depth variation. In reality, the water
depth variation along time may follow a smooth curve depending on tide conditions. The BAP with this kind of smooth water
depth curve can be investigated in further studies. Second, in terminal practice, different berths might be equipped with dif-
ferent number of quay cranes or have different distances to the target yard area of a specific vessel, which will result in pro-
ductivity difference among several berths in a terminal. We can also plug the berth productivity difference into our models,
by replacing the handing time pi with a berth-dependent parameter pki (and for CP models, substituting e > s for e ¼ s þ pi in
the domain of ai defined by constraint (17) or (24)), and re-compare the computational performance of IP and CP through
numerical experiments. Third, some practical considerations in a river port could be examined in further studies, such as the
navigation time of vessels from anchorage ground to berth and the navigation rules for pilotage in/out imposed by the port
authority.

Acknowledgements

This study is partly supported by the National Natural Science Foundation of China under Grant 71172076. We thank
three reviewers for their constructive review comments with which this paper is greatly improved.

References

Achterberg, T., 2009. SCIP: solving constraint integer programs. Math. Programm. Comput. 1 (1), 1–41.
APL, 2015. NOL registers net loss of US$11 million in 1Q 2015. <http://www.apl.com> (accessed 29.10.15).
Barros, V.H., Costa, T.S., Oliveira, A., Lorena, L.A.N., 2011. Model and heuristic for berth allocation in tidal bulk ports with stock level constraints. Comput. Ind.
Eng. 60 (4), 606–613.
Bierwirth, C., Meisel, F., 2015. A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. Eur. J. Oper. Res. 244 (3),
675–689.
Buhrkal, K., Zuglian, S., Ropke, S., Larsen, J., Lusby, R., 2011. Models for the discrete berth allocation problem: a computational comparison. Transp. Res. Part
E 47 (4), 461–473.
Castro, P.M., Grossmann, I.E., Rousseau, L.-M., 2011. Decomposition techniques for hybrid MILP/CP models applied to scheduling and routing problems. In:
Milano, M., Hentenryck, P.V. (Eds.), Hybrid Optimization. Springer, pp. 135–167.
Cordeau, J.F., Laporte, G., Legato, P., Moccia, L., 2005. Models and tabu search heuristics for the berth-allocation problem. Transp. Sci. 39 (4), 526–538.
Du, Y., Chen, Q., Lam, J.S.L., Xu, Y., Cao, J.X., 2015. Modeling the impacts of tides and the virtual arrival policy in berth allocation. Transp. Sci. 49 (4), 939–956.
Edis, E.B., Ozkarahan, I., 2011. A combined integer/constraint programming approach to a resource-constrained parallel machine scheduling problem with
machine eligibility restrictions. Eng. Optim. 43 (2), 135–157.
Edis, E.B., Oguz, C., Ozkarahan, I., 2013. Parallel machine scheduling with additional resources: notation, classification, models and solution methods. Eur. J.
Oper. Res. 230 (3), 449–463.
El Hachemi, N., Gendreau, M., Rousseau, L.-M., 2011. A hybrid constraint programming approach to the log-truck scheduling problem. Ann. Oper. Res. 184
(1), 163–178.
Emde, S., Boysen, N., Briskorn, D., 2014. The berth allocation problem with mobile quay walls: problem definition, solution procedures, and extensions. J.
Sched. 17 (3), 289–303.
Fahle, T., Junker, U., Karisch, S.E., Kohl, N., Sellmann, M., Vaaben, B., 2002. Constraint programming based column generation for crew assignment. J. Heurist.
8 (1), 59–81.
T. Qin et al. / Transportation Research Part E 87 (2016) 167–185 185

Fahle, T., Sellmann, M., 2000. Constraint programming based column generation with knapsack subproblems. In: Proceeding of the International Workshop
on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimisation Problems (CPAIOR 2000), Paderborn, Germany, pp.
33–43.
Golias, M.M., Boile, M., Theofanis, S., Efstathiou, C., 2010. The berth scheduling problem: maximizing berth productivity and minimizing fuel consumption
and emission production. Transp. Res. Rec. 2166, 20–27.
Guan, Y., Yang, K.-h., 2010. Analysis of berth allocation and inspection operations in a container terminal. Marit. Econom. Logist. 12 (4), 347–369.
Han, X., Lu, Z., Xi, L., 2010. A proactive approach for simultaneous berth and quay crane scheduling problem with stochastic arrival and handling time. Eur. J.
Oper. Res. 207 (3), 1327–1340.
Heinz, S., Ku, W.-Y., Beck, J.C., 2013. Recent improvements using constraint integer programming for resource allocation and scheduling. In: Proceedings of
Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR 2013), New York, USA, pp. 12–27.
Hendriks, M., Lefeber, E., Udding, J., 2013. Simultaneous berth allocation and yard planning at tactical level. OR Spectrum 35 (2), 441–456.
Hentenryck, P.V., Michel, L., 2009. Constraint-Based Local Search. MIT Press.
Hooker, J.N., 2007. Planning and scheduling by logic-based Benders decomposition. Oper. Res. 55 (3), 588–602.
Hooker, J.N., 2012. Integrated Methods for Optimization, second ed. Springer, US.
Ilati, G., Sheikholeslami, A., Hassannayebi, E., 2014. A simulation-based optimization approach for integrated port resource allocation problem. Promet-
Traffic Transp. 26 (3), 243–255.
Imai, A., Nishimura, E., Hattori, M., Papadimitriou, S., 2007. Berth allocation at indented berths for mega-containerships. Eur. J. Oper. Res. 179 (2), 579–593.
Imai, A., Nishimura, E., Papadimitriou, S., 2001. The dynamic berth allocation problem for a container port. Transp. Res. Part B 35 (4), 401–417.
Imai, A., Yamakawa, Y., Huang, K., 2014. The strategic berth template problem. Transp. Res. Part E 72, 77–100.
Jain, V., Grossmann, I.E., 2001. Algorithms for hybrid MILP/CP models for a class of optimization problems. INFORMS J. Comput. 13 (4), 258–276.
JOC, 2015. US container exports plunge on port congestion, weak demand, strong dollar. <http://www.joc.com/port-news/us-ports/us-container-imports-
plunge-port-congestion-weak-demand-strong-dollar_20150309.html> (accessed 30.10.15).
Kelareva, E., Brand, S., Kilby, P., Thiébaux, S., Wallace, M., 2012. CP and IP methods for ship scheduling with time-varying draft. In: Proceedings of the
International Conference on Automated Planning and Scheduling (ICAPS 2012), Sao Paulo, Brazil, pp. 110–118.
Kelareva, E., Tierney, K., Kilby, P., 2013. CP Methods for scheduling and routing with time-dependent task costs. In: Proceedings of the Integration of AI and
OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR 2013), New York, USA, pp. 111–127.
Kim, K.H., Moon, K.C., 2003. Berth scheduling by simulated annealing. Transp. Res. Part B 37 (6), 541–560.
Laborie, P., Rogerie, J., 2008. Reasoning with conditional time-intervals. In: Proceedings of the Twenty-first International Florida Artificial Intelligence
Research Society Conference (FLAIRS 2008), Miami, USA, pp. 555–560.
Lalla Ruiz, E., Melian-Batista, B., Marcos Moreno-Vega, J., 2013. Adaptive variable neighbourhood search for berth planning in maritime container terminals.
In: Proceedings of the Workshop on Constraint Satisfaction Techniques for Planning and Scheduling Problems (COPLAS 2013), Beijing, China, pp. 35–43.
Lee, D.H., Chen, J.H., Cao, J.X., 2010. The continuous berth allocation problem: a greedy randomized adaptive search solution. Transp. Res. Part E 46 (6),
1017–1029.
Lee, Y., Chen, C.Y., 2009. An optimization heuristic for the berth scheduling problem. Eur. J. Oper. Res. 196 (2), 500–508.
Li, C.L., Cai, X.Q., Lee, C.Y., 1998. Scheduling with multiple-job-on-one-processor pattern. IIE Trans. 30 (5), 433–445.
Liang, C., Hwang, H., Gen, M., 2012. A berth allocation planning problem with direct transshipment consideration. J. Intell. Manuf. 23 (6), 2207–2214.
Meisel, F., Bierwirth, C., 2009. Heuristics for the integration of crane productivity in the berth allocation problem. Transp. Res. Part E 45 (1), 196–209.
Rasmussen, R.V., Trick, M.A., 2007. A Benders approach for the constrained minimum break problem. Eur. J. Oper. Res. 177 (1), 198–213.
Rousseau, L.-M., Gendreau, M., Pesant, G., Focacci, F., 2004. Solving VRPTWs with constraint programming based column generation. Ann. Oper. Res. 130 (1),
199–216.
Sheikholeslami, A., Ilati, G., Kobari, M., 2014. The continuous dynamic berth allocation problem at a marine container terminal with tidal constraints in the
access channel. Int. J. Civ. Eng. 12 (3), 344–353.
T’Kindt, V., Billaut, J.-C., 2006. Multicriteria Scheduling: Theory, Models and Algorithms, second ed. Springer, Berlin.
Umang, N., Bierlaire, M., Vacca, I., 2013. Exact and heuristic methods to solve the berth allocation problem in bulk ports. Transp. Res. Part E 54, 14–31.
Ursavas, E., 2014. A decision support system for quayside operations in a container terminal. Decis. Support Syst. 59, 312–324.
Vacca, I., Salani, M., Bierlaire, M., 2013. An exact algorithm for the integrated planning of berth allocation and quay crane assignment. Transp. Sci. 47 (2),
148–161.
Xu, D., Li, C.L., Leung, J.Y.T., 2012. Berth allocation with time-dependent physical limitations on vessels. Eur. J. Oper. Res. 216 (1), 47–56.
Yunes, T., Aron, I.D., Hooker, J.N., 2010. An integrated solver for optimization problems. Oper. Res. 58 (2), 342–356.
Zampelli, S., Vergados, Y., Van Schaeren, R., Dullaert, W., Raa, B., 2013. The berth allocation and quay crane assignment problem using a cp approach. In:
Proceedings of the International Conference on Principles and Practice of Constraint Programming (CP 2013), Uppsala, Sweden, pp. 880–896.
Zhen, L., Lee, L.H., Chew, E.P., 2011. A decision model for berth allocation under uncertainty. Eur. J. Oper. Res. 212 (1), 54–68.

Você também pode gostar