On the evaluation of the expected number of disruptions in VRP with hard time windows Giovanni Andreatta, Marco Casula, Carla De Francesco, Luigi De Giovanni Dipartimento di Matematica, Università di Padova. Via Trieste 63, I-35121 Padova (Italy). ([email protected], [email protected], [email protected], [email protected]) 1 Introduction Let G = (N, A) be a directed graph where N is the set of customers. For each arc (i, j) ∈ A, let ti j be the travel time from customer i to customer j. For each node v ∈ N , let tv be the service time and [av , bv ], with av ≤ bv the time window. We consider hard time windows: early vehicles have to wait and no additional cost is incurred, while late vehicles are prohibited to serve. Let p = v0 − v1 − . . . − vn be an elementary path on G. With relation to p, the starting time si of a node vi is recursively defined as follows: s0 = 0; si = max{ai , si−1 + ti−1 + ti−1 i } for every i = 1...n. Path p is feasible if vn = v0 and ai ≤ si ≤ bi , for every i = 0...n. In the Vehicle Routing Problem with Hard Time Windows (VRPHTW), vehicles are assigned to feasible paths in order to cover all the services at nodes. We consider the Stochastic Vehicle Routing Problem with Hard Time Windows (SVRPHTW), where travel and service times are subject to independent random delays δi j , for each (i, j) ∈ A: we call fi j the probability density function of δi j and di j a realization of δi j . In this case, the starting times become random variables defined as: ( mi = max{ai , σi−1 + ti−1 + ti−1 i + δi−1 i } if mi ≤ bi σi = (1) ui otherwise. If mi > bi , we say that a disruption occurs and a recourse action is needed in order to ensure the service of customer i within its time window, that is σi = ui . Given a path p, 1 we are interested in computing the expected number of disruptions on p, that is equal to P n i=1 P [d(i)], where d(i) is the event “a disruption occurs at node vi of p”. 2 The probability of a disruption By denoting with e(k, i) (for 0 ≤ k < i) the event “the first disruption after node vk occurs in vi (independently from the occurrence of other disruptions on the route from v0 to vk )”, we have P[d(i)] = P[e(0, i)] + i−1 X P[(e(k, i)|d(k))] · P[d(k)] (2) k=1 Under the hypothesis uk = sk , P[(e(k, i)|d(k))] = P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 ))∧ (3) ∧ . . . ∧ (δk k+1 ≤ bk+1 − (tk k+1 + tk + sk ))] In order to obtain an explicit formula for (3), we decompose the probability w.r.t. subsequent realizations of the variables δi−1 i . For the sake of simplicity, assume nonnegative δi j . We obtain: bk+1 −(tk k+1 +tk +sk ) Z P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ P[e(k, i)|d(k)] = 0 ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 )) ∧ . . . ∧ (4) ∧ (δk k+1 ≤ bk+1 − (tk k+1 + tk + sk ))|δk k+1 = dkk+1 ]· · fk k+1 (dk k+1 ) ddk k+1 = Z bk+1 −(tk k+1 +tk +sk ) P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ = 0 ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 )) ∧ . . . ∧ (5) ∧ (δk+1 k+2 ≤ bk+2 − (tk+1 k+2 + tk+1 + σk+1 ))|δk k+1 = dk k+1 ]· · fk k+1 (dk k+1 ) ddk k+1 = notice that (σk+1 |δk k+1 = dk k+1 ) is no longer a random variable: Z bk+1 −(tk k+1 +tk +sk ) P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ = 0 ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 )) ∧ . . . ∧ ∧ (δk+1 k+2 ≤ bk+2 − (tk+1 k+2 + tk+1 + max{ak+1 , sk + tk + tk k+1 + dk k+1 }))| |δk k+1 = dk k+1 ] · fk k+1 (dk k+1 ) ddk k+1 = 2 (6) in the same way, we can integrate over the possible realizations of δk+1 k+2 Z bk+1 −(tk k+1 +tk +sk ) Z bk+2 −(tk+1 k+2 +tk+1 +max{ak+1 ,sk +tk +tk k+1 +dk k+1 }) = 0 0 P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 )) ∧ . . . ∧ (7) ∧ (δk+1 k+2 ≤ bk+2 − (tk+1 k+2 + tk+1 + max{ak+1 , sk + tk + tk k+1 + dk k+1 }))| |δk k+1 = dk k+1 , δk+1 k+2 = dk+1 k+2 ]· · fk+1 k+2 (dk+1 k+2 )ddk+1 k+2 fk k+1 (dk k+1 ) ddk k+1 = Z bk+1 −(tk k+1 +tk +sk ) Z bk+2 −(tk+1 k+2 +tk+1 +max{ak+1 ,sk +tk +tk k+1 +dk k+1 }) = 0 0 P[(δi−1 i > bi − (ti−1 i + ti−1 + σi−1 ))∧ ∧ (δi−2 i−1 ≤ bi−1 − (ti−2 i−1 + ti−2 + σi−2 )) ∧ . . . ∧ (8) ∧ (δk+2 k+3 ≤ bk+3 − (tk+2 k+3 + tk+2 + + max{ak+2 , tk+1 + tk+1 k+2 + dk+1 k+2 + max{ak+1 , sk + tk + tk k+1 + dk k+1 }}))| |δk k+1 = dk k+1 , δk+1 k+2 = dk+1 k+2 ]· · fk+1 k+2 (dk+1 k+2 )ddk+1 k+2 fk k+1 (dk k+1 ) ddk k+1 = and so on, until Z bk+1 −(tk k+1 +tk +sk ) Z bk+2 −(tk+1 k+2 +tk+1 +max{ak+1 ,sk +tk +tk k+1 +dk k+1 }) = ... 0 Z 0 bi−1 −(ti−2 i−1 +ti−2 +max{ai−2 ,max{... }} ... (9) 0 P[(δi−1 i > bi − (ti−1 i + ti−1 + max{ai−1 , ti−2i−1 + ti−2 + di−2 i−1 + + max{. . . }}))] · fi−2 i−1 (di−2 i−1 )ddi−2 i−1 . . . fk k+1 (dk k+1 ) ddk k+1 This integral holds in general for any non negative delay distribution. However, in order to evaluate it, one must either resort to numerical integration, or carry out the integration and use the resulting formula. A simple case: “regular” paths Consider a “regular” path with s0 = 0 and, for each node vi , ti + ti i+1 = 2, ai = 2i and bi = 2i + 1, and identical exponential delay random variables δi i+1 ∼ Exp(λ). We will evaluate a closed formula for P [e(0, n − 1)]: by suitable index changes, the formula can be easily adapted to get the expression for P [e(k, i)|d(k)]. By substituting the given parameter in the integration extremes of equation (9), we obtain 3 1 Z Z P [e(0, n − 1)] = 1−(d0 1 +···+dn−4 n−3 ) P[δn−2 n−1 > 1 − (dn−3 n−2 + · · · + d0 1 )]· ... 0 0 · fn−3 n−2 (dn−3 n−2 )ddn−3 n−2 . . . f0 1 (d0 1 )dd0 1 = Z 1 Z 1−(d0 1 +···+dn−4 n−3 ) = ... e−λ(1−(dn−3 n−2 +···+d0 1 ) · 0 0 · λe−λdn−3 n−2 ddn−3 n−2 . . . λe−λd0 1 dd0 1 = =λ n−2 −λ 1 Z Z 1−(d0 1 +···+dn−4 n−3 ) ddn−3 n−2 . . . dd0 1 = ... e 0 0 (10) by realizing dn−3 n−2 , n−2 −λ =λ Z 1 Z 1−(d0 1 +···+dn−5 n−4 ) (1 − (d0 1 + · · · + dn−4 n−3 ))ddn−4 n−3 . . . dd0 1 = ... e 0 0 = λn−2 e−λ Z = λn−2 e−λ Z 1 Z 1−(d0 1 +···+dn−6 n−5 ) (1 − (d0 1 + · · · + dn−5 n−4 ))2 ddn−5 n−4 . . . dd0 1 = 2 1−(d0 1 +···+dn−7 n−6 ) (1 − (d0 1 + · · · + dn−6 n−5 ))3 ddn−6 n−5 . . . dd0 1 = 3·2 ... 0 0 1 Z ... 0 0 = ... = λn−2 e−λ Z 0 1 (1 − d0 1 )n−3 dd0 1 = (n − 3)! λn−2 e−λ . = (n − 2)! (11) The case of the regular path shown above allows for a relatively easy integration, due to the simplicity of the delay distribution and the fact that all the time windows are identical and at the same time distance, which simplifies the evaluation of the maxima to obtain coherent integration intervals. In a more general case, obtaining an explicit formula is not an easy task, even when relatively simple delay distributions are used. In fact, independently of the distributions used, one has to carefully evaluate all the maximum functions in the integrals upper limits. Since these maxima depend on the integration variables, up to 2n−1 different cases must be separately computed and then summed up. Notice that, without further constraints on feasible paths, the only bound on n is the number of nodes in the graph. A second issue comes from the distributions: if the p.d.f. are differently defined on different intervals, further partitioning of the integration domain is required. 4 3 `-lookback approximation In order to obtain an explicit formula from integral (9), we need to consider a number of cases that is exponential in the length of the path, which is impractical. Thus we resort to an `-lookback approximation to evaluate P[d(i)]. The `-lookback approximation consists in considering only the last ` delays before vi , that is, we reformulate equation (2) assuming that the first node of the path is vk̄ , k̄ = max{0, i − `} and σk̄ = sk̄ . In this way we consider only a fixed (possibly small) number of integration cases, regardless of the actual length of the path. The idea behind this approximation is that, since the delay resets whenever the vehicle arrives outside a time window, considering the whole delay history may be redundant. The case of exponential distributions with ` = 3 Consider a generic feasible path p = v0 − v1 − . . . − vn , with exponential delay random variables δi i+1 ∼ Exp(λi i+1 ). We show how to obtain an explicit formula for P[(e(0, 3)], which can be easily adapted to get the formula for the 3-lookback approximation of the generic P[(e(k, i)|d(k))]. Equation (9) becomes Z b1 −(t0 +t0,1 +s0 ) Z b2 −(t1 +t1 2 +max{a1 ,s0 +t0 +t0 1 +d0 1 }) 0 0 P[(δ2 3 > b3 − (t2 3 + t2 + max{a2 , t1 2 + t1 + d1 2 + + max{a1 , t0 1 + t0 + d0 1 + s0 }}))] · f1 2 (d1 2 ) dd1 2 f0 1 (d0 1 )dd0 1 = b1 −(t0 +t0 1 +s0 ) Z b2 −(t1 +t1 2 +max{a1 ,s0 +t0 +t0 1 +d0 1 }) Z (12) = 0 0 −λ2 3 (b3 −(t2 3 +t2 +max{a2 , t1 2 +t1 +d1 2 +max{a1 , t0 1 +t0 +d0 1 +s0 }})) e −λ1 2 d1 2 · λ1 2 e dd1 2 λ0 1 e −λ0 1 d0 1 · dd0 1 To avoid integration issues, we deal with the different maxima before integrating. First, max{a1 , t0 1 + t0 + d0 1 + s0 } = a1 ⇔ d0 1 ≤ a1 − t0 − t0 1 − s0 , so we can appropriately split the first integral. The inequality a1 − t0 − t0 1 − s0 ≤ b1 − t0 1 − t0 − s0 is guaranteed by path feasibility; however, whether a1 − t0 − t0 1 − s0 ≥ 0 or not depends on the specific time windows. Since delays are nonnegative, we must ensure that the integration is carried out only over nonnegative numbers. Thus we split the integral as follows: Z max{0,a1 −t0 −t0 1 −s0 } Z b2 −t1 2 −t1 −a1 e−λ2 3 (b3 −(t2 3 +t2 +max{a2 , t1 2 +t1 +d1 2 +a1 })) · 0 0 · λ1 2 e−λ1 2 d1 2 dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 + Z b1 −(t0 +t0 1 +s0 ) Z max{0,b2 −(t1 2 +t1 +t0 1 +t0 +d0 1 +s0 )} + max{0,a1 −t0 −t0 1 −s0 } 0 −λ2 3 (b3 −(t2 3 +t2 +max{a2 , t1 2 +t1 +d1 2 +t0 1 +t0 +d0,1 +s0 })) e · λ1 2 e−λ1 2 d1 2 dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 5 · (13) meaning that the first integral might be over a single point, i.e. zero. Notice that while we want to discuss all maxima before integrating, it is fine to have maxima as extremes in the outermost integral, because they will not be involved in any further integration. Since discussing all cases would take too long without adding any important contribution to our discussion, let us consider only the second term in (13). First, notice that the innermost integral may be over an empty domain: for a non trivial integral it should be d0 1 ≤ b2 − t1 2 − t1 − t0 1 − t0 − s0 . Moving this condition to the extremes of the outer integral, we have Z e min{b1 ,b2 −(t1 2 +t1 )}−(t0 1 +t0 +s0 ) Z b2 −(t1 2 +t1 +t0 1 +t0 +d0 1 +s0 ) max{0,a1 −(t0 1 +t0 +s0 )} 0 −λ2 3 (b3 −(t2 3 +t2 +max{a2 , t1 2 +t1 +d1 2 +t0 1 +t0 +d0 1 +s0 })) · (14) · λ1 2 e−λ1 2 d1 2 dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 Now we must discuss max{a2 , t1 2 + t1 + d1 2 + t0 1 + t0 + d0 1 + s0 }, which is equal to a2 ⇔ d0 1 ≤ a2 − (t1 2 + t1 + t0 1 + t0 + s0 ) ∧ d1 2 ≤ a2 − (t1 2 + t1 + t0 1 + d0 1 + t0 + s0 ). So once again we would like to move this condition on d1 to the extremes of the outer integral, but things start to get tricky: a2 − (t1 2 + t1 ) might be less than a1 , between a1 and b2 − (t1 2 + t1 ) or, if min{b1 , b2 − (t1 2 + t1 )} = b1 , it could be greater than b1 . It appears that the appropriate definition of min or max functions is not enough: we must discuss different cases separately. Suppose that a1 ≤ a2 − (t1 2 + t1 ) ≤ b2 − (t1 2 + t1 ) ≤ b1 . Then the integral becomes Z e max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} Z a2 −(t1 2 +t1 +t0 1 +d0 1 +t0 +s0 ) max{0,a1 −(t0 1 +t0 +s0 )} −λ2 3 (b3 −(t2 3 +t2 +a2 )) dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 + max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} Z b2 −(t1 2 +t1 +t0 1 +t0 +d0 1 +s0 ) λ1 2 e Z 0 −λ1 2 d1 2 + max{0,a1 −(t0 1 −t0 −s0 )} a2 −(t1 2 +t1 +t0 1 +d0 1 +t0 +s0 ) −λ2 3 (b3 −(t2 3 +t2 +t1 2 +t1 +d1 2 +t0 1 +t0 +d0,1 +s0 )) e λ1 2 e−λ1 2 d1 2 dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 + Z b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) Z b2 −(t1 2 +t1 +t0 1 +t0 +d0 1 +s0 ) + e max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} 0 −λ2 3 (b3 −(t2 3 +t2 +t1 2 +t1 +d1 2 +t0 1 +t0 +d0,1 +s0 )) 6 λ1 2 e−λ1 2 d1 2 dd1 2 λ0 1 e−λ0 1 d0 1 dd0 1 (15) Finally, we can carry out the integration. Consider the third term only: we get λ0 1 λ1 2 e−λ2 3 (b3 −(t2 3 +t2 +t1 2 +t1 +t0 1 +t0 +s0 )) Z b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) e(λ2 3 −λ0 1 )d0 1 max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} Z b2 −(t1 2 +t1 +t0 1 +t0 +s0 +d0 1 ) e(λ2 3 −λ1 2 )d1 2 dd1 2 dd0 1 = 0 = λ0 1 λ1 2 e−λ2 3 (b3 −(t2 +t2 3 +t1 +t1 2 +t0 +t0 1 +s0 )) e(λ2 3 −λ0 1 )d0 1 Z b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) (16) max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} (λ −λ )(b −(t +t +t +t +s +d 2 3 1 2 2 1 2 1 0 1 0 0 0 1 )) − 1 e dd0 1 (λ2 3 − λ1 2 ) supposing λ2 3 6= λ1 2 . In this case we get . . . (e(λ2 3 −λ1 2 )(b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) e(λ1 2 −λ0 1 )d0 1 dd0 1 − = . . . (e · − Z Z b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) (λ2 3 −λ0 1 )d0 1 e dd0 1 ) = max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} (λ2 3 −λ1 2 )(b2 −(t1 2 +t1 +t0 1 +t0 +s0 ) · (17) e(λ1 2 −λ0 1 )(b2 −(t1 2 +t1 +t0 1 +t0 +s0 )) − e(λ1 2 −λ0 1 ) max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} + (λ1 2 − λ0 1 ) e(λ2 3 −λ0 1 )(b2 −(t1 2 +t1 +t0 1 +t0 +s0 )) − e(λ2 3 −λ0 1 ) max{0,a2 −(t1 2 +t1 +t0 1 +t0 +s0 )} ) (λ2 3 − λ0 1 ) again, supposing λ2 3 6= λ0 1 and λ1 2 6= λ0 1 . A similar computation can be carried out for the integral parts not considered in (13) and (15). Note that we have found an explicit formula under some specific conditions, for example we considered all the means to be different, or a specific relation between the time windows (see step from (14) to (15)). We have thus to exhaust all the other specific cases (for example the case of identical means, or different time windows relations): they can be carried out in a similar way and their number is exponential in ` which, however, is fixed. 7
© Copyright 2026 Paperzz