You are on page 1of 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 generalized assignment 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

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: 1[][]NiXij= = 1 j=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 integerprogramming model and solved by techniques such as Branch-andBound 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 APPROACH Genetic 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 fitness function (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

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 man m2, 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 0 Man 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 <4 2 1>. A quicker insight leads us to the observation that the each permutation of <4 2 1> i.e., <1 2 4>, <1 4 2>, <2 1 4>, <2 4 1>, <4 2 1>, and <4 1 2> 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 2^r 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 2^r simply as r. This is easier to write and saves space when N is high.

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 for generating 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 <1 2 3 4 5> i.e., <1 3 4 2 5> and <2 1 3 5 4>. Two random numbers are generated between 1 and L where L is the length of the string (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 swapped and 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 <1 2 3 4 5>. After Crossover, 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

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 each category 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 the costs 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 <1 2 3 4> at say second and third positions, it will only be allowed if cost of <1 2 3 4> is greater than cost associated with <1 3 2 4>. 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, the answer 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 (

function) valuewithInversionwithoutInversion Figure 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 population size 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 APPROACH Simulated 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 is chosen 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, a number 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].

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 being employed. Suppose we have the string <1 2 3 4> 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 <1 2 3 4> gets transformed to <3 4 1 2>. 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. We search 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 at t=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

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: 800850900950100013579111315iteration 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.40 GHz). 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

[1] Billy E. Gillett, Introduction to Operations Research A ComputerOriented 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 Machine Learning. 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.

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

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: 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.

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.

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

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 T1 = (1) where ij C is the capacity of link ij in bits per second, ij is the arrival rate of messages to link ij, and 1 is the expected message length. Using the above notation, the expected network delay is given by:

= ij L rR r r ij ij ij rR r r ij ij Cx x T1 (2) where

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: ==

ij L rR r r ij ij ij rR r r ij ij Cx x D min T 1 (3) subject to: x , ij L C 1 rR r r

ij ij ij (4) = x 1, P r r SP (5) = r x {0,1},rR (6) where p 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

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

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

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

function is improved (f < 0 ), then replace the current solution by the new one. If f 0 , then accept a move with probability p(f ) = exp(-f/T) , where T is 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: Evaluate f(Sc). Step 4: Repeat steps 5, 6, 7, and 8 while termination condition not satisfied. Step 5: Select a solution Sn in the neighborhood of Sc at random. Step 6: Set ( n ) ( c ) f = f S f S {Compare the change in objective function} Step 7: If f 0 then

Sc Sn {Sn replaces Sc} Else If exp(-(f )/T) > random (0, 1) then Sc Sn 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

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

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 value f(vi) for each chromosome vi (i=1, , pop_size). Step 2: Find the total fitness of the population = = pop_size i1 i F f (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

j1 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<q1 then select the first chromosome (v1); otherwise select the i-th chromosome vi(2 i pop_size) such that qi-1 < r qi. World Academy of Science, Engineering and Technology 27 2007 362 E. Crossover Operator A crossover operator recombines the gene-codes of two parents, which are randomly selected, and produces offsprings such that the children inherit a set of building blocks from each parent. The application of crossover is governed by a crossover probability, denoted by Pc. In each generation of the GA, the crossover operator is tried pop-size times (pop-size is the population size) and thus, the expected number of applications of crossover is Pc* popsize. In this paper, the crossover operator exchanges subroutes between two chromosomes. First, select the chromosomes according the probability of the crossover operator. Second, apply crossover to the selected chromosomes using the path crossover operator by selecting randomly two paths that

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

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

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

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

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

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

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

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.

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 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]: + +

= ( 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.

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

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

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

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

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

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

2 5 0 10 5 5 3 0 10 0 0 3 5 10 0 5 0 3 5 5 20 0 40550505550 50505050050 65330500050 70055000500 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 101 03005080306040 21 0 0 8 5 0 4 10 0 0 5 0 7 0 0 9 3380068020508050 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 6548900507743005 701 00055052407080

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]

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

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

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

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

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

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

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 by Charles 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

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

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

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

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

algorithmic approaches. The mathematical Genetic Algorithm (GA) and MetaHeuristic 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 [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

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 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:

(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 of the 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

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

improve the existing GAP solution is proposed by developing the GA and is validated through Juell [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 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

however, the proposed GA yields on average the [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 [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 of the use of Genetic Algorithms in the various areas [8] proposed a novel metaheuristic 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

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 [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. The algorithm 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

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 [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 supply chain applied to jobs either early or tardy. An optimal timing algorithm is presented which decides the

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 [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

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 [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

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 Machine Scheduling, 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,

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, Gerard. and Jack A. A. Van Der Veen, (1999),

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),

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. 990995. 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. 12551265 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-

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, Vol. 48, 8, pp. 804809. Romeijn, H. E. and Romero Morales. D, (2000), A Class of Greedy Algorithms for the Xiao-Hui Lin, Yu-Kwong Kwok, and Vincent K. N.

Generalised Assignment Problem, Discrete Lau, (2003), A Genetic Algorithm Based Approach Applied Mathematics, 103, pp. 209-235. to Route Selection and Capacity Flow Assignment, Computer Communications, Vol 26, Issue 9, pp. 961Yadav R. S., Raja Ram M.R.Muddada, Tiwari, K. 974. M. and Shankar, R., (2009), An Algorithm Portfolio Based olution Methodology to Solve a Yen-Zen Wang, (2002), An Application of Genetic Supply Chain Optimization Problem, Expert Algorithm Methods for Teacher Assignment Systems with Applications, Vol.36, Issue 4, pp. Problems, Expert Systems with Applications, Vol 22, 8407-8420. Issue 4, pp. 295-302 Srinivas, M. and Patnaik, L., (1994), Genetic Genetic Algorithms, <http:/ /> V. Kalyana Chakravarthy is working as Research Scholar at Rayalaseema University, Kurnool, Andhra Pradesh, India. He is M.E in Industrial Engineering from Kumaraguru College of Technology, affiliated to Bharathiar University, Coimbatore, Tamilnadu, India in 1999 & has done B.E in Mechanical Engineering from Siddaganga Institute of Technology, affiliated to Bangalore University, Bangalore, Karnataka, India, 1996. The author can be reached at

Dr. V.V. Venkata Ramana received Ph.D. from Sri Krishna Devaraya University, Anantapur, A.P, India in 1997, while M.Phil and M.Sc in Operations Research & Statistical Quality Control from S.V. University, Tirupati, A.P, India, 1986 and 1983 respectively. He is working as a Scientist E, in National Informatics Centre, Hyderabad. He has 23 years of experience in the field of Statistics and Mathematical Modeling, Web Technologies. Dr. C. Umashankar, is the first recipient of M.Phil and PhD Degrees in the faculty of operations research, S.V. University, Tirupathy, Andhra Pradesh, India. Awarded National Associateship by UGC, ND under Young Indian University Teacher Scheme to pursue Doctoral Degree.He has 30 years of post graduate teaching and research experience and served as Head of the Department OR & SQC, Rayalaseema University, Kurnool, AP, India.