You are on page 1of 5

Multi-heuristics Based Genetic Algorithm

for Solving Maritime Inventory Routing Problem


Nurhadi Siswanto, Daryl Essam, Ruhul Sarker
School of Engineering and Information Technology,
University of New South Wales at Australian Defense Force Academy (UNSW@ADFA) Canberra, Australia
n.siswanto@adfa.edu.au, d.essam@adfa.edu.au, r.sarker@adfa.edu.au

This paper discusses a multi-heuristics based Genetic inventory routing problem (IRP) that uses ships to
Algorithm (GA) to solve maritime inventory routing distribute products. Many papers have discussed this
problems (mIRP). The problem is to transport multiple oil problem, for example a single product model in [3, 4, 5],
products from a production facility to some consumption and multiple non-intermixable products with dedicated
ports by using several heterogeneous ships with undedicated
compartments in [1, 11]. An extensive survey on maritime
compartments. The objective of the problem is to find a
minimum cost solution, while satisfying a number of scheduling research and models is given in [6, 7].
technical and physical constraints, within a given planning This paper extends the problem in [1, 11] to have an
horizon. The strategies to assign a ship are transformed to a undedicated compartment that can hold a desired product,
set of heuristic combinations represented by a chromosome. similar to the recent paper in [8]. However, in our model
At every iteration a number of chromosomes are evaluated we assume that ships may visit up to two ports in one
and evolved within a GA framework. The approach has been assignment, instead of one port in [8]. Moreover, they
applied on several test cases. The multi-heuristic results developed a heuristic to construct a solution, but the
show that the best optimum values of the case problems are solution given depends on the parameters generated in a
not different from the ones from a MILP method solved
GA. They used a GA to modify the parameters in an
using Lingo, but they do so with a significant decrease in
computation time. objective function so as to have different scenarios. Their
domain is in the solution space, while ours is in the
Keywords – Heuristics, scheduling, inventory routing solution methods.
The objective of this paper is to present a new variant
and method for solving maritime inventory routing
I. INTRODUCTION problems. The outline of this paper is described as
follows: section 2 describes the description of the
Heuristics have become a popular tool for solving problem. Next, section 3 considers the design of a multi
various scheduling problems because of its superiority in heuristics based genetic algorithm. Then, section 4
solving problems within a reasonable time. However, as reports the computational results of the case problems.
stated by Cowling [9] and Chakhlevitch [2], heuristics Finally, the last section gives some concluding remarks.
may perform well for certain problem instances, but it is
not guarantee to have good results when applied to a
different instance of the problems. This problem specific II. PROBLEM DESCRIPTION
method is thus hard to implement for a problem that has
many variations, such as inventory routing problems as The problem discussed in this paper is motivated by a
reported in [13]. real world problem faced by a national oil company in the
Many papers have been proposed to overcome this South East Asia region. In this region, a company
problem specific limitation. Cowling et.al [9] has produces and distributes a set of oil products and also
introduced a concept of hyper heuristics and has applied controls their inventories. The company has a production
the method in several scheduling problems [9, 10]. That port and a set of consumption ports. Since the demand
method used heuristics to choose a lower level of nodes are located in geographically dispersed islands, the
heuristics. An extensive survey of the development of this company operates several heterogeneous ships to
method can be seen in [10]. distribute the products. The detailed characteristics of the
This paper proposes to use an indirect method problem are defined as follow:
involving heuristics referred to a multi-heuristics based x Each port has one or more storages.
genetic algorithm. Our approach can be classified as a x Each storage contains only one product.
hyper-heuristic as defined in [9]. It consists of several x Each product has a daily production rate or a
heuristic combinations represented by a chromosome that consumption rate.
is evaluated and evolved within a GA framework. As far x Each storage has lower and upper inventory limits
as we know, our approach is the first to combine GA and x Ships differ in the number and capacity of
multiple heuristics to solve maritime inventory routing compartments, and speed.
problems. x The ships travel between ports to ensure that the
In this paper, we present a maritime inventory routing levels of storages are within their limits.
and scheduling problem. This problem is a class of

978-1-4577-0739-1/11/$26.00 ©2011 IEEE 116


Authorized licensed use limited to: KU Leuven Libraries. Downloaded on January 28,2021 at 21:00:32 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the 2011 IEEE IEEM

x A ship may visit up to two consumption ports in one less coverage days, the more urgent a port needs to be
assignment. served by a ship. The term CD has the same meaning as
x Partial loading and/or unloading are allowed. the term “urgency” as described in [11, 12] and the term
x A ship may load any types of products, but only one “capacity breach” in [8].
product in each compartment.
x Each port can receive more than one ship at a time. A. Chromosome Representation
Several ships can load or unload products
simultaneously. We developed a chromosome based on the characteristic
x The loading and unloading of products can only occur of a mathematical model solution solved using Lingo. The
one at a time. It cannot be done simultaneously. genes are grouped by decision points as follows:
There exists loading or unloading rate for each 1) Ship selection.
product and a fixed setup time for changing product This decision point only needs one gene, called as gene0.
in this process. The possible value of this gene depends on the number of
x A ship may need a fixed setup time to enter a port. ships.
x Waiting time is permitted in a port to when there are
more products or more space in their storages so as to 2) Routing determination
unload more products. Three genes are needed to describe the routing of the
x All ships satisfy the draft limit of all ports. selected ship. Gene1 is used to determine whether the ship
x At the beginning of the planning horizon, initial needs to go to a production port or not. Gene2 determines
inventory levels of storages are known. Furthermore, the number of consumption port(s) that will be visited by
the compartment contents and position of ships are the ship. The last gene, gene3, determines the visiting port
also given as input. sequence. This sequence also depends on the value of
gene2 as described in the table below.
The objective of the problem is to find a minimum TABLE 1
THE ROUTING SEQUENCE
cost solution for the ship routing and loading/unloading
schedules during the planning horizon. Gene3 Gene2 The first The second
visiting port visiting port
0 The CD port [0]
0 1 The CD port [0] The CD port [1]
III. PROPOSED MODEL
0 The CD port [0]
1 1 The CD port [1] The CD port [0]
In solving a maritime inventory routing problem, our 0 The CD port [1]
algorithm can be divided into two parts: multi-heuristics 2 1 The CD port [1] The CD port [2]
algorithm and Genetic Algorithm (GA). As in Siswanto
In this table, the CD port is a result of the sorted storage
et.al [13], multi heuristics is a set of heuristic
process that will be explained in more detail in the next
combinations each of which consist of strategies at four
section.
decision points that need to be solved simultaneously. The
strategies are composed of (1) ship selection, (2) ship 3) Unloading procedure
routing determination, (3) unloading, and (4) loading This decision point only has one gene that determines
procedures. These strategies are encoded as a what kind of and how much product(s) need to be
chromosome to represent an assignment of a ship. unloaded from the ship’s compartment(s) into port’s
An assignment is defined as one movement of a ship storage(s). There are three values in this gene. The
from its current position to another port to deliver gene4=0 means that the unloading quantity is equal to the
products. A number of assignments in one chromosome least of the visiting port’s demand or the quantities on
are defined as a step. This can be seen as the number of board for both products. When gene 4=1 or gene4=2, only
step look ahead. Each assignment will change the product0 or product1 is unloaded as much as the product
condition or status of a collection of variables defined as a demand or quantity on board, respectively.
state, for example ship’s position, its compartment levels
and their contents, and storage levels. We denote SIn as an 4) Loading procedure
initial state of assignment n, while SAn as a state after In this decision point, the number of genes depends on the
processing assignment n. Obviously, SAn = SIn+1. maximum number of compartments among the modeled
Coverage day (CD) is used to determine which port ships. If we have a maximum of two compartments, this
and its storage needs to be served next. We have two point needs three genes. The first gene, gene 5, determines
definitions of CDik depending on the type of ports. For a the quantities loaded in the ship compartments. The next
discharge port, CDik means the number of days that port i two genes, gene6 and gene7 determine how to allocate
can cover the demand of product k from its storage before products into ship’s compartments. Three possible values
it runs out. While for a production port, it means the of gene5 are described as:
number of days that port i can continue producing product x Gene5=0 means that if the products available in the
k before its storage reaches the maximum capacity. The production storages are less than the compartment

117
Authorized licensed use limited to: KU Leuven Libraries. Downloaded on January 28,2021 at 21:00:32 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the 2011 IEEE IEEM

capacities of the ships, the loading quantity is set


to be the products in the storages. Otherwise, it is 3) Loading and unloading quantity calculation
set to be the compartment capacities. As mentioned, there are three parameters related to
x Gene5=1 means that the loading quantity is set to loading activity. The first is the product demand which is
be the least value among (1) the product demands, defined as the quantity to cover the demand until the end
(2) products available in the production storages of the planning horizon. If there are more than one
and (3) the compartment capacities of the ships. If visiting ports, the product demand is the total of those
there are two visiting ports in the routing, the ports.
demand is the total of those two ports. The second is the product(s) available in the
x Gene5=2 means that the loading quantity is set to production storages. For this parameter, we calculate the
be the compartment capacities. product(s) available at the time when the selected ship
arrives at the production port. Lastly, it is the
The value of the last two genes depends on the number of
compartment capacities of the ship. The calculation of the
products. If we model dedicated compartments, we fix the
last parameter depends on the assignment of products into
product numbers on these genes. These two genes can be
compartments. We sum the total compartment capacity
disregarded if gene1=1 because the ship does not perform
for each product. If there is a product not assigned, the
loading activity.
compartment capacity for that product is zero.
An example chromosome is shown in figure 1. It
represents a step that consists of three ship assignments. Algorithm 1
1 Set assignment number n=0;
Step one
2: while n < maximum assignment number
Assignment 0 Assignment 1 Assignment 2 3: while the stopping criteria are not true
Gene No 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
4: Sort storages of state SIin based on coverage days
Chromosome 0 1 0 1 0 1 1 1 1 1 1 2 2 0 1 0 1 0 1 0 0 0 1 1
5: Set selected ship S as in genein0
6: Determine the ship routing based on the values of
Fig. 1. An example of chromosome that has three genein1, genein2, and genein3
assignments in one step. 7: Calculate loading and unloading quantity based on the
values of genein4, genein5, genein6, and genein7
8: Calculate loading activities
B. Multi-heuristics Procedure 9: Update state SAin of ship S and production port Pp
10: m=0
As previously explained, the algorithm consists of a 11: while m < values of (genein2+1)
12: Calculate unloading activities of the ship at the mth
strategic combination of heuristics at four decision points. visiting port
The strategies represented by a chromosome are applied 13: Update state SAin of ship S and consumption port
in various positions in the algorithm as presented in figure Pcm
2. The detailed steps are described below: 14: m = m + 1;
15: end while
16: Calculate fitness function at the end of assignment n
1) Coverage days, calculation and sorting 17: end while
At the beginning of each iteration, the CDs of all 18: n = n + 1;
19: end while
storages is calculated and sorted. In this process, we keep
track of the port’s time and the current level of the Fig. 2. Chromosome evaluating process.
storages at that time. At the beginning of a period, we set
all those times to be zero. These times are updated when 4) Time and cost calculation
there is a ship performing activities in the visited port. Having determined the loading quantities, it is not
In sorting CDs, first we give higher priority to difficult to update the new storage and compartment
consumption storages. The production port storages will levels. The arrival time of the ship in the port is calculated
be taken into account whenever all consumption storages based on the last ship time and the sailing time. When the
have reached at least as far as the planning horizon. arrival time is greater than the coverage days of the port
Based on the CDs sorted result, we rank all ports in storages, we give a penalty cost for being late to arrive
ascending order. The port that has the least CD will have because it makes the storage(s) of the port overflow or
the highest rank, the CD port [0]. This port is the first port becomes out of stock. The transportation cost is also
for which its storage will have a shortage soon. If a port calculated as the total of the loading and unloading cost,
has more than one storage, the one that has the least CD is the setup port cost, and the sailing cost. Lastly, we also
used for sorted for this particular port. calculate the completion cost to force the solution to reach
the end of planning horizon. It works as a penalty cost
2) Routing determination because the storage has not covered its demand until the
A ship is selected based on the value of gene0. The end of the planning horizon.
routing of the selected ship is determined by the port rank Moreover, we also calculate the time when the
and the values of gene1 through gene3, as explained in selected ship will depart from the port based on the last
table 1. ship time, i.e. the sailing time plus the loading activity

118
Authorized licensed use limited to: KU Leuven Libraries. Downloaded on January 28,2021 at 21:00:32 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the 2011 IEEE IEEM

time or the waiting time, whichever is greater. The last Core 2 CPU 6300 1.86 GHz machine. We use five
part is the time to wait for getting more product(s). generated datasets which represent (2,3,2,2)
The same procedure is carried out for any unloading configurations of the number of ships, ports, products and
activities. compartments. Each dataset is run for 10 and 15 days
planning horizon. Then, we compared the method results
5) Fitness function with the ones of the mathematical model. The detailed
Each chromosome in a population is evaluated in the mathematical model and problem instances can be found
GA framework by using a fitness function. The function in [13].
is composed of three parts: total transportation cost,
penalty cost, and completion cost, as described in Based on table II, for each test instance, the ones with
equation (1). 15 days planning horizon need significant longer running
time to solve, in comparison to the ones for 10 days by
Fitness function = w1 total cost + w2 penalty cost + using the mathematical model. On the contrary, there are
w3 completion cost (1) no dramatic changes in running time to solve between 10
The fitness function is highly influenced by the and 15 days planning horizon problems by using the
values of three parameters: w1, w2, and w3. We set w2 and proposed method, as seen in table III.
w3 significantly high compared to w1 because we would
like to avoid solutions that have storage shortage or
overflow and to have also solutions that satisfy demand
through the planning horizon.

C. Genetic Algorithm

Thirty chromosomes are randomly generated to form


a population at each generation. Each of the chromosomes
in the population consists of six assignments in one step. Fig. 3. The progress of the fitness function of the elite
The chromosomes are evaluated based on the least fitness chromosomes as a function of generation.
function by using algorithm 1. We keep the six best
chromosomes (we call this the elite) from the old
population to form a new population in each generation.
A new set of chromosomes are then generated through
crossover and mutation. There are two points that need to
be generated for performing crossover and mutation: the
number of assignments and the number of genes.
The generation will be terminated whenever all
storages have CDs to at least the end of the planning
horizon, or if it has reached its maximum generation. Fig. 4. The progress of total cost of the elite
chromosomes as a function of generation.
TABLE II
THE RESULT OF MATHEMATICAL MODEL SOLVED USING LINGO

Test Planning Mathematical Model


Instance Horizon Solution Run Time (s)
10 38.0 11,178
1
15 73.0 >> 5.0E+5*
10 54.9 259
2
15 96.8 22,929
10 42.1 1515
3
15 76.8 1,525
10 137.0 574 Fig. 5. The progress in reaching the least urgency of the elite
4 chromosomes as a function of generation.
15 269.0 21,161
10 91.0 49
5
15 208.0 5482
(*) problem not terminating before the time limit of 5.0E+5 seconds Although the solution of the proposed method does
not guarantee to always get a globally optimal solution as
in the mathematical model, the proposed method provides
IV. DISCUSSION feasible solutions within an acceptable running time.
Among thirty experiments for each problem, we always
We have conducted experiments to test the achieved the global optimal solution.
performance of the proposed method by using an Intel

119
Authorized licensed use limited to: KU Leuven Libraries. Downloaded on January 28,2021 at 21:00:32 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the 2011 IEEE IEEM

TABLE III
THE RESULT OF MULTI HEURISTICS BASED GA

Best Multi-Heuristics based GA (30 running repetition)


Test Planning Mathematical Best Average
Gap Standard
Instance Horizon Model Solution Maximum Average running
(%) Deviation
Solution (Minimum) time (s)
10 38.0 38.0 0 38.0 38.0 0 527
1
15 73.0 73.0 0 84.0 74.7 3.66 855
10 54.9 54.9 0 61.4 58.5 2.80 700
2
15 96.8 96.8 0 147.1 116.7 10.78 944
10 42.1 42.1 0 44.4 42.2 0.42 108
3
15 76.8 76.8 0 101.5 88.9 5.56 844
10 137.0 137.0 0 139.2 173.0 7.07 605
4
15 269.0 269.0 0 325.0 287.8 15.04 950
10 91.0 91.0 0 106.0 92.5 4.58 548
5
15 208.0 208.0 0 225.0 216.3 4.98 747

Figures 3, 4, and 5 represent a solution of test [2] K. Chakhlevitch, and P. Cowling, “Hyperheuristics: Recent
instance no. 4 with 15 day planning horizon. These Developments”’ In: C. Cotta, M. Sevaux, & K. Sorensen,
figures show the progress of fitness function, total cost Adaptive and Multilevel Metaheuristics, Springer-Verlag
and the least urgency among all storages in the ports as a Berlin Heidelberg, pp. 3-29, 2008.
[3] M. Christiansen, and B. Nygreen, "A method for solving
function of generation. At the beginning of period the ship routing problems with inventory constraints," Annals
minimum total cost is the lowest value, on the other hand of Operations Research, vol. 81, pp. 357-378, 1998.
the fitness function is the highest one at that time. This is [4] M. Christiansen and B. Nygreen, "Modeling path flows for
caused by the highest completion cost, added to the total a combined ship routing and inventory management
cost since the least urgency is the lowest value at this problem," Annals of Operations Research, vol. 82, pp. 391-
time. When the number of generation becomes larger, all 413, 1998.
the demands have been fulfilled and they reach their [5] M. Christiansen, “Decomposition of a combined inventory
levels to satisfy the demands until the end of planning and time constrained ship routing problem," Transportation
horizon. At this point, the total cost will have the same Science, vol. 33, no.1, pp. 3, 1999.
[6] M. Christiansen, and K. Fagerholt, et.al, “Chapter 4
value with the fitness function because there is no late Maritime Transportation”, Handbooks in Operations
shipment. Research and Management Science, Elsevier. Vol. 14, pp.
189-284, 2007.
V. CONCLUSION AND FUTURE WORK [7] M. Christiansen, and K. Fagerholt, “Maritime Inventory
Routing Problems”, in Encyclopedia of Optimization. C. A.
In this paper, we show that a multi-heuristics based Floudas and P. M. Pardalos. Second Edition, pp. 1947-
GA may reach the same global optimal as the solutions in 1955, 2009.
the mathematical model, but with a significant decrease in [8] M. Christiansen, and K. Fagerholt, et al, "Maritime
computational time. However, for solving larger problems inventory routing with multiple products: A case study from
the cement industry." European Journal of Operational
(i.e. more than six assignments: longer planning horizon Research, vol. 208, no. 1, pp. 86-94, 2011
or modeling more ports or/and products to be served), the [9] P. Cowling, and G. Kendall, et al, "A hyperheuristic
method needs to be modified to deal with the approach to scheduling a sales summit," Lecture Notes in
chromosome representation. Longer chromosomes make Computer Science, pp. 176-190, 2001.
it more difficult to converge and also take more time to [10] P. Cowling, G. Kendall, and E. Soubeiga, “Hyperheuristics:
solve. Moreover, the methods can also be applied in A Tool for Rapid Prototyping in Scheduling and
strategic decision by setting different number of ships to Optimisation,” In: Cagnoni, S., et. al, Applications of
get the optimal number and the type of ships serving the Evolutionary Computing, pp. 1-10. Springer Berlin/
ports during the predefined planning horizon. This will be Heidelbergparameters, 2002.
[11] S.J. Hwang, “Inventory Constrained Maritime Routing and
an interesting challenge for our intended future extension Scheduling for Multi-Commodity Liquid Bulk,”
of this problem. Unpublished thesis, School of Industrial and Systems
Engineering, Georgia Institute of Technology, 2005.
[12] M. Savelsbergh, M. and J.H. Song, ”Inventory routing with
REFERENCES continuous moves,” Computers & Operations Research,
vol. 34, no. 6, pp. 1744-1763, 2007.
[1] F. Al-Khayyal, and S.J. Hwang, “Discrete Optimization- [13] N. Siswanto, D. Essam, and R. Sarker, "Solving the ship
Inventory constrained maritime routing and scheduling for inventory routing and scheduling problem with undedicated
multi-commodity liquid bulk, Part I: Applications and compartments," Computers & Industrial Engineering, in
model”, European Journal of Operational Research, vol. press.
176, pp. 106–130, 2007.

120
Authorized licensed use limited to: KU Leuven Libraries. Downloaded on January 28,2021 at 21:00:32 UTC from IEEE Xplore. Restrictions apply.

You might also like