algorithm abc
TRANSCRIPT
-
7/31/2019 Algorithm ABC
1/74
Solving the Assignment problem using Genetic Algorithm and
Simulated Annealing
Anshuman Sahu, Rudrajit Tapadar.
AbstractThe paper attempts to solve the generalized Assignment problem
through genetic algorithm and simulated annealing. The generalizedassignment problem is basically the N men- N jobs problem where a single
job can be assigned to only one person in such a way that the overall cost of
assignment is minimized. While solving this problem through genetic
algorithm (GA), a unique encoding scheme is used together with Partially
Matched Crossover (PMX). The population size can also be varied in each
iteration. In simulated annealing (SA) method, an exponential cooling
schedule based on Newtonian cooling process is employed and
experimentation is done on choosing the number of iterations (m) at each step.
The source codes for the above have been developed in C language and
compiled in GCC. Several test cases have been taken and the results obtained
from both the methods have been tabulated and compared against the results
obtained by coding in AMPL.
Index TermsAssignment problem, Genetic Algorithm, Newtonian cooling
schedule, Partially Matched Crossover (PMX), Simulated Annealing.
I. INTRODUCTION
The Assignment model, as discussed in different text-books of
Operations Research, can be paraphrased as: Given N men and N
machines, we have to assign each single machine to a single man in
such a manner that the overall cost of assignment is minimized.
To put it mathematically, let us define the following symbols:
i row number denoting ith man i [1, N]
j column number denoting jth machine j [1, N]
[][]Cij cost of assigning jth machine to ith man
[][]Xij= 1 if jth machine is assigned to ith man
= 0 otherwise
The problem can be formulated as:
Minimize the total cost function 11[][][][]NNijCijXij==Subject to the following constraints:
Manuscript received March 7, 2006.
Anshuman Sahu is a senior undergraduate student with a major in
Production and Industrial Engineering in Motilal Nehru National
-
7/31/2019 Algorithm ABC
2/74
Institute of Technology, Allahabad, India. (e-mail:
Rudrajit Tapadar is a junior undergraduate student with a major in
Computer Science and Engineering in Motilal Nehru National
Institute of Technology, Allahabad, India. (e-mail:[email protected]).
1[][]NiXij= = 1j=1, 2 N (1)
= 1 i=1, 2 N (2) 1[][]NjXij=
[][]Xij=1 or 0 (3)
The Hungarian mathematician D.Knig proved an essential theorem
for the development of the Hungarian method to solve this
model. The problem can also be formulated as an integer-
programming model and solved by techniques such as Branch-and-Bound technique. Reference [1] states that the Hungarian
algorithm for solving the assignment model is more efficient than
branch-and-bound algorithms. This paper attempts to solve the same
model using two non-traditional techniques: Genetic Algorithm and
Simulated Annealing. It is basically an experimental investigation
into the various parameters affecting these two algorithms and
adapting them to our own problem. These two approaches are
discussed one by one.
II. GENETIC ALGORITHM APPROACHGenetic algorithms (GA) are computerized search and optimization
algorithms based on the mechanics of natural genetics and natural
selection. They were first envisioned by John Holland and were
subsequently developed by various researchers. Each potential
solution is encoded in the form of a string and a population of
strings is created which is further processed by three operators:
Reproduction, Crossover, and Mutation. Reproduction is a process
in which individual strings are copied according to their fitnessfunction (Here the fitness function is taken to be the total cost
function). Crossover is the process of swapping the content of two
strings at some point(s) with a probability. Finally, Mutation is
the process of flipping the value at a particular location in a
-
7/31/2019 Algorithm ABC
3/74
string with a very low probability. A more comprehensive treatment
of GA can be found in [2], [3], [4].
Now, for adapting GA to our problem, it is necessary that we
develop an encoding scheme. Consider the case when N=3 and let us
presume that machine M1 is assigned to man m1, machine M2 to manm2, and machine M3 to man m3 as shown:
.
IAENG International Journal of Applied Mathematics, 36:1, IJAM_36_1_7
__________________________________________________________________
____________________
(Advance online publication: 1 February 2007)
Machine
M1 M2 M3
m1 1 0 0Man m2 0 1 0
m3 0 0 1
Figure 1. A sample assignment.
Consider the first column: 100 which is equivalent to 4 in base 10
representation. Similarly the other two columns decode to 2 and 1
respectively. Hence, the above assignment can be encoded as . A quicker insight leads us to the observation that the each
permutation of i.e., , , , ,, and is a possible solution. As the total number
of solutions possible to this particular problem are 3! =6, we can
easily conjecture that in case of N men, N machine, the total
number of solutions possible is N! and our task is to select the
best string (the one with minimum total cost). As our encoding
scheme also generates N! strings, therefore it is correct and
there is one to one correspondence between each possible solution
and each string. It is also evident that each component (value at
each position) in the string can be uniquely expressed as 2r
where r is a positive whole number varying from 0 to N-1. As the
powers of 2 increase rapidly, a more compact way of encoding would
be to express the component 2r simply as r. This is easier to
write and saves space when N is high.
-
7/31/2019 Algorithm ABC
4/74
After encoding of the string, the population selection for
crossover is done by Binary tournament selection method. Here
s=2 strings are randomly chosen and compared, the best one being
selected for parenthood. This is repeated M times where M is the
size of the population. Reference [4] also cites a method forgenerating the parent strings which are then ready for crossover.
Here simple crossover will not work; instead we choose the method
of Partially Matched Crossover (PMX) which was initially developed
for tackling the Traveling Salesman Problem [2]. The concept
of PMX can be understood by considering an example:
Suppose we want to have crossover between two permutations of the
string i.e., and . Two random
numbers are generated between 1 and L where L is the length of thestring (L=5 in this case). Suppose the crossover points have been
choosen as shown below:
1 3 4 2 5
2 1 3 5 4
Where the dashed positions show the chosen points. Now PMX defines
the following scheme for interchangeability:
3 1 4 3 25 implies 14 and 25
Now the portion between the selected crossover points is swappedand the rest of the values are changed according to the above rule
(this means 1 in the portion outside the two crossover points is
replaced by 4 and 2 in the portion outside the two crossover
points is replaced by 5). So the two children strings generated
are:
4 1 3 5 2
5 3 4 2 1
Which are again valid permutations of . AfterCrossover, we have a family of parent population and children
population out of which we are to select the population for next
iteration. Here we have a choice of altering the population size
at each iteration. We must maintain the diversity in population or
else it may lead to premature convergence to a solution which may
-
7/31/2019 Algorithm ABC
5/74
not be optimal. One method of selecting the population may be to
arrange the entire population in ascending order of their
objective function value (the string that decodes to lowest total
cost of assignment will have the highest objective function value)
and choose a predetermined number of individual strings from eachcategory i.e., from those that are above average, from those
around the average, and from those below the average. This
threshold can be set by using the concept of mean and standard
deviation applied to the population. For instance, if we assume
the string values to be normally distributed with mean value
and standard deviation , we divide the population into four
categories: those having values above + 3*, those having
values between + 3* and , those having values between and -3*, and those having values less than -3*. In
this way the diversity in population is maintained. Another aspect
is that the string with the best objective function value at each
iteration is stored in a separate array and subsequently compared
with the best string of the population at next iteration. In this
way, the best string cannot escape. Also note that we are not
using mutation but a slight variant of it (Inversion) by choosing
two random spots in a string and swapping the corresponding values
at that position. Inversion is allowed only when the sum of thecosts at these positions before swapping is greater than the sum
of costs associated with these positions after swapping.
Thus, if we want to swap in the string at say second and
third positions, it will only be allowed if cost of is
greater than cost associated with .
The program was developed for the test problem given in [1]. Two
cases were implemented: one in which Inversion was used and
another in which Inversion was not used. In both the cases, theanswer converged to the final optimum value. On an average, there
was not much difference in the number of iterations required to
reach the final value in both the cases. The observations are
plotted in the table as shown below:
750800850900950100010501100123456789generation numbercost (
-
7/31/2019 Algorithm ABC
6/74
function) valuewithInversionwithoutInversionFigure 2. Graph showing
convergence to the global minimum in case of both inversion and
without inversion.
On an average, the time taken was 0.01s measured on a standard
desktop with processor Intel Pentium 4, 2.40 GHz. The populationsize at each generation was kept equal to 20.
While using this algorithm in our case, we represented each
possible solution by the string as developed previously in the
case of genetic algorithm. E refers to the function value (the
total cost of assignment for a particular string). We have
employed the scheme of Newtonian cooling wherein the temperature
at each generation is determined according to the law: T
III. SIMULATED ANNEALING APPROACHSimulated Annealing is another non-traditional method which was
originally developed by S. Kirkpatrik, C.D. Gelatt, Jr., and M.P.
Vecchi [5]. The simulated annealing procedure simulates the
process of slow cooling of molten metal to achieve the minimum
function value in a minimization problem. It is a point-by-point
method. The algorithm begins with an initial point and a high
temperature T. A second point is taken at random in the vicinity
of the initial point and the difference in the function values
(E) at these two points is calculated. The second point ischosen according to the Metropolis algorithm which states that if
the second point has a smaller function value, the point is
accepted; otherwise the point is accepted with a probability exp
(-E / T). This completes one iteration of the simulated
annealing procedure. In the next generation, another point is
created at random in the neighborhood of the current point and the
Metropolis algorithm is used to accept or reject the point. In
order to simulate the thermal equilibrium at every temperature, anumber of points (m) is usually tested at a particular temperature
before reducing the temperature. The algorithm is terminated when
a sufficiently small temperature is obtained or a small enough
change in the function values is found. A detailed description of
this can be found in [4].
-
7/31/2019 Algorithm ABC
7/74
i = T0 * exp (-) where T i is the temperature at ith generation,
T0 is the initial temperature and is a suitable constant ( is
initially taken 0 when temperature equals T0 and is incremented by
a factor increment at each stage). Now consider the task of
randomly generated valid strings: two techniques are beingemployed. Suppose we have the string and we want to
produce another random permutation of these 4 numbers. The first
method is to slide each number by a random number generated
between 1 and L (L not included) where L is the length of the
string. Thus, assuming that the random number generated is 2, the
string gets transformed to . The second method
of generating a valid permutation is two choose two positions at
random in the string and swap the values at those points. Wesearch for the potential solution in two regions: first we search
in the region of strings created by the above first method. When
the answer converges to a particular value, we store the
corresponding string in a separate array. Then we proceed with our
search again in the region of strings created by the second
method. Once again, we converge to another string and this string
is compared with the string which was initially stored in a
separate array. The minimum of these two (the one with lesser
function value) is selected as the final answer.The important parameters affecting simulated annealing are the
number of iterations (m) at each step and the cooling schedule.
The total number of iterations is proportional to m as well as the
rate of change of temperature. The cooling schedule is based on
Newtons law of cooling. This model of cooling can be compared to
the discharge of an initially charged capacitor in a RC circuit as
they both follow exponential decay law. For all practical
purposes, it is assumed that the capacitor is fully discharged att=5*RC. Hence, in our schedule we also ran our program from
Tmax=700 to Tmin around 700*exp (-5), keeping the number of
iterations m fixed (=50). Tmax is generally computed by
calculating the average of function values at several points. The
program was run on a standard desktop with processor Intel Pentium
-
7/31/2019 Algorithm ABC
8/74
4, 2.40 GHz and the test case considered was the one given in [1].
The results obtained have been plotted as shown in figure 3 as
shown below:800850900950100013579111315 iteration number (taken at
an interval of 200 iterations)cost (function)
valueTmax=700,Tmin=4.5Tmax=700,Tmin=5Tmax=700,Tmin=7 Figure 3.Program run for various schedules (m constant)
The average time taken was 0.051s. Now m at each step was changed,
decreasing it from an initial value of 100 till a minimum value
(=20 in our case) was reached. It was observed that the program
converged to the minimum value at lesser total number of
iterations. This is shown below:
800850900950100012345678iteration number (taken at interval of 200
iterations)cost (function)
valueTmax=700,Tmin=4.5Tmax=700,Tmin=5Tmax=700,Tmin=7 Figure 4.
Program run for various schedules (m varying)
Reference [1] reports to have solved the above test problem
in 0.09s of IBM 370/168 time. The problem was also coded in AMPL
with MINOS 5.5 as the solver and it took 0.03125s on the standard
desktop mentioned earlier. While solving the problem using Genetic
Algorithm, the average time taken was 0.01s while the time taken
for solving it using Simulated Annealing was 0.05s (The time was
noted on a standard desktop with processor Intel Pentium 4, 2.40GHz).
IV. CONCLUSION
An experimental investigation into solving the Assignment model
using Genetic Algorithm and Simulated Annealing is presented.
Various parameters affecting the algorithms are studied and their
influence on convergence to the final optimum solution is shown.
ACKNOWLEDGMENT
The Authors would like to thank Dr. Sanjeev Sinha, Asst.
professor, Dept. of Mechanical Engineering, MNNIT, India for his
invaluable advice and guidance. The Authors would also like to
thank their friends with whom they discussed their ideas which
sometimes led to many new insights.
REFERENCES
-
7/31/2019 Algorithm ABC
9/74
[1] Billy E. Gillett,Introduction to Operations Research A Computer-
Oriented Algorithmic Approach.Tata McGraw-Hill Publishing Company
Limited, New Delhi (Copyright 1976 by McGraw-Hill, Inc., New
York), TMH EDITION 1979, ch. 3, ch.4.
[2] Goldberg, D.E.,Genetic Algorithms in Search, Optimization, and MachineLearning.Reading, Mass.: Addison-Wesley, 1989.
[3] Kalyanmoy Deb,Optimization for Engineering Design Algorithms and
Examples.Prentice-Hall of India Private Limited, New Delhi, 1995,
ch. 6.
[4] Fred Glover, Gary A. Kochenberger, Ed.HANDBOOK OF
METAHEURISTICS.2003 Kluwer Academic Publishers New York,
Boston, Dordrecht, London, Moscow (Print ISBN: 1-4020-7263-5,
ebook ISBN: 0-306-48056-5).[5] Kirkpatrick, S., Gelatt, Jr., C.D. and Vecchi, M.P. (1983)
Optimization by simulated annealing,Science, 220, 671-680.
-
7/31/2019 Algorithm ABC
10/74
AbstractSelecting the routes and the assignment of link flow
in a computer communication networks are extremely complex
combinatorial optimization problems. Metaheuristics, such as genetic
or simulated annealing algorithms, are widely applicable heuristic
optimization strategies that have shown encouraging results for a
large number of difficult combinatorial optimization problems. This
paper considers the route selection and hence the flow assignment
problem. A genetic algorithm and simulated annealing algorithm are
used to solve this problem. A new hybrid algorithm combining the
genetic with the simulated annealing algorithm is introduced. A
modification of the genetic algorithm is also introduced.
Computational experiments with sample networks are reported. The
results show that the proposed modified genetic algorithm is efficient
in finding good solutions of the flow assignment problem compared
with other techniques.
KeywordsGenetic Algorithms, Flow Assignment, Routing,
Computer network, Simulated Annealing.
I. INTRODUCTION
ETWORK design is a fundamental problem with a large
scope of applications that have given rise to many
different models and solution approaches [6], [10]. The
general network design problem involves the minimization of
-
7/31/2019 Algorithm ABC
11/74
a cost objective function over a lot of design variables, such
as link capacities, flow assignment, network topology, and
node locations. This problem belongs to the class of
combinatorial problems. Efficient solutions to this problem
are much sought after because such solutions could lead to
better utilization of the networks. The traditional Lagrange
relaxation and sub-gradient optimization methods can be used
for tackling this problem. The results generated by these
methods are locally optimal instead of globally optimal [7].
The flow assignment (FA) problem focuses on assigning the
traffic requirements on the best routes used by nodes in the
network in order to ensure an acceptable performance level at
a minimum cost.
For solving the FA problem, we consider different
approaches. The first one uses the genetic algorithm (GA).
The second approach uses the simulated annealing algorithm
(SA).
Tarek M. Mahmoud is with the Computer Science Dept., Faculty of
Science, Minia University, El-Minia, Egypt (e-mail: [email protected]).
The third approach combines GA with simulated annealing
(SA) to improve the performance of the GA. In the fourth
approach, a new modification of the GA is introduced.
-
7/31/2019 Algorithm ABC
12/74
GAs have gained considerable attention in recent years for
solving various combinatorial optimization problems. It is an
evolutionary technique that simulates the process of natural
evolution and applies genetic search operators like
recombination, mutation, and selection to a sequence of
alleles. The sequence of alleles is the equivalent of a
chromosome in nature. GA can be used to solve variety of
different problems using a survival of the fittest idea [4], [8].
SA is a metaheuristic algorithm derived from thermodynamic
principles. It has recently turned out to be one of the most
powerful tools for solving hard combinatorial problems [5],
[9].
The remainder of the paper is organized as follows. In
section 2, the FA problem is formulated. Section 3 gives a
review of both the GA and SA. The implementation of the
GA and SA for solving the FA problem is given in section 4
and 5. The hybrid genetic-simulated annealing algorithm to
solve the FA problem is given in section 6. In section 7, a
modification of the GA is introduced. The results of
computational experiments are presented in section 8. Section
9 concludes and summarizes the main results obtained in this
paper.
-
7/31/2019 Algorithm ABC
13/74
II. PROBLEM DESCRIPTION AND FORMULATION
A computer network can be modeled as an undirected
graph G = (N, L), in which the sets of nodes N and links L
represent computer sites and communication cables,
respectively. There are communication demands between n
different nodes. The demands are specified by an n x n
demand matrix M = (mij), where mij is the amount of traffic
required between ni and nj. The arrival rate on each link (i, j)
is denoted by ij and is expressed in the same units as
capacity Cij.
The flow assignment problem (FA) can be described as
follows: given the network topology, the traffic requirement
(OD matrix), and the link capacities, minimize the average
time delay of messages by selecting the route such that traffic
requirements are satisfied. Once the route is decided, the
flows are sent along this route from origin node (O) to
A Genetic and Simulated Annealing Based
Algorithms for Solving the Flow Assignment
Problem in Computer Networks
Tarek M. Mahmoud
N
World Academy of Science, Engineering and Technology 27 2007
-
7/31/2019 Algorithm ABC
14/74
360
destination node (D). In this paper, as in most previous work
in the literature [7], [10], and [11] we make several
simplifying assumptions. We assume that nodes have
practically unlimited buffers to store messages and the arrival
process of messages to the network follows a Poisson
distribution. The computer network can be modeled as a
network of independent M/M/1 queue in which links are
treated as servers with service rates proportional to the link
capacities [1]. The queuing and transmission delay in link ij is
given by:
ij ij
ij C
T 1
= (1)
where ij C is the capacity of link ij in bits per second, ij is
the arrival rate of messages to link ij, and1 is the expected
message length. Using the above notation, the expected
network delay is given by:
-
7/31/2019 Algorithm ABC
15/74
=
ij L
r R
r
r
ij ij ij
r R
r
r
ij ij
C x
x
T 1
(2)
where
-
7/31/2019 Algorithm ABC
16/74
is the total arrival rate of messages in the network,
L is the index set of links in the network,
R is the index set of candidate routes,
r
ij is an indicator function, which is 1 if link ij is used in
route r and is 0 otherwise,
r x is a decision variable which is 1 if route r is selected for
message routing and 0 otherwise.
The FA problem is then to assign the traffic demand on a
route r from R for each nodes pair, which can satisfy the
following condition:
= =
-
7/31/2019 Algorithm ABC
17/74
ij L
r R
r
r
ij ij ij
r R
r
r
ij ij
C x
x
D min T 1
(3)
subject to:
x , ij L C 1
r R
r
r
-
7/31/2019 Algorithm ABC
18/74
ij ij ij
(4)
=x 1, P r
r SP
(5)
= r x {0,1},rR (6)wherep S is the index set of candidate routes for commodity
p, and is the index set of communicating
source/destination pairs in the network. The first constraint
ensures that the flow on each link does not exceed its
capacity, while selection of exactly one route per commodity
is ensured by the second and third constraints.
III. REVIEW OF GENETIC AND SIMULATED ANNEALING
ALGORITHMS
In recent years, genetic algorithms (GAs), which based on
the idea of natural selection and survival of the fittest, have
been applied with a high degree of success to a variety of
problems [3], [7]. GAs are search techniques for global
-
7/31/2019 Algorithm ABC
19/74
optimization in a complex search space. Search space in GA
is composed of possible solutions to the problem. A solution
in the search space can be represented by a sequence of 0s
and 1s, integers, or any other type from which a specific
solution can be deduced. This solution string is referred to as
the chromosome in the search space. Each chromosome has
an associated objective value called the fitness value. The
fitness of a chromosome corresponds to its ability to survive
and reproduce offspring. A good chromosome (that has good
chance to survive) is the one that has a high/low fitness value
depending upon the problem (maximization/ minimization). A
set of chromosomes and associated fitness values are called
the population. This population at a given stage of the GA is
referred to as generation. The general GA has the following
elements:
A solution encoding (representation).
A mechanism to generate initial solutions
(population) from where the iterative search will
proceed.
An evaluation function (fitness function) to rate
solutions from a current population.
Perturbation operators to create new solutions from a
-
7/31/2019 Algorithm ABC
20/74
current population.
Assignment to the parameters of the algorithm, and
Stopping criteria.
Creating new population from a given current population
can be achieved by shuffling two randomly selected
chromosomes. This process is called crossover. Sometimes
one or more bits of a chromosome are complemented to
generate a new offspring. This process of complementation is
called mutation. The GA can be summarized as follows:
Step 1: Initialize population
Step 2: Evaluate population
Step 3: Repeat Steps 4, 5, and 6 while termination criterion
not reached
Step 4: Select parent chromosomes for next population
Step 5: Perform crossover and mutation
Step 6: Evaluate population
Simulated annealing algorithm (SA) is a general-purpose
optimization technique and has been applied to many
combinatorial optimization problems [5], [9]. The main idea
behind SA is an analogy with the way in which liquids freeze
and crystallize. When liquids are at a high temperature their
molecules can move freely in relation to each other. As the
-
7/31/2019 Algorithm ABC
21/74
liquid's temperature is lowered, this freedom of movement is
lost and the liquid begins to solidify. If the liquid is cooled
slowly enough, the molecules may become arranged in a
crystallize structure. The molecules making up the crystallize
World Academy of Science, Engineering and Technology 27 2007
361
structure will be in a minimum energy state. If the liquid is
cooled very rapidly it does not form such a crystallize
structure, but instead forms a solid whose molecules will not
be in a minimum energy state. The fundamental idea of SA is
therefore that the moves made by an iterative improvement
algorithm are like the re-arrangement of the molecules in a
liquid that occur as it is cooled and that the energy of those
molecules corresponds to the cost function which is being
optimized by the iterative improvement algorithm. Thus, the
SA aims to achieve a global optimum by slowly convergence
to a final solution, making downwards moves with occasional
upwards moves and thus hopefully ending up in a global
optimum. SA can be described formally as follows: start from
a random solution. Given a solution Sc, select a neighboring
solution Sn and compute the difference in the objective
function values,f f(S ) - f(S ). n c = If the objective
-
7/31/2019 Algorithm ABC
22/74
function is improved (f< 0 ), then replace the current
solution by the new one. Iff0 , then accept a move with
probability p(f) = exp(-f/T) , where Tis the control
parameter or temperature. This probabilistic acceptance is
achieved by generating a random number in [0, 1] and
comparing it against the threshold exp(-f/T). If
exp(-f/T) is greater than the generated random number
then replace the current solution by the new one. The
procedure is repeated until a stopping condition is satisfied.
The SA can be summarized as follows:
Step 1: Initialize temperature T at random, and set a cooling
rate.
Step 2: Initialize initial solution Sc at random.
Step 3: Evaluatef(Sc).
Step 4: Repeat steps 5, 6, 7, and 8 while termination condition
not satisfied.
Step 5: Select a solution Sn in the neighborhood ofSc at
random.
Step 6: Set ( n ) ( c )f=f Sf S {Compare the change in
objective function}
Step 7: Iff 0 then
-
7/31/2019 Algorithm ABC
23/74
ScSn {Sn replaces Sc}
Else
If exp(-(f)/T) > random (0, 1) then
ScSn
Step 8: Update (T) using the relation T = T, where is the
cooling rate {Cooling step}
IV. IMPLEMENTING THE GA FOR SOLVING THE FLOW
ASSIGNMENT PROBLEM
This section presents an implementation of the GA for
identifying the link flows of the computer network that
satisfies the traffic requirements while satisfying the problem
constraints. Firstly, we describe how the main components of
the GA are implemented to solve the FA problem. Then we
give the overall algorithm used to solve this problem.
A. Genetic Representation
In route selection, and hence flow assignment, each
chromosome represents a routing table which includes a path
list P1, P2, , PN(N-1)/2 that represents the entire network. Each
path Pk is a particular route between two nodes i, j. A path
(route) is encoded as list of integers by listing the nodes from
its source to its destination based on the network topology [4].
If a path cannot be realized on the network, it cannot be
-
7/31/2019 Algorithm ABC
24/74
encoded into a chromosome, which means that each step in a
path must pass through a physical link in the network. The
first gene on the chromosome represents the source node; the
last gene represents the destination node, while other genes
represent intermediate nodes along that path from the source
to the destination.
B. Population Initialization
The initial process is used to compose the routing tables for
all chromosomes in the current generation. Each chromosome
includes a random routing table for a given topology.
C. Evaluation
To evaluate the solution quality of the flow assignment
problem, equation (3) is used as the objective function to
determine the ability of a chromosome to survive and produce
offspring. In our implementation, a route with less average
time delay is frequently employed in sending packets.
D. Selection
The selection (reproduction) operator is intended to
improve the average quality of the population by giving the
high fitness chromosomes (less average time delay) a better
chance to get multiple copies into the next generation,
whereas chromosomes with low fitness (high average time
-
7/31/2019 Algorithm ABC
25/74
delay) have fewer copies or even none at all. Many types of
selection scheme can be used [3]. One of the selection
methods is based on spinning the roulette wheel pop_size
times; each time a single chromosome is selected as a new
offspring, where pop_size denotes the population size. The
steps of this selection method are as follows [8]:
Step 1: Calculate the fitness valuef(vi) for each chromosome
vi (i=1, , pop_size).
Step 2: Find the total fitness of the population
=
=
pop_size
i 1
i Ff(v )
Step 3: Calculate the probability of the selection pi for each
chromosome vi where
p (v ) / F i i =f, i = 1, 2, , pop_size
Step 4: Calculate a cumulative probability qi for each
chromosome vi where
=
=
i
-
7/31/2019 Algorithm ABC
26/74
j 1
i j q p , i = 1, 2, , pop_size
Step 5: Generate a random number r from the range (0, 1).
Step 6: If r
-
7/31/2019 Algorithm ABC
27/74
should have the same source and destination nodes. Crossing
sites for the path crossover operator are limited to nodes
contained in both paths. A node is randomly selected as a
crossing site from the potential crossing sites and exchanges
subroutes. When applying the crossover operator to a pair of
paths P1 and P2, the operation proceeds according to the
following algorithm [4]:
Step 1: List up a set of nodes Nc included in both P1 and P2
(excluding source and destination nodes) as potential
crossing sites.
Step 2: Select a node i as a crossing site from the Nc.
Step 3: Crossover the paths by exchanging all nodes after the
crossing site i.
Fig. 1 shows an overview of the crossover operator
applying for a pair of paths P1 and P2 from node 1 to node 4.
Their potential crossing sites is node 3. When we select node
3 as a crossing site, the new offspring are generated by
exchanging the subroutes as shown in the figure below.
Path P1 1 5 3 4
Path P2 1 3 2 4
Child P1 1 5 3 2 4
Child P2 1 3 4
-
7/31/2019 Algorithm ABC
28/74
Fig. 1 Example of crossover
F. Mutation Operator
The path mutation is another genetic operator, which is
applied to a randomly selected single solution (chromosome)
from the population with a certain probability. It makes small
random changes in the solution. These random changes will
gradually add some characteristics to the population, which
could not be supplied by the crossover operator. Similar to the
crossover operator, the application of the mutation operator is
governed by a mutation probability Pm. In each generation,
the mutation operator is also tried pop-size times and thus, the
expected number of mutated chromosomes is Pm* pop-size.
To perform a mutation in the FA problem, a node is
randomly selected from the path, which is called a mutation
node. Then another node is randomly selected from the nodes
directly connected to the mutation node. If any duplication of
nodes exists in the offspring path, then this path can be
discarded. The path mutation operator can be described as
follows [4]:
Step 1: Select mutation node i randomly from all nodes in
parent V.
Step 2: Select a node j from the neighbors of the mutation
-
7/31/2019 Algorithm ABC
29/74
node i.
Step 3: Generate a random path from the source to node j, and
another random path from node j to the destination node.
Step 4: If any duplication of nodes exists in the offspring
path, discard the routes and do not perform mutation.
Otherwise the routes are connected to make up a mutated
path.
G. Overall Algorithm
The GA algorithm used to solve the flow assignment
problem can be described as follows:
Step 1: Input all kinds of data of the problem (network
topology, OD matrix, and link capacities) and the
controlling parameters of the algorithm (crossover
and mutation probability, population size, and
generation number).
Step 2: Randomly generate initial population, where each
chromosome in the population represents a routing
table for the given network.
Step 3: For each OD pair, assign the flow between the origin
O and the destination D on the route connecting
them, then compute the fitness of every chromosome
in the current population using equation (3). Save the
-
7/31/2019 Algorithm ABC
30/74
best chromosome.
Step 4: Select the best chromosomes (routing tables) using
the roulette wheel method.
Step 5: Perform the crossover and mutation operations to get
a new population.
Step 6: Repeat steps 3 5 until the termination condition is
met.
Note that, the termination condition is met either after a
specified number of generations or no improvement occurs on
the best solution for successive generations. In our
implementation, a specified number of generations are used as
a termination condition.
V. IMPLEMENTING THE SA FOR SOLVING THE FLOW
ASSIGNMENT PROBLEM
Using SA for solving the FA problem requires the
determination of an initial feasible solution. In our
implementation, we used the population initialization step of
the GA, discussed in section III, to get an initial feasible
solution. Thus, the initial solution includes a random routing
table for each source-destination pair of a given network. The
selecting of a solution in the neighborhood of the initial
solution can be obtained by changing randomly one or more
-
7/31/2019 Algorithm ABC
31/74
links of the route from the source to the destination. As in the
World Academy of Science, Engineering and Technology 27 2007
363
implementation of GA for solving the FA problem, equation 3
is used to compute the value of each candidate solution for the
problem.
VI. HYBRID GENETIC-SIMULATED ANNEALING ALGORITHM
APPROACH (HGSA)
The HGSA algorithm combines both the GA and SA
algorithms to solve the FA problem. This combination occurs
in the selection process of the GA algorithm. A SA-selection
[2] is used to choose a single candidate solution between the
best of the two parents, offspring, and best solution of the
generations. The selection function SA-selection(offspring[i],
parent[i], best solution, T[i]) is defined, which applies the
traditional SA function SA(a, b, T) multiple times to identify
the single surviving candidate, where i in the SA-selection
function indicates the index of the new individual. The
function SA(a, b, T) calculates the acceptance probability
P = exp(- (f(a) - f(b))/T), where f(x) is the cost function of a
candidate x. As mentioned in section 3, if f(a) f(b), then
candidate a will be selected. If f(a)>f(b) and P > random
-
7/31/2019 Algorithm ABC
32/74
number in [0, 1), then candidate a will be selected too. Except
these cases, candidate b will be selected. All possible cases of
this selection process are represented in Table 1. In this SAselection
function, offspring[i] and parent[i] are compared
with each other, then with best solution. To illustrate the
selection cases given in Table I, consider case 1, where
offspring[i] is accepted over both parent[i] and best solution,
but parent[i] is accepted over best solution. Hence,
offspring[i] is accepted and returned.
The HGSA algorithm for solving the FA problem has the
following steps:
Step 1: Input all kinds of data of the problem (network
topology, OD matrix, and link capacities) and the controlling
parameters of the algorithm (crossover and mutation
probability, population size, and generation number, and
cooling rate).
Step 2: Randomly generate initial population, where each
chromosome in the population represents a routing table for
the given network.
Step 3: For each individual i randomly generate an initial
temperature T[i].
Step 4: For each OD pair, assign the flow between the origin
-
7/31/2019 Algorithm ABC
33/74
O and the destination D on the route connecting them, then
compute the fitness of every chromosome in the current
population.
Step 5: Save the current population as the parent population.
Step 6: Perform the crossover and mutation operations to get
the offsprings.
Step 7: Find the best routing table among the parents,
offsprings, and current best solution, and then update the best
solution.
Step 8: For each individual of the population do
Find the i-th chromosome between parent, offspring,
and best solution according to the processes given in
Table I.
i-th chromosome = SA-selection(offspring[i],
parent[i], best solution, T[i])
Update the fitness function of the i-th chromosome.
Set T[i] = T[i] x cooling rate
End for
Step 9: Repeat steps 4 8 until termination condition met.
VII. A MODIFIED GENETIC ALGORITHM APPROACH (MGAA)
As mentioned earlier, the selection operator is intended to
improve the average quality of the population and many types
-
7/31/2019 Algorithm ABC
34/74
of selection scheme can be used. Calling the selection process
for each generation increases the algorithm complexity. We
can ignore this process and perform the reproduction process
directly on the current population. In the MGAA, we generate
the initial population randomly. In each generation, the new
population consists of offsprings produced from mating
individuals from the current population and possibly some
individuals from the current population. The parents are
selected for crossover and mutation according to the
crossover and mutation probability. If the fitness value of the
offspring has a better value than one or both of its parents
then this offspring is accepted in the new population.
Otherwise, mate the best of the two parents with another
parent. In the later case, we can change the crossover point
instead of replacing one of the parents. This step guarantees
that the new population contains always the best
chromosomes. Applying the traditional crossover process to
generate new offspring is not always guaranteed to produce
good chromosomes.
The MGAA can be summarized as follows:
Step 1: Initialize population
Step 2: Evaluate population and save the best chromosome.
-
7/31/2019 Algorithm ABC
35/74
Step 3: Repeat Steps 4 and 5 while termination criterion not
reached
Step 4: Perform crossover and mutation
Step 5: Evaluate population and update the best chromosome.
It is clear that; the selection step in the genetic algorithm
given in section 4 is eliminated. This modification speeds up
the GA and guarantees that the reproduction step always
produces good offsprings.
VIII. EXPERIMENTAL RESULTS AND DISCUSSION
In this section, we present a comparison between the
performance of the four approaches GA, SA, HGSA, and
MGAA. These algorithms were implemented in C++. The
results presented in this section are obtained from simulations
on 2 sample networks. The topologies of these networks are
as shown in Fig. 2 and 3.
Fig. 2 A network example with 10 nodes and 36 links
1
2
3
4
5
6
-
7/31/2019 Algorithm ABC
36/74
7
8
9 10
World Academy of Science, Engineering and Technology 27 2007
364
Fig. 3 A network example with 15 nodes and 38 links
In the network topology given in Fig. 2, node 10 is a
geosynchronous satellite. All links are full duplex. The
capacity of each terrestrial link is 38.4 kb/s and that of each
satellite link is 50 kb/s. Each of the six satellite links is
assumed to introduce a propagation delay of 125 ms. All link
capacities in the second network topology are 50 kb/s. To
handle the situation of overflow, the terms of the objective
function given in equation 3 are replaced with the following
terms [12]:
+
+
-
7/31/2019 Algorithm ABC
37/74
=
( 0.99 ) .T (0.99 ) otherwise
2
1
T (0.99 ) ( 0.99 ).T (0.99 )
T ( ) if 0 0.99
T
ij ij
2
ij ij
ij ij ij ij ij ij
ij ij ij ij
ij
where ij ij T and T are the first and second derivatives of the
objective function respectively.
The traffic matrix for the nodes of the first network
example with 10 nodes and the second network example with
15 nodes is given in Table II and III.
-
7/31/2019 Algorithm ABC
38/74
The SA algorithm was applied using the following
parameters:
The initial temperature of the process selected
randomly in the range (0..1)
The cooling coefficient was 0.99
The genetic parameters are chosen as follows:
The population size is 10.
The crossover probability is 0.35.
The mutation probability is 0.01.
The computer simulation results generated by the GA, SA,
HGSA, and MGAA for the two network topologies given in
Figs. 2, 3 are shown in Figs. 4, 5. The figures show the
relation between the number of generations and the fitness
(average time delay) values for the FA problem. As can be
seen from Fig. 4 and 5, MGAA is better than GA, HGSA, and
SA algorithms.
According to the simulation results, the hybridization
between SA and GA improves the performance of the GA in
solving the FA problem. It is clear also that SA is better than
GA in solving the FA problem. As mentioned above, the
MGAA has another advantage than the traditional GA. The
time used in the selection process either using the roulette
-
7/31/2019 Algorithm ABC
39/74
wheel discussed in section IV.D or any other selection
method is saved. Our implementation of the MGAA applies in
the reproduction step one-cut point crossover.
0,001
0,021
0,041
0,061
0,081
0,101
100 200 300 400 500 600 700 800 900 1000
Generation number
F itn e s s
GA
HGSA
SA
MGAA
Fig. 4 Comparison chart for fitness values using GA, SA, HGSA and
MGAA for the first network example
0
0,04
0,08
0,12
-
7/31/2019 Algorithm ABC
40/74
0,16
0,2
100 200 300 400 500 600 700 800 900 1000
Generation number
F itn e ss
GA
HGSA
SA
MGAA
Fig. 5 Comparison chart for fitness values using GA, SA, HGSA and
MGAA for the second network example
IX. CONCLUSION
In this paper, we studied the route selection and flow
assignment in computer networks, and the use of a genetic
algorithm and simulated annealing algorithm for solving the
problem. To improve the performance of the genetic
algorithm, hybridization between the genetic and the
simulated annealing algorithm is introduced. A modification
of the genetic algorithm is also introduced.
We have compared the performance of the four algorithms
in solving the route selection and flow assignment problem.
Our experimental results showed that the proposed modified
-
7/31/2019 Algorithm ABC
41/74
genetic algorithm provided better solutions than the
traditional genetic, simulated annealing, and hybrid geneticsimulated
annealing algorithms.
For the same problem, the simulated annealing and its
hybridization with the genetic algorithm have better results
than the traditional genetic algorithm. The modified genetic
algorithm can be used in any problems to which the genetic
algorithm approach is applicable. Further modifications of the
initial population step can improve the performance of the
genetic algorithm. Instead of generating the initial population
randomly, we can use any method to generate only better
chromosomes.
REFERENCES
*1+ D. Berttsekas, and R. Gallager. Data Networks, Second Edition,
Prentice Hall, Englwood Cliffs, New Jersey (1992).
[2] H. Chang, and P. Jung, "SA-selection-based Genetic Algorithm for the
Design of Fuzzy Controller", International Journal of Control,
Automation, and Systems, Vol. 3, no. 2, pp. 236-243, June (2005).
[3] W. Chang and R. S. Ramakrishna, "A genetic algorithm for shortest path
routing problem and the sizing of populations", IEEE Transaction on
Evolutionary Computation, Vol.6, No. 6, December (2002).
[4] M. Gen and R. Cheng, "Genetic algorithms and engineering
-
7/31/2019 Algorithm ABC
42/74
optimization", John Wiley&Sons, Inc., (2000).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
World Academy of Science, Engineering and Technology 27 2007
365
[5] Y.,Habib, M. Sait and H. Adiche, "Evolutionary algorithms, simulated
annealing and tabu search: a comparative study", Engineering
Applications of Artificial Intelligence 14, pp. 167-181, (2001).
[6] K. Ko, K. Tang, C. Chan, K. Man and S. Kwong, "Using genetic
-
7/31/2019 Algorithm ABC
43/74
algorithms to design mesh networks", IEEE Computer, pp 56-61,
(1997).
[7] X. Lin, Y. Kwok and V. Lau, A genetic algorithm based approach to
route selection and capacity flow assignment, Computer
Communications 26, pp 961-974, (2003).
[8] Z. Michalewicz, "Genetic algorithms + data structure = evolution
programs", 3rd edition, Springer Verlag, New York, USA, (1996).
[9] P. Mills, E. Tsang, Q. Zhang and J. Ford, "A survey of AI-based metaheuristics
for dealing with local optima in local search", Technical
Report Series, Report No. CSM-416, September (2004).
[10] J. Shen, F. Xu and P. Zheng,"A tabu search algorithm for routing and
capacity assignment problem in computer networks", Computers &
Operations Research 32, pp 2785 2800, (2005).
[11] K. Walkowiak, "Ant algorithm for flow assignment in connectionoriented
networks", International Journal of Applied Mathematics and
Computer Science, 15, pp 205-220, (2005).
[12] Z. Wang, D. Browning, "An Optimal Distributed Routing Algorithm",
IEEE Transaction on Communication, vol.39, no. 9, (1991).
TABLE II
TRAFFIC REQUIREMENT OF THE FIRST NETWORK EXAMPLE WITH 10 NODES
1 2 3 4 5 6 7 8 9 10
1 0 5 5 0 0 5 0 10 0 0
-
7/31/2019 Algorithm ABC
44/74
2 5 0 10 5 5 3 0 10 0 0
3 5 10 0 5 0 3 5 5 20 0
4 0 5 5 0 5 0 5 5 5 0
5 0 5 0 5 0 5 0 0 5 0
6 5 3 3 0 5 0 0 0 5 0
7 0 0 5 5 0 0 0 5 0 0
8 10 10 5 5 0 0 5 0 5 0
9 0 0 20 5 5 5 0 5 0 0
10 0 0 0 0 0 0 0 0 0 0
TABLE III
TRAFFIC REQUIREMENT OF THE SECOND NETWORK EXAMPLE WITH 15 NODES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 1
0 3 0 0 5 0 8 0 3 0 6 0 4 0
2 1
0 0 8 5 0 4 10 0 0 5 0 7 0 0 9
3 3 8 0 0 6 8 0 2 0 5 0 8 0 5 0
4 0 5 0 0 10 9 0 3 0 6 0 4 0 0 2
5 0 0 6 10 0 0 5 6 0 3 0 6 8 10 0
6 5 4 8 9 0 0 5 0 7 7 4 3 0 0 5
7 0 1
0 0 0 5 5 0 5 2 4 0 7 0 8 0
-
7/31/2019 Algorithm ABC
45/74
8 8 0 2 3 6 0 5 0 11 12 0 5 0 8 0
9 0 0 0 0 0 7 2 11 0 10 0 10 0 4 0
10 3 5 5 6 3 7 4 12 10 0 5 0 5 5 0
11 0 0 0 0 0 4 0 0 0 0 0 4 0 7 0
12 6 7 8 4 6 3 7 5 10 0 2 0 5 2 5
13 0 0 0 0 8 0 0 0 0 5 0 5 0 5 5
14 4 0 5 0 10 0 8 8 4 5 7 2 5 0 8
15 0 9 0 2 0 5 0 0 0 0 0 5 5 8 0
TABLE I
SA-SELECTION FUNCTION FOR CHOOSING THE SURVIVING SOLUTION AMONG
OFFSPRING, BEST SOLUTION, AND PARENT
SA-selection(offspring[i], parent[i], best solution, T[i])
Case
SA(offspring[i],
parent[i], T[i])
SA(offspring[i],
best solution, T[i])
SA(parent[i],
best solution, T[i])
return
1 offspring[i] offspring[i] parent[i] offspring[i]
2 offspring[i] offspring[i] best solution offspring[i]
-
7/31/2019 Algorithm ABC
46/74
3 offspring[i] best solution parent[i] offspring[i]
4 offspring[i] best solution best solution best solution
5 parent[i] offspring[i] parent[i] parent[i]
6 parent[i] offspring[i] best solution offspring[i]
7 parent[i] best solution parent[i] parent[i]
8 parent[i] best solution best solution best solution
World Academy of Science, Engineering and Technology 27 2007
366
-
7/31/2019 Algorithm ABC
47/74
53
Genetic Algorithmic Approach to Generalized
Assignment Problems in Conjunction with
Supply Chain Optimization : A Survey
One of the fundamental Combinatorial Optimisation Problems is the Generalised
Assignment Problem
(GAP). Several Operations Research experts, researchers, academicians,
industrialists tried to optimise
the cost related functions with source and destination in various assignment
problems like Machine
Learning Problem, Machine Assignment Problem, Traveling Salesman Problem,
Supplier Assignment
Problem, Scheduling Problem etc. In the recent years, Genetic Algorithms are
used in most of the fields of
Manufacturing Management / Supply Chain Management and Optimisation.
Several researchers studied
and analysed the GAP through the classical Lexi Search, Branch and Bound
approaches and later by
algorithms like Ant Colony, Particle Swarm, Bee Colony, Simulated Annealing, and
heuristics methods of
optimisation. It was followed by the study of Genetic Algorithm approach in
solving the GAP.
In this paper, an attempt is made with an analytic review of the literature on the
Genetic Algorithmic
-
7/31/2019 Algorithm ABC
48/74
approach to GAP, which is proved to be convenient and efficient in deriving the
required solutions. The
outcome of this survey proves to be very handy for the researchers / practitioners
that the tailor made
Genetic Algorithm is of potential use to simulate the possible solutions and for
manufacturing segments
like Single Product Manufacturer, Multi Product Manufacturer, Multi Objective
Optimisation,
Outsourcing, Multiple Supplier, Partner Selection and so on, in terms of Supplier
Assignment Cost,
Manufacturing Cost, Time Bounded Assignment which leads to Supply Chain
Optimisation.
Key Words: Generalised Assignment Problem, Genetic Algorithm, Supply Chain
Management,
Optimisation
Introduction care of the logistics, distribution of various products
at multi product manufacturer level and the last
In the present global market scenario the module, 4. The customer module, which
reflects the
manufacturer is facing many challenges and one performance of the above
modules in chain like
such is meeting the demand which is uncertain and fashion which should result in
the customer delight
even after meting this requirement, subsequent and satisfaction.
supply of spare parts is once again an uncertain
-
7/31/2019 Algorithm ABC
49/74
commodity. To overcome this, the concept called Mishra[25] defines the concept
of Supply Chain
Supply Chain Management (SCM) was evolved to Management as a business
process as depicted in the
the rescue of many manufacturers with its figure 1. The very essence right from
the
outstanding solutions at every link level in the manufacturer to customer delight
every stage of the
supply chain. Basically the Supply Chain defined supply chain is to be optimised to
its
Management can be viewed in four different corresponding constraints so as to
establish a
modules vis., 1.Supplier Management, which prcised processes and which leads
to the Supply
includes various aspects like supplier relation, Chain Optimisation concept which
was discussed
supplier selection, and material selection at different by Romero Morales [30].
stages etc., 2. The producer module, which discusses
about the order, inventory and manufacturing In Supply Chain Management
utmost care is to be
managements (including the assembly line exercised between the suppliers
manufacturer tie up
balancing), 3. The wholesaler module, which takes with regard to meeting the
required specifications. It
V.Kalyan Chakravarthy, Dr.V.V.Venkata Ramana & Dr. C.Umashankar
-
7/31/2019 Algorithm ABC
50/74
54
is at this stage assigning the supplier to a of orders, any supplier can be assigned
to perform
manufacturer based on the requirement is the any order in the supplier
manufacturer module of
management problem in the sense to assign the best SCM, incurring some cost
that may vary depending
of the supplier to a manufacturer(s) which gives rise on the supplier order
assignment. It is required to
to an exiting Assignment Problem through Supply perform all orders by assigning
exactly one supplier
Chain, visualising this concept the Generalised to each order in such a way that
the total cost of the
Assignment criteria has been evolved to Supply assignment is minimum.
Chain Management, which leads the analyst to
suggest novel procedures in optimising the supplier To minimise the total cost,
the GAPis considered to
assignments to different manufacturers is the study at supplier manufacturer
module of SCM in
concept of application of assignment problems in detail through Genetic
Algorithmic approach.
Supply Chain Management. It is at this juncture felt
necessary to establish the supplier producer link
level relation [24] which is briefly explained in
-
7/31/2019 Algorithm ABC
51/74
figure 2. Generally the initial consideration of Genetic Algorithms [40] were
invented to mimic
Supply Chain Management is to choose the best of some of the processes
observed in the natural
the available suppliers considering its evolution. Many people, biologists included,
are
corresponding cost relate to the manufacturer, lead astonished that life at the
level of complexity that
time reduction, shipping, delivery date we observe could have evolved in the
relatively
commitment, customer satisfaction, supply in right short time suggested by the
fossil record. The idea
time, right quality with right quantity at the right with GA is to use this power of
evolution to solve
location. This necessitated the researcher to study optimisation problem. The
father of the original GA
and establish different modeling aspects of Supply is John Holland, who invented
in the early 1970s.
Chain Management in choosing the best of the
supplier pave way for different types of Assignment Genetic Algorithms are
Adaptive Heuristic Search
Problems like Classical, Continuous, Quadratic and Algorithms, based on the
evolutionary ideas of
Discrete which can be used in optimising the natural selection and genetics. As
such they
supplier producer assignment. represent an intelligent exploitation of a random
-
7/31/2019 Algorithm ABC
52/74
search used to solve optimisation problems.
The information on the application of algorithmic Although randomised, Genetic
Algorithms are by
aspects revealed fact that initially the Lexi Search, no means random, instead they
exploit historical
Branch and Bound, Simulated Annealing, information to direct the search into the
region of
Heuristics etc., are applied and later by the Genetic better performance within the
search space. The
Algorithms. Compared to the different algorithmic basic techniques of the Genetic
Algorithms are
aspects of application, for certain reasons the designed to simulate processes in
natural systems
Genetic Algorithmic approach is proved to be an necessary for evolution;
especially those follow the
efficient method, for which reason the author is principles first laid down byCharles Darwin of
fascinated to study, probe and to report the Supply Survival of the Fittest. Since,
in nature,
Chain Optimisation problem solving methods competition among individuals for
scanty resources
through the application of GAP with Genetic results in the fittest individuals
dominating over the
Algorithmic approach which adds to the literature. weaker ones.
The Assignment Problem is one of the fundamental A Genetic Algorithm [13] is an
optimisation
-
7/31/2019 Algorithm ABC
53/74
Combinatorial Optimisation Problems in the branch technique as it can be used to
find the minimum or
of optimisation or Operations Research in maximum of some arbitrary function.
While there
Mathematics. It consists of finding a maximum are a large number of
mathematical techniques for
weight matching in a weighted bipartite graph. accomplishing this, both in general
and for specific
When there are a number of suppliers and a number circumstances, a GA is
unique. It is a stochastic
History and Genesis of Genetic Algorithm (GA)
Gap in Relation to SCM Importance
55
method, and it will find a global minimum, neither programming techniques in the
process of
property being singular. The approach is optimisation. The paper tries to probe
natural
remarkable because it is based on the way that a algorithms in particular with
Genetic Algorithm
population of living organisms grows and evolves, approach on Generalised
Assignment Problems
fitting into their ecological niche better with each towards Supply Chain
Optimisation. The author
generation. tries to focus the pioneering research papers in the
case of applications of algorithms like Branch and
-
7/31/2019 Algorithm ABC
54/74
GAs is different from more normal optimisation and Bound, Lexi search approach,
Tabu Search,
search procedures in four ways: Simulated Annealing for GAP prior to GA. Ross
and Soland *35+ describes the Generalised
1. GAs work with a coding of the parameter set, Assignment Problem as a
generalisation of the
not the parameters themselves. ordinary Assignment Problem of linear
2. GAs search from a population of points, not a programming in which multiple
assignments of
single point. tasks to agents are limited by some resource
3. GAs use pay off (objective function) available to the agents. A Branch and
Bound
information, not derivatives or other auxiliary algorithm is developed that solves
the GAP by
knowledge. solving a series of binary knapsack problems to
4. GAs use probabilistic transition rules, not determine the bounds.
Computational results are
deterministic rules. cited for problems with up to 40000 1 variables and
comparisons are made with other algorithms.
One of the best natural algorithms suits for several Martello and Toth [22]
proposed a typical algorithm
applications of the industry and market and even in for the GAPwhich is
considered as a basic paper by
the analysis of customer delight and satisfaction. many authors. Subsequent his
work, Venkata
-
7/31/2019 Algorithm ABC
55/74
Another form of sensing the Genetic Algorithms Ramana and Umashankar [36]
discussed in detail
[29] is an optimisation and search technique based about the several cases of
Assignment Problems
on the principles of genetics and natural selection. A using LexiSearch algorithm.
Cerny [3] developed a
GA allows a population composed of many Thermo dynamical approach to the
traveling
individuals to evolve under specified selection rules salesman problem with the
help of an efficient
to a state that maximises the fitness (i.e., Simulation algorithm. Branch and
Price algorithm
minimises the cost function). for the GAP developed by Savelsberg [23]
considering the column generation and Branch and
GA Operators: The following operators based on Bound to attain optimal integer
solution. Similarly
natural selection [29] the solution method for solving the k-best Traveling
Reproduction Selects good strings in a Salesman Problem reported by Poort
[11] for
population and forms a mating pool. finding k-best solutions for one of the most
Crossover New strings are created by notorious NP-hard problems, namely
the Traveling
exchanging information among strings of the Salesman Problem(TSP). Osman [26]
in his paper
mating pool. suggested novel heuristic procedures for the GAP
-
7/31/2019 Algorithm ABC
56/74
Mutation does a local search around the and also presented the GAP with
Simulated Annealing and Tabu Search algorithms by
current solution to create a better string demonstrating the different merits and
demerits of
hopefully. Also used to maintain diversity in the the suggested algorithms. Abada
[1] solving a time
population. table problem and presented the solution using Tabu
Search algorithm.
Several researchers / practitioners and Operation
Cattrysse and Wassenhove [10] had conducted a Research experts used variety of
natural method of
Survey of Algorithms on Generalised Assignment algorithms in the process of
optimisation which
Problems, specially based on Branch and Bound lead to satisfying the supplier and
producer module
technique. The authors opined there is a tremendous relation in a Supply Chain.
Of all the algorithmic
change in the applications of several mathematical aspects application to GAP
with particular relation
Survey of Algorithms
56
to SCM, it is observed that still there is a lack of proves that GA solution is a
quality solution. The
mathematical expertise while using different Guided Genetic Algorithm (GGA) is a
hybrid of
-
7/31/2019 Algorithm ABC
57/74
algorithmic approaches. The mathematical Genetic Algorithm (GA) and Meta-
Heuristic
treatment in the application of algorithms is felt by Search Algorithm, Guided
Local Search (GLS). It
many researchers, and at this juncture the reported builds on the framework and
robustness of GA, and
Genetic Algorithm is proved to be very handy for integrating GLS's conceptual
simplicity and
many. Experiencing the novel merits of GA many effectiveness to arrive at a
flexible algorithm well
researchers started the GA application initially to meant for constraint
optimisation problems. Lau,
GAP and as the author focusing this article the Tsang [19] reported on GGA and its
successful
applications of GAP to SCM through GA this application to the GAP.
review is presented which will be useful
information for the practitioners in studying this A constructive Genetic Algorithm
for the GAP is
aspect. An effort is made to present the scanty described by Luiz et.al [20] as a
problem of
available literature on GAusage in conjunction with assigning n items to m
knapsacks, n>m such that
Supply Chain Optimisation in specific. each item is assigned to exactly one
knapsack to
evolve the binary representation and assignment
-
7/31/2019 Algorithm ABC
58/74
An initial survey of GAP through Branch and heuristic is presented through GA
which allocates
Bound technique is reported by Cattrysse and items to knapsacks and many
instances are taken
Wassenhove [10] in finding the minimum cost from the literature by the authors.
assignment of jobs to agents so that each job is
assigned exactly once and agents are not Stephen Chen [34] presented the
traditional
overloaded. The author in his paper opines still advantages and the efficient
based coded
there is lack of representativeness of mathematical algorithmic procedures and
compared to other
treatment in the reported heuristics. Ribeiro et.al algorithmic aspects to conclude
that GA is a new
[18] presented the Genetic Algorithm programming perspective for the
practitioners which can improve
environments into application oriented system, upon the solution methodologies.
Jiyin Liu, Lixin
algorithmic oriented systems and tool kits by Tang [16] proposes a modified
Genetic Algorithm
providing case studies with particular focus to for the single machine scheduling
problem with
biological environment, and confess that GA is the ready times. This algorithm
improves the simple
best of algorithmic approaches. Genetic Algorithm by introducing two new steps:
-
7/31/2019 Algorithm ABC
59/74
(1) a filtering step to filter out the worst solutions in
Genetic Algorithms provide an alternative to each generation and fill in their
positions with the
traditional optimisation techniques by using best solutions of previous
generations; and (2) a
directed random searches to locate optimal selective cultivation step to cultivate
the most
solutions in complex landscapes. Srinivas and promising individual when no
improvement is
Patnaik [33] introduce the art and science of Genetic made for certain
generations. Improvement is also
Algorithms and survey current issues in GAtheory made on the crossover
operation for the problem.
and practice. A new GA for GAP is successfully Computational experiments are
carried out,
evolved by Wilson [37] on a class of set covering comparing the performance ofthe proposed
problems. He has suggested an alternative to algorithm, the simple Genetic
Algorithm and
geometric procedure in improving the feasible special purpose heuristics.
solutions through GA. This GA is also applied to a
set of assignment problems of substantial sise and A Genetic Algorithm method
for one dimensional
compared to an exact integer programming machine location problems is
suggested by Dijin
-
7/31/2019 Algorithm ABC
60/74
approach. Gong et al [9] proposing the design of a generalised
flow line to minimise the backtracking of the jobs
A GA based heuristic for solving the GAP is formulating as a quadratic assignment
problem. He
discussed by Chu and Beasley [5] while presenting also discussed the specific
advantage of application
the problem the author compares the GA with the of GA approach when
compared to different
other existing heuristic algorithms and analytically heuristics.
57
Very interesting teacher assignment problems to procedures and compared the
results from these two
assign various courses to the teachers were dealt by procedures while confirming
the coded GA
the principle of multiple constraints to be solved by procedure is worthwhile than
the other. To solve a
a heuristic. This application problem is very well GAP with imprecise cost (s) /
times (s) instead of
reported and solved using the GAby Yen Zen Wang precise one, a Elitist GA is
applied and many
[39] which results are uniformly accepted by the extensive comparative
computational studies are
teachers of the universities. Application of a GA to performed on different
parameters while
-
7/31/2019 Algorithm ABC
61/74
improve the existing GAP solution is proposed by developing the GA and is
validated through
Juell et.al [28] and his approach proved to be an illustrative procedures is
demonstrated by
optimum solution method and this is being Majumdar and Bunia [21].
demonstrated through numerical illustration.
An Immune Genetic Algorithm (IGA) is used to
An improved Hybrid Genetic Algorithm for the solve Weapon-Target Assignment
Problem (WTA).
GAP to find minimum cost assignment for a set of The used immune system
serves as a local search
jobs to a set of agents is proposed by Feltl et.al mechanism for Genetic Algorithm.
Besides, in our
[15].In this procedure the author suggests the two implementation, a new
crossover operator is
alternative initialisation of heuristics, a modified proposed to preserve good
information contained in
selection and replacement scheme for handling the chromosome. A comparison
of the proposed
infeasible solutions more appropriately, a heuristic algorithm with several existing
search approaches
mutation operator. Further the author authenticates shows that the IGA
outperforms its competitors on
that for the largest and most difficult instances, all tested WTA problems will
presented by Shang
-
7/31/2019 Algorithm ABC
62/74
however, the proposed GA yields on average the et.al [12]. The coordination of
just-in-time
best results in shortest time. The concern of production and transportation in a
network of
allocation of projects to students through GA partially independent facilities to
guarantee timely
proving its very best advantages in finding a delivery to distributed customers is
one of the most
feasible project assignment, facilitating the challenging aspects of Supply Chain
Management.
discussion on the merits of various allocations and From a theoretical perspective,
the timely
supporting multi-objective decision making is well production/distribution can be
viewed as a hybrid
presented by Harper et.al [27]. combination of planning, scheduling and routing
problems, each notoriously affected by nearly
Over the last decade, there has been a rapid growth prohibitive combinatorial
complexity. David et.al
of the use of Genetic Algorithms in the various areas [8] proposed a novel meta-
heuristic approach based
of Production and Operations Management. on a Hybrid Genetic Algorithm
combined with
Chaudhry and Luo [4] provides a review of Genetic constructive heuristics. A
detailed case study
Algorithms research published in twenty-one major derived from industrial data is
used to illustrate the
-
7/31/2019 Algorithm ABC
63/74
production and Operations Management journals potential of the proposed
approach.
from 1990-2001. More specifically, it identifies
research trends and publication outlets of Genetic Salik Yadav et.al [32]
introduces the algorithm
Algorithms applications. Our findings show that portfolio concept to solve a
combinatorial
there are only a handful of production and optimisation problem pertaining to a
Supply Chain.
operations management areas to which Genetic The Supply Chain problem is
modeled with
Algorithms have been applied as the solution capacity constraints and demand
variations over
approach. Furthermore, recognising and discussing different time periods to
minimise the total supply
potential research areas and outlets in which chain configuration cost. Thealgorithm portfolio is
researchers may target their work as well as the need implemented over various
problem instances to
for top ranked POM journals to consider publishing inspect and alleviate the
computational
Genetic Algorithms related papers. expensiveness of a solution strategy. Abunch
of five
algorithms are utilised hereby viz. AIS, GA,
Anshuman Sahu, RudrajitTadapar [2] discussed the Endosymbiotic Optimisation,
PSO and
-
7/31/2019 Algorithm ABC
64/74
GAP with GA and Simulated Annealing heuristic Psychoclonal algorithm. The
observations reflect
58
the appropriateness and effect of algorithm
portfolios over the adopted supply chain, and
viability over other optimisation problems.
Chen et.al [6] studied an application of Genetic
Algorithms for flow shop problems with make span
as the criterion generating a Genetic Algorithm
(GA) based heuristic for these problems, and
compare the computational results of the heuristic
with the results of some existing heuristics. The
conclusions show that the GA based heuristic can
always give the best results in a short time on a SUN
workstation.
AJob scheduling problem with distinct due dates in
a single machine is considered by Lee and Choi [7]
with general penalty weights which are not
necessarily proportional to the processing times are Figure 2: Extended supplychain
applied to jobs either early or tardy. An optimal
timing algorithm is presented which decides the
-
7/31/2019 Algorithm ABC
65/74
optimal starting time of each job in a given job
sequence. The near optimality of the solutions by
the GAis also illustrated by the comparison with an Abada, H. and EI-Darzi, (1996),
E-Solving the
exact algorithm. Berning et.al [14] consider a Timetable Problem Using Tabu
Search, Technical
complex scheduling problem in the chemical Report, University of Westminister.
process industry involving batch production. They
address three distinct aspects: (i) a scheduling Sahu, A. and Tadapar, R., (2007),
Solving the
solution obtained from a Genetic Algorithm based Assignment Problem Using
Genetic Algorithm and
optimiser, (ii) a mechanism for collaborative Simulated Annealing, International
Journal of
planning among the involved plants, and (iii) a tool Applied Mathematics, Vol. 36,
No. 1, pp. 1-7.
for manual updates and schedule changes and an
integrated system solution for optimising the supply Cerny, V., (1985),
Thermodynamical Approach to
chain process. the Traveling Salesman Problem: An Efficient Simulation
Algorithm, Journal Optimisation
In large-scale computer communication networks Theory Applications, Vol. 45,
No. 1, pp. 41-51.
(e.g. the nowadays Internet), the assignment of link
-
7/31/2019 Algorithm ABC
66/74
capacity and the selection of routes (or the Chaudhry, S. S. and Luo, W.,(2005),
Application
assignment of flows) are extremely complex of Genetic Algorithms in Production
and
network optimisation problems. Efficient solutions Operations Management: A
Review International
to these problems are much sought after because Journal of Production Research,
Vol 43, Issue 19,
such solutions could lead to considerable monetary pp. 4083-4101.
savings and better utilisation of the networks. With
novel formulation and genetic modeling, the Chu, P. C. H. and Beasley, J. E.,
(1997), AGenetic
proposed algorithm by Hui et.al [38] generates Algorithm for the Generalised
Assignment
much better solutions than two well known efficient Problem, Computers &
Operations Research, 24,
methods in our simulation studies. pp. 17-23.
Chen, C. L., Vempati, S. V. and Aljaber, N., (1995),
An Application of Genetic Algorithms for Flow Shop
Problems, European Journal of Operational
The literature has been surveyed and an exclusive Research Vol 80, Issue 2, pp.
389-396.
survey on GAapproaches to GAP with reference to
SCM has been presented. Charles Lee Y. and Choi, J. Y., (2000). A Genetic
-
7/31/2019 Algorithm ABC
67/74
References
Conclusion
Supplier Manufacturer Wholesaler Retailer End Customer
Product Designer Market Research
Raw
Material
Producer
Manufacturer Distributor Retailer Retail
Customer
Logistics Provider Finance Provider Business Provider
59
Algorithm for Job Sequencing Problems with Jiyin Liu and Lixin Tang, (1999), A
Modified
Distinct Due Dates and General Early-Tardy Genetic Algorithm for Single MachineScheduling,
Penalty Weights, Computers & Operations Computers & Industrial Engineering,
Vol 37, Issues
Research, Vol 22, Issue 8, pp. 857-869. 1-2, October 1999, pp. 43-46.
Naso, D., Surico, M., Turchiano, B. and Kaymak, Silberholz, J. and Golden, B.,
(2007), The
U., (2005), Genetic Algorithms for Supply- Generalised Traveling Salesman
Problem: A New
Chain Scheduling: A Case Study in the Genetic Algorithm Approach, Springer US,
Vol 37,
-
7/31/2019 Algorithm ABC
68/74
Distribution of Ready-Mixed Concrete, pp 165-181.
European Journal of Operation Research,
Vol.177, Issue 3, pp. 2069-2099. Jose L. Ribeiro, (1994), GA Programming
Environment, IEEE Computer Society Press, Vol 27,
Gong, D., Yamazaki, G. and Mitsuo Genand Issue 6, pp. 28 43.
Weixuan Xu, (1999), A Genetic Algorithm
Method for One-Dimensional Machine Location Lau, T. L. and Tsang, E. P. K.,
(1998), The Guided
Problems, Journal of Production Economics, Genetic Algorithm and its
Application to the
Vol 60, pp. 337 -342. Generalised Assignment Problem, Tools with
Artificial Intelligence, Proceedings. Tenth IEEE
Dirk G. Cattrysse, Luk N. Van Wassenhove, International Conference, pp. 336 - 343
(1992),A Survey of Algorithms for the
Generalised Assignment Problem, European Luiz A.N. Lorena, Marcelo G.
Narciso, and Beasley,
Journal of Operational Research Vol 60, Issue 3, J. E., (1999), A Constructive
Genetic Algorithm for
10 August, pp. 260-272 the Generalised Assignment Problem, European
Journal of Operations Research, Citeseer X
Edo S. Van Der Poort , Libura, M., Sierksma, 10.1.1.153.5038.
Gerard. and Jack A. A. Van Der Veen, (1999),
-
7/31/2019 Algorithm ABC
69/74
Solving the K-Best Traveling Salesman Majumdar, J. and Bhunia A. K., (2007),
Elitist
Problem, Computers & Operations Research, Genetic Algorithm for Assignment
Problem with
Vol 26, Issue 4, April 1999, pp. 409-425. Imprecise Goal, European Journal of
Operational
Research, Vol 177, Issue 2, pp. 684-692
Gao Shang, Zhang Zaiyue, Zhang Xiaoru and
Cao Cungen, (2007), Immune Genetic Martello, S. and Toth, P., (1981), An
Algorithm for
Algorithm for Weapon-Target Assignment the Generalised Assignment Problem,
in J.P. Brans,
Problem, Workshop on Intelligent Information Editor, Operational Research, pp.
589 -603.
Technology Application, ISBN: 0-7695-3063-X
Savelsberg, M., (1997), Branch and Price Algorithm
Goldberg, D. E., (1989), Genetic Algorithms in for Generalised Assignment
Problem, Journal of
Search, Optimisation, and Machine Learning, Operations Research, Vol 45, No 6,
pp. 831- 841.
Addison-Wesley, pp. 1-7.
Michael Hugos, (2003), Essentials of Supply Chain
Guido Berning, Marcus Brandenburg, Korhan Management, John-Wiley & Sons,
pp. 27
Grsoy, Mehta, V and Franz-Josef Tlle, (2002),
-
7/31/2019 Algorithm ABC
70/74
An Integrated System Solution for Supply Chain Mishra, R., Lal, S. and Das, S.,
(2002), Introduction
Optimization in the Chemical Process Industry, to Supply Chain Management,
Journal of
Journal of OR Spectrum, Vol 24, No 4, pp. 371- Productivity, Vol. 42, No.4, pp.
531-534.
401.
Osman, I. H., (1995), Heuristics for the Generalised
Harald Feltl and GUnther R. Raidl, (2004), An Assignment Problem Using
Simulated Annealing and
Improved Hybrid Genetic Algorithm for the Tabu Search Approaches, OR
Spektrum, V.17 No.4,
Generalised Assignment Problem, Symposium pp. 221-225
on Applied Computing, Session: ECO, pp. 990-
995. Paul R. Harper, Valter De Senna, Israel T. Vieira and
60
Shahani K. A., (2005), A Genetic Algorithm for Algorithms: Survey, IEEE
Computer Society Press,
the Project Assignment Problem, Computers & Vol 27, Issue 6, pp. 17- 26.
Operations Research, Vol 32, Issue5, pp. 1255-
1265 Chen, S., (1999), Is the Common Good? A New
Perspective Developed in Genetic Algorithms,
Juell. P., Perera, A. and Nygard, K., (2003), Doctoral Dissertation, Technical Report
CMU- R1-
-
7/31/2019 Algorithm ABC
71/74
Application of a Genetic Algorithm to Improve TR 21, p. 157.
an Existing Solution for the General Assignment
Problem, Proceedings of the 16th International Terry Ross, G. and Soland, P.,
(1975), A Branch and
Conference on Computer Applications in Industry Bound Based Algorithm for the
Generalised
and Engineering, Lasvegas. Assignment Problem, Mathematical Programming,
8, pp. 91-103.
Randy L. Haupt, and Sue Ellen Haupt, (2004),
Practical Genetic Algorithms, John-Wiley & Venkata Ramana V.V and
Umashankar, C., (1998),
Sons, pp. 22. On a Class of Assignment Problems, Operations
Research, Vol.35 No.2, pp. 127 - 138
Romero Morales. D., (2000), Optimisation
Problems in Supply Chain Management. Phd Wilson, J. M., (1997), A Genetic
Algorithm for the
Thesis, Rotterdam School of Management, Generalised Assignment Problem,
Journal of the
Erasmus University, Rotterdam, the Netherlands, Operational Research Society,