algorithm abc

Upload: abhinav-choudhary

Post on 04-Apr-2018

214 views

Category:

Documents


0 download

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:

    [email protected]).

    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,