• No se han encontrado resultados

SOFTBAR Y SU PRIMER PRODUCTO: MARKO

The VRPTW is defined on a complete digraph G = (V0, A), where V0 = {0, 1, . . . , n} is a set of n + 1 vertices and A is the arc set. Vertex 0 represents the depot, and the vertex subset V = V0\ {0} corresponds to n customers. A demand qi and a time window [ei, li] are associated with each vertex i ∈ V0, where ei and li represent the

earliest and the latest time to visit vertex i. Time windows are “hard”, meaning that if a vehicle visits a customer before time ei, the service is postponed until time ei. We

assume that q0 = 0. A travel cost dij and a travel time tij > 0 are associated with each

arc (i, j) ∈ A; without loss of generality, we assume that travel time tij includes the

service time at vertex i, so the departure time from any customer i ∈ V coincides with the end of its service. We also assume that matrices dij and tij satisfy the triangle

inequality; therefore, time windows, travel times, and customer demands can be used to properly reduce the arc set A as described in Desrochers et al. [1992]. For each vertex i ∈ V0, we indicate with Γi ⊆ V0 the set of successors of vertex i in graph G

(i.e., Γi = {j ∈ V0 : (i, j) ∈ A}) and with Γ−1i ⊆ V0 the set of predecessors of vertex i

in graph G (i.e., Γ−1i = {j ∈ V0 : (j, i) ∈ A}).

A fleet of m identical vehicles of capacity Q stationed at the depot must fulfill customer demands. A vehicle route R = (0, i1, . . . , ir, 0), with r ≥ 1, is a simple circuit in graph

G that passes through the depot, visits vertices V (R) = {0, i1, . . . , ir} ⊆ V0, within

their time windows, leaves the depot 0 at time e0, returns to the depot 0 before time

l0, and such that the total demand of visited customers does not exceed the vehicle

capacity Q (i.e., P

i∈V (R)qi ≤ Q). The cost of route R is the sum of the travel costs

of the arc set, A(R), traversed by route R.

The VRPTW consists of designing at most m routes of minimum total cost such that each customer is visited exactly once by exactly one route.

The following notation is used in the rest of this chapter. Given a set of vertices S ⊆ V , we indicate with q(S) = P

i∈Sqi the total demand of the customers of the set S and

with k(S) the minimum number of vehicles needed to serve all customers of the set S. We also denote with qmin = min{mini∈V{qi}, q(V ) − (m − 1)Q} the minimum

customer demand delivered by any feasible route. Finally, we denote with zU B a valid

upper bound on the optimal solution cost of the VRPTW.

We also define a forward path F = (0, i1, . . . , ik−1, ik) as an elementary path that starts

from depot 0 at time e0, visits vertices V (F ) = {0, i1, . . . , ik−1, ik} within their time

windows, and ends at customer σF = ik at time tF ∈ [eσF, lσF]. We denote by A(F )

the set of arcs traversed by path F and by c(F ) = P

(i,j)∈A(F )dij the cost of path

F . Similarly, a backward path B = (σB = ik, ik+1, . . . , ih, 0) is a path that starts from

vertex σB at time tB, visits customers V (B) = {ik, ik+1, . . . , ih, 0} within their time

4.3.1 Set Partitioning Formulation

Let R be the index set of all feasible routes in graph G, and let ai`, i ∈ V0, ` ∈R, be

a binary coefficient equal to 1 if i ∈ V (R`), 0 otherwise (we assume that a0` = 1, for

each route ` ∈ R). Each route ` ∈ R has an associated cost c`. Let x`, ` ∈ R, be a

binary variable equal to 1 if and only if route ` is in the optimal solution (0 otherwise). The SP formulation of the VRPTW is

(P ) z(P ) = min X `∈R c`x`, (4.1) s.t. X `∈R ai`x` = 1, i ∈ V, (4.2) X `∈R x` ≤ m, (4.3) x` ∈ {0, 1}, ` ∈R. (4.4)

Constraints (4.2) specify that each customer i ∈ V must be visited by exactly one route. Constraint (4.3) requires that at most m routes are selected.

4.3.2 Relaxation LP

The linear relaxation of formulation P can be strengthened with the following valid inequalities.

i) Capacity constraints (CCs). LetS = {S : S ⊆ V, |S| ≥ 2} be the set of all subsets of vertices of cardinality greater than 1, and let ρ`(S) = |{(i, j) ∈ A(R`) :

i ∈ V0\ S, j ∈ S}| be the number of times route ` ∈R enters the set of vertices S. The capacity constraints (CCs) are

X

`∈R

ρ`(S)x` ≥ k(S), S ∈S . (4.5)

In solving the VRPTW, we ignore CCs, whereas in solving the CVRP we consider only a subset of CCs a priori generated as described inBaldacci et al.[2008].

ii) Strengthened capacity constraints (SCs). These inequalities, introduced by Baldacci et al.[2004], lift CCs and are given by inequalities (4.5) where the route coefficient ρ`(S) is equal to 1 if V (R`) ∩ S 6= ∅ and 0 otherwise.

iii) Subset-row inequalities (SR3s). Let C = {C ⊆ V : |C| = 3} be the set of all customer triplets, and letR(C) ⊆ R be the subset of routes serving at least two customers in C (i.e.,R(C) = {` ∈ R : |V (R`) ∩ C| ≥ 2}). Subset-row inequalities

(SR3s) are

X

`∈R(C)

Inequalities SR3s correspond to a subset of SRs and clique inequalities used by Jepsen et al. [2008] for solving the VRPTW and by Baldacci et al. [2008] for solving the CVRP, respectively. Hereafter, with C ∈C we refer to both the index and the customer triplet of an SR3 inequality.

iv) Weak subset-row inequalities (WSR3s). These inequalities are a relaxed form of the SR3s (4.6) where, given the triplet C ∈C , the route set R(C) contains only those routes traversing at least one arc (i, j) with i, j ∈ C. The reason for using WSR3s instead of SR3s is that WSR3 dual variables can be implicitly considered in solving the pricing problem. The SR3s (4.6) and, thus, the WSR3s are separated by complete enumeration.

We denote by LP the linear relaxation of formulation P strengthened with inequalities (4.5) and (4.6) and by z(LP ) its optimal solution cost. Moreover, we denote by D the dual of problem LP . The dual variables are given by the vectors u = (u0, u1, . . . , un),

v = (v1, v2, . . . , v|S |), and g = (g1, g2, . . . , g|C |), where u1, . . . , un ∈ R are the dual

variables of constraints (4.2), u0 ∈ R− is the dual variable associated with constraint

(4.3), v ∈ R|+S | are the dual variables of inequalities (4.5), and g ∈ R |C |

− are the dual

variables of inequalities (4.6).

By enlarging the route set R to contain also nonnecessarily elementary routes, we can design efficient dual-ascent heuristic procedures to find near-optimal solutions of D. In §4.5, we describe three bounding procedures, called H1, H2 and H3, where procedure Hk provides lower bound LBk corresponding to the cost of both a feasible

D solution (uk, vk, gk) and a nonnecessarily feasible P solution xk. In §4.6, we describe a column-and-cut generation bounding procedure, called H4, for solving problem LP , that computes lower bound LB4 corresponding to the D solution (u4, v4, g4). In the

following, we denote with ck` the reduced cost of route ` ∈ R with respect to the D solution (uk, vk, gk).

Procedure H4 differs from classical column-and-cut generation methods for the new strategy for solving the pricing problem and the use of the D solution (u3, v3, g3) to reduce the size of the route set R by removing any route such that c3` > zU B − LB3.

The usage of the D solution (u3, v3, g3) has the main benefits of (i) eliminating routes of negative reduced cost when solving the pricing problem in H4 and (ii) improving the final lower bound LB4. Procedures H1, H2, H3 and H4 are executed in sequence,

and the solution (uk, vk, gk) of Hk is used to hot-start procedure Hk+1, k = 1, 2, 3.

4.3.3 ng-Route Relaxation for the CVRP

In §3.4.2, we introduced the ng-route relaxation for the TSPTW. The same route

relaxation can be used for obtaining valid lower bounds to the VRPTW, as well. In particular, it is used in bounding procedures H2, H3, and H4 for solving the pricing

subproblems. In this chapter, as route relaxations of VRPTW elementary routes, we use (t, i)-routes and (N G, t, i)-routes, which correspond exactly to t-tours and ng-tours described in §§3.4.1and3.4.2. As to the CVRP, we use the (q, i)-path and the ng-route relaxations that can be described as follows.

A (q, i)-path is a nonnecessarily elementary path that starts from the depot, visits a set of customers of total demand equal to q, and ends at vertex i ∈ V0. The cost f (q, i) of a least-cost (q, i)-path can be computed as described by Christofides et al.[1981b]. A (q, i)-route is a (q, 0)-path.

A forward ng-path (N G, q, i) is a nonnecessarily elementary path F = (0, i1, . . . , ik−1,

ik = i) that starts from the depot 0, visits a set of customers (each once or more) of

total demand equal to q such that N G = ΠF, ends at customer i ∈ V0, and such that

i /∈ ΠF0, where F0 = (0, i1, . . . , ik−1).

We denote by f (N G, q, i) the cost of a least-cost forward ng-path (N G, q, i). An (N G, q, i)-route is an (N G, q, 0)-path. Functions f (N G, q, i) can be computed using DP recursions similar to (3.3) as follows.

Define the state-space graph bGF = ( cF , cAF), where the vertex set is defined as

c F = {(NG, q, i) : i ∈ V0 , q ∈ [qi, Q], ∀N G ⊆ Ni s.t. N G 3 i and X j∈N G qj ≤ q},

and the arc set as

c

AF = {((N G0, q0, j), (N G, q, i)) : (N G0, q0, j), (N G, q, i) ∈ cF ,

j ∈ Γ−1i , q0 = q − qi, ∀N G0 ⊆ Nj s.t. N G03 j and N G0∩ Ni = N G \ {i}}.

The DP recursion for computing functions f (N G, q, i) is f (N G, q, i) = min

(N G0,q0,j) : ((N G0,q0,j),(N G,q,i))∈ bA F

{f (N G0, q0, j) + dji}, (N G, q, i) ∈ cF .

(4.7) By using the transpose of the cost matrix [dij], we can compute the reverse func-

tions f−1(q, i) and f−1(N G, q, i) with recursions similar to those used for f (q, i) and f (N G, q, i). For symmetric CVRPs, we have f−1(q, i) = f (q, i) and f−1(N G, q, i) = f (N G, q, i).

Documento similar