Heterogeneous Vehicle Routing and Teaming with Gaussian Distributed Energy Uncertainty

10/22/2020 ∙ by Bo Fu, et al. ∙ University of Michigan 0

For robot swarms operating on complex missions in an uncertain environment, it is important that the decision-making algorithm considers both heterogeneity and uncertainty. This paper presents a stochastic programming framework for the vehicle routing problem with stochastic travel energy costs and heterogeneous vehicles and tasks. We represent the heterogeneity as linear constraints, estimate the uncertain energy cost through Gaussian process regression, formulate this stochasticity as chance constraints or stochastic recourse costs, and then solve the stochastic programs using branch and cut algorithms to minimize the expected energy cost. The performance and practicality are demonstrated through extensive computational experiments and a practical test case.



There are no comments yet.


page 1

page 7

page 8

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction and Related Work

Recent advances in robotic sensing and control have enabled the application of robotic systems in a variety of unstructured natural environments, including robotic agriculture, underwater exploration, and search and rescue in caves. In the meantime, the progress in multi-robot decision-making algorithms and the growth in computational power allow robot swarms to work together to complete missions. Despite the achievements made by these decision-making algorithms, most of them are applied to a team of homogeneous robots for one specific task and require a structured known environment. As robotic systems start to operate on more complex missions, e.g. a military mission that contains several scout, breach, and delivery tasks at different locations, it is important to consider uncertainty in the environment and heterogeneity of the robots and tasks.

We define this class of problems as the stochastic heterogeneous teaming problem (SHTP): given a set of heterogeneous vehicles (robots) and heterogeneous tasks distributed within an uncertain environment (a part of the information is partially known), form vehicle teams to complete the tasks and optimize an objective function considering the uncertainty. In this work, the uncertainty considered is in the travel energy cost, and an example problem is shown in Fig. 1.

Fig. 1: An example for a SHTP with travel energy uncertainty, where there are 4 tasks to be completed and 9 vehicles for selection.

If the environment is fully known and there is only one type of vehicle and task, SHTP reduces to a vehicle routing problem (VRP): find the optimal routes for a fleet of homogeneous vehicles to visit a set of task targets, satisfy the demand of all targets, and minimize some objective function. To address the uncertain nature of real-world applications, a part of the parameters in the VRP are modeled as random variables, and the problem turns into a stochastic vehicle routing problem (SVRP). The types of uncertainty studied in previous work include uncertain demand value at each target

[1, 2, 3, 4], uncertain service time for a target [5, 6, 7, 8], uncertain travel time between two targets [8, 6, 7, 9],, and uncertain travel energy costs [10, 11]. These SVRPs are typically formulated as integer programs, and solved through either exact algorithms (e.g. branch and cut [5, 1, 6, 10]

), which returns the optimal solution, or heuristic algorithms (e.g. adaptive large neighborhood search

[6], tabu search [7, 11, 12, 13], or constructive algorithms [2, 11]).

Travel energy cost uncertainty exists widely in off-road operations; however, few previous works in SVRP consider energy uncertainty or provide theoretical support for their assumed energy distribution. The authors in [10]

propose a stochastic program where the fuel consumption for traveling between tasks is stochastic. The distribution of fuel consumption is represented by a number of random vector realizations with the associated probability. This non-parametric representation allows their model to stay linear, but makes the program large due to the number of realizations needed to represent the distribution. Instead, we select a nonlinear parametric modeling framework to limit the program size.

Heterogeneity can be classified into two categories

[5], structural and functional. Structural heterogeneity usually leads to less phenomenal differences that can be described as parameters, e.g. maximum velocity or energy capacity. Examples of functional heterogeneity include the ability to fly or breach enemies. The heterogeneity described in SHTP refers to functional heterogeneity, which can lead to fundamental differences between task capabilities. Few previous works address this heterogeneity.

In this paper, we leverage our previous work in [14, 15, 16] to model travel energy cost as Gaussian distributions. The uncertain energy cost is then combined with heterogeneous vehicles and tasks to formulate two stochastic mixed integer nonlinear programming models (MINLP). Two branch and cut algorithms are used to solve the MINLPs.

Contributions of this work include:

  • Development of a flexible framework to encode vehicle and task heterogeneity, which can be used for a broad set of practical problems.

  • Derivation of SVRP models that incorporate Gaussian distributed energy costs.

  • Evaluation of the proposed framework through a comprehensive computational investigation and candidate case study.

Ii Problem and Optimization Models

In this section, we demonstrate how to encode heterogeneity and energy uncertainty within the constraints and objective function, to formulate the SHTP as an MINLP.

Ii-a Problem Description

Consider a set of vehicles , capabilities , and tasks . Each vehicle is associated with a non-negative capability vector (examples are in TABLE V). Each task requires a vehicle team with appropriate capabilities that drives the task requirement function to 1. The goal is to determine the optimal task schedule for a set of vehicles, such that, all tasks are completed, the travel costs do not exceed the vehicle energy capacities, and the expected sum energy is minimized. It is assumed that a task can only occur when all vehicles in a team have arrived, introducing additional time scheduling constraints.

A task requirement function is a binary function of similar structure as (1). , , and are “greater than”, “and”, and “or” logical operators that return 1 if their conditions are satisfied, and 0 otherwise. is the sum value of capability of the vehicles in the team as in (2). is a predefined number reflecting the task requirement on capability . Note that (1) is just an example, and there can be an arbitrary number of and operations. The can also be . For more examples, refer to Sec. V-B.


For some non-additive capability types (such as maximum velocity), the team’s capability is not the sum, but maximum, minimum, or other more complicated functions of individuals’ capabilities, which require further modeling. In this work, we assume the capabilities are additive.

Ii-B Deterministic Model

As shown in Fig. 2, we first define a directed graph , with a set of vertices and edges . and are the sets of start and terminal nodes respectively for each vehicle . is the set of the task nodes.

Fig. 2: The graphical model with 3 vehicles and 2 tasks. The arrow type differentiates which vehicle an edge belongs to. Three edges are marked as examples.

For each vehicle , there is an edge from the start node to the task node and an edge from task node to its terminal node. For simplicity, we also use notation for and for , as there will be no ambiguity for the start and terminal node once is determined. Between each task node pair , there are edges and for all vehicles .

Under this setting, a vehicle should start at , follow the edges to visit a subset of task nodes (often together with other vehicles), and finish at . Based on graph , an integer program can be formulated. Here we define common notations, where the decision variables are {, , , }.

=1, if vehicle follows edge , where and , otherwise 0.
=1, if task is visited by vehicle , otherwise 0.
=1, if task is completed, otherwise 0.
Time that task begins.
Stochastic energy cost to travel edge (). Assume Gaussian distributed, i.e. . More details are in Sec. IV.
Deterministic time needed to travel edge ().
Deterministic time for vehicle to complete its part for task .
Time penalty coefficient.
Large constant number for integer programming.
Energy capacity of vehicle .

Now we formally define the deterministic model.

Ii-B1 Objective Function

The objective function (3) minimizes the expected sum of the energy cost of the whole vehicle fleet and the sum of the times that vehicles arrive at the terminal nodes. is set to a small number such that energy is the primary optimization objective.


Ii-B2 Basic Range Constraints

Constraints (4) and (5) define the nature of the variables.


Ii-B3 Network Flow Constraint

Constraints (6), (7), and (8) are network flow constraints, which ensure that a vehicle follows a route from the start to the terminal. (9) reflects the relation that a task is visited by a vehicle if there is a corresponding incoming edge selected.


Ii-B4 Energy Constraints

The total energy cost for a vehicle should not exceed its energy capacity . In a deterministic model, this energy capacity constraint is imposed by limiting the expected total energy cost as in (10).


Ii-B5 Time Constraints

(11) is a time scheduling constraint: for a given vehicle, the difference between the start time of the next task and the current task should be larger than the service time at the current task plus the travel time. This ensures that all the vehicles in a team are able to arrive before a new task starts. This constraint also eliminates subtours.


Ii-B6 Task Constraints

Constraint (12) ensures that all the tasks are completed. (13) reflects the requirement of a task: can be completed only if the “sum capabilities” of the vehicle team drive the task requirement function to 1. This is an innovative constraint that encodes the vehicle and task heterogeneity. As the capability set can be defined flexibly, this enables resilient teaming for a broad set of practical problems.


Ii-B7 Constraints Linearization

All the components in the above formulation are linear except for in (13). Now we take (1) as an example to show how to represent constraint (13) using linear constraints. The input to in (1) and (13) should be equal; therefore, we have (14). The linear representation for (13) (when and as in (1)) is (15

). With this, the deterministic formulation becomes a mixed integer linear program (MILP).


Ii-C Chance Constrained Programming Model

The deterministic model uses the expected energy cost in the place of to pose an energy capacity constraint. This is problematic when has a wide distribution, placing the vehicles at a high risk of energy failure. To address this, a chance constrained programming (CCP) model and stochastic programming model with recourse (SPR) are proposed.

One issue with constraint (10) is that it does not provide a probabilistic bound for whether an energy failure will happen. Here we change it to a chance constraint and require the probability that vehicle does not reach the energy limit to be larger than a confidence level , i.e. replace constraint (10) with (16). Therefore, the CCP model is defined using (3)-(9), (11)-(13), and (16).


Assume the energy cost to traverse an edge is Gaussian distributed and independent with different , , or

. Let the cumulative distribution function of a standard Gaussian distribution be

. The deterministic equivalent of (16) is (17). The derivation of the distribution parameters are in Sec. IV. Note that the chance constraint (16

) will strongly affect the feasible domain of decision variables when the probability distribution of

is wide.

Ii-D Stochastic Programming Model with Recourse

The CCP model has several limitations: first, if the variance of the probability distribution is large, this can result in over-conservatism or no feasible solution; second, the CCP model does not consider the possibility of route failures; third, it does not consider additional recourse costs when failures occur. As an alternative, an SPR model, which allows for failures and considers a recourse strategy beforehand, is able to address these limitations.

Based on the proposed problem, we consider two recourse actions when a vehicle runs out of energy during the mission. First, a rescue vehicle (e.g. a truck) will visit the failed vehicle and either refuel it or take it back to the start location. Second, another vehicle of the same type will move to the next task and take over all remaining tasks. Each of these actions introduces a recourse cost.

To demonstrate recourse costs, consider the following (Fig. 3): given a routing plan, i.e. a solution to , vehicle will follow route , i.e. . Note that and , indicating the start and terminal node for vehicle . In the event of vehicle failing during edge , we assume the recourse costs to be . This describes the expected energy cost for a rescue vehicle to travel from its start to node and then to terminal , and another vehicle of the same type to travel from its start to task . The probability that the -th failure of vehicle occurs on edge is [1, 2]. Therefore, the expected recourse cost is given in (18), where is the recourse penalty coefficient.

Fig. 3: Recourse action. Dashed arrows stand for multiple edges and nodes in between. is of the same vehicle type as . is a rescue truck, taking the failed vehicle back to the repair plant. Usually , , , and are at the same location.

The SPR model minimizes the sum of the original cost and the recourse cost (19), subject to constraints (4)-(13). Note that the deterministic energy constraint (10) is preserved in the SPR model to balance the workload between vehicles. Without this constraint in the SPR model, some vehicles may be assigned to a long route and fail multiple times, while others are highly underutilized.


Iii Optimization Algorithms

The deterministic model is a mixed integer linear program (MILP) and can be solved by a number of off-the-shelf commercial solvers through branch and bound algorithms. This section will focus on the presentation of the algorithms used to solve the CCP and SPR models.

Iii-a Branch and Cut Algorithm for CCP Model

To solve the proposed CCP model, a branch and cut algorithm based on the one in [6] is used. Noticing that without the nonlinear chance constraint, the model becomes a MILP, it is solved with constraint (17) relaxed. The details are in Algorithm 1, where checkNonlinearConstraints() is a function that returns the set of violated constraints.

1Define problem with objective fcn (3) and constraints (ignore (17)) while True do
2        // Iteratively solve problem Solve problem and let be the solution. if  then
3               break // Return no solution
4       violations checkNonlinearConstraints((17)) if violations  then
5               Cut the solution by adding a linear feasibility cut (20) to problem // Solve it again
6       else
7               break // Return the solution
Algorithm 1 An Algorithm for the CCP Model

In (20), is the set of vehicles that violate constraint (17). Otherwise, if there is no violation, we obtain an optimal solution for the CCP problem, and stop the algorithm.


where and

Iii-B Integer L-shaped Algorithm for SPR Model

To solve the proposed SPR model, we propose an integer L-shaped algorithm similar to the one in [1], where a branch and cut algorithm operates on a relaxed problem in each iteration until completing a tree-structure problem list . Let the linear part (the first two sums) in (19) be , and let the nonlinear part (the third sum) be . For each , we add a new variable to represent its lower bound. Therefore, is the lower bound for . For a problem in the list, the objective function (21) is optimized instead of (19), i.e. is optimized instead of . During the iterations, the lower bound is tightened until and an optimal solution is found. The details are in Algorithm 2, where checkConstraints() and checkIntegerConstraints() are functions that return the set of violated constraints.

1Define problem with objective fcn (21) and no constraints , while  do
2        while True do
3               // Iteratively solve problem Solve and let be the solution if  then
4                      break // No solution for problem
5              if  then
6                      // The relaxed problem has a worse objective than the current best solution break // No need to explore more
7              violations1 checkConstraints((5)-(13)) if violations1  then
8                      Add one violated constraint to problem continue // Solve it again
9              violations2 checkIntegerConstraints((4)) if violations2  then
10                      Branch problem on a fractional variable into and Add both subproblems and into list break // Start to solve
11              // Now a feasible solution to the linear relaxation Compute based on if  then
13              if  then
14                      // A nonlinearly optimal solution to problem break
15              else
16                      Tighten the linear relaxation by adding an optimality cut (22) to problem continue
18        pop the last problem in list
Algorithm 2 An L-shaped Algorithm for the SPR Model

In line 25, we conclude that if , then the current solution minimizes the nonlinear objective function (19) given the feasible region defined by the constraints of problem . To prove this, let another feasible point and the corresponding objective values be . As the current solution is linearly optimal for problem and is a lower bound for , we have . Recall that , and therefore, .

Otherwise, if , we tighten the relaxation at line 29 by adding the optimality cut (22). The cut means, is tightened to if we obtain a solution where the current route or a route containing the current route is traveled. is the number of pairs in the set , i.e., the current route.

If the algorithm terminates with , then the solution associated with and is the optimal solution, otherwise, there is no feasible solution for the SPR model.


where and

Iv Uncertainty Model

For the optimization models in Sec. II, parameters and are manually defined. and can be obtained according to vehicle properties. can be estimated according to the task requirements. As we are considering off-road operations, we assume that is proportional to the path length between node and . In off-road operations, the edge energy cost, , is uncertain and needs further modeling.

In environments where the energy cost to traverse a unit length varies with respect to the position and is uncertain, the energy field can be modeled as a Gaussian process [14, 15, 16]. A Gaussian process is a collection of random variables with joint Gaussian distribution [17]. Based on a set of samples of the unit energy cost from sensor data (either collected online or from previous explorations), a Gaussian process map similar to Fig. 4 can be predicted.

Fig. 4: An example of a Gaussian process energy map. Each cell is a Gaussian variable that encodes the energy cost to travel a unit length. The red cells are obstacles. The black line is the minimum expected energy cost path between the green and red x’s.

Based on the energy map, we can use the A* algorithm [18] to calculate the minimum expected energy cost path [16] between task locations while avoiding obstacles. For example, if two tasks are at the green and red x’s in Fig. 4, we can evaluate the uncertain energy cost between the tasks by computing the black path and then the path cost.

Suppose the computed path contains ordered cell indices . Let the distance between two cells and be . Suppose the unit energy cost at cell follows distribution . Define . Define , and let the corresponding covariance matrix be . Then, for a specific vehicle, the stochastic cost to travel between two tasks, , is a Gaussian distribution, i.e. , and can be calculated according to (23) and (24).


V Experiments and Discussion

In this section, we evaluate the models and algorithms proposed in the previous sections. First, a series of computational experiments are conducted to show the performance of the deterministic, CCP, and SPR models with respect to various vehicle and task numbers, vehicle and task types, and energy uncertainty levels. Second, a practical problem is solved to show one possible application of the models.

The models and algorithms are implemented using GUROBI with the C interface. The experiments were done on a laptop with Intel i7-7660U CPU (2.50GHz).

V-a Computational Experiments

V-A1 Setup and Test Cases

The computational test focuses on the optimization models and algorithms; therefore, we assume the energy cost distributions of all edges are given. Suppose there are vehicles, tasks, types of capabilities, types of vehicles, and types of tasks. The tasks are distributed randomly in the region , and the vehicles’ start and terminal locations are identical and distributed randomly in the region . Suppose the travel distance for edge is , then the energy cost is assumed to be for the computational experiments, where and

are the hyper-parameters for the mean and standard deviation. By varying these hyper-parameters, we evaluate the performance of the three models and algorithms with respect to different problem sizes, uncertainty levels, and heterogeneity levels. The performance metrics used for evaluation include the value of the objective function and the computation time. For these computational experiments,

is fixed at and the vehicle energy capacity, , is set to for all vehicles unless further explained. The confidence level, , in the CCP model is set to for all vehicles. The recourse penalty coefficient, , in the SPR model is set to 1, which means the recourse costs are not weighted. The time penalty coefficient, , is set to 1 as well. Considering the order of magnitude for energy and time, this ensures that the energy cost is the primary optimization objective. When running the algorithms for the deterministic, CCP, and SPR models, the time limit is 500 seconds.

V-A2 Results and Discussion

The objective value and computation time comparison are shown in TABLES I-IV, with and indicating the energy cost and recourse energy cost, respectively. Note that for each row in these tables, we randomly generated 5 test cases with different task and vehicle locations, and report the mean performances. According to the result, the model can be solved to optimal within a few seconds when and . The computation time increases when the vehicle and task number increases. The algorithms are scalable to vehicle number, but not very scalable to task number. When , the largest that the program can handle is around 30 for the three models (depending on the specific problems). When more heterogeneity is introduced to the problem, the computation time becomes smaller (TABLE III). This is because heterogeneity within the vehicles and tasks introduces further constraints and limits the search space of the algorithms.

The standard deviation (uncertainty level) has a direct impact on the CCP model, as it directly scales the in (17). When the uncertainty is large or is set too high, the CCP model might return no solution. The uncertainty level has an implicit impact on the SPR model by influencing the expected recourse cost . According to TABLE IV, both CCP and SPR result in larger objective values with larger values because they switch to more conservative solutions (shorter routes with lower possibility to fail).

Deterministic CCP SPR
Time Time + Time
6 56215 0.1 57376 0.2 56726 57086 0.2
8 56199 0.2 57285 0.3 56627 56997 0.3
10 56161 0.3 57280 0.4 56597 56965 0.5
20 56093 0.9 56994 1.6 56566 56936 2.1
50 55875 5.1 56909 15.7 56344 56706 51.4
TABLE I: Objective value and computation time for different vehicle numbers . (=6, =2, =2, =3, =6.)
Deterministic CCP SPR
Time Time + Time
6 56215 0.1 57376 0.2 56726 57086 0.2
12 85139 4.6 85139 7.0 85142 85180 8.2
18 119078 41.2 121870 178.5 119078 119889 119.1
24 125941 305.6 123316 267.7 126209 126224 307.8
30 129041 500.0 128046 500.0 128793 128793 500.0
TABLE II: Objective value and computation time for different task numbers . (=6, =2, =2, =3, =6.) For , . The gray text means these two test cases are not solved to optimal (time limit is not the only termination criterion). The optimality gaps here are around 10%. This sub-optimality leads to the reversed order of , e.g., for the order is CCP SPR Deterministic.
Deterministic CCP SPR
Time Time + Time
1 108029 19.1 109930 30.8 108056 108646 24.2
2 85638 0.3 86231 0.3 85641 85893 0.3
4 80014 0.3 81639 0.5 80331 80516 0.5
6 77106 0.1 78087 0.1 77273 77416 0.1
TABLE III: Objective value and computation time for different number of task types . (=6, =6, =3, =3, =6.)
Deterministic CCP SPR
Time Time + Time
3 56215 0.1 56726 0.1 56726 56755 0.1
6 56215 0.1 57376 0.2 56726 57086 0.2
9 56215 0.2 58223 0.3 56888 57569 0.2
12 56215 0.1 58223 0.2 57611 57931 0.3
15 56215 0.1 59027 0.3 57611 58124 0.3
TABLE IV: Objective value and computation time for different uncertainty . (=6, =6, =2, =2, =3.)

Comparing the results of the CCP and SPR models in the four tables, the SPR model leads to lower costs than the CCP model even if the recourse cost is considered. This shows the potential for over-conservatism with the CCP model.

V-B Practical Problem Application

V-B1 Setup and Test Case

In this section, the CCP and SPR models are applied to a practical test case to evaluate the feasibility for practical applications. Consider an explore and breach mission in an area with forests and fields, consisting of multiple scout, breach, and material transport tasks. These tasks are independent of each other and there is no specific time requirement, except that a task can only be initiated when all the vehicles in the team arrive. The goal is to form vehicle teams to complete all of the tasks and finish the mission with the lowest expected travel energy cost. The capabilities, vehicles, and task sets are modeled as follows.

Capability set . : scout capability; : move fast; : transport materials; : move quietly; : shoot smoke; : break barriers; : clear mines; : armor.

Vehicle set . In total, there are 18 vehicles distributed from 6 types of vehicles -. The number of vehicles per type is chosen based on task requirements. The following provides detailed descriptions for each vehicle; note that the brackets describe the actual reference vehicles. : armed vehicle (high mobility multipurpose wheeled vehicle, HMMWV), a fast vehicle that can carry materials and has mounted guns. : scout vehicle (MRZR), a fast, light, unarmored vehicle that can travel nearly silently. : tank (M1A2 abrams), a large main tank with heavy armor. : stryker (M1126 stryker), a combat vehicle with medium armor. : earthmover (M9 combat earthmover), a vehicle that breaks barriers. : minesweeper (M160 mine clearance system). The vehicle capability vectors are defined accordingly in TABLE V.

: Armed vehicle 1 1 1 0 0 0 0 1
: Scout vehicle 1 1 0 1 0 0 0 0
: Tank 0 0 0 0 0 0 0 20
: Stryker 0 0 0 0 1 0 0 5
: Earthmover 0 0 0 0 0 1 0 0
: Minesweeper 0 0 0 0 0 0 1 0
TABLE V: Vehicle capabilities: Each row is a vector, for .

Task set . scout: move towards the target location quickly and identify enemy forces. quiet scout: in addition to the requirements for , the vehicle team needs to move quietly in order to not be noticed by enemies. smoke cover: use smoke to cover breach points. lane creation: clear mines, remove barriers, and create secured lanes. breach: breach barriers and enemies. enemy push back: use heavy fire to push enemies back. materials transport. The task - are the same as - respectively. The task requirement functions are defined in (25). Note that if , then is abbreviated to , for all capabilities .


For the ground truth map, we randomly generate a map (size: ) in region , with the cell values jointly Gaussian distributed. The underlying co-variance matrix is generated according to the Gaussian process method in [15] using a 2-dimensional squared exponential kernel. This map is generated to be the ground truth energy map for a 1-ton vehicle and scaled by the weight of the 6 vehicles, i.e. [2.36, 0.879, 61.3, 19.0, 24.4, 10.0] tons. The vehicles’ energy capacities are set to the following values proportional to their fuel tank size, = [25.0, 7.25, 500, 160, 134, 80.0]. The ratio is chosen to limit some of the long routes generated when optimizing without energy constraints. The task locations are generated randomly and the start and terminal locations are set to the map center.

To evaluate the energy cost, we take 100 randomly distributed samples in the ground truth map, and estimate a Gaussian process map according to Sec. IV. In practice, this sampling process should be done by scout vehicles through sensors. We scale the map value by weights to get the map for the 6 types of vehicles. With the maps, we can then generate the energy edge costs and uncertainties for the three models.

For the optimization, as time is not the primary consideration of this paper, we set the travel time between any two nodes as 1, and set the service time that each vehicle needs to spend at a task also as 1. This means, any travel or service takes 1 unit time. As there are no additional time requirements for the tasks, the schedule for a vehicle is based on energy cost minimization. The time penalty coefficient is set to 1. The confidence level in the CCP model is set to for all vehicles. The recourse penalty coefficient in the SPR model is set to 1.

(a) Ground truth energy map.
(b) Gaussian process map.
Fig. 5: Energy maps. The red blocks are obstacles.

V-B2 Results and Discussion

The ground truth and estimated energy maps are shown in Fig. 5. The mean and maximum errors of the estimation are 1.13 and 9.29. The randomly generated task locations are shown in Fig. 5(a).

The team selection, vehicle routes, and schedules are generated. The CCP and SPR models select the same team configurations for all the tasks (TABLE VI). Differences in the routes show that CCP generates more conservative and balanced plans than SPR. For instance, three in the CCP plan are used to complete the same number of tasks as compared to two in the SPR plan. The CCP routes are shorter as can be seen in Fig 6.

The objective values are , , and . The computation times are 28.4 and 70.6 seconds, respectively, for CCP and SPR. The small recourse cost is due to the small possibility that a failure occurs. This is a sign that the CCP model might result in over conservatism.

From the team selection in TABLE VI, we see that for all of the tasks, the requirements are fulfilled. For both models, two rather than one are chosen for due to the lower weight (unit energy cost) of . However, though is heavier than , it is used for because of routing issues.

, , , ,
, ,
TABLE VI: Vehicle teams for each task. The vehicle types in teams for tasks - are the same as -.

By comparing task locations in Fig. 5(a), we see the algorithm tends to allocate the tasks that are close to each other in the map to the same set of vehicles, which is an expected behavior to reduce the total energy cost. For example, in Fig. 6e-f, is grouped with rather than or .

(a) Task distribution.
(b) CCP: route of the first .
(c) CCP: route of the second .
(d) CCP: route of the third .
(e) SPR: route of the first .
(f) SPR: route of the second .
Fig. 6: Planned vehicle routes.

As a whole, the results show that globally, the program is optimizing the routing plan considering spatial distribution, heterogeneity, and uncertainty simultaneously, while locally, the decision of one single task or vehicle might be dominated by a few factors, such as weight and task locations in previous examples.

Vi Conclusions and Future Work

We present an optimization framework that deals with the heterogeneous vehicle teaming problem with uncertain travel energy costs. The vehicle and task heterogeneity are encoded as constraints in the program. The energy uncertainty in the environment is first captured by a Gaussian process map and then turned into Gaussian distributed path costs. The uncertain path costs are either used to form probabilistic constraints in a CCP model or additional recourse costs in an SPR model. We use two branch and cut algorithms to solve the proposed stochastic programs.

Extensive computational experiments are conducted to evaluate the problem size and heterogeneity level range that the algorithm can handle, as well as the typical behaviors of the CCP and SPR models under different uncertainty levels. An explore and breach mission is shown to demonstrate one practical application of the algorithm. Results show that our algorithms can handle problems with up to 30 heterogeneous tasks and 50 heterogeneous vehicles, given the time limit is 500 seconds.

In future work, we intend to model other uncertainty categories (e.g. time uncertainty) such that the plan is robust to multiple uncertain factors in the environment. Additionally, we aim to implement and validate the proposed framework on real vehicle systems.


DISTRIBUTION A. Approved for public release; distribution unlimited (OPSEC 4396). This research has been supported by the Automotive Research Center.


  • [1] G. Laporte, F. V. Louveaux, and L. Van Hamme, “An integer l-shaped algorithm for the capacitated vehicle routing problem with stochastic demands,” Operations Research, vol. 50, no. 3, pp. 415–423, 2002.
  • [2] J. E. Mendoza and J. G. Villegas, “A multi-space sampling heuristic for the vehicle routing problem with stochastic demands,” Optimization Letters, vol. 7, no. 7, pp. 1503–1516, 2013.
  • [3] N. Secomandi and F. Margot, “Reoptimization approaches for the vehicle-routing problem with stochastic demands,” Operations research, vol. 57, no. 1, pp. 214–230, 2009.
  • [4]

    Y. Marinakis, G.-R. Iordanidou, and M. Marinaki, “Particle swarm optimization for the vehicle routing problem with stochastic demands,”

    Applied Soft Computing, vol. 13, no. 4, pp. 1693–1704, 2013.
  • [5] K. Sundar, S. Venkatachalam, and S. G. Manyam, “Path planning for multiple heterogeneous unmanned vehicles with uncertain service times,” in International Conference on Unmanned Aircraft Systems (ICUAS), 2017, pp. 480–487.
  • [6] L. Chen, M. H. Hà, A. Langevin, and M. Gendreau, “Optimizing road network daily maintenance operations with stochastic service and travel times,” Transportation Research Part E: Logistics and Transportation Review, vol. 64, pp. 88–102, 2014.
  • [7] X. Li, P. Tian, and S. C. Leung, “Vehicle routing problems with time windows and stochastic travel and service times: Models and algorithm,” International Journal of Production Economics, vol. 125, no. 1, pp. 137–145, 2010.
  • [8] A. Gómez, R. Mariño, R. Akhavan-Tabatabaei, A. L. Medaglia, and J. E. Mendoza, “On modeling stochastic travel and service times in vehicle routing,” Transportation Science, vol. 50, no. 2, pp. 627–641, 2016.
  • [9] R. A. Russell and T. L. Urban, “Vehicle routing with soft time windows and erlang travel times,” Journal of the Operational Research Society, vol. 59, no. 9, pp. 1220–1228, 2008.
  • [10] S. Venkatachalam, M. Bansal, J. M. Smereka, and J. Lee, “Two-stage stochastic programming approach for path planning problems under travel time and availability uncertainties,” arXiv preprint arXiv:1910.04251, 2019.
  • [11] 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.
  • [12] D. Haugland, S. C. Ho, and G. Laporte, “Designing delivery districts for the vehicle routing problem with stochastic demands,” European Journal of Operational Research, vol. 180, no. 3, pp. 997–1010, 2007.
  • [13] E. Solano-Charris, C. Prins, and A. C. Santos, “Local search based metaheuristics for the robust vehicle routing problem with discrete scenarios,” Applied Soft Computing, vol. 32, pp. 518–531, 2015.
  • [14] M. Quann, L. Ojeda, W. Smith, D. Rizzo, M. Castanier, and K. Barton, “An energy-efficient method for multi-robot reconnaissance in an unknown environment,” in American Control Conference (ACC).   IEEE, 2017, pp. 2279–2284.
  • [15] ——, “Ground robot terrain mapping and energy prediction in environments with 3-d topography,” in American Control Conference (ACC).   IEEE, 2018, pp. 3532–3537.
  • [16] ——, “Chance constrained reachability in environments with spatially varying energy costs,” Robotics and Autonomous Systems, vol. 119, pp. 1–12, 2019.
  • [17] C. K. Williams and C. E. Rasmussen,

    Gaussian processes for machine learning

    .   MIT press Cambridge, MA, 2006, vol. 2, no. 3.
  • [18] I. Pohl, “The avoidance of (relative) catastrophe, heuristic competence, genuine dynamic weighting and computational issues in heuristic problem solving,” in

    International Joint Conference on Artificial Intelligence (IJCAI)

    , 1973, pp. 12–17.