A Metaheuristic Reconstruction Algorithm for Solving Bi-level Vehicle Routing Problems
8.3 Problem Definition
In the capacitated VRPBTW, a homogeneous fleet V with Kavl = V vehicles of equal capacity Q is available. A set N of n customers, N = {1, 2…, n}, must be served. There is a pickup pi or a delivery di request for every customer i∈N. If pi > 0 then di = 0 and if di > 0 then pi = 0, i.e. a customer can have only delivery or only pickup demand. The delivery service in a vehicle route must precede the pickup ser- vice. The total service of the customer lasts sti units of time. The complete directed graph induced by the customers is G =( N +, A), where N + = N ∪{0, n + 1} is the set of vertices and A is the set of arcs. The depot is represented by the vertex 0 and n + 1. A is the set of directed arcs that connect any pair of vertices, except that no arc terminates in vertex 0, and no arc originates from vertex n + 1. A traveling cost ci, j and time ti, j corresponds to each arc ( i, j)∈A (assumption in this work: a unit of travel distance corresponds to a unit of travel cost), while a time window [ei, li] is assigned to each vertex i∈N +. This is in fact a time restriction, meaning that the time Ti at which service to customer i, begins, must lie within the respective time window. If a vehicle reaches the customer at time Tr< ei then it waits for a time pe- riod equal to ei- Tr until the service begins. The time windows [e0, l0] = [en+1, ln+1] corresponding to the depot actually pose constraints on the time where a vehicle can leave/arrive to the depot. Zero delivery demands, pickup demands and service times are assigned to nodes {0, n + 1}, that is, d0 = dn+ 1 = p0 = pn+ 1 = st0 = stn+ 1 = 0. The pri- mary objective is the minimization of the required number of vehicles. This is real- ized by letting some of the vehicles to remain at the depot and contribute zero cost.
These vehicles do not serve any customers and their routes are represented by the arc (0, n + 1) to which zero travelling cost and time are assigned: c0,n + 1 = t0,n + 1 = 0.
The secondary objective is the minimization of the total traveling cost. In a feasible solution each customer is serviced exactly once ( pi, di≤ Q, ∀i∈N and no split de- livery is permitted), every route originates at vertex 0 and ends at vertex n + 1, and the time windows and capacity constraints are satisfied.
The set of customers N comprises of two subsets of customers. The first subset LH contains customers which have only delivery demand (line-haul customers) and
the second subset BH contains only customers with pickup demand (backhaul cus- tomers).
Thus: N LH BH= ∪ , pi =0, ∀ ∈i LH and di =0, ∀ ∈i BH. Furthermore, the backhaul customers cannot be served in a route before the service of the line- haul customers is completed.
8.3.1 Mixed Integer Programming Formulation for the VRPBTW
The next four sets of variables are considered in the problem:
Dk, i The load, to be delivered, on the vehicle k when leaving from customer i.
Pk, i The picked up load on the vehicle k when leaving from the customer i.
Tk, i The starting time of the service of vehicle k at customer i.
The VRPBTW can then be formally described as the following multi-commodity network flow model with time window priority and capacity constraints:
(8.1)
(8.2)
(8.3)
(8.4)
(8.5) (8.6) (8.7)
x vehicle k i
k i j, ,
if does
= 0 not drive from vertex to vertex 1 if vehicle drives from vertex to vertex j i,
k i j
, ( jj A and k V,)∈ ∈
,0, * , , ,
10a k i i j k i j
k V i N j N k Vi V
Min ∗ x c x
∈ ∈ ∗ ∈
∈
∈
+
∑∑ ∑ ∑ ∑
s.t. k i j, , 1,
k V j N
x i N
∈ ∈ +
= ∀ ∈
∑ ∑
, , , ,, ,
k i j k j i
i N i N
x x k V j N
+ +
∈ ∈
= ∀ ∈ ∀ ∈
∑ ∑
,0,
\{0}
k j 1,
j N
x k V
∈ +
= ∀ ∈
∑
, , 1
\{ 1}
k i n 1,
i N n
x k V
+ +
∈ +
= ∀ ∈
∑
, , 0, , ,
k i j
x = ∀ ∈k V ∀ ∈i BH ∀ ∈j LH
, , , ,
k i k i
D +P ≤ Q ∀ ∈i N+ ∀ ∈k V
(8.8) (8.9)
(8.10) (8.11)
(8.12) (8.13)
(8.14)
(8.15)
(8.16)
(8.17)
(8.18)
(8.19) (8.20) (8.21) The objective function (8.1) minimizes the number of vehicles and the total cost of the routes, giving priority to the attainment of the first goal. The number of used ve- hicles is computed by the term ,0,
∈ ∈
∑∑
k ik V i N
x , because for each used vehicle there Dk n, +1 =0, ∀ ∈k V
,0 , , ,
k k i j i
i N j N
D x d k V
∈ ∈
=
∑∑
∀ ∈Pk,0 =0, ∀ ∈k V
, 1 , , ,
k n k i j i
i N j N
P + x p k V
∈ ∈
=
∑∑
∀ ∈1
, , (1 , , ) , ( , ) ,
k i j k j k i j
D -d -D ≤ -x Q∗ ∀i j ∈A ∀ ∈k V
2
, , (1 , , ) , ( , ) ,
k j j k i k i j
D +d -D ≤ -x Q∗ ∀i j ∈A ∀ ∈k V
3
, , (1 , , ) , ( , ) ,
k i j k j k i j
P +p -P ≤ -x Q∗ ∀i j ∈A ∀ ∈k V
4
, , (1 , , ) , ( , ) ,
k j j k i k i j
P -p -P ≤ -x Q∗ ∀i j ∈A ∀ ∈k V
, , , ( , ) , (1 , , ) , ( , ) ,
k i k i j i i j k j k i j
T +x st t+ -T ≤ -x T∗ ∀i j ∈A ∀ ∈k V
, , , , , , ,
i k i j k i i k i j
j N j N
e x T l x i N k V
+ +
+
∈ ∈
≤ ≤ ∀ ∈ ∀ ∈
∑
∑
E T≤ k i, ≤L, ∀ ∈i { ,0n+ ∀ ∈1}, k V
Dk i, ≥0, ∀ ∈i N+, ∀ ∈k V Pk i, ≥0, ∀ ∈i N+, ∀ ∈k V xk i j, , ∈{ , },0 1 ∀( , )i j ∈A, ∀ ∈k V
is exactly one route from vertex 0 (“the driving-out depot”) to one vertex in N, while for unused vehicles there is no route from vertex 0 (“the driving-out depot”) to any vertex in N. The exponent a* of the multiplier in the first term of the objective function is chosen in a way that a feasible solution with fewer vehicles is preferred over any solution with more vehicles regardless of the corresponding total travel- ling costs, i.e. total travelling cost is used to choose a solution only among solutions which use the same number of vehicles.
In particular, since the total traveling cost Ctot cannot exceed Cmax =(Kav+n c) max, where cmax is the maximum cost of traveling between any pair of vertices of the graph, a*is computed as follows:
(8.22) This way Ctot coexists with the number of vehicles K in a joint objective function (8.1), named from now on obj, i.e. the number of used vehicles is K = obj/10a* and the total traveling cost is Ctot = obj-K⋅10a*. The coefficient 10a*works as a weight multiplier and UB = 10a*(K+1) is an upper bound to the candidate solu- tions.
Constraint (8.2) restricts the assignment of the service of each customer to exactly one vehicle. The set of equalities (8.3–8.5) pose flow constraints, requiring that when a vehicle leaves the depot, it must return to it and addition- ally, if a vehicle reaches a customer it must leave the customer and continue its route. According to constraints (8.6) no transition from backhaul to line-haul customers is permitted in a route, giving priority to the service of line-haul customers. According to the capacity constraint (8.7), when a vehicle leaves a customer, the total load must be less than or equal to the capacity Q. When a vehicle leaves the depot to serve a set of customers it has to be sufficient- ly loaded with delivery goods in order to meet all the requests. Furthermore, when a vehicle returns to the depot, it must be loaded with all the goods it has picked up from customer, but no delivery goods can still be loaded on the truck.
These requirements are enforced by constraints (8.8–8.11). The delivery load of a vehicle k which visits vertex j after i, has to be decreased by the quantity of goods demanded by customer j (constraint sets (8.12) and (8.13)). Accordingly, the pickup load is increased by the quantity picked up from customer j (con- straint sets (8.14) and (8.15)). Constraints (8.16–8.18) describe the relation be- tween flow variables and the times that vehicles start servicing the customers.
Constraint sets (8.12–8.15) and (8.16) comprise the subtour elimination con- straints. The constant valuesQ Q Q*1, *2, *3, Q*4 and T*must be at least ( Q-dj),
Q, Q, ( Q-pj) and ( L-E) respectively, otherwise feasible solutions could be potentially cut off.
Small VRPBTW instances with up to ten customers are solved to optimality in large amount of time (~10 h). Thus the need for an efficient heuristic is obvious.
a C a
a
a a
* arg min(=