Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm

Similar documents
A Time Bucket Formulation for the TSP with Time Windows

Solving Time Dependent Traveling Salesman Problems with Time Windows

Travelling Salesman Problem

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem

An Exact Algorithm for the Steiner Tree Problem with Delays

A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows

Chapter 3: Discrete Optimization Integer Programming

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Chapter 3: Discrete Optimization Integer Programming

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows

Models and Cuts for the Two-Echelon Vehicle Routing Problem

A maritime version of the Travelling Salesman Problem

The Traveling Salesman Problem with Pickup and Delivery. A polyhedral approach. IBM Research - Australia. Irina Dumitrescu

A Branch-and-Cut Algorithm for the Dial-a-Ride Problem

Part III: Traveling salesman problems

Bounds on the Traveling Salesman Problem

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

Introduction to Integer Programming

Revisiting the Hamiltonian p-median problem: a new formulation on directed graphs and a branch-and-cut algorithm

Introduction to integer programming III:

EXACT ALGORITHMS FOR THE ATSP

Part III: Traveling salesman problems

Decision Diagrams for Sequencing and Scheduling

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Valid Inequalities and Separation for the Symmetric Sequential Ordering Problem

Pricing Routines for Vehicle Routing with Time Windows on Road Networks

Asymmetric Traveling Salesman Problem (ATSP): Models

Vehicle Routing with Traffic Congestion and Drivers Driving and Working Rules

A Branch-and-Cut Algorithm for the Periodic Rural Postman Problem with Irregular Services

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections

A priori performance measures for arc-based formulations of the Vehicle Routing Problem

A Column Generation Based Heuristic for the Dial-A-Ride Problem

Memorandum COSOR 95-19, 1995, Eindhoven University of Technology

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Compact Formulations of the Steiner Traveling Salesman Problem and Related Problems

Solving the Asymmetric Travelling Salesman Problem with time windows by branch-and-cut

Branch and Price for the Vehicle Routing Problem with Discrete Split Deliveries and Time Windows

The Probabilistic Pickup and Delivery Problem

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW)

Stronger Multi-Commodity Flow Formulations of the (Capacitated) Sequential Ordering Problem

Vehicle Routing and MIP

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Branching Rules for Minimum Congestion Multi- Commodity Flow Problems

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Combinatorial optimization problems

Partial Path Column Generation for the Elementary Shortest Path Problem with Resource Constraints

Integer Linear Programming (ILP)

Transformations of node-balanced routing problems

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles

Equivalence of an Approximate Linear Programming Bound with the Held-Karp Bound for the Traveling Salesman Problem

Lecture 8: Column Generation

Applied Integer Programming: Modeling and Solution

An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem

3.7 Cutting plane methods

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls

Capacitated ring arborescence problems with profits

Decomposition-based Methods for Large-scale Discrete Optimization p.1

A generalized formulation for vehicle routing problems

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

CS/COE

The traveling salesman problem

VEHICLE ROUTING ON REAL ROAD NETWORKS

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

16.410/413 Principles of Autonomy and Decision Making

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Complexity of Routing Problems with Release Dates and Deadlines

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

Scheduling and Optimization Course (MPRI)

Introduction to Integer Linear Programming

3.7 Strong valid inequalities for structured ILP problems

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

Modeling with Integer Programming

Optimizing departure times in vehicle routes

Chapter 3 THE TIME-DEPENDENT SHORTEST PAIR OF DISJOINT PATHS PROBLEM: COMPLEXITY, MODELS, AND ALGORITHMS

Branch-and-Price for Routing with Probabilistic Customers

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Formulations and Algorithms for Minimum Connected Dominating Set Problems

The Separation Problem for Binary Decision Diagrams

POLYNOMIAL MILP FORMULATIONS

Cable Trench Problem

Decision Procedures An Algorithmic Point of View

Models and valid inequalities to asymmetric skill-based routing problems

Technische Universität Dresden Institute of Numerical Mathematics

Notes on Dantzig-Wolfe decomposition and column generation

International ejournals

World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering Vol:5, No:4, 2011

Integer Linear Programming

Decision Diagrams for Discrete Optimization

Logic, Optimization and Data Analytics

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

Hybrid Optimization Methods for Time-Dependent Sequencing Problems

An exact algorithm for Aircraft Landing Problem

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

Models and Algorithms for Stochastic and Robust Vehicle Routing with Deadlines

Minimizing Total Delay in Fixed-Time Controlled Traffic Networks

2 Notation and Preliminaries

Separating Simple Domino Parity Inequalities

A Gossip Algorithm for Heterogeneous Multi-Vehicle Routing Problems

Transcription:

Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm Anna Arigliano, Gianpaolo Ghiani, Antonio Grieco, Emanuela Guerriero Dipartimento di Ingegneria dell Innovazione, Università del Salento Via per Monteroni, 73100 Lecce, Italy Abstract In this paper, we deal with the Time-Dependent Traveling Salesman Problem with Time Windows (T DT SP T W ). Firstly, we prove that under special conditions the T DT SP T W can be solved as an Asymmetric Traveling Salesman Problem with Time Windows (AT SP T W ), with suitable-defined time windows and (constant) travel times. Secondly, we show that, if the special conditions do not hold, the AT SP T W optimal solution provides both a lower bound and (eventually) an upper bound with a worst-case guarantee for the original T DT SP T W. Finally an integer linear programming model is presented and valid inequalities are embedded into a branch-and-cut algorithm. Computational results show that the proposed algorithm is able to solve instances with up to 40 vertices. Keywords: traveling salesman problem, time dependence, time windows, lower and upper bounds, branch-and-cut 1. Introduction This paper presents an exact algorithm for solving the time-windowed version of the Time-Dependent Traveling Salesman Problem defined as follows. Let G = (V {0}, A) be a complete directed graph, where V = {1,..., n} is the set of n customers to be visited, vertex 0 is the depot, and A is the set of arcs. To each arc (i, j) A is associated a non-negative travel distance L ij. The depot is the starting point of the vehicle. Let τ ij (t) be the travel duration of arc (i, j) A when the vehicle leaves vertex i at time t. Moreover, emanuela.guerriero@unisalento.it Preprint submitted to European Journal of Operational Research February 10, 2014

at each i V {0}, are associated an earliest and a latest service time r i and d i, respectively. The interval [r i, d i ] is called the time window of node i. The TDTSPTW consists in finding a least-duration Hamiltonian circuit on G, starting from the depot at time t = 0, such that for every node i V the arrival time at node i V is lower than or equal to d i. One may arrive at node i V earlier than r i and it is allowed to wait until the node becomes available for service at time r i. Finally, it is supposed that the time window of node depot is relaxed. The earliest papers on the T SP T W focused on exact approaches are [1] and [2]. Later, in [3] Dumas et al. extended earlier dynamic programming approaches by using state space reduction techniques that allowed them to solve larger problem instances. Ascheuer et al. [4] developed a branch-andcut algorithm in which they applied techniques tailored for the asymmetric T SP T W. Balas and Simonetti [5] presented a dynamic programming algorithm for several TSP variants with precedence constraints, including the TSPTW. Constraint programming is another exact approach that has been recently applied to the TSPTW in [6] and [7]. The main limit of these contributions is due to hypothesis of constant travel times. Indeed, due to the road congestion, which varies over the day, solutions derived from time-independent models to the T SP T W could be infeasible when applied in real life. Despite numerous publications deal with exact algorithms for the time independent vehicle routing problems, few address the inherent time-dependent nature of this problems. Recently, Ropke et al. in [8] have proposed a Branch-and-Price algorithm for the Time-Dependent vehicle routing problem with time windows. With respect to vehicle routing problems with a single vehicle including time-dependent travel times, recently Cordeau et. al. [9] exploited a number of properties and devised an exact algorithm. As far as we know, the only exact algorithm for the TDTSPTW is given in [10]. Here the problem is firstly transformed into an Asymmetric Generalized TSP and then into an Asymmetric Graphical TSP. In this way, the authors can apply a known exact algorithm for the Mixed General Routing Problem. This approach can solve instances with up to 60 vertices, with very tight time windows, resulting in relatively small Asymmetric Graphical TSP instances. The contribution of this paper is threefold. Firstly, we prove that under special conditions the T DT SP T W can be solved as an Asymmetric Traveling Salesman Problem with Time Windows (AT SP T W ), with suitable-defined time windows and (constant) travel times. Secondly, we show that, if the 2

special conditions do not hold, the AT SP T W optimal solution provides both a lower bound and (eventually) an upper bound with a worst-case guarantee for the original T DT SP T W. Finally an integer linear programming model is formulated for TDTSPTW. Valid inequalities are embedded into a branchand-cut algorithm, that was able to solve instances with up to 40 vertices. The remainder of the paper is organized as follows. The next section introduces the notation used throughout the paper. Section 3 illustrates some properties of the T DT SP T W. In Section 4 a procedure to compute lower and upper bounds on the optimal solution value is described. It is shown that the lower bound corresponds to the optimal solution value when all arcs share a common congestion pattern. Section 5 introduces an integer linear programming formulation of the problem. Section 6 is devoted to valid inequalities that strengthen the linear programming relaxation of the formulation given in Section 5. These inequalities are then used within a branch-and-cut algorithm which is described in Section 7. This is followed by computational experiments in Section 8, and by the conclusion. 2. Notation Let [0, T ] be the time horizon (typically a single day) within which a tour may be completed. This horizon is partitioned into H subintervals [T h, T h+1 ] (h = 0,..., H 1). We assume that, for each arc (i, j) A, traffic information systems provide the average value of travel speed v ijh during time interval [T h, T h+1 ] with h = 0,..., H 1. The time-dependent travel value τ ij (t) on arc (i, j) A at time t can be computed as proposed by Ichoua et al. in [11]. As stated in [12], following a generic piecewise linear travel time model allows to express the travel speeds as where: v ijh = δ ijh b h u ij (1) u ij is the maximum travel speed across arc (i, j) A during [0, T ],i.e. u ij = max v ijh; h=0,...,h 1 b h belongs to [0, 1] and is the best (i.e. lightest) congestion factor during interval [T h, T h+1 ] on the complete graph, i.e. b h = max v ijh /u ij ; (i,j) A 3

δ ij belongs to [0, 1] and represents the degradation of the congestion factor of arc (i, j) in interval [T h, T h+1 ] with respect to the less congested arc in [T h, T h+1 ]. Let = min ijh (δ ijh) be the heaviest degradation of the traffic jam factor of any arc (i, j) A over [0, T ]. If = 1, then all arcs (i, j) A share a common traffic jam factor b h during interval [T h, T h+1 ] (h = 1,..., H 1). Hence the relationship (1) can be expressed as: v ijh = b h u ij. (2) Given an arc (i, j) A, under speed variation law (2), it results that: L ij u ij = t+τij (t) t b(µ)dµ, (3) where b(t) = b h t [T h, T h + 1[. (4) 3. Properties Let p i be a simple path {i 0, i 1,..., i m } on G with i 0 = 0 and i m = i. Given a circuit c, let σ(0), σ(1),..., σ(n) denote the sequence of customers visited in positions 0, 1,..., n respectively. When the vehicle traverses the path p σ(i) under the speed variation law (1) starting from the depot at time t = 0, y(p σ(i) ) indicates the arrival time in σ(i), with i = 1,..., n. Since the vehicle might arrive before r σ(i), we also define the visiting time as z(p σ(i) ) = max{r σ(i), y(p σ(i) )}. A Hamiltonian circuit c is said to be feasible under speed variation law (1) if each node i V is visited within the time window [r i, d i ], with i = 1,..., n. We denote with z(c) the time needed to traverse a Hamiltonian circuit c on G under speed variation law (1). Moreover, let C denote the set of all Hamiltonian circuits on G feasible under speed variation law (1). Similarly, z(c) and C will indicate the duration of c and the set of feasible Hamiltonian circuits when the speed variation law (2) holds. Of course it results that:. C C 4

If all v ijh are further increased to u ij, travel speeds become constant and the problem reduces to the ATSP with Time Windows. In particular we denote with Ω the set of Hamiltonian circuits on G such that if c is traversed with constant speeds u ij, then each node i V is visited within the time window [R i, D i ], where R i = ri 0 b(µ)dµ, D i = di 0 b(µ)dµ. (5) Under the hypothesis of constant speed values, we denote with z(c) the duration of c Ω. Finally, as we did for the duration of a circuit, we also define z(p σ(i) ), y(p σ(i) ), z(p σ(i) ) and y(p σ(i) ). If all time windows [r i, d i ] are relaxed then any Hamiltonian circuit c becomes feasible under all three considered speed variation laws. This is the hypothesis underlying the TDTSP, for which Cordeau et al. in [9] demonstrated that, given a circuit c, the relationship (6) holds. z(p σ(i) ) = z(pσ(i) ) 0 b(µ)dµ. (6) The following theorem extends this result to the T DT SP T W. Theorem 1. For each c C, relationship (6) holds. Proof. Let us denote with m the number of customers, that contribute with a not-null waiting time to z(p σ(i) ). We demonstrate the thesis by induction on m. Case (m = 0). In this case, only travel times contribute to the computation of z(p σ(i) ). Since this is the hypothesis underlying the TDTSP, we can assert that Cordeau et al. in [9] have already proved that relationship (6) holds with m = 0. Case (m > 0). Let us suppose that (6) holds for (m 1). Let σ(q) denote the node at which the m th not-null waiting time occurs under speed variation law (2), with q = 1,..., n. Then it results that and y(p σ(q) ) < r σ(q) (7) 5

z(p σ(q) ) = r σ(q). We observe that only travel times contribute to the computation of z(p σ(i) ), with i = q + 1,..., n. Then from (5) it follows that the thesis is proved if we demonstrate that y(p σ(q) ) < R σ(q), that is z(p σ(q) ) = R σ(q). We start by observing that and y(p σ(q) ) = z(p σ(q 1) ) + L σ(q 1)σ(q) u σ(q 1)σ(q), y(p σ(q) ) = z(p σ(q 1) ) + τ σ(q 1)σ(q) (z(p σ(q 1) )). Since (6) holds for m 1, from (3) and (7) it follows that : y(p σ(q) ) = which completes the proof. y(pσ(q) ) 0 b(µ)dµ < rσ(q) 0 b(µ)dµ = R σ(q), The following Corollary extends Theorem 1 to durations of circuits. Corollary 1. For each c C, relationship (8) holds. z(c) = z(c) 0 b(µ)dµ. (8) Proof. We start by observing that z(c) and z(c) can be expressed as : and z(c) = z(σ(n)) + τ σ(n),0 (z(σ(n))) (9) z(c) = z(p(σ(n))) + L σ(n) u σ(n),0. (10) The thesis is proved by applying Theorem 1 and (3) to relationships (9) and (10). 6

4. Computing Lower and Upper Bounds We start by observing that min(z(c) c C) and min(z(c) c C) are both TDTSPs with time windows, meanwhile min(z(c) c Ω) corresponds to the classical ATSPTW. Let c, c be optimal solutions of the TDTSPTW s under the speed variation law (1) and (2), i.e. c = arg min{z(c) c C} and c = arg min{z(c) c C}. Similarly, let c denote an optimal solution of the ATSPTW defined on Ω, that is c = arg min{z(c) c Ω}. In the following we demonstrate that efficient algorithms developed for the AT SP T W can be used to solve the T DT SP T W when speed variation law (2) holds. 4.1. A Lower Bound In this section we demonstrate both that z(c ) is a lower bound on z(c ) and that if speed variation law (2) holds, then c is optimal for TDTSPTW, i.e. z(c ) = z(c ). Theorem 2. Circuit c is optimal under speed variation law (2). Proof. From Theorem 1 and definition (5), it follows that for each c C: z(p σ(i) ) d pσ(i) z(p σ(i) ) D pσ(i). (11) This implies that circuits belonging to Ω are feasible under speed variation law (2),that is C Ω. Moreover from Corollary 1 we have that, given two generic circuits c and c of C: z(c) z(c ) z(c) z(c ). (12) An implication of (11) and (12) is that z(c ) = min{z(c) c C}. Corollary 2. Given two Hamiltonian circuits c Ω and c C (optimal with respect to z(c)) and z(c), respectively), the following relationship is satisfied: z(c ) z(c ) (13) Proof. Given a generic solution c C, from Theorem 2 and Corollary 1 one has z(c ) z(c) z(c ) z(c). 7

Since c remains feasible under speed variation law (2), i.e. C C, it follows that z(c ) z(c ) z(c ). 4.2. Worst case performance analysis In this subsection we provide a worst case analysis on z(c ). Theorem 3. If c is feasible under speed variation law (1), then z(c ) is an upper bound not greater than 1/ times the optimal value z(c ), that is z(c ) 1 z(c ). Proof. Given the speed variation law (1), during each time interval h the congestion factor may take a value in the interval [ b h, b h ] with h = 0,..., H 1. Therefore, for a generic solution c C, one has Combining (14) and (13) we may assert that z(c) z(c) 1 z(c). (14) z(c ) 1 z(c ) 1 z(c ). 5. Integer Linear Programming Formulation In this section, the T DT SP T W is formulated as an integer linear program for which new valid inequalities are devised. Let x ij be a binary decision variable equal to 1 iff arc (i, j) A is part of the solution. Given a customer i, we denote with P i the set of all simple paths {i 0, i 1,..., i m } on G with i 0 = 0 and i m = i. Let denote by LB p a lower bound on the tour duration when the path p P i, i V, is part of the solution. As in [13], the time window restrictions are modeled by a class of inequalities called unfeasible path elimination constraints (IP ECs). For this purpose, we denote with x(p) the sum of variables corresponding to path p, i.e. x(p) = m 1 l=0 x i l,i l+1. Finally let C p denote the set of circuits, which the path p is part of. The T DT SP T W is formulated as follows. 8

M inimize z (15) subject to z LB p 1 + (x ab 1), i V {0}, p P i (16) (a,b) p i V \{j} j V \{i} x ij = 1, j V {0} (17) x ij = 1, i V {0} (18) x ij 1, S V {0}, S 2 (19) i S j / S x(p) m 1 C p C = (20) x ij {0, 1}, (i, j) A. (21) Equation (16) states the relationships between the tour duration variable z and the flow variables x ij : the value of z must be larger than or equal to the longest path belonging to the circuit defined by the x ij variables taking value 1. Equations (17) and (18) are referred to as degree constraints. Constraints (17) impose that a unique arc enters each vertex j V. Similarly, constraints (18) state that a single arc exits each vertex i V. Inequalities (19) are the subtour elimination constraints (SECs). Finally, (20) forbid infeasible paths, i.e. paths violating time windows (IP ECs). 5.1. Computing LB p Let z(p, t) denote the visiting time of node i, when the vehicle traverses the path p = {i 0 = 0,..., i m = i} under variation law (1) starting from the depot at time t > 0. As it has been made for the starting time t = 0, z(p, t) and z(p, t) are defined. Theorem 4 shows how one can use z(c ) to compute a lower bound on z(c) with c C p C. Given a start travel time t, to ease the explanation, we will denote by τ(l, t) the traversal time of a dummy arc which has a length equal to L and travel speed values equal to b h for h = 0,..., H 1. 9

Theorem 4. Given a path p with C p C, if z(c ) z(p) it follows that where c C p. z(c) z(p) + τ(z(c ) z(p), z(p)), (22) Proof. Each Hamiltonian circuit c C p can also be modeled as the concatenation of p and p c, where p c represents the simple path starting from i. Therefore the circuit duration z(c) can be rewritten as: z(c) = z(p) + z(p c, z(p)). Since z(p) is the same for any c C p, a lower bound on z(p c, z(p)) can be determined. From Corollary 1 it can be said that z(p c, z(p c )) = τ(z(p c ), z(p)) z(p c, z(p)) c C p. (23) Since c = arg min{z(c)}, it follows that c Ω z(c ) z(p) z(p c ) c C p. (24) Combining Theorem 1 with (23) and (24) yields 0 z(c ) z(p) z(p c ) τ(z(c ) z(p), z(p)) τ(z(p c ), z(p)) z(p c, z(p)) c Ω p, which completes the proof. We observe that another lower bound on z(p c, z(p)) is r kc + τ kc,0 (r kc ), where k c = arg max(r i i p c ). Therefore we adopt the procedure described in Algorithm 1 to calculate the LB p value. 6. Valid Inequalities The linear programming relaxation of formulation (15) (21) can be strengthened with two families of valid inequalities. 10

Algorithm 1 Computing the lower bound LB p if z(c ) < z(p) then LB p = z(p) else LB p = z(p) + max{τ(z(c ) z(p), z(p)), r kc + τ kc,0 (r kc )} end if return LB p 6.1. Lower bounding inequalities We introduce A additional non-negative variables t ij representing the visiting time of node i under constant travel speeds (i.e. v ij (t) = u ij ), whenever x ij = 1. Moreover we introduce a non-negative variable Γ, representing the circuit duration z(c). The following inequalities state that c Ω. t ij + i V i V Γ j V {0} L ij x ij t jk j V (25) u ij k V t j0 + j V {0} L j0 u j0 x j0 (26) R i x ij t ij D i x ij (i, j) A (27) Γ 0 (28) t ij 0 (i, j) A (29) By observing that Theorem 2 also demonstrated that C Ω( C), then we can assert that inequalities (25)-(29) are valid. If 1, it results that z(c) z(c) for any c C. In this case, the following valid inequalities can greatly speed up the solution process: z z(c) c C. (30) We assume that T k z(c) T k+1 and k {0,..., H 1}. Since the function b(µ) is constant stepwise, then the relationship (8) can be rewritten as follows: z(c) = k (T h+1 T h )b h + (z(c) T k )b k. (31) h=0 11

The relationship (31) is equivalent to z(c) = H 1 h=0 z h (c)/b h, where, as reported in [9], z 0 (c),..., z H 1 (c) have been recursively defined in the following { } z H 1 (c) = max 0, z(c) H 2 { h 1 z h (c) = max 0, z(c) b l [T l+1 T l ] l=0 z 0 (c) = max { l=0 0, z(c) b l [T l+1 T l ] H 1 l=h+1 H 1 l=1 z l (c) z l (c) } }.. h = 1,..., H 2 Therefore the inequality (30) can be rendered through the following linear inequalities: z H 1 h=0 z 0 Γ h 1 z h Γ b l (T l T l 1 ) l=0 z H 1 Γ H 2 l=0 z h b h (32) H 1 l=1 H 1 l=h+1 z l (33) z l h = 1,.., H 2 (34) b l (T l T l 1 ) (35) H 1 z h b h (T h T h 1 ) y l h = 0,.., H 1 (36) z h b h (T h T h 1 ) l=h H 1 l=h+1 12 y l h = 0,.., H 2 (37)

y h = 1 (38) H 1 h=0 z h 0, y h {0, 1} h = 0,..., H 1, (39) Z 0, (40) where the binary variable y h is equal to 1 iff z(c) [T h 1, T h ], with h = 0,..., H 1. Since the number H of periods is typically rather small, no separation procedure has been devised for the (3H+1) valid inequalities (32) (39), which have been directly added as standard constraints to the integer linear programming formulation. Similarly we dealt with the (n(1 + n) + 1) valid inequalities (25) (27). 6.2. Infeasible Path Elimination Constraints Given a simple path P = (v 1,..., v k ), it results infeasible if time windows are violated. The infeasible paths have to be forbidden. The tournament constraints (41), proposed in [13] for the AT SP T W, are also valid for the T DT SP T W. x([p ]) := k 1 k i=1 j=i+1 7. Branch-and-Cut Algorithm x vi v j k 2 ( P 1) (41) In this section the main elements of a branch-and-cut algorithm based on formulation (15) (21) are described. 7.1. Data preprocessing As for many other combinatorial optimization problems, data preprocessing plays a central role in the efficient implementation of the proposed branch-and-cut algorithm. During preprocessing, the aim is to determine a tighter formulation of the problem without loosing any optimal solution of the original one. Since the set of feasible circuits C is a subset of Ω, we apply some of the preprocessing steps proposed in [4] for the AT SP T W, i.e. min(z(c) c Ω). In particular we considered three main steps: tightening the time windows, constructing precedences among the nodes, and fixing variables permanently. 13

It is worth noting that the tightening of the time windows has been carried out into two steps. Firstly, the release date and due-date adjustment procedures proposed in [4] are applied to R i and D i, with i = 1,..., n. By extending the notation introduced in the previous section to the relationships (5), we have that : r(i) = τ(r(i), 0) d(i) = τ(d(i), 0), with i = 1,..., n. Therefore, during the second step, the corresponding adjustments on r i and d i are obtained as output of the travel time computation algorithm proposed in [11]. 7.2. Initialization Because z(c ) represents a lower bound on the optimal value z(c ), the following valid inequality has been added, as initial lower bound, to the model: z z(c ) Furthermore we tried to determine an initial feasible solution as follows. If c C, then a start upper bound is provided by the value z(c ). Otherwise we try to determine an initial upper bound value by running the time-dependent version of the construction and improvement heuristics proposed in [4] for AT SP T W. 7.3. Separation Routines The proposed formulation has an exponential number of constraints (16), (19) and (20). For this reason, procedures to identify violated inequalities, are used. For inequalities (16), we adopted the separation procedure proposed in [9]. For a given solution x, with each arc (i, j) A is associated a cost 1 ˆx ij, where ˆx ij denotes the value of variable x ij in the current fractional solution. We determine the least cost path from vertex 0 to any other vertex with respect to these costs. If these shortest path costs are greater than or equal to 1 then no violated constraint (16) exists. Otherwise, the shortest path corresponds to a violated inequality of the form (16). Conversely, if a violated constraint (16) exists, then there is at least one path with a cost smaller than 1 and it will be detected by our procedure. For the subtour elimination constraints (19), an appropriate separation routine, based on the minimum cut algorithm of [14], is used. Tournments constraints (20) are separated with the simple procedure defined in [4]. Let ˆx be a fractional 14

solution. The paths P k for which k 1 k ˆx vi v j k+2 is greater than 0, under i=1 j=i+1 the assumption that ˆx ij = ˆx ij = 1, are detected by enumeration with i V j V backtrack as soon as k 1 k i=1 j=i+1 ˆx vi v j k + 2 0. 8. Computational Results The branch-and-cut algorithm was coded in C++ and run on MacBook Pro with a 2.33-GHz Intel Core 2 Duo processor and 4 GB of memory. The Concert Technology library of Cplex 11 was used as a framework. For our numerical study we use data sets generated in [9] for the T DT SP, where traffic density was characterized with respect to three concentric circular zones C 1, C 2 and C 3 (see Figure 1). For each possible value of n in the set {15, 20, 30, 40} Cordeau et al. [9] generated 30 instances, that is 30 distance matrices. Two distinct traffic density patterns, A and B, have been considered as indicated in Tables 1 and 2. As stated in [9], traffic pattern A is typical of cities where the old town centre C 1 is a limited traffic zone and has a low traffic congestion comparable to the residential zone C 3. In this scenario the value refers to the business centre located in the middle of zone C 2. The traffic pattern B is more representative of cities where the highest traffic congestion, i.e. the value, characterizes the city centre. Under this scenario, the middle zone C 2 experiences medium congestion as the traffic thins out gradually from the city centre C 1 to the residential zone C 3. For each traffic pattern we have considered five different values ranging from 0.70 to 0.98. For each zone c and each time interval h, the δ ijh values of arcs (i, j) with vertex i in zone c have been set within the intervals reported in Tables 1 and 2. Given a T DT SP instance we generated a feasible T DT SP T W as follows. Firstly n release dates were randomly generated. Then we determined a circuit c, where customers are visited in no-increasing order of release date. The main issue was to assign a time window width to each customer so that c is feasible. Therefore, the duedate value is set to be 30% greater than the visiting time in c, that is d σ(i) = 1.30 z(p σ(i) ) with i = 1,..., n. 15

Figure 1: Customer locations Combining the four possible values for n, five values and two traffic patterns yields a total of 1200 instances. Table 1: Intervals containing δ ijh for traffic pattern A h = 1 h = 2 h = 3 C 1 1 1 1 C 2 [0.70; 0.98] 1 [0.70; 0.98] C 3 [0.95; 0.99] 1 [0.95; 0.99] A maximum of 3600 seconds was imposed on the solution of each instance. To determine c we formulated the corresponding AT SP T W instance and we solved it using the separation procedures proposed for (19) and (20) in [14] and [13], respectively. Results are reported in Table 3 and Table 4 under the following headings: OP T : number of instances solved to optimality; T IME: time spent to determine an initial feasible solution; z(c ) z(c ): ratio of the initial upper bound on the best lower bound available at the end of the search; 16

Table 2: Intervals containing δ ijh for traffic pattern B h = 1 h = 2 h = 3 C 1 [0.70; 0.98] 1 [0.70; 0.98] C 2 [0.80; 0.99] 1 [0.80; 0.99] C 3 1 1 1 GAP I : the initial optimality gap in percentage, tha is (z(c ) z(c )) z(c ) GAP f : final optimality gap in percentage; NODES: number of nodes in the search tree; (19): total number of subtour elimination constraints (19) added by the algorithm; (20): total number of infeasible path elimination constraints (20) added by the algorithm; (16) : total number of constraints (16) added by the algorithm; T IME: time spent to determine the optimal solution. For column T IME we report averages across all instances. For columns from z(c )/z(c ) to GAP f, we report results on two distinct rows: the first row is the average across instances solved to optimality, while the second row is the average for the remaining instances. For the sake of conciseness, the first or the second row has been omitted whenever none or all instances were solved to optimality. For columns from NODES to T IME we report only averages for instances that were solved to optimality. When the time limit was reached before proving optimality, the ratio z(c )/z(c ) was evaluated with respect to the best lower bound found. Optimality gaps were computed as upper bound lower bound. (42) lower bound The final optimality GAP f is zero if the instance was solved to optimality. Otherwise, GAP f was evaluated with respect to the best lower and upper bounds found within the time limit of 3600 seconds. It is worth noting that, 17

at the root node the LP relaxation of (15)-(21), inequalities (25)-(29) and (32)-(39) were never able to improve the lower bound z(c ). Therefore, the value GAP I can also be interpreted as the root node optimality gap. Computational results confirms that the proposed algorithm exhibits a computational behavior similar to that one of the branch-and-cut algorithm proposed in [9] for the T DT SP. The time needed to compute the initial solution is usually below 1 second and the initial gap was below 6%. When traffic pattern A holds, the proposed formulation is tight and the branchand-cut algorithm is capable of solving all instances with 15 customers and most instances containing up to 40 customers. Under this traffic congestion pattern, the percentage of arcs (i, j) A characterized by δ ijh 1 is greater than 60% and z(c ) z(c ).When traffic pattern B holds, the success rate decreases, because a large fraction of the arcs appearing in any solution belong to the highly congested clusters C 1 and C 2. The algorithm was able to solve to optimality only instances with an initial gap value GAP I usually lower than 1% and 2.5% under traffic pattern A and B respectively. Moreover we also observe that for all instances solved to optimality the algorithm closed the optimality gap within the first 60 seconds of computation on average. In all other cases, the deviation between the best lower bound and the heuristic solution is usually below 5%. 9. Conclusions In this research work, an exact algorithm for the T DT SP T W has been proposed. In particular, a new integer programming formulation of the problem has been defined and valid inequalities have been introduced that have been embedded into a branch-and-cut algorithm. Computational experiments show that the algorithm can successfully solve instances derived from the literature on ATSPTW with up to 40 vertices. Future research will be focused on more generic test cases in order to assess the relationships existing between the value and the performance of the proposed algorithm. References [1] N. Christofides, A. Mingozzi, P. Toth, State-space relaxation procedures for the computation of bounds to routing problems, Networks 11 (2) (1981) 145164. 18

[2] E. K. Baker, An exact algorithm for the time-constrained traveling salesman problem, Networks 31 (5) (1983) 938945. [3] Y. Dumas, J. Desrosiers, E. Gelinas, An optimal algorithm for the traveling salesman problem with time windows, Operations Research 43 (2) (1995) 367371. [4] N. Ascheuer, M. Fischetti, G. M, A polyhedral study of the asymmetric traveling salesman problem with time windows, Networks 90 (2000) 69 79. [5] E. Balas, N. Simonetti, Linear time dynamic-programming algorithms for new classes of restricted tsps: A computational study, INFORMS Journal on Computing 13 (1) (2001) 5675. [6] F. Focacci, A. Lodi, M. Milano, A hybrid exact algorithm for the tsptw, INFORMS Journal on Computing 14 14 (2002) 403417. [7] G. Pesant, M. Gendreau, J.-Y. Potvin, J.-M. Rousseau, Logic programming algorithm for the traveling salesman problem with time windows, Transportation Science 32 (1998) 1229. [8] S. Dabia, S. Ropke, T. W. andt. G. de Kok, Branch and price for the time-dependent vehicle routing problem with time windows, Transportation Science 47 (3) (2013) 380 396. [9] J. F. Cordeau, G. Ghiani, E. Guerriero, Analysis and branch-and-cut algorithm for the time-dependent travelling salesman problem, Transportation Science (2011) Published on line before print, December 13, 2012, doi: 10.1287/trsc.1120.0449. [10] J. Albiach, J. Sanchis, D. Soler, An asymmetric TSP with time windows and with time-dependent travel times and costs: An exact solution through a graph transformation, European Journal of Operational Research 189 (2008) 789 802. [11] I. Soumia, M. Gendreau, J.-Y. Potvin, Vehicle dispatching with timedependent travel times, European Journal of Operational Research 144 (2003) 379 396. 19

[12] G. Ghiani, E. Guerriero, A note on the ichoua et al. (2003) travel time model, Transportation Science Accepted for publication (2013). [13] N. Ascheuer, M. Fischetti, G. M, Solving the asymmetric travelling salesman problem with time windows by branch-and-cut, Mathematical Programming 36 (2001) 475 506. [14] H. Nagamochi, T. Ono, T. Ibaraki, Implementing an efficient minimum capacity cut algorithm, Math. Program. 67 (1994) 325 341. 20

Table 3: Computational results for traffic pattern A V OP T TIME z(c )/z(c ) GAP I GAP f NODES SEC IP EC LB T IME 0.98 0.90 0.80 0.70 15 30 0.098 1.002 0.24 0.00 570 113 841 138 3.80 20 27 0.096 1.000 0.03 0.00 1030 126 1040 367 11.41 0.152 1.000 0.11 0.11 - - - - - 30 25 0.256 1.042 0.01 0.00 0 0 2 0 0.50 0.197 1.002 1.48 0.30 - - - - - 40 18 0.469 1.001 0.06 0.00 3 5 41 0 1.76 0.708 1.007 2.51 2.35 - - - - - 15 30 0.058 1.000 0.41 0.00 2767 499 1831 733 16.00 20 25 0.105 1.000 0.32 0.00 5927 917 5861 1231 59.89 0.106 1.002 0.80 0.71 - - - - - 30 19 0.234 1.001 0.24 0.00 879 172 4617 135 27.87 0.215 1.000 0.89 0.84 - - - - - 40 10 0.431 1.001 0.22 0.00 300 187 2402 0 40.73 0.513 1.001 2.14 1.88 - - - - - 15 30 0.067 1.000 0.76 0.00 813 187 1703 197 5.76 20 22 0.120 1.001 0.72 0.00 4021 993 4729 1280 53.50 0.090 1.000 0.99 0.61 - - - - - 30 14 0.238 1.000 0.10 0.00 1150 359 6099 41 37.89 0.226 1.002 2.22 1.17 - - - - - 40 11 0.544 1.000 0.53 0.00 615 303 2971 0 47.66 0.412 1.010 2.10 1.25 - - - - - 15 29 0.053 1.001 1.31 0.00 1387 364 1686 329 9.70 0.047 1.000 1.93 1.90 - - - - - 20 21 0.089 1.002 1.00 0.00 116 24 235 25 1.65 0.132 1.004 1.98 1.14 - - - - - 30 16 0.216 1.001 0.63 0.00 1337 173 2233 140 9.21 0.239 1.005 3.01 1.97 - - - - - 40 12 0.505 1.000 1.00 0.00 6 10 74 0 2.40 0.485 1.012 3.11 1.73 - - - - - 21

Table 4: Computational results for traffic pattern B V OP T TIME z(c )/z(c ) GAP I GAP f NODES SEC IP EC LB T IME 0.98 0.90 0.80 0.70 15 27 20 17 30 13 40 9 15 27 20 20 30 18 40 10 15 28 20 13 30 7 40 11 15 29 20 16 30 6 40 3 0.057 1.000 0.19 0.00 1056 1125 5207 1500 48.09 0.073 1.002 0.20 0.21 - - - - - 0.178 1.000 0.16 0.00 820 820 12019 579 45.92 0.107 1.001 0.22 0.21 - - - - - 0.213 1.000 0.24 0.00 511 29 521 223 14.67 0.224 1.003 1.44 0.58 - - - - - 0.488 1.001 0.13 0.00 0 0 4 0 0.78 0.520 1.000 1.00 0.73 - - - - - 0.072 1.038 0.99 0.00 800 236 1231 221 5.50 0.125 1.014 3.33 1.55 - - - - - 0.089 1.000 0.95 0.00 3281 1020 3471 616 40.16 0.089 1.004 1.11 0.99 - - - - - 0.208 1.004 1.00 0.00 673 85 1583 93 18.41 0.246 1.002 1.03 0.88 - - - - - 0.519 1.001 0.70 0.00 205 60 549 37 25.21 0.506 1.007 1.93 0.77 - - - - - 0.059 1.004 2.35 0.00 1072 340 1294 319 7.85 0.071 1.000 4.60 3.71 - - - - - 0.081 1.002 1.96 0.00 3595 1004 15247 284 41.58 0.087 1.005 2.72 2.05 - - - - - 0.257 1.003 1.91 0.00 592 66 1338 105 15.84 0.315 1.007 3.64 2.25 - - - - - 0.412 1.002 1.48 0.00 26 27 326 4 8.03 0.428 1.015 3.40 1.72 - - - - - 0.064 1.005 4.64 0.00 4561 1508 9141 893 38.27 0.047 1.059 5.90 5.48 - - - - - 0.098 1.005 3.69 0.00 1633 477 6129 586 27.35 0.094 1.005 4.14 3.24 - - - - - 0.242 1.000 3.70 0.00 0 0 5 0 0.44 0.244 1.010 5.35 3.71 - - - - - 0.547 1.000 0.99 0.00 0 0 10 0 1.08 0.543 1.006 0.03 2.80 - - - - - 22