There are three sources named S1, S2 and S3, whose supply quantities are 8, 19 and 17
respectively. There are four destinations D1, D2, D3 and D4 whose demands are 11, 3, a4
and 16 respectively. Transportation cost from every source to every destination is same.
Solve the transportation problem to find the optimum allocations.
8.2 Encoding
Establish arbitrary feasible connections between the sources and destinations.
Figure 10: A Feasible Solution for the Transportation Problem
Develop the corresponding Spanning tree notation.
Figure 11: Spanning Tree Representation
8.3 Prüfer number
Prüfer number is an encoding technique used to encode spanning tree representations [6].
It is the sequence of numbers of nodes to which the least valued leaf nodes (dangling nodes) are connected. If there are „n‟ stations in a Transportation problem (including
sources and destinations), the Prüfer number consists of n-2 digits. The steps to find the
Prüfer number for the above spanning tree are shown below.
Figure 12: Prüfer Number 8.4 GA Operators
The Prüfer number representations of all the feasible solutions need to be obtained first.
They can be evaluated using the fitness function. The fitness for different feasible
solutions can be obtained by calculating the allocations for links between different
sources and destinations, from which the total cost can be obtained. Here, the fitness
should be evaluated in inverse scale. The solution with least cost must be allotted
maximum fitness. Selection process can be followed by Fitness evaluation. It can be
9 Conclusion
The genetic algorithm (GA) is a search heuristic that mimics the process of natural
evolution. This heuristic is routinely used to generate useful solutions to optimization and
search problems [7]. Genetic algorithms belong to the larger class of evolutionary
algorithms (EA), which generate solutions to optimization problems using techniques
inspired by natural evolution, such as inheritance, mutation, selection, and crossover.
In a genetic algorithm, a population of strings (called chromosomes or the genotype of the
genome), which encode candidate solutions (called individuals, creatures, or phenotypes)
to an optimization problem, evolves toward better solutions. Traditionally, solutions are
represented in binary as strings of 0s and 1s, but other encodings are also possible. The
evolution usually starts from a population of randomly generated individuals and happens
in generations. In each generation, the fitness of every individual in the population is
evaluated, multiple individuals are stochastically selected from the current population
(based on their fitness), and modified (recombined and possibly randomly mutated) to
form a new population. The new population is then used in the next iteration of the
algorithm. Commonly, the algorithm terminates when either a maximum number of
generations has been produced, or a satisfactory fitness level has been reached for the
population. If the algorithm has terminated due to a maximum number of generations, a
satisfactory solution may or may not have been reached.
Initially many individual solutions are randomly generated to form an initial population.
The population size depends on the nature of the problem, but typically contains several
hundreds or thousands of possible solutions. Traditionally, the population is generated
randomly, covering the entire range of possible solutions (the search space).
Occasionally, the solutions may be "seeded" in areas where optimal solutions are likely to
During each successive generation, a proportion of the existing population is selected to
breed a new generation. Individual solutions are selected through a fitness-based process,
where fitter solutions (as measured by a fitness function) are typically more likely to be
selected. Certain selection methods rate the fitness of each solution and preferentially
select the best solutions. Other methods rate only a random sample of the population, as
this process may be very time-consuming.
Most functions are stochastic and designed so that a small proportion of less fit solutions
are selected. This helps keep the diversity of the population large, preventing premature
convergence on poor solutions. Popular and well-studied selection methods include
roulette wheel selection and tournament selection.
The next step is to generate a second generation population of solutions from those
selected through genetic operators: crossover (also called recombination), and/or
mutation.
For each new solution to be produced, a pair of "parent" solutions is selected for breeding
from the pool selected previously. By producing a "child" solution using the above
methods of crossover and mutation, a new solution is created which typically shares many
of the characteristics of its "parents". New parents are selected for each new child, and the
process continues until a new population of solutions of appropriate size is generated.
Although reproduction methods that are based on the use of two parents are more
"biology inspired", some research suggests more than two "parents" are better to be used
to reproduce a good quality chromosome.
These processes ultimately result in the next generation population of chromosomes that
is different from the initial generation. Generally the average fitness will have increased
This generational process is repeated until a termination condition has been reached.
Common terminating conditions are:
A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation time/money) reached
The highest ranking solution's fitness is reaching or has reached a plateau such that
successive iterations no longer produce better results
Manual inspection
Combinations of the above
Problems which appear to be particularly appropriate for solution by genetic algorithms
include timetabling and scheduling problems, and many scheduling software packages are
based on GAs. GAs have also been applied to engineering. Genetic algorithms are often
applied as an approach to solve global optimization problems.
As a general rule of thumb genetic algorithms might be useful in problem domains that have
a complex fitness landscape as crossover is designed to move the population away from local
References
[1] Representations for Genetic and Evolutionary Algorithms, Franz Rothlauf, Springer 2005
[2] Davis, L. D., editor. 1991. Handbook of Genetic Algorithms. Van Nostrand Reinhold
[3] Lawrence V. Snyder, Mark S. Daskin, A Random-Key Genetic Algorithm for the
Generalized Traveling Salesman Problem, Department of Industrial Engineering
and Management Sciences, February 25, 2005
[4] Genetic Algorithms-A tutorial, A A R Townsend, July 2003
[5] Genetic Algorithms and Engineering Optimization. Mitsuo Gen and Runwei Cheng, New York: John Wiley, 2000
[6] G. A. Vignaux and Z. Michalewicz, A Genetic Algorithm for the Linear Transportation Problem, IEEE Transactions on systems, man, and cybernetics, vol. 21, no.2, March/April 1991, pg.no.445 - 452