Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/264122517

Solving Single Stage Uncapacitated Warehouse Location


Problem by a combination of OR based Heuristics and
Genetic Algor....

Article  in  International Journal of Operations and Quantitative Management · January 2014

CITATIONS READS

0 202

4 authors, including:

Mayank Verma R. R. K. Sharma


Department of Atomic Energy Indian Institute of Technology Kanpur
12 PUBLICATIONS   5 CITATIONS    96 PUBLICATIONS   592 CITATIONS   

SEE PROFILE SEE PROFILE

Priyanka Verma
NITIE-National Institute of Industrial Engineering
13 PUBLICATIONS   15 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

The dynamics of manufacturing strategy View project

All content following this page was uploaded by R. R. K. Sharma on 05 April 2016.

The user has requested enhancement of the downloaded file.


Solving Single Stage Uncapacitated Warehouse
Location Problem by a Combination of OR Based
Heuristics and Genetic Algorithm: An Empirical
Investigation
RRK Sharma
Sonal Dubey
Priyanka Verma
Mayank Verma
Volume 18, Number 3 Indian Institute of Technology Kanpur, India
September 2012, pp. 211-228 (mayankverma.p@gmail.com)

In this paper Single Stage Un-capacitated Warehouse location Problem is


solved using Genetic Algorithm. Heuristics are developed to generate initial
population on the basis of strong Linear Programming (LP) relaxation.
Sample problems are solved for four problem sizes; and four combinations are
tested which are based on different crossover and mutation schemes. It is
observed that circular mutation provides a good balance between computation
time and optimality gap. It is found that GA works well even for small
population size and less number of generations. The solutions obtained from
GA are found to be very near to the optimum solution (within 1 percent) even
at the end of the first generation of GA. GA results are compared with results
obtained by solving strong formulation of SSUWLP using GAMS and t-tests
are performed. GA combined with heuristic based starting solution is slower
than GAMS for problem instances of small size but shows very good results
with increase in problem size.
Keywords: Warehouse Location, Genetic Algorithm, Uncapacitated,
Heuristics

1. Introduction
Facility location problem refers to the selection of a location for a facility from a set
of locations to serve a set of customer locations, while minimizing the total
investment. The problem is to determine where to locate the facility and which
customer location should be served by which facility so as to minimize the total cost
of serving all the customers. In single stage warehouse location problem, the goods
are transported from supply points (plants) to the warehouses. From these
warehouses, the goods are moved to the markets. If the total demand at market points
is known then the quantity to be shipped to the warehouses can be determined by
adding the demand requirement at all market points.
The plants and markets are far distanced and it becomes difficult to move the
commodities directly from plants to markets. Thus the need for intermediate points
arises where these goods can be stored before moving them to the destination. These
points also called as transshipment points can be either near plants or near markets.
The set of potential transshipment locations are known, the problem is to determine
the number and location of the warehouses. Each warehouse has a fixed location cost
212 International J. of Opers. and Quant. Management

associated with it. The problem is to choose a sufficient number of warehouses in


order to minimize the sum of location and transportation cost, while satisfying the
market demand. The transportation cost includes the cost from supply points to
warehouses and from warehouses to markets. The assumption is made that
warehouse capacity is unlimited at transshipment locations and only single
commodity is being transferred. This results in the Single Stage Un-capacitated
Warehouse Location Problem (SSUWLP).
In this work, Single Stage Un-capacitated Warehouse Location Problem has been
solved using Genetic Algorithm (GA) and the results have been compared with
GAMS. GAMS is a high-level modeling system which is basically used for
mathematical programming and optimization. Genetic algorithm is a well known
probabilistic search technique. It is based on the famous principle of “survival of the
fittest”. GA has been extensively used over last decade in the form of search and
optimization tool in a variety of problem domains. It has got a major success because
of its broad applicability and ease of use. The population based approach by GA has
extended its usage to solve other search and optimization problems efficiently,
including multi-objective problems. In this work, SSUWLP has been solved using
GA for four combinations C1 to C4, which are made using two schemes of mutation
and crossover. Strong LP relaxation based heuristics have been developed to
generate initial population which improved performance over random generated
initial population. The results obtained by GA are compared with GAMS results of
SSUWLP and t-tests have been conducted and it is found that GA gives better results
than GAMS with increase in population size.
This paper is organized as follows. Section 1 provides a brief introduction to
SSUWLP followed by literature review in section 2. Section 3 consists of model
description and describes the methodology used for solving SSUWLP. Section 4
deals with the MATLAB and C implementation of GA. The heuristics developed to
provide starting solution and results obtained by their application to GA are
discussed in the section 5. The results have been analyzed in section 6; and finally
we provide the conclusion and future research directions in section 7.

2. Literature Review
Facility location problems cover a wide range of applications like production
distribution, health care, telecommunication networks etc. and very extensive
research has been done in this area. The earliest methods to solve SPLP include
heuristic proposed by Kuehn and Hamburger [1] and algorithm developed by Manne
[2]. Balinski [3] gave the first explicit formulation of SPLP. Heuristic methods were
developed to solve large size problems. Sridharan[4] gave an excellent review on the
work done in this area. Kuehn and Hamburger [1] introduced ADD heuristics.
Cooper [5], Vergin and Rogers[6], Cornuejols et al. [7] and Spielberg [8] also
worked on the ADD heuristics. A dual based ADD heuristic is given by Tcha et al.
[9]. DROP heuristics were dealt by Feldman et al. [10] and Jarvinen et al. [11].Worst
case behavior of greedy heuristic is shown by Cornuejols, Fisher and Nemhauser [7].
Interchange heuristics was first introduced by Kuehn and Hamburger [1] and then
detailed work was done by Manne [2]. Reiter and Sharman [12] applied these
heuristics to combinatorial problem. Exchange heuristics for warehouse location
problem were given by Cooper [5] and Cornuejols et al. [7]. Geoffrion [13]
Sharma, Dubey, Verma, Verma 213

developed Lagrangian relaxation (LR) to solve fixed charge location problem


optimally. Simao and Thizy [14] gave dual simplex algorithm for covering
formulation of SPLP. Khumavala [15] combined branch and bound with weak
relaxation for providing lower bounds and developed efficient branching rules. Dual
ascent method for solving SPLP was suggested by Erlenkotter [16] and Bilde and
Krarup [17]. Their application in capacitated version was suggested by Guignard and
Spielberg [18]. Korkel [19] modified primal-dual version of exact algorithm given
by Erlenkotter [16]. Capacitated plant location problems are similar to simple plant
location problem with capacity constraints. Akinc and Khumavala [20] gave better
lower bound by applying weak LP relaxation in branch and bound for CPLP.
Cornuejols et al. [21] developed LRs of demand and capacity constraints and showed
that the lower bound obtained from strong LP is stronger than the bound of weak LP.
An assumption of unlimited capacity at warehouses is made in un-capacitated case.
Nemhauser and Wolsey [22] used weak linking constraints or weak formulation
while Gao and Robinson [23] applied dual based branch and bound solution
procedure. Allen [24] developed a dual based lower bound to the multi-facility
model. Gendron and Crainic [25] solved multi-commodity location problem using
branch and bound. A new formulation style with changes in flow variables and
transportation cost was suggested by Sharma and Muralidhar [26]. A new
formulation style with inclusion of some selected strong constraints was suggested
by Priyanka [27]. Sharma and Berry [28] gave strong, weak and capacity constraints
for SSCWLP and carried out extensive empirical investigation. Glover [29] applied
tabu search to un-capacitated fixed charge location problem, Kratica et. al. [30]
proposed genetic algorithm for SPLP and Diptesh Ghosh [31] developed
neighborhood search heuristics based on tabu search.

3. Solution Methodology
3.1 Genetic Algorithm
The Genetic algorithm was invented by John Holland in the early 1970s at
University of Michigan. It is a probabilistic search approach which is mainly based
on ‘Survival of the fittest’ principle. Genetic algorithms have been applied to a quite
broad range of problems. GA is a well known evolution-based optimization
technique. It believes on ‘Fit parents are likely to produce even fitter offspring’
principle. It is fundamentally different from the classical algorithms due to the
inquiry for robust search. The differences are based on the following four principles
[32]:
1. Genetic algorithms use a coded representation of the parameters, not the
parameters themselves.
2. Genetic algorithms search from a population of solution vectors, not a single
solution vector i.e. GA starts with population of solutions not a single solution.
3. Genetic algorithms exclusively use values of the function under study and do not
consider auxiliary information, such as the derivative.
4. Genetic algorithms use probabilistic transition rules, not deterministic rules.
Genetic algorithms start with generation of an initial population containing a
predefined number of individuals. These individuals are represented by binary
strings and are evaluated on the basis of fitness measure associated with each of
them. The fitness function is equivalent to the objective function or cost function. To
214 International J. of Opers. and Quant. Management

produce next generation, the concept that “the best individuals will produce fitter
offspring” is used to select individuals from current population. Selected individuals
perform the task of reproduction at each generation, in order to develop the new
population. The new population may undergo mutation operation to randomly
modify the genes of an individual, depending upon the mutation probability. At each
generation, a new set of individuals are produced with better individual fitness values
and thus search proceeds toward improvement, using a survival of the fittest
principle.
The reproductive opportunities are allocated in a way that chromosomes
representing better solution to the specified problem are offered more chances to
reproduce than the chromosomes with poorer solutions. The goodness of a solution is
typically defined with respect to the current population. The fitness of individuals
keeps on improving in successive generations until stopping criterion is met which
can be decided on the basis of number of generation, time limit or optimization
convergence etc. Three standard operators used in GA are: reproduction, crossover
and mutation [32]. Reproduction copies an individual from one generation to the
next, crossover combines features from two or more parents to produce one or more
children and mutation makes small local changes. Reproduction and crossover
provide pressure for improvement, while mutation maintains population diversity.
Since GA is based on probabilistic search, the solutions obtained do not guarantee
optimality but they are likely to be very close to the global optimum. One of the
reasons for these solutions to be not contained by local optima is its probabilistic
nature. Gas are though not good at finding optimal solutions but its strength is to
rapidly locate good solutions, even for the difficult search spaces.

3.1.1 Basic Genetic Algorithm


Following are the broad steps involved in a GA:
1. Initialize a population of chromosomes.
2. Evaluate each chromosome in the population and update the best solution so far.
3. Create new chromosomes by applying crossover and mutation to the current
chromosomes.
4. Evaluate new chromosomes, insert them into the population.
5. Stop if the stopping criterion is satisfied and return the best solution else go to
step 3.

3.2 Mathematical Model for SSUWLP


The mathematical model for single stage un-capacitated warehouse location problem
[27] is shown below, where a single level of warehouses are to be located between
supply points and markets.

3.2.1 Index Used


i : index for supply points (plants); i = 1,…, I; I = number of plants.

j : index for warehouses; j = 1,…, J; J = number of warehouse points.

k : index for markets; k = 1,…, K; K = number of markets.


Sharma, Dubey, Verma, Verma 215

3.2.2 Constants Definition


Dk : Value of demand at market ‘k’

Si : Total supply available at plant ‘i’

si k Dk
: Supply available at ‘i' as a fraction of the total market demand; S i /

dk : Demand at market ‘k’ as a fraction of the total market demand; Dk / k Dk .

fj : Fixed cost of locating a warehouse (of unlimited capacity) at location ‘j’.

cpwij : Cost of transporting k Dk quantity of goods from plant ‘i’ to warehouse ‘j’.
cwm jk : Cost of transporting k Dk quantity of goods from warehouse ‘j’ to market ‘k’

3.2.3 Decision Variables


XPWij : Quantity shipped from supply point (plant) ‘i’ to warehouse ‘j’.

XWM jk : Quantity shipped from warehouse ‘j’ to market ’k’.


: Quantity shipped from supply point ‘i’ to warehouse ‘j’ as a fraction of total
xpw ij market demand; xpwij  XPWij / k Dk 
: Quantity shipped from warehouse ‘j’ to market ’k’ as a fraction of total market
xwm jk
demand; xwm jk  XWM jk / k Dk . 
yj : Location variable (= 1 if warehouse is located at point ‘j’, 0 otherwise)

3.2.4 Formulation
Min  cpwij xpwij   cwm jk xwm jk   f j y j (1)
ij jk j
Subject To:
 xpwij  si i (2)
j

 xwm jk  d k k (3)
j

y j   xwm jk j (4)
k
y j d k  xwm jk j, k (5)
y j si  xpwij i, j (6)
xpwij  0 i, j (7a)
xwm jk  0 j, k (7b)
y j  {0,1} j (8)
0  yj 1 j (9)
216 International J. of Opers. and Quant. Management

 xpwij   xwm jk j (10)


i k

  xpw ij 1 (11)
i j

  xwm jk 1 (12)
j k

3.2.4.1 Objective Function


Equation (1) describes the objective function or cost function. Since the objective is
to get minimum cost, the model is minimizing the overall cost of shipping
commodity from plants to warehouses and from warehouses to markets. Objective
function consists of three parts. First part of the cost function denotes the total cost of
transporting the commodity which is shipped from plant ‘i’ to warehouse ‘j’. The
second part is the transportation cost of the commodity moving from warehouse ‘j’
to market ‘k’; and the last part is the fixed cost of locating warehouse at site ‘j’.

3.2.4.2 Constraints
Equation (2) denotes the supply side constraint which ensures that the total quantity
moving from a plant to all the warehouses can never exceed the total supply
available at that plant. (3) is demand side constraint and ensures the total quantity
received at any market should at least satisfy demand at that market. (4), (5) and (6)
are linking constraints as they link 0-1 integer variables ( y j ) and other real variables
in the model. The role of these constraints is to make sure that quantity shipments
take place only if the warehouse is located. If any warehouse is not located, then
quantities shipped in or out of that warehouse will be zero. (5) is a disaggregated
constraint indicates that if warehouse ‘j’ is located then fractional demand at market
‘k’ will always be more than the fraction of the commodities shipped from that
warehouse ‘j’ to the same market . This is a form of strong constraint known as
demand side strong constraint. (6) is also a disaggregated constraint ensuring that the
supply from the plant ‘i’ to the located warehouse ‘j’ will always be more than the
fraction of the commodities shipped to that warehouse. This is another form of
strong constraint known as supply side strong constraint. (7a) and (7b) represent non-
negativity constraint on decision variables xpwij and xwm jk ; while (8) is binary
integer constraint on y j . (9) is obtained by relaxing the integer restrictions on y j . A
balanced flow of quantities is ensured by (10) which makes sure that the total
quantity received at a particular warehouse from all the supply points is shipped out
of the same to all the markets. (11) and (12) ensures that adequate quantities are
shipped from plants to warehouses and from warehouses to markets. In this work,
strong formulation of SSUWLP has been considered which includes all the above
equations except (4).

3.3 Application of Genetic Algorithm to SSUWLP


To solve SSUWLP using Genetic Algorithm, warehouse locations y j are generated
using GA routines. Warehouse locations are represented as binary strings of 0 and 1.
Sharma, Dubey, Verma, Verma 217

If bit value is 1 then warehouse is located else it is not located. Different initial
population size is considered for different problem sizes, on the basis of
experimentation. The chromosome length is equal to the number of warehouses (i.e.
NW). As this is a minimization problem, the individual solutions are compared and
the best solution i.e. lowest value of fitness is retained for comparison in further
stages. To compute objective value of an individual, a mathematical model of
SSUWLP is solved using GAMS. Sample problems are created randomly and the
values of y j are passed to the model through fitness function which returns the
value of fitness.
To generate new population, crossover probability is taken as 0.9. Crossover
position is found if random number is equal to or greater than crossover probability.
The best individuals from initial population and generated solutions are retained and
a new population equal to the initial population size is generated which replaces the
old population. The mutation operation is applied after every two generations; this
completes the first generation pool. After each generation, the Chromosome length
depends on the problem size being solved best solution is retained and termination
criterion is checked. The process is stopped if criterion is satisfied else it proceeds to
the next generation and repeats the above steps.
In this work four termination criterions have been considered, first on the basis of
maximum number of generation to be explored, second on the basis of optimization
convergence, third on the basis of maximum time limit to run the code and the last
on the basis of no further improvement in the solution. Correspondingly, the
different criterions that have been considered in this work for solving different
variants of the problems are as stated below.
The first criterion of termination i.e. generation limit to be taken is decided on the
basis of problem size and results of the experiments. The second criterion is the
optimization convergence, for this the GA solution at the end of each generation is
compared with optimum solution which was computed using GAMS before starting
the GA code for SSUWLP. According to the third termination criterion, the
maximum time limit has been kept fixed as 86400 seconds i.e. 24 hours for running
the code. The software is so designed that if the program runs for more than 24 Hrs,
it gets aborted. For the fourth criterion, improvement in results is observed and if the
objective value keeps on repeating itself for 19 times i.e. if same output is obtained
20 times, then it is considered that there is no possibility of further improvement in
the results.

4. Implementation
4.1 MATLAB Implementation
In the beginning GA code for SSUWLP was written in MATLAB and sample
problems were created for problem size 20x20x20 taking i si = 2; where “ si ”
indicates supply at plant location “i" as a fraction of total market demand. Fixed
costs were taken in the range U(1500-3000) and transportation costs, from plants to
warehouses and warehouses to markets were taken in the range U(10-100) for initial
problem instances.
Four types of combination were designed using 2 mutation and 2 crossover
schemes, which are as given in Table 1.
218 International J. of Opers. and Quant. Management

Table 1: Different Types of Combination Based on Crossover and Mutation Schemes


Type Crossover Scheme Mutation Scheme
C1 Single Point Crossover Bit Inversion(Normal) Mutation
C2 Two Point Crossover Bit Inversion(Normal) Mutation
C3 Single Point Crossover Circular Mutation
C4 Two Point Crossover Circular Mutation

The values of crossover probability, mutation probability and mutation limit were
kept fixed as 0.9, 0.05 and 2 respectively for all the problems. Initial population and
generation limit were taken as 50. All the problems in this paper were solved on
Core (TM) 2 Duo, 2.80GHz, 2 GB RAM computer. The results for two problem
instances are given in table 2, where SGI indicates generation index at which
termination criterion is satisfied.

Table 2: Output 1 for Problem Size 20x20x20 with Generation Limit =50 and Initial
Population=50
Problem Number= 1
Type SGI Optimum GA Objective OG (%) Time(sec)
C1 33 1664.519 1691.27472 1.607415 7254.0868
C2 33 1664.519 1691.27472 1.607415 7077.0093
C3 24 1664.519 1906.66161 14.547302 4903.2843
C4 24 1664.519 1906.66161 14.547302 5081.5672

The optimum solution for problem is obtained by solving it in GAMS by providing


the same set of inputs. The results show that the time taken by MATLAB is very
large in the range of (9832.2 - 10011.4532) seconds when it explores 50 generations
and 3955.001826 seconds for 20 generations. Here it is to be noted that OG(%)
represents the optimality gap.

4.2 Comparison between MATLAB and C


To compare the execution time between C and MATLAB, four sample codes were
written and the time taken by them is shown in Table 4.

Table 3: Output 2 for Problem Size 20x20x20 with Generation Limit =50 and Initial
Population=50
Problem Number= 2
Type SGI Optimum GA Objective OG (%) Time(sec)
C1 50 1620.513 1620.51327 0.000017 10011.453
C2 50 1620.513 1620.51327 0.000017 9832.2007
C3 20 1620.513 1757.59996 8.459479 3955.0018
C4 20 1620.513 1757.59996 8.459479 4132.0321
Sharma, Dubey, Verma, Verma 219

Table 4: Execution Time (in msec.) taken by MATLAB and C to Run Sample Codes
Sr. Factor(MATLAB/
Code MATLAB C
No. C)
Bubble sort of an array of 10
1 254.2 15 16.94
elements
To find cube and fourth power of 12
2 540.89 4.32
an integer 5
To find prime numbers between 1
3 82125.16 15 5475
and 100
To find whether a number is
4 21489.56 62 346.6
palindrome or not

The comparison of computation time for these codes indicates that the factor by
which C is faster than MATLAB varies from 4.32 to 5475, which means that
software behavior is highly dependent on the nature of the problem. Thus the
MATLAB code for SSUWLP was converted in C and some experiments were
conducted by taking different GA parameters and an array of fitness values for all
individuals. The results are shown in the tables given below:
Table 5: Time (S) Taken by GA for 20x20x20, 25x25x25,100x100x100 and 125x125x125 with
Initial Population = 5, Generation Limit = 1
Problem Size MATLAB C Factor(MATLAB/ C)
20x20x20 56 8.859 6.32
25x25x25 61.63 9.062 6.8
100x100x100 251.184 9.543 26.32
125x125x125 363.474 9.671 37.58

On the basis of above results, it was clear that C can improve computation time in
case of SSUWLP, thus it was decided to proceed with the C code of genetic
algorithm for further problems
Table 6: Time (S) Taken by GA for 20x20x20, 25x25x25,100x100x100 and 125x125x125 with
Initial Population = NW, Generation Limit = 1

Problem Size Initial Population MATLAB C Factor(MATLAB/ C)

20x20x20 20 0.32 0.015 21

25x25x25 25 0.7052 0.031 22.7

100x100x100 100 356.578 0.156 2285.758

125x125x125 125 1032.59 0.281 3674.6

4.3 C Implementation
To solve SSUWLP using C code of GA, problems were solved in two categories: S1
and S2 which correspond to i si = 1.25 and i si = 3 respectively. Initially 25
problems were created for both the categories S1 and S2 for problem sizes 20x20x20
220 International J. of Opers. and Quant. Management

and 25x25x25 each. For each problem, all four types of combination were tested.
The GA parameter values are listed in table 7.

Table 7: GA Parameter Values for 20x20x20 and 25x25x25


Problem Size Initial Population Generated Solutions Generation Limit
20x20x20 30 435 30
25x25x25 40 780 30

From the results, it was found that C1 and C2 provide good results in terms of
optimality gap but they take more time than C3 and C4. It happens because of
repetition of objective value in C3 and C4 after some generations, which shows that
circular mutation stops improvement in objective values after some time. The
detailed results are given in the section 4.4, the summary of which is given in the
table 8 and table 9. It is to be noted that for calculating the optimality gap, the
obtained solution is compared with the optimal solution. The same configuration of
problems with similar inputs is solved in GAMS. As GAMS is able to handle small
number of integer variables, it is providing optimal solution for a small sized
problem viz. 20x20x20 (20 plants, 20 warehouses, 20 markets) with 20 number of
binary variables. Similar are the explanations for problem size 25x25x25 as well.
Hence the optimal used for comparison in Table 8 and 9 is thus obtained from
GAMS.

Table 8: Optimality Gap (%) and Computation Time (s) for 20x20x20 with Generation
Limit=30 and Initial Population=30
S1
Optimality gap (%) Computation time (s)
Type Min Max Average Min Max Average
C1 0 0.218871 0.033756 498.687 2076.297 1482.576
C2 0 0.135932 0.03625 716.312 1899.625 1607.795
C3 0.30064 1.083197 0.759312 1178.281 1854.031 1296.092
C4 0.30064 1.026115 0.678378 1171.922 1468.859 1238.419
S2
Optimality gap (%) Computation time (s)
Type Min Max Average Min Max Average
C1 0 0.339039 0.053261 371.906 1937.359 1178.861
C2 0 0.339039 0.042993 354.247 1864.467 1071.857
C3 0.379152 1.486998 0.822577 1161.672 1501.671 1252.496
C4 0.334231 1.294846 0.735268 1173.906 1468.125 1267.332
Sharma, Dubey, Verma, Verma 221

Table 9: Optimality Gap and Computation Time for 25x25x25 with Generation Limit = 30
and Initial Population = 40
S1
Optimality gap (%) Computation time (s)
Type Min Max Average Min Max Average
C1 0 0.109909 0.040956 928.094 4812.006 3485.679
C2 0 0.120145 0.02761164 1035.593 5114.75 3492.27684
C3 0.033146 1.358839 0.821811 2275.344 2585.25 2394.965
C4 0.384551 1.241914 0.77329 2250.343 2669.687 2399.666
S2
Optimality gap (%) Computation time (s)
Type Min Max Average Min Max Average
C1 0 0.281553 0.067394 691.078 4790.75 3536.204
C2 0 0.239594 0.04192664 1162.578 4863.844 3200.39588
C3 0.527275 1.331443 0.894979 2265.672 2717.719 2336.223
C4 0.494965 1.271618 0.781086 2223.032 2560.734 2331.647

Table 10: GAMS Computation Time (S) for Problem Sizes 20x20x20, 25x25x25,
100x100x100 and 125x125x125
20X20X20 25X25X25 100X100X100 125X125X125
S1 S2 S1 S2 S1 S2 S1 S2
Min 0.09 0.09 0.14 0.09 22.73 1.42 6.22 14.3
Max 0.19 0.17 0.39 0.16 337 36.98 1325.78 252.03
Avg 0.135385 0.1046 0.2169 0.1146 69.562 13.757 479.07 74.67

Thus from the 400 problems solved in the beginning, it was observed that though
the optimality gap computed was very small, the time taken by GA was very large as
compared to the strong formulation of SSUWLP solved by the GAMS. This was
because of large initial population. By reducing the initial population, 5 problems
were solved for S1 taking initial population as 2, 3, 4 and generation limit as 30; for
problem sizes 20x20x20 and 25x25x25 each.
Table 11: Optimality Gap (%) for Problem Sizes 20x20x20 and 25x25x25; Generation Limit
= 10

Initial 20x20x20 25x25x25


population MIN MAX AVG MIN MAX AVG
2 0.617453 1.064321 0.8700034 0.617305 1.897479 1.116856
3 0.408721 0.756356 0.613257 0.382837 1.309858 1.01209
4 0.401381 0.870968 0.5528286 0.394609 1.337172 1.05079
222 International J. of Opers. and Quant. Management

It is found that even for small initial population and less number of generations,
optimality gap lies within 2 percent indicating that good results can be obtained in
very less time.

5. Heuristic Approach for Starting Solution Generation


The initial population was created randomly for all the problems solved so far, thus
Strong LP relaxation based heuristics are developed for the initial population
generation.

5.1 Heuristics based on LP relaxations


The values of y j are generated from the values obtained by solving relaxed
formulations of SSUWLP. Relaxed models are formed by relaxing the integer
restriction on y j in the previous model discussed in section 3.2.
1. RL1 : Demand Side Strong LP relaxation
Here, LP relaxation of the model given in section 3.2 is taken with the strong
constraint only on demand side. So this model consists of equations (1), (2), (3),
(5), (7a), (7b), (9), (10), (11) & (12).
2. RL2 : Demand and Supply Side Strong LP relaxation
This formulation includes both demand side and supply side strong constraints
in the LP relaxation of model given in section 3.2 and has been formed by
adding equation (6) to the above model (i.e. RL1).
5.2 Generation of initial population from relaxed formulations
Each yj obtained from the relaxed formulation is compared with a constant. If it is
greater than constant then bit value for initial population is taken as 1 else if it is less
than the constant, yj is taken as 0.
At first, only one relaxed formulation RL2 was used to generate first chromosome
of initial population, while other chromosomes were created randomly. Then later all
the chromosomes were created with the help of both the relaxed formulations RL1
and RL2 which produced better results in terms optimality gap. For problem size
20x20x20 and 25x25x25, initial population is taken as 2, so first and second
individuals in the population are created from the values obtained by solving RL1
and RL2 respectively.
If Yj represents the value obtained from relaxed formulation, then
y j = 1, if Yj > 0.5
y j = 0, otherwise; where y j is the bit value of a chromosome, representing the
availability of the warehouse.
For problem size 100x100x100 and 125x125x125, initial population was
considered as 12 out of which, 6 were generated by heuristics approach while the
remaining 6 were created randomly. The values obtained from RL1 and RL2 were
compared with 0, 0.5 and 0.8. It is found that reducing initial population from 12 to 6
produces better computation time while maintaining optimality gap to the same
value, thus 20 problems have been created for all problem sizes for S1 and S2 each
and all four combinations have been tested. The values of GA parameters and the
model parameters for final problems are shown in the following tables 12 and 13.
Sharma, Dubey, Verma, Verma 223

Table 12: Model Parameter Values for Final Problems of Size 20x20x20, 25x25x25,
100x100x100 and 125x125x125
Transportation
Transportation
Problem Cost from Number of
Fixed Cost Cost from Plant
Size Warehouse Problems
to Warehouse
to Market
20x20x20 U(4000-7000) U(400-700) U(400-700) 160
25x25x25 U(4000-7000) U(400-700) U(400-700) 160
100x100x100 U(4000-7000) U(400-700) U(400-700) 160
125x125x125 U(4000-7000) U(400-700) U(400-700) 160
Total number of problems solved 640

Table 13: GA Parameter Values for Final Problems of Size 20x20x20, 25x25x25,
100x100x100 and 125x125x125
Problem Initial Generated Generation Mutation Crossover Mutation
Size Population Solutions Limit Probability Probability Limit
20x20x20 2 3 10 0.05 0.9 2
25x25x25 2 3 10 0.05 0.9 2
100x100x100 6 15 10 0.05 0.9 2
125x125x125 6 15 10 0.05 0.9 2

6. Empirical Investigation
6.1 Analysis of results and findings
For all the problems solved using GA, results obtained from all four combinations
C1 to C4 are almost similar both in terms of time and optimality gap in case of small
number of generations. For large generations, C1 and C2 take more time but provide
less optimality gap as compared to C3 and C4. It shows that circular mutation stops
improvement after some time but optimality gap remains within 2 percent, so
circular mutation provides good balance between computation time and optimality
gap. From the results, it is clear that GA takes much higher time than the GAMS
with random starting solution and large number of generations. Setting the initial
population and generation limit to a small value leads to reduction in the
computation time but with poor optimality gap.
The development of Strong LP relaxation based heuristics for starting solution
generation gave a very good start and then combined with small initial population; it
resulted in very less optimality gap. Optimality gap (%) range for problem sizes
20x20x20, 25x25x25, 100x100x100 and 125x125x125 is observed as (0 - 1.144346),
(0 - 0.121246), (0 - 0.822511) and (0 - 0.818294) respectively; at the end of one
generation. Thus the results obtained by GA are very near to optimum solution.
The computation time taken by GA has been improved from hours to seconds in
this work and the results at the end of one generation of GA are compared with
GAMS. It is observed that GA takes more time than GAMS for problem size
20x20x20 and 25x25x25; but for problem sizes 100x100x100 and 125x125x125, GA
gives better or similar performance as GAMS in most of the cases. Further t-tests
have been conducted for all combinations C1 to C4 for all the problem sizes.
224 International J. of Opers. and Quant. Management

6.2 Statistical analysis of results using t-test


The t-tests have been conducted to compare computation time taken by GA and
GAMS to solve SSUWLP, considering all four combinations of GA. To carry out t-
test, two samples have been taken assuming unequal variances and keeping sample
size as 20. The t-tests are conducted between percentage improvement of GA over
GAMS and 0, so the first variable is taken as ((GA- GAMS)/GAMS)*100 and the
second variable is 0.
The values of t-statistic obtained from t-tests between all combinations of different
problem sizes and GAMS are compared with the t-critical at different significance
levels, the values of which for one tail t-test are given in the table 14.

Table 14: Values of T-Critical at Different Level of Significance


α 0.05 0.01 0.005
t Critical one-tail 1.708140745 2.48510717 2.787435805

6.2.1 t-test analysis for problem size 20x20x20


The values of t-statistic for all combinations of problem size 20x20x20 given in table
15 are compared with t-critical values and it is found that for both the categories S1
and S2, GA takes more time than GAMS at all three levels of significance.

Table 15: t-test for Problem Size 20x20x20


t-value
Combination
S1 S2
C1 Vs GAMS 12.33355748 22.99282621
C2 Vs GAMS 12.5395714 24.3606507
C3 Vs GAMS 12.31977738 23.87893396
C4 Vs GAMS 13.03827358 20.75272431

6.2.2 t-test analysis for problem size 25x25x25


The values of t-statistic for all combinations of problem size 25x25x25 given in table
16 are found larger than t-critical values at all the three significance levels for both
the categories S1 and S2 which reflects that GA takes more time than GAMS.

Table 16: t-test for Problem Size 25x25x25


t-value
Combination
S1 S2
C1 Vs GAMS 8.675069227 16.35196351
C2 Vs GAMS 8.72036131 15.96537311
C3 Vs GAMS 8.563144908 16.73551665
C4 Vs GAMS 8.406611865 17.59424062
Sharma, Dubey, Verma, Verma 225

6.2.3 t-test analysis for problem size 100x100x100


The t-values for category S1 given in table 17 are less than the t-critical values at all
significance levels which shows that GA is faster than GAMS for problem instances.
Hence GA works well for small value of ∑ si for problem size 100x100x100. Also
table 17 shows the t-values for S2 category are larger than t-critical for all the three
values of α, thus GA is slower in that case.

Table 17: t-test for problem size 100x100x100


t-value
Combination
S1 S2
C1 Vs GAMS -2.175128174 3.3200709
C2 Vs GAMS -2.14062957 3.345852133
C3 Vs GAMS -2.106126281 3.31274847
C4 Vs GAMS -2.15349642 3.327889149

6.2.4 t-test analysis for problem size 125x125x125


The values of t-statistic for problem size 125x125x125 are given in table 18 for S1
and S2 respectively.
Table 18: t-test for Problem Size 125x125x125
t-value
Combination
S1 S2
C1 Vs GAMS -11.77796488 1.185572997
C2 Vs GAMS -11.49213865 1.34446606
C3 Vs GAMS -11.6043756 1.327198664
C4 Vs GAMS -11.46913991 1.346420469

The t-values obtained for both the categories of problem instances are found to be
smaller than t-critical values at all the three values of α, α=.05, α =.01 and α=.005;
which shows that GA is faster than GAMS for all problem instances. It is clear that
for problem size of 20x20x20 and 25x25x25, GA takes more time than the GAMS;
and for problem size 125x125x125, GA is faster than GAMS at all significance
levels for both S1 and S2.
For problem size of 100x100x100, GA is faster than GAMS for all the three values
of α for problem instances of category S1. For problem instances of category S2,
GA is slower than the GAMS. Thus the results show that with increase in problem
size, GA improves performance and solves the problem in less computation time
than the GAMS.

7. Conclusion
It is evident from the results and analysis that GA provides good solution within one
percent optimality gap and with the application of strong LP relaxation based
heuristics it gives optimum solution in most of the cases, however it take more time
than the GAMS for small problem sizes. With increase in problem size, GA proves
to be faster than the GAMS. Thus it may be concluded that contribution of GA to
226 International J. of Opers. and Quant. Management

solve SSUWLP is limited; and that contribution of Strong LP relaxation based


heuristic for solving SSUWLP is substantial. Also from the programming point of
view, as FORTRAN written in our lab tends to be faster than the C written in our lab,
hence with this implementation coded in FORTRAN, the computation time can be
further reduced; and the procedure developed in this paper has merit to emerge as a
preferred method to solve SSUWLP.

8. References
1. Kuehn, A. A., Hamburger, M. J. (1963). A Heuristic Program for Locating
Warehouses. Management Science, 9, 643-666.
2. Manne, A. S. (1964). Plant Location under Economies-of-Scale-
Decentralization and Computation. Management Science, 11, 213-235.
3. Balinski, M. L. (1966). On Finding Integer Solutions to Linear Programs.
Proceedings of IBM Scientific Symposium on Combinatorial Problem (pp. 225-
248). IBM, White Plains, New York.
4. Sridharan, R. (1995). The Capacitated Plant Location Problem. European
Journal of Operational Research, 87, 203-213.
5. Cooper, L. (1964). Heuristic Methods for Location-Allocation Problems. SIAM
Review, 6, 37-53.
6. Vergin, R. C., Rogers, J. D. (1967). An Algorithm and Computational Procedure
for Locating Economic Facilities. Management Science, 13, B-240-B-254.
7. Cornuejols, G., Fisher, M. L., & Nemhauser, G. L. (1977). Location of Bank
Accounts to Optimize Float: An Analytic Study of Exact and Approximate
Algorithms. Management Science, 23, 789-810.
8. Spielberg, K. (1969). Algorithms for the Simple Plant-Location Problem with
Some Side Conditions. Operations Research, 17, 85-111.
9. Tcha, D. W., Ro, H. B., & Yoo, C. B. (1988). A Dual-Based Add Heuristic for
Uncapacitated Facility Location. The Journal of the Operational Research
Society, 39, 873-878.
10. Feldman, E., Lehrer, F. A., & Ray, T. L. (1966). Warehouse Location Under
Continuous Economies of Scale. Management Science, 12, 670-684.
11. Järvinen, P., Rajala, J., & Sinervo, H. (1972). A Branch-And-Bound Algorithm
for Seeking the p-Median. Operations Research, 20, 173-178.
12. Reiter, S., & Sherman, G. (1965). Discrete Optimizing. Journal of the Society
for Industrial and Applied Mathematics, 13, 864-889.
13. Geoffrion, A. M. (1974). Lagrangian Relaxation for Integer Programming.
Mathematical Programming Study, 2, 82-114.
14. Simão, H. P., Thizy, J. M. (1989). A Dual Simplex Algorithm for the Canonical
Representation of the Un-capacitated Facility Location Problem. Operations
Research Letters, 8, 279-286.
15. Khumavala, B. M. (1972). An Efficient Branch and Bound Algorithm for the
Warehouse Location Problem. Management Science, 18, B718-B731.
16. Erlenkotter, D. (1978). A Dual-based Procedure for Un-capacitated Facility
Location. Operations Research, 26, 992-1009.
17. Bilde, O. & Krarup, J. (1977). Sharp Lower Bounds and Efficient Algorithms
for the Simple Plant Location Problem. 1, 79-97.
Sharma, Dubey, Verma, Verma 227

18. Guignard, M. & Spielberg, K. (1979). A Direct Dual Method for the Mixed
Plant Location Problem with Some Side Constraints. Mathematical
Programming Study, 17, 198–228.
19. Körkel, M. (1989). On the Exact Solution of Large-scale Simple Plant Location
Problems. European Journal of Operational Research, 39, 157-173.
20. Akinc, U. & Khumawala, M. (1977). An Efficient Branch and Bound Algorithm
for the Capacitated Warehouse Location Problem. Management Science, 23,
585–594.
21. Cornuejols, G., Sridharan, R., & Thizy, J. M. (1991). A Comparison of
Heuristics and Relaxations for the Capacitated Plant Location Problem.
European Journal of Operational Research, 50, 280-287.
22. Nemhauser, G. L., & Wolsey, L. A. (1988). Integer and Combinatorial
Optimization. New York: Wiley and Sons.
23. Gao, L. L., Robinson, E. P. (1994). General Solution Procedures and
Computational Experience. European Journal of Operational Research, 76,
410-427.
24. Allen, W. R. (1995). An Improved Bound for the Multi-facility Location Model.
Operations Research Letters, 17, 175-180.
25. Gendron, B. & Crainic, T. G. (1995). A Branch-and-Bound Algorithm for Depot
Location and Container Fleet Management. Location Science, 3, 39-53.
26. Sharma, R. R. K., & Muralidhar, A. (2009). A New Formulation and Relaxation
of the Simple Plant Location Problem. Asia Pacific Journal of Operational
Research, 26, 1-11.
27. Verma, P. (2009). Hybrid Formulations for the Single Stage Un-capacitated
Warehouse Location Problem and Vertical Decomposition Approach for the
Single/Two Stage Capacitated Warehouse Location Problem. PHD Thesis,
Indian Institute of Technology Kanpur.
28. Sharma, R. R. K., & Berry, V. (2007). Developing New Formulations and
Relaxations of Single Stage Capacitated Warehouse Location Problem
(SSCWLP): Empirical Investigation for Assessing Relative Strengths and
Computational Effort. European Journal of Operational Research, 177, 803-
812.
29. Glover, F. (1990). Tabu Search — Part II. ORSA Journal on Computing, 2, 4-32.
30. Kratica, J., Tosic, D., Filipovic, V., Ljubic, I. (2001). Solving the Simple Plant
Location Problem by Genetic Algorithm. RAIRO Operations Research, 35, 127-
142.
31. Ghosh, D. (2003). Neighborhood Search Heuristics for the Un-capacitated
Facility Location Problem. European Journal of Operational Research, 150,
150-162.
32. Sharma, R. R. K., Rao, M. V. (1999). Application of Genetic Algorithm to
Single level Lot Sizing Problem with Shortage Costs. In: Kanda A, editor.
Operations Management for Global Economy (pp. 572-581), New Delhi:
Phoenix Publishing House Pvt. Ltd.
228 International J. of Opers. and Quant. Management

About Authors

RRK Sharma is a professor at the department of Industrial & Management


Engineering, Indian Institute of Technology Kanpur. He has extensively published in
the area of facility location, operations research & strategy.

Sonal Dubey is an M. Tech. from IME Department, IIT Kanpur. She is currently
working as a Business Analyst at Tata Consultancy Services.

Priyanka Verma is a PhD (Operations Research) from IIT Kanpur. She is currently
working as Assistant Professor (Operations) with KJ Somaiya Institute of
Management Studies & Research.

Mayank Verma is a PhD (Operations Research) from IIT Kanpur. His research
interest lies in the area of Production Planning and Facility Location.

View publication stats

You might also like