Traveling sales man problem with precedence constraints is one of the most notorious problems in terms of the efficiency of its solution approach, even though it has very wide range of industrial applications. We propose a new evolutionary algorithm to efficiently obtain good solutions by improving the search process. Our genetic operators guarantee the feasibility of solutions over the generations of population, which significantly improves the computational efficiency even when it is combined with our flexible adaptive searching strategy. The efficiency of the algorithm is investigated by computational experiments.
In most business processes, a set of operations or activities are constrained by precedence relationships that are imposed by technological characteristics of products or services. The precedence constraints represent a typical operational structure constrained by sequentially and/or related operations. Therefore, the determination of operation sequences considering precedence constraints is one of the most important issues in many industrial problems such as production planning, scheduling, and project network planning problems. In most practices, however, sequencing problem is very difficult to solve because of its combinatorial complexity. More often than not, the solution may be impractical to be used in real environment due to system variability, while most managers in charge of operation sequencing want more sturdy and robust solutions. This study considers, specifically, traveling salesman problem with precedent constraints (TSPPC) and aims to obtain more robust and efficient operation sequence with minimum setups.
TSPPC is a variant of traveling salesman problem (TSP) because all nodes should be visited once but in predetermined order. Precedence constraints make TSPPC have the wider range of industrial applications such as scheduling, project management, and process routing. In solution methods, however, TSP is known to be a class of NPhard problem and TSPPC is even more complicated with additional constraints. Since no exact solution can be obtained in reasonable computational time and a good solution needs to be practical and implementable in real environment, careful development of new solution method is crucial. As a solution technique, we will consider the evolutionary algorithm which is proven to be very effective in large scale of solution space and provides high flexibility in searching strategy.
We will first present a mathematical model of TSPCP as an appropriate network flow model. A new evolutionary algorithm will be introduced and in subsequent sections modifications of algorithm will be proposed for further improvement of solution. Finally, experimental analyses will validate the efficiency of our algorithms.
Abundant researchers have been interested in various types of sequencing problem using TSP. Reinelt [
Many researched also used the memetic computational algorithms to solve TSP. Jati and Suyanto [
Meanwhile, genetic algorithm is widely accepted as efficient algorithm to be applied in many intractable problems like TSP. Zeng et al. [
Some researchers used genetic algorithms to tackle TSPPC. As one of the first researchers using genetic algorithm for this problem, Potvin [
In this study, we propose an adaptive evolutionary algorithm to improve the computational efficiency and the quality of solutions. The proposed algorithm searches only the feasible solution space by adopting efficient genetic operators and employs adaptive search strategies to adaptively apply the genetic operations on the current population. Throughout this paper, we use “evolutionary algorithm” as the same meaning as “genetic algorithm,” “evolutionary strategies,” and “evolutionary programming,” which are found in many literatures. The objective of this study is to develop an efficient evolutionary process scheme for TSPPC. The algorithm seeks a solution to minimize the total processing time for implementing all the operations with sequence dependent setup times.
The mathematical model of TSPPC is quite similar to the traveling salesman problem (TSP). The
parameters
the number of nodes;
the distance from node
decision variables
integer variable which is decreasing aggregate counter;
decreasing partial counter which is decreased with 1 if node
objective
subject to
The objective function (
Then TSPPC is formulated as follows.
Constraint (
This section presents our proposed evolutionary method which searches only feasible solution spaces to improve the computational efficiency. The overall procedure of the algorithm is shown in Figure
Procedure of the adaptive evolutionary algorithm.
The details of algorithms are described in the following subsections.
A chromosome representing the sequence of operations is shown in Figure
Representation of chromosome.
Since each gene corresponds to an operation, Figure
The
We have four parameters to be set for our algorithm: crossover acceptance probability
The crossover acceptance probability is used to obtain the number of crossover operations over the current population. Similarly, the mutation acceptance probability is used to decide whether a chromosome accepts mutation operation or not and consequently is used to obtain the number of mutation operations over the current population. The crossover selection probability is a probability of selecting a chromosome
According to (
The mutation selection probability is a probability of selecting a gene (as both end points) in chromosome
These all parameter values are computed before the algorithm proceeds.
Genetic operations are designed to search only feasible solutions over the entire generations. The modified topological sort that merges two instances into one is considered to generate feasible chromosomes. We can use pc_{0} and pm_{0}, which are the probabilities of crossover and mutation, respectively.
A crossover is operated according to the value of pc_{0}, which is a crossover probability. If the crossover is accepted, two chromosomes will be selected for crossover. With a cumulative probability of crossover selection probabilities of each chromosome, that is, cumulative
Create a graph
Create a selectable node set
Select two
Two selected genes are different and found in
Two selected genes are same and found in
Only one gene is selected and found in
(This happens when a gene has been removed in the previous iteration.
No selected genes are found in
Delete the selected node in Step
If
Since all genes in a new chromosome are selected from the selectable node set
A mutation is performed on a chromosome in order to create, by chance, an unexpected good solution. In our algorithm, the mutation is operated according to the value of pm_{0}, mutation acceptance probability. If mutation is accepted, a mutation region is determined so that the mutation is performed on an interval between two genes. With a cumulative probability of mutation selection probabilities of each gene of given chromosome, that is, cumulative
After selecting a pair of genes, all genes between the pair are topologically sorted and subject to only their precedence constraints. It is obvious that this mutation operation keeps the feasibility of newly created chromosome because the front part (or the latter part) of the mutation region satisfies the precedence constraints with the mutation region in the original chromosome, and even the mutation region is replaced with other feasible region, the feasibility is still maintained.
The mutation operations create newly maximum
We have two options to terminate the algorithm. The first one is to set the fixed number of generations, which is easy and popular way. The other criterion is to use the best fitness function value of each generation and check the trend of improvement over the generations. If the best fitness function value at generation
If termination criterion is not satisfied, the algorithm selects
As generations continue, some survival chromosomes are getting older. All organisms experience aging process and may have a peak time to achieve the best performance. We can employ this natural property to improve the searching spaces. With a lifespan value, funeral probability is computed as follows:
A chromosome with the higher funeral probability has the lower chance of survival over the next generation.
In evolutionary algorithm, the population of generation changes as the generations proceeds. In order to obtain the better solutions, the better population needs to be generated at each generation. We can use this idea to create the search strategy for getting the better solution spaces. Due to the necessity of adaptability to each generation, we use a term of “adaptive” strategy.
For development of adaptive search strategy, we need to identify the characteristics of population. The parameters used in our algorithm can be quite useful to do so. Basically, new chromosomes are created by genetic operations, that is, crossover and mutation operations. This means that modifying the parameters of genetic operations makes the algorithm have the adaptability. We consider the crossover and mutation acceptance probabilities as the parameters for the algorithm to have the adaptability. Table
Adaptive search strategies.
Factor  Adaptive search strategy  

Crossover acceptance probability  Mutation acceptance probability  
The number of generations  Increase  Decrease 
Variance of fitness value  
High  Increase  Decrease 
Low  Decrease  Increase 
Without loss of generality, in evolutionary algorithm we assume that as the number of generations increases, the chance of finding the better solution also increases. In this context, we think that as the number of generations increases, the more crossover operations are necessary because the better solution can be obtained from the more crossover among them, while the number of mutation operations need to be reduced in order to avoid unnecessary solution regions. At the same time, we look into the distribution of fitness function values of chromosomes. If the variance of the fitness function values is high, we need more crossover operations on the population to get the unexplored solutions in the current solution region. In this case, however, the mutation operation does not have to be encouraged in order to avoid unnecessary solution search. We have the opposite statements in case of high variance of fitness function value in population.
The above adaptive search strategies can be simply implemented with the following parameters:
In this section, we present the results of our experimentation with the proposed algorithm. We investigate the efficiency of genetic operations that avoid the generation of infeasible solution in the next subsection, the behavior of adaptive strategies, and then compare the results against other algorithm, and finally, where possible, the results are compared with the best known solutions.
Our approach uses the topological sort and special genetic operation procedures to generate feasible populations. In order to focus on our genetic operations that guarantee the feasibility of solution, we present a general approach that uses a separate feasibility check module and compare the computation results. The overall procedure of the general approach is shown in Figure
The procedure of a general approach that uses the separate feasibility check module.
For experiments, the initial parameters are given as
The performance experiment result 1.
Number of nodes  Parameter  General approach  AEA*  


pc_{0}  Best solution  Frequency of best  CPU Time (sec)  Best solution  Frequency of best  CPU time (sec)  
7  7 
0.6 
26 
6 
0.922 
26 
1 
0.006 


25  25 
0.6 
134 
10 
10.422 
134 
4 
0.047 


35  30 
0.6 
177 
11 
18.803 
177 
9 
0.218 


45  45 
0.6 
214 
15 
44.314 
209 
18 
1.047 


70  70 
0.6 
383 
33 
532.406 
363 
43 
9.016 
From the results, we observe that two approaches find the best solutions for the small size examples. However, our algorithm is far efficient in computation time for especially large size problems, which is because our algorithm explores only the limited feasible solution space. Also our algorithm shows much better solution results than the general approach. The computation time of the general approach significantly increases as the size of problem increases. This is because the crossover operations on the infeasible chromosomes generate infeasible chromosomes again and it repeats without improving the solution. Since the probability of infeasibility increases as the number of nodes increases, the general approach is getting worse for the large size problems.
Sets of computational experiments have been conducted to explore the behavior of adaptive search strategy. The experiment for 7 nodes sequencing problem is performed and the results are shown in Figure
pc, pm, and CV graph over the generation.
In the results, we observe that the crossover acceptance probabilities increase according to the number of generations. And when CV of population is high, the acceptance probability of crossover is also high. For example, in Figure
In this section, the performance of our approach is compared with the optimization technique by OPLstudio (IBM, Available from:
The performance experiment result 2.
Number of nodes  Optimization technique  AEA  

Optimal solution  CPU Time (sec) 

Best solution  CPU time (sec)  
10  18  1.51  25 
18 
0.023 
12  27  156.72  25 
27 
0.062 
15  49  70626  25 
49 
0.088 
20  —  —  25 
68 
0.086 
The results show that our algorithm finds the best solution in negligible computation time, while the optimization algorithm requires the considerable computation time and even for 20 nodes problem, it cannot provide a solution in reasonable time.
For the larger size experiments, we use the examples of networks with 25, 35, 45, 70, 85, and 100 nodes. We compared our algorithm with the evolutionary algorithm proposed by Yun and moon [
The performance experiment result 3.
Node 
Yun and Moon (2011) [ 
AEA  

Best value  CPU time  Best value  CPU time  
Min.  Avg.  Max.  Min.  Avg.  Max.  Min.  Avg.  Max.  Min.  Avg.  Max.  
7  26  26.4  28  0.00  0.01  0.01  26  26.4  28  0.00  0.01  0.02 
25  134  134.8  141  0.34  0.98  2.56  134  134.2  136  0.31  0.97  2.39 
35  177  179.9  186  0.78  5.62  10.84  177  180.3  183  2.36  5.62  11.31 
45  209  216.3  224  12.92  29.73  48.66  207  214.9  223  12.64  29.87  57.18 
70  368  375.8  386  83.05  146.20  223.80  364  374.5  380  46.38  93.59  161.20 
85  420  432.8  471  133.60  326.04  587.30  394  427.3  448  60.22  290.93  467.80 
100  458  492.25  520  303.00  676.87  1314.00  448  480.7  505  178.90  491.39  735.60 
In Table
TSPLIB problems sets are used to verify the performance of the adaptive evolutionary algorithm. We compare the results of our algorithm to the best known values. We use Sequential Ordering Problem (SOP) set. This problem is an asymmetric traveling salesman problem with additional constraints. Given a set of
The results are shown in Table
Comparison against best known values with TSPLIB problem set.
Name of problem  (%) Best value*/best known  Min  

T1S1**  T1S2  T2S1  T2S2  T1S1F  T1S2F  T2S1F  T2S2F  
br17.10  100%  100%  101%  103%  100% 

100%  100%  100% 
br17.12  100%  100%  100%  103%  100% 

100%  100%  100% 
ESC07  100%  100%  100%  103%  100% 

100%  100%  100% 
ESC12  100%  100%  100%  100%  100% 

100%  100%  100% 
ESC25  142%  155%  144%  150% 


146%  146%  140% 
ESC47  363%  373%  365%  351%  378% 

345% 

323% 
ESC63  119%  120%  125%  122%  122% 

119%  122%  118% 
ft53.1  152% 

143%  152%  145% 

144%  145%  141% 
ft53.2  141%  138%  132%  138%  137% 

136%  136%  132% 
ft53.3 

123%  123%  126%  125% 

122%  125%  121% 
ft53.4  122% 

129%  128%  125% 

130%  111%  108% 
ft70.1  128% 

121%  120%  125% 

124%  123%  118% 
ft70.2 

123%  122%  124%  118% 

118%  125%  115% 
p43.1  111%  104% 


107% 

104%  112%  103% 
p43.2  110%  103%  117%  114%  109% 

111%  108%  102% 
p43.3  107%  101%  106%  100%  103% 

103%  102%  100% 
p43.4  106%  101%  107%  106%  102% 

104%  102%  100% 
prob.42  190% 

197%  196%  192% 

189%  191%  182% 
rbg048a  111% 

112% 

108% 

111%  115%  107% 
rbg050c  118% 

126%  118%  115% 

120%  117%  108% 
ry48p.1  126%  121% 

123%  122% 

122%  122%  118% 
ry48p.2  121% 

122%  115%  117% 

119%  124%  111% 
ry48p.3  119% 

119%  121%  115% 

118%  124%  113% 
ry48p.4  116%  111% 


111% 


112%  108% 


avg 








**T: termination option, 1 = the first option, 2 = the second option.
S: selection option of
F: funeral option if applied.
In Table
Comparison against best known values using the best options for each problem.
Name of problem  Best  Avg.  Worst  % Best  % Avg.  % Worst  Best known value 

br17.10  55  55.9  58  100%  102%  105%  55 
br17.12  55  55  55  100%  100%  100%  55 
ESC07  2125  2125  2125  100%  100%  100%  2125 
ESC12  1675  1720.6  1791  100%  103%  107%  1675 
ESC25  2354  3378.4  3972  140%  201%  236%  1681 
ESC47  4160  5648.3  6628 



1288 
ESC63  73  80.9  88  118%  130%  142%  62 
ft53.1  10619  11537.4  12323  141%  153%  164%  7531 
ft53.2  11000  12092.1  13340  132%  145%  160%  8335 
ft53.3  13231  13797  14236  121%  126%  130%  10935 
ft53.4  15579  16263.3  16793  108%  113%  116%  14425 
ft70.1  46390  48696.2  49623  118%  124%  126%  39313 
ft70.2  46485  49162.1  51920  115%  122%  128%  40422 
p43.1  28830  29107  29685  103%  104%  106%  27990 
p43.2  28896  47979.5  56225  102%  169%  198%  28330 
p43.3  28680  29362.5  29555  100%  102%  103%  28680 
p43.4  82960  83393.5  83590  100%  101%  101%  82960 
prob.42  443  530.7  586 



243 
rbg048a  376  412.6  435  107%  118%  124%  351 
rbg050c  505  528.7  564  108%  113%  121%  467 
ry48p.1  18650  21732.2  25057  118%  138%  159%  15805 
ry48p.2  18499  22210.8  25969  111%  133%  156%  16666 
ry48p.3  22480  25029.2  28744  113%  126%  144%  19894 
ry48p.4  33961  34944.7  36421  108%  111%  116%  31446 


Average  124%  141%  154%  
Average excluding ESC47 and prob. 42  112%  121%  129% 
In this paper, we presented an adaptive evolutionary algorithm for solving a traveling salesman problem with precedence constraints (TSPPC). Our algorithm employs genetic operators that guarantee the feasibility of solutions, and as the results the searching spaces are significantly reduced. The algorithm also adopts an adaptive search strategy to adaptively apply the crossover and mutation operations on the current generation, which improves the quality of solution as well as the computational efficiency.
The experimental results show that our proposed approach outperforms other evolutionary algorithm in terms of the quality of solution and computation time. Also, we observe that for the small size problems. The algorithm mostly finds the best solution and for even the large size problems, the quality of solution is not much deteriorated and the computation time is quite less. Finally, the proposed algorithm has wide range of options to be applied in various types of problems. We can use combined options of termination, selection of chromosome, and funeral probability.
For future research, our algorithm can be improved in a way to generate more robust solutions, which means that the deviation from a proposed solution by algorithm does not deteriorate the objective function value much so that more practical applications can be possible in real practices.
The authors declare that there is no conflict of interests regarding the publication of this paper.