Simulated annealing (SA) algorithm is a popular intelligent optimization algorithm which has been successfully applied in many fields. Parameters’ setting is a key factor for its performance, but it is also a tedious work. To simplify parameters setting, we present a listbased simulated annealing (LBSA) algorithm to solve traveling salesman problem (TSP). LBSA algorithm uses a novel listbased cooling schedule to control the decrease of temperature. Specifically, a list of temperatures is created first, and then the maximum temperature in list is used by Metropolis acceptance criterion to decide whether to accept a candidate solution. The temperature list is adapted iteratively according to the topology of the solution space of the problem. The effectiveness and the parameter sensitivity of the listbased cooling schedule are illustrated through benchmark TSP problems. The LBSA algorithm, whose performance is robust on a wide range of parameter values, shows competitive performance compared with some other stateoftheart algorithms.
Simulated annealing (SA) algorithm, which was first independently presented as a search algorithm for combinatorial optimization problems in [
Recently, a metaheuristic algorithm called the listbased thresholdaccepting (LBTA) algorithm has been developed and has shown significant performance for combinatorial optimization problems that are NPcomplete. The advantage of LBTA over the majority of other neighbourhood searchbased metaheuristic methods is that it has fewer controlling parameters that have to be tuned in order to produce satisfactory solutions. Since its appearance, LBTA has been successfully applied to many combinatorial optimization problems [
In this work we are motivated by the success of LBTA in simplifying parameter tuning to study how listbased parameter control strategy can be applied to SA algorithm. Towards by this goal, our paper presents a novel listbased cooling schedule for SA algorithm to solve travelling salesman problem (TSP), and we call our proposed algorithm as listbased simulated annealing (LBSA) algorithm. In listbased cooling schedule, all temperatures are stored in a list which is organized as a priority queue. A higher temperature has higher priority. In LBSA, a list of temperatures is created first, and then, in each generation, the maximum value in the list is used as current temperature to calculate acceptance probability for candidate solution. The temperature list is updated adaptively according to the topology of the solution space of the problem. Using the listbased cooling schedule, SA algorithm has good performance on a wide range of parameter values; and it also has competitive performance compared with some other stateoftheart algorithms. The parameter robustness of listbased cooling schedule can greatly simplify the design and implementation of LBSA algorithm for practical applications.
The remainder of this paper is organized as follows: Section
TSP problem is one of the most famous hard combinatorial optimization problems. It belongs to the class of NPhard optimization problems. This means that no polynomial time algorithm is known to guarantee its global optimal solution. Consider a salesman who has to visit
TSP problem may be symmetric or asymmetric. In the symmetric TSP, the distance between two cities is the same in each opposite direction, forming an undirected graph. This symmetry halves the number of possible solutions. In the asymmetric TSP, paths may not exist in both directions or the distances might be different, forming a directed graph. Traffic collisions, oneway streets, and airfares for cities with different departure and arrival fees are examples of how this symmetry could break down.
SA algorithm is commonly said to be the oldest among the metaheuristics and surely one of the few algorithms that have explicit strategies to avoid local minima. The origins of SA are in statistical mechanics and it was first presented for combinatorial optimization problems. The fundamental idea is to accept moves resulting in solutions of worse quality than the current solution in order to escape from local minima. The probability of accepting such a move is decreased during the search through parameter temperature. SA algorithm starts with an initial solution
Flowchart of simulated annealing algorithm.
In order to apply the SA algorithm to a specific problem, one must specify the neighbourhood structure and cooling schedule. These choices and their corresponding parameter setting can have a significant impact on the SA’s performance. Unfortunately, there are no choices of these strategies that will be good for all problems, and there is no general easy way to find the optimal parameter sets for a given problem. A cooling schedule should consist of starting temperature, temperature decrement function, Markov chain length, and termination condition. Geometric cooling schedule, which can be described by the temperatureupdate formula
For practical application where computation complexity of objective function is high, SA algorithm may run with constant Markov chain length and use fixed iteration times as termination condition. As a result, initial temperature and cooling coefficient
In order to use SA algorithm for TSP problem, we can represent solution
The theory convergence conditions of SA make it very time consuming in most cases [
In this paper, we use the greedy hybrid operator proposed by Wang et al. [
It means to inverse the cities between positions
It means to move the city in position
It means to swap the city in position
Using the above three operators, the used hybrid greedy operator can be defined as follows:
As in LBTA algorithms [
Figure
Flowchart of producing initial temperature list.
In each iteration
According to the Metropolis acceptance criterion, for each time a bad candidate solution is met, a random number
We use the average of
Because the main purpose of this paper is to study the effectiveness of listbased cooling schedule, we use a simple SA framework which uses fixed iteration times for outer loop and fixed Markov chain length in each temperature. The detailed flowchart of the main optimization procedure is shown in Figure
Flowchart of listbased SA algorithm.
In order to observe and analyse the effect of listbased cooling schedule and the performance of LBSA algorithm, five kinds of experiments were carried out on benchmark TSP problems. The first kind of experiments was used to analyse the effectiveness of the listbased cooling schedule. The second kind was carried out to analyse the parameter sensitivity of LBSA algorithm. The third kind was carried out to compare the performance of different ways to update the temperature list. The fourth kind was carried out to compare the performance of different neighbourhood structures. And the fifth kind was carried out to compare LBSA’s performance with some of the stateoftheart algorithms.
To illustrate the effectiveness of listbased cooling schedule, we compare the temperature varying process and search process of LBSA algorithm with SA algorithms based on the classical geometric cooling schedule and arithmetic cooling schedule. Those experiments were carried out on BCL380, XQL662, XIT1083, and XSC6880 problems from VLSI data sets. The best known integer solutions of those problems are 1621, 2513, 3558, and 21537, respectively. The iteration times of outer loop are 1000, and the Markov chain length in each temperature is the city number of the problem, which is 380, 662, 1083, and 6880, respectively.
Figure
Compare the temperature varying process of different cooling schedule.
Figure
Compare the search process of different cooling schedule.
We observe the sensitivity of list length on BCL380, XQL662, XIT1083, and XSC6880 problems. For each problem, we test 30 different list lengths from 10 to 300 with a step 10. For each list length, we run LBSA algorithm 50 times and calculate the average tour length and the percentage error of the mean tour length to the best known tour length. Figure
Sensitivity of parameter temperature list length.
In order to observe the sensitivity of initial temperature values, we carried out experiments with different initial temperature values on BCL380, XQL662, XIT1083, and XSC6880 problems. Because the initial temperature values are produced according to initial acceptance probability
Sensitivity of parameter initial temperature values.
In our algorithm described in Section
Comparison of different temperature list updating schemes.
Instance  OPT  Average  Maximum  Minimum 

BCL380  1621 

2357.4  1651.9 
XQL662  2513 

4117.8  2565.8 
XIT1083  3558 

6663.0  3674.6 
XSC6880  21537 

63472.2  22649.8 
Temperature decreasing process of different temperature list updating schemes on instance BCL380.
In our algorithm, we use a greedy hybrid neighbour operator proposed by Wang et al. [
Comparison of different neighbourhood structures.
Instance  Inverse  Insert  Swap  Hybrid 

BCL380  1631.96  1776.24  2666.44 

XQL662  2535.2  2836.52  4437.2 

XIT1083  3603.48  4118.72  6760.84 

XSC6880  22115.6  29048  64263.4 

Percentage of inverse, insert, and swap operators accepted in hybrid operator on instance BCL380.
We compare LBSA algorithm with genetic simulated annealing ant colony system (GSAACS) [
The results of GSAACS are from [
Compare LBSA with GSAACS and MSAIBS on 24 benchmark instances from TSPLIB.
Number  Instance  OPT  GSAACS  MSAIBS  LBSA  

Best  Mean  PEav  Best  Mean  PEav  Best  Mean  PEav  
1  eil51  426  427  427.27  0.30  426  426  0  426  426  0 
2  eil76  538  538  540.20  0.41  538  538  0  538  538  0 
3  eil101  629  630  635.23  0.99  629  629  0  629  629  0 
4  berlin52  7542  7542  7542.00  0  7542  7542  0  7542  7542  0 
5  bier127  118282  118282  119421.83  0.96  118282  118291.2  0.01  118282  118282  0 
6  ch130  6110  6141  6205.63  1.57  6110  6110  0  6110  6110.6  0.01 
7  ch150  6528  6528  6563.70  0.55  6528  6544.4  0.25  6528  6537.5  0.15 
8  rd100  7910  7910  7987.57  0.98  7910  7910  0  7910  7910.1  0 
9  lin105  14379  14379  14406.37  0.19  14379  14379  0  14379  14379  0 
10  lin318  42029  42487  43002.90  2.32  42040  42170.9  0.34  42029  42138.55  0.26 
11  kroA100  21282  21282  21370.47  0.42  21282  21282  0  21282  21284.15  0.01 
12  kroA150  26524  26524  26899.20  1.41  26524  26524.15  0  26524  26524.05  0 
13  kroA200  29368  29383  29738.73  1.26  29368  29383.45  0.05  29368  29371.9  0.01 
14  kroB100  22141  22141  22282.87  0.64  22141  22174.2  0.15  22141  22184.2  0.2 
15  kroB150  26130  26130  26448.33  1.22  26130  26134.05  0.02  26130  26137.9  0.03 
16  kroB200  29437  29541  30035.23  2.03  29438  29439.4  0.01  29437  29438.65  0.01 
17  kroC100  20749  20749  20878.97  0.63  20749  20749  0  20749  20749  0 
18  kroD100  21294  21309  21620.47  1.53  21294  21342.75  0.23  21294  21294.55  0 
19  kroE100  22068  22068  22183.47  0.52  22068  22114.4  0.21  22068  22092.6  0.11 
20  rat575  6773  6891  6933.87  2.38  6813  6824.65  0.76  6789  6815.55  0.63 
21  rat783  8806  8988  9079.23  3.10  8845  8869.7  0.72  8846  8866.6  0.69 
22  rl1323  270199  277642  280181.47  3.69  270893  271972.3  0.66  270475  271415  0.45 
23  fl1400  20127  20593  21349.63  6.07  20299  20392.4  1.32  20140  20182.2  0.27 
24  d1655  62128  64151  65621.13  5.62  62786  62966.3  1.35  62454  62610.1  0.78 
Average  1.62  0.25  0.15 
In Table
We compare LBSA algorithm with GAPSOACO [
Compare LBSA with GAPSOACO and MSAIBS on 35 benchmark instances from TSPLIB.
Instance  OPT  GAPSOACO  MSAIBS  LBSA  

Best  Mean  PEav  Best  Mean  PE  Best  Mean  PEav  
Att48  33522  33524  33662  0.42  33522  33554.64  0.10  33522  33536.6  0.04 
Eil51  426  426  431.84  1.37  426  426.48  0.11  426  426.5  0.12 
Berlin52  7542  7544.37  7544.37  0.03  7542  7542  0  7542  7542  0 
St70  675  679.60  694.60  2.90  675  677.16  0.32  675  675.55  0.08 
Eil76  538  545.39  550.16  2.26  538  538.2  0.04  538  538  0 
Pr76  108159  109206  110023  1.72  108159  108288  0.12  108159  108268.3  0.10 
Rat99  1211  1218  1275  5.28  1211  1211.04  0.00  1211  1211.1  0.01 
Rad100  7910  7936  8039  1.63  7910  7914.56  0.06  7910  7914.7  0.06 
KroD100  21294  21394  21484  0.89  21294  21340.64  0.22  21294  21314.2  0.09 
Eil101  629  633.07  637.93  1.42  629  629.6  0.10  629  629  0 
Lin105  14379  14397  14521  0.99  14379  14380.48  0.01  14379  14379  0 
Pr107  44303  44316  44589  0.65  44303  44379.88  0.17  44303  44392.25  0.20 
Pr124  59030  59051  60157  1.91  59030  59032.88  0.00  59030  59031.8  0.00 
Bier127  118282  118476  120301  1.71  118282  118334.6  0.04  118282  118351.2  0.06 
Ch130  6110  6121.15  6203.47  1.53  6110  6121.96  0.20  6110  6127.95  0.29 
Pr144  58537  58595  58662  0.21  58537  58549.72  0.02  58537  58570.15  0.06 
KroA150  26524  26676  26803  1.05  26524  26538.2  0.05  26524  26542.6  0.07 
Pr152  73682  73861  73989  0.42  73682  73727.96  0.06  73682  73688.8  0.01 
U159  42080  42395  42506  1.01  42080  42182.32  0.24  42080  42198.85  0.28 
Rat195  2323  2341  2362  1.68  2328  2334.2  0.48  2328  2331  0.34 
RroA200  29368  29731  31015  5.61  29368  29422.64  0.19  29368  29405.35  0.13 
Gil262  2378  2399  2439  2.57  2379  2383.56  0.23  2379  2382.45  0.19 
Pr299  48191  48662  48763  1.19  48192  48263.08  0.15  48191  48250  0.12 
Lin318  42029  42633  42771  1.77  42076  42292.04  0.63  42070  42264.35  0.56 
Rd400  15281  15464  15503  1.45  15324  15377.56  0.63  15311  15373.75  0.61 
Pcb442  50778  51414  51494  1.41  50879  51050.12  0.54  50832  51041.7  0.52 
Rat575  6773  6912  6952  2.64  6819  6854.64  1.21  6829  6847.95  1.11 
U724  41910  42657  42713  1.92  42150  42302.12  0.94  42205  42357.8  1.07 
Rat783  8806  9030  9126  3.63  8897  8918.28  1.28  8887  8913.25  1.22 
Pr1002  259045  265987  266774  2.98  261463  262211.7  1.22  261490  262202.5  1.22 
D1291  50801  52378  52443  3.23  51098  51340.84  1.06  51032  51358.7  1.10 
D1655  62128  64401  65241  5.01  62784  63011.96  1.42  62779  62994.65  1.39 
Nl4461  182566  18933  192574  5.48  185377  185631.1  1.68  185290  185501.7  1.61 
Brd14051  469385  490432  503560  7.28  478040  478618.8  1.97  477226  477612.7  1.75 
Pla33810  66048945  70299195  72420147  9.65  67868250  68038833.1  3.01  67754877  67848535.1  2.72 
Average  2.43  0.53  0.49 
As can be seen in Table
We compare LBSA algorithm with ASAGS [
Compare LBSA with ASAGS and MSAIBS on 40 benchmark instances from TSPLIB.
Number  Instance  OPT  ASAGS  MSAIBS  LBSA  

Mean  PEav  Time  Mean  PEav  Time  Mean  PEav  Time  
1  Ch150  6528  6539.8  0.16  10.91  6529  0.02  0.86  6529.8  0.03  1.29 
2  Kroa150  26524  26538.6  0.05  10.9  26524  0  0.82  26524  0  0.98 
3  Krob150  26130  26178.1  0.18  10.9  26135  0.02  1.51  26137  0.03  1.65 
4  Pr152  73682  73694.7  0.01  10.85  73682  0  0.84  73682  0  0.87 
5  U159  42080  42398.9  0.75  11.49  42080  0  0.79  42080  0  0.91 
6  Rat195  2323  2348.05  1.07  14.37  2330.2  0.31  1.86  2328  0.22  1.93 
7  D198  15780  15845.4  0.41  14.6  15780  0  1.39  15780  0  1.53 
8  Kroa200  29368  29438.4  0.23  14.26  29378  0.03  1.74  29373.8  0.02  1.67 
9  Krob200  29437  29513.1  0.25  14.24  29439.8  0.01  1.95  29442.2  0.02  2.1 
10  Ts225  126643  126646  0.00  16.05  126643  0  1.3  126643  0  1.54 
11  Pr226  80369  80687.4  0.39  16.7  80369  0  1.93  80369.8  0.00  2.16 
12  Gil262  2378  2398.61  0.86  19.43  2378.8  0.03  2.39  2379.2  0.05  2.72 
13  Pr264  49135  49138.9  0.00  19.09  49135  0  1.43  49135  0  1.49 
14  Pr299  48191  48326.4  0.28  21.94  48226.4  0.07  2.67  48221.2  0.06  2.93 
15  Lin318  42029  42383.7  0.84  23.35  42184.4  0.37  2.4  42195.6  0.40  2.58 
16  Rd400  15281  15429.8  0.97  30.4  15347.2  0.43  3.2  15350.4  0.45  3.46 
17  Fl417  11861  12043.8  1.54  32.02  11875.6  0.12  3.72  11867.8  0.06  4.01 
18  Pr439  107217  110226  2.80  34.92  107407.2  0.18  3.6  107465.2  0.23  3.95 
19  Pcb442  50778  51269.2  0.96  35.75  50970  0.38  3.68  50877  0.19  4.31 
20  U574  36905  37369.8  1.25  48.47  37155.8  0.68  5.21  37164.6  0.70  6.13 
21  Rat575  6773  6904.82  1.94  52.1  6839.8  0.99  5.27  6837.4  0.95  5.99 
22  U724  41910  42470.4  1.33  66.83  42212.2  0.72  8.11  42252  0.82  8.34 
23  Rat783  8806  8982.19  2.00  78.9  8893.4  0.99  8.99  8888.2  0.93  8.9 
24  Pr1002  259045  264274  2.01  164.42  261481.8  0.94  12.71  261805.2  1.07  12.96 
25  Pcb1173  56892  57820.5  1.63  193.08  57561.6  1.18  8.9  57431.8  0.95  9.61 
26  D1291  50801  52252.3  2.85  214.64  51343.8  1.07  10.59  51198.8  0.78  11.77 
27  Rl1323  270199  273444  1.20  210.16  271818.4  0.6  11.53  271714.4  0.56  12.64 
28  Fl1400  20127  20782.2  3.25  232.02  20374.8  1.23  17.72  20249.4  0.61  15.43 
29  D1655  62128  64155.9  3.26  281.88  62893  1.23  16.18  63001.4  1.41  16.45 
30  Vm1748  336556  343911  2.18  276.98  339617.8  0.91  19.7  339710.8  0.94  19.05 
31  U2319  234256  236744  1.06  410.97  235236  0.42  17.02  235975  0.73  18.94 
32  Pcb3038  137694  141242  2.57  554.28  139706.2  1.46  27.64  139635.2  1.41  29.05 
33  Fnl4461  182566  187409  2.65  830.9  185535.4  1.63  30.43  185509.4  1.61  29.67 
34  Rl5934  556045  575437  3.48  1043.95  566166.8  1.82  50.76  566053  1.80  52.5 
35  Pla7397  23260728  24166453  3.89  1245.22  2.38E+07  2.48  100.69  2.38E+07  2.24  89.61 
36  Usa13509  19982859  20811106  4.14  2016.05  2.04E+07  2.06  365.12  2.04E+07  1.89  326.76 
37  Brd14051  469385  486197  3.58  2080.5  478609.6  1.97  375.28  478010  1.84  369.86 
38  D18512  645238  669445  3.75  2593.97  658149.2  2.00  654.85  657457.2  1.89  629.14 
39  Pla33810  66048945  69533166  5.27  4199.88  68075607  3.07  1959.68  68029226.4  3.00  1998.19 
40  Pla85900  142382641  156083025  9.63  8855.13  146495515.6  2.89  7596.18  145526542.6  2.21  7586.6 
Average  1.87  650.31  0.81  283.52  0.75  282.49 
As can be seen in Table
This paper presents a listbased SA algorithm for TSP problems. The LBSA algorithm uses novel listbased cooling schedule to control the decrease of temperature parameter. The listbased cooling schedule can be viewed as a special geometric cooling schedule with variable cooling coefficient. The variance of cooling coefficient is adaptive according to the topology of solution space, which may be more robust to problems at hand. Simulated results show that this novel cooling schedule is insensitive to the parameter values and the proposed LBSA algorithm is very effective, simple, and easy to implement. The advantage of insensitive parameter is very attractive, allowing LBSA algorithm to be applied in diverse problems without much effort on tuning parameters to produce promising results.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work was supported by Nature Science Foundation of Fujian Province of China (no. 2014J01219, no. 2013J01216).