A Novel Metaheuristic for Travelling Salesman Problem

One of the well-known combinatorial optimization problems is travelling salesman problem (TSP). This problem is in the fields of logistics, transportation, and distribution. TSP is among theNP-hard problems, andmany differentmetaheuristics are used to solve this problem in an acceptable time especially when the number of cities is high. In this paper, a new meta-heuristic is proposed to solve TSP which is based on new insight into network routing problems.


Introduction
Although there are various classic methods for solving optimization problems, but they are not always able to solve real and applied optimization problems.It is generally believed that these problems are known as difficult and complicated problems.TSP is a typical example of a very hard combinatorial optimization problem.TSP can be modelled as an undirected weighted graph, such that cities are the graph's vertices, paths are the graph's edges, and a path's distance is the edge's length.It is a minimization problem starting and finishing at a specified vertex after having visited each other's vertex exactly once.Metaheuristics can solve highdimensional problems quickly.Heuristics may be classified into two families: specific heuristics and metaheuristics.Specific heuristics are tailored and designed to solve a specific problem and/or instance.Metaheuristics are general-purpose algorithms that can be applied to solve almost any optimization problem.They may be viewed as upper level general methodologies that can be used as a guiding strategy in designing underlying heuristics to solve specific optimization problems [1].The word metaheuristic was first used by Glover [2] during introducing tabu search concepts.
In this paper, a novel metaheuristic is proposed for solving TSP.This algorithm is used to foresee the best next city so as to gain shorter rout.The 2-Opt and 3-Opt algorithms are also used in local search.They are probably the most basic local search heuristics for the TSP.
The paper is organized as follows: Section 2 illustrates the background theory of suggested algorithm.In Section 3, formulating algorithms are presented.Algorithm improvement by using k-Opt is discussed in Section 4. The algorithm is employed into several standard TSP instances in the next section and the results are reported.According to the obtained results, it is noticeable that the algorithm achieves proper answers, quickly so that the answer of the first iteration will be a good and acceptable answer.
Finally, Section 6 concludes the paper.

Background Theory of the Algorithm
In this model, it is supposed that every node in the network is a vibration source and has a special weight which vibrates the edges, so that the nodes with the heavier weight release more vibration.This emitted force by a node distributes in edges that are connected to.Shared amount of each node is dependent on the edges distances.Shorter edges have more quota of this force.In other words, if the length of an edge connected to the node is shorter, less vibration falls down along the edge and it is vibrated more intensely.There is a simple network (Figure 1) to illustrate the theory.The searcher is located at the node  in the following figure and wants to move to the next node after .
Signs which lead to  are amount of vibrations that each edge indicates.Therefore, vibration of the edges can be considered as tendency that each neighbour node has in order to be selected by the searcher.
Node  as a sample has relationship with nodes , , and .The distance for each edge is determined, and the sum of the inverted distances equals (1/5 + 1 + 1/3) = 23/15.Weight of this node is   .Therefore, the vibration that this node sends to the node  equals: Also, about nodes  and , the amount of vibration which is sent to node  is, respectively, If all weights are considered equal to 1, the searcher receives a total vibration with an amount of (0.13 + 0.33 + 0.50) = 0.96 in node .As a result, the searcher at the node  selects  with 14% possibility (0.13/0.96), b with 34% possibility (0.33/0.96), and  with 52% possibility (0.50/0.96).
Movement from node  in addition to direct route  →  can be transferred to node  of other routes such as " →  → " and " →  → ." If we also consider binary routes, calculations would be changed.Thus, by considering routes with maximum two edges, there are three different routes from  to a (Table 1).Also, about nodes  and , similar calculations will be performed (Tables 2 and 3).
According to the tables, it is possible to obtain an amount of vibration in each edge.For example, edge " → " receives a force with an amount of (0.20/2.28) ×   unit of , (0.16/2.25) ×   unit of , and a force with an amount of (0.12/1.35) ×   unit of node .Therefore, " → " edge vibrates as follows: It is supposed that all weights are 1.Therefore, the amount of vibration in " → " is 0.25.Similarly, " → " and " → " are 0.37 and 0.31, respectively.It should be mentioned that the total amount of these three values is not necessarily equal to 1.In the investigated example final total amount of vibration force of the three edges which end with  is 0.93.Now, the searcher is faced with vibrant edges in node  Therefore, it selects " → " with 40% possibility (0.40/0.93) and moves toward ", " selects " → " with 27% possibility (0.25/0.93) and moves toward ", " or also selects " → " with 33% possibility (0.31/0.93) and moves toward node "." Total amount of these possibilities equals 1.

Model Formulation
In the previous section we got acquainted with the method of routing by the algorithm.As mentioned, edges with more vibration are selected with more possibility.
The vibration of a supposed edge " → " is derived from two factors: (i) direct force which is emitted from jth node; (ii) indirect forces that are emitted from other nodes and distribute up to " → ." In other words, it is released from node  ( ̸ = , ) to node  after passing node : In this relation   is the distance of the route initiated from  that ends in  after passing .Through definition   is sum of inverted distances of routes connected to  which has up to two edges (see (5)); it is possible to gain the force which is applied from node  to edge  →  by: so that   represents weight of kth node.  is the applied force for " → " resulting from .Vibration of " → " equals The final result of the previous calculations is matrix  = (V  ) in which V  represents vibration degree in the edge " → ." It is necessary to use another element in order to increase ability of this matrix.To do so we can use vision power matrix.
In distance matrix,   represents the length of an edge which is connector of nodes  and .The vision matrix Γ = (  ) is defined as follows: By combination of two matrixes Γ and , it is possible to use both visual sense and mechanical sensor of the searcher for detection and recognition of the best route.
The result of performed calculations in this section is possibility matrix  = (  ): The parameters ∝ and  are investigated from the obtained results.A proper amount of these parameters is dependent on nature and structure of the investigated problem.Adjustment of ∝ and  has an important role in algorithm efficiency.Investigation of the obtained results shows that ∝= 8 and  = 2 are appropriate for most of the instances.

Algorithm Improvement by Local Search
The suggested algorithm searches to get to the best route in the network globally.But it makes less chance to envelop all answers.Consequently, local search is necessary in order to cover the solution space more entirely.A local search algorithm starts from a candidate solution and then iteratively moves to a neighbour solution.
In optimization, 2-Opt and 3-Opt are simple local search algorithms for solving the travelling salesman problem [14,15].In this paper, we propose to combine the 2-Opt, 3-Opt, and the suggested algorithm to improve the answers.The algorithm steps are as follows: Initialize matrix  For (i < Iteration Max) do: While the searcher complete a solution Choose probabilistically the next state to move; Add that move to the tabu list; end Implementation of the 2-Opt and 3-Opt; If (local best solution better than global solution) Save local best solution as global solution; end Update matrix  for each edge that the searcher chose (Increase elements of matrix  related to the selected route up to  percent); end

Computational Results
In this section we are going to solve different standard examples by using the proposed algorithm.A large number of standard samples are available in public references.These references include famous samples for combinatorial optimization problems.One of the valid references in travelling salesman problems is TSPLIB [16].

Quality of Solutions.
In order to estimate the algorithm function from absolute difference obtained by optimized answer, the following relation is used: () −  ( * )      ( * ) , (10) so that  is the obtained answer and  * is the optimized answer.Different problems of travelling salesman have been solved with different sizes and structures by the algorithm.For all instances, 9, 2, and 0.2% are allocated for ∝, , and , respectively (Table 4).
The optimal path length of the algorithm's iterations for berlin52 is shown in Figure 2.
According to the obtained results, it is noticeable that the algorithm achieves proper answers quickly so that the answer of the first iteration will be a good and acceptable answer.Accordingly, although the suggested algorithm shows its success alone in this issue, it can be used as a powerful initial solution generator for other solution-based metaheuristics in order to use advantages of other algorithms and getting more close to the optimized answer.

Conclusion
In this paper we presented a new metaheuristic that has new insight into network problems.At the end of every iteration, the algorithm also tries to improve both the performance of the algorithm and the quality of solutions for the Tsp by using local search algorithms in the name of 2-Opt and 3-Opt.As a result, the proposed algorithm can be used for variety network problems due to its insight to these kinds of problems.Therefore, through extending this behaviour we can move toward solving different optimization problems  by this algorithm in a way that each position of problem solutions represents a node and each algorithm step is passing from one state to another state.Future work will be conducted to improve the proposed algorithm and examine other local search algorithms to enhance the performance of the method for improving solutions.Additional improvements might lie on the combination of our approach with the other metaheuristics like genetic algorithm, tabu search, simulated annealing, and so on.

Figure 1 :
Figure 1: Routing in a network.

Figure 2 :
Figure 2: The optimal path length of proposed algorithm for berlin52.

Table 1 :
Emitted force by node "c" in the network.

Table 2 :
Emitted force by node "b" in the network.

Table 3 :
Emitted force by node "d" in the network.

Table 4 :
Searching for optimized solution of different travelling salesman problems.