Multi-agent allocationAllocation has become a popular area of research and has advanced significantly in recent years in many applications such as multi-robot taskTask allocationMulti-robot task allocation, path planning, control of unmanned aerial vehicles, communication networks, conflict and error prevention, and formation of mobile robotsRobot [1, 12, 51, 55, 61]. Multi-agent task allocation problems consist of a set of agentsAgent and a set of tasks that the agents must execute [31, 57]. According to Gerkey and Matarić [20] and Robin and Lacroix [44], tasks can be divisible, i.e., each task can be performed by an individual or by a group of agents, and may also require collaborationCollaboration between agents. The problems of task allocation considered in the literature are mainly multi-agent problems, hence the question of centralized and decentralizedDecentralized systems arises [44]. There are diverse algorithms that are intended to solve task allocation [38, 42, 48, 53, 56]. In general, the multi-agent task allocation approaches can be divided into three categories: centralized, decentralizedDecentralized, and hybrid approaches [60]. The objective function of these approaches is to maximize the overall utilityUtility or to minimize the cost of performing the tasksTask by the agents under a variety of constraints.