# Multi-Objective Task Scheduling Optimization in Spatial Crowdsourcing
## 1 Introduction  
Crowdsourcing is an outsourcing platform that facilitates the achievement of time-consuming and costly tasks. It is an optimal way to solve complicated problems that need human intelligence [1]. Spatial crowdsourcing (SC) is a kind of crowdsourcing that is referred to as geo-crowdsourcing or location-aware crowdsourcing. In SC, workers must travel physically to a specific location to complete spatial-temporal tasks, such as taking pictures and videos, gathering weather information, computing the noise level, and observing waiting times of restaurant and food delivery. In fact, SC is popular in the research community and industry. SC consists of multiple agents that interact with one another: the requester who publishes tasks on the platform, the worker who moves to locations in order to complete the requested tasks, and the SC server who connects the requester and the worker. SC also has primary challenges, i.e., task assignment, incentive mechanism, security and privacy threats, and quality control. Most of the critical issues depend on task assignment, and so the task assignment issue is a core challenge of SC [2; 3; 4], which refers to assigning particular tasks to suitable workers who should finish these tasks under specific goals and time constraints. SC can be classified based on three aspects according to [5; 6], as presented in Figure 1. The first classification is the worker's motivation, which can be classified into two types: reward-based and voluntary. Reward-based workers should complete SC tasks correctly to receive a particular reward, while voluntary workers are self-incentivized to complete a spatial task. The second aspect in the SC classification is the task publishing mode, which is classified into the server-assigned task (SAT) mode, where the server assigns available tasks to suitable workers according to the optimal goal, and the worker-selected task (WST) mode, where the workers select any task based on the optimal goal. The third SC classification is based on the numbers of workers, meaning that tasks can be assigned to a single reliable worker or to multiple workers, if most of the workers are reliable. Indeed, in the SAT mode, the server has full control to assign a task to a suitable worker. Therefore, the server can design more optimization techniques to increase the throughput of the system and to provide a balanced workload for each worker [7]. Based on this, in this work, we relied on the SAT mode to design an effective model commensurate with our objectives. The shaded rectangles in Figure 1 indicate the categories we focused on in this work. In SC, the task assignment issue has been formulated as task matching [4; 6; 8; 9] or task scheduling [2; 10; 11]. Regarding continuous movement between locations in SC, each worker must adopt an optimal plan in order to complete each task assigned to him/her according to certain predefined objectives. Therefore, the task assignment problem needs to direct its attention to the task scheduling problem [5]. In contrast, real applications of SC need to optimize several objectives at the same time in order to benefit from SC, some of which may conflict with one another [5]. However, very few studies have addressed the problem of multi-objective optimization (MOO) within an SC environment; therefore, MOO must be considered in SC. Thus, we formulated a novel solution for the problem in SC, namely, task scheduling based on multi-objective optimization (TS-MOO) in SC. We focused on optimizing three primary conflicting objectives that have the same importance, i.e., maximizing the number of completed tasks (\(\mid V\mid\)), minimizing the total travel costs (TTCs), and ensuring a balance of the workload between workers (WLB). The workload balance between workers is essential in SC, as it helps to avoid overload between workers but this objective is often ignored [5]; additionally, reaching a balanced workload between workers is useful for speeding up the completion of requested tasks [2; 12].