License: arXiv.org perpetual non-exclusive license
arXiv:2403.04917v2 [cs.RO] 11 Mar 2024

A Mixed-Integer Conic Program for the Moving-Target Traveling Salesman Problem based on a Graph of Convex Sets

Allen George Philip11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT, Zhongqiang Ren22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPT, Sivakumar Rathinam11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT and Howie Choset22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPT 11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPTAllen George Philip and Sivakumar Rathinam are with the Department of Mechanical Engineering, Texas A&M University, College Station, TX 77843-3123. Emails: {y262u297, srathinam}@tamu.edu 22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPTZhongqiang Ren and Howie Choset are at Carnegie Mellon University, 5000 Forbes Ave., Pittsburgh, PA 15213, USA. Emails: {zhongqir, choset}@andrew.cmu.edu
Abstract

This paper introduces a new formulation that finds the optimum for the Moving-Target Traveling Salesman Problem (MT-TSP), which seeks to find a shortest path for an agent, that starts at a depot, visits a set of moving targets exactly once within their assigned time-windows, and returns to the depot. The formulation relies on the key idea that when the targets move along lines, their trajectories become convex sets within the space-time coordinate system. The problem then reduces to finding the shortest path within a graph of convex sets, subject to some speed constraints. We compare our formulation with the current state-of-the-art Mixed Integer Conic Program (MICP) solver for the MT-TSP. The experimental results show that our formulation outperforms the MICP for instances with up to 20 targets, with up to two orders of magnitude reduction in runtime, and up to a 60% tighter optimality gap. We also show that the solution cost from the convex relaxation of our formulation provides significantly tighter lower bounds for the MT-TSP than the ones from the MICP.

I Introduction

Given a set of stationary targets and the cost of traversal between any pair of these targets, the classical Traveling Salesman Problem (TSP) seeks to find the shortest tour for an agent such that it visits all the targets exactly once. The TSP is one of most fundamental problems in combinatorial optimization, with several applications including unmanned vehicle planning [1, 2, 3, 4], transportation and delivery [5], monitoring and surveillance [6, 7], disaster management [8], precision agriculture [9], and search and rescue [10, 11]. In this paper, we consider the generalization of the TSP, where the targets follow some predefined trajectories, and also have associated time-windows during which they need to be visited. The objective is to minimize the distance traversed by the agent. We refer to this generalization as the Moving-Target TSP or MT-TSP for short. In the literature, we find different variants of the MT-TSP, motivated by practical applications such as defending an area from oncoming hostile rockets or Unmanned Aerial Vechiles [12, 13, 14], monitoring and surveillance [15, 16, 17, 18], resupply missions with moving targets [12], dynamic target tracking [19], and industrial robot planning [20].

The speed of the targets are generally assumed to be no greater than the agent’s maximum speed [12]. When the speed of all the targets reduces to 0, the MT-TSP reduces to the classical TSP. Hence, MT-TSP is NP-hard. Currently, the literature presents exact and approximation algorithms for some very restricted cases of the MT-TSP variants where the targets move in the same direction with the same speed [20, 21], move along the same line [12, 22], or move along lines through the depot, towards or away from it [12]. Several heuristic based approaches have also been introduced in the literature [23, 24, 15, 19, 25, 26, 17, 27, 16] that finds feasible solutions, but gives no information on how far they are from the optimum.

Refer to caption
Figure 1: A feasible solution to an example instance of the MT-TSP where 5 targets move along lines. The agent’s tour is given in blue, and the part of each target’s trajectory corresponding to its time-window where they can be visited by the agent are given by colored solid segments.

The objective of this paper is to find exact solutions to a less restricted case of the MT-TSP where the targets move along lines, with fixed speeds (refer to Fig. 1). Currently, the only approach that does this, is the MICP (specifically, a mixed-integer SOCP) introduced in [14]. Hence, we use this formulation as a baseline, and introduce an alternative formulation that finds the optimum for the MT-TSP. This formulation relies on the key idea that when the targets move along lines, their trajectories become convex sets within the space-time coordinate system. This reduces the MT-TSP to a problem of finding the shortest agent path within a graph of convex sets [28], subject to some additional speed constraints. We prove the validity of our approach, and provide computational results to corroborate the performance of our formulation. We find that our approach vastly outperforms the baseline and scales much better when increasing the time-window duration and the number of targets, achieving up to a two orders of magnitude faster average runtime and up to a 60% improvement in the average optimality gap. We also show that our formulation has a much stronger convex relaxation than the baseline, which can be used to find lower-bounds to the MT-TSP with significantly lower computational burden.

II Problem Definition

All the targets and the agent move in a 2D (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) plane. Let Vtar:={1,2,,n}assignsubscript𝑉𝑡𝑎𝑟12𝑛V_{tar}:=\{1,2,\cdots,n\}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT := { 1 , 2 , ⋯ , italic_n } denote the set of n𝑛nitalic_n moving targets, and let s𝑠sitalic_s be the depot. Without loss of generality, we make a copy of the depot and refer to it as ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and require the agent to return to ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT at the end of its tour. Let V:=Vtar{s,s}assign𝑉subscript𝑉𝑡𝑎𝑟𝑠superscript𝑠V:=V_{tar}\cup\{s,s^{\prime}\}italic_V := italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT ∪ { italic_s , italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT }. Given a node iV𝑖𝑉i\in Vitalic_i ∈ italic_V, the time-window associated with that node is denoted by [t¯i,t¯i]subscript¯𝑡𝑖subscript¯𝑡𝑖[\underline{t}_{i},\overline{t}_{i}][ under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ]. The (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) position occupied by node i𝑖iitalic_i at time t¯isubscript¯𝑡𝑖\underline{t}_{i}under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and t¯isubscript¯𝑡𝑖\overline{t}_{i}over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is denoted by (p¯i,x,p¯i,y)subscript¯𝑝𝑖𝑥subscript¯𝑝𝑖𝑦(\underline{p}_{i,x},\underline{p}_{i,y})( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ) and (p¯i,x,p¯i,y)subscript¯𝑝𝑖𝑥subscript¯𝑝𝑖𝑦(\overline{p}_{i,x},\overline{p}_{i,y})( over¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , over¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ) respectively, and the velocity coordinates of node i𝑖iitalic_i is denoted by (vi,x,vi,y)subscript𝑣𝑖𝑥subscript𝑣𝑖𝑦(v_{i,x},v_{i,y})( italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ). Note that we fix t¯s=t¯s=0subscript¯𝑡𝑠subscript¯𝑡𝑠0\underline{t}_{s}=\overline{t}_{s}=0under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = 0 since the agent tour starts at time 00. In addition, we fix t¯s=0subscript¯𝑡superscript𝑠0\underline{t}_{s^{\prime}}=0under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = 0 and t¯s=Tsubscript¯𝑡superscript𝑠𝑇\overline{t}_{s^{\prime}}=Tover¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_T where T𝑇Titalic_T is the time-horizon, so that the agent is free to complete the tour at any time within [0,T]0𝑇[0,T][ 0 , italic_T ]. Also note that the velocity of the depot, (vs,x,vs,y)subscript𝑣𝑠𝑥subscript𝑣𝑠𝑦(v_{s,x},v_{s,y})( italic_v start_POSTSUBSCRIPT italic_s , italic_x end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_s , italic_y end_POSTSUBSCRIPT ) and the velocity of the depot’s copy, (vs,x,vs,y)subscript𝑣superscript𝑠𝑥subscript𝑣superscript𝑠𝑦(v_{s^{\prime},x},v_{s^{\prime},y})( italic_v start_POSTSUBSCRIPT italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_x end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y end_POSTSUBSCRIPT ) are fixed to be (0,0)00(0,0)( 0 , 0 ) since they are stationary. We say that the agent visits a moving target (say i𝑖iitalic_i) if there is a time instant in [t¯i,t¯i]subscript¯𝑡𝑖subscript¯𝑡𝑖[\underline{t}_{i},\overline{t}_{i}][ under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] when the position of the agent coincides with the position of the target i𝑖iitalic_i. Any feasible tour for the agent will start from s𝑠sitalic_s, visit each target in Vtarsubscript𝑉𝑡𝑎𝑟V_{tar}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT exactly once and return to ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. The objective of the MT-TSP is to find a feasible tour for the agent such that the distance traveled by the agent along the tour is minimized.

III MICP for MT-TSP

This section presents the current state-of-the-art MICP formulation introduced in [14] for the MT-TSP. The formulation in [14] is slightly modified for this paper so that the agent tour starts at s𝑠sitalic_s and ends at ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. To proceed further, we first construct a directed graph (V,E)𝑉𝐸(V,E)( italic_V , italic_E ) where the edges in E𝐸Eitalic_E are added as follows: from node s𝑠sitalic_s to all the nodes in Vtarsubscript𝑉𝑡𝑎𝑟V_{tar}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT, from each node in Vtarsubscript𝑉𝑡𝑎𝑟V_{tar}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT to every other node in Vtarsubscript𝑉𝑡𝑎𝑟V_{tar}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT, and finally, from every node in Vtarsubscript𝑉𝑡𝑎𝑟V_{tar}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT, to node ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

Next, we define the decision variables for this formulation. For each node iV𝑖𝑉i\in Vitalic_i ∈ italic_V, the real variable tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT represents the time at which the agent visits i𝑖iitalic_i. For each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, variable ye[0,1]subscript𝑦𝑒01y_{e}\in[0,1]italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ [ 0 , 1 ] represents the flow through that edge. In a binary program, ye{0,1}subscript𝑦𝑒01y_{e}\in\{0,1\}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ { 0 , 1 }, and it represents the decision of whether or not edge e𝑒eitalic_e is chosen. We will consider yesubscript𝑦𝑒y_{e}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT as a binary variable unless otherwise stated. The auxiliary variable l~(pi,pj)0~𝑙subscript𝑝𝑖subscript𝑝𝑗0\tilde{l}(p_{i},p_{j})\geq 0over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≥ 0 represents pjpiyenormsubscript𝑝𝑗subscript𝑝𝑖subscript𝑦𝑒\|p_{j}-p_{i}\|y_{e}∥ italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥ italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT where for some node i𝑖iitalic_i, pi=(pi,x,pi,y)subscript𝑝𝑖subscript𝑝𝑖𝑥subscript𝑝𝑖𝑦p_{i}=(p_{i,x},p_{i,y})italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ( italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ) describes the position of that node at time tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The formulation also introduces other real auxiliary variables, lx(pi,pj)subscript𝑙𝑥subscript𝑝𝑖subscript𝑝𝑗l_{x}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) and ly(pi,pj)subscript𝑙𝑦subscript𝑝𝑖subscript𝑝𝑗l_{y}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) which represents pj,xpi,xsubscript𝑝𝑗𝑥subscript𝑝𝑖𝑥p_{j,x}-p_{i,x}italic_p start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT and pj,ypi,ysubscript𝑝𝑗𝑦subscript𝑝𝑖𝑦p_{j,y}-p_{i,y}italic_p start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT respectively, and finally l¯(pi,pj)0¯𝑙subscript𝑝𝑖subscript𝑝𝑗0\overline{l}(p_{i},p_{j})\geq 0over¯ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≥ 0 which will be used to define the second-order cone constraints.

We also note that there is a parameter R𝑅Ritalic_R which denotes the length of the diagonal of the square area that contains the depot and all the target trajectories. The fact that the Euclidean norm of any line segment within the square area cannot exceed R𝑅Ritalic_R will be used in formulating one of the constraints in the formulation. Now, the MICP formulation for the MT-TSP is as follows:

mine=(i,j)El~(pi,pj)subscript𝑒𝑖𝑗𝐸~𝑙subscript𝑝𝑖subscript𝑝𝑗\displaystyle\min\sum_{e=(i,j)\in E}\tilde{l}(p_{i},p_{j})roman_min ∑ start_POSTSUBSCRIPT italic_e = ( italic_i , italic_j ) ∈ italic_E end_POSTSUBSCRIPT over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) (1)
eEsoutye=1subscript𝑒subscriptsuperscript𝐸𝑜𝑢𝑡𝑠subscript𝑦𝑒1\displaystyle\sum_{e\in E^{out}_{s}}y_{e}=1∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_o italic_u italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1 (2)
eEsinye=1subscript𝑒subscriptsuperscript𝐸𝑖𝑛superscript𝑠subscript𝑦𝑒1\displaystyle\sum_{e\in E^{in}_{s^{\prime}}}y_{e}=1∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1 (3)
eEiinye=1,iVtarformulae-sequencesubscript𝑒subscriptsuperscript𝐸𝑖𝑛𝑖subscript𝑦𝑒1for-all𝑖subscript𝑉𝑡𝑎𝑟\displaystyle\sum_{e\in E^{in}_{i}}y_{e}=1,\;\;\forall\;i\in V_{tar}∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1 , ∀ italic_i ∈ italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT (4)
eEiinye=eEioutye,iVtarformulae-sequencesubscript𝑒subscriptsuperscript𝐸𝑖𝑛𝑖subscript𝑦𝑒subscript𝑒subscriptsuperscript𝐸𝑜𝑢𝑡𝑖subscript𝑦𝑒for-all𝑖subscript𝑉𝑡𝑎𝑟\displaystyle\sum_{e\in E^{in}_{i}}y_{e}=\sum_{e\in E^{out}_{i}}y_{e},\;\;% \forall\;i\in V_{tar}∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_o italic_u italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT (5)
t¯itit¯i,iVformulae-sequencesubscript¯𝑡𝑖subscript𝑡𝑖subscript¯𝑡𝑖for-all𝑖𝑉\displaystyle\underline{t}_{i}\leq t_{i}\leq\overline{t}_{i},\;\;\forall\;i\in Vunder¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V (6)
lx(pi,pj)((p¯j,x+tjvj,xt¯jvj,x)(p¯i,x+tivi,xt¯ivi,x))=0,e=(i,j)Eformulae-sequencesubscript𝑙𝑥subscript𝑝𝑖subscript𝑝𝑗subscript¯𝑝𝑗𝑥subscript𝑡𝑗subscript𝑣𝑗𝑥subscript¯𝑡𝑗subscript𝑣𝑗𝑥subscript¯𝑝𝑖𝑥subscript𝑡𝑖subscript𝑣𝑖𝑥subscript¯𝑡𝑖subscript𝑣𝑖𝑥0for-all𝑒𝑖𝑗𝐸\displaystyle\begin{split}&l_{x}(p_{i},p_{j})-((\underline{p}_{j,x}+t_{j}v_{j,% x}-\underline{t}_{j}v_{j,x})\\ &-(\underline{p}_{i,x}+t_{i}v_{i,x}-\underline{t}_{i}v_{i,x}))=0,\;\;\forall\;% e=(i,j)\in E\end{split}start_ROW start_CELL end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) - ( ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL - ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT ) ) = 0 , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E end_CELL end_ROW (7)
ly(pi,pj)((p¯j,y+tjvj,yt¯jvj,y)(p¯i,y+tivi,yt¯ivi,y))=0,e=(i,j)Eformulae-sequencesubscript𝑙𝑦subscript𝑝𝑖subscript𝑝𝑗subscript¯𝑝𝑗𝑦subscript𝑡𝑗subscript𝑣𝑗𝑦subscript¯𝑡𝑗subscript𝑣𝑗𝑦subscript¯𝑝𝑖𝑦subscript𝑡𝑖subscript𝑣𝑖𝑦subscript¯𝑡𝑖subscript𝑣𝑖𝑦0for-all𝑒𝑖𝑗𝐸\displaystyle\begin{split}&l_{y}(p_{i},p_{j})-((\underline{p}_{j,y}+t_{j}v_{j,% y}-\underline{t}_{j}v_{j,y})\\ &-(\underline{p}_{i,y}+t_{i}v_{i,y}-\underline{t}_{i}v_{i,y}))=0,\;\;\forall\;% e=(i,j)\in E\end{split}start_ROW start_CELL end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) - ( ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL - ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ) ) = 0 , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E end_CELL end_ROW (8)
l~(pi,pj)vmax(tjti+T(1ye)),e=(i,j)Eformulae-sequence~𝑙subscript𝑝𝑖subscript𝑝𝑗subscript𝑣𝑚𝑎𝑥subscript𝑡𝑗subscript𝑡𝑖𝑇1subscript𝑦𝑒for-all𝑒𝑖𝑗𝐸\displaystyle\tilde{l}(p_{i},p_{j})\leq v_{max}(t_{j}-t_{i}+T(1-y_{e})),\;\;% \forall\;e=(i,j)\in Eover~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≤ italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_T ( 1 - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (9)
l¯(pi,pj)=l~(pi,pj)+R(1ye),e=(i,j)Eformulae-sequence¯𝑙subscript𝑝𝑖subscript𝑝𝑗~𝑙subscript𝑝𝑖subscript𝑝𝑗𝑅1subscript𝑦𝑒for-all𝑒𝑖𝑗𝐸\displaystyle\overline{l}(p_{i},p_{j})=\tilde{l}(p_{i},p_{j})+R(1-y_{e}),\;\;% \forall\;e=(i,j)\in Eover¯ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) + italic_R ( 1 - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (10)
(lx(pi,pj))2+(ly(pi,pj))2(l¯(pi,pj))2,e=(i,j)Eformulae-sequencesuperscriptsubscript𝑙𝑥subscript𝑝𝑖subscript𝑝𝑗2superscriptsubscript𝑙𝑦subscript𝑝𝑖subscript𝑝𝑗2superscript¯𝑙subscript𝑝𝑖subscript𝑝𝑗2for-all𝑒𝑖𝑗𝐸\displaystyle\begin{split}&(l_{x}(p_{i},p_{j}))^{2}+(l_{y}(p_{i},p_{j}))^{2}% \leq(\overline{l}(p_{i},p_{j}))^{2},\\ &\forall\;e=(i,j)\in E\end{split}start_ROW start_CELL end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ≤ ( over¯ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E end_CELL end_ROW (11)

The objective (1) is to minimize the total tour length of the agent. The condition that the agent departs from the depot once, and arrives at the depot’s copy once, is described by (2) and (3) respectively. The constraints, (4) ensures that each target is visited exactly once by the agent, and the flow conservation for all the target nodes are ensured by (5). Constraints (2) to (5) are fundamental to the MT-TSP, and ensures a valid agent path that starts at the depot, visits all the targets exactly once, and returns to the depot. Hence, these constraints will be repeated for all the formulations in this article. The condition requiring the agent to visit each node within its time-window is given by (6), and the definitions of the auxiliary variables lx(pi,pj)subscript𝑙𝑥subscript𝑝𝑖subscript𝑝𝑗l_{x}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) and ly(pi,pj)subscript𝑙𝑦subscript𝑝𝑖subscript𝑝𝑗l_{y}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) are captured through (7) and (8), respectively.

Now, we will explain the big-M𝑀Mitalic_M constraints, (9), and (10), for each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E. First, consider the time-feasibility constraints, (9). These constraints describes the condition that if ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, then l~(pi,pj)vmax(tjti)~𝑙subscript𝑝𝑖subscript𝑝𝑗subscript𝑣𝑚𝑎𝑥subscript𝑡𝑗subscript𝑡𝑖\tilde{l}(p_{i},p_{j})\leq v_{max}(t_{j}-t_{i})over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≤ italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). However, if ye=0subscript𝑦𝑒0y_{e}=0italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0, then no restrictions are placed on tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and tjsubscript𝑡𝑗t_{j}italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. Second, consider the constraints, (10). With the help of (7), (8), these constraints, along with the second-order cone constraints, (11) describes the condition that l~(pi,pj)pjpi~𝑙subscript𝑝𝑖subscript𝑝𝑗normsubscript𝑝𝑗subscript𝑝𝑖\tilde{l}(p_{i},p_{j})\geq\|p_{j}-p_{i}\|over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≥ ∥ italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥ if ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1. However, if ye=0subscript𝑦𝑒0y_{e}=0italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0, then l~(pi,pj)~𝑙subscript𝑝𝑖subscript𝑝𝑗\tilde{l}(p_{i},p_{j})over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) is free to take any value.

Although this formulation describes the MT-TSP well, it is computationally burdensome to solve in practice. Moreover, the presence of big-M𝑀Mitalic_M constraints makes the convex relaxations weak. In this paper, we present a graph of convex sets (GCS) based MICP (MICP-GCS) that is significantly faster to solve, and provides much stronger relaxations. Prior to presenting this formulation, we will restate the current MICP as a biconvex problem. This will aid us in proving that an optimal solution to MICP-GCS, indeed provides an optimal solution to the MT-TSP.

IV MICP on the Graph of Convex Sets

IV-A Biconvex Formulation

In this section, we will restate the MICP for the MT-TSP as a biconvex, binary program. First, we present the decision variables for this formulation. For each node iV𝑖𝑉i\in Vitalic_i ∈ italic_V, we reuse the variable tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT from the MICP. In addition, we introduce real auxiliary variables, pi,xsubscript𝑝𝑖𝑥p_{i,x}italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT and pi,ysubscript𝑝𝑖𝑦p_{i,y}italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT that explicitly defines the (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) coordinates of pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. For each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, we use the variable yesubscript𝑦𝑒y_{e}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT from before, as well as introduce real variables ze,xsubscript𝑧𝑒𝑥z_{e,x}italic_z start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT, ze,ysubscript𝑧𝑒𝑦z_{e,y}italic_z start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT, and ze,tsubscript𝑧𝑒𝑡z_{e,t}italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT, corresponding to node i𝑖iitalic_i, and real variables ze,xsubscriptsuperscript𝑧𝑒𝑥z^{\prime}_{e,x}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT, ze,ysubscriptsuperscript𝑧𝑒𝑦z^{\prime}_{e,y}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT, and ze,tsubscriptsuperscript𝑧𝑒𝑡z^{\prime}_{e,t}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT, corresponding to node j𝑗jitalic_j. Finally, we replace the variables lx(pi,pj)subscript𝑙𝑥subscript𝑝𝑖subscript𝑝𝑗l_{x}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ), ly(pi,pj)subscript𝑙𝑦subscript𝑝𝑖subscript𝑝𝑗l_{y}(p_{i},p_{j})italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ), and l~(pi,pj)~𝑙subscript𝑝𝑖subscript𝑝𝑗\tilde{l}(p_{i},p_{j})over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) from the MICP with real auxiliary variables lx(z~e,z~e)subscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ), ly(z~e,z~e)subscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l_{y}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ), and l(z~e,z~e)0𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒0l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})\geq 0italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≥ 0 respectively. Note that z~esubscript~𝑧𝑒\tilde{z}_{e}over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and z~esubscriptsuperscript~𝑧𝑒\tilde{z}^{\prime}_{e}over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT are notations describing (ze,x,ze,y)subscript𝑧𝑒𝑥subscript𝑧𝑒𝑦(z_{e,x},z_{e,y})( italic_z start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT ) and (ze,x,ze,y)subscriptsuperscript𝑧𝑒𝑥subscriptsuperscript𝑧𝑒𝑦(z^{\prime}_{e,x},z^{\prime}_{e,y})( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT , italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT ) respectively. Also, notations zesubscript𝑧𝑒z_{e}italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT, and zesubscriptsuperscript𝑧𝑒z^{\prime}_{e}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT describes (z~e,ze,t)subscript~𝑧𝑒subscript𝑧𝑒𝑡(\tilde{z}_{e},z_{e,t})( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT ), and (z~e,ze,t)subscriptsuperscript~𝑧𝑒subscriptsuperscript𝑧𝑒𝑡(\tilde{z}^{\prime}_{e},z^{\prime}_{e,t})( over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT ) respectively. The variable l¯(pi,pj)¯𝑙subscript𝑝𝑖subscript𝑝𝑗\overline{l}(p_{i},p_{j})over¯ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) introduced previously for each edge is not used in the biconvex formulation. This is because the big-M𝑀Mitalic_M constraints are removed here. The formulation is presented below:

mine=(i,j)El(z~e,z~e)subscript𝑒𝑖𝑗𝐸𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒\displaystyle\min\sum_{e=(i,j)\in E}l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})roman_min ∑ start_POSTSUBSCRIPT italic_e = ( italic_i , italic_j ) ∈ italic_E end_POSTSUBSCRIPT italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) (12)
constraints (2), (3), (4), (5), (6)
pi,x=p¯i,x+tivi,xt¯ivi,x,iVformulae-sequencesubscript𝑝𝑖𝑥subscript¯𝑝𝑖𝑥subscript𝑡𝑖subscript𝑣𝑖𝑥subscript¯𝑡𝑖subscript𝑣𝑖𝑥for-all𝑖𝑉\displaystyle p_{i,x}=\underline{p}_{i,x}+t_{i}v_{i,x}-\underline{t}_{i}v_{i,x% },\;\;\forall\;i\in Vitalic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT = under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V (13)
pi,y=p¯i,y+tivi,yt¯ivi,y,iVformulae-sequencesubscript𝑝𝑖𝑦subscript¯𝑝𝑖𝑦subscript𝑡𝑖subscript𝑣𝑖𝑦subscript¯𝑡𝑖subscript𝑣𝑖𝑦for-all𝑖𝑉\displaystyle p_{i,y}=\underline{p}_{i,y}+t_{i}v_{i,y}-\underline{t}_{i}v_{i,y% },\;\;\forall\;i\in Vitalic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT = under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT + italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V (14)
lx(z~e,z~e)=(ze,xze,x),e=(i,j)Eformulae-sequencesubscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscriptsuperscript𝑧𝑒𝑥subscript𝑧𝑒𝑥for-all𝑒𝑖𝑗𝐸\displaystyle l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=(z^{\prime}_{e,x}-z_% {e,x}),\;\;\forall e=(i,j)\in Eitalic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = ( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (15)
ly(z~e,z~e)=(ze,yze,y),e=(i,j)Eformulae-sequencesubscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscriptsuperscript𝑧𝑒𝑦subscript𝑧𝑒𝑦for-all𝑒𝑖𝑗𝐸\displaystyle l_{y}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=(z^{\prime}_{e,y}-z_% {e,y}),\;\;\forall e=(i,j)\in Eitalic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = ( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (16)
l(z~e,z~e)vmax(ze,tze,t),e=(i,j)Eformulae-sequence𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscript𝑣𝑚𝑎𝑥subscriptsuperscript𝑧𝑒𝑡subscript𝑧𝑒𝑡for-all𝑒𝑖𝑗𝐸\displaystyle l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})\leq v_{max}(z^{\prime}_{% e,t}-z_{e,t}),\;\;\forall e=(i,j)\in Eitalic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≤ italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (17)
(lx(z~e,z~e))2+(ly(z~e,z~e))2(l(z~e,z~e))2,e=(i,j)Eformulae-sequencesuperscriptsubscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒2superscriptsubscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒2superscript𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒2for-all𝑒𝑖𝑗𝐸\displaystyle\begin{split}&(l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e}))^{2}+(% l_{y}(\tilde{z}_{e},\tilde{z}^{\prime}_{e}))^{2}\leq(l(\tilde{z}_{e},\tilde{z}% ^{\prime}_{e}))^{2},\\ &\forall\;e=(i,j)\in E\end{split}start_ROW start_CELL end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ≤ ( italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E end_CELL end_ROW (18)
ze=(yepi,yeti),ze=(yepj,yetj),e=(i,j)Eformulae-sequencesubscript𝑧𝑒subscript𝑦𝑒subscript𝑝𝑖subscript𝑦𝑒subscript𝑡𝑖formulae-sequencesubscriptsuperscript𝑧𝑒subscript𝑦𝑒subscript𝑝𝑗subscript𝑦𝑒subscript𝑡𝑗for-all𝑒𝑖𝑗𝐸\displaystyle z_{e}=(y_{e}p_{i},y_{e}t_{i}),\;z^{\prime}_{e}=(y_{e}p_{j},y_{e}% t_{j}),\;\;\forall e=(i,j)\in Eitalic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (19)

This formulation shares constraints (2) to (6) from the MICP. Constraints (13) and (14) describes variables pi,xsubscript𝑝𝑖𝑥p_{i,x}italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT and pi,ysubscript𝑝𝑖𝑦p_{i,y}italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT. The nonconvexity of this program comes only from the bilinear constraints, (19). These constraints will be utilized to achieve the role satisfied by the big-M𝑀Mitalic_M constraints in the MICP. First, notice how for each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, when ye=0subscript𝑦𝑒0y_{e}=0italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0, (19) becomes ze=ze=(0,0,0)subscript𝑧𝑒subscriptsuperscript𝑧𝑒000z_{e}=z^{\prime}_{e}=(0,0,0)italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( 0 , 0 , 0 ). Consequently, (15), (16) becomes lx(z~e,z~e)=ly(z~e,z~e)=0subscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒0l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=l_{y}(\tilde{z}_{e},\tilde{z}^{% \prime}_{e})=0italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = 0. However, when ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, (19) becomes ze=(pi,ti)subscript𝑧𝑒subscript𝑝𝑖subscript𝑡𝑖z_{e}=(p_{i},t_{i})italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), ze=(pj,tj)subscriptsuperscript𝑧𝑒subscript𝑝𝑗subscript𝑡𝑗z^{\prime}_{e}=(p_{j},t_{j})italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) and consequently, (15), (16) becomes lx(z~e,z~e)=pj,xpi,xsubscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscript𝑝𝑗𝑥subscript𝑝𝑖𝑥l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=p_{j,x}-p_{i,x}italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = italic_p start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT, and ly(z~e,z~e)=pj,ypi,ysubscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscript𝑝𝑗𝑦subscript𝑝𝑖𝑦l_{y}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=p_{j,y}-p_{i,y}italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = italic_p start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT.

Now, consider (17). For each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, when ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, these constraints become l(z~e,z~e)vmax(tjti)𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒subscript𝑣𝑚𝑎𝑥subscript𝑡𝑗subscript𝑡𝑖l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})\leq v_{max}(t_{j}-t_{i})italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≤ italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). However, when ye=0subscript𝑦𝑒0y_{e}=0italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0, we get l(z~e,z~e)0𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒0l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})\leq 0italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≤ 0, allowing tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and tjsubscript𝑡𝑗t_{j}italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT to be free. Finally, consider (18). We see how these constraints with the help of (15), (16) becomes l(z~e,z~e)pjpi𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒normsubscript𝑝𝑗subscript𝑝𝑖l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})\geq\|p_{j}-p_{i}\|italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≥ ∥ italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥ when ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, but allows l(z~e,z~e)𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) to take any value when ye=0subscript𝑦𝑒0y_{e}=0italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0. Recall how the big-M𝑀Mitalic_M constraints, (9), (10), and the constraints, (11) achieves the same role as (17) and (18) for l~(pi,pj)~𝑙subscript𝑝𝑖subscript𝑝𝑗\tilde{l}(p_{i},p_{j})over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ). Hence, in the biconvex formulation, constraints (17) and (18) replaces constraints (9), (10) and (11) from the MICP, while establishing the relationship,

l(z~e,z~e)=l~(pi,pj)𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒~𝑙subscript𝑝𝑖subscript𝑝𝑗\displaystyle l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=\tilde{l}(p_{i},p_{j})italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = over~ start_ARG italic_l end_ARG ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) (20)

From (20), we see how both the MICP and the biconvex formulation have the same optimal value. Moreover, we can recover an optimal tour for the MT-TSP from the solution of the biconvex program by picking all the edges with ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, and recovering the (pi,ti)subscript𝑝𝑖subscript𝑡𝑖(p_{i},t_{i})( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) for each node iV𝑖𝑉i\in Vitalic_i ∈ italic_V.

Refer to caption
Figure 2: The trajectory-segment that corresponds to the time-window of some node iV𝑖𝑉i\in Vitalic_i ∈ italic_V, is a line segment within the space-time coordinate system (x,y,t)𝑥𝑦𝑡(x,y,t)( italic_x , italic_y , italic_t ). The set of all points in the line segment forms the convex set Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

Now, we discuss the key idea behind the GCS-based MICP we introduce in this paper. Notice how the set of all (pi,x,pi,y,ti)subscript𝑝𝑖𝑥subscript𝑝𝑖𝑦subscript𝑡𝑖(p_{i,x},p_{i,y},t_{i})( italic_p start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) that satisfy (6), (13), and (14) for each node iV𝑖𝑉i\in Vitalic_i ∈ italic_V represents the trajectory-segment of that node within its time-window. These trajectory-segments are line segments when expressed within the (x,y,t)𝑥𝑦𝑡(x,y,t)( italic_x , italic_y , italic_t ) coordinate system as shown in the example illustration in Fig. 2. Hence, the trajectory-segment corresponding to each node i𝑖iitalic_i can be considered a convex set Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT corresponding to that node, and the agent is required to visit a point within Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This allows us to solve the MT-TSP by leveraging the ideas presented in [28], where the problem was to find the shortest paths in graphs of convex sets. To summarize, (6), (13), and (14), together can be represented using the following set of constraints.

(pi,ti)Xi,iVformulae-sequencesubscript𝑝𝑖subscript𝑡𝑖subscript𝑋𝑖for-all𝑖𝑉\displaystyle(p_{i},t_{i})\in X_{i},\;\;\forall\;i\in V( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∈ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V (21)

Note that the nonconvexities which arise from the bilinear constraints makes solving the biconvex formulation very challenging. However in the next section, we will introduce our MICP-GCS formulation for the MT-TSP, that can be easily handled by standard solvers.

IV-B GCS-Based Mixed Integer Conic Program (MICP-GCS)

In this section, we present our new MICP-GCS formulation for the MT-TSP. First, we discuss the decision variables for this formulation. For each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, we use the same variables yesubscript𝑦𝑒y_{e}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT, ze,xsubscript𝑧𝑒𝑥z_{e,x}italic_z start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT, ze,ysubscript𝑧𝑒𝑦z_{e,y}italic_z start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT, ze,tsubscript𝑧𝑒𝑡z_{e,t}italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT, ze,xsubscriptsuperscript𝑧𝑒𝑥z^{\prime}_{e,x}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT, ze,ysubscriptsuperscript𝑧𝑒𝑦z^{\prime}_{e,y}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT, ze,tsubscriptsuperscript𝑧𝑒𝑡z^{\prime}_{e,t}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT, lx(z~e,z~e)subscript𝑙𝑥subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l_{x}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ), ly(z~e,z~e)subscript𝑙𝑦subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l_{y}(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ), l(z~e,z~e)𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) that we introduced in the biconvex formulation. Now, we present MICP-GCS:

mine=(i,j)El(z~e,z~e)subscript𝑒𝑖𝑗𝐸𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒\displaystyle\min\sum_{e=(i,j)\in E}l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})roman_min ∑ start_POSTSUBSCRIPT italic_e = ( italic_i , italic_j ) ∈ italic_E end_POSTSUBSCRIPT italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) (22)
constraints (2), (3), (4), (15), (16), (17), (18)
eEiin(ze,t,ye)=eEiout(ze,t,ye),iVtarformulae-sequencesubscript𝑒subscriptsuperscript𝐸𝑖𝑛𝑖subscriptsuperscript𝑧𝑒𝑡subscript𝑦𝑒subscript𝑒subscriptsuperscript𝐸𝑜𝑢𝑡𝑖subscript𝑧𝑒𝑡subscript𝑦𝑒for-all𝑖subscript𝑉𝑡𝑎𝑟\displaystyle\sum_{e\in E^{in}_{i}}(z^{\prime}_{e,t},y_{e})=\sum_{e\in E^{out}% _{i}}(z_{e,t},y_{e}),\;\;\forall\;i\in V_{tar}∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_o italic_u italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) , ∀ italic_i ∈ italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT (23)
(ze,ye)X~i,(ze,ye)X~j,e=(i,j)Eformulae-sequencesubscript𝑧𝑒subscript𝑦𝑒subscript~𝑋𝑖formulae-sequencesubscriptsuperscript𝑧𝑒subscript𝑦𝑒subscript~𝑋𝑗for-all𝑒𝑖𝑗𝐸\displaystyle(z_{e},y_{e})\in\tilde{X}_{i},\;(z^{\prime}_{e},y_{e})\in\tilde{X% }_{j},\;\;\forall\;e=(i,j)\in E( italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ∈ over~ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , ( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ∈ over~ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , ∀ italic_e = ( italic_i , italic_j ) ∈ italic_E (24)

The MICP-GCS formulation differs from the the biconvex formulation in the following ways: The constraints, (23) are obtained by combining (5) with the additional constraints, eEiinze,t=eEioutze,tsubscript𝑒subscriptsuperscript𝐸𝑖𝑛𝑖subscriptsuperscript𝑧𝑒𝑡subscript𝑒subscriptsuperscript𝐸𝑜𝑢𝑡𝑖subscript𝑧𝑒𝑡\sum_{e\in E^{in}_{i}}z^{\prime}_{e,t}=\sum_{e\in E^{out}_{i}}z_{e,t}∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_o italic_u italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT for each node iVtar𝑖subscript𝑉𝑡𝑎𝑟i\in V_{tar}italic_i ∈ italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r end_POSTSUBSCRIPT. These additional constraints ensures that the time at which the agent visits each target i𝑖iitalic_i will be equal to the time at which the agent departs from target i𝑖iitalic_i. Also, (21) which encapsulates (6), (13), (14), as well as the bilinear constraints, (19) are replaced by the constraints, (24). These constraints requires that for each edge e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E, (ze,ye)subscript𝑧𝑒subscript𝑦𝑒(z_{e},y_{e})( italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) and (ze,ye)subscriptsuperscript𝑧𝑒subscript𝑦𝑒(z^{\prime}_{e},y_{e})( italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) lies within the perspective of the convex sets Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Xjsubscript𝑋𝑗X_{j}italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT respectively. This is a compact way of representing the set of constraints for all the edges e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E as below:

yet¯ize,tyet¯isubscript𝑦𝑒subscript¯𝑡𝑖subscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑡𝑖\displaystyle y_{e}\underline{t}_{i}\leq z_{e,t}\leq y_{e}\overline{t}_{i}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT ≤ italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (25)
yet¯jze,tyet¯jsubscript𝑦𝑒subscript¯𝑡𝑗subscriptsuperscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑡𝑗\displaystyle y_{e}\underline{t}_{j}\leq z^{\prime}_{e,t}\leq y_{e}\overline{t% }_{j}italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT ≤ italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT over¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (26)
ze,xvi,xze,tye(p¯i,xt¯ivi,x)=0subscript𝑧𝑒𝑥subscript𝑣𝑖𝑥subscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑝𝑖𝑥subscript¯𝑡𝑖subscript𝑣𝑖𝑥0\displaystyle z_{e,x}-v_{i,x}z_{e,t}-y_{e}(\underline{p}_{i,x}-\underline{t}_{% i}v_{i,x})=0italic_z start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_x end_POSTSUBSCRIPT ) = 0 (27)
ze,yvi,yze,tye(p¯i,yt¯ivi,y)=0subscript𝑧𝑒𝑦subscript𝑣𝑖𝑦subscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑝𝑖𝑦subscript¯𝑡𝑖subscript𝑣𝑖𝑦0\displaystyle z_{e,y}-v_{i,y}z_{e,t}-y_{e}(\underline{p}_{i,y}-\underline{t}_{% i}v_{i,y})=0italic_z start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i , italic_y end_POSTSUBSCRIPT ) = 0 (28)
ze,xvj,xze,tye(p¯j,xt¯jvj,x)=0subscriptsuperscript𝑧𝑒𝑥subscript𝑣𝑗𝑥subscriptsuperscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑝𝑗𝑥subscript¯𝑡𝑗subscript𝑣𝑗𝑥0\displaystyle z^{\prime}_{e,x}-v_{j,x}z^{\prime}_{e,t}-y_{e}(\underline{p}_{j,% x}-\underline{t}_{j}v_{j,x})=0italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_x end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_x end_POSTSUBSCRIPT ) = 0 (29)
ze,yvj,yze,tye(p¯j,yt¯jvj,y)=0subscriptsuperscript𝑧𝑒𝑦subscript𝑣𝑗𝑦subscriptsuperscript𝑧𝑒𝑡subscript𝑦𝑒subscript¯𝑝𝑗𝑦subscript¯𝑡𝑗subscript𝑣𝑗𝑦0\displaystyle z^{\prime}_{e,y}-v_{j,y}z^{\prime}_{e,t}-y_{e}(\underline{p}_{j,% y}-\underline{t}_{j}v_{j,y})=0italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_y end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e , italic_t end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( under¯ start_ARG italic_p end_ARG start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT - under¯ start_ARG italic_t end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_j , italic_y end_POSTSUBSCRIPT ) = 0 (30)

From an optimal solution to the MICP-GCS, we can recover an optimal agent tour for the biconvex program as follows: For each node iV𝑖𝑉i\in Vitalic_i ∈ italic_V, find the optimal (pi,ti)subscript𝑝𝑖subscript𝑡𝑖(p_{i},t_{i})( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), using the following equations:

(pi,ti)=eEiinze,iV{s}formulae-sequencesubscript𝑝𝑖subscript𝑡𝑖subscript𝑒subscriptsuperscript𝐸𝑖𝑛𝑖subscriptsuperscript𝑧𝑒for-all𝑖𝑉𝑠\displaystyle(p_{i},t_{i})=\sum_{e\in E^{in}_{i}}z^{\prime}_{e},\;\;\forall\;i% \in V\setminus\{s\}( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_i italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , ∀ italic_i ∈ italic_V ∖ { italic_s } (31)
(ps,ts)=eEsoutzesubscript𝑝𝑠subscript𝑡𝑠subscript𝑒subscriptsuperscript𝐸𝑜𝑢𝑡𝑠subscript𝑧𝑒\displaystyle(p_{s},t_{s})=\sum_{e\in E^{out}_{s}}z_{e}( italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_e ∈ italic_E start_POSTSUPERSCRIPT italic_o italic_u italic_t end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT (32)

IV-C Proof of Validity

In this section, we will show the correctness of the MICP-GCS formulation by proving the following theorem.

Theorem 1.

The optimal value of the MICP-GCS formulation is equal to the optimal value of the biconvex formulation for the MT-TSP. An optimal agent tour for the MT-TSP can be recovered from the solution of MICP-GCS by choosing (pi,ti)iVsubscript𝑝𝑖subscript𝑡𝑖for-all𝑖𝑉(p_{i},t_{i})\;\forall\;i\in V( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∀ italic_i ∈ italic_V as shown in (31) and (32).

Proof.

Let Etoursubscript𝐸𝑡𝑜𝑢𝑟E_{tour}italic_E start_POSTSUBSCRIPT italic_t italic_o italic_u italic_r end_POSTSUBSCRIPT be the set of all edges with ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1, obtained from a solution to either of the two formulations. The constraints in both the formulations requires that the edges in Etoursubscript𝐸𝑡𝑜𝑢𝑟E_{tour}italic_E start_POSTSUBSCRIPT italic_t italic_o italic_u italic_r end_POSTSUBSCRIPT forms a path that starts at s𝑠sitalic_s, visits all the target nodes once, and ends at ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, thereby forming an agent tour. For each edge eEtour𝑒subscript𝐸𝑡𝑜𝑢𝑟e\notin E_{tour}italic_e ∉ italic_E start_POSTSUBSCRIPT italic_t italic_o italic_u italic_r end_POSTSUBSCRIPT, ze=ze=(0,0,0)subscript𝑧𝑒subscriptsuperscript𝑧𝑒000z_{e}=z^{\prime}_{e}=(0,0,0)italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( 0 , 0 , 0 ) for both the formulations. This is achieved by (19) in the biconvex formulation, and by (24) in the MICP-GCS formulation. Consequently, the cost addends corresponding to these edges becomes l(z~e,z~e)=0𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒0l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})=0italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) = 0 for both formulations. Now, consider each edge e=(i,j)Etour𝑒𝑖𝑗subscript𝐸𝑡𝑜𝑢𝑟e=(i,j)\in E_{tour}italic_e = ( italic_i , italic_j ) ∈ italic_E start_POSTSUBSCRIPT italic_t italic_o italic_u italic_r end_POSTSUBSCRIPT. In the biconvex formulation, (19) becomes ze=(pi,ti)subscript𝑧𝑒subscript𝑝𝑖subscript𝑡𝑖z_{e}=(p_{i},t_{i})italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), ze=(pj,tj)subscriptsuperscript𝑧𝑒subscript𝑝𝑗subscript𝑡𝑗z^{\prime}_{e}=(p_{j},t_{j})italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ). Additionally, (21) requires (pi,ti)Xisubscript𝑝𝑖subscript𝑡𝑖subscript𝑋𝑖(p_{i},t_{i})\in X_{i}( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∈ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, (pj,tj)Xjsubscript𝑝𝑗subscript𝑡𝑗subscript𝑋𝑗(p_{j},t_{j})\in X_{j}( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ∈ italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. These two requirements are the same as saying zeXisubscript𝑧𝑒subscript𝑋𝑖z_{e}\in X_{i}italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, zeXjsubscriptsuperscript𝑧𝑒subscript𝑋𝑗z^{\prime}_{e}\in X_{j}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and for any two adjacent edges e=(i,j)𝑒𝑖𝑗e=(i,j)italic_e = ( italic_i , italic_j ) and f=(j,k)𝑓𝑗𝑘f=(j,k)italic_f = ( italic_j , italic_k ) in the agent tour, ze=zfsubscriptsuperscript𝑧𝑒subscript𝑧𝑓z^{\prime}_{e}=z_{f}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_z start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. In the MICP-GCS formulation, (24) becomes zeXisubscript𝑧𝑒subscript𝑋𝑖z_{e}\in X_{i}italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, zeXjsubscriptsuperscript𝑧𝑒subscript𝑋𝑗z^{\prime}_{e}\in X_{j}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ∈ italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and the additional flow requirement in (23) ensures that for any two adjacent edges e=(i,j)𝑒𝑖𝑗e=(i,j)italic_e = ( italic_i , italic_j ) and f=(j,k)𝑓𝑗𝑘f=(j,k)italic_f = ( italic_j , italic_k ) in the agent tour, ze=zfsubscriptsuperscript𝑧𝑒subscript𝑧𝑓z^{\prime}_{e}=z_{f}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_z start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. Therefore, the cost addends corresponding to edges eEtour𝑒subscript𝐸𝑡𝑜𝑢𝑟e\in E_{tour}italic_e ∈ italic_E start_POSTSUBSCRIPT italic_t italic_o italic_u italic_r end_POSTSUBSCRIPT becomes l(z~e,z~e)𝑙subscript~𝑧𝑒subscriptsuperscript~𝑧𝑒l(\tilde{z}_{e},\tilde{z}^{\prime}_{e})italic_l ( over~ start_ARG italic_z end_ARG start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , over~ start_ARG italic_z end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) for both the formulations. Now, suppose that we have a solution to the MICP-GCS formulation. The (pi,ti)subscript𝑝𝑖subscript𝑡𝑖(p_{i},t_{i})( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) corresponding to each iV𝑖𝑉i\in Vitalic_i ∈ italic_V can then be obtained as shown in (31) and (32) since it ensures (pi,ti)=zesubscript𝑝𝑖subscript𝑡𝑖subscript𝑧𝑒(p_{i},t_{i})=z_{e}( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_z start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and (pj,tj)=zesubscript𝑝𝑗subscript𝑡𝑗subscriptsuperscript𝑧𝑒(p_{j},t_{j})=z^{\prime}_{e}( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT for each e=(i,j)E𝑒𝑖𝑗𝐸e=(i,j)\in Eitalic_e = ( italic_i , italic_j ) ∈ italic_E with ye=1subscript𝑦𝑒1y_{e}=1italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1. ∎

V Numerical Results

V-A Test Settings and Instance Generation

All the tests were run on a laptop with an Intel Core I7-7700HQ 2.80GHz CPU, and 16GB RAM. The implementation was in Python 3.11.6, and both the MICP as well as MICP-GCS formulations were solved using Gurobi 10.0.3 optimizer. All the Gurobi parameters were set to their default values, except for TimeLimit111Limits the total time expended (in seconds)., which was set to 1800.

A total of 80 instances were generated, 20 each for 5, 10, 15, and 20 targets. The instances were defined by the number of targets n𝑛nitalic_n, a square area of fixed size S=100𝑆100S=100italic_S = 100 units with corresponding diagonal length R=2S𝑅2𝑆R=\sqrt{2}Sitalic_R = square-root start_ARG 2 end_ARG italic_S, a fixed time-horizon T=150𝑇150T=150italic_T = 150, the depot location fixed at the center (0,0)00(0,0)( 0 , 0 ) of the square, and finally, a set of randomly generated linear trajectories corresponding to the n𝑛nitalic_n targets such that each target has a constant speed within [0.5,1]0.51[0.5,1][ 0.5 , 1 ] and is confined within the square area.

For each instance, we ran experiments where we varied two additional test parameters: the max agent speed vmaxsubscript𝑣𝑚𝑎𝑥v_{max}italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT, and the time-windows corresponding to the targets. vmaxsubscript𝑣𝑚𝑎𝑥v_{max}italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT was varied to be 4, 6, and 8 unit/sec𝑢𝑛𝑖𝑡𝑠𝑒𝑐unit/secitalic_u italic_n italic_i italic_t / italic_s italic_e italic_c, and the time-windows were varied to be of durations 25, 50, and 75 secs. The time-windows were selected such that a feasible solution could be found for all the generated instances, with all agent speed choices. To do this, we first randomly chose a sequence in which the agent visits the targets, and then found the quickest agent tour corresponding to that sequence by fixing the agent speed at its lowest choice (which is 4 unit/sec𝑢𝑛𝑖𝑡𝑠𝑒𝑐unit/secitalic_u italic_n italic_i italic_t / italic_s italic_e italic_c). If the time for the tour was more than T𝑇Titalic_T, we tried another random sequence. Otherwise, we took the times where the agent visited each target, and defined time-windows that contained these times. Note that when varying time-windows, we ensured that the time-window of duration 25 lies within the time-window of duration 50, which then lies within the time-window of duration 75, for each target.

V-B Evaluating the Formulations

Given vmaxsubscript𝑣𝑚𝑎𝑥v_{max}italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT, a time-window duration, and the formulation of choice, the solver is first run on all the 20 instances corresponding to a given number of targets. The optimality gap value from the solver for an instance is defined as |zPzD||zP|×100subscript𝑧𝑃subscript𝑧𝐷subscript𝑧𝑃100\frac{|z_{P}-z_{D}|}{|z_{P}|}\times 100divide start_ARG | italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT | end_ARG start_ARG | italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT | end_ARG × 100, where zPsubscript𝑧𝑃z_{P}italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT is the primal (feasible) objective, and zDsubscript𝑧𝐷z_{D}italic_z start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT is the dual (lower-bound) objective. Let % Gap denote the average of the smallest gap values output by the solver for all these instances, and let runtime be the average of the run-times output by the solver for all these instances.

V-C Varying the Time-Window Duration

Refer to caption
Figure 3: Numerical results comparing runtime and % Gap of the MICP and MICP-GCS for a fixed max agent speed of 4, and varying time-window durations of 25 (a), 50 (b), and 75 (c). MICP-GCS scales significantly better than the MICP, when increasing the time-window duration, and number of targets. This can be seen especially for 15 targets in (b) and 10 targets in (c) where its runs up to 2 orders of magnitude faster while providing the same or better % Gap. Similarly, in the case of 15 targets in (c), and 20 targets in (b) and (c), MICP-GCS runs up to more than 1000 seconds faster, while providing a % Gap improvement within a 40-60 range.

In this section, we consider the experiments where the time-window durations are varied. We do this by fixing the agent speed at 4, and solving all the instances for the time-window durations (25, 50, and 75). The results for this experiment are illustrated in Fig. 3, with (a), (b), and (c) corresponding to durations 25, 50, and 75 respectively. We observe that the problem becomes more challenging to solve for both the approaches as the number of targets increases. More importantly, this difficultly becomes more prominent as the time-window duration increases. The main advantage of MICP-GCS here is that it scales significantly better than the MICP against a larger number of targets and bigger time windows. We see this especially in the case of 15 targets where the % Gap always fully converges for the MICP-GCS and its runtime increases noticeably only with the largest time-window of duration 75, as compared to the MICP whose % Gap and runtime increases dramatically as the time-windows gets bigger. Note how the problem is challenging for both the approaches at 20 targets. However, we see that the % Gap or the runtime is always significantly improved for MICP-GCS, for all time-window durations in this case.

V-D Varying the Agent Speed

Refer to caption
Figure 4: Numerical results comparing runtime and % Gap of the MICP and MICP-GCS for a fixed time-window duration of 50, and varying max agent speeds of 6 (a), and 8 (b). The plots are very similar to the max agent speed of 4 plot (Fig. 3 (b)). Hence, here too, MICP-GCS gives two orders of magnitude faster runtime with a % Gap improvement of close to 10 for 15 targets. For 20 targets, MICP-GCS is still several hundreds of seconds faster, and gives a % Gap improvement of around 45.

In this section, we consider the second set of experiments where the agent maximum speed is varied. We do this by fixing the time-window duration at 50, and varying the agent max speed to 6, and 8. The results for this experiment is illustrated in Fig. 4, with (a) and (b) corresponding to max speeds of 6 and 8 respectively. Note that Fig. 3 (b) gives the plot for when the agent max speed is 4. We observe that the plots look similar for all the three maximum agent speeds, with the runtime increasing slightly for both the approaches, and the % Gap getting slightly larger for the MICP, as the agent max speed is increased. This small increase in difficulty is believed to stem mostly from the fact that the feasible search space is now larger, as the agent now has more choices of tours it can take. In all these plots we again observe that MICP-GCS vastly outperforms the MICP, both in terms of runtime as well as % Gap, for 15 and 20 targets.

V-E Evaluating the Convex Relaxations

In this section, we evaluate the lower-bounds to the MT-TSP obtained from the convex relaxations of both the MICP and MICP-GCS formulations. To do this, we use ratio, and runtime, which we will now explain. Given an agent max speed, a time-window duration, and the formulation of choice, the binary constraints are first relaxed, and the solver is run on all the 20 instances corresponding to a given number of targets. Ratio is then obtained by finding the ratio of the best bound output by the solver, and the best bound output by MICP-GCS previously when the binary constraints were not relaxed, for all these instances, and then finding the average of these values. Runtime is obtained by finding the average of the solver runtime for all these instances. Note that a higher ratio is always better as it shows that the convex relaxation provides tight lower-bounds comparable to the ones from MICP-GCS with binary constraints. The worst ratio achievable is 0, indicating a trivial lower-bound from the convex relaxation. The ratios and runtimes found are summarized in Table I, and Table II respectively.

Expr 5 Tar 10 Tar 15 Tar 20 Tar Tw25 0.95 0.82 0.77 0.68 Tw50 0.78 0.63 0.61 0.54 Tw75 0.66 0.56 0.48 0.54 Spd6 0.77 0.65 0.61 0.53 Spd8 0.77 0.65 0.61 0.54

TABLE I: Numerical results presenting the ratios obtained from relaxed MICP-GCS for different experiment settings, and number of targets. We do not include the ratios for relaxed MICP here, since they were always the worst value of 0. The ratios get worse with more targets, and larger time-windows. Varying the agent speed has negligible effect on the ratio.

Expr 5 Tar 10 Tar 15 Tar 20 Tar Tw25 0.01 (0.0) 0.03 (0.02) 0.06 (0.04) 0.12 (0.02) Tw50 0.01 (0.0) 0.02 (0.02) 0.04 (0.04) 0.08 (0.02) Tw75 0.01 (0.0) 0.01 (0.02) 0.04 (0.06) 0.07 (0.03) Spd6 0.0 (0.0) 0.01 (0.02) 0.03 (0.04) 0.08 (0.02) Spd8 0.01 (0.0) 0.01 (0.02) 0.03 (0.04) 0.08 (0.02)

TABLE II: Numerical results presenting the runtimes for both the relaxed MICP-GCS, and relaxed MICP (in parentheses) for different experiment settings, and number of targets. The runtimes increase slightly with more targets, but are overall negligible for both formulations.

In both the tables, the column Expr represents the experiment settings, and specifies the various choices of agent speed and time-window duration. Here, Tw25, Tw50, and Tw75 represent the same experiment settings used for Fig. 3, where the agent max speed was set at 4, and the time-window duration was varied to be 25, 50, and 75 respectively. Similarly, Spd6 and Spd8 represent the experiment settings used for Fig. 4, where the time-window duration was fixed at 50, and the agent max speed was varied to be 6 and 8.

In Table I, we only provide the ratios corresponding to the convex relaxation of MICP-GCS. This is because when relaxed, the MICP always gave the worst bound of 0. This is to be expected, since this formulation relies heavily on big-M𝑀Mitalic_M constraints. Observe how the lower-bounds from relaxed MICP-GCS is affected by the number of targets and the time-window durations, but not from the varying agent speed. This is consistent with our previous observations. Although the lower-bounds to the MT-TSP are somewhat crude here, especially with larger number of targets and bigger time-windows, the main advantage of relaxing MICP-GCS comes from its negligible runtimes as seen in Table II. Observe that the runtimes from relaxed MICP-GCS are similar to the ones from the relaxed MICP (values within parentheses), but provides significantly stronger lower-bounds to the MT-TSP.

VI Conclusion and Future Work

In this paper, we introduced a Mixed Integer Conic Program based on the graph of convex sets (MICP-GCS), that finds the optimum to a special case of the Moving-Target Traveling Salesman Problem where targets move along lines with constant speeds. We proved the validity of this new formulation, and presented numerical results to corroborate its performance. We showed how our MICP-GCS outperforms the current state-of-the-art MICP across various experiments, and also how the MICP-GCS has a much stronger convex relaxation than the baseline MICP. For future work, we plan on investigating how a similar approach presented in this paper can be used to solve a more generalized problem where static obstacles are present.

References

  • [1] P. Oberlin, S. Rathinam, and S. Darbha, “Today’s traveling salesman problem,” IEEE robotics & automation magazine, vol. 17, no. 4, pp. 70–77, 2010.
  • [2] Y. Liu and R. Bucknall, “Efficient multi-task allocation and path planning for unmanned surface vehicle in support of ocean operations,” Neurocomputing, vol. 275, pp. 1550–1566, 2018.
  • [3] J. L. Ryan, T. G. Bailey, J. T. Moore, and W. B. Carlton, “Reactive tabu search in unmanned aerial reconnaissance simulations,” in 1998 Winter Simulation Conference. Proceedings (Cat. No. 98CH36274), vol. 1, pp. 873–879, IEEE, 1998.
  • [4] Z. Yu, L. **hai, G. Guochang, Z. Rubo, and Y. Haiyan, “An implementation of evolutionary computation for path planning of cooperative mobile robots,” in Proceedings of the 4th World Congress on Intelligent Control and Automation (Cat. No. 02EX527), vol. 3, pp. 1798–1802, IEEE, 2002.
  • [5] A. M. Ham, “Integrated scheduling of m-truck, m-drone, and m-depot constrained by time-window, drop-pickup, and m-visit using constraint programming,” Transportation Research Part C: Emerging Technologies, vol. 91, pp. 1–14, 2018.
  • [6] S. Venkatachalam, K. Sundar, and S. Rathinam, “A two-stage approach for routing multiple unmanned aerial vehicles with stochastic fuel consumption,” Sensors, vol. 18, no. 11, p. 3756, 2018.
  • [7] H. A. Saleh and R. Chelouah, “The design of the global navigation satellite system surveying networks using genetic algorithms,” Engineering Applications of Artificial Intelligence, vol. 17, no. 1, pp. 111–122, 2004.
  • [8] O. Cheikhrouhou, A. Koubâa, and A. Zarrad, “A cloud based disaster management system,” Journal of Sensor and Actuator Networks, vol. 9, no. 1, p. 6, 2020.
  • [9] J. Conesa-Muñoz, G. Pajares, and A. Ribeiro, “Mix-opt: A new route operator for optimal coverage path planning for a fleet in an agricultural environment,” Expert Systems with Applications, vol. 54, pp. 364–378, 2016.
  • [10] W. Zhao, Q. Meng, and P. W. Chung, “A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario,” IEEE transactions on cybernetics, vol. 46, no. 4, pp. 902–915, 2015.
  • [11] B. L. Brumitt and A. Stentz, “Dynamic mission planning for multiple mobile robots,” in Proceedings of IEEE International Conference on Robotics and Automation, vol. 3, pp. 2396–2401, IEEE, 1996.
  • [12] C. S. Helvig, G. Robins, and A. Zelikovsky, “The moving-target traveling salesman problem,” Journal of Algorithms, vol. 49, no. 1, pp. 153–174, 2003.
  • [13] C. D. Smith, “Assessment of genetic algorithm based assignment strategies for unmanned systems using the multiple traveling salesman problem with moving targets,” 2021.
  • [14] A. Stieber and A. Fügenschuh, “Dealing with time in the multiple traveling salespersons problem with moving targets,” Central European Journal of Operations Research, vol. 30, no. 3, pp. 991–1017, 2022.
  • [15] R. S. de Moraes and E. P. de Freitas, “Experimental analysis of heuristic solutions for the moving target traveling salesman problem applied to a moving targets monitoring system,” Expert Systems with Applications, vol. 136, pp. 392–409, 2019.
  • [16] Y. Wang and N. Wang, “Moving-target travelling salesman problem for a helicopter patrolling suspicious boats in antipiracy escort operations,” Expert Systems with Applications, vol. 213, p. 118986, 2023.
  • [17] D. Marlow, P. Kilby, and G. Mercer, “The travelling salesman problem in maritime surveillance–techniques, algorithms and analysis,” in Proceedings of the international congress on modelling and simulation, pp. 684–690, 2007.
  • [18] A. Maskooki and M. Kallio, “A bi-criteria moving-target travelling salesman problem under uncertainty,” European Journal of Operational Research, 2023.
  • [19] B. Englot, T. Sahai, and I. Cohen, “Efficient tracking and pursuit of moving targets by heuristic solution of the traveling salesman problem,” in 52nd ieee conference on decision and control, pp. 3433–3438, IEEE, 2013.
  • [20] P. Chalasani and R. Motwani, “Approximating capacitated routing and delivery problems,” SIAM Journal on Computing, vol. 28, no. 6, pp. 2133–2149, 1999.
  • [21] M. Hammar and B. J. Nilsson, “Approximation results for kinetic variants of tsp,” in Automata, Languages and Programming: 26th International Colloquium, ICALP’99 Prague, Czech Republic, July 11–15, 1999 Proceedings 26, pp. 392–401, Springer, 1999.
  • [22] M. Hassoun, S. Shoval, E. Simchon, and L. Yedidsion, “The single line moving target traveling salesman problem with release times,” Annals of Operations Research, vol. 289, pp. 449–458, 2020.
  • [23] J.-M. Bourjolly, O. Gurtuna, and A. Lyngvi, “On-orbit servicing: a time-dependent, moving-target traveling salesman problem,” International Transactions in Operational Research, vol. 13, no. 5, pp. 461–481, 2006.
  • [24] N. S. Choubey, “Moving target travelling salesman problem using genetic algorithm,” International Journal of Computer Applications, vol. 70, no. 2, 2013.
  • [25] C. Groba, A. Sartal, and X. H. Vázquez, “Solving the dynamic traveling salesman problem using a genetic algorithm with trajectory prediction: An application to fish aggregating devices,” Computers & Operations Research, vol. 56, pp. 22–32, 2015.
  • [26] Q. Jiang, R. Sarker, and H. Abbass, “Tracking moving targets and the non-stationary traveling salesman problem,” Complexity International, vol. 11, no. 2005, pp. 171–179, 2005.
  • [27] U. Ucar and S. K. Işleyen, “A meta-heuristic solution approach for the destruction of moving targets through air operations.,” International Journal of Industrial Engineering, vol. 26, no. 6, 2019.
  • [28] T. Marcucci, J. Umenberger, P. Parrilo, and R. Tedrake, “Shortest paths in graphs of convex sets,” SIAM Journal on Optimization, vol. 34, no. 1, pp. 507–532, 2024.