We describe three relaxations of salesman tours, called t-tour, ng-tour and ngL-tour relaxations, that are used to compute valid lower bounds on the TSPTW and bounding functions b(S, t, i) used by Fathoming2.
3.4.1 The t-Tour Relaxation
The t-tour relaxation was introduced by Christofides et al. [1981c]. This relaxation provides function f (t, i) that corresponds to the cost of a least-cost nonnecessarily elementary path, called (t, i)-path, that starts from vertex p at time ep, visits a set
of vertices (without two-vertex loops) within their time windows, and ends at vertex i ∈ V0 at time t ∈ [ei, li]. The DP recursion for computing functions f (t, i) is described
3.4.2 The ng-Tour Relaxation
In general, the t-tour relaxation does not provide any detailed knowledge of the path of cost f (t, i), so additional conditions to ensure that such path provides a feasible solution to the original problem cannot be imposed. To alleviate this drawback, we introduce the ng-path relaxation that consists of partitioning the set of all possible (t, i)-paths ending at vertex i ∈ V0 at time t ∈ [ei, li] according to a mapping function
that associates with each (t, i)-path a subset of the visited vertices depending on the order in which they are visited. The subset of vertices associated with each ng-path is used in the DP recursion to impose partial elementarity. The ng-tour relaxation can be described as follows.
Let Ni ⊆ V0 be a set of selected vertices for vertex i ∈ V0 (according to some criterion)
such that i ∈ Ni and |Ni| ≤ ∆(Ni), where ∆(Ni) is a parameter. The sets Ni allow
us to associate, with each forward path F = (p, i1, . . . , ik = σF), the set ΠF ⊆ V (F )
containing vertex ik and every vertex ir ∈ V (F ), r = 1, .., k − 1, that belongs to all
sets Nir+1, . . . , Nik associated with the vertices ir+1, . . . , ik visited after ir in path F .
Formally, the set ΠF is defined as
ΠF = {ir ∈ V (F ) \ {ik} : ir∈ k \ s=r+1 Nis} [ {ik}.
A forward ng-path (N G, t, i) is a nonnecessarily elementary path F = (p, i1, . . . , ik−1,
ik= i) that starts from vertex p at time ep, visits a set of vertices (each once or more)
within their time windows, ends at vertex i ∈ V0 at time t ∈ [ei, li], and such that
N G = ΠF and i /∈ ΠF0, where F0= (p, i1, . . . , ik−1) is an ng-path.
Notice that an ng-path can contain a loop (ir = j, ir+1, . . . , ir+s= j) for s ≥ 2 if and
only if there exists at least one index k such that 2 ≤ k ≤ s − 1 and j /∈ Nir+k. An example of ng-path is the following. Consider path F = (p, 1, 2, 3, 4, 1). The corresponding path F0 is F0 = (p, 1, 2, 3, 4). Suppose that sets Ni, i = 1, 2, 3, 4, are
defined as N1 = {1, 3, 4}, N2 = {1, 2, 5}, N3 = {1, 3, 4}, N4 = {2, 3, 4}. The set ΠF0
contains vertices 3 and 4 only because 1 /∈ N2 ∩ N3∩ N4 and 2 /∈ N3 ∩ N4 whereas
3 ∈ N4 and 4 is the last vertex visited by path F0. Being elementary, path F0 is clearly
an ng-path. Thus, because 1 /∈ ΠF0, path F is an ng-path. Moreover, the set ΠF
contains vertices 1, 3 and 4 only because 2 /∈ N3 ∩ N4 ∩ N1 whereas 3 ∈ N4 ∩ N1,
4 ∈ N1 and 1 is the last vertex visited by path F ; this means that path F can be
propagated towards all vertices but 1, 3 and 4.
We denote by f (N G, t, i) the cost of a least-cost forward ng-path (N G, t, i). Any (N G, t, q)-path ending at vertex q at time t ∈ [eq, lq] is called ng-tour.
A valid lower bound LB on the TSPTW is given by LB = min
t∈[eq,lq], N G⊆Nq
{f (N G, t, q)} ≤ z∗. (3.2)
Functions f (N G, t, i) can be computed with DP on a graph bGF = ( cF , cAF). The vertex
set cF represents the states of the DP recursion and is defined as
c
F = {(NG, t, i) : i ∈ V0
, t ∈ [ei, li], ∀N G ⊆ Ni s.t. N G 3 i}.
The arc set cAF represents the transitions of the DP recursion and is defined as
c
AF = {((N G0, t0, j), (N G, t, i)) : (N G0, t0, j), (N G, t, i) ∈ cF ,
j ∈ Γ−1i , t0 ∈ Ω(t, j, i), ∀N G0 ⊆ Nj s.t. N G0 3 j and N G0∩ Ni = N G \ {i}}.
A possible DP recursion for computing functions f (N G, t, i) is f (N G, t, i) = min
(N G0,t0,j)∈ bF : ((NG0,t0,j),(N G,t,i))∈ bA F
{f (N G0, t0, j) + dji}, (N G, t, i) ∈ cF .
(3.3) Notice that the condition N G0∩ Ni = N G \ {i} in the definition of cAF imposes that
functions f (N G, t, i) are computed by propagating functions f (N G0, t0, j) such that i /∈ N G0. Moreover, notice that the following inequality holds for each forward path F
c(F ) ≥ min
N G⊆V (F )∩NσF{f (N G, tF, σF)}.
It is required to initialize f ({p}, ep, p) = 0 and f ({p}, t, p) = ∞, for each t ∈ (ep, lp].
An optimal ng-tour is the ng-path (N G∗, t∗, q) such that f (N G∗, t∗, q) = min
(N G,t,q)∈ bF
{f (N G, t, q)}. (3.4)
The size of the state set cF can be reduced by removing, via the following dominance rule, any state that cannot lead to an optimal ng-tour.
Dominance 2. Let (N G, t, i), (N G0, t0, i) ∈ cF such that f(NG, t, i) ≥ f(NG0, t0, i), N G ⊇ N G0, t > t0. State (N G, t, i) is dominated by (N G0, t0, i).
Notice that a stronger version of Dominance 2 can be obtained by replacing the con- dition t < t0 with t ≤ t0. However, we found it to be computationally convenient to apply Dominance 2instead of this stronger version.
The decremental state-space relaxation introduced by Righini and Salani [2008] and the partial elementarity relaxation introduced by Desaulniers et al. [2008] are special
cases of the ng-path relaxation. These relaxations can be obtained by setting Ni= bV ,
for each vertex i ∈ V0, where bV ⊆ V0 is a selected set of vertices.
Choosing the sets Ni of selected vertices. Lower bound LB computed by expres-
sion (3.2) depends on the sets Ni, i ∈ V0. If Ni = V0, for each vertex i ∈ V0, functions
f (N G, t, i) provide the costs of least-cost elementary paths and the optimal ng-tour provided by expression (3.4) corresponds to an optimal TSPTW solution.
The computational results of §3.7 were obtained by defining the sets Ni, i ∈ V0, as
follows. We set Np = {p} and Nq = {q}, and define Ti = {j ∈ Γi ∩ Γ−1i : tij =
0 or tji = 0}, for each vertex i ∈ V (notice that the set Ti contains vertex i). First,
we set Ni = Ti, for each vertex i ∈ V . Then, for each vertex i ∈ V such that
|Ni| < ∆(Ni), we add, to Ni, the (∆(Ni) − |Ti|)-nearest vertices to i belonging to the
set V \ Ti according to travel times tij.
Notice that recursion (3.3) allows ng-paths to contain two-vertex loops, which can be eliminated with the method described by Christofides et al.[1981c]. Nonetheless, we do not implement this method because of the additional memory required and because, in practice, whenever sets Ni, i ∈ V0, are defined as above and parameter ∆(Ni) is
equal to 11 or 13, the resulting (N G, t, i)-paths rarely contain two-vertex loops. Implementation issues. How the DP recursion (3.3) is computed and how Domi- nance 2 is tested affect the effectiveness of the whole solution process. We decided to compute (3.3) with a forward DP recursion using the variable state t (i.e., the time) as stage. At stage t, the order in which states are propagated is defined by a queue where states having time t are maintained.
To apply Dominance 2, we use an additional function Ft(N G, i), i ∈ V , N G ⊆
Ni s.t. N G 3 i, that represents the cost of a least-cost state (N G, t0, i) ∈ cF with
t0 < t (i.e., Ft(N G, i) = mint0∈[e
i,t){f (N G, t
0, i) : (N G, t0, i) ∈ cF }). Let B(NG, i) =
{N G0 ⊆ N G : N G0 3 i}, for each vertex i ∈ V and each set N G ⊆ Ni s.t. N G 3 i.
Because we use values of parameter ∆(Ni) less than or equal to 13, the sets B(NG, i)
can be computed by complete enumeration before starting the DP recursion. From the definitions of Ft(N G, i) andB(NG, i), we derive that a state (NG, t, i) is dominated
according to Dominance 2 if f (N G, t, i) ≥ minN G0∈B(NG,i){Ft(N G0, i)}. Notice that
function Ft(N G, i) can be recursively computed as
Ft(N G, i) = min{Ft−1(N G, i), f (N G, t − 1, i)}, i ∈ V, N G ⊆ Ni s.t. N G 3 i.
3.4.3 The ngL-Tour Relaxation
In the case of the TSPTW, the ng-tour relaxation can be enhanced by forcing any ng- tour to visit each vertex of a selected subset of vertices exactly once while satisfying the precedence constraints imposed for such vertices by the precedence digraph ~G.
Consider a path L = (p = i0, i1, . . . , ih = q) in ~G from vertex p to vertex q. Because
any arc (i, j) ∈ ~A of graph ~G implies that vertex i must be visited before vertex j in any salesman tour, the h arcs of path L decompose any salesman tour in h subpaths Pik−1ik, k = 1, . . . , h, where Pik−1ik corresponds to the subpath of the salesman tour
that starts from vertex ik−1, visits each vertex of subset Sk ⊆ V0\ V (L) exactly once,
and ends at vertex ik. Thus, any salesman tour is made up of any collection of h
subpaths Pik−1ik, k = 1, . . . , h, such that ∪
h
k=1Sk= V0\ V (L). For a given path L of ~G
defined as above, we can force any ng-tour to visit, exactly once, each vertex i ∈ V (L) as described in the following.
Let Vk be the set of vertices that must or can be visited in between vertices ik−1 and
ik (ik−1, ik∈ L). For each k = 1, . . . , h, we have
Vk = {j ∈ V \ {ik−1} : eik−1 + ~tik−1j ≤ lj and max{eik−1+ ~tik−1j, ej} + ~tjik ≤ lik}.
Notice that Vk∩ V (L) = ik.
A forward ngL(k)-path is an ng-path (N G, t, i) that ends at vertex i ∈ Vk at time
t ∈ [ei, li], and such that each vertex j ∈ {i0, i1, . . . , ik−1} is visited exactly once. An
ngL-tour is an ngL(h)-path (N G, t, q).
Let cFk = {(N G, t, i) ∈ cF : i ∈ Vk} be the subset of states corresponding to the
forward ngL(k)-paths, and let fk(N G, t, i) be the cost of a least-cost ngL(k)-path
(N G, t, i) ∈ cFk.
Functions fk(N G, t, i), k = 1, . . . , h, i ∈ V0, N G ⊆ Ni s.t. N G 3 i, t ∈ [ei, li], can be
computed with the following iterative procedure that, for each k = 1, . . . , h, performs the following operations
a) Initialize fk(N G, t, ik−1) = fk−1(N G, t, ik−1), for each state (N G, t, ik−1) ∈ cFk−1,
and fk(N G, t, i) = ∞, for each state (N G, t, i) ∈ cFk. We assume f0({p}, ep, p) = 0
and f0({p}, t, p) = ∞, for each t ∈ (ep, lp];
b) Compute fk(N G, t, i), (N G, t, i) ∈ cFk, as follows
fk(N G, t, i) = min (N G0,t0,j)∈ bFk: j∈Γ−1i , t 0∈Ω(t,j,i), N G0⊆N j s.t. N G03j, N G0∩Ni=N G\{i} {fk(N G0, t0, j) + dji}. (3.5)
Because of the initialization and of the definition of the sets Vk, k = 1, . . . , h, any
ngL(h)-path corresponding to fh(N G, t, q) visits every vertex of the set V (L) exactly
once.
An optimal ngL-tour is the ngL(h)-path (N G∗, t∗, q) ∈ cFh such that
fh(N G∗, t∗, q) = min (N G,t,i)∈ bFh
The value fh(N G∗, t∗, q∗) depends on the path L of ~G used. In our computational
experiments, the path L was chosen as the path in ~G from vertex p to vertex q of maximal cardinality in order to maximize the number of vertices visited exactly once by any ngL-tour.
The following dominance rule, similar to Dominance 2 described in §3.4.2for the ng- tour relaxation, can be used to reduce the size of each state sets cFk, k = 1, . . . , h.
Dominance 3. Let (N G, t, i), (N G0, t0, i) ∈ cFkbe such that fk(N G, t, i) ≥ fk(N G0, t0, i),
N G0 ⊇ N G, t > t0. State (N G, t, i) is dominated by (N G0, t0, i) and can be removed
from cFk.