Information processing device, information processing method, and program
The online scheduling algorithm optimizes task distribution and preemption to minimize processing costs and computational load by dividing tasks into work batches with minimal setup time and reallocating tasks among agents.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2024-12-04
- Publication Date
- 2026-06-16
AI Technical Summary
Conventional technologies fail to efficiently manage task processing when the completion time exceeds expectations, leading to high processing costs and energy consumption due to initial task assignments with poor accuracy.
An online scheduling algorithm that divides tasks into work batches with minimal setup time, allows preemption when necessary, and reallocates tasks to minimize the difference in the number of tasks among agents.
This approach enables efficient task processing with reduced computational load and lower total processing costs by optimizing task distribution and preemption among multiple agents.
Smart Images

Figure 2026097036000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Patent Document 1 describes a system for replanning the mission of robotic vehicles in area search. In Patent Document 1, vehicles are monitored in real time, and vehicles that have malfunctioned and are performing an incomplete task are detected. A residual coverage setting is determined, consisting of the remaining coverage area of each vehicle. The distance traveled from the task completion position of each vehicle to the stopping point of the malfunctioning vehicle is calculated, and a travel distance setting is provided. Additional coverage settings are determined based on the travel distance setting and the residual coverage setting, and the incomplete coverage area is calculated for incomplete tasks. To provide a satisfaction list, the additional coverage settings are compared with the incomplete coverage area and the remaining coverage area, and a vehicle is selected from among the vehicles based on the satisfaction list. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2014-059860 [Overview of the project] [Problems that the invention aims to solve]
[0004] However, conventional technologies address situations such as the failure of an agent (vehicle) processing a task (searching for a defined area). On the other hand, they do not address how to efficiently plan (schedule) processing when the task completion time is longer than expected. To address such situations, an online scheduling algorithm is needed that efficiently processes the entire task using multiple agents.
[0005] Furthermore, in conventional technology, unless an agent malfunctions, it continues to process tasks until it completes the task it was initially assigned. Therefore, the efficiency of task processing depends on the initial task assignment created in the initial state of the agent and tasks. Consequently, if the accuracy of the initial assignment is poor, the processing cost for all tasks (such as the total time required to complete all tasks) will be high, and a huge amount of energy will be consumed until the task processing is complete.
[0006] The purpose of this disclosure is to provide an online scheduling technology that efficiently handles multiple tasks using multiple agents (workers or machines that process the tasks). [Means for solving the problem]
[0007] In a first aspect of the present disclosure, an information processing device is provided, comprising: an acquisition unit that acquires information indicating the number of agents m and the setup time of each subset of the task set to be processed; and a control unit that divides the task set to be processed into m work batches which have the minimum setup time, causes each of the m agents to process each of the m work batches, and if the number of agents that have not completed processing is less than or equal to a threshold q, performs preemption on the tasks being processed, and divides the remaining tasks of the incomplete work batches into a specific number of work batches which have the minimum difference in the number of tasks, and causes each agent to process each of the said work batches.
[0008] Furthermore, in a second aspect relating to the present disclosure, an information processing device is provided which acquires information indicating the number of agents m and the setup time of each subset of the task set to be processed, divides the task set to be processed into m work batches that minimize the setup time, has each of the m agents process each of the m work batches, and if the number of agents that have not completed processing is less than or equal to a threshold q, performs preemption on the tasks being processed, divides the remaining tasks of the incomplete work batches into a specific number of work batches that minimize the difference in the number of tasks, and has each agent process each of the said work batches.
[0009] Furthermore, a third aspect of the present disclosure provides a program that causes a computer to perform the following processing: acquiring information indicating the number of agents m and the setup time for each subset of the task set to be processed; dividing the task set to be processed into m work batches that minimize the setup time; having each of the m agents process each of the m work batches; if the number of agents that have not yet completed processing is less than or equal to a threshold q, performing preemption on the tasks being processed; and dividing the remaining tasks of the incomplete work batches into a specific number of work batches that minimize the difference in the number of tasks, and having each agent process each of those work batches. [Effects of the Invention]
[0010] From one perspective, this enables online scheduling that efficiently handles multiple tasks using multiple agents (workers or machines that process the tasks). [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows an example of the configuration of an information processing device according to the embodiment. [Figure 2] A flowchart showing an example of processing performed by the information processing apparatus according to the present invention. [Figure 3]This figure shows an example of processing performed by the information processing apparatus according to the present invention. [Figure 4] This is a diagram illustrating comparative example (1). [Figure 5] This figure shows comparative example (number 2). [Figure 6] This figure shows an example of the hardware configuration of the information processing device according to the embodiment. [Modes for carrying out the invention]
[0012] <Structure> Referring to Figure 1, the configuration of the information processing device 10 according to the embodiment will be described. Figure 1 is a diagram showing an example of the configuration of the information processing device 10 according to the embodiment. In the example of Figure 1, the information processing device 10 has an acquisition unit 11 and a control unit 12. Each of these units may be realized through the cooperation of one or more programs installed in the information processing device 10 and hardware such as the processor and memory of the information processing device 10.
[0013] The acquisition unit 11 acquires information indicating the number of agents m and the setup time for each subset of the task set to be processed. The control unit 12 divides the task set to be processed into m work batches that require the minimum setup time, and has each of the m agents process each of the m work batches.
[0014] Then, if the number of agents that have not yet completed processing is below the threshold q, the control unit 12 will perform preemption on the tasks that are currently being processed. The control unit 12 then divides the remaining tasks of the incomplete work batch into a specific number of work batches that minimize the difference in the number of tasks, and has each agent process each of those work batches.
[0015] This allows for the calculation of a task processing schedule that minimizes the total time required for all task processing (the processing cost for all tasks) by assigning work batches (units in which multiple tasks are processed together) divided from the set of tasks to be processed to a single agent. Here, the time required for task processing is the sum of setup time and execution time.
[0016] <Processing> Next, an example of processing by the information processing device 10 according to the embodiment will be described with reference to Figures 2 and 3. Figure 2 is a flowchart of an example of processing by the information processing device 10 according to the embodiment. The processing in Figure 2 may be executed, for example, in response to a specific operation by the administrator of the information processing device 10. Figure 3 is a diagram showing an example of processing by the information processing device 10 according to the embodiment.
[0017] In step S101, the acquisition unit 11 acquires information indicating various setting conditions. Here, the acquisition unit 11 acquires, for example, the number of agents m (where m is an integer of 2 or more), the number of subsets n of the task set J to be processed, and the setup time c for each subset X⊂J of the task set J to be processed. s (X), and a criterion value q for determining preemption of task processing may be obtained. Note that the criterion value q is q q ≥n>(q-1) (q-1) It may be calculated to satisfy the following conditions.
[0018] Furthermore, in many task processing situations in logistics and mobility service settings, the setup time for task processing (preparation costs before task processing) is often known in advance. Also, the task processing time (execution costs) cannot be predicted until completion, and preemption (interruption or restart) of tasks during processing is often possible.
[0019] Next, the task set J to be processed, and the setup time The minimum number of m work batches (combinations of one or more subsets included in the task set J to be processed) that result in TIFF2026097036000002.tif1140 is {X1,X2,···,X m Divide into} (initial division) (step S102). Here, c s (X i ) is the work patch X acquired by the acquisition unit 11 i This is the setup time (setup cost).
[0020] Next, each work batch X1, X2, ..., X m Each task is assigned to a single agent, and the agent is made to process the task (step S103). Subsequently, the number of agents that have not completed processing is set to a threshold (for example, floor(m / q), or in other notation). It is determined whether the number of agents that have not completed processing is less than or equal to the threshold (step S104). Note that floor(m / q) is the floor function and represents the largest integer less than or equal to the real number m / q. If the number of agents that have not completed processing is not less than or equal to the threshold (NO in step S104), the process returns to step S103. On the other hand, if the number of agents that have not completed processing is less than or equal to the threshold (YES in step S104), it is determined whether the number of remaining tasks in the work batch that has not completed processing is greater than 1 (step S105).
[0021] If the number of remaining tasks in an incomplete work batch is greater than 1 (YES in step S105), the agent that has not completed processing will perform preemption on the tasks it is currently processing (step S106).
[0022] Next, the work batch that has not been processed. The remaining tasks of TIFF2026097036000004.tif1264 are divided into a specific number of work batches (e.g., q) such that the number of tasks is as even as possible (minimizing the difference in the number of tasks). Split into TIFF2026097036000005.tif945 (step S107).
[0023] Subsequently, update the new set of work batches to be processed (step S108), and return to the process of step S103. Here, the divided work batch Y j k is sorted as follows, for example, in the order of j and k, etc., to form a new set of work batches {X1, X2, ···, X m}. TIFF2026097036000006.tif15132 Note that if q and m are different, the number of work batches assigned to each agent is different. For example, an agent to which no work batch is assigned may occur.
[0024] On the other hand, if the number of remaining tasks of the uncompleted work batch is not greater than 1 (NO in step S105), continue to process the assigned work batches for each agent until all tasks are completed (step S109), and end the process.
[0025] According to the technology of the present disclosure, since the number of iterations is TIFF2026097036000007.tif891 proportional, the computational amount (computational load) can be relatively reduced. Note that as application fields of the technology of the present disclosure, logistics transportation, mobility services, equipment maintenance, machine manufacturing, etc. can be considered.
[0026] Hereinafter, a case where three agents (robot M = {M1, M2, M3}) process a task of equipment maintenance (for example, cleaning or repair, etc.) will be described as an example. Assume that the set of tasks J to be processed is composed of nine tasks of J = {J1, J2, ···, J9} (the number n of each subset of the set of tasks J to be processed is 9). Also, assume that the task processing is desired to be executed in the order of the task indices as much as possible.
[0027] Also, the setup cost (setup time c s , the unit is, for example, minutes or seconds) required before processing each individual task is c s (J1) = 3, c s(J2) = 3, c s (J3) = 4, c s (J4) = 3, c s (J5) = 3, c s (J6) = 2, c s (J7) = 2, c s (J8) = 5, c s Let's assume (J9) = 5. Here, the setup time for a single task includes the robot's startup time, the robot's movement from its charging location to the equipment location, etc., and can be calculated in advance from the robot's specifications (basic performance).
[0028] Furthermore, the setup time required for processing multiple tasks can be considered to be the sum of the setup times of individual tasks (satisfying additivity). Therefore, for example, the setup times for tasks J1 and J3 are c s (J1+J3=c s (J1)+c s (J3) may also be calculated as 7. Note that the setup time may satisfy not only the additivity but also the subadditivity, as in a wide range of task processing scenarios. In this case, c s (J1+J3)≦c s (J1)+c s (J3) and for example c s (J1+J3)=max{c s (J1), c s (J3)} is calculated as 4.
[0029] Furthermore, the processing execution cost (processing time c) of each individual task u ) are, respectively, c u (J1) = 10, c u (J2) = 20, c u (J3) = 10, c u (J4) = 40, c u (J5) = 70, c u (J6) = 40, c u (J7) = 40, c u (J8) = 10, c uLet's assume (J9) = 10. Here, the processing time for each task is the actual time when the task is completed, and is unknown until the task is completed. Also, the execution time required to process multiple tasks can be considered as the sum of the execution times of individual tasks. For example, c u (J1+J3=c u (J1)+c u (J3) can also be calculated as 20.
[0030] Furthermore, regarding task preemption, each agent shall have the right to process the assigned task. In other words, unless an agent relinquishes its task processing right (does not preempt), it cannot process the task with the help of other agents.
[0031] The effectiveness of the processing (algorithm) disclosed in this disclosure will be explained using an evaluation metric that minimizes the total time required for all task processing, including setup time and processing execution time, under the above-described settings (conditions). In addition, the behavior of the following two comparison algorithms will be considered in order to demonstrate the effectiveness of the processing disclosed in this disclosure. Compared with each of the comparison algorithms described below, this disclosure will be shown to enable the completion of all task processing with a relatively low task processing cost (total time required for all task processing) while utilizing a relatively small number of preemption operations.
[0032] (Examples of processing in this disclosure) In step S101, the criterion value q for determining preemption of task processing is set to q q ≥n>(q-1) (q-1) Set q=3 to satisfy the condition. Next, in steps S102 and S103, as shown in Figure 3(a), the task set J is arranged in work batch X1 such that the pre-known setup times for task processing are equal. 0 ,X2 0 ,X3 0 Divided into X1 0 ,X2 0 ,X3 0 Assign each of these to M1, M2, and M3, respectively.
[0033] Here, X1 0 If we set ={J1,J2,J3} then X1 0 Setup time c s is, c s (J1+J2+J3=c s (J1)+c s (J2)+c s (J3)=10. Also, X2 0 If we set ={J4,J5,J6,J7} then X2 0 Setup time c s is, c s (J4+J5+J6+J7)=c s (J4)+c s (J5)+c s (J6)+c s (J7) = 10. Also, X3 0 If we set it to ={J8,J9}, then X3 0 Setup time c s is, c s (J8+J9=c s (J8)+c s (J9) = 10.
[0034] Then, when 30 minutes have elapsed since the completion of step S103, agent M3's task processing is completed, and when 50 minutes have elapsed, agent M1's task processing is completed. When 50 minutes have elapsed, only agent M2 will have incomplete task processing, satisfying the preemption condition (number of agents whose processing is incomplete ≤ floor(m / q) = floor(3 / 3) = 1), so the answer in step S104 is YES.
[0035] Then, when the elapsed time reaches 50 minutes, the process in step S106 preempts task J5 that is being processed by M2. Then, as shown in Figure 3(b), the process in step S107 preempts the incomplete work batch X2. 0 The remaining tasks {J5, J6, J7} will be moved to a new work batch X1 1 ={J5},X2 1={J6},X3 1 ={J7} is split, and the process returns to step S103 X1 1 ,X2 1 ,X3 1 Assign each of these to M1, M2, and M3 respectively.
[0036] Here, when the elapsed time reaches 50 minutes, agent M1 restarts the processing of task J5, which was interrupted, including the setup time. Then, in step S109, M1, M2, and M3 continue processing their assigned work batches until completion. All processing is completed when the elapsed time reaches 123 minutes.
[0037] (Example of a comparison algorithm (part 1)) Refer to Figure 4 to explain the comparison algorithm (1). Figure 4 is a diagram showing the comparison example (1). In comparison algorithm (1), each agent continues processing the work batch initially assigned to it until processing is complete. First, similar to the processing of this disclosure described above, the task set J is divided into work batches X1 such that the pre-known setup times for task processing are equal. 0 ,X2 0 ,X3 0 Divided into X1 0 ,X2 0 ,X3 0 Each of these is assigned to M1, M2, and M3 respectively. Similar to the processing described above in this disclosure, X1 0 , X2 0 , and X3 0 Each setup time is 10.
[0038] In this case, as shown in Figure 4, each agent continues processing until it has completed the processing of its assigned work batch. Agent M2's processing is completed when the time reaches 200 minutes, and all task processing is finished.
[0039] (Example of comparison algorithm (part 2)) Referring to FIG. 5, the comparison algorithm (Part 2) will be described. FIG. 5 is a diagram showing the comparative example (Part 2). In the comparison algorithm (Part 2), an agent that has completed processing a shared work batch will immediately go to assist an agent with many remaining tasks. First, similar to the processing of the present disclosure described above, the task set J is divided into work batches X1 0 , X2 0 , X3 0 such that the setup times that are known in advance for task processing are equal, and as shown in (a) of FIG. 5, X1 0 , X2 0 , X3 0 are respectively assigned to M1, M2, and M3. Similar to the processing of the present disclosure described above, the setup times of X1 0 , X2 0 , and X3 0 are each 10.
[0040] In this case, when the time reaches 30 minutes, agent M3 completes task processing and goes to assist agent M2 with many remaining tasks. Therefore, preemption of task J4 being processed by M2 is performed. As shown in (b) of FIG. 5, the remaining tasks {J4, J5, J6, J7} of work batch X20 that have not been completed including the rework of J4 are divided into work batches X2 1 ={J4, J6}, X3={J5, J7} 1 so that the number of jobs in the new work batches is equal, and X2 1 , X3 1 are respectively assigned to M2 and M3.
[0041] When the elapsed time reaches 50 minutes, agent M1 completes task processing and goes to assist M2 processing J4 or M3 processing J5. Here, since the number of remaining tasks of M2 and M3 is the same, it is selected by an arbitrary method whether to assist M2 or M3. When going to assist M2, preemption of task J4 being processed by M2 is performed, and as shown in (c) of FIG. 5, the remaining tasks {J4, J6} of work batch X2 1 are divided into a new work batch X1 2={J4},X2 2 = {J6} is divided, X1 2 ,X2 2 Assign these to M1 and M2 respectively.
[0042] Then, when 92 minutes have elapsed, agent M2 completes task processing {J6} and goes to help M3, which has many remaining tasks. It performs preemption on task J5 that M3 is processing, and as shown in Figure 5(d), the work batch X3 1 The remaining tasks {J5,J7} will be moved to a new work batch X2 3 ,X3 3 Divided into X2 3 ={J5},X3 3 Assign {J7} to M2 and M3 respectively.
[0043] Since each agent is assigned one task in the work batch, each agent continues processing until it completes its task. When 165 minutes have elapsed, agent M2 completes task J5, and all task processing is finished.
[0044] <Hardware Configuration> Figure 6 shows an example of the hardware configuration of each information processing device 10 according to the embodiment. In the example in Figure 6, the information processing device 10 (computer 100) includes a processor 101, memory 102, and a communication interface 103. These parts may be connected by a bus or the like. The memory 102 stores at least a portion of the program 104. The communication interface 103 includes an interface necessary for communication with other network elements.
[0045] When program 104 is executed in cooperation with the processor 101 and memory 102, etc., the computer 100 performs at least some of the processing of embodiments of this disclosure. Memory 102 may be of any type. Memory 102 may, in non-limiting examples, be a non-temporary computer-readable storage medium. Memory 102 may also be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. Although only one memory 102 is shown for computer 100, computer 100 may have several physically different memory modules. Processor 101 may be of any type. Processor 101 may include one or more general-purpose computers, dedicated computers, microprocessors, digital signal processors (DSPs), and, in non-limiting examples, processors based on multicore processor architectures. Computer 100 may have multiple processors, such as application-specific integrated circuit chips that are time-dependent to a clock that synchronizes the main processor.
[0046] Embodiments of the present disclosure may be implemented in hardware or in dedicated circuitry, software, logic, or any combination thereof. Some embodiments may be implemented in hardware, while others may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device.
[0047] Programs can be stored and supplied to a computer using various types of non-temporary computer-readable media. Non-temporary computer-readable media include various types of tangible recording media. Examples of non-temporary computer-readable media include magnetic recording media, magneto-optical recording media, optical disc media, and semiconductor memory. Magnetic recording media include, for example, flexible disks, magnetic tapes, and hard disk drives. Magneto-optical recording media include, for example, magneto-optical disks. Optical disc media include, for example, Blu-ray discs, CD (Compact Disc)-ROM (Read Only Memory), CD-R (Recordable), and CD-RW (ReWritable). Semiconductor memory includes, for example, solid-state drives, mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memory). Programs may also be supplied to a computer using various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. Temporary computer-readable media can supply programs to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0048] <Other> In logistics warehouse cargo handling or mobility dispatch services (such as taxis), it is desirable to efficiently process multiple tasks using multiple agents. Therefore, an efficient task allocation schedule (for example, a task processing schedule that minimizes the total time required for processing all tasks) is required.
[0049] In many real-world problems, when planning a schedule for processing a task set consisting of multiple tasks across multiple agents, the total cost information for task processing is not yet determined. For example, in "transporting goods in a logistics warehouse," the original storage location of the goods is known in advance, but the transport time from the original storage location to the destination is uncertain due to factors such as traffic congestion, and it is conceivable that the transport time will not be known until it is completed. In such a situation, even if the task set is divided into multiple work batches (units in which multiple tasks are processed together) so that the task processing time for each agent is evenly distributed at the initial stage, there may be work batches that take a long time to process and are slow to complete. In this case, if preemption of work batches that have not yet been completed (interrupting and reassigning task processing that is taking a long time to complete) can be effectively utilized, agents that have already completed their assigned work batches can help with the processing of the work batches that have not yet been completed, thereby improving the efficiency of the overall task processing. At this time, it is desirable to update the processing schedule from the perspective of minimizing the total cost, including the preparation cost and the execution cost of processing, by determining how to assign agents to help with the processing of the work batches that have not yet been completed and when to execute them. Furthermore, in order to avoid creating waiting times for agents due to updates to the processing schedule, it is desirable to be able to calculate the new processing schedule with an appropriate amount of computation, and therefore, the construction of a high-speed scheduling algorithm is considered desirable.
[0050] This disclosure provides efficient scheduling under task processing scenarios that occur relatively frequently in logistics sites and mobility service sites, where each work batch (a unit in which multiple tasks are processed together) is assigned to a single agent. Each work batch may include, for example, a pre-known setup time (preparation time for task processing), an unpredictable task processing time until the task processing is completed, and preemption of tasks in progress (task processing can be interrupted and reassigned).
[0051] In this disclosure, tasks are provisionally divided into multiple work batches so that the expected processing completion times are as uniform as possible, and one agent is assigned to each work batch for processing. If the number of incomplete task batches falls below a certain threshold during task processing, the task processing is preempted, the incomplete task batches are re-divided, and reassigned to agents. This improves task processing efficiency by ensuring that even if the temporarily divided task batches take a relatively long time to execute, the task batches are re-divided and reassigned at the appropriate time.
[0052] <Variation> The information processing device 10 may be a device contained in a single enclosure, but the information processing device 10 of this disclosure is not limited to this. Each part of the information processing device 10 may be implemented by cloud computing, which is composed of, for example, one or more computers.
[0053] It should be noted that the present invention is not limited to the embodiments described above, and can be modified as appropriate without departing from the spirit of the invention. [Explanation of Symbols]
[0054] 10 Information processing device, 11 Acquisition unit, 12 Control unit
Claims
1. An acquisition unit that acquires information indicating the number of agents m and the setup time for each subset of the task set to be processed, The set of tasks to be processed is divided into m work batches that minimize the setup time, and each of the m agents processes each of the m work batches. A control unit, when the number of agents that have not completed processing is less than or equal to a threshold q, performs preemption on tasks that are currently being processed, divides the remaining tasks of the incomplete work batch into a specific number of work batches that minimize the difference in the number of tasks, and has each agent process each of those work batches. An information processing device having
2. The threshold q is such that n is the number of subsets in the task set to be processed, and q q ≥n > (q-1) (q-1) Satisfying The information processing apparatus according to claim 1.
3. The specified number is the threshold q. The information processing apparatus according to claim 2.
4. Information processing device, We obtain information indicating the number of agents (m) and the setup time for each subset of the task set to be processed. The set of tasks to be processed is divided into m work batches that minimize the setup time, and each of the m agents processes each of the m work batches. If the number of agents that have not yet completed processing is below a threshold q, preemption is performed on the tasks currently being processed, and the remaining tasks of the incomplete work batch are divided into a specific number of work batches that minimize the difference in the number of tasks, and each agent is then instructed to process each of these work batches. Information processing methods.
5. We obtain information indicating the number of agents (m) and the setup time for each subset of the task set to be processed. The set of tasks to be processed is divided into m work batches that minimize the setup time, and each of the m agents processes each of the m work batches. If the number of agents that have not yet completed processing is below a threshold q, preemption is performed on the tasks currently being processed, and the remaining tasks of the incomplete work batch are divided into a specific number of work batches that minimize the difference in the number of tasks, and each agent is then instructed to process each of these work batches. A program that instructs a computer to perform a process.