Adaptive Sequential Constructive Crossover Operator in a Genetic Algorithm for Solving the Traveling Salesman Problem

Genetic algorithms are widely used metaheuristic algorithms to solve combinatorial optimization problems that are constructed on the survival of the fittest theory. They obtain near optimal solution in a reasonable computational time, but do not guarantee the optimality of the solution. They start with random initial population of chromosomes, and operate three different operators, namely, selection, crossover and mutation, to produce new and hopefully better populations in consecutive generations. Out of the three operators, crossover operator is the most important operator. There are many existing crossover operators in the literature. In this paper, we propose a new crossover operator, named adaptive sequential constructive crossover, to solve the benchmark travelling salesman problem. We then compare the efficiency of the proposed crossover operator with some existing crossover operators like greedy crossover, sequential constructive crossover, partially mapped crossover operators, etc., under same genetic settings, for solving the problem on some benchmark TSPLIB instances. The experimental study shows the effectiveness of our proposed crossover operator for the problem and it is found to be the best crossover operator. Keywords—Genetic algorithm; adaptive sequential constructive crossover; traveling salesman problem; NP-hard


I. INTRODUCTION
The usual travelling salesman problem (TSP) is very famous combinatorial optimization problem that finds a least cost Hamiltonian cycle in a network. The RAND Corporation introduced the TSP in 1948. The Corporation's reputation helped to make the TSP well-known and popular problem. The TSP also became popular at that time due to the new subject of linear programming and attempts to solve combinatorial optimization problems. It can be stated as.
A network with ‗n' nodes, with 'node 1' as ‗depot' and a travel cost (or distance, or travel time etc.,) matrix C= [c ij ] of order n associated with ordered pairs (i, j) of nodes is given. The problem is to find a least cost Hamiltonian cycle. Based on the structure of the cost matrix, the TSPs are classified into two types as symmetric and asymmetric. If c ij = c ji ,  i, j, the TSP is symmetric, otherwise, it is asymmetric. For asymmetric TSP with n nodes, there are )! 1 (  n possible solutions with at least one of them provide the minimum cost. For symmetric TSP, there are 2 )! 1 (  n possible solutions along with same valued reverse cyclic permutations. If there are only 10 nodes, then there are 362,880 and 181,440 tours for asymmetric TSP and symmetric TSP, respectively. The number of possible solutions in both types is very large for any size, n; so, a complete search is very difficult, if it is not impossible. That means, the problem is very difficult to solve. The TSP has been researched by several researchers for mainly three reasons. First, it can model many real-life problems. Second, it is NP-Hard [1]. Third, NP-Hard problems are so difficult that no one has found any efficient algorithm to solve them for large sized problem instances. Also, NP-hard problems are equivalent to each other; so, if one can develop efficient algorithm for solving one of them, then one could develop efficient algorithm for others. The TSP has application in several situations such as automatic drilling of printed circuit boards and threading of scan cells in a testable very-large-scale-integrated (VLSI) circuit, automatic drilling of printed circuit boards and circuits, computer wiring, X-ray crystallography, movement of people [2].
Several exact and heuristic/metaheuristic algorithms have been reported for solving the TSP. Branch and bound [3], branch and cut [4], and lexisearch algorithm [5] are some exact algorithms. These algorithms provide the exact optimal solution to the problem, but as the problem size increases computational time increases exponentially. As reported by Deng et al. [6] only small sized TSP instances can be solved to exact optimality. Since some practically large problem instances must be solved, hence it is important to obtain heuristically optimal solution by ensuring the quality of the solution in reasonable time, rather to obtain exact optimal solution in hell of time. Heuristic/metaheuristics algorithms give near optimal solution in a reasonable computational time, but do not guarantee the optimality of the solution. Example of metaheuristic algorithms are ant colony optimization [7], genetic algorithm [8], simulated annealing [9], state transition algorithm [10], tabu search [11], artificial neural network [12], artificial bee colony [13], black hole [14], and particle swarm optimization [7]. Out of these metaheuristic algorithms, genetic algorithm (GA) is one of the best and widely used algorithm to solve the TSP as well as other combinatorial optimization problems in computer science and operations research. www.ijacsa.thesai.org GAs are proposed by John Holland in 1970s which are based on imitating Darwin's theory of ‗the survival of the fittest' in natural biology [8]. To solve a real-world problem using GAs, two most important conditions are to be fulfilled: (i) a chromosome representing a solution, and (ii) an objective/fitness function can be defined. Any simple GA begins with random initial population, called gene pool of chromosomes, and operates three different operators to produce new, usually better, populations in consecutive iterations/generations. Selection is the 1st operator in which chromosomes are duplicated to next generation probabilistically. Crossover is the 2nd operator in which couples of chromosomes are selected randomly and mated to produce new and better chromosomes. Mutation is the 3rd operator which alters occasionally a chromosome position value. Crossover along with selection operator is the main leading procedure in GAs. Mutation expands search space and defends from loss of any genetic substance due to selection and crossover operators.
Though GA is one of the best algorithms, however, its performance depends on initial population, selection, crossover and mutation operators, and some parameters such as population size, crossover probability, mutation probability and stopping condition (Goldberg, 1989). Among different operators, crossover plays very important role in GAs, and accordingly many crossover operators have been developed and reported in the literature for solving the TSP [15]. This paper aims to propose a modified version of sequential constructive crossover (SCX) [16] named adaptive sequential constructive crossover (ASCX) and then compare with eight crossover operators including SCX to assess suitability for the TSP.
This paper is organized as follows: Section II discusses GAs using some existing crossover operators and our proposed crossover operator, named adaptive crossover sequential constructive crossover operator, for the TSP, while design of variant GAs is discussed in Section III. Section IV describes computational experiences for sixteen variant GAs using eight crossover operators with two possibilities of mutation operator and discussions. Finally, Section V presents concluding remarks and future works.
II. GENETIC ALGORITHMS FOR THE TSP For applying GA to any optimization problem, one must find a way for representing solutions as legal chromosomes such that crossovers of legal chromosomes result in legal chromosomes. The methods for representing solutions differ by problem and, contain a certain art. There are many representation methods for solving the TSP using GAs. Some of them are binary, adjacency, ordinal, matrix and path representations. We consider only the path representation that simply lists the node labels such that no node can appear twice in the same chromosome. For example, let {1, 2, 3, 4, 5, 6, 7, 8, 9} be the node labels in a 9-node instance, then a tour {1→ 9→6→ 2→7 → 4→3→8→ 5 →1} may be represented as (1,9,6,2,7,4,3,8,5). The objective function is the sum of the costs of all edges in the tour.

A. Initial Population and Selection Operator
In GAs, after generating the random population of chromosomes, selection operator is applied. In selection operator, chromosomes are copied into mating pool with a probability related to their fitness value. By transferring highly fit chromosomes to next generation mating pool, selection mimics the Darwinian theory of survival-of-the-fittest in the natural biology. In natural biology, fitness is determined by an individual's capability to survive predators, epidemic, and other difficulties to maturity and following selection. In this stage no new chromosome is created. The commonly used selection operator is the proportionate selection operator, where an individual is selected for the mating pool according to a probability related to its fitness value. We have considered the stochastic remainder selection process [17] for our GAs.

B. Existing Crossover Operators
Since the crossover operator plays a vital role in GA, so many crossover operators have been proposed for the TSP. However, the traditional crossover operators such as one-point, two-point, and uniform crossover operators are not suitable for the TSP. Two kinds of crossover operators have been developed for the TSPdistance-based and blind crossover operators [18]. We consider some of them from both kinds and compare our proposed crossover operator with them.

1). Partially mapped crossover operator: Goldberg and
Lingle [19] developed the partially mapped crossover (PMX) that used two crossover points. It defines an interchange mapping in the section between these points. PMX was the first crossover for the GA to solve the TSP. Consider, for example, the two parent chromosomes P 1 : (1,2,3,4,6,9,5,7,8) and P 2 : (1,3,5,7,8,9,4,2,6). We shall consider same pair of chromosomes for illustrating all the crossover operators considered here. Also, we fix headquarters (first gene) as ‗node 1'. Suppose the randomly selected cut points are between 3 rd and 4 th genes and between 7 th and 8 th genes as follows (these cut points are marked with -|‖): P 1 : (1, 2, 3 | 4, 6, 9, 5 | 7, 8) and P 2 : (1, 3, 5 | 7, 8, 9, 4 | 2, 6) We always fix first gene as ‗node 1'. The mapping sections are between the cut points. In this example, the mapping systems are 4↔7, 6↔8, 9↔9, and 5↔4. Now these mapping sections are copied with each other to build offsprings as follows: The first * in the first offspring should be 7 that comes from first parent, but it is already present in this offspring, so www.ijacsa.thesai.org we check mapping 4↔ 7, but 4 is also present in this offspring, again check mapping 5↔4, so 5 is added. Similarly, the second * in first offspring should be 8 that comes from first parent, but it is present in this offspring, so we check mapping 6↔8 and hence, we add 6 at second *. Thus, the first offspring becomes O 1 : (1, 2, 3 | 7, 8, 9, 4 | 5, 6), Similarly, we build the second offspring as: 3, 7 | 4, 6, 9, 5 | 2, 8) 2). Ordered crossover operator: Davis [20] developed the ordered crossover (OX) that builds offspring by choosing a subsequence of a tour from one parent and preserving the relative order of nodes from the other parent. Consider the same example parent chromosomes with randomly chosen two cut points marked by -|‖: We always fix first gene as ‗node 1'. At first, the offsprings are built by copying the genes between the cuts with similar way into the offsprings that lead the offsprings as: Then beginning from the second cut point of one parent, the genes from the other parent are copied in the same order except the existing genes. The sequence of the genes in the second parent from the second cut point is -2 →6→3→5→7→8 →9 →4.‖ After omitting the genes 4, 6, 9 and 5 that are already present in the first offspring, the sequence becomes -2→3→7→8‖, which is placed in the first offspring beginning from the second cut point: 3). Alternating edges crossover operator: Grefenstette et al. [21] proposed alternating edges crossover (AEX) operator that assumes a chromosome as a directed cycle of arcs. Only one offspring is built by selecting alternative arcs from both parents, with some additional random selections in case of infeasibility. Consider the same example parent chromosomes P 1 : (1,2,3,4,6,9,5,7,8) and P 2 : (1,3,5,7,8,9,4,2,6).
First, the arc (1, 2) is first selected from the first parent and copied to the offspring. Then the arcs (2, 6) from second parent, (6,9) from first parent and (9, 4) from second parent are selected and copied to the offspring. Then, arc (4, 6) is selected from first parent, however, this arc produces a cycle and a new arc leaving the node 4 to a node not yet visited is selected randomly. Suppose the arc (4, 3) is chosen. Then, the arcs (3, 5) from second parent, (5, 7) from first parent and (7,8) from second parents are selected. This way the offspring is built as follows: O: (1,2,6,9,4,3,5,7,8) All arcs in the offspring are inherited from the parents, apart from the arc (4, 3).
As we fix first gene as node 1, for the next position, we select randomly between 2 and 3. Suppose we select node 2, then the offspring becomes: O 1 : (1, 2, *, *, *, *, *, *, *) Every gene in the offspring is taken from one of its parents with the same position, so the next gene to be considered must be bit 3, as this gene from the second parent is just below the selected gene 2. In the first parent this gene is at 3 rd position; thus, the offspring becomes: O 1 : (1, 2, 3, *, *, *, *, *, *) Next gene will be 5 of second parent as it is just below the current gene 3, which is present at 7 th position in first parent. Thus, the offspring becomes: O 1 : (1, 2, 3, *, *, *, 5, *, *) Next gene will be 4 of second parent as it is just below the current gene 5, which is present at 4 th position in first parent. Thus, the offspring becomes: O 1 : (1, 2, 3, 4, *, *, 5, *, *) Next gene will be 7 of second parent as it is just below the current gene 4, which is present at 8 th position in first parent. Thus, the offspring becomes: O 1 : (1, 2, 3, 4, *, *, 5, 7, *) Next, we have node 2, which is already present in the offspring; thus, we have completed a cycle and hence, we fill the remaining blank positions with the genes of those positions which are present in second parent. This way the offspring is built as follows: (1,2,3,4,8,9,5,7,6) Similarly, we build the second offspring as (same as P 2 ): (1,6,5,7,8,9,4,2,3) 5). Greedy crossover operator: Grefenstette et al. [21] also proposed greedy crossover (GX) for the TSP that selects a starting node randomly. Then in each step, four neighbor nodes of currently selected node in both parents are considered, and the cheapest one (not present in the offspring) is selected. If the cheapest node or all four neighbour nodes are present in the offspring, then any node from the remaining is selected randomly. This operator creates only one offspring from two parents. Let us illustrate the GX through the 9-node example given as cost matrix in Table I and the same parent chromosomes considered above.
As we fixed first gene as ‗node 1', the offspring is initiated as (1). The nodes 2 and 3 are neighbours of 1 with their costs 7 and 15 respectively. The node 2 is cheaper, so, it is copied into the incomplete offspring: (1, 2).
Next, the nodes 5, 6, 4 and 8 are neighbours of 9 with their costs 10, 7, 9 and 10 respectively. The node 6 is the cheapest, but it is already present in the offspring, so, node 3 is selected randomly and it is copied into the incomplete offspring: (1, 2, 6, 9, 3).
Next, the nodes 4, 2, 5 and 1 are neighbours of 3 with their costs 16, 5, 12 and 15 respectively. The node 2 is the cheapest, but it is already present in the offspring, so, node 4 is selected randomly and it is copied into the incomplete offspring: (1,2,6,9,3,4).
Continuing in this way, we have the complete offspring: (1,2,6,9,3,4,5,7,8) with cost 67. 6). Sequential constructive crossover operator: Ahmed [16] proposed the sequential constructive crossover (SCX) operator which is modified in [23] that constructs an offspring using better arcs based on their cost present in the parents' structure. Furthermore, it also uses the better arcs that are present neither in the parents' structure. SCX sequentially searches both parent chromosomes and considers the first legitimate node (i.e. unvisited node) that appeared after the present node and in case, if no legitimate node is found in either of the parent chromosomes, it sequentially searches from the beginning of the chromosome and then compares their associated cost to decide the next node of the child chromosome. The SCX is compared with edge recombination crossover (ERX) and generalized N-point crossover (GNX) on symmetric and asymmetric TSPLIB instances. As reported, SCX is better than ERX and GNX. Khan [24] presented a comparative study among eight different crossover operators, namely, Two-Point Crossover, PMX, CX, Shuffle Crossover, ERX, Uniform Order-based Crossover, Sub-tour Exchange Crossover and SCX, and found that SCX outperformed other operators in achieving good quality solution for the TSP. Further, SCX is successfully applied to many other combinatorial optimization problems ( [25]- [31], [32]). Let us recall the algorithm for the SCX [23].
Step 2: Sequentially search both parent chromosomes and consider the first ‗legitimate node' (the node that is not yet visited) appeared after 'node p' in each parent. If no 'legitimate node' after 'node p' is present in any of the parents, search sequentially from the starting of the parent and consider the first 'legitimate node', and go to Step 3.
Step 3: Suppose the 'node α' and the 'node β' are found in 1st and 2nd parent respectively, then for selecting the next node go to Step 4.
Step 4: If c pα < c pβ , then select 'node α', otherwise, 'node β' as the next node and concatenate it to the partially constructed offspring chromosome. If the offspring is a complete chromosome, then stop, otherwise, rename the present node as 'node p' and go to Step 2.
Let us illustrate the SCX through the same example given above. Select 'node 1' as the 1 st gene. The legitimate nodes after node 1 in P 1 and P 2 are 2 and 3 respectively with c 12 =7 and c 13 =15. Since c 12 <c 13 , we accept node 2. So, the partially constructed chromosome will be (1, 2).
The legitimate nodes after node in P 1 and P 2 are nodes 3 and 6 respectively with c 23 =8 and c 26 =3. Since c 26 <c 23 , we accept node 6. So, the partially constructed chromosome will be (1, 2, 6).
The legitimate node after node 6 in P 1 is 9 with c 69 =5, but none in P 2 . So, for P 2 , we sequentially search from the beginning of the chromosome and find the first legitimate node 3 with c 63 =8. Since c 69 <c 63 , we accept node 9. So, the partially constructed chromosome will be (1,2,6,9).
The legitimate node after node 4 in P 1 is 5 with c 45 =9, but none in P 2 . So, for P 2 , we sequentially search from the beginning of the chromosome and find the first legitimate node 3 with c 43 =11. Since c 45 <c 43 , we accept node 5. So, the partially constructed chromosome will be (1,2,6,9,4,5).
Continuing this way, we obtain the complete offspring chromosome: (1,2,6,9,4,5,7,8,3) with cost 72. 7). Bidirectional circular sequential constructive crossover operator: The bidirectional circular sequential constructive crossover (BCSCX) was proposed by Kang et al. [33] to modify SCX that searches for next neighbor in both left and right directions in both parents. Thus, four neighbor genes are considered. Also, during searching for the next neighbor gene, if it reaches to the end or to the beginning of www.ijacsa.thesai.org the genes list in any of the parents, it will wrap around. Let us illustrate the BCSCX through the same example given above.
Select 'node 1' as the 1 st gene. The legitimate nodes after node 1 in both directions in P 1 are 2 and 8 (after wrapping around), and in P 2 are 3 and 6 (after wrapping around), with their costs 7, 9, 15 and 6 respectively. We accept node 6 as it is cheapest. So, the partially constructed offspring chromosome will be (1, 6).
The legitimate nodes after node 6 in both directions in P 1 are 9 and 4, and in P 2 are 3 (after wrapping around) and 2, with their costs 5, 11, 8 and 13 respectively. We accept node 9 as it is cheapest. So, the partially constructed chromosome will be (1,6,9).
The legitimate nodes after node 9 in both directions in P 1 are 5 and 4, and in P 2 are 4 and 8, with their costs 10, 9, 9 and 10 respectively. We accept node 4 and the partially constructed chromosome will be (1,6,9,4).
The legitimate nodes after node 4 in both directions in P 1 are 5 and 3, and in P 2 are 2 and 8, with their costs 9, 11, 5 and 4 respectively. We accept node 8 and the partially constructed chromosome will be (1,6,9,4,8).
Among the above discussed crossover operators GX, SCX and BCSCX are called distance-based crossover operators because they care about the distance between nodes. On the other hand, crossover operators like PMX, OX, AEX, CX, GNX and ERX are called blind crossover operators because they only concern about to satisfy the constraints of the problem and do not use any information associated with the problem [18]. We propose to compare our proposed ASCX against both kind of crossover operators.

C. Proposed Crossover Operator: Adaptive Sequential Constructive Crossover Operator
We are going to propose a modification of the SCX operator, named adaptive SCX (ASCX). In BCSCX, four neighbor genes are considered. We propose to construct offspring either in forward direction from the first gene or in backward direction from the last gene or in mixed direction adaptively depending on the cost of the next node. Hence, we consider a total of eight neighbour nodes of a current node, four nodes for each of the two genes (nodes). Since there are n genes in a chromosome, we select 'node 1' as the first and (n+1) th (it is not shown in the chromosome) genes. Let us define the algorithm for the ASCX as follows.
Step 1: Start from the first gene, 'node 1' (i.e., current node p =1 in position i=1) in forward direction and from the (n+1) th gene, ‗node 1' (it is not shown in the chromosome), (i.e., current node q =1 in position j=n+1) in backward direction.
Step 2: Sequentially search both parent chromosomes in right direction and consider the first ‗legitimate node' (the node that is not yet visited) appeared after 'node p' in each parent. If no 'legitimate node' after 'node p' is present in any of the parents, search sequentially from the starting of the parent (wrap around) and consider the first 'legitimate node'. Suppose the 'node α' and the 'node β' are found in 1 st and 2 nd parent respectively. Go to Step 3.
Step 3: Sequentially search both parent chromosomes in left direction and consider the first ‗legitimate node' appeared after 'node p' in each parent. If no 'legitimate node' after 'node p' is present in any of the parents, search sequentially from the end of the parent (wrap around) and consider the first 'legitimate node'. Suppose the 'node γ' and the 'node δ' are found in 1 st and 2 nd parent respectively. Now, suppose among four nodes, 'node u' is the cheapest with cost s=min. {c pα , c pβ , c pγ , c pδ }. Go to Step 4.
Step 4: Sequentially search both parent chromosomes in left direction and consider the first ‗legitimate node' appeared after 'node q' in each parent. If no 'legitimate node' after 'node q' is present in any of the parents, search sequentially from the end of the parent (wrap around) and consider the first 'legitimate node'. Suppose the 'node w' and the 'node x' are found in 1 st and 2 nd parent respectively. Go to Step 5.
Step 5: Sequentially search both parent chromosomes in right direction and consider the first ‗legitimate node' appeared after 'node q' in each parent. If no 'legitimate node' after 'node q' is present in any of the parents, search sequentially from the beginning of the parent (wrap around) and consider the first 'legitimate node'. Suppose the 'node y' and the 'node z' are found in 1 st and 2 nd parent respectively. Now, suppose among four nodes, 'node v' is the cheapest with cost t=min. {c wq , c xq , c yq , c zq }. Now, for selecting the next node as well as adding it in a position in the offspring chromosome go to Step 6.
Step 6: If s ≤ t, then add 'node u' in position ‗i' in the partially constructed offspring chromosome and set p=u, i=i+1. Otherwise, add 'node v' in position ‗j' in the partially constructed offspring chromosome and set q=v, j=j-1. Now, If the offspring is a complete chromosome, then stop, otherwise, go to Step 2.
Let us illustrate the ASCX through the same example parent chromosomes given above. Since there are 9 genes in the parent chromosomes, we select 'node 1' as the first and 10 th gene (it is not shown in the chromosome). The legitimate nodes after first gene, node 1, in both directions in P 1 are 2 and 8 (after wrapping around), and in P 2 are 3 and 6 (after wrapping around), with their costs 7, 9, 15 and 6 respectively. Among them node 6 with cost 6 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1 (though it is not shown in the chromosome), in both directions in P 1 are 8 and 2 (after wrapping around), and in P 2 are 6 and 3 (after wrapping around), with their costs 9, 7, 6 and 15 respectively. Among them node 6 with cost 6 is the cheapest. Since both cheapest nodes are same 6, we add it as the 2 nd gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, *, *, *, *, *, *, *).
The legitimate nodes after 2 nd gene, node 6, in both directions in P 1 are 9 and 4, and in P 2 are 3 (after wrapping around) and 2, with their costs 5, 11, 8 and 13 respectively. Among them node 9 with cost 5 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1, in both directions in P 1 are 8 and 2 (after wrapping around), and in P 2 www.ijacsa.thesai.org are 2 and 3 (after wrapping around), with their costs 9, 11, 11 and 15 respectively. Among them node 8 with cost 9 is the cheapest. Since between two cheapest nodes, node 9 is cheaper, we add it as the 3 rd gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, *, *, *, *, *, *).
The legitimate nodes after 3 rd gene, node 9, in both directions in P 1 are 5 and 4, and in P 2 are 4 and 8, with their costs 10, 9, 9 and 10 respectively. Among them node 4 with cost 9 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1, in both directions in P 1 are 8 and 2 (after wrapping around), and in P 2 are 2 and 3 (after wrapping around), with their costs 9, 11, 11 and 15 respectively. Among them node 8 with cost 9 is the cheapest. Since both cheapest nodes have same costs, we add node 4 as the 4 th gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, 4, *, *, *, *, *).
The legitimate nodes after 4 th gene, node 4, in both directions in P 1 are 5 and 3, and in P 2 are 2 and 8, with their costs 9, 11, 5 and 4 respectively. Among them node 8 with cost 4 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1, in both directions in P 1 are 8 and 2 (after wrapping around), and in P 2 are 2 and 3 (after wrapping around), with their costs 9, 11, 11 and 15 respectively. Among them node 8 with cost 9 is the cheapest. Since between two cheapest nodes, node 8 is cheaper, we add it as the 5 th gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, 4, 8, *, *, *, *).
The legitimate nodes after 5 th gene, node 8, in both directions in P 1 are 2 (after wrapping around) and 7, and in P 2 are 2 and 7, with their costs 3, 8, 3 and 8 respectively. Among them node 2 with cost 3 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1, in both directions in P 1 are 7 and 2 (after wrapping around), and in P 2 are 2 and 3 (after wrapping around), with their costs 5, 15, 5 and 15 respectively. Among them node 7 with cost 5 is the cheapest. Since between two cheapest nodes, node 2 is cheaper, we add it as the 6 th gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, 4, 8, 2, *, *, *).
The legitimate nodes after 6 th gene, node 2, in both directions in P 1 are 3 and 7 (after wrapping around), and in P 2 are 3 (after wrapping around) and 7, with their costs 8, 6, 8 and 6 respectively. Among them node 7 with cost 6 is the cheapest. On the other hand, the legitimate nodes before 10 th gene, node 1, in both directions in P 1 are 7 and 3 (after wrapping around), and in P 2 are 7 and 3 (after wrapping around), with their costs 5, 15, 5 and 15 respectively. Among them node 7 with cost 5 is the cheapest. Since between two cheapest nodes, node 7 is cheaper, we add it as the 9 th gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, 4, 8, 2, *, *, 7).
The legitimate nodes after 6 th gene, node 2, in both directions in P 1 are 3 and 5 (after wrapping around), and in P 2 are 3 (after wrapping around) and 5, with their costs 8, 11, 8 and 11 respectively. Among them node 3 with cost 8 is the cheapest. On the other hand, the legitimate nodes before 9 th gene, node 7, in both directions in P 1 are 5 and 3 (after wrapping around), and in P 2 are 5 and 3 (after wrapping around), with their costs 7, 8, 7 and 8 respectively. Among them node 5 with cost 7 is the cheapest. Since between two cheapest nodes, node 5 is cheaper, we add it as the 8 th gene in the offspring, and hence the partially constructed offspring chromosome will be (1, 6, 9, 4, 8, 2, *, 5, 7).

D. Mutation Operator
After applying crossover operator, mutation operator is applied. The mutation operator randomly selects a position in the chromosome and changes the corresponding allele (value of a gene), thereby modifying information. The need for mutation comes from the fact that as the less fit members of successive generations are discarded; some aspects of genetic material could be lost forever. By performing occasional random changes in the chromosomes, GAs ensure that new parts of the search space are reached, which selection and crossover alone couldn't fully guarantee. In doing so, mutation ensures that no important features are prematurely lost, thus maintaining the mating pool diversity. For the TSP, the classical mutation operator does not work. For this investigation, we have considered the reciprocal exchange mutation that selects two nodes randomly and swaps them.

III. DESIGN OF OUR GENETIC ALGORITHMS
A simple GA may be summarized as follows: Step 1: Create initial random population of chromosomes of size Ps and set generation = 0.
Step 2: Evaluate the population.
Step 3: Set generation = generation + 1 and select good chromosomes by selection procedure.
Step 4: Perform crossover with crossover probability P c .
Step 5: Perform bit-wise mutation with mutation probability P m .
Step 6: Replace old population with new one.
Step 7: Repeat Steps 2 to 6 until the terminating criterion is satisfied.
As suggested in [18] if the performance of the distancebased crossover is compared with blind crossovers, the comparison is not going to be as fair as it should be. So, we consider both types of crossover operators. There are eight possible selections for crossover operator, which are: PMX, OX, AEX, CX, GX, SCX, BCSCX and ASCX respectively. Within one selection, a single crossover operator is executed.
However, we apply two possibilities of selecting mutation-presence or absence of mutation. There are eight possible selections for crossover operator along with two possibilities of mutation, thus providing altogether sixteen variants of GAs. The goal of such separate execution is to measure effectiveness of specific operator and to find their comparative ranking. Note that each variant GA is purely simple or non-hybrid, which is built of GA procedures and operators, and it does not combine elements of any other www.ijacsa.thesai.org heuristic or metaheuristic algorithm. However, GA search process is guided by some parameters, namely, population size that determines number of chromosomes in a population, crossover probability that states the probability of performing crossover between two parent chromosomes, mutation probability that specifies the probability of performing bitwise mutation, and termination condition that specifies condition to stop the GA search.

IV. COMPUTATIONAL EXPERIENCES AND DISCUSSIONS
In order to compare the efficiency of the different crossover operators, variant GAs using different crossovers have been encoded in Visual C++ on a Laptop with i3-3217U CPU@1.80 GHz and 4 GB RAM under MS Windows 7, and run for twelve benchmark TSPLIB instances [34]. In these twelve problem instances, the ftv33, ftv38, ft53, kro124p, ftv170, rbg323, rbg358, rbg403 and rbg443 are asymmetric, and gr21, fri26 and dantzig42 are symmetric TSPs. Initial population of chromosomes is generated randomly. The following common parameters are selected for all algorithms: population size is 50, crossover probability is 1.0 (i.e., 100%), mutation probability is 0.09 (i.e., 9%), and maximum of 1,000 generations is the terminating condition. Though GA is structured, yet randomized, so, its repeated execution on the same input data with the same number of procedures usually gives slightly different results. To compensate this randomization effect, the experiments have been repeated 50 times for each instance. The results of experiments by the sixteen GA variants are summarized in Tables II and IV. All tables are organized in the same way: a row corresponds to a problem instance (its best known solution is reported within brackets) and a column to a GA variant considered by a certain selection of crossover operator. Thus, a table entry presents the summary of results of the corresponding instance by the corresponding GA variant. The result is described by its best solution cost, average solution cost, average percentage of excess to the best known solution, standard deviation (S.D.) of costs, and average convergence time (in second). The best result for a chosen instance over all variants is marked by bold face. The percentage of excess above the best known solution, reported in TSPLIB website, is given by the Fig. 1 and Fig. 2 present results for the instance ftv170 (considering only 30 generations). Fig. 1 refers to the GA variants without mutation, and Fig. 2 to the variants with mutation, respectively. In both figures, each graph corresponds to a crossover operator, and it shows how the current solution improves depending on the number of generations. Only the three best performing crossover operators, namely, SCX, BCSCX and ASCX, are reported.
In the figures, the labels on the left margin denote the solution cost, while the labels on the right margin refer to percentage of excess to the best known solution (Excess (%)). All crossover operators have some randomized factors that make them more effective when trying to add an allele. The more randomized these operators are, the more possibilities of progress should have. Fig. 1 shows that SCX has some variations, but it is not the best. Though BCSCX and ASCX have less variations and are competing each other, still ASCX provides us best results. But it has limited variation range and gets stuck in local minimums very quickly. From Fig. 2, it is observed that mutation always improves performance by helping crossovers to escape from local minima. Table II reports results by the eight GA variants where mutation is not applied. With respect to the average cost, it is very clear from Table II that distance-based crossovers are far better than blind crossovers. Among the crossovers, GX, SCX and BCSCX obtain lowest average cost with lowest S.D for the instances danzig42, gr21 and fr26 respectively. The crossovers SCX and BCSCX are competing. The proposed crossover ASCX obtains lowest average costs with lower S.D. for remaining nine instances, namely, ftv33, ftv38, ft53, kro124p, ftv170, rbg323, rbg358, rbg403 and rbg443. So, among all the crossovers ASCX is found to be the best. Based on best solution costs also ASCX is found to be the best. The results are depicted in Fig. 3, which also shows the effectiveness of our proposed crossover operator ASCX.    Among the blind crossovers, OX and AEX are competing. OX obtains lower average solutions for seven instances, namely, gr21, ft53, kro124p, rbg323, rbg358, rbg403 and rbg443, whereas AEX obtains lower average costs for five instances, namely, fri26, ftv33, ftv38, dantzig42 and ftv170. From this observation, one can tell that OX is better than AEX, and PMX and CX show very bad performances.
In order to decide if ASCX-based GA average (without mutation) is significantly different than the averages obtained by other GA variants, we performed Student's t-test. It is to be noted that we performed 50 runs for every problem instance considered here. We used the following t-test for the case of two big independent samples [35]: The values of ̅ and are obtained by the ASCX-based GA, while of ̅ and values are obtained by other GA variants. The calculated values of the t statistic are reported in the Table III. The t values can be positive or negative. The positive value indicates that the ASCX obtained better solution than the competitive GA variant. In the negative case, the competitive algorithm obtained better solution. We used confidence interval at the 95% confidence level (t 0.05 = 1.96). When tvalue is greater than 1.96, the difference between the two values is significant. In this situation, the ASCX solution is better, when t has positive value. Negative t value means that the competitive GA variant has better solution. The case when t-value is less than 1.96, it corresponds to the situation that the difference between the observed values is not significant. The table also reports the information about the GA variants that obtained significantly better solutions.
In the case of three instances there is no statistically significant difference between ASCX and BCSCX. On nine instances ASCX is better than BCSCX. There is no significant difference between ASCX and SCX on one instance only. ASCX performed better than SCX on eleven instances. Next, ASCX performed better than GX on eleven instances, GX performed better than ASCX on one instance only. Finally, when comparing ASCX against blind crossovers, PMX, OX, AEX and CX, we found that ASCX performed better on all twelve instances, but it is not reported.    Table IV reports results by the eight GA variants where mutation is applied. With respect to the average cost, it is once again very clear from the Table IV that distance-based crossovers are superior to blind crossovers. Among the distance-based crossovers, GX is the worst, however, it obtains best cost for danzig42 only. Though SCX could not obtain lowest average cost, but it obtains best costs for the instances gr21 and fr26 at least once in 50 runs. The crossovers SCX and BCSCX are competing. SCX obtains lower average cost for nine instances, whereas BCSCX obtains lower average cost for three instances only. However, BCSCX obtains lowest average solution for the instance fri26 and ASCX obtains lowest average solutions with lower S.D. for eleven instances, namely, gr21, ftv33, ftv38, dantzig42, ft53, kro124p, ftv170, rbg323, rbg358, rbg403 and rbg443. So, among all the crossovers ASCX is found to be the best. Based on best costs also ASCX is found to be the best. The results are depicted in Fig. 4, which also shows the effectiveness of our proposed crossover operator ASCX. So, whether mutation is used or not, the best performance is accomplished by ASCX. However, based on convergence time blind crossovers found to be better than distance-based crossovers, and PMX is the best one.
Among the blind crossovers, CX show very bad performances that obtains lower average solution for no any instance; PMX obtains lower average costs for the instance ft53 only; OX obtains lower average solutions for six instances, namely, gr21, kro124p, rbg323, rbg358, rbg403 and rbg443; whereas AEX obtains lower average solutions for five instances, namely, fri26, ftv33, ftv38, dantzig42 and ftv170. From this observation one can say that OX is the best and CX is the worst. However, CX obtains best solution at least once in 50 runs for gr21.
Here also, in order to decide if ASCX based GA (with mutation) average is significantly different than the averages obtained by other GA variants, we perform Student's t-test and the calculated values of the t statistic are reported in the Table V.
In the case of one instance there is no statistically significant difference between ASCX and BCSCX, and ASCX and GX. On eleven instances ASCX is better than BCSCX and GX. ASCX performed better than SCX on all twelve instances. While comparing SCX against BCSCX (of course, not reported in any table here), we found that on most of the instances there is no statistically significant difference between them, we can treat them statistically equivalent. Finally, when comparing ASCX against blind crossovers, PMX, OX, AEX and CX, we found that ASCX performed better on all twelve instances, except for one instance, gr21, there is no statistically significant difference between ASCX and OX, but it is not reported.
Table V also reports calculated values of the t statistic of blind crossovers against OX. On two instances there is no statistically significant difference between OX and CX. On two instances CX is better than OX, whereas on eight instances OX is better than CX. On five instances PMX is better than OX, whereas on seven instances OX is better than PMX. On six instances OX and AEX are better than each other. So, among the blind crossovers OX is the best and CX is the worst.
Based on the above study it very clear that the proposed crossover operator ASCX is the best, BCSCX and SCX are equivalent and the second-best, and CX is the worst. Among blind crossovers OX is the best. About the performance of blind crossovers same observation is made in [36]. However, in terms of convergent time, PMX is found to be the best.  The crossovers ASCX and HX hit best known solutions for the instances gr21 and fri26, whereas ASCX, CX2 and HX hit best known solution for the instance dantzig42 at least once in 30 runs. In terms of best solution cost, except for the instance dantzig42, ASCX is found better than CX2, and except for gr21, fri26 and dantzig42, ASCX is better than HX. However, in terms of worst and average solution costs ASCX is found to be the best among three crossover operators for all instances. From this study it is very clear that our proposed crossover ASCX is far better than CX2 and HX.

V. CONCLUSION AND FUTURE WORKS
Several crossover operators have been proposed and reported for the TSP by using GAs. We have proposed a new crossover operator, named ASCX, for the TSP. This proposed operator upgrades the SCX and improved the quality of offspring. It is easy to execute and always generates a valid offspring. We focused on some blind crossover operators, namely, PMX, OX, AEX and CX, and distance-based crossover operators, namely, GX, SCX and BCSCX along with ASCX. Firstly, we applied these operators on a pair of chromosomes in manual experiment and found that ASCX performed very good. Then for a significant performance, twelve benchmark instances from the TSPLIB (traveling salesman problem library) have been considered. We developed sixteen variant GAs using crossovers with/without mutation and carried out comparative study of the GAs on the instances. In terms of solution quality, our comparative study showed that distance-based crossovers are far superior than the blind crossovers, and our proposed crossover operator ASCX is the best, BCSCX and SCX are the second-best, and CX is the worst. However, among blind crossovers OX is found to be the best. This observation is verified by Student's t-test at 95% confidence level. Further, we carried out a comparative study among CX2, HX and ASCX, and found that our proposed crossover ASCX is the best. Thus, our proposed operator may be good operator to find more better and accurate results, researchers may use it for other related combinatorial optimization problems.
In this present study, we considered the original version of some crossover operators. Our objective was only to compare the quality of the solutions obtained by the crossover operators, neither to improve the solution quality by any of the operators nor to design the most competitive algorithm for the TSP. So, we neither used any local search technique to enhance the solution quality nor developed parallel version of algorithms to find exact solution. Consequently, we have limited ourselves to simple and pure GA process. Also, we set highest crossover probability to display exact nature of crossover operators. Mutation might be used with lowest probability just not to get stuck in local minima quickly. However, one can incorporate good local search procedure to the hybridize the algorithm, and thus, to solve problem instances exactly, which is under our investigation. Finally, the advantage and helpfulness of the ASCX can be tested on other combinatorial optimization problems.