• No results found

A Valid Lower Bound LB on the TSPTW

In this section, we describe lower bounds on the TSPTW based on the three tour relaxations described in §3.4.

Let cH be the index set of the tours of a given tour relaxation of G (i.e., t-tour or ng-tour or ngL-tour). For each tour ` ∈ cH , we denote by ai` the number of times

vertex i ∈ V is visited by tour ` ∈ cH and by c` its cost. Associate a penalty ui ∈ R

with each vertex i ∈ V , and let u = (u1, . . . , un). For a given penalty vector u, a valid

lower bound LR(u) on the TSPTW is given by

LR(u) = min `∈ cH ( c`− X i∈V ai`ui ) +X i∈V ui.

A better lower bound LB on the TSPTW can be computed by using subgradient optimization to solve the following Lagrangean dual problem LD

(LD) z(LD) = max

u∈Rn{LR(u)}.

Solving problem LD by usual subgradient optimization requires to find, at each iter- ation, an optimal value of problem LR(u) for a given penalty vector u. The optimal value of problem LR(u) is computed with the DP recursion associated with the tour re- laxation chosen by replacing arc costs dij with d0ij = dij−uj, for each arc (i, j) ∈ A\Aq,

Problem LD is equivalent to the following linear program D (D) z(D) = max u0+ X i∈V ui, (3.6) s.t. u0≤ c`− X i∈V ai`ui, ` ∈ cH , (3.7) u0∈ R, (3.8) ui∈ R, i ∈ V. (3.9)

Dualizing D, we obtain the following problem P (P ) z(P ) = minX `∈ cH c`x`, (3.10) s.t.X `∈ cH ai`x` = 1, i ∈ V, (3.11) X `∈ cH x` = 1, (3.12) x` ≥ 0, ` ∈ cH . (3.13)

Problem P seeks a minimum-weight convex combination of tours such that each vertex i ∈ V has, on average, degree one. Notice that variables ui ∈ R, i ∈ V , and u0 ∈ R of

problem D represent the dual variables of constraints (3.11) and (3.12), respectively. Problem P can be solved by column generation where, at each iteration, tours of negative reduced cost with respect to the dual solution of the current master problem must be computed. In our computational experiments, we found that this method of solving P requires fewer iterations than solving LD with subgradient optimization. To solve P , we use a column generation procedure that differs from standard column generation methods because the master problem is not solved with the simplex but using a dual-ascent heuristic procedure. The procedure computes lower bound LB1

corresponding to a P dual solution u1= (u1

0, u11, . . . , u1n).

Below we describe how we initialize the master problem, the method for solving the master problem, and the procedure for solving the pricing problem.

3.5.1 Initializing the Master Problem

The initial master problem contains a small subset of elementary but nonnecessarily Hamiltonian tours that are generated as follows. The procedure consists of executing a limited number of subgradient iterations to solve problem LD. The optimal tour found at each iteration is made elementary and then added to the master. At the end, the procedure provides a lower bound LB0 and a corresponding solution of problem

• Set LB0 = 0. Initialize the Lagrangean penalties µi ∈ R, i ∈ V , as µi= 0.

• Perform M axit0 iterations of the following subgradient method.

a) Define d0ij = dij− µj, for each arc (i, j) ∈ A \ Aq, and d0iq = diq, for each arc

(i, q) ∈ Aq.

b) Find the tour `∗∈ cH (i.e., t-tour or ng-tour or ngL-tour) of minimum cost, c0`∗, with respect to the modified arc costs d0ij.

c) If c0`∗+ P i∈V µi > LB0, update LB0 = c 0 `∗+ P

i∈V µi, and set µ0i = µi, for

each vertex i ∈ V .

d) Add, to the master problem, the elementary but nonnecessarily Hamiltonian tour derived, from tour of index `∗, by removing the visits to the vertices that have already been visited in the tour.

e) Because in any salesman tour each vertex i ∈ V must be visited exactly once, update penalties µi, i ∈ V , using usual subgradient expressions setting

zU B = 1.2 (c0`∗+

P

i∈V µi) in computing the step size.

Notice that u0 = (u00, u01, . . . , u0n), where u0i = µ0i, i ∈ V , and u00 = LB0−Pi∈V µi,

represents a feasible solution of problem D of cost LB0.

3.5.2 Solving the Master Problem

Instead of solving the master problem with the simplex, we use a dual-ascent heuristic based on the following theorem.

Theorem 1. Let λ = (λ0, λ1, . . . , λn) be a vector of n + 1 penalties, where penalties

λi ∈ R, i ∈ V , are associated with constraints (3.11) and penalty λ0 with constraint

(3.12). A feasible dual solution u of problem P of cost z(P (λ)) = u0+Pi∈V ui is

obtained as ui = min`∈ cH : a i`≥1 nc `−λ0−Pi∈V ai`λi P i∈V ai` o + λi, i ∈ V u0 = λ0 ) . (3.14)

Proof. Consider a tour ` ∈ cH . From expression (3.14), we derive

ui ≤

c`− λ0−Pi∈V ai`λi

P

i∈V ai`

+ λi, i ∈ V : ai`≥ 1.

Thus, for each tour ` ∈ cH , the following relation holds X i∈V ai`ui ≤ X i∈V ai`(c`− λ0−Pi∈V ai`λi) P i∈V ai` +X i∈V ai`λi = c`− λ0= c`− u0,

which corresponds to constraint (3.7) for tour ` ∈ cH X

i∈V

ai`ui≤ c`− u0.

To find a near-optimal solution u0 of the current master problem, we perform M axit1 subgradient iterations to modify the penalty vector λ. Baldacci et al. [2008] showed that a valid subgradient of function z(P (λ)) at point λ can be computed by associating with the current solution u00a nonnecessarily feasible solution x00of the current master problem such that z(P (λ)) =P

`∈ cH c`x 00

` defined as follows.

Let `(i) ∈ cH be the index of the tour associated with ui, i ∈ V , in expressions (3.14).

Define variables ξ`i ∈ {0, 1}, ` ∈ cH , i ∈ V , as ξi

`(i) = 1, for each vertex i ∈ V , and

ξi` = 0, for each vertex i ∈ V and each tour ` ∈ H \ {`(i)}. The solution xc 00 is computed as x00` =P

i∈V ai`ξi`

P

i∈Vai`, for each tour ` ∈ cH .

Let αi, i ∈ V , and α0 denote the values of the left-hand-side of constraints (3.11) and

(3.12) with respect to solution x00, respectively. The values of αi, i ∈ V , and α0 are

used to update the penalty vector λ by means of the usual subgradient expressions, where zU B = 1.2 z(P (λ)). We denote by u0 the final dual solution of the current

master problem of cost z(P (λ)) achieved by the procedure described above.

3.5.3 Solving the Pricing Problem

The pricing problem consists of finding a tour of minimum reduced cost with respect to the current dual solution u0 of the master. Define the modified arc cost d0ij as

d0ij = (

dij− u0j, (i, j) ∈ A \ Aq,

diq− u00, (i, q) ∈ Aq.

The reduced cost c0` = c`−Pi∈V ai`u0i− u00 of tour ` ∈ cH with respect to u0 is equal to

the cost of the tour (i.e., t-tour or ng-tour or ngL-tour) using the modified arc costs d0ij instead of dij. Therefore, to compute the tour of minimum reduced cost with respect

to u0, it is sufficient to compute the associated DP recursion using d0ij instead of dij.

If the cost of the minimum reduced cost tour is negative, the tour is added to the master problem and the bounding procedure performs another iteration; otherwise, u0 is a feasible dual solution of problem P of cost z(P (λ)), so the best-known lower bound LB1 is update as LB1 = z(P (λ)) and u1= u0if LB1 ≤ z(P (λ)). The bounding