# Human-Centered Dynamic Service Scheduling Approach in Multi-Agent Environments
## 3 Human-Centered Dynamic Service Scheduling Approach
### Multi-Agent Scheduler
#### 3.2.3 Operation Allocator
These requirements may include \"request to change the order of a service,\" \"simultaneous execution of services,\" or \"preferred time for the execution of service.\" Therefore, we selected two different scenarios for the various user requests. The third scenario occurred when a user requested a change in the execution order of the service (Scenario 3) and the fourth when a user designated a preferred time for a specific service (Scenario 4). ### Results and Discussion

The proposed scheduler was compared with a baseline scheduler, which represents a basic scheduling method that exemplifies how the existing scheduling solutions would work for service robots. Both schedulers determine the optimum schedule that minimizes the overall time span based on the agent capability and duration. The baseline scheduler executes jobs on\"first-in-first-out\" basis and reschedules them whenever a new job is requested. #### 4.4.1 Scenario 1: Additional Job Request

In Scenario 1, a user asks for an additional job \"Bring water\" while the agents are executing jobs J1 and J2. When a new request is made in the form of job J4, the baseline scheduler reschedules them because jobs J3 and J4 have not been yet executed; however, the proposed scheduler dynamically accepts and reschedules the new request, including operation O2 of Job 2. In other words, the proposed scheduler divides the job into more basic units of operation, so that multiple agents share and complete the job more efficiently. In Figure 4, the block representing the execution of each job (operation) is shown based on the execution start and end times of the job by the scheduler. Figure 4 shows a 7.14% reduction in the total completion time when using the proposed scheduler compared with the baseline. The proposed method provides services in the order of the user's requests whereas the baseline does not. Figure 4: Additional job request: (**a**) the baseline scheduler and (**b**) the proposed scheduler. #### 4.4.2 Scenario 2: Delay Occurs

Scenario 2 is a delay situation that occurs when an agent executes a service. The baseline cannot handle systemic changes because it can only be rescheduled on a new request. If there is a delay, the baseline encounters problems in all subsequent jobs. As shown in Figure 5a, if the robot arm is delayed in bringing the cube, Job 3 will also be delayed, and the mobile robot will not be able to take over Job 3 even after it has finished performing the job. This delays the provision of the service, and the user waits for it for a long time. However, our scheduler can handle delays by adjusting the schedule based on these system changes and dynamically allocating the rest of the job to account for the overall outcome. The operation allocator allocates operations whenever a previous operation is completed, and the other available agents can take over the remaining operations, even if there is a delay. As shown in Figure 5b, the proposed method reduces the delay of the overall service by dynamically allocating Job 4 to a mobile robot when the robot arm is occupied by the delay of Job 1. In addition, it is noteworthy that the computational load of

Figure 5: Delay occurs: (**a**) the baseline scheduler and (**b**) the proposed scheduler. the allocation is similar to that of the baseline. This is because instead of calculating the entire job each time, it selectively computes the optimal allocation only from the candidate queue. The computational cost of the allocation is considerably reduced because the number of operations in the candidate queue is always constant. Therefore, our scheduler can conveniently solve a systemic change, such as a delay, through dynamic allocation. #### 4.4.3 Scenario 3: User Requests to Change the Order of Service

In Scenario 3, the execution order of services is changed according to the user request. The user requested jobs in the following order: Job 1 (Bring a cube), Job 2 (Bring a cup of coffee), Job 3 (Take back an empty cup), and Job 4 (Bring water).