Heuristics for Two Depot Heterogeneous Unmanned Vehicle Path Planning to Minimize Maximum Travel Cost

A solution to the multiple depot heterogeneous traveling salesman problem with a min-max objective is in great demand with many potential applications of unmanned vehicles, as it is highly related to a reduction in the job completion time. As an initial idea for solving the min-max multiple depot heterogeneous traveling salesman problem, new heuristics for path planning problem of two heterogeneous unmanned vehicles are proposed in this article. Specifically, a task allocation and routing problem of two (structurally) heterogeneous unmanned vehicles that are located in distinctive depots and a set of targets to visit is considered. The unmanned vehicles, being heterogeneous, have different travel costs that are determined by their motion constraints. The objective is to find a tour for each vehicle such that each target location is visited at least once by one of the vehicles while the maximum travel cost is minimized. Two heuristics based on a primal-dual technique are proposed to solve the cases where the travel costs are symmetric and asymmetric. The computational results of the implementation have shown that the proposed algorithms produce feasible solutions of good quality within relatively short computation times.


Introduction
In most applications of monitoring of large environments, the utilization of multiple autonomous unmanned vehicles (UVs) is preferred to improve system efficiency. For example, unmanned aerial vehicles (UAVs) are widely used in crop management [1,2], traffic monitoring [3], and forest management [4,5]. Various types of multiple UVs are widely used in surveillance [6][7][8], search and rescue applications [9][10][11], and transportation [12]. In most of these applications, the fundamental subproblem to efficiently operating the multiple UV systems is finding paths for UVs such that each target is visited by one of the UVs at least once while minimizing the final job completion time. When the UVs involved in an application are not identical to each other, differing in either structure or function or both, and located in distinctive initial locations, the problem is known as the min-max Multiple Depot Heterogeneous Traveling Salesman Problem (MDHTSP). When there exists only one UV-the simplest case-the problem becomes a traveling salesman problem (TSP). Thus, min-max MDHTSP is a generalized TSP and NP-hard [13].
The use of multiple UVs is preferred, especially in large environments. To find an optimal solution for these large sized problems, a large amount of computational effort is required. However, in many applications, the exact location of the vehicles and targets may not be known at the time of operation due to the uncertainty or limited capabilities of the sensors mounted on UVs. The research for path planning under sensor related issues are actively on-going [14][15][16][17]. For these cases, especially involving multiple heterogeneous UVs, having a good suboptimal solution within a short computation time could result in a higher efficiency rather than having an optimal solution after several days of computations. The approaches presented in this paper has been developed for such cases. In this study, as an initial step for solving min-max MDHTSP, the algorithms are developed to solve a TSP for systems involving two structurally heterogeneous UVs while focused on task allocation, finding an optimal assignment of targets for each vehicle and their optimal sequence of visit, and on routing, finding an optimal path for each vehicle in a given sequence. The problem is known as the two depot heterogeneous traveling salesman problem (TDHTSP). Based on previous work [18], the algorithm has been extended for solving the min-max objective by iteratively running the primal-dual algorithm for min-sum TDHTSP with some modification. In addition, we have also considered the case when travel costs are asymmetric with the direction of edges.
As research on the MDHTSP and multiple depot heterogeneous vehicle routing problems (MDHVRP) has advanced from a single agent problem, a majority of the research in literature solves the problem for the total travel costs of all agents to be minimized (min-sum). However, minimizing the maximum travel cost is essential in practical applications because it is directly related to the workload balance between agents and the reduction of job completion time. Few publications have dealt with the min-max MDHTSP or min-max MDHVRP. Franceschelli et al. proposed gossip algorithms for a class of heterogeneous multi-vehicle task assignment and routing problems [19]. Prasad and Choi presented an approximation algorithm for dealing with a task allocation problem for heterogeneous agents starting from a single depot [20].
There are also a few publications that solved min-max multiple depot vehicle routing problems of homogeneous vehicles. Stodola developed an algorithm for a min-max MDVRP based on the Ant Colony Optimization theory [21]. In Reference [22], Wang et al. proposed a heuristic that used a linear program (LP)-based approach as an initial solution and improved in further iterations. Some studies addressed the min-sum MDHTSP. Sundar and Rathinam developed an exact algorithm based on a branch-and-cut method while considering both structural and functional heterogeneity in Reference [23]. The transformation method of generalized MDHATSP into an ATSP was proposed in Reference [24]. A special type of problem called close open multi-depot mixed vehicle routing problem was dealt with in Reference [25], and a new mixed integer programming model and a hybrid metaheuristic were presented. In Table 1, a brief review of the related literature is presented. The categories "Heterogeneity(s)" and "Heterogeneity(f)" refer structural heterogeneity and functional heterogeneity, respectively.  [20] single No Yes min-max 5-approx algo. symmetric [21] multiple No No min-max ant colony opt. symmetric [22] multiple No No min-max LP based heuristic symmetric [23] multiple Yes Yes min-sum branch and cut asymmetric [24] multiple Yes No min-sum transformation asymmetric [25] multiple No Yes min-sum hybrid GA symmetric As an initial step of solving min-max MDHTSP in time efficient manner, this paper made the following main contributions. First, the multiple depot heterogeneous traveling salesman problem that involves two heterogeneous vehicles is solved while considering cost symmetricity. Second, the primal-dual method [26] is applied for the min-max objective for the first time. The primal-dual method is an optimization technique that solves mixed integer program (MIP) problems with simple greedy algorithms. To apply primal-dual technique, the LP relaxation of MIP should be derived and its dual problem will be introduced. Then, by iteratively varying the dual variables, one can find an optimal or sub-optimal solution in time efficient manner. Lastly, relatively short computational time of the algorithm is shown through an implementation for different sizes of the problem.
The remainder of this paper is structured as follows: In Section 2, the problem is defined. In Section 3, a formulation of the TDHTSP where travel costs are symmetric is presented and a primal-dual based heuristic that solves the problem is proposed. In Section 4, the case where travel costs are asymmetric is considered. The proposed heuristics are implemented and the computational results are presented in Section 5. Section 6 consists some concluding remarks and future scope.

Problem Statement
As previously mentioned in Section 1, the Two Depot Heterogeneous Traveling Salesman Problem (TDHTSP) is considered in this article. Since only the structural heterogeneity is considered at this time, we assume that each vehicle has its own distinctive average running velocity and minimum turning radius. To handle this heterogeneity in an efficient manner, we assume that the faster vehicle has a smaller minimum turning radius compared to the slower vehicle. The faster vehicle is indexed as r 1 and the other one is indexed as r 2 , such that cost 1 ij ≤ cost 2 ij ∀(i, j), where cost k ij denotes the cost of traveling edge (i, j) using r k . We also assume that the triangle inequality is satisfied for both UVs. In this article, two separate algorithms are developed for the cases when the travel costs are symmetric and asymmetric. Initially, the UVs are located at their distinctive depots. Each vehicle starts the route at its depot, visits a set of assigned targets, and finishes the route by turning back to the depot. The objective of this TDHTSP is to find a route for each vehicle such that each target is visited only once by one of the UVs while the maximum final tour cost is minimized.
When a set of n targets is given, the parameters and decision variables used in formulations, and the variables used in pseudo-codes can be described as follows: Parameters: a set of depots T = {t 1 , · · · , t n } a set of targets V k = {{d k } ∪ T} a set of vertices for r k E k = {(i, j), ∀i, j ∈ V k } a set of edges that connect all vertices in V k C k = {cost k ij , ∀(i, j) ∈ E k } a set of travel costs of all edges in E k δ k (S) the subset of the edges of E k that have one end in S and the other end in V k \S δ + k (S) the subset of the edges (i, j) ∈ E k such that i ∈ V k \S and j ∈ S Decision variables: x k ij the decision variable that represents whether edge (i, j) is used for the tour of r k Variables used in algorithm pseudo-codes: TourCost k the final tour cost of r k within a given partition of the targets Tour k the final tour of r k within a given partition of the targets F k a set of edges in the forest corresponding to r k C k a set of connected components in F k Y k (C) the dual variable of a set C in C k , which keeps track of ∑ S⊆C Y k (S) dual k (v) the dual variable of a set C where v ∈ C, which keeps track of ∑ C:u∈C Y k (C) bound(C) the dual variable of a set C in C 2 , which keeps track of ∑ S⊆U Y 2 (S) active k (C) the activeness of set C ∈ C k . active k (C) = 1 only if C is active. Children(C) the subsets of set C ∈ C 1 in C 2 As the definitions of the parameters, δ k (S) contains all the edges crossing S and outside S, while δ + k (S) contains all the incoming edges to S from outside S. Moreover, only one subset U of T is allowed to have z U = 1, as z U is set to 1 only if U contains all of the vertices visited by r 2 .

Problem Formulation
When the travel costs are symmetric, i.e., cost k ij = cost k ji , ∀(i, j) ∈ E k , k = 1, 2, we can formulate an mixed integer program as follows: t ≥0. (10) In this formulation, Equations (2) and (3) are the edge constraints that if there is at least one vertex in S that is not connected to the other depot, at least two edges must be chosen from δ k (S) for the tour of r k for any S ⊆ T. Equations (4) and (5) are the degree constraints of each target. Equation (6) represents that t is the maximum travel cost, and Equations (7)-(9) are the integer constraints of decision variables. Equation (10) is the nonnegative constraint of t. Now, by relaxing the degree constraints and integer constraints, an LP can be formulated as shown below: To obtain the dual problem of the LP above, we introduce the dual variables, Y 1 (S), Y 2 (S), and W k for Equations (12)- (14), respectively. Then, the following dual problem can be introduced.
In the proposed heuristic, the dual variables Y 1 (S), Y 2 (S) can be interpreted as the costs that each set of S is willing to pay to be connected to the corresponding depots. The dual variable W k can be interpreted as the weight that prioritizes one of the UVs, i.e., if W 1 > W 2 , the algorithm will give priority to r 2 , and vice versa. By adjusting the values of W k while maintaining the cost condition of to be satisfied all times, we may be able to decrease the maximum tour cost in the proposed algorithm. With a fixed W k , we can obtain a heterogeneous spanning forest (HSF) that connects each vertex to one of the depots by using this dual problem. The obtained HSF is utilized as a target assignment, and the routes can be derived within the partitions using existing algorithms.

A Heuristic for the TDHTSP
The pseudo-codes of the heuristic for TDHTSP is presented in Algorithms 1 and 2. In Algorithm 1, to reduce the maximum travel cost, we iteratively run Algorithm 2 by varying the values of W 1 and W 2 . As presented in Algorithm 1, we at first set W 1 and W 2 to be equal to 0.5. Based on the initial routing result, we increase or decrease W 1 with a small value ≤ 0.1 and set W 2 as 1 − W 1 so that the constraint in Equation (22) is tight all the time. With updated W k values, the routes are newly derived and we determine whether any reduction exists in t. Iteration stops when either the other vehicle has the maximum tour cost or there exists any violation in the cost condition of With fixed values for W 1 and W 2 , we derive a task allocation for the UVs using the primal-dual heuristic that solves an HSF based on the dual problem in Equations (18)-(24) that is presented in Algorithm 2. Initially, each set contains one vertex and each tree F k is empty. The sets containing targets are active, and the sets containing depots are inactive. All dual variables are set to zero, and all vertices are unmarked. In the main loop, the algorithm consistently increases the dual variables of the active sets by an amount that makes one of dual constraints in Equations (19)- (21) tight. If one of the constraints in Equations (19) or (20) becomes tight, the corresponding edge is added to the tree F k . The two sets connected through the newly added edge are now combined into a new set. If the new set does not contain the depot, it becomes an active set. Otherwise, the new set is deactivated. If k = 1 and the new set contains d 1 , all children (the subsets in C 2 ) of the newly formed set are also deactivated. If one of the constraints in Equations (21) becomes tight, the corresponding set is deactivated and the vertices in the set are marked. The iteration terminates when all sets in C 1 become inactive.
At this point, most primal-dual algorithms that solve min-sum TSPs perform reverse-deleting as pruning steps after the main loop is terminated because the edge added at the i-th iteration has a smaller cost than the edge added at the (i + 1)-th iteration for any i in the loop. Deletion of the unnecessary edges in a reverse order would reduce the total sum of the travel costs. However, as we are dealing with a min-max problem, we need to consider the balance of workload. Thus, instead of reverse-deleting, we perform pruning steps we designed in the proposed heuristic. Once the main loop is terminated, we sort the targets into three partitions: P 1 , P 2 , and P c . Each P k for k = 1, 2 contains the vertices that are only connected to d k , while P c contains the vertices that are connected to both d 1 and d 2 . For P 1 and P 2 , we find the minimum spanning trees T 1 and T 2 , respectively. If P k only contains its depot, T k is set to be empty. Then, we distribute the targets in P c to P 1 and P 2 depending on the current workload. Until all targets in P c are distributed, the algorithm finds edges e k for k = 1, 2 that connect any vertex in P k to one of the targets in P c with the minimum cost. Depending on the current total edge costs in T k , the edge is added to the tree with a lower cost. The corresponding vertex is removed from P c and added to P k . When P c becomes empty, each of the targets will be connected to only one of the depots in either T 1 or T 2 . Once partitioning is finished, a tour for each partition can be found using existing algorithms, i.e., LKH [27] in our implementation. In Figure 1, the routes of each iteration of Algorithm 1 for an instance with 120 targets has been presented. Finally, proof of the feasibility of the proposed heuristic for TDHTSP and running time analysis are presented in Lemma 1.

4:
Let the connected targets reachable from the depot be a partition and label it as P k . 5: end for 6: For k = 1, 2, derive TourCost k and Tour k for r k within P k (using an existing routing algorithm). 7: G ← max(TourCost k ) 8: if TourCost 1 ≥ TourCost 2 then 9: while TourCost 1 ≥ TourCost 2 do 10: Redetermine a target assignment using the proposed primal-dual heuristic and obtain the partitions P k . 12: for k = 1, 2 do

13:
Derive TourCost k and Tour k within P k . 14: end for 15: if Tour is infeasible then Redetermine a target assignment using the proposed primal-dual heuristic and obtain the partitions P k . 31: for k = . 11: end for 12: Let := {R : active k (R) = 1, One of subsets of R contains d 2 , ∀R ∈ C 1 }. 13: if ε min = ε k for k = 1 or 2 then 25: : P k ← all vertices that are only connected to d k for k = 1, 2 46: P c ← the vertices that are connected to both d 1 and d 2 47: Let T k be the minimum spanning tree of P k for k = 1, 2. 48: Let C(T k ) be the sum of edge costs present in T k 49: while P c is not empty do

50:
Find the shortest edge e k that connects a vertex in P c and a vertex in P k for each k.

52:
Add e 1 to T 1 , remove the corresponding vertex from P c , and add it to P 1 . 53: else

54:
Add e 2 to T 2 , remove the corresponding vertex from P c and add it to P 2 . 55: end if 56: end while Lemma 1. The proposed heuristic (in Algorithms 1 and 2) produces a feasible solution for min-max TDHTSP. Each of the vertices is reachable from one of the depots, and every vertex appears only once in the routes. In addition, Algorithm 2 runs in polynomial time.
Proof. During the main loop in Algorithm 2, the loop terminates when all the components of C 1 become inactive. There exists only two cases that can happen for deactivation. First, a set C is connected to its depot, and second, one of the constraints in Equation (21) becomes tight. However, the second case can happen only if the subsets of C in C 2 is connected to d 2 . Thus, the only possible way for termination is if each of the targets in T is connected to either d 1 or d 2 . Because we make sure that all vertices are connected to one of the components in pruning steps, the proposed heuristic produces a feasible solution for the given problem.
In addition, because there are at most n components for each robot at any point in time of running Algorithm 2, each iteration will have O(n) searches, yielding a time bound of O(nlog(n)) per iteration or O(n 2 log(n)) for the entire loop. Thus, Algorithm 2 runs in polynomial time.
(a) Iteration #1-2. W 1 , W 2 are set to 0.5, and r 1 has the maximum travel cost. Thus, W 1 is increased by , which is set to 0.1 in this example.
(b) Iteration #3-4. When W 1 = 0.52 and W 2 = 0.48, the maximum travel cost has been decreased but r 1 still has the maximum value; thus, W 1 was further increased.
(c) Iteration #5-6. When W 1 = 0.54 and W 2 = 0.46, although the balance of workload has been improved, r 1 still has the maximum value; thus, W 1 was further increased.
(d) Iteration #7. When W 1 = 0.56 and W 2 = 0.44, r 2 has the maximum travel cost and iteration is stopped.

Problem Formulation
When the travel costs are asymmetric, i.e., cost k ij = cost k ji , the directions of the edges need to be considered to generate tours. This problem is known as the two depot heterogeneous asymmetric traveling salesman problem (TDHATSP). We can formulate the following LP by considering only the incoming edges.
Similar to the symmetric case in Section 3.1, by introducing the dual variables Y + 1 (S), Y + 2 (S) and W + k for Equations (26)- (28), the dual problem of the TDHATSP can be formulated as shown below:

A Heuristic for the TDHATSP
The difference between the symmetric and asymmetric cases lies in the primal-dual heuristic for obtaining partitions. For asymmetric case, we apply the primal-dual technique to derive a heterogeneous directed spanning forest (HDSF). During iteration to find the best W k values, we use the same algorithm presented in Algorithm 1 as we did in Section 3. The algorithm for obtaining an HDSF is presented in Algorithm 3.

10:
Find an edge e k = (i, j) ∈ E k with i ∈ C i , j ∈ C j , where C i , C j ∈ C k , C i = C j that minimizes

11:
end for 12: Let the corresponding C j ∈ C k be S k , while S = {S 1 , S 2 } satisfies S 1 ⊇ S 2 and S 1 , S 2 are active. 13: Increase : P k ← all vertices that are only reachable from d k for k = 1, 2 33: P c ← the vertices that are reachable from both d 1 and d 2 34: Let T k be the minimum directed spanning tree of P k for k = 1, 2. 35: Let C(T k ) be the sum of the edge costs present in T k . 36: while P c is not empty do

37:
Find the shortest edge e k that makes a vertex in P c reachable from the vertices in P k for each k.

39:
Add e 1 to T 1 , remove the corresponding vertex from P c , and add it to P 1 . 40: else

41:
Add e 2 to T 2 , remove the corresponding vertex from P c , and add it to P 2 . 42: end if 43: end while Similar to the symmetric case, once W 1 and W 2 are fixed, we derive a target assignment using a primal-dual heuristic that solves an HDSF based on the dual problem in Equations (32)-(38). Initially, each set contains one vertex and each tree F k is empty. The sets containing targets are active, while the sets containing depots are inactive. All vertices are unmarked, and all dual variables are set to zero. In the main loop, the algorithm iteratively searches for the dual variables that make one of the dual constraints in Equations (33) and (34) tight with the minimum increase, where the corresponding set in C 1 and at least one of its subsets is active. The corresponding new edge is added to its tree F k . There are three cases that can occur. First, if the new edge forms any new strongly connected component that is reachable from its depot, let the strongly connected component be a new active component. Second, if the new edge forms a new strongly connected component that is reachable from d k , let the depot and all reachable vertices be a new inactive component. If e 1 has the minimum value, all subsets in C 2 are deactivated. If e 2 is the minimum value, all vertices in the supersets of the component in C 1 are marked and deactivated. This step ensures that the third dual constraint in Equation (35) holds all of the time during iteration. Third, if neither the first nor second case occurs, deactivate the corresponding set. Once the sets are updated, the algorithm checks whether there exists any active set that has at least one active subset that can be chosen. If not, find an inactive set that has no incoming edges and is not reachable from the depot. According to the design of the algorithm, those sets should have at least one connected set that contains marked vertices. Thus, we form a new active component by combining those sets until the new set does not have any incoming edges. Once the main loop is terminated, we perform the pruning steps as we did for the symmetric case in Algorithm 2. Since the edges have directions, we form the minimum directed spanning trees for each partition P k and iteratively distribute the vertices in P c to the one that has the lower tree cost. Now, the feasibility of the proposed heuristic for TDHATSP is shown in Lemma 2. Because the running time analysis is very similar with symmetric case, the proof is omitted. Assume that only one active component has left for all C k after having case (1) for all iterations. Then, there exist only two cases that can happen in the next iteration. Either the component becomes reachable from one of the depots and terminates the loop or a new active strongly connected component is formed and continues. This would be true until there exists only one large active component that containing all the vertices left except the depot, which implies the latter case cannot happen at the next iteration. Thus, at least one edge starting from one of the depots should be added before the termination. This implies that, at the time of termination, each vertex is connected to at least one of the depots. During the pruning steps, we make sure that all vertices are connected to only one of the depots while distributing vertices in P c . Thus, even if there existed the vertices that were connected to both depots, only one depot would be left at the end of the algorithm. Hence, the algorithm produces a feasible solution for TDHTSP.

Implementation
In this section, we show the computational aspects of the proposed algorithms. All computational experiments were performed with a PC equipped with an Intel R Core TM i5-7600 CPU running at 3.5 GHz with 8 GB RAM. Simulations were performed on a virtual square space with a size of 2000 × 2000 units. The proposed algorithms were implemented using MATLAB software and run repeatedly for instances with varying problem sizes. The number of targets was set to 20, 30, 40, 60, and 80. We evaluated 50 instances for each problem size. The locations of the targets and depots were randomly generated with a uniform distribution. We assumed that both r 1 and r 2 have the motion of a Reeds-Shepp vehicle [28] for the cost-symmetric cases and the motion of a Dubins vehicle [29] for the cost-asymmetric cases. To ensure that the cost inequality is satisfied, we set the average velocity of movement v k to be v 1 > v 2 and the minimum turning radius ρ k to be ρ 1 < ρ 2 . Due to the motion constraints of the robots, we generated the locations of targets to stay within the margins of ρ 1 . The costs to travel between the locations were set to the minimum travel time between the locations by dividing the Reeds-Shepp curve [30] and Dubins curve [29] by the average velocity of each vehicle. Specifically, we applied ρ 1 = 20, ρ 2 = 25, v 1 = 1.2, and v 2 = 0.9 in the simulations. Example routes for 30 targets produced by three different algorithms for both symmetric and asymmetric cases are presented in Figure 2. In the examples, the heuristics produced the optimal and near optimal solutions within much shorter computation times.
To ascertain the performance, LP relaxation solutions were used to find a posteriori bounds. To solve the LP relaxation, we used a multi-commodity flow formulation on CPLEX [31]. We compared the solutions for the same instances with an LP rounding method, which solves the LP relaxation and assigns each target to the one has the maximum value of the partitioning decision variable. To solve the routing problem within the partition, LKH [32] was used for both Algorithm 2 and Algorithm 3. The results of the computational evaluation is presented in Figure 3 and Tables 2 and 3.

Discussion of Implementation Results
The average and worst a posteriori bounds of each problem size for both cost-symmetric and cost-asymmetric cases are presented in Figure 3. A posteriori bound was calculated by Cost A (I) ÷ Cost LP (I), where Cost A (I) represents the cost of the solution obtained through algorithm A of instance I and Cost LP (I) represents LP relaxation cost for instance I. Despite the fact that LP rounding usually produced better quality solutions for the min-sum MDHTSP and min-sum MDHATSP [33], the proposed heuristic produced better posteriori bounds for all problem sizes with the min-max objective. For both the symmetric and asymmetric problems, the proposed methods had average posteriori bounds less than 1.4, while LP rounding had bounds greater than 1.6. The worst a posteriori bounds of LP rounding were larger than two for all sizes, while those for the proposed heuristics were less than two.
The average and worst computation times of cost-symmetric and cost-asymmetric cases are summarized in Tables 2 and 3, respectively. In both tables, there exists a huge gap in the computation time between the two algorithms, especially for large-sized problems. For example, the LP rounding method required average of 39,891.46 s, i.e., longer than 11 h, while the proposed heuristic takes approximately 20 s to solve the cost-symmetric problems of 80 targets. As presented in blue and red in Tables 2 and 3, the average computation time was decreased to 0.0005% and 0.001% compare to the LP rounding method for the symmetric and asymmetric cases of 80 targets, respectively, while maintaining better average solution qualities. Therefore, the proposed heuristics are better suitable for applications that require good approximate solutions within a short period of time to increase profits.

Conclusions
In this research, we proposed heuristics based on a primal-dual technique for the job allocation and routing of a two-UV system with structural heterogeneity while minimizing the last job completion time. The formulations of MIP, LP, and dual problems were presented. Using the dual problems, the heuristics were designed to iteratively run primal-dual algorithms by varying the W k values, which implies the priority of kth vehicle. Through implementation, the effectiveness of our proposed algorithms has been shown.
Our heuristics have limitations for guarantees of worst solution quality, limited number of vehicles, and limited heterogeneity. However, we believe that our heuristics are a good original idea that can solve the min-max MDHTSP in a time-efficient manner while considering additional constraints that increase the complexity of the problem. As future work, we aim to solve the mim-max MDHTSP and min-max MDHATSP while considering both structural and functional heterogeneity with lighter computational loads.

Conflicts of Interest:
The authors declare no conflict of interest.