You are on page 1of 9

Journal of the Operational Research Society (2000) 51, 834842 #2000 Operational Research Society Ltd.

d. All rights reserved. 0160-5682/00 $15.00


www.stockton-press.co.uk/jors

A combined ship scheduling and allocation problem


K Fagerholt and M Christiansen*
Norwegian University of Science and Technology, Trondheim, Norway

We present a bulk ship scheduling problem that is a combined multi-ship pickup and delivery problem with time
windows (m-PDPTW) and multi-allocation problem. In contrast to other ship scheduling problems found in the literature,
each ship in the eet is equipped with a exible cargo hold that can be partitioned into several smaller holds in a given
number of ways. Therefore, multiple products can be carried simultaneously by the same ship. The scheduling of the
ships constitutes the m-PDPTW, while the partition of the ships' exible cargo holds and the allocation of cargoes to the
smaller holds make the multi-allocation problem. A set partitioning approach consisting of two phases is proposed for the
combined ship scheduling and allocation problem. In the rst phase, a number of candidate schedules (including
allocation of cargoes to the ships' cargo holds) is generated for each ship. In the second phase, we minimise
transportation costs by solving a set partitioning problem where the columns are the candidate schedules generated in
phase one. The computational results show that the proposed approach works, and optimal solutions are obtained on
several cases of a real ship planning problem.

Keywords: scheduling; routing; allocation; ships

Introduction various dry bulk cargoes. Due to the characteristics of the


various products, no two cargoes can be mixed in the same
Vehicle routing and scheduling have been widely discussed
cargo hold during transportation without being separated.
in the literature and have emerged as one of the major
Each ship is therefore equipped with a exible cargo hold
success stories in the eld of MS=OR. There has, however,
that can be partitioned into several smaller holds in a given
been relatively little work done on ship routing and sche-
number of ways. In this way, different cargoes can be lifted
duling. Ronen1 discusses some reasons for the low attention
simultaneously by the same ship. This ship planning
drawn by ship routing and scheduling problems. One of the
problem becomes a combined multi-ship pickup and deliv-
reasons mentioned is that the ocean shipping industry has a
ery problem with time windows (m-PDPTW) 2,3 and multi-
long tradition for manual routing of their eet. Ships have
allocation problem. The routing and scheduling of the ships
been around for thousands of years, and the planning
constitute the m-PDPTW, while the partitioning of the
techniques have not developed much through the years.
ships' exible cargo holds and the allocation of cargoes
The industry has been conservative and not open to new
to the holds make it a multi-allocation problem. The
optimisation based methods. Another reason is that ship
problem is therefore called a combined Ship Scheduling
scheduling involves a much larger variety in problem
and Allocation Problem (SSAP).
structures and operating environments than standard vehi-
A simulation study performed by Fagerholt4 shows that
cle scheduling, so tailor-made systems have often been
exible cargo holds may give a signicant increase in the
necessary as support for the decision makers. Therefore,
utilisation of the ship capacities compared to xed cargo
this low level of attention to ship scheduling should involve
holds in the transportation of various dry bulk products.
a great potential for signicant improvements by introdu-
This explains some of the attention to the SSAP.
cing optimisation based decision support systems for the
There is a relatively high degree of uncertainty in the
planners. A ship may cost thousands of dollars per day,
operation of ships, as they often experience delays due to
therefore a modest improvement of the routing and sche-
differing weather conditions. For many ship planning
duling may result in large monetary savings.
problems, it can be considered as speculative scheduling
A real ship planning problem and a suggested solution
vessels more than a few voyages ahead in time due to the
approach will be described here. The problem involves the
long sea voyages and the high uncertainty. Therefore, ship
design of a set of minimum cost schedules for a hetero-
scheduling problems often consist of less route combina-
geneous eet of ships engaged in pickup and delivery of
tions than vehicle scheduling problems. Ship scheduling
problems are also often relatively well constrained, because
*Correspondence: Dr M Christiansen, Section of Managerial Economics
and Operations Research, Norwegian University of Science and Techno- of incompatibilities between ships, ports and cargo require-
logy, Trondheim, Norway. ments, therefore reducing the solution space. Because of
K Fagerholt and M ChristiansenA combined ship scheduling and allocation problem 835

the relatively small and well constrained problems, ship apply a column generation approach and generate sche-
scheduling are often approached by rst generating all dules when needed. The schedules consist of ship routes
feasible schedules for the ships in the eet, and then solving with arrival time and load quantity information, and port
the problem as a set partitioning problem, where the visit sequences satisfying the inventory constraints. The
columns represent the schedules. A principal advantage ship scheduling and inventory management aspects are
of the set partitioning approach is that intricate schedule synchronised in the master problem, which results in an
constraints can easily be incorporated in the schedule extended set partitioning problem. The overall problem is
generator rather than mathematically in the set partitioning solved by branch-and-bound.
solver.5 This solution approach is also followed here to The purpose of this paper is to introduce the SSAP and
solve the SSAP. Here, the complex allocation constraints describe the proposed solution method. In the following
are incorporated in the schedule generator. Most of the section, we give a detailed problem description, while in
following references have applied a similar solution the third section we suggest a set partitioning approach.
approach, but in contrast to the SSAP, none of them Computational results on cargo data from a real ship
consider combined scheduling and allocation. For a more planning problem are presented in the fourth section.
complete review on ship scheduling problems, see Ronen.6 Finally in the last section we provide conclusions.
Brown et al 7 studied a crude oil tanker scheduling
problem. In contrast to the SSAP, all cargoes are considered
Problem description
as full shiploads, therefore reducing the complexity of their
problem. All feasible schedules are generated a priori We have studied a real ship planning problem faced by
together with their costs. Then the problem is solved as a Hydro Agri, the world's largest producer of mineral ferti-
set partitioning problem, where the columns represent the lizer. In addition to being the producer, Hydro Agri is
schedules. Fisher and Rosenwein8 considered a problem that engaged in the waterborne transportation of their products.
is conceptually quite similar to the one in Brown et al,7 The company operates several production units around the
except that the cargoes can be less than a full shipload. world, each specialising in a number of fertilizer types or
However, a ship schedule always follows the same pattern, qualities. Here, we concentrate on the seaborne transporta-
by rst loading then discharging all cargoes before it again tion between production units and discharging ports in
starts to load. This stands in contrast to the SSAP, where the Northern Europe. The number of production units or
ship often discharges only some of the cargoes onboard loading ports is three in this region, while the number of
before it again starts loading. This (in addition to the discharging ports is approximately twenty. The sailing
allocation) makes the SSAP more complex than the one in times between the ports vary from just a few hours and
Fisher and Rosenwein.8 up to almost two days, which are typical for short sea
A ship scheduling problem involving multiple products shipping. The ports and the geographical region of the
is studied in Bausch et al.9 Here, the ships are equipped problem are shown in Figure 1.
with multiple compartments, but in contrast to our problem The company receives customer requests, called cargoes.
these compartments are xed. Their problem is solved by Each cargo consists of a designated quantity of a particular
generating all feasible schedules beforehand, and then fertilizer quality to be lifted from one of the production units
solving the set partitioning problem. Brown et al5 consid- (pickup port) to a delivery port. Time windows are intro-
ered a somewhat different problem that is solved by a duced for each cargo, both at the pickup and delivery port.
similar approach. Their problem consists of deciding To satisfy the transportation demands a eet of ships
which naval combatants eet units should be used to satisfy with different capacities and speed is available. Due to
their operational commitments while distributing the work- seasonal variations in demand, the eet is not designed to
load equally between the units. handle all cargoes throughout the year. Some of the cargoes
In Darby-Dowman et al,10 the problem of scheduling may be serviced by spot carriers. There is a xed fee set by
Coast Guard cutters is studied. The commitments to be the market for each cargo to be serviced by a spot carrier.
fullled can result in the non-existence of feasible For the ships in the eet, only the variable costs such as
schedules. They therefore introduce a relaxation of the sailing costs and port and channel tolls are considered, as
requirements to obtain schedules for each ship, where an the xed costs have no inuence on the planning of optimal
under- or over-achievement of a commitment is penalised. By schedules. The port and channel tolls depend on the size of
generating a number of schedules for each cutter a priori, the the ship. The sailing costs mainly consist of fuel costs that
problem is solved as a mixed-integer programming model. depend on the ship size, the speed and the amount of
Christiansen and Nygreen11 presented a combined ship cargoes onboard the ship. The time spent in a port depends
scheduling problem, but in contrast to the SSAP, their on the quantity to be loaded or discharged, but is on
problem is a combined bulk ship scheduling and a single average one day.
product inventory management problem. Due to the Due to the characteristics of the various types of fertili-
complexity of this combined ship planning problem, they zer, no two cargoes can be transported in the same cargo
836 Journal of the Operational Research Society Vol. 51, No. 7

compartments than rst allocated to, due to the time


consumption of the additional loading operation.
Example 1 illustrates the concept of lifting several
cargoes simultaneously when introducing exible cargo
holds.

Example 1
Figure 3 illustrates a situation for a ship with a total cargo
capacity of 2500 tonnes distributed on ve nominal
compartments and, therefore, four possible bulkhead posi-
tions. Suppose the ship is equipped with two bulkheads,
and there are three cargoes with quantities of 670, 450 and
1220 tonnes to be lifted. Then we may place the bulkheads
in position 2 and 3, see Figure 3, and we get three separated
and smaller cargo holds with capacities of 700, 500 and
1300 tonnes. We can then allocate the rst cargo (670
tonnes) to the two leftmost nominal compartments, the
second cargo (450 tonnes) to the middle and the third
cargo (1220 tonnes) to the two rightmost nominal compart-
ments. If the rst cargo (670) had been placed in the
Figure 1 Geographical region of the real SSAP. nominal compartment to the right, then it had been impos-
sible to allocate the two other cargoes using only two
bulkheads.
hold simultaneously without being separated. Each ship in Example 1 illustrates that the positioning of the bulk-
the eet is therefore equipped with a limited number of heads at one step in a schedule may give consequences at
bulkheads (partitions) that can be placed in a given number subsequent steps, actually until the ship is empty again.
of feasible bulkhead positions in the cargo hold. Let us Due to the pickup and delivery nature of the SSAP, the ship
dene the space between two neighbouring bulkhead posi- may in principle never get empty. This emphasises the
tions as nominal compartments. By placing bulkheads in importance of the allocation part of the SSAP.
some of the feasible bulkhead positions, the cargo hold of Let us dene a schedule to be the sequence of port visits,
the ship can be partitioned into several smaller holds with including the time for start of service and the allocation of
exible sizes, each consisting of at least one nominal cargoes to nominal compartments at each port. The chal-
compartment. Therefore, several cargoes can be lifted lenge of the SSAP is then to nd a feasible schedule for each
simultaneously by the same ship in the smaller holds. The ship in the eet, and to determine which cargoes are to be
above denitions are illustrated in Figure 2. serviced by spot carriers, such that total costs are minimised.
The maximum number of bulkheads available on a ship The problem would become easier to solve if the
is always less than the number of feasible bulkhead posi- capacities of the nominal compartments were all equal.
tions. It should be emphasised that we can disregard the Then the problem becomes closer to the m-PDPTW. The
possibility of shifting=moving a cargo to other nominal cargo quantities can beforehand be rounded up to the

Figure 2 Technical denitions.


K Fagerholt and M ChristiansenA combined ship scheduling and allocation problem 837

shortly discussed in second subsection, while the SSAP


is formulated as a set partitioning problem in the third
subsection.

Generation of candidate schedules


Figure 3 Example of a cargo hold with ve nominal
compartments. If the problem is solved by generating all feasible candidate
schedules, then the solution will be optimal. This may
however in many cases require large computational times.
nearest multiple of the size of the nominal compartments. For large problem instances, the solution method may even
The ship scheduling then becomes a m-PDPTW with fail, due to an exponential increase in the number of
additional constraint ensuring that the number of cargoes schedules as a function of problem size. To reduce the
onboard the ship at the same time cannot exceed the algorithm's response time and to be able to solve larger
maximum number of bulkheads available plus one. problems, the number of schedules that is generated can be
However, a simulation study strongly indicates that it is reduced by heuristic rules regarding the capacity utilisation
advantageous to have different capacities of the nominal of the ships. The idea behind the reduction in the number of
compartments.4 This gives greater exibility in combining candidate schedules is that schedules with poor capacity
various cargoes onboard the ship. For example, if the utilisation of the ships are not likely to be in an optimal
nominal compartments of the ship in Figure 3 had equal solution. We use two main measures regarding the capacity
capacities (500 tonnes each), it could only lift two of the utilisation to control the number of candidate schedules:
three cargoes in Example 1 simultaneously.
We may imagine that some cargo allocations for  Waiting time=unused time;
partially loaded legs may give unsafe trim conditions.  Utilisation of the capacity of the cargo hold.
Safe trim can easily be considered in the schedule genera- Let us dene RMAX as a factor to control the allowance level
tion of the proposed solution approach. Here, we assume for both these two measures. By selecting the value of
however that in practice this is not a problem. RMAX , we control the number of schedules that are gener-
ated, and also the response time. For high values of RMAX ,
all feasible schedules are generated.
Solution procedure
Figure 4 illustrates the conceptual owchart of the
The SSAP cannot be solved directly by general, commer- algorithm for generation of candidate schedules, and this
cial mixed integer programming software for problems of algorithm is described here.
real size, due to its complexity. The purpose of this work is The generation of candidate schedules for ship k in the
to develop a solution method that can solve real-sized cases eet is initialised with schedules containing one cargo, i.
of the problem. We want the solution procedure to be run These initial schedules consist of a sequence of three nodes,
on a PC, which is the tool a planner will use in practice. 0 7 i 7 (n i), the initial point for ship k, the pickup node
A crucial matter of success in the implementation of a and the delivery node for the given cargo, respectively. The
decision support tool for many ship scheduling problems, is initial schedules will constitute the initial schedule list and
that the solution procedure responds quickly. Therefore, we will also be considered as candidate schedules for the set
suggest a set partitioning approach, consisting of two partitioning problem if their capacity utilisation measures
phases. In the rst phase, a number of feasible candidate are within the allowance factor.
schedules for each ship is generated. These schedules The rst schedule in the schedule list for ship k is
include the optimal allocation of cargoes to the ships' selected to generate new candidate schedules by adding
nominal compartments. The second phase solves a set one more cargo. Such a selected schedule is denoted by u.
partitioning problem, where the columns represent the We try to extend schedule u by the available cargoes in turn,
candidate schedules generated in phase one. The solution one at a time, given that this new schedule is not considered
of the set partitioning problem gives one schedule to be before. It may not be possible to extend schedule u by a
sailed by each ship and determines the cargoes to be given cargo within the time window due to the allowance
serviced by spot carriers such that the transportation costs factor for waiting time. For instance if the difference
are minimised. between the end time of schedule u plus the sailing time
In the next subsection, we describe the schedule genera- to the pickup node i and the start of the time window of node
tion algorithm. To ensure an optimal visiting sequence, i is large, the new schedule may give a too high waiting time
a Travelling Salesman Problem with Allocation, Time according to the allowance factor.
Window and Precedence Constraints (TSPATWPC) is If extension of schedule u with cargo i is feasible, then we
solved in the generation of each candidate schedule. A have to nd the best sequence of nodes for the new
dynamic programming algorithm for the TSPATWPC is schedule. Suppose that schedule u has already the following
838 Journal of the Operational Research Society Vol. 51, No. 7

Figure 4 Conceptual owchart of the schedule generation algorithm.


K Fagerholt and M ChristiansenA combined ship scheduling and allocation problem 839

node sequence: 0 7 3 7 2 7 (n 2) 7 (n 3). The deleted from the schedule list. This procedure continues
pickup and delivery nodes to be included in schedule u with the succeeding schedules in the schedule list until the
corresponding to cargo i and i and (n i), respectively. It is list is empty.
generally not optimal to add the nodes for cargo i to the end
of schedule u, it may also give an infeasible solution.
Solution of the TSPATWPC
Therefore, we have to solve a Travelling Salesman Problem
with Allocation, Time Window and Precedence Constraints Since a Travelling Salesman Problem with Allocation,
(TSPATWPC) to nd the new optimal schedule for the Time Windows and Precedence Constraints (TSP
nodes 0, 2, 3, i, (n 2), (n 3) and (n i). This TSP ATWPC) has to be solved in the generation of each new
corresponds to deciding the optimal visiting sequence for schedule, the overall solution procedure depends highly on
the given nodes while satisfying the allocation, time solving these TSPATWPCs quickly. Dumas et al12 have
windows and precedence constraints. The allocation con- developed a dynamic programming algorithm for the TSP
straints ensure that the allocations of cargoes to the nominal TW which makes use of extensive domination and elimina-
compartments are feasible, while the precedence constraints tion tests to reduce the state space and enhance the
ensure that the pickup nodes are visited before the corre- performance of the algorithm. Mingozzi et al13 described
sponding delivery nodes. The allocation constraints may a dynamic programming algorithm for the TSPTWPC.
also ensure safe trim for partially loaded legs, even though it Their algorithm is based on state space relaxation proce-
is assumed to be of no relevance here. dures for computing lower bounds to use in the branch-and-
The solution of a TSP in the generation of each new bound scheme, which was introduced by Christodes
schedule in order to obtain an optimal visiting sequence is et al.14 By introducing capacity constraints to the TSP
not a focused issue in most other works on ship scheduling. TWPC, we get a single vehicle pickup and delivery problem
Due to narrow time windows and long sailing times, the with time windows (s-PDPTW), given that the precedence
sequencing of ports of call seems to have been more or less constraints have the pickup and delivery characteristics. The
given for most of these problems, therefore actually s-PDPTW has received some attention in the literature, see
reducing most of these problems to nding an optimal for instance.3
allocation of cargoes to ships. The TSPATWPC is similar to the s-PDPTW, except
Due to the time windows, the size of the TSPATWPC that the capacity constraints of the s-PDPTW are replaced
can be reduced. In the example above, the time windows by the allocation constraints. We have developed a
for nodes i and (n i) may be such that it is not possible to dynamic programming algorithm for solving the TSP
insert the nodes before (n 2) in the sequence of the ATWPC. There may be many ways of allocating cargoes
existing schedule. If so, the TWPATWPC will consist of to nominal compartments at each step of the schedule,
only three nodes ((n 3), i and (n i)). Let us denote the increasing the complexity compared to the s-PDPTW.
node in the existing schedule from where it will be extended, Since we do not know the allocation that turns out to be
by e. In the example above, node e will correspond to optimal until the DP-algorithm is terminated, we may have
(n 2), and it becomes the starting node of the to maintain a large number of allocations during the
TSPATWPC. solution process, even for the same visiting sequence.
A brief description of the solution method for the TSP This is illustrated in the following.
ATWPC is given in the next subsection. If the solution of Dene W {e, 1, . . . ;w} as the set of nodes to be
the TSPATWPC is feasible, the optimal sequence is sequenced, where e is the starting node. Dene the function
merged together with the original schedule u. The new F(S, i, t, C ) as the least cost of a path, starting at node e and
schedule q is added to the end of the schedule list. passing through every node of SW once and ending at node
Now, a measure for the total capacity utilisation, both i 2 S. The ship is ready to service node i at time t. C is the
regarding waiting time and utilisation of the ship's cargo accumulated cargo allocation when leaving node i. This
hold, is calculated for schedule q. In this capacity utilisation means that C keeps track of the location of the physical
measure, the unused time between the end time of schedule bulkheads and which nominal compartments the cargoes
q and the end of the planning period is also considered. If onboard are allocated to. Suppose there are two alternative
this unused time interval is large, it is likely that q can be states (S, i, t 1 , C 1 ) and (S, i, t 2 , C 2 ), where F1(S, i, t1,
further extended by adding more cargoes, therefore giving C1) < F2(S, i, t 2 , C 2 ) and t1 < t 2. Even though state 1
a better schedule. If the capacity utilisation measure for dominates state 2 in cost and time, state 2 may still be
schedule q is within the allowance factor, the schedule is preferable due to a different cargo allocation, which may turn
considered as a candidate schedule for the set partitioning out to be better when adding the remaining nodes to the path.
problem. Since we consider only partial schedules, the size of each
Next, the original schedule u is a basis for generating new problem is greatly reduced compared to complete sche-
schedules with the next cargoes, until there are no cargoes dules. This, in addition to effective elimination tests, make
that can be added to the schedule. Then, schedule u is fast solutions of these problems possible. We refer to
840 Journal of the Operational Research Society Vol. 51, No. 7

Table 1 Computational results, cases 1 and 2

Problem Case 1 Case 2


Planning period [weeks] 2 3
Cargoes 25 26
Nodes 50 52
Time window width [days] 3 3
1 1
Allowance factor, RMAX 1 2 3 1 2 3
Schedule generation (phase 1)
No. schedules 1202 2105 3637 5720 14078 15460 16648 20430
CPU-seconds 6.8 11.0 20.8 45.9 135.2 144.2 168.2 264.2
Set partitioning (phase 2)
CPU-seconds 0.6 0.9 2.2 4.1 5.6 6.0 7.5 9.5
Objective value 1004 981 981 981 833 833 833 833

Fagerholt and Christiansen,15 which is a complementary Computational results


contribution to this paper, for details of the TSPATWPC
The solution procedure is tested on cargo data from Hydro
algorithm.
Agri's waterborne transportation of fertilizer in Northern
Europe. The algorithm for generation of candidate sche-
dules is written and compiled in Borland Pascal 7.0, while
Formulation of the SSAP as a set partitioning problem the set partitioning model is implemented and run by
When a set of candidate schedules is generated for each GAMS=CPLEX version 5.0. The problems are run on a
ship we can solve the SSAP as a set partitioning problem. PC with a Pentium 166 MHz processor having 64 MB of
Let K be the set of ships in the eet, indexed by k, and N be RAM.
the set of cargoes to be lifted, indexed by i. Denote Rk as the A typical planning period is 23 weeks, while the
set of feasible candidate schedules for ship k, indexed by r. number of cargoes in a planning period varies roughly
Crk is the variable cost for selecting schedule r by ship k, from 1535, corresponding to 30 and 70 nodes, respec-
while CSPOTi is the cost for cargo i to be lifted by a spot tively. The number of ships in the eet considered is ve.
carrier. Akir is a constant that is equal to one if schedule r for All ships have two bulkheads available and ve nominal
ship k services cargo i and zero otherwise. Let x kr be a binary compartments, therefore having the possibility to carry up
variable that is equal to one if ship k selects schedule r and to three cargoes simultaneously. The ships are assumed to
zero otherwise. si is a binary variable that is equal to one if be empty in the beginning of the planning period, and their
cargo i is lifted by a spot carrier and zero otherwise. initial positions are specied ports.
The SSAP can now be formulated as the following set We give results for four cases of the problem, with
partitioning problem: planning periods of 24 weeks. Cases 1 and 3 are gathered
from months with relative high intensity regarding the
P P P number of cargoes per week, while cases 2 and 4 are
min Crk xkr CSPOTi si ; 1
k2K r2Rk i2N from months with low cargo intensity. Four instances are
P P solved for each of the four cases, having different values on
Akir xkr si 1; 8i 2 N ; 2 the allowance factor RMAX . The computational results for
k2K r2Rk
P cases 1 and 2 are presented in Table 1, while the results for
xkr 1; 8k 2 K; 3 cases 3 and 4 are shown in Table 2.
r2Rk For all cases, we managed to solve the problem with a
xkr 2 f0; 1g; 8k 2 K; r 2 Rk ; 4 value on the allowance factor of ?, namely by generating
all feasible schedules, therefore ensuring optimal solutions.
si 2 f0; 1g; 8i 2 N : 5 By presenting problems that were optimally solved, we can
evaluate the solutions and computational times for the
The objective function (1) minimises the sum of the problems solved with RMAX < ?. In Table 2, the optimal
variable costs of operating the eet and the costs of the spot solutions were obtained by generating only a subset of all
shipments. Constraints (2) ensure that all cargoes or custo- feasible schedules at reduced computational time. For case
mer requests are serviced, either by ship in the eet or by 1, the optimal solution was obtained at RMAX 2, and for
spot carrier. Constraints (3) ensure that each ship in the case 2, already at RMAX 1. For the larger cases (3 and 4),
eet sails one of the candidate schedules. Constraints (4) the optimal solutions are obtained for RMAX-values of 3 and
and (5) impose binary constraints on the variables. 2, respectively. This indicates that the algorithm experiences
K Fagerholt and M ChristiansenA combined ship scheduling and allocation problem 841

Table 2 Computational results, cases 3 and 4

Problem Case 3 Case 4


Planning period [weeks] 3 4
Cargoes 35 33
Nodes 70 66
Time window width [days] 2 2
1 1
Allowance factor, RMAX 1 2 3 1 2 3
Schedule generation (phase 1)
No. schedules 3339 9551 12018 26231 9986 13195 19179 22248
CPU-seconds 8.6 30.4 42.7 160.8 104.9 129.4 216.0 298.5
Set partitioning (phase 2)
CPU-seconds 6.9 14.7 10.6 33.4 5.0 7.7 13.0 13.5
Objective value 1688 1640 1615 1615 1394 1366 1366 1366

relatively fast convergence to the optimal solution by called a combined Ship Scheduling and Allocation Problem
generating more candidate schedules. However, also the (SSAP).
non-optimal solutions obtained by small values on RMAX To have the possibility of obtaining feasible schedules
at low computational time, are relatively close to the optimal for each ship quickly, we have developed a set partitioning
solutions. Solutions within approximately 2% of the optimal procedure. The solution procedure consists of two phases:
solutions are achieved at only a fraction of the time required In the rst phase, a number of candidate schedules for each
to obtain solutions that are proven to be optimal. ship in the eet is generated. In the second phase, the
The generation of the candidate schedules of phase 1 candidate schedules from phase 1 are brought into a set
requires more CPU-time than the solution of the set partitioning model and solved by commercial optimisation
partitioning problem. The time consumption for solving software. If all feasible schedules are generated in phase 1,
the set partitioning problems was low because there was no the procedure is an optimisation method. To control the
gap between the values of the LP-solutions and the IP- response time, we have however the possibility to apply
solutions for any of the instances solved. The computa- heuristic rules based on the capacity utilisation of the ships
tional experience indicates that the width of the time to reduce the number of generated schedules. In real life
windows and the number of nodes have the greatest planning, it is often important to obtain solutions quickly
effect on the computational times of phase 1. Both these for instance in order to make decisions regarding whether
factors heavily inuence the number of schedules generated to contract a cargo or not.
that again effects the CPU-time, since a TSPATWPC has The solution approach is tested on data from a real ship
to be solved in the generation of each schedule. However, planning problem and run on a standard PC. By generating
also the length of the planning period inuences the all feasible candidate schedules, we obtained optimal solu-
computational time, as extending the planning period also tions for all problem cases presented here, which are all of
increases the number of candidate schedules. Consider real size or larger. It was also shown that optimal or near-
cases 1 and 2 that are approximately of the same size optimal solutions could be obtained in less computation
regarding the number of nodes and time window width. time by heuristically reducing the number of candidate
Case 2 has however a planning period of three weeks schedules. The success of the suggested solution approach
compared to only two for case 1. We note that both the can be attributed to the fact that ship scheduling problems
number of candidate schedules and CPU-time are signi- most often are relatively well constrained, giving a
cantly higher for case 2 than for case 1. restricted number of feasible candidate schedules.
It is believed that the suggested solution approach can
assist the planners in developing better plans. The company
makes plans with a rolling horizon. The most essential
decisions are the ones concerning the next few days.
Concluding remarks
Psaraftis16 describes a ship planning system that is devel-
In this paper, we have presented a ship scheduling problem oped for making plans with a rolling horizon. His heuristic
that is a combined multi-ship pickup and delivery problem algorithm places highest emphasis on the `front end'
with time windows (m-PDPTW) and multi-allocation cargoes, and less emphasis on the less reliable information
problem. The routing and scheduling of the ships constitute on future cargo movements. This can easily be incorporated
the m-PDPTW, while the partition of the ships' exible into the suggested solution approach by discounting the
cargo holds and the allocation of cargoes to the holds make objective function, which means giving the near time
the multi-allocation problem. The problem is therefore decisions more emphasis.
842 Journal of the Operational Research Society Vol. 51, No. 7

AcknowledgementsThe authors would like to thanks the anonymous 10 Darby-Dowman K, Fink RK, Mitra G and Smith JW (1995).
referees for their insightful comments, which improved the presentation An intelligent system for US Coast Guard cutter scheduling.
of this paper. Eur J Opl Res 87: 574585.
11 Christiansen M and Nygreen B (1998). A method for solving
ship routing problems with inventory constraints. Annals Opns
References Res 81: 357378.
12 Dumas Y, Desrosiers J, Gelinas E and Solomon MM (1995). An
1 Ronen D (1983). Cargo ships routing and scheduling: Survey of optimal algorithm for the traveling salesman problem with time
models and problems. Eur J Opl Res 12: 119126. windows. Opns Res 43: 367371.
2 Dumas Y, Desrosiers J and Soumis F (1991). The pickup and 13 Mingozzi A, Bianco L and Ricciardelli A (1997). Dynamic
delivery problem with time windows. Eur J Opl Res 54: 722. programming strategies for the traveling salesman problem with
3 Desrosiers J, Dumas Y, Solomon MM and Soumis F (1995). time windows and precedence constraints. Opns Res 45: 365
Time constrained routing and scheduling. In: Ball MO, 377.
Magnanti TL, Monma CL and Nemhauser GL (eds). Hand- 14 Christodes N, Mingozzi A and Toth P (1981). State-space
books in Operations Research and Management Science 8, relaxation procedures for the computation of bounds to routing
Network routing 1995. North-Holland: Amsterdam, pp 35139. problems. Networks 11: 145164.
4 Fagerholt K (1999). A simulation study on the design of exible 15 Fagerholt K and Christiansen M (2000). A travelling salesman
cargo holds in small-sized bulk ships. Maritime Pol Mmt 26: problem with allocation, time window and precedence
105109. constraintsan application to ship scheduling. Int Trans OR
5 Brown GG, Goodman CE and Wood RK (1990). Annual 7(3): 231244.
scheduling of Atlantic Fleet naval combatants. Opns Res 38: 16 Psaraftis HN (1988). Dynamic vehicle routing problems. In:
249259. Golden BL and Assad AA (eds). Vehicle Routing: Methods and
6 Ronen D (1993). Ship scheduling: The last decade. Eur J Opl Studies 1988. Elsevier Science Publishers: North-Holland, pp
Res 71: 325333. 223248.
7 Brown GG, Graves W and Ronen D (1987). Scheduling ocean
transportation of crude oil Mgmt Sci 33: 335346.
8 Fisher ML and Rosenwein MB (1989). An interactive optimiza-
tion system for bulk-cargo ship scheduling. Nav Res Log 36:
2742.
9 Bausch DO, Brown GG and Ronen D (1998). Scheduling short- Received May 1999;
term marine transport of bulk products. Maritime Pol Mmt 25: accepted February 2000 after one revision
335348.