Information processing device, information processing method, and program

The information processing device optimizes resource allocation by calculating corrected end dates and times to generate a modified schedule, addressing inefficiencies in task progress and resource capabilities, thereby enhancing operational efficiency.

JP2026108960APending Publication Date: 2026-07-01KK TOSHIBA

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KK TOSHIBA
Filing Date
2024-12-19
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing scheduling systems struggle to efficiently adjust resource allocation in response to task progress and resource capabilities, leading to inefficiencies in operations such as picking and boxing in logistics warehouses.

Method used

An information processing device that calculates corrected end dates and times using correction information to determine recipient and provider candidates, optimizing resource allocation and generating a modified schedule to address these inefficiencies.

Benefits of technology

The device enables more efficient rescheduling by appropriately adjusting resource support frequencies, resulting in a modified schedule that is more readily accepted by the field and minimizes overall job completion time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026108960000001_ABST
    Figure 2026108960000001_ABST
Patent Text Reader

Abstract

This allows for more efficient rescheduling by modifying the generated schedule. [Solution] The information processing device includes a processing unit. The processing unit calculates a corrected end date and time by correcting the end date and time of an initial schedule, which includes resources to be assigned to tasks included in multiple jobs and the end date and time of the tasks, using correction information defined for multiple jobs. Using the corrected end date and time, the processing unit determines candidate recipients, which are tasks that will receive resources, and candidate providers, which are tasks that will provide resources. The processing unit generates a provider candidate, which includes provider resources assigned to the provider candidate and the recipient candidate. Using the provider candidate, the processing unit generates a modified schedule by optimizing the allocation of resources to tasks included in multiple jobs, thereby changing the initial schedule.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to an information processing apparatus, an information processing method, and a program.

Background Art

[0002] For example, in order to improve the efficiency of operations such as picking and boxing in a logistics warehouse, a technique has been proposed for generating a schedule that allocates resources such as workers and robots to tasks (corresponding to operations) included in a plurality of jobs. It may be desirable to change the resource allocation according to the progress status of the tasks and the capabilities of the resources, etc., in the generated schedule.

[0003] For example, according to the progress status of each job included in the generated schedule (initial schedule), by allocating the resources assigned to the job whose work is progressing to the job whose work is lagging, the progress of a plurality of jobs can be leveled.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] An object of the present invention is to provide an information processing apparatus, an information processing method, and a program that can more efficiently execute rescheduling for changing the generated schedule.

Means for Solving the Problems

[0006] The information processing device of this embodiment includes a processing unit. The processing unit calculates a corrected end date and time by correcting the end date and time of an initial schedule, which includes resources to be assigned to tasks included in multiple jobs and the end date and time of the tasks, using correction information defined for multiple jobs. Using the corrected end date and time, the processing unit determines a recipient candidate, which is a candidate task that will receive resources, and a provider candidate, which is a candidate task that will provide resources. The processing unit generates a provider candidate, which includes the provider resources assigned to the provider candidate and the recipient candidate. Using the provider candidate, the processing unit generates a modified schedule by optimizing the allocation of resources to tasks included in multiple jobs, thereby changing the initial schedule. [Brief explanation of the drawing]

[0007] [Figure 1] Block diagram of the information processing device of the first embodiment. [Figure 2] Flowchart of the rescheduling process in the embodiment. [Figure 3] A diagram showing an example of how to calculate the correction completion date and time. [Figure 4] A diagram showing an example of how to calculate the correction completion date and time. [Figure 5] Hardware configuration diagram of the information processing device according to the embodiment. [Modes for carrying out the invention]

[0008] A preferred embodiment of the information processing device according to this invention will be described in detail below with reference to the attached drawings.

[0009] The embodiment can be applied to scheduling of the following types of objects (tasks, processes, operations), but the applicable scheduling is not limited to these. For example, the embodiment can be applied to any scheduling of objects where the allocated resources can be changed. (Application Example 1) • Target: Picking, packing, and other tasks in logistics warehouses. • Resources: Workers (people), robots, etc. (Application Example 2) • Target: Processes performed on a computer • Resources: Hardware used in computers, such as processors, memory, and communication lines.

[0010] A schedule contains multiple jobs. A job contains one or more tasks. Resources are allocated to each task. Rescheduling is equivalent to creating a modified schedule (a modified schedule) that reassigns resources allocated to tasks in one job included in the initial schedule to tasks in another job.

[0011] In the following, the provision (allocation) of resources may be referred to as "support." Furthermore, the source of resources may be called the "support source," and the recipient of resources may be called the "support recipient." For example, receiving resources is equivalent to receiving support. Also, providing resources is equivalent to offering support. Generating a change schedule can also be interpreted as generating a support schedule (support schedule).

[0012] When rescheduling, being too proactive in providing support can cause delays in the original task and the job it was originally intended for. Conversely, being too conservative may result in insufficient support, making it difficult to level out progress. Therefore, it is desirable to appropriately adjust the frequency of support.

[0013] In this embodiment, a change schedule is generated by appropriately controlling the frequency of receiving support from other jobs and the frequency of providing support to other jobs. This allows for more efficient rescheduling and generates a change schedule that is more readily accepted by the field.

[0014] For example, the information processing device of this embodiment has the following functions. (F1) A function to generate a modified schedule by changing the allocation of a certain resource to tasks of other jobs with respect to an initial schedule in which resources are allocated to each task of a plurality of jobs (F2) Using correction information representing the ease of support and the deadline which is the end date and time for each job, calculate the corrected end date and time for each task, compare the end date and time for each task in the initial schedule or the modified schedule with the corrected end date and time, and determine candidates for tasks to be supported (support destination candidates, provider candidates) and candidates for tasks that are the source of support (support source candidates, provider source candidates)

[0015] FIG. 1 is a block diagram showing an example of the configuration of the information processing apparatus 100 according to the first embodiment. As shown in FIG. 1, the information processing apparatus 100 includes a storage unit 121, an acquisition unit 101, an output control unit 102, a calculation unit 111, a determination unit 112, a generation unit 113, an allocation unit 114, and an adjustment unit 115.

[0016] The storage unit 121 stores various information used in the information processing apparatus 100. For example, the storage unit 121 stores information acquired by the acquisition unit 101 and processing results by other units.

[0017] Note that the storage unit 121 can be configured by any generally used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), a HDD (Hard Disk Drive), and an optical disk.

[0018] The acquisition unit 101 acquires various information used in the information processing apparatus 100. For example, the acquisition unit 101 acquires the following information. The method for acquiring information by the acquisition unit 101 can be any method, and for example, a method of receiving from an external device via a network and a method of reading information from a storage medium can be applied. · Initial schedule · Correction information · Resource capacity information

[0019] The initial schedule includes information such as the following: • Closing dates for each of multiple jobs • The scheduled end date and time for each of the one or more tasks included in each of the multiple jobs (for example, the target date and time when generating the initial schedule) • The end date and time for each of one or more tasks (for example, the end date and time calculated based on the scheduled end date and time). • Resources assigned to each of one or more tasks

[0020] The initial schedule may be generated in any way. If it is generated by an external device to the information processing device 100, the acquisition unit 101 acquires the initial schedule from the external device.

[0021] Correction information represents the ease of providing support and is defined for each of multiple jobs. Correction information may be divided into two types: Correction Information IA (First Correction Information), which is defined so that a larger value makes it easier to receive resource provision (support), and Correction Information IB (Second Correction Information), which is defined so that a smaller value makes it easier to provide resources. Correction Information IA corresponds to information for adjusting the frequency of receiving support from other jobs. Correction Information IB corresponds to information for adjusting the frequency of sending support to other jobs.

[0022] It is also possible to configure the system to use a single correction information that possesses the functions of both correction information IA and correction information IB. In this configuration, correction information IA and correction information IB, as described below, should both be interpreted as representing a single correction information.

[0023] Resource capability information includes, for example, the following: • Types of tasks that can be processed • Processing time or processing speed per task

[0024] The calculation unit 111 uses the correction information to calculate a corrected end date and time for the task. For example, the calculation unit 111 uses the correction information for one or more tasks in the initial schedule to calculate a corrected end date and time.

[0025] The correction information IA and correction information IB will be explained separately. For example, the calculation unit 111 calculates a corrected end date and time ETA (first corrected end date and time) by correcting the end date and time using the correction information IA. The corrected end date and time ETA corresponds to the corrected end date and time assuming that resources are provided. The calculation unit 111 also calculates a corrected end date and time ETB (second corrected end date and time) by correcting the end date and time using the correction information IB. The corrected end date and time ETB corresponds to the corrected end date and time assuming that resources are provided.

[0026] The method for calculating the corrected completion date and time will be explained further. First, the calculation unit 111 calculates the corrected closing date and time by correcting the job's closing date and time using the job's correction information. Next, the calculation unit 111 calculates the corrected completion date and time so that one or more tasks are completed by the corrected closing date and time. For example, the calculation unit 111 calculates the corrected completion date and time so that the ratio of the scheduled completion dates and times of one or more tasks included in the job matches the ratio of the corrected completion dates and times of one or more tasks. Details of the method for calculating the corrected completion date and time will be described later.

[0027] The decision unit 112 uses the calculated correction completion date and time to determine the support recipient candidate (recipient candidate) and the support source candidate (provider candidate). The support recipient candidate represents a candidate task that receives resources from a task included in another job. The support source candidate represents a candidate task that provides resources to a task included in another job.

[0028] For example, the decision unit 112 determines the progress of each task by comparing the end date and time with the corrected end date and time (ETA), and selects tasks that are behind schedule as candidates for support. The decision unit 112 also determines the progress of each task by comparing the end date and time with the corrected end date and time (ETB), and selects tasks that are ahead of schedule as candidates for support.

[0029] The generation unit 113 generates one or more support candidates (providers) that include a support source resource (provider resource), which is a resource assigned to a support source candidate (provider), and a support recipient candidate (recipient candidate).

[0030] The allocation unit 114 generates a change schedule by performing an optimization process that optimizes the allocation of resources to one or more tasks included in each of the multiple jobs, using the support candidates. For example, the allocation unit 114 performs the optimization process to minimize the end date and time of each of the multiple jobs.

[0031] The adjustment unit 115 is a function for adjusting correction information. For example, the adjustment unit 115 adjusts the correction information based on the comparison result between the generated change schedule and the schedule adopted based on said change schedule.

[0032] The output control unit 102 controls the output of various types of information used by the information processing device 100. For example, the output control unit 102 outputs the generated change schedule to an external device (system) that uses the change schedule. The method of outputting the information can be any method, but for example, it can be displayed on a display device or transmitted to an external device via a network.

[0033] At least a portion of each of the above-mentioned parts (acquisition unit 101, output control unit 102, calculation unit 111, determination unit 112, generation unit 113, allocation unit 114, and adjustment unit 115) may be implemented by one or more processing units. Each of the above-mentioned parts may be implemented by, for example, one or more processors. For example, each of the above-mentioned parts may be implemented by having a processor such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) execute a program, i.e., by software. Each of the above-mentioned parts may be implemented by a processor such as a dedicated IC (Integrated Circuit), i.e., by hardware. Each of the above-mentioned parts may be implemented by using both software and hardware. When multiple processors are used, each processor may implement one of the above-mentioned parts, or two or more of the above-mentioned parts.

[0034] The information processing device 100 may be composed of one physical device or multiple physical devices. For example, the information processing device 100 may be built on a cloud environment. Furthermore, each part of the information processing device 100 may be distributed and provided on multiple devices.

[0035] Next, the rescheduling process by the information processing device 100 of the embodiment will be described. Figure 2 is a flowchart of an example of the rescheduling process in the embodiment. It is assumed that necessary information such as the initial schedule, correction information, and resource capacity information is acquired by the acquisition unit 101 before the rescheduling process.

[0036] The calculation unit 111 uses the correction information IA and IB to calculate the correction completion date and time ETA and ETB for each job and each task included in the initial schedule (step S101).

[0037] The details of how to calculate the correction completion date and time are explained using Figures 3 and 4. Figure 3 is a diagram illustrating an example of how to calculate the correction completion date and time (ETA) when resources are provided. Figure 4 is a diagram illustrating an example of how to calculate the correction completion date and time (ETB) when resources are provided.

[0038] Figures 3 and 4 show examples of calculating the corrected completion date and time for a single job JA. The same procedure as in Figures 3 and 4 is used to calculate the corrected completion date and time for each of the multiple jobs included in the initial schedule. Figures 3 and 4 also show an example where the job contains three tasks. The number of tasks included in a job is not limited to three; it may be one, two, or four or more.

[0039] As shown in Figure 3, the three tasks TA1 to TA3 included in job JA each have scheduled end dates and times (S1, S2, S3). Job JA also has a final closing date and time D. Job JA is provided with correction information IA in order to calculate the corrected end date and time ETA in case support is needed.

[0040] The calculation unit 111 first calculates the correction closing date and time E' using the following formula. E' = (1 - Correction Information IA) × D

[0041] When using the above formula, the correction information IA takes a real value between 0 and 1. The larger the value of the correction information IA, the smaller the value of the correction deadline E'. In other words, the correction deadline E' represents an earlier date and time. Therefore, there is a higher probability that the task will not be completed by the correction deadline E', making it easier to receive resource support.

[0042] Note that the correction information IA is not limited to information that takes the values ​​described above. The correction information IA may also be defined in the opposite way to the above format, such that a smaller value makes it easier to receive resource provision (support). In this case, the correction closing date and time E' may be calculated using the following formula. E' = Correction information IA × D

[0043] Next, the calculation unit 111 sets the correction completion date and time T3' of task TA3 as the correction closing date and time E'. The calculation unit 111 also uses the scheduled completion dates and times S1, S2, S3 and the correction completion date and time T3' of each task to calculate the correction completion dates and times T1' and T2' of tasks TA1 and TA2 using the following formula. T1':T2':T3'=S1:S2:S3

[0044] In this way, the calculation unit 111 calculates the corrected end date and time such that the ratio of the scheduled end date and time for each of the one or more tasks matches the ratio of the corrected end date and time for each of the one or more tasks.

[0045] Next, using Figure 4, we will explain an example of how to calculate the corrected end time ETB when providing resources. Job JA is given correction information IB in order to calculate the corrected end time ETB when providing resources (sending support).

[0046] The method for calculating the correction completion date and time (ETB) is almost the same as the method for calculating the correction correct completion date and time (ETA). The calculation unit 111 first calculates the correction closing date and time (E) using the following formula. E = (1 - Correction Information IB) × D

[0047] When using the above formula, the correction information IB takes a real value between 0 and 1. The smaller the value of the correction information IB, the larger the value of the correction deadline E. In other words, the correction deadline E represents a later date and time. Therefore, there is a higher probability that the task will be completed by the correction deadline E, making it easier to provide (support) resources.

[0048] Correction information IB is not limited to information that takes values ​​as described above. Conversely, correction information IB may be defined such that a larger value makes it easier to provide (support) resources. In this case, the correction deadline E may be calculated using the following formula. E = Correction Information IB × D

[0049] Next, the calculation unit 111 sets the correction completion date and time T3 of task TA3 as the correction closing date and time E. Furthermore, using the scheduled completion dates and times S1, S2, S3 and the correction completion date and time T3 of each task, the calculation unit 111 calculates the correction completion dates and times T1 and T2 of tasks TA1 and TA2 using the following formula. T1:T2:T3=S1:S2:S3

[0050] Returning to the explanation of Figure 2, the decision unit 112 determines the progress for each job and each task, and uses the determined progress to determine the candidates for the support recipient and the support source (step S102).

[0051] Let's explain using the example in Figure 3. For example, the decision unit 112 determines whether the end date and time of each task (the end date and time included in the initial schedule) for job JA satisfies the following conditions. Task TA1 end date and time > Correction end date and time T1' Task TA2 end date and time > Correction end date and time T2' Task TA3 end date and time > Correction end date and time T3'

[0052] The decision unit 112 determines that Job JA is behind schedule, that is, Job JA needs support, if at least one of the three conditions described above is met. However, the method for determining whether progress is behind schedule is not limited to the above method. For example, if the number of tasks included in Job JA is k, the decision unit 112 may determine that Job JA is behind schedule if j or more (where j is an integer between 1 and k) of the k conditions indicating the relationship between the completion date and the corrected completion date are met.

[0053] Furthermore, the decision unit 112 determines whether the end date and time of each task (the end date and time included in the initial schedule) for job JA satisfies the following conditions. Task TA1 end date and time < Correction end date and time T1 Task TA2 end date and time < Correction end date and time T2 Task TA3 end date and time < Correction end date and time T3

[0054] The decision unit 112 determines that Job JA is progressing, that is, that Job JA can send out support, if all three of the above conditions are met. However, the method for determining whether progress is progressing is not limited to the above method. For example, if the number of tasks included in Job JA is k, the decision unit 112 may determine that Job JA is progressing if j or more (where j is an integer between 1 and k) of the k conditions indicating the relationship between the completion date and the corrected completion date are met. The decision unit 112 may also determine that Job JA is progressing if the condition that the completion date and time of the last task (the kth task) is less than the corrected completion date is met.

[0055] The decision unit 112 uses the progress determined as described above to determine candidates for support recipients and support source recipients. For example, the decision unit 112 determines tasks that it has determined are behind schedule as candidates for support recipients. It also determines tasks that it has determined are progressing well as candidates for support source recipients.

[0056] Next, the generation unit 113 generates a candidate list using the determined candidate recipients and candidate sources of support (step S103). The candidate list is a list of support candidates that include, for example, the following elements. • Supporting Resources: Resources assigned to tasks included in the supporting resource candidates determined in step S102. • Support recipient candidates: Support recipient candidates decided in Step S102 • Start date and time: Start date and time of support • End date and time: End date and time of support

[0057] Each support candidate means that the supporting resource will provide support to the job, including the supported candidate, from the start date to the end date.

[0058] The start and end dates and times may be determined, for example, as follows, but may be determined by any other method. • Start date and time: The start date and time of the candidate task (the task that is behind schedule). • Completion date and time: Correction completion date for the candidate task (task that is behind schedule).

[0059] The candidate list is generated to include support candidates that correspond to all combinations of the support source candidate and support recipient candidate determined in step S102, for example. If multiple start dates and end dates are determined for one combination of support source candidate and support recipient candidate, multiple support candidates may be generated, each associating multiple additional dates and times with that combination.

[0060] Support candidates do not need to be generated for every possible combination of support source candidates and support destination candidates. For example, support candidates may be generated for a limited number of combinations according to predetermined conditions.

[0061] The conditions may be a delay time condition and a progress time condition. For tasks that are behind schedule, the delay time is calculated, for example, by "end date and time - corrected end date and time". For tasks that are ahead of schedule, the progress time is calculated, for example, by "corrected end date and time - end date and time". The generation unit 113 uses support target candidates whose delay time is greater than the threshold to generate support candidates. The generation unit 113 also uses support target candidates whose progress time is greater than the threshold to generate support candidates.

[0062] The conditions may also be conditions concerning the capabilities of the resources. For example, the generation unit 113 checks whether the capabilities (suitability) of the resource providing support are suitable for the task being supported. For example, if the types of tasks that the capabilities of the resource providing support can process match the types of tasks of the candidate receiving support, the generation unit 113 generates a support candidate that includes the combination of the resource providing support and the candidate receiving support.

[0063] The generation unit 113 sorts the support candidates included in the candidate list in order of priority. Priority is set such that, for example, the greater the delay of the support recipient candidate and the greater the progress of the task handled by the support source resource. The method of setting priority is not limited to this, and other factors may be further considered. For example, the generation unit 113 may set the priority of support candidates associated with specific jobs and specific resources to be higher or lower. The generation unit 113 may also set priority according to the result of comparing at least one of the delay time and the progress time with a threshold.

[0064] In subsequent steps, the sorted list of candidates is used to determine the optimal change schedule.

[0065] First, the allocation unit 114 selects unprocessed support candidates from the candidate list in order of priority (step S104).

[0066] The allocation unit 114 performs an optimization process using the selected support candidates and generates a change schedule (step S105). In the optimization process, it is assumed that the support source candidates are available to provide support, and rescheduling is performed to determine the occupation time (start date and time, end date and time) for each task. Details of the optimization process by the allocation unit 114 will be described later.

[0067] Next, the generated change schedule is used to determine whether any delays will occur in the jobs, including the support source candidates. To this end, the calculation unit 111 uses the correction information IA and IB to calculate the correction completion date and time for each task that is a support source candidate included in the generated change schedule (step S106).

[0068] The allocation unit 114 uses the correction completion date and time to determine whether or not a delay will occur in the job including the support source candidate (step S107). If a delay occurs (step S107: Yes), the allocation unit 114 returns to step S104, selects the next highest priority unprocessed support candidate from the candidate list, and repeats the process.

[0069] If no delay occurs (step S107: No), the allocation unit 114 decides to adopt the generated change schedule (step S108).

[0070] The allocation unit 114 determines whether any of the tasks included in the change schedule are behind schedule (step S109). For example, the allocation unit 114 calculates the corrected completion date and time for all job tasks using the same procedure as in step S106, and uses the calculated corrected completion date and time to determine whether any tasks in all jobs are behind schedule. If there is a delay (step S109: Yes), the allocation unit 114 returns to step S104, selects the next highest priority unprocessed support candidate from the candidate list, and repeats the process. If there is no delay (step S109: No), the rescheduling process ends.

[0071] Next, we will explain the details of the optimization process performed by the allocation unit 114.

[0072] The allocation unit 114 performs an optimization process with the aim of calculating the optimal allocation that minimizes the overall job completion time among the combinations of each task and resource for each job. The optimization process takes into account several conditions (C1) to (C4) as follows. (C1) Combination of tasks and resources The system calculates the optimal resource allocation for each task so that the completion time for each job is minimized. (C2) Minimize the task's end date and time. It is also possible to minimize the completion date and time for each individual task. Furthermore, the completion date and time can be minimized when multiple jobs with the same task are grouped together. (C3) Different processing times for each resource The processing time for each task may differ for each resource. This allows for optimal allocation based on the processing time of tasks that vary for each resource. (C4) Consideration of setup time between consecutive tasks You can also consider setup time (such as travel time) between consecutive tasks. This allows for more realistic scheduling.

[0073] To satisfy the above conditions, the allocation unit 114 calculates the optimal resource allocation using the mathematical formulation shown below. The following formula is an example of a mixed-integer linear programming (MILP) problem to solve this problem.

[0074] (1) Decision variable 1.x i,j,k ∈{0,1}: A binary variable indicating whether task i is allocated to resource j and starts at time k. 1 indicates allocation, and 0 indicates no allocation. 2.C i : End date and time of task i 3.S i : Start date and time of task i 4.T i,j Processing time for task i assigned to resource j

[0075] (2) Objective function The objective function for minimizing the task's completion time is expressed by equation (1) below.

number

[0076] To minimize the combined completion time of multiple jobs, use the objective function represented by equation (2) below to find the maximum completion time C for all jobs. max It may be minimized.

number

[0077] (3) Constraints 1. Resource allocation constraint: This constraint indicates that each task must be allocated to one resource, and is expressed by equation (3) below.

number

number

number

number

number

[0078] For example, the constraints in equations (3) to (5) correspond to the constraint that assumes the candidate for support is eligible to provide support.

[0079] The allocation unit 114 uses the above constraints and objective function to determine the optimal resource allocation using a MILP solver. Any MILP solver can be used, but for example, SCIP (Solving Constraint Integer Programs) and Gurobi can be used.

[0080] Based on the allocation results from the optimization process, tasks for each job are processed in the optimal order and with the most resources, minimizing the overall job completion time.

[0081] The allocation unit 114 not only minimizes the completion time for each task, but also optimizes the overall completion time by bundling multiple jobs that have the same task. Furthermore, by considering the different processing times for each resource and the setup time between consecutive tasks, it can provide a more realistic schedule.

[0082] The initial schedule is, for example, a schedule that is generated in advance before the work corresponding to a job actually begins. The initial schedule may also be a schedule that is subject to rescheduling after the work has started, depending on the progress of the work. For example, at a certain point in time (hereinafter referred to as point PA) after the start of work according to the initial schedule or the change schedule determined by the method of this embodiment, rescheduling may be performed using a schedule after point PA as the initial schedule.

[0083] In this case, the method of the above embodiment is applied using a schedule after the time point PA as the initial schedule. This makes it possible to generate a flexible change schedule that allows support to be started and ended on a task-by-task basis or even midway through a task. In other words, it is possible to generate a change schedule that allows support to be started or ended at the appropriate time depending on the progress of the job, thereby maximizing the improvement of the overall job progress.

[0084] Next, we will explain an example of how to calculate correction information (correction information IA, IB). It is desirable that correction information be appropriately set based on the priority of jobs, tasks, and resources in order to generate an efficient change schedule. Correction information is set to a value according to the priority of each job, task, and resource, and is used to determine whether support is possible and when.

[0085] As described above, correction information is defined for each of the multiple jobs. Therefore, the correction information may be set according to the priority of each job. Job priority is determined, for example, based on the progress of the job and its relative importance to other jobs. For example, if a job has a high priority, the value of correction information IA for that job is increased and the value of correction information IB is decreased. This allows resources to be quickly allocated to high-priority jobs and accelerates their progress.

[0086] Next, we will describe in detail the function of the adjustment unit 115, which adjusts the correction information. The adjustment unit 115 is a function for dynamically adjusting the correction information according to the progress of the job and the operating status of resources. This makes it possible to provide appropriate support to tasks that need it and to optimize the overall progress.

[0087] For example, when on-site work instructions are issued based on a change schedule generated by the method of this embodiment, the adjustment unit 115 adjusts the correction information by comparing the change schedule with the work instructions (the schedule adopted based on the change schedule).

[0088] For example, the adjustment unit 115 compares the number of times support is requested in the change schedule with the number of times support instructions are actually given. If the number of times support is requested in the change schedule is higher, the adjustment unit 115 increases the value of correction information IA or decreases the value of correction information IB to make it easier to receive support. If the number of times support is requested in the change schedule is lower, the adjustment unit 115 decreases the value of correction information IA or increases the value of correction information IB to make it harder to receive support. In this case, the correction information for all jobs is subject to adjustment.

[0089] As another example, if on-site work instructions are issued according to the change schedule generated by the method of this embodiment, the adjustment unit 115 may adjust the correction information based on the actual progress of the job (task).

[0090] For example, if the progress of a job (task) is ahead of the change schedule, the adjustment unit 115 will reduce the number of support requests by decreasing the value of correction information IA or increasing the value of correction information IB. If the progress of a job (task) is behind the change schedule, the adjustment unit 115 will increase the number of support requests by increasing the value of correction information IA or decreasing the value of correction information IB.

[0091] As described above, the adjustment unit 115 uses actual data (such as the number of work instructions and progress status) over a certain period. Therefore, when the adjustment unit 115 adjusts the correction information, for example, the acquisition unit 101 acquires actual data over a certain period.

[0092] The specified period can be defined in any way, but for example, it could be defined as follows: • Periods of several months: Allows for adjustments to be made to match busy periods, off-peak seasons, and seasonal trends. • Shift units or periods of several hours within a single day: This allows for frequent adjustment of correction information throughout the day.

[0093] (modified version) So far, we have described examples using correction information defined for each job. Correction information defined for each task may also be used. Below, we will describe a variation that uses correction information defined for each task (hereinafter referred to as correction information IC).

[0094] The correction information IC for each task is set, for example, according to the priority of that task. For example, the higher the priority, the larger the value set for the correction information IC. The correction information IC is used when calculating the correction completion date and time. For example, the calculation unit 111 calculates the correction completion date and time so that the higher the correction information IC (priority), the easier it is to receive support.

[0095] Similar to Figure 3, we will explain using an example of three tasks TA1 to TA3 included in job JA. The correction information IC for tasks TA1, TA2, and TA3 will be represented as correction information IC1, IC2, and IC3. The calculation unit 111 does not use the scheduled end dates and times S1, S2, and S3 as they are, but rather calculates the corrected end date and time by multiplying the scheduled end dates and times S1, S2, and S3 by a coefficient that decreases as the value of correction information IC increases. The coefficient may be, for example, the reciprocal of correction information IC. For example, the calculation unit 111 calculates the corrected end date and time as follows. T1:T2:T3 = S1 / IC1:S2 / IC2:S3 / IC3

[0096] Next, we will explain how to set task priorities. Task priorities are set based, for example, on the impact the task has on the overall job and its dependencies on other tasks.

[0097] Task priority is determined according to the resources allocated in the initial schedule. For example, task priority is determined based on the number of resources allocated in the initial schedule. Tasks with more allocated resources can more easily provide (support) those resources to other tasks. Therefore, the priority of such tasks is set low. This results in a smaller value for the correction information IC of the task, making it less likely to receive support. Tasks with fewer allocated resources are set high. This results in a larger value for the correction information IC of the task, making it easier to receive support.

[0098] Task priorities may be determined based on resource capability information. For example, if a resource has many capabilities, the task assigned to that resource will be given a lower priority. If a resource has few capabilities (specializes in a particular skill), the task assigned to that resource will be given a higher priority. This ensures that tasks where the assigned resource specializes in a particular skill receive priority support.

[0099] Thus, the information processing device of this embodiment can generate a modified schedule by changing the initial schedule using correction information that represents the ease of providing support. This makes it possible to perform rescheduling, which modifies the generated schedule, more efficiently.

[0100] Next, the hardware configuration of the information processing device of the embodiment will be described using Figure 5. Figure 5 is an explanatory diagram showing an example of the hardware configuration of the information processing device of the embodiment.

[0101] The information processing device of this embodiment includes a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication interface 54 that connects to a network for communication, and a bus 61 that connects each part.

[0102] The program to be executed in the information processing device of this embodiment is provided pre-installed in a ROM 52 or the like.

[0103] The program executed by the information processing device of this embodiment may be configured to be provided as a computer program product by recording it in an installable or executable file format onto a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).

[0104] Furthermore, the program executed by the information processing device of the embodiment may be stored on a computer connected to a network such as the Internet and provided by downloading it via the network. Alternatively, the program executed by the information processing device of the embodiment may be provided or distributed via a network such as the Internet.

[0105] The program executed in the information processing device of this embodiment can cause the computer to function as a component of the information processing device described above. This computer can read the program from a computer-readable storage medium onto the main memory and execute it using the CPU 51.

[0106] An example of the configuration of the embodiment is described below. (Configuration Example 1) For an initial schedule that includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time for one or more of the aforementioned tasks, a corrected end date and time is calculated by correcting the end date and time using one or more correction pieces of information defined for each of the multiple jobs. Using the aforementioned correction completion date and time, the recipient candidate, which is a candidate task that will receive resources from tasks included in other jobs, and the provider candidate, which is a candidate task that will provide resources to tasks included in other jobs, are determined. A candidate provider is generated that includes a provider resource, which is a resource assigned to the aforementioned candidate provider, and the aforementioned candidate recipient. By optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, a modified schedule is generated that changes the initial schedule. Processing section An information processing device equipped with the following features. (Configuration example 2) The correction information includes a first correction information which is determined so that a larger value makes it easier to receive resources, and a second correction information which is determined so that a smaller value makes it easier to provide resources. The aforementioned processing unit, The corrected end date and time obtained by correcting the end date and time using the first correction information is calculated as the first corrected end date and time assuming that resources are provided, and the corrected end date and time obtained by correcting the end date and time using the second correction information is calculated as the second corrected end date and time assuming that resources are provided. By comparing the aforementioned end date and time with the aforementioned first correction end date and time, the candidate recipient is determined. The candidate provider is determined by comparing the aforementioned end date and time with the aforementioned second correction end date and time. The information processing device described in Configuration Example 1. (Configuration Example 3) The initial schedule includes a closing date and time, which is the end date and time for each of the multiple jobs. The aforementioned processing unit, The corrected closing date and time are calculated by correcting the aforementioned closing date and time using the correction information. The correction completion date and time are calculated so that one or more of the tasks are completed by the correction deadline date and time. An information processing device as described in Configuration Example 1 or 2. (Configuration example 4) The aforementioned processing unit, The corrected end date is calculated such that the ratio of the scheduled end date and time determined for each of the one or more tasks matches the ratio of the corrected end date and time for each of the one or more tasks. The information processing device described in Configuration Example 3. (Configuration example 5) The aforementioned processing unit, Optimize the allocation of resources to one or more tasks included in each of the multiple jobs in order to minimize the completion time of each of the multiple jobs. An information processing device as described in any one of Configuration Examples 1 to 4. (Configuration example 6) The aforementioned processing unit, Based on the comparison result between the aforementioned change schedule and the schedule adopted based on the aforementioned change schedule, the correction information is adjusted. An information processing device as described in any one of Configuration Examples 1 to 5. (Configuration example 7) The aforementioned processing unit, The correction completion date and time are calculated using correction information determined for each of the one or more of the aforementioned tasks. An information processing device as described in any one of Configuration Examples 1 to 6. (Configuration example 8) An information processing method performed by an information processing device, A step of calculating a corrected end date and time by correcting the end date and time of an initial schedule which includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time of each of the one or more said tasks, using one or more correction pieces of information defined for each of the multiple jobs; The steps include determining, using the aforementioned correction completion date and time, a candidate recipient (a task that will receive resources from a task included in another job) and a candidate provider (a task that will provide resources to a task included in another job), A step of generating a candidate provider that includes a provider resource which is a resource assigned to the candidate provider, and the candidate recipient, The steps include generating a modified schedule by optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, and Information processing methods including (Configuration example 9) On the computer, A step of calculating a corrected end date and time by correcting the end date and time of an initial schedule which includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time of each of the one or more said tasks, using one or more correction pieces of information defined for each of the multiple jobs; The steps include determining, using the aforementioned correction completion date and time, a candidate recipient (a task that will receive resources from a task included in another job) and a candidate provider (a task that will provide resources to a task included in another job), A step of generating a candidate provider that includes a provider resource which is a resource assigned to the candidate provider, and the candidate recipient, The steps include generating a modified schedule by optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, and A program to execute.

[0107] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]

[0108] 100 Information Processing Devices 101 Acquisition Department 102 Output Control Unit 111 Calculation Section 112 Decision Section 113 Generation part 114 Allocation Section 115 Adjustment section 121 Storage section

Claims

1. For an initial schedule that includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time for one or more of the aforementioned tasks, a corrected end date and time is calculated by correcting the end date and time using one or more correction pieces of information defined for each of the multiple jobs. Using the aforementioned correction completion date and time, the recipient candidate, which is a candidate task that will receive resources from tasks included in other jobs, and the provider candidate, which is a candidate task that will provide resources to tasks included in other jobs, are determined. A candidate provider is generated that includes a provider resource, which is a resource assigned to the aforementioned candidate provider, and the aforementioned candidate recipient. By optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, a modified schedule is generated that changes the initial schedule. Processing section An information processing device equipped with the following features.

2. The correction information includes a first correction information which is determined so that a larger value makes it easier to receive resources, and a second correction information which is determined so that a smaller value makes it easier to provide resources. The aforementioned processing unit, The first corrected end date and time obtained by correcting the end date and time using the first correction information, assuming that resources are provided, and the second corrected end date and time obtained by correcting the end date and time using the second correction information, assuming that resources are provided, are calculated. By comparing the aforementioned end date and time with the aforementioned first correction end date and time, the candidate recipient is determined. The candidate provider is determined by comparing the aforementioned end date and time with the aforementioned second correction end date and time. The information processing apparatus according to claim 1.

3. The initial schedule includes a closing date and time, which is the end date and time for each of the multiple jobs. The aforementioned processing unit, The corrected closing date and time are calculated by correcting the aforementioned closing date and time using the correction information. The correction completion date and time are calculated so that one or more of the tasks are completed by the correction deadline date and time. The information processing apparatus according to claim 1.

4. The aforementioned processing unit, The corrected end date is calculated such that the ratio of the scheduled end date and time determined for each of the one or more tasks matches the ratio of the corrected end date and time for each of the one or more tasks. The information processing apparatus according to claim 3.

5. The aforementioned processing unit, Optimize the allocation of resources to one or more tasks included in each of the multiple jobs in order to minimize the completion date and time of each of the multiple jobs. The information processing apparatus according to claim 1.

6. The aforementioned processing unit, Based on the comparison result between the aforementioned change schedule and the schedule adopted based on the aforementioned change schedule, the correction information is adjusted. The information processing apparatus according to claim 1.

7. The aforementioned processing unit, The correction completion date and time are calculated using correction information determined for each of the one or more of the aforementioned tasks. The information processing apparatus according to claim 1.

8. An information processing method performed by an information processing device, A step of calculating a corrected end date and time by correcting the end date and time of an initial schedule which includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time of each of the one or more said tasks, using one or more correction pieces of information defined for each of the multiple jobs, The steps include determining, using the aforementioned correction completion date and time, a candidate recipient (a task that will receive resources from a task included in another job) and a candidate provider (a task that will provide resources to a task included in another job), A step of generating a candidate provider that includes a provider resource which is a resource assigned to the candidate provider, and the candidate recipient, The steps include generating a modified schedule by optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, and Information processing methods including

9. On the computer, A step of calculating a corrected end date and time by correcting the end date and time of an initial schedule which includes resources to be assigned to one or more tasks contained in each of the multiple jobs, and the end date and time of each of the one or more said tasks, using one or more correction pieces of information defined for each of the multiple jobs, The steps include determining, using the aforementioned correction completion date and time, a candidate recipient (a task that will receive resources from a task included in another job) and a candidate provider (a task that will provide resources to a task included in another job), A step of generating a candidate provider that includes a provider resource which is a resource assigned to the candidate provider, and the candidate recipient, The steps include generating a modified schedule by optimizing the allocation of resources to one or more tasks included in each of the multiple jobs using the provided candidates, and A program to execute.