Let n be the number of targets to be picked up by a homogeneous fleet of K interceptor vehicles with capacity Q and vehicle speed V . At time t = 0, each target j has a given location, qj ∈ R2, while all interceptor vehicles are located at depot O. In order to
reach the meeting point with an interceptor vehicle, each target is allowed to move at speed vj. The aim of the Interceptor Vehicle Routing Problem is to determine at most
K minimum-time vehicle routes starting from the depot O and ending in the drop-off location D such that all targets are picked up by a vehicle in a convenient location (meeting point ).
In order to develop a mathematical model, we introduce the following decision vari- ables: the assignment of targets to vehicles is expressed by binary variables xkij, where i = 1, . . . , Q, j = 1, . . . , n + 1 : (i, j) 6= (1, n + 1), k = 1, . . . , K, where
xkij = (
1 if target j is the i-th target visited by vehicle k 0 otherwise.
Target n + 1 is an artificial static target located in D. The variables xs are sequential and not arc-based variables, hence no sub-tour elimination constraints are needed. The usage of vehicle k is represented by binary variable yk where k = 1, . . . , K.
The continuous component of the problem amounts to the determination of meeting points between targets and vehicles, of possible waiting times and of times required for reaching meeting points. The meeting points variables are divided into two groups:
• the sequential variables Mk
i, where i = 0, . . . , Q + 1, k = 1, . . . , K express the
coordinates in R2 of the i-th meeting point of vehicle k with a target; this means that at location Mik, vehicle k intercepts the i-th target.
• the second set of meeting point variables is given by the target-referred variables mj, where j = 1, . . . , n + 1, which indicate the coordinates in R2 of the pick-up
point of target j. Such non-sequential variables are introduced for dealing with the specific speed and trajectory of each target.
The meeting point variables with i = 0 coincide with O, while the variables with i = Q + 1 can take value D or O, depending on the vehicle usage. The waiting time
for vehicle k between Mi−1k and Mik is represented by Wik, i = 1, . . . , Q, k = 1, . . . , K, while variables wj, j = 1, . . . , n express the waiting time of target j before reaching mj.
Variables Tik, i = 1, . . . , Q + 1, k = 1, . . . , K compute the time required by vehicle k to travel from Mi−1k to Mik, while tj, j = 1, . . . , n represent the time required by target j
to reach mj.
A formulation for the problem is given in model (3.1)-(3.21).
min K X k=1 Q+1 X i=1 Tik (3.1) s.t kM k i − Mi−1k k V + W k i ≤ Tik ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K (3.2) kmj− qjk vj + wj ≤ tj ∀ j = 1, . . . , n (3.3) Mik≥ mj− CM(1 − xkij) ∀ i = 1, . . . , Q, ∀ k = 1, . . . , K, ∀j = 1, . . . , n + 1 (3.4) Mik≤ mj+ CM(1 − xkij) ∀ i = 1, . . . , Q, ∀ k = 1, . . . , K, ∀j = 1, . . . , n + 1 (3.5) MQ+1k = yk· D + (1 − yk) · O ∀ k = 1, . . . , K (3.6) i X i0=1 Tik0 ≥ tj− CjT(1 − xkij) ∀ i = 1, . . . , Q, ∀ k = 1, . . . , K, ∀j = 1, . . . , n (3.7) K X k=1 Q X i=1 xki,j = 1 ∀ j = 1, . . . , n (3.8) n X j0=1 xki,j0 ≥ xki+1,j ∀ j = 1, . . . , n, ∀ i = 1, . . . , Q − 1, ∀ k = 1, . . . , K (3.9) yk= n X j=1 xk1,j ∀ k = 1, . . . , K (3.10) n+1 X j=1 xki,j = yk ∀ i = 2, . . . , Q, ∀ k = 1, . . . , K (3.11) tj ≥ 0 ∀j = 1, . . . , n (3.12) wj ≥ 0 ∀j = 1, . . . , n (3.13) Tik≥ 0 ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K (3.14) Wik≥ 0 ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K (3.15) Mik ∈ [Xmin, Xmax] × [Ymin, Ymax] ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K (3.16)
mj ∈ [Xmin, Xmax] × [Ymin, Ymax] ∀ j = 1, . . . , n (3.17)
∀ k = 1, . . . , K, (i, j) 6= (1, n + 1) (3.18) yk ∈ {0, 1} ∀ k = 1, . . . , K (3.19)
M0k= O ∀ k = 1, . . . , K (3.20)
mn+1= D. (3.21)
The objective function (3.1) consists of the travel time of the vehicles for reaching the drop-off location D. Constraints (3.2) ensure that the time interval in which the vehicle travels between two consecutive meeting points is the time required for following the segment between the two locations, plus an eventual waiting time within such segment. Distances are computed via the Euclidean norm k·k (k·k := k·k2). The inequality sign
is needed for maintaining the convexity of the feasible region. It is worth to note that the real waiting time is the difference between the right-hand side and the fraction in the left-hand side. Waiting time variables Wik have been explicitly introduced for the readability of the formulation and eventually to introduce further limitations on the waiting times. Constraints (3.3) define the time taken by the target to be picked up by a vehicle similar to constraints (3.2). Regarding the inequality sign and the waiting times, same considerations made for (3.3) hold. Constraints (3.4) and (3.5) are ”big-M” constraints for expressing the logic conditions:
Mik= mj if xki,j = 1 ∀ i = 1, . . . , Q, ∀ k = 1, . . . , K, ∀ j = 1, . . . , n + 1.
Such equalities are needed for ensuring the compatibility between the sequential meet- ing points Mik and mj. The constant CM = (CM,x, CM,y) in (3.4) and (3.5) can be
safely defined as CM,x= Xmax−Xmin,CM,y= Ymax−Ymin, where Xmax, Xmin, Ymax, Ymin
are the limitation for the meeting point variables. As constraints (3.6) state, the last point reached by a vehicle is either the drop-off location or the original depot: this depends on whether the vehicle has been used or not. Constraints (3.7) translate the logical inequalities:
i
X
i0=1
Tik0 ≥ tj if xki,j = 1 ∀ i = 1, . . . , Q, ∀ k = 1, . . . , K, ∀ j = 1, . . . , n, (3.22)
which impose the synchronization between vehicle and target meeting point. The equality sign is not necessary since the vehicle-related time variables are minimized. Let δ be the length of the diagonal of the spatial limitation box, and ¯wj be the maximum
allowable waiting time for target j, then the constants CjT can be set as CjT = vδ
j+ ¯wj.
The requirement that each target is picked up by a vehicle is expressed in (3.8). Fur- thermore, such equalities explicitly forbid multiple pick-ups of a target. Constraints (3.9) impose the sequentiality in the visiting order in each vehicle. They are a stronger
version of the valid constraints: n X j=1 xki,j ≥ n X j=1 xki+1,j ∀ i = 1, . . . , Q − 1, ∀ k = 1, . . . , K. (3.23)
Constraints (3.10) define the y variables, which are merely introduced for the read- ability of the model. Constraints (3.11) are necessary to express that a vehicle that intercepted at least one target can either pick up an additional target or head towards the drop-off location D. As a consequence of constraints (3.9), D is a destination site for each used vehicle. Constraints (3.12)-(3.19) define the decision variables of the problem. Bounds (3.20) state that each vehicle is at the depot O at time t = 0: since they are vehicle dependent conditions, they can handle the case of several depots, along with constraints (3.6). Bounds (3.21) express the destination role of D in a vehicle route. As stated in constraints (3.18), variables xk
1,n+1 are not needed in the model,
since it is never profitable for a vehicle to leave the depot for going directly to the drop-off locations. Finally, it should be underlined that the sequential meaning of the x variables has the advantage of naturally containing the capacity restrictions on the fleet of vehicle. Indeed, for imposing that each vehicle cannot intercept more than Q targets, it is enough to avoid defining variables xki,j with i > Q.
The model (3.1)-(3.21) is a Mixed-Integer Second Order Conic problem (MISOCP). It consists of a linear objective function, linear constraints and second order conic constraints (3.2) and (3.3). In order to solve the model with an optimization solver, such as Cplex, it is generally required for second order conic constraint to be expressed in the quadratic version of the standard form
kxk ≤ t x ∈ Rn, t ∈ R.
Constraints (3.2) and (3.3) can be rewritten in standard form by adding artificial variables subject to linear equalities. For instance, in order to obtain the standard form of constraints (3.2), additional variables Mki and Tik are added subject to the following conditions:
Mk
i = Mik− Mi−1k ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K
Tk
i = Tik− Wik ∀ i = 1, . . . , Q + 1, ∀ k = 1, . . . , K.