Next Article in Journal
Design Limitations, Errors and Hazards in Creating Decision Support Platforms with Large- and Very Large-Scale Data and Program Cores
Next Article in Special Issue
A Real-Time Network Traffic Classifier for Online Applications Using Machine Learning
Previous Article in Journal
A Performance Study of Some Approximation Algorithms for Computing a Small Dominating Set in a Graph
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Lifting the Performance of a Heuristic for the Time-Dependent Travelling Salesman Problem through Machine Learning

Dipartimento di Ingegneria dell’Innovazione, Università del Salento, via per Monteroni, 73100 Lecce, Italy
*
Author to whom correspondence should be addressed.
Algorithms 2020, 13(12), 340; https://doi.org/10.3390/a13120340
Submission received: 21 October 2020 / Revised: 14 November 2020 / Accepted: 15 November 2020 / Published: 14 December 2020

Abstract

:
In recent years, there have been several attempts to use machine learning techniques to improve the performance of exact and approximate optimization algorithms. Along this line of research, the present paper shows how supervised and unsupervised techniques can be used to improve the quality of the solutions generated by a heuristic for the Time-Dependent Travelling Salesman Problem with no increased computing time. This can be useful in a real-time setting where a speed update (or the arrival of a new customer request) may lead to the reoptimization of the planned route. The main contribution of this work is to show how to reuse the information gained in those settings in which instances with similar features have to be solved over and over again, as it is customary in distribution management. We use a method based on the nearest neighbor procedure (supervised learning) and the K-means algorithm with the Euclidean distance (unsupervised learning). In order to show the effectiveness of this approach, the computational experiments have been carried out for the dataset generated based on the real travel time functions of two European cities: Paris and London. The overall average improvement of our heuristic over the classical nearest neighbor procedure is about 5 % for London, and about 4 % for Paris.

1. Introduction

The development of efficient optimization methods for real-life problems is a rich and interesting research area. If the problem is enough easy with very effective bounds and a limited dimensionality, the analyst will be able to write a formal mathematical model and solve it with a general-purpose black box solver. This process usually takes few days of work. Otherwise, the analyst have to design and develop an ad-hoc heuristic that requires a huge effort during the tuning and testing phase. This time the development process requires weeks or months depending on the experience of the analyst in the sector and on the problem size. The use of approximate methods to solve combinatorial optimization problems has received an increasing attention in the last years. Approximate methods sacrifice the optimality guarantee for the sake of getting good solutions in a significantly reduced amount of time. Constructive algorithms are a simple example of approximate methods, which generate solutions from scratch by adding components to an initially empty partial solution, until a feasible solution is complete. Nowadays, a class of approximate algorithms, commonly called metaheuristics, has emerged. In short, we could say that metaheuristics are high level strategies for exploring search spaces by using different methods to efficiently produce high-quality solutions. Techniques which constitute metaheuristic algorithms range from simple local search procedures to complex learning processes. They are non-deterministic, not problem-specific, they can use domain-specific heuristics that are controlled by the upper level strategy, they commonly incorporate mechanisms to escape from local optima and finally they can take advantage of the search experience (adding some form of memory) to guide the search. A broad coverage of the concepts, implementations, and applications in metaheuristics can be found in Gendreau et al. [1]. In Adamo et al. [2] was proposed a framework to automatically design efficient neighborhood structures for any metaheuristic from a formal mathematical model and a reference instance population. There is a wide variety of metaheuristics. Basically we can distinguish between single solution approaches, which focus on modify and improve a single candidate solution (simulated annealing, iterated local search, variable neighborhood search, and guided local search), and population-based approaches, that maintain and improve multiple candidate solutions, often using population characteristics to guide the search (evolutionary computation, genetic algorithms, and particle swarm optimization). Evolutionary algorithms, particle swarm optimization, differential evolution, ant colony optimization and their variants dominate the field of nature-inspired metaheuristics. Swarm intelligence has been proved as a technique, based on observations of nature, which can solve NP-hard computational problems. Some concept and metaheuristics (the particle swarm optimization algorithm and the ant colony optimization method) belonging to the smart intelligence are presented in Slowik and Kwasnicka [3]. It is gaining popularity in solving different optimization problems and has been used successfully for feature selection in some applications. A comprehensive literature review of swarm intelligence algorithms and a detailed definition of taxonomic categories was reported in [4]. Swarm optimization have been also successfully applied to Social Cognitive Radio Network by Anandakumar and Umamaheswari [5], which proposed a technique that utilizes machine learning methods to adapt the environmental changes, create its own knowledge base and adjust its functionality for making dynamic data and network handover decisions. Zhao et al. [6] developed a wind energy decision system. Evolutionary algorithms are population-based metaheuristics that uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. A self-adaptive Evolutionary Algorithm is proposed in Dulebenets et al. [7] for the berth scheduling problem. Pasha et al. [8] provided a full comparison among Variable Neighborhood Search, Tabu Search, Simulated Annealing and Evolutionary Algorithm to solve a model for large-scale problem instances of the Vehicle Routing Problem. They demonstrated that the Evolutionary Algorithm outperforms the other metaheuristic algorithms developed for the model.
In recent years there has been a flourishing of articles that try leveraging Machine Learning (ML) to solve combinatorial optimization problems. In this context, ML may help substitute heavy computations by a fast approximation. This is the case of learning variable and node selection in branch-based algorithms for Mixed-Integer Linear Programming (MIP). See Lodi and Zarpellon [9] for a recent review. A wider perspective is taken by Bengio et al. [10] that identify three broad approaches to leveraging machine learning for combinatorial optimization problems: learning alongside optimization algorithms, learning to configure optimization algorithms, and end-to-end learning to approximately solve optimization problems. Some results of this line of research have been recently used in industry: in November 2019, following the work of Bonami et al. [11], IBM announced that version 12.10 of its well-known commercial optimization solver CPLEX implements, for the first time, a ML-based classifier to make automatic decisions over some algorithmic settings. In particular, an ML-based classifier is invoked by default to decide if the binary component of a Mixed-Integer Quadratic Optimization problem should benefit from the application of a linearization procedure, which transforms the problem into a MIP problem.
In this paper, we make use of supervised and unsupervised techniques to improve the quality of the solutions generated by a heuristic for the Time-Dependent Travelling Salesman Problem with no increased computing time. This can be useful in a real-time setting where a speed update (or the arrival of a new customer request) may lead to the reoptimization of the planned route. As far as we know, this is the first attempt to use ML to solve a time-dependent routing problem. For a comparative analysis of machine learning heuristics for solving the classical (time-invariant) Travelling Salesman Problem, see Uslan and Bucak [12].
In Time-Dependent Vehicle Routing Problems, the aim is to design routes for a fleet of vehicles on a graph whose arc traversal times vary over time, in order to optimize a given criterion, possibly subject to side constraints. See Gendreau et al. [13] for a review of the field.
In this paper, we study the Time-Dependent Travelling Salesman Problem (TDTSP) which amounts to find a Hamiltonian tour of least total duration on a given time-dependent graph. The TDTSP was first addressed by Malandraki and Daskin [14]; they proposed a Mixed Integer Programming (MIP) formulation for the problem. Subsequently, Malandraki and Dial [15] developed an approximate dynamic programming algorithm, whilst Li et al. [16] presented two heuristics. Schneider [17] and Harwood et al. [18] presented some meta-heuristic approaches to solve the TDTSP. Cordeau et al. [19] showed some properties of the TDTSP and derived lower and upper bounding procedures; they also devised a set of valid inequalities used in a branch-and-cut algorithm. Arigliano et al. [20] derived some properties of the problem that were used in a branch-and-bound algorithm that outperformed the Cordeau et al. [19] branch-and-cut procedure. In Adamo et al. [21] a parameterized family of lower bounds was developed to enhance this branch-and-bound approach. Moreover, Melgarejo et al. [22] presented a new global constraint useful in a Constraint Programming approach.
Variants of the TDTSP have been studied by [23,24,25,26] (TDTSP with Time Windows), by [27] (Moving-Target TSP), by [28] (Robust TSP with Interval Data), and by [29,30,31,32,33,34,35] (Single Machine Time-Dependent Scheduling Problem).
This paper is organized as follows. In Section 2 we present some properties and some background information on the study area. In Section 3 we describe our ML approach. In Section 4 we describe computational experiments on the graphs of two European cities (London and Paris). Finally, we draw some conclusions in Section 5.

2. State of the Art

Let G = ( V , A ) be a directed graph, where V = { 1 , 2 , , n } is a set of vertices and A V × V a set of arcs. With each arch ( i , j ) A is associated a travel time function τ i j ( t ) representing the time that a vehicle, departing from i at time instant t, takes to traverse the arc and finally arrive at vertex j. Let T = [ 0 , T ] be the time horizon (e.g., an 8-h period of a typical working day). Given a start time t and path composed by a sequence of k nodes, i.e.,  p n = ( i 0 , i 1 , , i n ) with i k V and k = 0 , , n , the time needed to travel from node i 0 to node i n can be computed recursively as:
z ( p k , t ) = z ( p k 1 , t ) + τ i k 1 , i k ( t + z ( p k 1 , t ) k = 1 , , n
and initialization z ( p 0 , t ) = 0 . Without loss of generality, we assume that the travel time functions are piecewise linear and satisfy the first-in-first-out (FIFO) property, i.e., the arrival time is a strictly monotonic function of the starting time. Ghiani and Guerriero [36] proved that any continuous piecewise linear travel time function τ i j ( t ) , satisfying the FIFO property, can be generated from the IGP model. In the IGP model the speed of the vehicle is not constant over the entire length of arc ( i , j ) but it changes when the boundaries between two consecutive time periods is crossed. For any arc the time horizon T = [ 0 , T ] is divided into H i j time slots [ T i j h , T i j ( h + 1 ) ] , h = 0 , 1 , , H i j 1 . Let v i j h be the travel speed between node i and node j in time slot h and L i j be the distance between the two vertices i and j. They decomposed the travel speed for an arc ( i , j ) as:
v i j h = δ i j h b h u i j ,
where:
  • u i j 0 is the maximum travel speed across arc ( i , j ) A in all times.
  • 0 < b h 1 is the best congestion factor during interval h ( [ T h , T h + 1 ] );
  • 0 < δ i j h 1 is the degradation of the congestion factor of arc ( i , j ) in time slot h.
The Time-Dependent Travelling Salesman Problem amounts to find a Hamiltonian tour of least total duration on a given time-dependent graph. Cordeau et al. [19] proposed a lower bound for the TDTSP based on the IGP model. In particular, they proved that when Δ = min i , j , h δ i j h = 1 solving the time-dependent problem is equivalent to solve its time-invariant counterpart. In [36], the authors pointed out that in IGP model the relationship among travel speeds v i j ( t ) , times τ i j ( t ) and lengths L i j can be expressed as follows:
L i j = t t + τ i j ( t ) v i j ( μ ) d μ ,
where it is worth noting that the IGP parameters, L i j and v i j ( t ) , can be multiplied by any positive common factor without changing the travel time functions τ i j ( t ) . This implies that L i j can be any positive number and, consequently, the speed factorization (1) is not uniquely defined. Indeed, Ref. [21] proved that there exists a different speed factorization for each value of u i j such that u i j max h v i j h . Adamo et al. [37] generalize all these considerations in order to improve the previous lower bounds.

3. Leveraging Machine Learning in a TDTSP Heuristic

In Section 1 we have recalled the reasons around the growing interest in applying Machine Learning models to optimization problems. The aim of this section is show how to embed some information gained through a ML algorithm into a simple constructive heuristic. The goal is to improve its performance in those settings in which instances with similar features have to be solved over and over again, as it is customary in distribution management. Instead of starting every time from scratch, we want to insert a learning mechanism inside the heuristic in such a way it can benefit from previous runs on other instances with similar features.
The constructive heuristic we are going to use as a baseline is the well-known nearest neighbor procedure (NNP) that is suitable to be used in a real-time setting due to its speed. Algorithm 1 reports its pseudocode, where V 1 is the set of already visited customers.
Algorithm 1 Baseline heuristic.
1:
functionNN(V)
2:
     i 0
3:
     t 0
4:
     V 1 { 0 }
5:
    while | V 1 | | V | do
6:
         j * arg min j V V 1 τ i j ( t )
7:
         V 1 V 1 { j * }
8:
         t t + τ i j * ( t )
9:
         i j *
10:
    end while
11:
     t t + τ i 0 ( t )
12:
    return t , V 1
In order to take advantage of the predictive capabilities of supervised ML techniques, the nearest neighbor heuristic has been modified by the introduction of two parameters: α and f j . Parameter f j is a prediction (obtained through a supervised ML method) of the expected time of arrival (ETA) at customer j in an optimal solution, and α [ 0 , 1 ] is a convex combination coefficient. At each iteration, a node is selected using a modification of instruction 6 in Figure 1 as follows:
j * arg min j V V 1 α · [ t + τ i j ( t ) ] + ( 1 α ) · | f j t τ i j ( t ) |
Hence the choice of the next customer to be visited is guided by a convex combination of two terms: the arrival time t + τ i j ( t ) at the next customer (as it is typical of the NNP) and an error measure | f j t τ i j ( t ) | of forecast f j , if j is chosen as the next customer. Parameter α [ 0 , 1 ] is used to balance the cost function t + τ i j h with the correction factor depending on f j . In few words, if α is zero the heuristic takes its own decisions only based on the correction factor; on the other hand, if α is 1 the heuristic is the well-known NNP, no matter how f j looks like. In the latter case, the heuristic takes no advantage from previous runs. Hence, α can be seen as a learning factor.

3.1. ETA Estimation

In order to estimate the ETA of a customer j in an optimal solution, an artificial neural network (ANN) is used in conjunction with an exact algorithm for the TDTSP [21]. The ANN we chose is a Multilayer Perceptron Regressor (MPR) [38]. An MPR consists of at least three layers of nodes: an input layer, one or more hidden layer and an output layer. Except for the input nodes, each node uses a nonlinear activation function.
For each instance of the training set, the exact algorithm is used to obtain the arrival times at the customers. In order to overcome the drawbacks described in the following subsection, the service territory is partitioned in K zones and, for each training instance, an average zone ETA, dubbed Z E T A k , is computed for each zone k = 1 , , K .
The neural network has k inputs and k outputs: the inputs are constituted by the customer distribution in the network (the number n k of customers in each of the k zones); the outputs are the k Z E T A k estimates ( k = 1 , , K ).

3.2. Customer Aggregation

In order to make the ETA predictions accurate, customers must be aggregated and the service territory divided into a number of zones K. Of course, if K is large the predictions are expected to be more accurate but the training phase would require a huge number of instances. On the other hand, if K is small, the natural variability of the ETA inside a zone is large which has a detrimental effect on the ETA estimation of individual customers.
The customer aggregation is an unsupervised learning technique that amo-unts to partition the customers of the training set into K clusters of equal variance, minimizing the sum of intra-cluster Euclidean distances. In our experimentation, we used a K-means algorithm [39]. Since the geographic coordinate system is associated with the geodesic surface of the Earth, we projected customers locations to a new planar reference system according to the EPSG projection recommended for the zone at hand. Then the projected customers have been clustered using the K-means algorithm. The optimal number of zones K was determined in a preliminary experimentation.

4. Computational Experiments

Our computational experiments have been aimed to evaluate whether the use of predictions made by ML techniques can be beneficial for a routing heuristic in a time-dependent context. To this purpose we have implemented both the baseline heuristic (NNP) and the ML-enhanced heuristic (referred to as ML-NNP in the following). Python (version 3.6) was used for both. The Multilayer Perceptron Regressor implementation was taken from the sklearn neural network library (method MLPRegressor) while the k-means implementation came from the sklearn cluster library (k-means method). The training instances were solved to optimality (or near-optimality) using a Java implementation of the branch-and-bound scheme proposed in [19]. A time limit of an hour was imposed. All the codes have been tested on a Linux machine clocked at 2.67 GHz and equipped with 8 GB of RAM. We first describe the instances we have used in our experimentations.

4.1. Instances

Although Time-Dependent Vehicle Routing problems have received increased attention from the scientific community in recent years, there is still a lack of realistic instances. To overcome this aspect, we have generated a new set of instances based on the real travel time functions of two major European cities: Paris and London.
During the last decade, the popularity of mobile technology and location services allowed the creation of high quality large real-time and historical floating vehicle datasets. These data are continuously collected by millions of users that anonymously send their GPS positions to services like Google Traffic or TomTom Live. Only these IT big players have the availability of time-dependent data. As a result, there is no complete dataset freely available to the entire research community.
We extracted (approximate) travel time functions as follows. Given a road map from OpenStreetMap (in XML or PBF format) we first extracted the topology of graph G in terms of: vertices and their geographical coordinates (latitude and longitude), arcs with attributes like length, maximum speed u i j (derived from tags or default street type speed), geometry (pillar and tower nodes). The API provided from the GraphHopper project has been used to accomplish tasks as OSM importation, road graph generation and routing between customers. We extended this time-invariant graph representation by assigning a traffic profile only to time-dependent arcs. In particular, traffic data were obtained through a two step procedure. Firstly, given the geographic coordinates of two points at a specific zoom level, we defined a bounding box around the reference Earth area. Therefore, at the start of every time slot h we captured a snapshot of the current map viewport augmented with the real-time traffic layer. Next, for each arc ( i , j ) belonging in the bounding box we subdivided its geometry in uniform length segments. We denoted the set of all segments endpoints for arc ( i , j ) by S i j . For each point s S i j we projected the geographic coordinates over a pixel s of the image plane (Figure 1). We used the Haversine formula to measure Earth distances. For each period h the pixel s can assume a different color in the corresponding h-th snapshot. The color is classified using the CIEDE2000 color distance [40] from some reference color with a preassigned traffic jam factor as showed in Table 1.
If s did not belong to a street, we started a neighborhood exploration procedure in order to identify the nearest valid color. This task is executed to repair small alignment errors between the osm map and the traffic layer image. After classification, the traffic jam factor of arc ( i , j ) was computed as the mean of the jam factors associated to each geographical point s S i j . An arc was deemed to be time-dependent if it had at least one traffic jam factor strictly lower than 1 in the time horizon.

4.2. Parameter Tuning

We have performed a preliminary tuning with the aim to select the most appropriate combination of parameters:
  • the activation function;
  • the number of hidden layers;
  • the training algorithm;
  • the learning rate;
  • the maximum number of iterations in the training phase;
  • the number of zones.
Table 2 summarizes the investigated values for each parameter.
Our datasets contained approximately 6–700 instances with 50 customers each: 90 % has been assigned to the training set, while the remaining 10 % to the test set. The best results, in terms of strength of captured relationships, were obtained by the following neural network settings: three layers, hyperbolic tangent activation function, five neurons in the hidden layer, LBFGS solver and constant learning rate.
As far as customer aggregation is concerned, it was necessary to project customers locations to a new planar reference system. According to the EPSG projection, we used the Transverse Mercator Projection for London and the Lambert Zone II Projection for Paris.
For London, 8 clusters gave the best results in terms of coefficient of determination ( R 2 ), whilst for Paris 6 zones were the best case for neural network performance. Table 3 and Table 4 summarize the neural network mean errors (in minutes) for each zone. The R 2 scores (=0.53 for the London instances and =0.60 for the Paris instances) suggest a moderate effect size.

4.3. Computational Results

The computational results are presented in Table 5 and Table 6. For each of the two testsets, we report:
  • the name of the test instance,
  • the objective value z 0 in minutes of the NNP solution,
  • the objective value z 1 in minutes of the ML-NNP solution,
  • the percentage of improvement D E V of z 1 with respect to z 0 .
In our implementations, the maximum running time of both algorithms is only a few seconds or even a fraction of a second. Therefore we prefer not to report these figures. As shown in Table 5 and Table 6, the overall average improvement of ML-NNP over NNP is 4.77 % for London, while 3.87 % for Paris. It is worth noting that in the worst case ML-NNP gives the same performance of NNP, while in the best case can produce a solution with an improvement up to 15 % (more than 70 min over a typical working day of 8 h).

5. Conclusions

In this paper, we have leveraged a mix of unsupervised and supervised Machine Learning techniques in a heuristic for the Time-Dependent Travelling Salesman Problem. Our approach makes use of ETA predictions provided by a feedforward neural network trained on past instances solved to optimality or near-optimality. Computational results on two European cities show the advantage of embedding ML methods into an optimization algorithm. As far as we know, this is the first attempt to use ML to tackle a Time-Dependent Vehicle Routing problem. The main limitations of such approach are related to the definition of a population of training instances and the determination of the best solution for that instances; the best known solution algorithm could need several hours to determine such a solution.
Future research could be focused on the definition of new features for the neural network in order to provide a more reasonable and substantial effect in the heuristic; moreover, other machine learning strategies could be tried (for instance decision trees). Finally, a new fast heuristic, probably better than nearest neighbor algorithm, could be produced by embedding the ETA estimation in the linear programming model introduced by Adamo et al. [37].

Author Contributions

Methodology, P.G.; software, E.G.; formal analysis, T.A.; project administration, G.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

This research was partially supported by the Ministero dell’Istruzione, dell’Università e della Ricerca Scientifica (MIUR) of Italy. This support is gratefully acknowledged. The authors also thank Federico Liquori and Marco D’Amato for their help with programming.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Michel, G.; Potvin, J.Y. (Eds.) Handbook of Metaheuristics; Springer: Berlin/Heisenberg, Germany, 2010; Volume 2. [Google Scholar]
  2. Adamo, T.; Ghiani, G.; Grieco, A.; Guerriero, E.; Manni, E. MIP neighborhood synthesis through semantic feature extraction and automatic algorithm configuration. Comput. Oper. Res. 2017, 83, 106–119. [Google Scholar]
  3. Slowik, A.; Kwasnicka, H. Nature inspired methods and their industry applications—Swarm intelligence algorithms. IEEE Trans. Ind. Inform. 2018, 14, 1004–1015. [Google Scholar] [CrossRef]
  4. Brezočnik, L.; Fister, I.; Podgorelec, V. Swarm intelligence algorithms for feature selection: A review. Appl. Sci. 2018, 8, 1521. [Google Scholar] [CrossRef] [Green Version]
  5. An akumar, H.; Umamaheswari, K. A bio-inspired swarm intelligence technique for social aware cognitive radio handovers. Comput. Electr. Eng. 2018, 71, 925–937. [Google Scholar] [CrossRef]
  6. Zhao, X.; Wang, C.; Su, J.; Wang, J. Research and application based on the swarm intelligence algorithm and artificial intelligence for wind farm decision system. Renew. Energy 2019, 134, 681–697. [Google Scholar] [CrossRef]
  7. Dulebenets, M.A.; Kavoosi, M.; Abioye, O.; Pasha, J. A self-adaptive evolutionary algorithm for the berth scheduling problem: Towards efficient parameter control. Algorithms 2018, 11, 100. [Google Scholar] [CrossRef] [Green Version]
  8. Pasha, J.; Dulebenets, M.A.; Kavoosi, M.; Abioye, O.F.; Wang, H.; Guo, W. An Optimization Model and Solution Algorithms for the Vehicle Routing Problem With a “Factory-in-a-Box”. IEEE Access 2020, 8, 134743–134763. [Google Scholar] [CrossRef]
  9. Lodi, A.; Zarpellon, G. On learning and branching: A survey. Top 2017, 25, 207–236. [Google Scholar] [CrossRef]
  10. Bengio, Y.; Lodi, A.; Prouvost, A. Machine learning for combinatorial optimization: A methodological tour d’horizon. arXiv 2018, arXiv:abs/1811.06128. [Google Scholar]
  11. Philpott, A.B. Continuous-time shortest path problems and linear programming. SIAM J. Control. Optim. 1994, 32, 538–552. [Google Scholar] [CrossRef]
  12. Uslan, V.; Bucak, I.O. A comparative study of machine learning heuristic algorithms to solve the traveling salesman problem. In Proceedings of the 3rd International Conference on the Applications of Digital Information Web Technologies (ICADIWT), Istanbul, Turkey, 12–14 July 2010. [Google Scholar]
  13. Gendreau, M.; Ghiani, G.; Guerriero, E. Time-dependent routing problems: A review. Comput. Oper. Res. 2015, 64, 189–197. [Google Scholar] [CrossRef]
  14. Malandraki, C.; Daskin, M.S. Time Dependent Vehicle Routing Problems: Formulations, Properties and Heuristic Algorithms. Transp. Ence 1992, 26, 185–200. [Google Scholar] [CrossRef]
  15. Malandraki, C.; Dial, R.B. A restricted dynamic programming heuristic algorithm for the time dependent traveling salesman problem. Eur. J. Oper. Res. 1996, 90, 45–55. [Google Scholar] [CrossRef]
  16. Li, F.; Golden, B.; Wasil, E. Solving the time dependent traveling salesman problem. In The Next Wave in Computing, Optimization, and Decision Technologies; Volume 29 of Operations Research/Computer Science Interfaces Series; Sharda, R., Voß, S., Golden, B., Raghavan, S., Wasil, E., Eds.; Springer: Berlin/Heisenberg, Germany, 2005; pp. 163–182. [Google Scholar]
  17. Schneider, J. The time-dependent traveling salesman problem. Phys. Stat. Mech. Appl. 2002, 314, 151–155. [Google Scholar] [CrossRef]
  18. Harwood, K.; Mumford, C.; Eglese, R. Investigating the use of metaheuristics for solving single vehicle routing problems with time-varying traversal costs. J. Oper. Res. Soc. 2013, 64, 34–47. [Google Scholar] [CrossRef] [Green Version]
  19. Cordeau, J.-F.; Ghiani, G.; Guerriero, E. Analysis and Branch-and-Cut Algorithm for the Time-Dependent Travelling Salesman Problem. Transp. Sci. 2014. [Google Scholar] [CrossRef] [Green Version]
  20. Arigliano, A.; Calogiuri, T.; Ghiani, G.; Guerriero, E. A branch-and-bound algorithm for the time-dependent travelling salesman problem. Networks 2018, 72, 382–392. [Google Scholar] [CrossRef]
  21. Adamo, T.; Ghiani, G.; Guerriero, E. An enhanced lower bound for the time-dependent travelling salesman problem. Comput. Oper. Res. 2020, 113, 104795. [Google Scholar] [CrossRef]
  22. Melgarejo, P.A.; Laborie, P.; Solnon, C. A time-dependent no-overlap constraint: Application to urban delivery problems. In International Conference on AI and OR Techniques in Constriant Programming for Combinatorial Optimization Problems; Springer: Berlin/Heisenberg, Germany, 2015; pp. 1–17. [Google Scholar]
  23. Albiach, J.; Sanchis, J.M.; Soler, D. An asymmetric TSP with time windows and with time-dependent travel times and costs: An exact solution through a graph transformation. Eur. J. Oper. Res. 2008, 189, 789–802. [Google Scholar] [CrossRef]
  24. Arigliano, A.; Ghiani, G.; Grieco, A.; Guerriero, E.; Plana, I. Time-dependent asymmetric traveling salesman problem with time windows: Properties and an exact algorithm. Discret. Appl. Math. 2019, 261, 28–39. [Google Scholar] [CrossRef]
  25. Hewitt, M.; Boland, N.; Vu, M.D.; Savelsbergh, M. Solving Time Dependent Traveling Salesman with Time Windows Problems. Available online: http://www.optimization-online.org/DB_FILE/2018/05/6640.pdf (accessed on 30 November 2020).
  26. Agustín, M.; Isabel, M.; Juan, J.M.B. An integer programming approach for the time-dependent traveling salesman problem with time windows. Comput. Oper. Res. 2017, 88, 280–289. [Google Scholar]
  27. Helvig, C.S.; Robins, G.; Zelikovsky, A. The moving-target traveling salesman problem. Algorithms 2003, 49, 153–174. [Google Scholar] [CrossRef]
  28. Montemanni, R.; Barta, J.; Mastrolilli, M.; Gambardella, L.M. The robust traveling salesman problem with interval data. Transp. Sci. 2007, 41, 366–381. [Google Scholar] [CrossRef]
  29. Gouveia, L.; Voß, S. A classification of formulations for the (time-dependent) traveling salesman problem. Eur. J. Oper. Res. 1995, 83, 69–82. [Google Scholar] [CrossRef]
  30. Fox, K.R.; Gavish, B.; Graves, S.C. An n-constraint formulation of the (time-dependent) traveling salesman problem. Oper. Res. 1980, 28, 1018–1021. [Google Scholar] [CrossRef] [Green Version]
  31. Godinho, M.T.; Gouveia, L.; Pesneau, P. Natural and extended formulations for the time-dependent traveling salesman problem. Discret. Appl. Math. 2014, 164, 138–153. [Google Scholar] [CrossRef]
  32. Miranda-Bront, J.J.; Méndez-Díaz, I.; Zabala, P. An integer programming approach for the time-dependent TSP. Electron. Notes Discret. Math. 2010, 36, 351–358. [Google Scholar] [CrossRef]
  33. Picard, J.C.; Queyranne, M. The time-dependent traveling salesman problem and its application to the tardiness problem in one-machine scheduling. Oper. Res. 1978, 26, 86–110. [Google Scholar] [CrossRef]
  34. Stecco, G.; Cordeau, J.F.; Moretti, E. A branch-and-cut algorithm for a production scheduling problem with sequence-dependent and time-dependent setup times. Comput. Oper. Res. 2008, 35, 2635–2655. [Google Scholar] [CrossRef]
  35. Wiel, R.J.V.; Sahinidis, N.V. An exact solution approach for the time-dependent traveling-salesman problem. Nav. Res. Logist. 1996, 43, 797–820. [Google Scholar] [CrossRef]
  36. Ghiani, G.; Guerriero, E. A Note on the Ichoua, Gendreau, and Potvin (2003) Travel Time Model. Transp. Sci. 2014, 48, 458–462. [Google Scholar] [CrossRef]
  37. Adamo, T.; Ghiani, G.; Guerriero, E. On path ranking in time-dependent graphs. arXiv 2020, arXiv:abs/2009.07588. [Google Scholar]
  38. Aggarwal, C. Neural Networks and Deep Learning; Springer: Berlin/Heisenberg, Germany, 2018. [Google Scholar]
  39. MacQueen, J. Some methods for classification and analysis of multivariate observations. In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Oakland, CA, USA, 21 June–18 July 1965; Volume 1, pp. 281–297. [Google Scholar]
  40. Luo, M.R.; Cui, G.; Rigg, B. The development of the cie 2000 colour-difference formula: Ciede2000. Color Res. Appl. 2001, 26, 340–350. [Google Scholar] [CrossRef]
Figure 1. Extracting travel times from a snapshot.
Figure 1. Extracting travel times from a snapshot.
Algorithms 13 00340 g001
Table 1. Color map used to extract travel times.
Table 1. Color map used to extract travel times.
Ref. ColorColor NameJam 1 Jam 2 Description
#84CA50green1.01.0high speed
#F07D02orange0.70.3medium speed
#E60000red0.50.2low speed
#9E1313brown0.30.1very low speed
#EBE8DEgraybackground
#FFFFFFwhite1.01.0freeflow
Table 2. Investigated parameter values.
Table 2. Investigated parameter values.
ParameterPossible Values
Activation Functiontanh, logistic, relu
Number of Hidden Layers(3) (4) (5) (10) (15) (20) (30) (40) (3,3) (4,4) (5,5) (10,10) (15,15) (20,20) (30,30) (40,40)
Solversgd, lbfgs, adam
Learning Rateconstant, inverse scaling, adaptive
Max. iterations200, 300, 400, 500
Number of zones5, 6, 7, 8, 9, 10, 11, 12
Table 3. Mean errors in the London instances.
Table 3. Mean errors in the London instances.
ZoneMean ErrorMean Absolute ErrorStandard Error
17.6836.7855.16
2−4.6129.2337.19
38.3226.9435.51
4−1.9327.3436.87
5−2.6828.7846.21
68.6956.6869.21
72.5424.6032.31
86.6854.0064.84
Average3.0935.5447.16
Table 4. Mean errors in the Paris instances.
Table 4. Mean errors in the Paris instances.
ZoneMean ErrorMean Absolute ErrorStandard Error
1−1.0218.5523.74
22.4015.2920.14
30.7419.6924.30
4−2.7828.8536.53
55.5344.6552.49
61.3324.0029.55
Average1.0325.1731.13
Table 5. Computational results for the London testset.
Table 5. Computational results for the London testset.
Instance z 0 z 1 D E V % Instance z 0 z 1 D E V %
10_I_1406.13406.130.0010_I_10484.56447.787.59
10_I_11449.64449.640.0010_I_12614.67524.4314.68
10_I_13444.23443.870.0810_I_14486.83476.722.08
10_I_15453.19451.050.4710_I_16515.56469.169.00
10_I_17517.51497.653.8410_I_19466.79466.790.00
10_I_2526.66447.6815.0010_I_20428.63414.953.19
10_I_23491.50447.159.0210_I_24510.02473.057.25
10_I_25470.01468.860.2410_I_26489.47484.201.08
10_I_27492.53458.756.8610_I_28507.26456.0710.09
10_I_29440.37436.330.9210_I_30449.90449.900.00
10_I_31474.33443.426.5210_I_32464.37443.464.50
10_I_33401.02390.202.7010_I_34422.61401.684.95
10_I_36502.89441.5712.1910_I_37464.31460.600.80
10_I_38540.78527.422.4710_I_39531.83489.677.93
10_I_40503.19503.060.0310_I_41468.83460.461.78
10_I_5480.03439.488.4510_I_6457.51448.561.96
10_I_7429.42429.420.0010_I_9420.89420.890.00
1_I_2497.99479.333.751_I_26472.87436.017.80
1_I_27491.03442.359.911_I_28448.76440.161.92
1_I_29476.59428.6610.061_I_3473.71434.488.28
1_I_30415.91413.300.631_I_31477.35472.730.97
1_I_32503.70457.259.221_I_33423.53396.616.36
1_I_34498.12473.914.861_I_35411.64411.640.00
1_I_36497.65463.286.911_I_37447.20440.501.50
1_I_39468.47458.622.101_I_4460.05458.390.36
1_I_40468.46457.962.241_I_42469.45452.293.66
1_I_44466.47411.8911.701_I_45485.20480.500.97
1_I_46473.24440.806.851_I_47462.35451.222.41
1_I_48493.13431.6212.471_I_49481.59453.775.78
1_I_5427.22403.865.471_I_50487.52442.959.14
1_I_51449.49429.094.541_I_53404.83363.4810.21
Table 6. Computational results for the Paris testset.
Table 6. Computational results for the Paris testset.
Instance z 0 z 1 D E V % Instance z 0 z 1 D E V %
0_I_0328.71324.941.150_I_100318.16317.090.34
0_I_101309.36305.771.160_I_102317.81295.567.00
0_I_103349.52345.771.070_I_104363.87330.929.06
0_I_105366.60356.272.820_I_106344.89321.216.87
0_I_107349.68330.465.500_I_108322.95308.714.41
0_I_109355.49317.6710.640_I_10341.40325.104.77
0_I_110302.99302.990.000_I_111344.07336.452.21
0_I_112361.19329.378.810_I_113339.78328.513.32
0_I_114326.10318.032.480_I_115328.84327.610.37
0_I_116337.34315.946.340_I_117334.44331.770.80
0_I_118329.44307.596.630_I_119349.89341.472.41
0_I_11353.87347.721.740_I_120340.53332.812.27
0_I_121336.74317.045.850_I_122316.01292.707.38
0_I_123379.26336.2711.330_I_124344.95328.874.66
0_I_125314.78314.780.000_I_126349.34329.465.69
0_I_127337.81337.810.000_I_128338.07317.476.09
0_I_129324.69319.441.620_I_12323.21323.210.00
0_I_130357.66336.795.830_I_131305.09305.090.00
0_I_132299.75279.766.670_I_133325.39316.832.63
0_I_134348.87312.3910.460_I_135376.12334.2611.13
0_I_136320.55311.082.960_I_137320.33314.021.97
0_I_138320.04308.523.600_I_139335.29332.520.83
0_I_13329.99301.868.520_I_140317.49317.490.00
0_I_141364.98336.727.740_I_142323.90319.111.48
0_I_143302.36302.150.070_I_144310.60310.600.00
0_I_145276.94267.633.360_I_146344.77303.9011.85
0_I_147360.36328.858.750_I_148296.80292.531.44
0_I_149357.70342.244.320_I_14307.80307.800.00
0_I_150333.85324.112.920_I_151349.22319.258.58
0_I_152333.04328.541.350_I_153292.33291.410.32
0_I_154347.20320.467.700_I_155383.86363.295.36
0_I_156322.72312.773.080_I_157317.25312.051.64
0_I_159324.43321.240.980_I_15344.14329.784.17
0_I_160302.85302.850.000_I_161345.81344.500.38
0_I_162370.24361.012.490_I_163317.24313.211.27
0_I_164300.10300.100.000_I_165320.44314.032.00
0_I_166366.52340.857.000_I_168333.84327.671.85
0_I_169326.60316.673.040_I_16376.84325.6713.58
0_I_17334.56327.772.030_I_1313.16300.763.96
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ghiani, G.; Adamo, T.; Greco, P.; Guerriero, E. Lifting the Performance of a Heuristic for the Time-Dependent Travelling Salesman Problem through Machine Learning. Algorithms 2020, 13, 340. https://doi.org/10.3390/a13120340

AMA Style

Ghiani G, Adamo T, Greco P, Guerriero E. Lifting the Performance of a Heuristic for the Time-Dependent Travelling Salesman Problem through Machine Learning. Algorithms. 2020; 13(12):340. https://doi.org/10.3390/a13120340

Chicago/Turabian Style

Ghiani, Gianpaolo, Tommaso Adamo, Pierpaolo Greco, and Emanuela Guerriero. 2020. "Lifting the Performance of a Heuristic for the Time-Dependent Travelling Salesman Problem through Machine Learning" Algorithms 13, no. 12: 340. https://doi.org/10.3390/a13120340

APA Style

Ghiani, G., Adamo, T., Greco, P., & Guerriero, E. (2020). Lifting the Performance of a Heuristic for the Time-Dependent Travelling Salesman Problem through Machine Learning. Algorithms, 13(12), 340. https://doi.org/10.3390/a13120340

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop