Aircraft structure assembly is a large-scale manufacturing process with many repeated subprocesses that naturally lend themselves to automation. Using multiple robots to work cooperatively offers a means of increasing the production speed, and hence, multi-robot systems (MRSs) have been widely studied in manufacturing applications [1, 2, 3]. Here, we consider the efficient scheduling of such an MRS during the assembly of large aircraft structures (e.g. wing, fuselage, etc). The system comprises multiple stationary robotic manipulators with limited but overlapping reach.
To maximize the production output, the MRS must make efficient utilization of all the robots by minimizing their idle times and travel costs . Reduced idle time and travel cost have significant payoffs in increasing aircraft production rates, since the benefit extends to a large number of the structural components and manufacturing processes such as drilling, fastening, trimming, and painting. For stationary robots, the idle time is governed by uneven workload distribution among the robots. Therefore, suitable task allocation is of primary concern, followed by appropriate task scheduling for minimal travel cost. Scheduling is further constrained by the need to avoid damaging inter-robot collisions. Another major challenge is the intermittent failures caused by robot calibration and communication errors, or end effector breakdowns that require a robot to be pulled out of operation for repairs. This typically necessitates real-time reallocation of the tasks  that are leftover during the repairs. Hence, a multi-robot system’s efficiency depends not only on how well the scheduling algorithm is able to evenly distribute and schedule the tasks, but also on fast computation and the ability to prevent frequent rescheduling.
In this letter, we present a scheduling method that leverages the structure of the problem and workpart geometry to allocate the tasks among multiple robots. Specifically, we develop a dual-stage scheduling approach, where a conflict-free, balanced nominal schedule is first generated that avoids the need for immediate rescheduling after failure instances. In the second stage, the tasks leftover during the failures are reallocated using a market-based optimizer to enable efficient, collision-free cooperation. We test our method on a wing skin attachment problem involving drilling of approximately 2000 holes by four robotic arms, and report very promising results. Therefore, our main contribution is a fast MRS scheduling method that is useful for a variety of repetitive aerospace manufacturing processes.
The rest of this letter is laid out as follows: Section II reviews related work on multi-robot scheduling techniques, and Section III sets up the problem. Sections IV and V develop the nominal and leftover scheduling methods, respectively. The results and conclusions are given in Sections VI and VII, respectively.
Ii Related Work
Multi-robot task allocation (MRTA) is often formulated as a multiple traveling salesman problem (mTSP) , a variant of the NP-hard traveling salesman problem (TSP), for which the branch and bound paradigm is commonly used to generate optimal solutions 8] and mixed integer linear programs (MILPs) . For example, a Monte Carlo tree search-based heuristic was used in conjunction with the branch and bound algorithm to yield near-optimal robot task allocation for 100 tasks within an hour . A MILP approach was used in  to experimentally produce near optimal schedules for 10 robots and 500 tasks in 20 seconds, and also in  for near-optimal mobile robot task planning in less than 100 seconds. Although these approximate optimization methods provide reduced computation times, fast near-optimal task allocation is still quite challenging for a large number of tasks. Hence, they are not particularly suitable for our problem.
Market or auction based methods, which are somewhat less computationally demanding, are commonly used for decentralized/distributed MRTA, especially where inter-agent communication and consensus is limited , . These methods have seen significant success in multiple mobile robot system (MMRS) task allocation, especially for unknown region exploration [14, 5, 15, 16]. Auction based approaches are well suited for dynamic tasks and environments, and benefit from the ability to distribute the computational burden among the agents. However, they often produce less optimal solutions than the fully centralized optimization approaches . Recent efforts have focused on improving the optimality of the solutions. For example, Korsah et. al.  seeded their market based method with pre-computed optimal schedules of static tasks, which, however, could be computationally expensive for large scale problems. Task cluster allocation was also shown to have promising results in improving the workload balance in . However, it also led to increased computational complexity due to the necessity to bid on all the cluster combinations.
Therefore, similar to the centralized optimization methods, the main challenge is that improved solution quality often comes at the cost of increased computation times for large scale problems as in the current application. We address this challenge by employing a market-based method as a schedule refinement technique on a smaller scale problem defined by the leftover tasks, instead of using it to directly solve the full scheduling problem. In particular, our method exploits a schedule placement technique similar to the one used in , where optimal placement of the task within the schedule helped inform bids and increased solution optimality.
We also use a graph partitioning method, commonly used in high performance computing research, for nominal scheduling. Partitioning techniques are not as commonly used for MRTA as centralized optimization or market-based approaches, but they are shown to have direct benefits in solving task allocation problems with favorable scaling properties in . Moreover, partitioning has shown effectiveness in fair global task subdivision for heterogeneous robot teams , as well as enabling quicker convergence for workload division in multi-robot exploration . Our work extends these partitioning methods to the structured nature of aircraft assembly problems for equitable work distribution. We build upon these methods by using them not only for equal task allocation, but also to enable de-conflicted task scheduling.
Iii Problem Formulation
We consider the class of manufacturing problems where pairs of homogeneous, stationary robots perform discrete assembly tasks on a work part, where . Since task allocation of any robot inherently depends on the schedules of all the other proximate robots in order to avoid collisions, this class of problems best fits in the single-task robots, single-robot tasks, time extended assignment with cross-schedule dependencies (XD[ST-SR-TA]) category of problems in the MRTA taxonomy . The robots are situated about the part along opposing pairs. The reach of each robot is limited to a subset of tasks but overlaps with the reach of the adjacent and opposite robots. This arrangement, shown in Fig. 1, defines an axial direction that is leveraged for task scheduling in the next section.
Aircraft assembly often has variability in its tasks from airplane to airplane that arises from components that are missing or, for some reason, are omitted from the part. The definitions for exactly which tasks need to be completed on a given part are referred as the condition of assembly (COA). This variability drives the need to generate task schedules for every instance of every part. In addition, the robots experience intermittent failures that require in-process repairs. These failures have known occurrence frequency and repair time distributions, and need to be addressed by the scheduling approach to preclude collisions or excessive idling.
Iii-a Schedule Efficiency Metric
Here, we introduce the MRS schedule efficiency metric as
where is the minimum possible time for all the robots to complete all the tasks and is the time that the robots actually take. We assign to be the sum of the service times of all the tasks, and to be the sum of the failure repair times for all the robots, split evenly among all the robots. Repair time does not penalize efficiency as the robots are not capable of doing work during this time. This gives the expression
For the current application, travel time between the tasks is significantly less than the task service time. So, we include an approximated travel time in each and do not consider it separately in our formulation. We use to denote the time the last-to-finish robot takes to complete its allocated tasks, which is the sum of the total service time of its tasks and its repair time , expressed as,
We evaluate task schedules using this efficiency metric.
Iv Conflict-Free Nominal Scheduling
This section outlines the proposed nominal scheduling method. For opposing robot pairs, we designate the service time for the -th pair as , and further distinguish the top and bottom robot service times as and , respectively.
Iv-a Fair Partitioning
Our method makes three assumptions, which are typical for aerospace assembly applications:
The task distribution uniformity allows the workpart to be divided into regions along the axial direction with equal service time , each assigned to a robot pair, assuming no failure occurrence.
Each opposing robot pair is placed such that the tasks in its assigned region can be assigned evenly between the two robots () into top and bottom regions as illustrated in Figure 1.
The robots have equal work completion rates and, consequently, equal axial traversal rates .
By Assumptions 1 and 2, we use partitioning to achieve equitable task allocation among all the robots and minimal idle cost, resulting in partitions, each one assigned to a different robot. We employ a pairwise optimization method as in  for partitioning. An example partitioning of the work part is shown in Figure 1.
Iv-B De-conflicted Offset Scheduling
The partitioned work is scheduled by sequencing all the tasks in every partition in the same axial direction and offset the start locations of all the robots on one side (top or bottom) of the work part as shown in Figure 2111This is feasible only if the task ordering constraints do not prevent axial sequencing.. We denote the offset and non-offset robots as top and bottom robots (as in Figure 2), respectively, but either the top or bottom robot can be offset in practice. The robots with offset start locations return to finish the rest of the work in their respective partitions using the same axial sequencing when they reach the partitions’ ends, as shown in Figure 2. For the -th offset robot, , we designate the offset location as a distance from the start of its partition, which defines a distance to the end of its partition, as in Figure 2. These have traversal times (time to complete the work) and , respectively.
Our first claim is that the offset task scheduling, subject to the following two constraints, ensures safety, i.e., collision free operation. Safety is specified by the spatial proximity constraint that requires the distance between the end-effector positions (task locations) of any two robots to be at least at all times, where is the diameter of the end-effectors and is a safety factor.
Constraint 1: We constrain and to be larger than the proximity constraint:
Constraint 2: We constrain the offset of such that the time it takes to reach the end of its partition, , is greater than that of , for :
The first constraint ensures that each robot has sufficient spatial separation from its opposite and adjacent robots at the start of the operation. Note that this constraint also implicitly limits the length of any partition to be no less than , and, consequently, limits robot density. The second constraint ensures that returns to the beginning of its partition before does, which precludes collision when returns. These two constraints allow collision-free operation because Assumption 3 ensures that the robots have equal axial traversal rates, and, thus, the spatial proximity constraint is not violated.
In practice, variable task service times and COAs with missing tasks can cause the axial traversal rate of a robot to fluctuate during operations. Our second claim is that Assumption 3 can be relaxed to allow for variation in the axial traversal rate and still preserve the collision-free nature of the nominal schedule, provided that the maximum variation in the traversal rate is small, and the constraint inequalities in (7) and (8) are satisfied. This follows from the fact that the distance between the -th non-offset robot and the previous offset robot can decrease at the maximum by in time where is the maximum difference in the traversal rates of the two robots. Then, collision between and can be avoided (before returns to the beginning of its partition) by ensuring that the distance is sufficiently large, i.e.,
where is the initial distance between them. Similarly, collision between the -th non-offset robot and the next offset robot is avoided (before returns to the beginning of its partition) provided
We also avoid collision between and after returns to the beginning of its partition, as in Figure 2. When returns, the distance between the two robots, which is initially at least , needs to satisfy
for time If the variation in the axial traversal rate is small, then the inequalities in (7), (8), and (9) are satisfied because (i) their left hand sides approach the spacing between the robots (, and ), which are sufficiently large from Constraint 1; (ii) the time is finite and bounded by the maximum service time; and (iii) the minimal distance . Thus, the above analysis shows the existence of a collision-free nominal schedule if the maximal variation in the axial task execution rate is not too large.
Iv-C Schedule Execution and Failure Handling
To maintain the collision-free nature of the nominal schedule, a robot returning from maintenance after a failure occurrence returns to the place in its schedule where it would have been had no failure occurred. This requires the robot to skip some of it’s work to be dealt with after the nominal schedule is completed. The leftover tasks are then reallocated among the robots, and is completed after the nominal schedule is done.
V Leftover Scheduling
In this section, we present the leftover scheduling method and task reallocation algorithm. For workload rebalancing to be possible, we guarantee that all the robots have leftover tasks in areas of overlapping reach with at least one other robot by omitting a subset of tasks in the region of overlap from the nominal scheduling and relegating them to the leftover scheduling. Our approach first constructs a conflict-free leftover schedule that is not necessarily balanced, and then uses a market-based algorithm to balance the workload and optimize the schedule. It is necessary for the initial schedule to be conflict free because we can then constrain the algorithm to reallocate the tasks without introducing collisions. To simplify the construction and refinement of the leftover schedule, the adjacent tasks are grouped into larger portions of work, referred to as cities (as in the TSP formulation). The reduction of problem complexity decreases computation time (scheduling cities rather than individual tasks) at the cost of efficiency. This trade-off is discussed more in Section VI.
V-a Initial Leftover Scheduling
We construct the initial scheduling by modifying the partitioning and offset-scheduling method used for nominal scheduling to ensure that the decreased uniformity in leftovers does not cause collisions. For this purpose, we use the overlap region between the robot pairs with width , and extend part of the robots’ partitions over the width of this region, the part of the ’s partition, and the part of partition, as shown in Figure 3. Note that this region should contain sufficient number of tasks relegated from the nominal schedule such that the maximum deviation in the axial traversal rate is sufficiently small in the extended regions even in the presence of leftovers.
We claim that the offset-scheduling method results in a collision-free initial leftover schedule, provided: (i) the robots are able to reach the tasks in the overlap region; (ii) the spacing constraint in (5) is satisfied; (iii) the time that takes to service the extended part of its partition is not more than the time that takes to service its extended part, i.e., ; and (iv) the partitioning is such that the service times of the extended parts increase along axial direction, i.e., to ensure that the constraint in (6) is satisfied. The claim follows since both robots, and , do not move to their second non-extended regions (shown as the gray regions in Figure 3) before they complete the tasks in their extended regions. Note that the distance between the robots in the extended regions can be shown to remain sufficiently large, using arguments similar to those in inequalities (7) and (8), provided the variation in the axial traversal rate is sufficiently small. Moreover collisions are avoided when the robots are in the gray (non-extended) regions since the overlap distance is larger than .
V-B Market-Based Optimization Algorithm
The schedule optimization algorithm uses a market based method to re-balance and reschedule the leftover cities in the initial leftover schedule in order to reduce idle cost. We have cities, robots, , and a corresponding schedule matrix , where is the schedule of robot . Note that and
from the previous section, since we do not need the distinction between the top and bottom robots for the market-based method. The vectorcontains cities , denoting that city is serviced by robot and that it is the -th city services (has placement in ); each contains elements, of which the first are non-zero cities. We take as either the smallest number of the lowest service time cities it takes to exceed an equal workload, or the number of cities in the schedule with the most cities, whichever is larger. City has service time ; all the cities must be in S for the schedule to be complete. We define the time it takes robot to complete its schedule as for all in .
In our market, robot is looking to sell a city in its schedule to any robot . The seller is a robot who most wants to sell one of its cities, and, likewise, the buyer is a robot who most wants to buy that city, and an agent’s desire to buy or sell is proportional to the agent’s deviation from an equal workload distribution, measured by a robot’s utility. For robot , , and the utility vector contains the utilities of all the robots. The price at which any robot wants to sell a city in its schedule is determined by the service time of (normalized by the maximum city service time ). The price matrix P consists of row vectors of price, one for each robot , and each price vector contains elements, where each element is the price of city if is in , otherwise . Note that the price of a city is independent of its placement in ’s schedule . The city most desired to be sold, and consequently its seller, is chosen on a basis of margin, which we define as . Here, is a weighting factor that is used to bias the sellers to be more concerned with the utility than price, a similar market biasing approach as used in  for increasing optimality. From the margin matrix M, the best seller and best city to sell is found based on the maximum margin, and , respectively.
Once the best seller and the desired city to sell is chosen, a set of candidate buyers is chosen on the basis of which robots have the ability to service . Ability in our case is determined by whether is in ’s reach, and is 1 if it is, 0 if it is not. Each candidate buyer is then checked to see if the maximum margin value resulting from proposed transaction, , is greater than the current , and is disqualified from the candidate set if . For each buyer in the candidate buyer set, the proposed transaction (resulting in proposed utility, price and margin matrices, , ,
) is evaluated by the reduction in the standard deviation of the utility vector,, and the best buyer is chosen to be the one whose transaction will yield the highest reduction in the standard deviation of the utility vector, . We minimize the spread in utility to minimize the imbalance in work distribution. Once the best buyer is chosen, is placed in every placement of ’s schedule , and a minimum distance between any two robots at any time for the entire schedule S is determined for each placement of in . The best placement for in is chosen as the one with the max minimum distance, . The pseudo-code for the method is provided in Algorithm 1.
If the largest minimum distance is greater than the collision threshold, sells to and inserts in placement , yielding the maximum geometric separation of the robots during the whole schedule. If is less than the collision threshold, we choose the next best buyer (based on next highest ), and proceed to check all the placements of in the new buyer’s schedule. This ensures no collisions are introduced into the schedule. If no suitable buyers are available for , the next highest margin is found (resulting in a new city and seller), and the process for selling the city is repeated. This is done until a city is sold, or until all the margins, , are chosen and checked for potential buyers222This guarantees the convergence of Algorithm 1.. If no sale happens, no further optimization is possible. We run this algorithm on the initial leftover schedule.
Vi Implementation and Results
To demonstrate the performance of our method, we present experimental results for an aircraft wing hole drilling problem using various COAs and failure cases. Since generating good-quality schedules quickly is especially important, we evaluate the method’s performance using both schedule efficiency and computation time. We also compare our method with a simple TSP scheduler by implementing a baseline greedy method, as in , that uses the same scheduling framework (nominal scheduling and leftover task rescheduling) as our method.
We considered the problem of drilling holes in a section of an aircraft wing box by four robots situated around the wing We used an example aircraft wing featuring 15 ribs and three spars. Each spar consisted of 266 holes, while the ribs contained 109, 107, 105, 101, 99, 95, 93, 91, 87, 85, 83, 79, 77, 73, and 71 holes, respectively. Rib hole drill (service) time was set to 30 s per hole for the largest rib, and then decremented by 0.5 s for each successive rib (e.g., 29.5 s per hole for the next largest rib, 29 s per hole for the one after that, and so on). Every spar section between any two adjacent ribs was assigned the same hole drill time as that of the longer rib. We used and as the parameters in our methods, and was 2 ft. The example wing is shown in Figure 4.
All the scheduling methods were implemented in MATLAB R2016b on a quad-core Core i7-4870HQ machine with 16 GB of RAM running Windows 10. We validated the results on a physical robot cell featuring four ABB IRB-120 arms positioned about a miniature aluminum mock wing built according to the dimensions shown in Figure 4. This setup is a 15% scale version of a feasible manufacturing setup for drilling a full-sized, real aircraft wing. The wing is raised from the floor on an aluminum T-frame that holds plexi-glass shields. The robot controllers, situated on the floor beneath the robots, are collectively directed via the cell control software. The physical cell is shown in Figure 5.
The cell control software was responsible for synchronized starting of the robots’ programs, as well as keeping track of each robot’s schedule and feeding hole targets to the controllers (each controller always had the next three targets). It also monitored the synchronization of the robots with each other, and determined how many holes were relegated to the leftovers for the robots returning from failures. The program was implemented in C# using the ABB PC SDK 6.07 on a quad-core Core-i5 6400 machine with 8 GB of RAM, and communicated with the robot controllers via Ethernet UDP through a network switch. A redundant collision monitoring system used streaming robot position data to reconstruct simple 2D shapes representing the robots with the desired safety margins, and checked for intersections among the shapes. This was implemented using Python 3.7 and ran on a separate machine with the same specifications.
We evaluated both the methods using five different COA cases with 100 failure instances for each COA case, leading to a total of 500 test scenarios. The COA cases were generated to have gradually more components missing from the COA (inadvertently omitted parts from the drilling process, as typically seen in the industry), with the first case being the full wing with no missing component (generic COA case).
The failure instances were generated for each robot by randomly drawing a first occurrence time, recurrence time, and repair time from normal distributions. The means and standard deviations of the distributions were determined using a nominal value of how many holes ainch drill bit would last in aluminum and an average drill bit replacement time. These were taken to be 300 holes and 8 minutes, respectively. Table I outlines the distribution parameters used for the generation of failure instances. Note that first occurrence time is lower than the recurrence time, accounting for the possibility of first failures occurring earlier if drill bits are not replaced from a previous drilling operation. These parameters resulted in an average of 45 leftover cities per test scenario, each containing between two and 16 holes.
|First Occurrence||5073 s||1602 s|
|Recurrence||6942 s||1068 s|
|Repair Time||480 s||80 s|
Performance improvement: Figure 6 compares the efficiency of our method to that of the greedy scheduler, where we observe about 98% efficiency on an average with our method. For every COA case, our method generates more efficient schedules than the greedy scheduler, with the efficiency increasing by about 13% on an average. This result is especially promising for high volume airplane assembly lines as 13% improvement on a five-hour wing skin attachment lead time results in a 40 minute saving. We also observe that our method yields significantly more consistent schedule efficiency across the COA cases (all the values are within 0.5% of each other) as compared to the greedy method (the values vary by as much as 12%). This trend indicates that our method is not affected by non-symmetric task distribution as much as the greedy scheduler.
Impact of market-based optimization: To characterize the impact of the market-based optimizer, we compare it with the partition-based scheduler without leftover optimization. We observe that the partition-based scheduler still outperforms the greedy method significantly, even in the absence of optimization. The market-based optimizer, however, improves the schedule efficiency by about 2% on an average, from 96% to 98%. This improvement is quite substantial when implemented across multiple processes for a high-flow aircraft production line. The results in Figure 6 are grouped by COA case333The inferior performance of the greedy method on COA 2 is a result of a rib missing from this COA, causing the robots to move toward each other, leading to long wait times in their schedules., and are summarized in Table II.
|Avg. (Proposed)||98.5% 0.92%|
|Avg. (Greedy)||85.0% 4.27%|
Computation time: Figure 7 compares the computation times of both the methods, and shows them both to be competitively low. The greedy method has lower computation times, which is expected since the greedy scheduler is computationally simpler, the difference being about 18 ms on an average. Even so, our method solves the scheduling problem in 122 ms on an average, and has a maximum computation time of only 300 ms. In practice, this would allow an industrial MRS to start drilling almost immediately. The computation time results in Figure 7 are grouped by COA case, and are summarized in Table III.
|Avg. Comp. Time (Proposed)||122.5 37.3 ms|
|Max. Comp. Time (Proposed)||300.5 ms|
|Avg. Comp. Time (Greedy)||104.9 21 ms|
|Max. Comp. Time (Greedy)||170.31 ms|
Effect of discretization: The discretization of the leftover tasks into cities reduces the resolution of the problem, and decreases the potential for finding a perfect workload balance among the robots. Consequently, none of our experiments yield an efficiency of 100%. This coarsening of the resolution, however, makes the initial scheduling and subsequent leftover optimization problems smaller by an order of magnitude (40 cities versus 400 holes). Therefore, it enables competitive computation time to that of the greedy scheduler, but still yields significantly higher schedule efficiency. The value of fast leftover optimization is expected to become more pronounced when the size of the problem is increased, as, for example, when we have more than 10 robots on a full-sized wing.
Failures during leftover scheduling: Our method assumes that no failures occur during the execution of the leftover schedule. While this assumption holds true when the amount of leftovers is small, the risk of incurring a failure in the leftover stage grows as the accumulation of failures increases. The possibility of failures occurring during the leftover schedule execution can be largely precluded by performing preventive maintenance just before the execution of the leftover schedule. The limit for the amount of leftover work is then driven by the failure recurrence distribution.
In this letter, we adapt partition-based task scheduling to the multi-robot task allocation problem for the assembly of aircraft structures. Our method takes advantage of known problem structure for efficient, collision-free task scheduling, and employs a dual-stage schedule execution strategy to handle robot failures. We present a market-based optimization algorithm to help recover the efficiency lost due to the robot failures. Results show that our method produces high schedule efficiencies and favorable computation times as compared to a greedy method, and works well on a physical four robot assembly cell. Since aircraft assembly processes are generally well structured problems, our methods are adaptable to suit a wide variety of aircraft components. We, therefore, believe that our methods provide a promising foundation for general multi-robot aircraft assembly. Further extensions of this method would investigate the possibility of dynamic city definitions for leftover scheduling, as well as the effects of increasing the occurrence frequency and repair time of failures. In the future, we also plan to deal with task ordering constraints, as, for example, those introduced by tool changes to drill holes of different diameters.
-  I. Landa-Torres, J. L. Lobo, I. Murura, D. Manjarres, and J. D. Ser, ”Multi-objective heuristics applied to robot task planning for inspection plants,” in IEEE Cong. Evol. Comput., 2017, pp. 1621-1628.
M. G. Filho, C. F. Barco, and R. F. T. Neto, ”Using genetic algorithms to solve scheduling problems on flexible manufacturing systems (FMS): A literature survey, classification and analysis,”Flex. Serv. Manuf. J., vol. 26, no. 3, pp. 408-431, Sep. 2014.
-  A. Viharos and I. Nemeth, ”Simulation and scheduling of AGV based robotic assembly systems,” in IFAC Symp. Inf. Control Problems Manuf., 2018, pp. 1415-1420.
-  M. Elango, S. Nachiappan, and M. K. Tiwari, ”Balancing task allocation in multi-robot systems using -means clustering and auction based mechanisms,” Expert Syst. Appl., vol. 38, no. 6, pp. 6486-6491, Jun. 2011.
-  S. Sariel and T. Balch. ”Real time auction based allocation of tasks for multi-robot exploration problem in dynamic environments,” in AIAA Workshop Integrating Planning Scheduling, 2005.
-  A. Khamis, A. Hussein, and A. Elmogy, ”Multi-robot task allocation: A review of the state-of-the-art,” Cooperative Robots and Sensor Networks. A. Koubâa and J. R. M. Dios, Eds. Cham, Switzerland: Springer-Verlag, May 2015, pp. 31-51.
-  J. Clausen, ”Branch and bound algorithms-principles and examples,” Parallel Comput. Optimization, 1999, pp 239-267.
-  M. Gini, ”Multi-robot allocation of tasks with temporal and ordering constraints,” in AAAI Conf. Artif. Intel., 2017, pp. 4863-4869.
-  K. E. C. Booth, T. T. Tran, G. Nejat, and J. C. Beck, ”Mixed-integer and constraint programming techniques for mobile robot task planning,” IEEE Robot. Autom. Lett. vol. 1, no. 1, pp. 500-507, Jan. 2016.
-  B. Kartal, E. Nunes, J. Godoy, and M. Gini, ”Monte Carlo tree search for multi-robot task allocation,” in AAAI Conf. Artif. Intel., 2016, pp. 4222-4223.
-  M. C. Gombolay, R. J. Wilcox, and J. A. Shah, ”Fast scheduling of multi-robot teams with temporospatial constraints,” in Robot.: Sci. Syst., 2013.
-  N. Rahimi, J. Liu, A. Shishkarev, I. Buzytsky, and A. G. Banerjee, ”Auction bidding methods for multiagent consensus optimization in supply–demand networks,” IEEE Robot. Autom. Lett. vol. 3, no. 4, pp. 4415-4422, Oct. 2018.
-  L. Brunet, H.-L. Choi, and J. P. How, ”Consensus-based auction approaches for decentralized task assignment,” in AIAA Guidance Navigation Control Conf., 2008.
-  M. B. Dias, R. Zlot, N. Kalra, and A. Stentz, ”Market-based multirobot coordination: A survey and analysis,” Proc. IEEE, vol. 94, no. 7, pp. 1257-1270, Jul. 2006.
T. Shima, S. J. Rasmussen, and P. Chandler, ”UAV team decision and control using efficient collaborative estimation,” inAmer. Control Conf., 2005, pp. 4107-4112.
-  P. B. Sujit and R. Beard, ”Distributed sequential auctions for multiple UAV task allocation,” in Amer. Cont. Conf., 2007, pp. 3955-3960.
-  G. A. Korsah, B. Kannan, I. Fanaswala, and M. B. Dias, ”Improving market-based task allocation with optimal seed scheduling,” Int. Conf. Intel. Auton. Syst., 2011, pp. 249-259.
-  E. Nunes and M. Gini, ”Multi-robot auctions for allocation of tasks with temporal constraints,” in AAAI Conf. Artif. Intel., 2015, pp. 2110-2116.
-  L. T. Liu and D. A. Shell, ”Large-scale multi-robot task allocation via dynamic partitioning and distribution”. Auton. Robot., vol. 33, no. 3, pp. 291-307, Oct. 201.
-  J. Higuera, C. Gamboa, and G. Dudek, ”Fair subdivision of multi-robot tasks”, in IEEE Int. Conf. Robot. Autom., 2013, pp. 2999-3004.
-  L. Klodt and V. Willert, ”Equitable workload partitioning for multi-robot exploration through pairwise optimization,” in IEEE/RSJ Int. Conf. Intel. Robot. Syst., 2015, pp. 2809-2816.
-  G. A. Korsah, M. B. Dias, and A. Stentz, ”A comprehensive taxonomy for multi-robot task allocation,” Int. J. Robot. Res., vol. 32, no. 12, pp. 1495-1512, Oct. 2013.
-  L.T. Liu and D.A. Shell, ”Optimal market-based multi-robot task allocation via strategic pricing,” in Robot.: Sci. Syst. Conf., 2013.