TSM Using Genetic Algorithm
TSM Using Genetic Algorithm
Travelling Salesman Problem (TSP) is an optimization problem that aims navigating given a list of city
in the shortest possible route and visits each city exactly once. When number of cities increases,
solution of TSP with mathematical methods becomes almost impossible. Therefore it is better to use
heuristic methods to solve the problem.
Genetic algorithms are heuristic search algorithms inspired by the process that supports the
evolution of life. The algorithm is designed to replicate the natural selection process to carry
generation, i.e. survival of the fittest of beings. Standard genetic algorithms are divided into five
phases which are:
These algorithms can be implemented to find a solution to the optimization problems of various
types. One such problem is the Travelling Salesman Problem. The problem says that a salesman is
given a set of cities, he has to find the shortest route to as to visit each city exactly once and return
to the starting city.
Chromosome: Chromosome is a sequence, occurs from genes. It indicates the candidate solutions.
Population: It occurs from the specified number of chromosomes for the problem and indicates the
set of the candidate solutions.
Codification: With codification, the values of the parameters, are known as genes, are combined in
the form of an array of values.
Selection: In order to produce a new chromosome, the selection of parents from the previous
population is called as selection.
Crossover: Crossover is the exchange of genes between two chromosomes; as a result two new
chromosomes are created.
Mutation: With mutation, one or more genes of a chromosome are changed; as a result a new
chromosome is obtained
Approach:
In the following implementation, cities are taken as genes, string generated using these characters is
called a chromosome, while a fitness score which is equal to the path length of all the cities
mentioned, is used to target a population.
Fitness Score is defined as the length of the path described by the gene. Lesser the path length fitter
is the gene. The fittest of all the genes in the gene pool survive the population test and move to the
next iteration. The number of iterations depends upon the value of a cooling variable. The value of
the cooling variable keeps on decreasing with each iteration and reaches a threshold after a certain
number of iterations.
Algorithm:
1. Initialize the population randomly.
2. Determine the fitness of the chromosome.
3. Until done repeat:
1. Select parents.
2. Perform crossover and mutation.
3. Calculate the fitness of the new population.
4. Append it to the gene pool.