EVALUATION OF THE OPERATORS OF THE GENETIC ALGORITHM IN APPLICATION ON THE TRAVELING SALESMAN PROBLEM.

In graph theory, the problem can be defined on a graph (X, A) , where X = {v1, v2,... , vV } is a set of V vertices (nodes) and A= {(vi, vj) | vi X, vj X and i ≠ j } is a set of arcs, together with a non-negative cost (or distance) matrix associated with A . The problem is considered to be symmetric (STSP) if for all. Elements of A are often called edges. The version of STSP in which distances satisfy the triangle inequality is the most studied special case of the problem. The STSP consists in determining the Hamiltonian cycle, often simply called a tour, of minimum cost.


43
Genetic Algorithm:-The genetic algorithms are part of the family of the evolution algorithms. They are inspired by the creed of the nature the survival is the best adapted individual to the environment.
These algorithms have for particularity to be traced on the evolution natural. To these notions of evolution, we add some properties observed in genetics (crossover, mutation, selection, ...) from where the name of genetic algorithms. They caused the interest many researchers starting with ), that developed the fundamental principles, passing by ) that used them to solve some concrete problems of optimization. The other researchers followed this way notably   Our algorithm, presented in the figure 1, start by generating an initial population of N individuals, for which, we calculate their values of the function objective and we select the better adapted individuals associated with the principle of the roulette wheel selection. The individuals, topics of recombination by the crossover operator, are chosen according to a probability P c .
Their results can be transferred by an operator of mutation with P m probability of mutation.
The individuals descended of these genetic operators will be inserted in the new population of which we value the values of the function objective of every individual. After, we met the terminating condition. It consists in seeing if the deviation of the fitness is equal to zero. If the end condition is verified the algorithm then stops with an optimal solution, otherwise one repeats the process on the new generation.

Representation:-
A circuit is coded by a table of integers that represents the successor and the predecessor of every city. The table 1 represents the following circuit: The starting point is the city 6 that is also the city of arrival, passing by the cities according to their order of apparition in the table:

Selection method:-
The used method is roulette wheel selection. It consists in associating to an i chromosome of the population a proportional portion in ∑ , where f i is the value of the objective function for the i individual. So, the individuals who have the small fitness can have a strong luck to be accepted and are subjected to the operation of crossover.
Crossover Operators:-They manipulate the structure of the chromosomes with certain randomness of two solutions called parents in order to produce two solutions called children. It permits to discover the space of the solutions. From the literature, we choose eight operators of crossover that we are going to explain how they proceed for constructing two chromosomes (solutions) named child1 and child2 from two chromosomes parent1 and parent2. A position (XP) is chosen at random in parent1, we find the gene (G.XP.1) that we will place in the position (XP) of the child1. After the genes of the parent2, from the position (XP+1), are placed in the child1 until finding the gene (G.XP.1) in the parent2 in a position (XP+k) then (G.XP+k.1) is put in the child1 and we continue to fill this last from parent1 with jumping the genes that have already been introduced. To get the child2, we proceed in the same way. We begin in the same position XP with inverting the roles of the parent1 and the parent2.

Edge recombination operator (edrx by Whitley ([Wh-89])):-
From the two parents, we construct a table that regroups for each gene his adjacent neighbors. For example, the gene 1 in parent 1 has two neighbors the genes 2 and 7, and in the parent 2 the genes 5 and 3. To get the child1, we choose the first gene of the child1 randomly from the parent 1. His successor will be selected from the table of neighbors of the first gene with respecting the following rules: The gene that will be elected must have the smallest number of distinct neighbors. If we find several genes that verify the condition above, then we will choose between them one randomly. The elected gene is placed in the child1 and is removed immediately from the table of neighbors. We restart until the complete construction of the child1.

Operator of maximal preservation crossover (MPX by Muhlenbein and al. ([Muh])):-
We choose two positions XP1 and XP2 at random. We look for the position of the gene (G.XP1.1) in parent2, we note it P1. Then, we place in the child1 from the P1 position the sequence of the genes between XP1 and XP2 of the parent1. The remainder of the child1 is copied from the parent2 with starting at his first gene and jumping all gene already been put in the child1.

Order1 crossover operator (order 1 by Davis and al. ([Davis])):-
We choose randomly two positions XP1 and XP2 from parent1. The middle part is copied into the child1. The remainder is filled from (XP2+1) gene of the parent2 with jumping all elements that are already present in the child1.

Order2 crossover operator (order 2 by Syswerda ([Syswerda])):-
We fill the child1 from the parent1 and we choose four points at random that we fill from their order of apparition in parent2. To build the child2, we make the same thing but with inverting the roles of parent1 and parent2.

Operator of position crossover (position by Syswerda ([Syswerda])):
To construct the child1, we choose four positions randomly that we are going to fill from the parent1 and the remainder of child1 is copied from the parent2 with starting since the beginning and jumping the genes that have already been put in child1. The S1 and S3 sequences of the parent1 are copied into the child1. The S2 sequence of the parent2 is copied into the child1 with jumping the genes that has already been installed. XP1 XP2 Parent1: 1 2 3 4 5 6 7 Parent2: 7 5 1 3 2 6 4 Table9:-Operator of partial matched crossover (pmx).

Uniform crossover operator (uox):-
The child1 is constituted with alternating randomly between the two parents.

Operators of mutation:-
The operators of mutation avoid establishing uniform population incapable to evolve. They consist in modifying the values of the genes of chromosomes. In opposition to the operators of crossover, they used only one parent to produce a unique child.
We use the following five operators of mutation.

Twors mutation:-
We exchange two gene positions chosen randomly in the parent.

Inverse center mutation (cim):-
We choose randomly one point of cut of the parent in two sequences S 1 and S 2 . We take the first sequence S 1 and we reverse the order of the genes: the last becomes first, the next-to-last becomes second and so forth. We proceed in the same way on S 2 .

Inverse mutation (im):-
We take a sequence S limited by two positions i < l chosen randomly. The order of the genes in the sequence S will be reversed by the same manner that what has been made on S 1 in cim.

Throas mutation:-
We construct a sequence of three genes of which the first is chosen at random and the two others are only these two successors. We proceed with the following manner: the first becomes second, the ancient second becomes last and the ancient last becomes first. Thrors mutation:-We choose three genes randomly that take the necessarily successive distinct positions i < j < l while proceeding thus: the gene of the position i becomes to the position j and the one that was to this position will take l th position and the gene that occupied this position becomes to i th position. Parent: 1 2 3 4 5 6 7 Table14:-Operator of thrors mutation (thrors).

Method of insertion:-
We used the method of insertion elitism that consists in recopying the best chromosome of the former population in the new. This will be supplement by the solutions results of operator of crossover and mutation. We respect the size of the population stay constant of generation in generation.

Numerical results:-
The operators of the genetic algorithm and their different modes, that will be used thereafter, are regrouped in this These problems belong to the family of the symmetrical problems of T.S.P. Each is constituted of coordinates of points in Euclidian plan. We change at a time that only one parameter and we fix the other. We execute thirty times the genetic algorithm.
The program is writing in C language on PC machine of CPU 1.99Ghz. This machine used the SUSE Linux operating system.
In the beginning, we fixed the size of the population for the genetic algorithm at 104 for the different experiences on the three problems of T.S.P.. In order to discover the parameters; that it is the operator of crossover or the operator of mutation with their respective probabilities, that come out of the share and permits to get the best results. We compare the found realizations in relation to Root Mean Square Error criterion: This criterion is equal to this formula: Obviously, minimizing the criterion Equ. (2) is equivalent to minimizing on the first hand the standard deviation and in the second hand the square of the mean of the gap.

Comparison between the operators of crossover:-
We set the probability of crossover at 1 and the probability of mutation at 0 and we get the following figure: child : 1 6 3 2 5 4 7 48 Figure2:-The boxplot of RMSE is according to the modification of crossover operator for berlin52.
From this figure, the best operator of crossover is edrx following by order1, MPX, order2, uox, pmx, position, and the worst is cyclic. Corresponding to eil101 benchmark, we find that the worst operator of crossover is cyclic but the best is order1 following by edrx.

49
Figure4:-The boxplot of RMSE is according to the modification of crossover operator for kroA200.
As like as the results for the Eil101 problem, the operator of crossover order1 shows his supremacy front of the edrx crossover operator.
From three benchmarks, we found in the first position the order1 operator of crossover following by edrx and in the third position MPX, after we found order2, uox, pmx, position and the worst is the cycle operator of crossover.

Comparison between the operators of mutation:-
We set the probability of crossover at 0 and the probability of mutation at 1. We find in the first position the im mutation following by cim mutation, twors in the third position. Twors is in the forth position and in the last position throas.

Figure5
:-The boxplot of RMSE according to the modification of mutation operator for berlin52, eil101 and kroA200.

50
We find the same rank from three benchmarks. In conclusion, the best operator of mutation is im. We observe that the operator of mutation which gives the smallest value of RMSE is im with P m = 0.9 for the three benchmarks. But, for the probability of crossover, we find three values 0.4, 0 and 1 for the same operator of crossover edrx.

Size of population:-
Until now, we have worked with fixed size of population at 104. We found three set of parameters that give the less value of the RMSE criterion: 1. edrx, P x = 1 , im and P m =0.9 called St1; 2. edrx, P x = 0.4 , im and P m =0.9 noted St2; 3. edrx, P x = 0 , im and P m =0.9 called St3; But, what's the optimal size to give to genetic algorithm the manner to converge very closer to the optimum as possible?
To reply to this question, we fixed at each time the crossover and mutation operator and their probabilities as writing above and we tune the size of population from V to 10 × V for our genetic algorithm on the three benchmarks (with V is the size of the T.S.P. benchmark).

51
Figure6:-RMSE is according to the modification of the size of the population for berlin52, eil101 and kroA200.
From the picture of Berlin52, we observe that St3 give the minimum value of the RMSE criterion followed by St1. This strategy gives the values under the others curves from 6× V for eil101 benchmarks and from 8 × V for kroA200 benchmark and still until 10 × V for both benchmarks.
The St1 corresponding to edrx as crossover operator applied with probability equal to 1 and im as operator of mutation executed with probability equal at 0.9. This strategy is the better strategy with the size of population equal at 8 × V.