1 Introduction

Genetic algorithms (GAs), the bio-inspired and stochastic global optimization techniques are most popular in dealing complex problems with very large search space efficiently in the majority of the cases. GAs belong to the family of evolutionary computation models inspired by biological evolution, natural selection and survival of the fittest in living organisms. The life cycle of classical GA consists of the several phases like initial population (population seeding), selection, crossover, mutation and termination constraint (Paul et al. 2014). The first phase occurs only once, and the rest of the phases are repeated until the termination condition is satisfied. Generally, the classical GA takes more computation time to evolve at an optimal solution, which may be rectified using heuristics in a problem-specific manner. In other words, the heuristics may definitely reduce the computation time to improve the overall ability and to evolve the optimal solution, thus resulting in hybrid GA (Marinakis et al. Marinakis and Marinaki 2010; Chen and Chien 2011; Yingzi et al. 2007; Wang et al. 2014). Many researchers recommend modification or hybridization in each phase of the genetic algorithm using problem-specific knowledge to enhance the solution quality and/or efficiency of the algorithm. Hybridization of GA makes the algorithm more problem dependent (less robust), but the performance in terms of convergence and computation time can be improved significantly (Sivanandam and Deepa 2008). The performance of the GAs may be improved through various phases of GA. Normally in all cases, the issue of performance tuning may be carried out in a phase-specific manner and of course, the phase-specific improvement will automatically result in overall improvement.

In GA, crossover comprehends the construction of the offspring using the individuals selected from the population (Pandey 2016; Pan et al. 2016). In Nagata (2004), Nagata discussed the significances of the crossover operator in GA to evolve the final optimal solution and presented a set of critical factors to be considered in designing a crossover operator for GA.

  • The ratio of new characteristics introduced into the offsprings should be adjusted according to the trade-off between the quality and variety of the offsprings.

  • The quality of the new characteristics should be constructive (the probability that new characteristics are included in an optimal solution should be high).

Problem-specific crossover methods can be utilized to recuperate the feasibility of solutions produced by the traditional crossover operators (El-Mihoub et al. 2006). The crossover phase is highly associated with the population initialization phase; the crossover operator has to exploit the potential of the individuals generated initially and to improve the individual’s quality in the successive generations. The overall performance of the GA highly depends on the quality of the initial population supplied and also the type of crossover operator used to manipulate the individuals to obtain the final optimal solution (Andal and Sathiamoorthy 2001). Specifically, the association between the principles of the population seeding technique and crossover operator plays a vital role in reducing the computation time and increasing the probability of finding the global optimal solution. If the population seeding and the crossover techniques are not principally associated together, the crossover would destroy the potential information induced at the initialization stage and try to enhance the quality of the solution in its own method at every generation, which may cause an extensive delay in attaining the optimal value. On the other hand, when the population seeding technique and crossover operator follow the similar principle of generating or improving the quality of individuals, it can enhance the speed of convergence as well as the quality of best individual (Andal and Sathiamoorthy 2001). From the previous sections, it has been observed that the ODV-based methods work best with respect to convergence rate and diversity. However, it is necessary to point that it could not achieve the zero error-rate convergence for any of the large-sized test instances after a certain point of generations. This would be because of the difference in the principles of the population seeding and crossover techniques (Poon and Carter 1995). From this perspective, designing an ODV-based crossover operator that exclusively exploits the advantages of individuals’ generated using ODV initialization methods may assist to attain the best optimal solution, particularly for large-sized test instances.

2 Background study

In this section, the recent and popular population seeding and crossover techniques for combinatorial GA are discussed in Sects. 2.1 and 2.2, respectively, for a better understanding of the work proposed and the experimental setup.

2.1 Study on the population initialization techniques

Random Initialization Random population initialization is the simple and common population generation technique preferred when lacking prior information on the problem to solve. A variety of random number generation methods have been proposed such as quasi-random, Sobol random and uniform random sequence (Deng et al. 2015; Katayama et al. 2000).

Nearest Neighbor (NN) Technique Nearest Neighbor (NN) population seeding technique is a well-known replacement for random population initialization, to construct the initial population of solutions, in greedy fashion, for permutation-coded GAs (Kaur and Murugappan 2008; Ting 2013; Shubhra et al. 2007).

Selective Initialization (SI) Technique In Rong (1997), a selective initialization scheme using k-nearest-neighbor sub-graph has been proposed. In this technique, a k-nearest-neighbor sub-graph is formulated, from the distance matrix, as a graph includes all routes of cities ci and cj, such that the city ci is among the k-nearest neighbors of city cj or city cj is among the k-nearest neighbors of city ci, i.e., a list of k-nearest neighbors for each city is generated in advance.

The hybrid population seeding techniques have the benefit of good quality individuals and fast convergence, but lack in terms of randomness, individual diversity and ability to converge to the global optimal solution. Therefore, an efficient ordered distance vector (ODV)-based population seeding technique is proposed and detailed theoretical discussion can be found in Paul et al. (2013a, b), Shanmugam et al. (2013) and Moganarangan et al. (2014). Paul et al. (2013a, b) and Arthi et al. (2015). The two significant characteristics that make the ODV population seeding technique distinct from the other techniques are potential sequence and individual diversity. Based on these two characteristics, three different varieties of ODV-based population seeding techniques have been proposed, namely ODV-EV, ODV-VE and ODV-VV techniques. In the same literature, ‘ba’ value has been defined as follows: The Best Adjacent (ba) number is an important factor and derived using the assumption that, in an optimal solution, any city ci is connected to city cj such that cj is one of the ci’s nearest ‘ba’ number of cities.

2.2 Study on the crossover techniques

The quality preserved crossover operators conserve the good information from the parent individuals and add new information heuristically such that the quality of the offspring could be improved. Whitely et al. (1989) claim that the preservation of gene order-based quality is more important than the positions of the individual gene in the design of crossover operators for combinatorial problems. This kind of crossover operators is also called as edge-based operators in case of TSP and vehicle routing problems. The various quality preserved crossover techniques are discussed as follows:

Edge Recombination Crossover (ERX) Edge Recombination Crossover was developed by (Whitley et al. 1989), assuming that only the quality of genes is important not their direction. It inherits common sequence of genes from parent solutions as much as possible and randomly adds new genes to generate feasible solutions. Mathias and Whitley (1992) introduced subsequent versions of ERX, Edge-2 and Edge-3. The Edge-2 method improves ERX by increasing the preference for the information present in both parents and Edge-3 attempts to minimize the inclusion of new information on the occurrence of crossover failure. Edge-4 and Edge-5 proposed by Nguyen et al. (2000) try to recover from the crossover failures using different methods, and performance improvement has been investigated using TSP. Though several variants of ERX are available, the crossover failure could not be eradicated completely.

Edge Assembly Crossover (EAX) In Nagata and Kobayashi (1997), Nagata proposed an effective Edge Assembly Crossover (EAX) in which search block identifies the best individual to exchange the information among the parents for large problem instance in a considerable CPU time (Tsai et al. 2004). EAX shows the best performance being compared with other crossovers from the viewpoints of inheritance of good information (Fei and Guangzhou 2009).

Partition Crossover (PX) The partition crossover operator (Whitley et al. 2009; Whitley et al. 2010; Hains 2012) attempts to recombine two parent individuals that are locally optimal to build the offsprings which are expected to be local optimal individuals. Thus, the PX acts as a tunnel between the local optimal solutions in the search space.

Sub-tour Recombination Crossover operator (SRX) Masafumi et al. (2010) proposed Sub-tour Recombination Crossover operator (SRX) that segregates the parent individuals into several subsequences whose lengths are restricted to a predefined value and then recombines the subsequences from both parents to build a new solution which improves the effective recombination capability.

A multi-parent crossover is a new and interesting approach in GA to generate the offspring using the potential information of more than two parent individuals. In Liu et al. (2012), the authors proposed a novel cluster oriented differential evolution model using two multi-parent crossover techniques. The proposed crossover is the hybrid approach of the one-step k-means clustering using the objective space distance measure and multi-parent crossover with DE. A novel diversity-based hybrid evolutionary model had been proposed for the graph coloring problem (Porumbel et al. 2010). In the work, they introduced a special cluster-based multi-parent crossover operator which depends on the various significant features to identify the meaningful information for the offspring construction. Ting et al. (2010) proposed a multi-parent partially mapped crossover for combinatorial optimization problems. The model works by choosing a collection of parents and applying the partially mapped crossover based to construct the offspring.

A set of multi-parent crossovers for real-coded GAs had been proposed in Wang et al. (2016), Tsutsui and Ghosh (1998), Tsutsui and Jain (1998) such as center of mass crossover, feature-oriented multi-parent crossover, and seed crossover. The authors also showed that proposed multi-parent crossovers can explore and exploit the search space for improved performance though the performance is problem-specific. These studies validate the dominance of multi-parent crossover over traditional two-parent crossover. The performance of the multi-parent crossover approach is often validated on numerical optimization problems (Eiben 2002; Ting 2005; Tsutsui et al. 1999; Tsutsui and Ghosh 1998; Tsutsui and Jain 1998) rather than on combinatorial problems (Ting et al. 2010; Eiben et al. 1994). Thus, the multi-parent crossover-based approach to solve combinatorial optimization problems is still lacking.

3 Proposed system

3.1 Problem statement

As described in Sect. 1, the coordination between the population seeding and the crossover techniques used in the GA plays a vital role in exploring the search space and exploiting the quality of individuals generated at each generation. At the same time, the operational difference in the individual initialization and manipulation techniques may take a long time to converge to an optimal solution and also reduce the probability of obtaining the global optimal solution (Sivanandam and Deepa 2008). On the other hand, the ODV-based population seeding technique was proved as an effective method for population initialization for permutation-coded GA (Paul et al. 2014, 2015); the study also reveals that the existing random and quality preserved crossovers could not exploit the potential of individuals generated at the initial stage. These factors motivated to propose an effective ODV-based Crossover Operator, based on the ODV matrix used at the population seeding stage, to bridge the operational difference in the initialization and crossover methods and also to exploit the potentials of individuals generated using ODV initialization technique.

3.2 ODV-based crossover operator (ODVX)

3.2.1 Principles of ODVX operator

The ODV-based crossover operator (ODVX) uses the ODV matrix (Paul et al. 2014, 2015) and multi-parent techniques (Chuan 2007) to perform the crossover operation. In addition to these, the proposed crossover operator modifies and extends the failure reduction method dealt in Chuan (2007) to effectively handle the situation of crossover failures. There are four significant characteristics that make the ODV-based crossover technique distinct from the others and they are as follows:

  • Multi-parent crossover In general, crossover operation is performed by recombining the information of two parent individuals. But, the multi-parent recombination technique (Chuan 2007) allows more than two parents to participate in the recombination process. The main advantage of the multi-parent method over the two parent method is that it helps to produce the offsprings with more possible combinations and quality information from different parents improves the diversity of the offsprings. The multi-parent method also has the inbuilt characteristic to overcome the crossover failures by extracting ample information from the parents.

  • Two-way potential extraction The best performing crossovers, like PX and EAX, attempt to extract the goodness of the parent individuals in a single direction and completely neglecting the possible extort from another way. This reduces the quantity of potential information inherited from the parent individuals and also the possibility of generating different combinations of offspring for better search space exploration. The ODVX operator, similar to ERX, follows two-way potential extraction method to inherit the goodness of the parent individuals to the extent that possible.

  • Better new information inclusion Inclusion of new information into the offspring is crucial to enhance the effectiveness and exploration capability of the crossover operator. The existing crossover techniques introduce the new information either by random (Maaranen et al. 2004) or greedy (Yingzi et al. 2007) methods; however, the random method may collapse the potential of the offspring produced and the greedy method increases the chance of getting trapped in the local optima (Sivanandam and Deepa 2008). In contrast, the proposed ODVX technique introduces fresh information into the offsprings using ODV matrix, which is formulated with features such as randomness, potential sequence and diversity, and helps to overcome the problems that exist with random and greedy methods.

  • Crossover Failure Evading Occurrence of crossover failure results in the introduction of strange information into the offspring, either by random or greedy fashion, to overcome the failure. As discussed, this may get struck at the local optima and also agitate the quality of the offspring produced. The proposed ODVX technique uses a set of rule-based offspring (partially built) alteration schemes to effectively overcome the crossover failure condition.

These characteristics facilitate the proposed ODVX technique to effectively inherit the potential information from the parent individuals into the offspring and also to enhance the exploitation and exploration capabilities of the crossover operator.

3.2.2 Algorithm for ODVX operator

The algorithm for ODVX operator consists of five different stages as in Algorithm 1, and each stage performs a set of operations to produce the offspring(s) with better quality. The five stages of the ODVX, shown in Fig. 1, can be briefed as follows:

Fig. 1
figure 1

Stages of ODV crossover operator

  • Stage-1: Parents Selection This stage selects a precise number of parent individuals from the current population based on the size of the problem instance and the frequency of crossover failure.

  • Stage-2: Initial Reduction This stage offers a single-step quality improvement operation on each parent individuals selected.

  • Stage-3: City List Formulation A City List is formulated using the information present in these of improved parent individuals.

  • Stage-4: Offspring Construction This stage performs a set of rule-based offspring generation operations using the City List generated at the Stage-3 of the algorithm.

  • Stage-5: Failure Evading This stage is an on-demand scenario; invoked only on the occurrence of crossover failure at the Stage-4. This stage uses a set of rule-based offspring (partially built) alteration schemes to effectively overcome the crossover failure condition.

  • Stage-6: Final Reduction This stage offers a single-step quality improvement operation on each offspring individuals generated at the Stage-4 of the algorithm.

The functionalities of each stage of the algorithm are explained as follows:

  • Stage-1: Parents Selection

The Stage-1 decides the number parent individuals to be selected for recombination with respect to the factors such as the size of the problem, expected the quality of the offspring and the frequency of the crossover failure. Let ‘k’ be the set of ‘m’ number of parents selected from the current population,

$$ k = \left\{ {k_{0} ,k_{1} ,k_{2} \ldots k_{\text{m}} } \right\} $$

The mixture of ‘m’ number of parents chosen can be given as,

$$ m = m_{\text{el}} + m_{\text{pop}} $$

where

  • mel’ refers to the number of parents selected from the elitist part of the current population.

  • mpop’ refers to the number of parents selected from the current population (except elitist).

The value of ‘m’ is decided based on the size of the problem and requirement to reduce the number of crossover failure. The value of ‘m’ is inversely proportional to the number of crossover failures and directly proportional to the computation time. The value of ‘mel’ is chosen based on the requirement of the transfer of quality information from the best (elitist) solutions of the current population. The ‘mel’ is kept high on the need of fast convergence and low to increase the exploration of the search space. It is better to gradually increase the ‘mel’ toward the termination of the algorithm. The ‘mpop’ helps to evolve different combinations of the offspring and also decides the crossover failure evading and search space exploration abilities of the operator.

  • Stage-2: Single Reduction

This stage helps to improve the quality of the parent individuals in prior to the actual crossover process. Let ‘ki’ be a parent individual from the set ‘k’. Find ci and cj are the cities in ki with the largest distance value and then discover the cities cx and cy in ki which satisfy the following condition,

$$ {\text{dist}}\left( {c_{i} ,c_{j} } \right) + {\text{dist}}\left( {c_{x} ,c_{y} } \right) > \hbox{min} \left( {{\text{dist}}\left( {c_{i} ,c_{x} } \right) + {\text{dist}}\left( {c_{j} ,c_{y} } \right),{\text{dist}}\left( {c_{i} ,c_{y} } \right) + {\text{dist}}\left( {c_{j} ,c_{x} } \right)} \right) $$

It should be also noted that the rank of cities to which ci and cj are joined (cx and cy, respectively) should be less than or equal to the ‘ba’ value used at the population seeding stage of the GA (Paul et al. 2013a, b). If no cities satisfy such condition, then the condition has to be checked for the next largest distance cities in ki. The total number of times the Single Reduction step \( n\left( {\text{SR}} \right) \) is performed at the completion of the GA can be given as,

$$ n\left( {\text{SR}} \right) = n \times {\text{Gen}} $$

where

  • ‘n’ is the size of the population.

  • ‘Gen’ is the total number of generations of execution.

Thus, the Stage-2 of ODVX attempts to improve the quality of the individuals with a simple operation which helps to enhance the overall efficacy of the algorithm.

  • Stage-3: City List Formulation

In this stage, a City List cityList has been formulated, similar to Edge List in ERX (Whitley et al. 1989), which is a two-dimensional matrix of size \( n \times 2m \) and filled up using the information present in the set of improved parent individuals. Each row in the cityList corresponds to the city \( c_{i} , \) where \( i \in \left\{ {1,n} \right\}, \) can be represented as \( cityList\left( {c_{i} } \right) \) and initialized as \( cityList\left( {c_{i} } \right) = \emptyset \) at the start of the stage. The \( cityList\left( {c_{i} } \right) \) can be updated with the cities adjacent to the city \( c_{i} \) in each of the parent individual in the set k. The same city can be adjacent to a particular city in more than one parent individual and such repeated adjacent city is marked with its corresponding repetition number. The repetition number of city ci for city cj, \( {\text{rep}}\left( {c_{i} ,c_{j} } \right) \) can be given as,

$$ {\text{rep}}\left( {c_{i} ,c_{j} } \right) = \mathop \sum \limits_{i = 1}^{m} k_{i} \left( {{\text{adj}}\left( {c_{i} ,c_{j} } \right)} \right) $$
figure b

where \( k_{i} \left( {{\text{adj}}\left( {c_{i} ,c_{j} } \right)} \right) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{if}}\;'c_{i} '\;{\text{is}}\;{\text{adjacent}}\;{\text{city}}\;{\text{to}}\;'c_{j} '\;{\text{in}}\;{\text{the}}\;{\text{individual}}\;'k_{i} '} \hfill \\ {0,} \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right. \)

In the existing works, the range of length of the cityList for any city can be given as

\( 2 \le {\text{len}}\left( {cityList} \right) \le 4 \) [ERX]. But in the proposed ODVX technique, the range of the possible length of the cityList for a city can be \( 2 \le {\text{len}}\left( {cityList} \right) \le 2m \). This increased size of the cityList helps to achieve the aforesaid characteristics such as better crossover failure evading and search space exploration.

  • Stage-4: Child Initialization and Neighbor City Selection

This stage produces a set ‘l’ with ‘m’ number of offsprings \( l = \left\{ {l_{0} ,l_{1} , \ldots l_{m} } \right\} \) using the cityList formulated at the previous stage of the algorithm. ‘l’ will create a set of children ‘l’ with ‘m’ individuals. For each offspring li in ‘l’, the initial city would be assigned from the parent individual \( k_{i} \) in the set ‘k’.

$$ \forall i \in \left[ {1,m} \right],\;inicity\left( {l_{i} } \right) \leftarrow inicity\left( {k_{i} } \right) $$

where

  • \( inicity\left( {k_{i} } \right) \) refers to the initial city of the ith parent individual in the set k.

  • \( inicity\left( {l_{i} } \right) \) refers to the initial city of the ith offspring in the set l.

For each offspring, the successive cities are identified, until \( {\text{len}}(c_{y} ) < l_{i} , \) as follows: Let \( c_{x} \) be the current city of the offspring \( l_{i} \), next city \( next(c_{x} ) \) has to be chosen from the \( cityList(c_{x} ) \) using the following conditions in sequence,

Condition 1

If each of the city in the \( cityList(c_{x} ) \) already present in the partially built offspring \( l_{i} \), then the operation halts without the continuing city and the situation is referred as crossover failure at city \( c_{x} , \) the \( {\text{fail}}(c_{x} ). \). The Stage-5 is called upon to overcome the failure using a set of offspring modification rules.

Condition 2

If any city \( c_{y} \) such that \( c_{y} \in cityList\left( {c_{x} } \right) \) and has the highest repetition number corresponding to the \( c_{x} , \), it would be chosen as the next city provided is not already present in the partially built offspring \( l_{i} . \)

$$ \begin{aligned} & {\text{rep}}\left( {c_{x} ,c_{y} } \right) > \forall o \in \left[ {1,cityList\left( {c_{x} } \right) - 1} \right],{\text{rep}}\left( {c_{x} ,c_{o} } \right)\;{\text{and}}\;{\text{rep}}\left( {c_{x} ,c_{y} } \right) > 2 \\ & \therefore \;{\text{next}}(c_{x} ) = c_{y} \\ \end{aligned} $$

where

  • \( cityList\left( {c_{x} } \right) - 1 \) refers to the cityList of corresponding city \( c_{x} \) excluding the city \( c_{y} . \)

This condition identifies the city which is adjacent to city \( c_{x} \) in most of the parents and consequently helps to inherit the combined better information from the set of parent individuals.

Condition 3

If two or more cities have the same repetition number corresponding to the \( c_{x} , \) the city which belongs to the same parent of the previous city of \( c_{x} \) in the partially built offspring \( l_{i} \) would be chosen as the next city. This condition can be represented as,

$$ \begin{aligned} & c_{y} ,c_{z} \in cityList\left( {c_{x} } \right) \;{\text{and}}\;{\text{rep}}\left( {c_{x} ,c_{y} } \right) = {\text{rep}}\left( {c_{x} ,c_{z} } \right) \ge 2 \\ & {\text{If}}\;c_{x - 1} \;{\text{in}}\; l_{i} = c_{y - 2} \;{\text{in}}\;k_{i} \;{\text{then}}\;{\text{next}}(c_{x} ) = c_{y} \\ & {\text{Similarly}},{\text{If}} \;c_{x - 1} \;{\text{in}}\;l_{i} = c_{z - 2} \;{\text{in}}\;k_{i} \;{\text{then}}\;{\text{next}}(c_{x} ) = c_{z} \\ \end{aligned} $$

where

  • \( c_{x - 1} \) is the city at the previous position to the current city \( c_{x} \) in \( l_{i} . \)

This condition attempts to inherit the long better information from the same parent individual.

Condition 4

If the previous city \( c_{x - 1} \) does not belong to position \( c_{y - 2} \) or \( c_{z - 2} \) in any of the parents corresponding to the cities \( c_{y} \) and \( c_{z} , \) the next city which has the least \( {\text{len}}\left( {cityList} \right) \) would be chosen from the cities with the same repetition number.

$$ \begin{aligned} & {\text{If}}\;c_{x - 1} \;{\text{in}}\;l_{i} \ne c_{y - 2} \;{\text{in}}\;k_{i} \;{\text{and}}\;c_{x - 1} \;{\text{in}}\;l_{i} \ne c_{z - 2} \;{\text{in}}\;k_{i} \;{\text{then}}, \\ & {\text{Check}}\;{\text{len}}\left( {cityList(c_{y} )} \right) < {\text{len}}\left( {cityList(c_{z} )} \right) \\ & \therefore \;{\text{next}}(c_{x} ) = c_{y} \\ \end{aligned} $$

If \( {\text{len}}\left( {cityList(c_{y} )} \right) = {\text{len}}\left( {cityList(c_{z} )} \right) \), then \( {\text{next}}(c_{x} ) \) is chosen among the cities \( c_{y} \) and \( c_{z} \) randomly. This condition tries to choose the city with minimum continuing cities and thus helps to improve the crossover evading feature of the operator.

If the conditions 2, 3 and 4 fail to select the \( {\text{next}}(c_{x} ) \) for the current city \( c_{x} \), then this situation is also referred as the crossover failure, \( {\text{fail}}(c_{x} ) \) and Stage-5 is called upon to overcome the failure.

  • Stage-5: Failure Evading

The Stage-5 is invoked on the occurrence of crossover failure at the Stage-4. This stage applies a set of rule-based alteration schemes on the partially built offspring \( l_{i} \) to effectively overcome the crossover failure condition. If crossover failure \( {\text{fail}}(c_{x} ) \) occurred at the current city \( c_{x} \), then following rules are employed, in sequence, to overcome the crossover failure,

Rule 1

Check whether the other end of the partially built offspring \( l_{i} \) has any unvisited city in its cityList. If so, continue from the city at the corresponding end. Let, the partially built individual is

\( l_{i} = \left\{ {c_{1} , c_{2} ,c_{3} \ldots c_{x} } \right\} \), where \( c_{x} \) is the current city with crossover failure.

If \( len\left( {cityList(c_{1} )} \right) \ge 1 \), then \( l_{i} \leftarrow l_{i} = \left\{ {c_{x} , c_{x - 1} ,c_{x - 2} \ldots c_{2} ,c_{1} } \right\} \)

Now, the current city is \( c_{1} \) and continue with Stage-4 of operations to find the \( {\text{next}}(c_{1} ). \)

Rule 2

If the Rule 1 fails, check whether the current city \( c_{x} \) has the first city \( c_{1} \) in its cityList. If so, identify any city in the partially built child \( l_{i} \) has \( {\text{len}}\left( {cityList()} \right) > 0. \) If exist, join the ends of the partially built child and continue with two new ends. This can be exemplified as,

Let \( l_{i} \) be the partially built child,

$$ \begin{aligned} & l_{i} = \left\{ {c_{1} , c_{2} , \ldots c_{u} ,c_{v} , \ldots c_{x - 1} ,c_{x} } \right\} \\ & c_{x} \in cityList\left( {c_{1} } \right) \\ \end{aligned} $$

\( {\text{fail}}(c_{1} ) \;{\text{and}}\;{\text{fail}}(c_{x} ) \) is TRUE,If \( {\text{len}}\left( {cityList\left( {c_{v} } \right)} \right) > 0 \)Then modify \( l_{i} \) as, \( l_{i} \leftarrow l_{i} = \left\{ {c_{u} , c_{u - 1} , \ldots c_{2,} c_{1} , c_{x} ,c_{x - 1} \ldots c_{v + 1} ,c_{v} } \right\} \)

Now, the current city is \( c_{v} \) and continue with Stage-4 of operations to find the \( {\text{next}}(c_{v} ). \)

Rule 3

If both Rules 1 and 2 fail, find a list of cities \( {\text{list}}(c_{x} ) \) using the cities present in the partially built child \( l_{i} \) and also in the cityList of the current city \( c_{x} . \) Then, find a city in \( l_{i} \) which is right adjacent to the city in \( {\text{list}}(c_{x} ) \) and also has minimum unvisited cities in its cityList. If so, rotate the partially built child in such a way to connect the corresponding city in the \( {\text{list}}(c_{x} ) \) with the city \( c_{x} \) and continue with the corresponding adjacent city.

Let \( l_{i} \) be the partially built child,

$$ \begin{aligned} & l_{i} = \left\{ {c_{1} , c_{2} , \ldots c_{u - 1} ,c_{u} ,c_{v} ,c_{v + 1} \ldots c_{x - 1} ,c_{x} } \right\} \\ & {\text{list}}(c_{x} ) \leftarrow \forall c_{o} ,c_{o} \;{\text{in}}\; l_{i} \in cityList\left( {c_{x} } \right) \\ \end{aligned} $$

\( {\text{fail}}(c_{1} ),\;{\text{fail}}(c_{x} )\;{\text{and}}\;c_{x} \notin cityList\left( {c_{1} } \right) \) is TRUEIf, \( c_{u} \leftarrow \exists c_{o} \in {\text{list}}(c_{x} ),{\text{adj}}(c_{o} ,c_{o + 1} )\;{\text{in}}\;l_{i} \;{\text{and}}\;\hbox{min} \left( {{\text{len}}\left( {cityList(c_{o + 1} )} \right)} \right) \)Modify \( l_{i} \) as,

$$ l_{i} \leftarrow l_{i} = \left\{ {c_{1} , c_{2} , \ldots c_{u - 1,} c_{u} , c_{x} ,c_{x - 1} \ldots c_{v + 1} ,c_{v} } \right\} $$

Now, the current city is \( c_{v} \) and continue with Stage-4 of operations to find the \( {\text{next}}(c_{v} ). \) Similarly, attempt the same steps for another end city \( c_{1} \) by formulating the \( {\text{list}}\left( {c_{1} } \right); \) however, it has to find a city in \( l_{i} \) which is left adjacent to the city in \( {\text{list}}(c_{1} ). \)

Rule 4

If the rules 1, 2 and 3 fail, formulate the \( {\text{list}}(c_{x} ) \) as in Step 3, but using the \( {\text{ODV}}(c_{x} ) \) instead of \( cityList(c_{x} ). \) And rotate the partially built individual \( l_{i} \) as in (iii) and continue with the new end of \( l_{i} . \)

Let \( l_{i} \) be the partially built child,

$$ \begin{aligned} & l_{i} = \left\{ {c_{1} , c_{2} , \ldots c_{u - 1} ,c_{u} ,c_{v} ,c_{v + 1} \ldots c_{x - 1} ,c_{x} } \right\} \\ & {\text{list}}(c_{x} ) \leftarrow \exists c_{o} ,c_{o} \in {\text{ODV}}\left( {c_{x} } \right) \\ \end{aligned} $$

\( {\text{fail}}(c_{1} ),\;{\text{fail}}(c_{x} )\;{\text{and}}\;c_{x} \notin cityList\left( {c_{1} } \right) \) is TRUEIf \( c_{u} \leftarrow \exists c_{o} \in {\text{list}}(c_{x} ),{\text{adj}}(c_{o} ,c_{o + 1} )\;{\text{in}}\;l_{i} \;{\text{and}}\;\hbox{min} \left( {{\text{len}}\left( {cityList(c_{o + 1} )} \right)} \right) \)Modify \( l_{i} \) as,

$$ l_{i} \leftarrow l_{i} = \left\{ {c_{1} , c_{2} , \ldots c_{u - 1,} c_{u} , c_{x} ,c_{x - 1} \ldots c_{v + 1} ,c_{v} } \right\} $$

Now, the current city is \( c_{v} \) and continue with Stage-4 of operations to find the \( {\text{next}}(c_{v} ). \) Similarly, attempt the same steps for another end city \( c_{1} \) by formulating the \( {\text{list}}\left( {c_{1} } \right); \) however, it has to find a city in \( l_{i} \) which is left adjacent to the city in \( {\text{list}}(c_{1} ). \)

Rule 5

If all the above Rules fail, possibly the last few cities to be included, then the \( {\text{next}}(c_{x} ) \) would be chosen randomly from the available unvisited cities.

After the successful crossover failure evasion, the offspring construction operation is continued with the Stage-4 of the algorithm.

  • Stage-6: Final Reduction

This stage works similar to the Stage-2, but it improves the quality of the offsprings generated after the successful recombination process. The main objective of this stage is to optimize the distance between the first and last cities of the offspring which are usually anonymous to each other. Let \( c_{i} \) and \( c_{j} \) are the first and the last cities in the completely built offspring \( l_{i} , \) find the two consecutive cities \( c_{x} \) and \( c_{y} \) in \( l_{i} \) such that,

$$ {\text{dist}}\left( {c_{i} ,c_{j} } \right) + {\text{dist}}\left( {c_{x} ,c_{y} } \right) > \hbox{min} \left( {{\text{dist}}\left( {c_{i} ,c_{x} } \right) + {\text{dist}}\left( {c_{j} ,c_{y} } \right),{\text{dist}}\left( {c_{i} ,c_{y} } \right) + {\text{dist}}\left( {c_{j} ,c_{x} } \right)} \right) $$

If the condition holds, then modify the offspring to connect \( c_{i} \) and \( c_{j} \) with the corresponding \( c_{x} \) and \( c_{y} \) cities. It should be noted that the rank of cities to which \( c_{i} \) and \( c_{j} \) are joined should be less than or equal to the ‘ba’ value used at the population seeding stage.

If no cities satisfy such condition, then the condition has to be re-checked for the city \( c_{j} \) and \( c_{j - 1} \) in \( l_{i} \) and so on. Thus, the Stage-6 of ODVX attempts to improve the quality of the individuals with simple operations which helps to enhance the overall efficacy of the algorithm.

At the end of the algorithm, ‘m’ number of offsprings have been generated using the parent individuals chosen from the current population and the same procedure is repeated until the generation of ‘n’ offsprings which constitute a generation.

4 Experimentation and result analyses

4.1 Experimental setup

4.1.1 Test bed design

Experiments are carried out in a different combination of crossover operators and population seeding techniques under the similar environmental condition to validate the significances of the proposed crossover operator. The experimental setup framework is shown in Fig. 2 in which the initial populations generated with different population initialization techniques are made to recombine with recent and best working specific crossover operators until the termination condition is satisfied. The resultant populations of individuals, which are generated under similar test settings, are evaluated with the defined performance factors. The various GA parameters and their corresponding values used in the evaluation are given in Table 1. For experiments, the authors used Windows PC with Intel i5 processor with 8 GB RAM, MATLAB R2017a for implementation and SPSS for mean value-based analyses.

Fig. 2
figure 2

Experimental framework

Table 1 Genetic algorithm parameters

One of the famous combinatorial hard problems traveling salesman problem (TSP) obtained from standard TSPLIB is being chosen as the testbed [TSPLIB]. Classification of TSP instances based on the size is given in Table 2. For experiments, the performance of the ODVX crossover has been compared with the state-of-art crossover operators in combination with different population seeding techniques of the permutation-coded GA. The best performing population seeding techniques such as Random, Nearest Neighbor (NN), Selective Initialization (SI) and ODV-based techniques are chosen at the population initialization stage. The crossover techniques such as the Edge Assembly Crossover (EAX), Partition Crossover (PX), Modified Order Crossover (MOX), Sub-tour Recombination Crossover (SRX) and ODV-based crossover (ODVX) operators are selected to perform recombination operation at each generation of the GA. Therefore, with six different population seeding techniques and five different crossover operators, the final populations of thirty different GA models can be obtained which are analyzed with various assessment criteria defined in Sect. 4.1.2. This combinational style of analyses helps to validate the performance of the proposed ODVX crossover operator with different existing population seeding techniques and also the ODV-based population seeding technique proposed in (Paul et al. 2014).

Table 2 Classification of TSP instances based on the size

4.1.2 Assessment criteria

There are three critical performance factors used to observe the importance of the proposed ODVX operator, and they are summarized as follows:

Computation Time The computational time is the total time taken to complete the 250 generations of GA with the corresponding crossover operator. This factor is used to measure the computational complexity of the complete GA and is directly proportional to the size of the problem instance. The measuring unit of computation time is seconds(s).

Error Rate (%) Error Rate of a solution can be defined as the percentage of difference in the fitness value of the solution with the known optimal solution for the problem.

$$ {\text{Error}}\;{\text{Rate}}\left( \% \right) = \frac{{{\text{Fitness}}{-}{\text{Optimal}}\;{\text{Fitness}}}}{{{\text{Optimal}}\;{\text{Fitness}}}} \times 100 $$

Average Error Rate (%) It is the average of the error rate of the solutions in the population after the completion of the GA with a predefined number of generations and it is defined as follows:

$$ {\text{Average}}\;{\text{Error}}\;{\text{Rate}}\left( \% \right) = \frac{{{\text{Average}}\;{\text{Fitness}}{-}{\text{Optimal}}\;{\text{Fitness}}}}{{{\text{Optimal}}\;{\text{Fitness}}}} \times 100 $$

where

  • \( {\text{Average}}\;{\text{Fitness}} \) is the average fitness value of solutions in the population

  • \( {\text{Optimal}}\;{\text{Fitness}} \) is the known optimal value of the corresponding instance

This factor is used to measure the quality of the final population generated by finding the average fitness of individuals in the population.

4.2 Result analyses

In this section, the effectiveness of the various models of GA with Random, NN, SI, EV, VE and VV population seeding techniques in combination with EAX, PX, MOX, SRX and ODVX crossover operators for the defined number of generations is discussed based on the performance criteria discussed in Sect. 4.1.2. “Appendix GAppendix L” show the performance of the different GA models for the Classes I, II, III, IV, V and VI of TSP test instances, respectively, under similar experimental setup. For each technique, the executions are carried out for 25 times and the average of each case has been considered for experimental analyses. “Appendix AAppendix F” show the mean value-based assessment of different factors, and the best mean value obtained for each class of test instances is shown in ‘bold’.

4.2.1 Error rate

The error rate-based analyses on different models of GA show that the GA models with VV & ODVX, EV & ODVX, NN & ODVX, VV & EAX and NN & PX outperform other GA models comfortably. The mean values of the error rate of different GA models for Classes I, II & III and Classes IV, V & VI of instances are depicted in “Appendix A and Appendix B”, respectively.

The performance of GA models with MOX and SRX crossover operators performs worst for all the class of test instances, regardless of the kind of population seeding techniques used. For most of the classes of test instances, the MOX and SRX operators yield three times the mean error rate value obtained by other crossover operators. This justifies that these recombination operators are not challengeable enough for the other crossover operators considered for evaluation. The EAX and PX operators offer better mean error rate value with the population seeding techniques such as NN, EV and VV than the Random, SI and VE techniques. It is also observed that the mean error rate value of EAX and PX operators degrades with an increase in the size of the problem instances. The PX operator outperforms the other recombination operators, for Classes IV & V of test instances, with NN as the population seeding technique.

The GA model with the proposed ODVX operator, regardless of the population seeding technique used, yields better mean error rate value than the other recombination operators. From Tables 3 and 4, it can be observed that the best performing GA models have the ODVX as their recombination operator and it can also be noted that the performance degradation in the mean error rate, due to the increase in the size of the problem instance, is relatively minimal in the ODVX operator. The ODVX operator offers to mean error rate lesser than 0.5%, for every class of test instance, with the NN, EV and VV population seeding techniques, whereas with SI and VE techniques the same has been increased to the maximum of 1.5%. The Error Rate (%) obtained for largest test instances of each class with respect to the different GA models is shown in Fig. 3. From the graph, it can be noted that the GA models VV & ODVX, NN & PX, EV & ODVX and NN & ODVX give better error rate (%) than the other GA models regardless of the class of the instance.

Table 3 Performance Order of crossover operators for different performance criteria
Table 4 Best performing GA model for different class of test instances with respect to various performance criteria
Fig. 3
figure 3

Performance of different GA models w.r.t Error rate (%)

4.2.2 Average error rate

The average error rate (%)-based analyses reveal the ability of the different GA models to move toward the optimal point in the search space as a whole population rather than the single solution. “Appendix C and Appendix D” show the mean values of the average error rate of the different GA models for different classes of test instances. It can be observed that the different GA models with MOX and SRX as recombination operators give maximum mean values of average error rate and consequently these crossover operators could not exploit the potential of the initial populations generated by the VV, EV and NN population seeding techniques.

The GA models with NN & EAX obtained the best mean value of the average error rate  % for the Class I of instances, whereas the GA model with ODV-based population seeding and the ODVX operator offers best mean value of the same for all the other Class of test instances. This justifies that the ODVX operator explores and exploits the potential sequence generated by the ODV-based population seeding techniques. It can also be observed that the ODVX operator yields a better average error rate in combination with NN, SI and Random seeding techniques than the other crossover operators. This shows the ability of the ODVX operator to extract better quality individuals from the initial populations that are generated with seeding techniques with a different principle of individual generation.

For the Class VI of test instances, the GA models VV & ODVX and EV & ODVX yield the mean value of the average error rate of 1.465% and 1.705%, respectively. This shows that the ODV-based GA models enable the whole population to converge toward the optimal point effectively for the problems with the large and complex search space. Figure 4 portrays the average error rate (%) obtained for largest test instances of each class with respect to the different GA models. From the graph, it can be noted that the GA models with ODVX as the recombination operator offer better average error rate (%) than the other GA models regardless of the class of the instance.

Fig. 4
figure 4

Performance of different GA models w.r.t Average error rate (%)

4.2.3 Computation time

The computation time-based analyses show that the crossover techniques such as EAX, NN and ODVX take more time to complete the defined GA termination condition. This is because of the complex decision system used to identify the potential information from the parent to generate the offspring individuals. On the other hand, the MOX and SRX techniques which have relatively lesser complexity in the crossover operation and consequently faster than the other crossover operators are considered for evaluation. “Appendix E and Appendix F” depict the mean values of computation time of different GA models for Classes I, II & III and Classes IV, V & VI of instances, respectively.

For Classes I and II of test instances, the SRX operator takes minimum time for the initial population generated with the NN and SI techniques, respectively. At the same time, the MOX operator offers better computation time Class III of TSP instances with EV population seeding technique. The interesting fact is that the MOX and ODVX techniques complete the GA at the same time using the EV seeding technique for the Class IV of test instances. Moreover, the ODVX & GA model outperforms the MOX & EV model of GA with respect to the computation time using the EV seeding technique for Classes V and VI of instances. These points support the following assessments:

  • With respect to the computation time, the SRX operator performs better for small-sized TSP instances, MOX and ODVX recombination operators outperform other techniques for medium and large-sized test instances, respectively.

  • The NN and SI seeding techniques offer minimum computation time for small-sized test problems, whereas the EV technique shows outstanding performance with the computation time for the medium and large-sized TSP test instances.

The computation time measured for largest test instances of each class with respect to the different GA models is shown in Fig. 5. From the graph, it can be understood that the performance of the GA model with EV & ODVX improves with an increase in the size of the test instances.

Fig. 5
figure 5

Performance of different GA models w.r.t Computation time

4.3 Discussion

The performance of the proposed ordered distance vector-based crossover (ODVX) operator has been evaluated with the different recent and best working crossover operators based on various performance criteria defined. The performance order of the crossover operators of GA for different performance criteria based on the overall mean value using DMRT on different crossover techniques is shown in Table 3. The overall performance order of different crossover operators has been identified after neglecting the computation time factor which has no significant difference between the mean values of the different techniques.

From Table 3, it can be observed that the proposed ODVX operator outperforms the other well-known crossover operators studied for the Permutation-coded GA in solving TSP. Though PX yields a better quality solution for some of the test problems, EAX operator outperforms the PX in the mean values using DMRT analyses. Thus, the proposed ODVX operator has the following versatile capabilities: the multi-parent characteristic helps to effectively transfer the good information from the parents to the offsprings, the two-way potential extraction enables the individual to extract the goodness of the parents to the maximum possible extent, ability to overcome the crossover failure avoids the inclusion or addition of unnecessary random information into the offspring which may spoil the potential of the individual, and the selective new information inclusion facilitates the operator from getting stuck in the local optimal point that leads to premature convergence. This clearly evident that the proposed ODVX is better than the existing crossover operators by effectively utilizing the potential sequence generated at the initialization stage of the GA.

Table 4 shows the best performing GA model for different classes of test instances with respect to various performance criteria. From the table, it can be justified that the GA model with the proposed ODV-based population initialization techniques and the ODV-based crossover operators works outstanding for different classes of test instances. Especially, in case of medium and large-sized TSP test instances, the performance of ODV-based VV/EV technique with ODVX is exceptional. Thus, the significances of the proposed crossover operator have been validated with the suitable test environment and the performance factors.

5 Conclusion

To conclude, the research work is projected to design an effective GA model with ODV-based crossover technique and thereby to improve the overall performance of the GA with ODV initialization to solve the large-sized combinatorial problem. Precise experimental setup has been designed, and experiments are performed on different sized benchmark TSP instances obtained from standard TSPLIB in order to validate the proposed crossover technique. The assessment is intended to evaluate the performance of the proposed ODVX operator with respect to the different state-of-the-art crossover operators. A variety of GA models have been generated for examination with various population seeding techniques in combination with crossover operators, and the result values are noted after the 250 generations. From the experimental results, the GA model with ODV initialization and ODVX crossover operator outshines the other existing and best working GA model in the literature. This work can be extended to validate the performance of the proposed GA model with ODV-based seeding and crossover operator with different generation limits and with respect to the state-of-the-art metaheuristic approaches for TSP.