## 2 Related Works  
This section provides the most relevant works that have been studied considering distributed task allocation in multi-robot networks. We focus on the factors used for the allocation process and the scenarios, whether static or dynamic, and we provide a summary table that compares the differences between DYMO and prior works. The most common factor used in assessing a task allocation process is the traveled distance. Hence it can be formulated as the traveling salesman problem [16]. Other works focused on resource consumption besides the traveled distance factor, such as [2], which proposed a distributed resource-oriented auction algorithm that considers the resources that a robot consumes while it executes the task. The authors argue that not including this factor can affect the task execution because the winning robot may run out of resources while executing the task. [PERSON] et al. [3] suggested integrating mobile sensors and robots to perform the assigned tasks. Mobile sensors are responsible for locating and identifying the tasks, whereas robots are responsible for performing the tasks. When a sensor detects a task, it sends a request to the robots; the closest robot will be the coordinator for that task and will forward the request with a time limit to other robots. Each robot that has a vacancy will participate, computing its utility based on cost, energy, distance, type of task and sending a reply. Then, the coordinator will assign the task to the robot with the highest utility. [PERSON] et al. [4] used a bidding model to select an appropriate robot to discover the unknown area. They included a nearness measure (as a communication link measure) in the utility function, which computes the distance between the current robot and its neighbors. The use of the nearness measure keeps robots close to each other and reduces the total travel distance and discovery time. [PERSON] et al. [5] proposed workload balancing by decomposing tasks into clusters based on the total travel distance in each cluster and the distance between tasks in that cluster. Then, the auction-based approach is used to assign robots to the task clusters. However, for task clustering, each robot must compute its cost for executing all combinations of tasks, which is a complex process, mainly if there are a large number of tasks. [PERSON] et al. [6] proposed a combinatorial auction model based on a genetic algorithm (GACA). The GA searches through all combinations of tasks and robots to obtain the best solution based on distance. A hunting task is given as a mission for the team of robots. They compared combinatorial auction versus single-item auction and found that in such scenarios, combinatorial auction outperforms single-item auction in terms of time. However, it requires high computation compare to the single item auction. [PERSON] and [PERSON] [7] proposed MURDOCH, a fault-tolerant distributed protocol based on the auction method for multi-robot coordination. The central concept is that the winner obtains the task with a contract to finish it within a time window. The Auctioneer is responsible for monitoring the progress of the task; if it discovers a failure or insufficient progress, it can terminate the contract and announce this task in a new auction process. Similar failure recovery mechanisms, re-assigning tasks based on environmental changes, also presented in [17]. Some work has also been performed in multi-objective task allocation, such as the work by [8]. They used an auction-based approach to solve multiple objectives: the remaining energy after task execution, the total time for completion of the task, and the priority of the task. A team of robots is divided into various clusters, each of which consists of a coordinator besides other robots. The coordinator is responsible for arranging the auction and distributing task information. Robots are heterogeneous, and for each task, some are eligible to participate in the auction based on the task requirements.