Schedule creation device and schedule creation method

The schedule creation device optimizes execution time and resource allocation by considering resource capacity and movement constraints, addressing the challenges of stringent scheduling conditions and large-scale problems, enabling efficient and timely schedule creation.

JP2026082531APending Publication Date: 2026-05-19HIATACHI POWER SOLUTIONS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HIATACHI POWER SOLUTIONS CO LTD
Filing Date
2024-11-07
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing scheduling technologies struggle with creating schedules under stringent resource constraints, large-scale problems, and urgent schedule creation scenarios, often taking a long time and failing to respond effectively.

Method used

A schedule creation device and method that allocates execution time and resources by considering resource capacity data, movement constraints, and optimizing schedules using units of execution time, while accounting for resource availability and movement times, to ensure efficient allocation even under severe constraints.

Benefits of technology

Enables rapid and effective schedule creation even under stringent conditions, handling scarce resources and large-scale problems, and supports emergency scheduling scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082531000001_ABST
    Figure 2026082531000001_ABST
Patent Text Reader

Abstract

It enables schedule creation even under strict requirements. [Solution] The schedule creation device 100 includes an execution time allocation unit 112 that allocates execution time to tasks, and a resource allocation unit 114 that allocates resources to tasks to which execution time has been allocated. The execution time allocation unit 112 refers to resource capacity data indicating the upper limit of the number of resources that can be allocated for each unit execution time, and allocates execution time consisting of one or more unit execution times to the tasks. If the same resource is allocated to two tasks, the execution time allocation unit 112 may provide an interval between the execution times of those tasks, which is determined according to the resource and the task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a scheduling device and a scheduling method for allocating execution time and resources to tasks.

Background Art

[0002] Scheduling tasks is the operation of allocating execution time (start time and end time) and resources to tasks. For example, scheduling maintenance work in a plant assigns the date and time (execution time) for performing individual tasks (operations) such as inspection and replacement of equipment, devices, and parts that make up the plant. At the same time, scheduling also allocates resources such as workers and equipment required for the tasks.

[0003] As conditions for this allocation, there are essential constraints to be satisfied, such as one resource being allocated to only one task at a time, and there being time periods when no execution time is allocated to a task (such as holidays). In addition, there are also constraints that are desirable conditions, such as minimizing tasks that cannot meet deadlines and minimizing the cost of resource use. Such desirable conditions are quantified as KPIs (Key Performance Indicators). In other words, a schedule that satisfies the essential constraints and maximizes the KPI is required.

[0004] As one of the scheduling methods, there is the technique described in Non-Patent Document 1. In this technique, execution time is allocated to tasks, and then resources are allocated. Specifically, in this technique, assuming that resources are infinite, execution time is allocated to tasks, and then resources are allocated. If resource allocation is impossible, constraints are added and the allocation of execution time is reverted.

Prior Art Documents

Non-Patent Documents

[0005] [[ID=三十一]]

Non-Patent Document 1

[0006] The technology described in Non-Patent Document 1 has several problems: it may not be possible to create a schedule when resources are scarce or severely constrained; it takes a long time to create a schedule for large-scale problems; and it cannot respond to urgent schedule creation. Therefore, there is a need for a technology that can create a schedule even when the conditions for schedule creation, such as resource constraints, problem scale, and creation time, are severe. Urgent schedule creation refers to creating a schedule in a short period of time, such as in the event of a disaster. This invention was made in view of the above background, and aims to provide a schedule creation device and a schedule creation method that enable schedule creation even under strict creation conditions. [Means for solving the problem]

[0007] To solve the above-mentioned problems, the schedule creation device according to the present invention comprises an execution time allocation unit that allocates execution time to tasks, and a resource allocation unit that allocates resources to tasks to which execution time has been allocated. The execution time allocation unit refers to resource capacity data indicating the upper limit of the number of resources that can be allocated for each unit execution time and allocates the execution time, which consists of one or more of the unit execution times, to the tasks. [Effects of the Invention]

[0008] According to the present invention, it is possible to provide a schedule creation device and a schedule creation method that enable schedule creation even under stringent creation conditions. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments. [Brief explanation of the drawing]

[0009] [Figure 1] This is a functional block diagram of the schedule creation device according to this embodiment. [Figure 2] This is a data structure diagram of the task information database according to this embodiment. [Figure 3] This is a data structure diagram of the resource information database according to this embodiment. [Figure 4] This is a data structure diagram of resource capacity data according to this embodiment. [Figure 5] This is a data structure diagram of the movement constraint data according to this embodiment. [Figure 6] This data represents the resource capacity data of a resource whose class / type according to this embodiment is "SDD". [Figure 7] This data shows the resource capacity data of the "SDD" resource after the execution time has been allocated, according to this embodiment. [Figure 8] This data shows the resource capacity data of the "SDD" resource after the execution time of Task B has been accelerated according to this embodiment. [Figure 9] This data represents the resource capacity data of a resource whose class / type according to this embodiment is "SDD". [Figure 10] This data shows the resource capacity data of the "SDD" resource after the execution time has been allocated, according to this embodiment. [Figure 11] This data shows the resource capacity data of the "SDD" resource after the execution time of Task B has been accelerated according to this embodiment. [Figure 12] This is a flowchart of the schedule creation process according to this embodiment. [Figure 13]This is a flowchart of the resource capacity data creation process according to this embodiment. [Figure 14] This is a flowchart of the movement constraint data creation process according to this embodiment. [Figure 15] This is a flowchart of the resource allocation process according to this embodiment. [Figure 16] This is a flowchart of the execution time interval shortening process according to this embodiment. [Figure 17] This is a hardware configuration diagram showing an example of a computer that realizes the functions of the schedule creation device according to the above-described embodiment.

Modes for Carrying Out the Invention

[0010] ≪Overview of Schedule Creation Device≫ The following describes the overview of the schedule creation device in the form (embodiment) for carrying out the present invention. The schedule creation device creates resource capacity data indicating the number of resources for each unit execution time (time slot) obtained by dividing the entire period during which a task is executed into periods of a predetermined length. The schedule creation device allocates execution time to tasks while referring to and updating the resource capacity data. Next, the schedule creation device allocates resources to the tasks to which the execution time has been allocated.

[0011] When the schedule creation device allocates the same resource to two tasks, it allocates execution time to the tasks in consideration of the time during which the resource moves between the tasks. In other words, the schedule creation device allocates execution time and resources to tasks while adding the movement time of the resource as a constraint. For a task to which the execution time has been allocated, if there is free space in the resource before the allocated execution time, the schedule creation device advances the execution time of the task.

[0012] According to such a schedule creation device, even when the creation conditions are strict, schedule creation is possible. For example, even when there are severe constraints such as a small amount of resources, schedule creation is possible. Also, even for problems with a large number of tasks, schedule creation can be achieved within a practical time. In addition, it becomes possible to handle emergency schedule creation such as during a disaster.

[0013] ≪Configuration of the Schedule Creation Device≫ FIG. 1 is a functional block diagram of a schedule creation device 100 according to the present embodiment. The schedule creation device 100 is a computer and includes a control unit 110, a storage unit 120, and an input / output unit 180. User interface devices such as a display, a keyboard, and a mouse are connected to the input / output unit 180. The input / output unit 180 may include a communication device and be capable of data transmission and reception with other devices. Also, a media drive may be connected to the input / output unit 180 to enable data exchange using a recording medium.

[0014] ≪Schedule Creation Device: Storage Unit≫ The storage unit 120 is configured to include storage devices such as a ROM (Read Only Memory), a RAM (Random Access Memory), and an SSD (Solid State Drive). The storage unit 120 stores a task information database 130, a resource information database 140, a constraint information database 150, resource capacity data 160, movement constraint data 170, and a program 128. The program 128 includes descriptions of processes executed by functional units included in the control unit 110 described later. Note that various storage contents of the storage unit 120 may be read as needed from those stored in an external storage device such as a cloud server.

[0015] ≪Storage Unit: Task Information Database≫ Figure 2 is a data structure diagram of the task information database 130 according to this embodiment. The task information database 130 is, for example, tabular data, where one row (record) contains information for one task. The records in the task information database 130 include columns (attributes) for identification information, name, resources, constraints, allocated execution time, and allocated resources.

[0016] The identification information (labeled "ID" in Figure 2) and name are the identification information and name of the task. Resources are those necessary to perform a task. Examples of resources include workers and equipment. A task may require more than one resource. In Figure 2, "SBBL1:3" indicates that three resources of the "SBBL1" class / type are needed. Worker classes / types can also include skills / qualifications. Skills / qualifications may be distinguished by level (e.g., Class 1, Class 2). Constraints are limitations on a task. Examples of constraints include completed tasks that are prerequisites for starting this task, the task's deadline, and time restrictions on execution (e.g., only in the morning).

[0017] The allocated execution time and allocated resources are the execution time and resources that have been allocated. Before schedule creation, the allocated execution time and allocated resources will be blank. Note that the resource listed in the resource attributes refers to the resource's class / type. On the other hand, the resource listed in the allocated resource attributes refers to the individual resource. "R054" in the allocated resource is a resource belonging to "SBBL1" identified as "R054".

[0018] ≪Memory Unit: Resource Information Database≫ Figure 3 is a data structure diagram of the resource information database 140 according to this embodiment. The resource information database 140 is, for example, tabular data, where each row (record) contains information about an individual resource. The records in the resource information database 140 include identification information, type, and usage limit time.

[0019] The identification information (labeled "ID" in Figure 3) is the identification information of the resource. The type is the class / type of resource to which the resource belongs. The usage restriction time is the time when resources cannot be allocated to tasks (e.g., holidays).

[0020] ≪Memory Unit: Constraint Information Database≫ Returning to Figure 1, let's continue the explanation of the memory unit 120. The constraint information database 150 stores information related to constraints on the overall schedule creation process, independent of individual tasks or resources. Examples of such constraints include the fact that individual resources cannot be assigned to multiple tasks simultaneously, that the time it takes to move resources from one task to another should be short, and that it is desirable to have as few tasks that exceed their deadlines as possible.

[0021] These constraints are used to calculate the execution time allocation score (KPI), which is an evaluation value of the time allocation to tasks. For example, the more tasks that are overdue, the worse the execution time allocation score becomes. The more important the task, and the greater the overdue period, the greater the degree of deterioration. Alternatively, the execution time allocation score may be improved as the overall execution time of the tasks decreases.

[0022] ≪Storage Section: Resource Capacity Data≫ Figure 4 is a data structure diagram of the resource capacity data 160 according to this embodiment. The resource capacity data 160 is, for example, tabular data. One row (record) of the resource capacity data 160 indicates the number of resources that can be allocated in each time slot (unit execution time) for one resource type / class. A time slot is a period of predetermined length, which is the unit of execution time allocated to a task. In other words, execution time consists of one or more time slots.

[0023] In the following explanation, the time slot length is assumed to be 30 minutes. In Figure 4, the number of resources of class / type "SBBL1" that can be allocated from 9:00 to 10:00 is 5. If a skill has levels, the number of assignable resources for lower levels should include the number of assignable resources for higher levels. For example, a Class 1 electrician has a wider range of work they can perform than a Class 2 electrician, making it a higher skill level. Therefore, the number of assignable Class 2 electricians should include the number of assignable Class 1 electricians. The same applies to equipment.

[0024] As explained above, when a first resource, which is a higher-level resource (e.g., a Class 1 Electrician), is available as a second resource, which is a lower-level resource (e.g., a Class 2 Electrician), the number of resources that can be allocated to the lower-level resource shown in the resource capacity data 160 includes the number of resources that can be allocated to the higher-level resource.

[0025] ≪Memory Unit: Movement Constraint Data≫ Figure 5 is a data structure diagram of the movement constraint data 170 according to this embodiment. The movement constraint data 170 is, for example, tabular data, and each row (record) includes the attributes of identification information (labeled "ID" in Figure 5), task, resource, and interval. The record indicates that if a resource specified in the resource attribute is assigned to two tasks whose execution times are consecutive, a minimum interval specified in the interval attribute should be provided between the execution times of those tasks. This interval indicates the shortest time required for workers and equipment to move from the completion of one task to the site of the other task.

[0026] The record indicated by the identification information "C023" in Figure 5 indicates the following: If tasks identified as "T032" and "T045" are assigned the same resource belonging to the type / class identified as "SBBL1", there should be a minimum interval of 90 minutes between the end time of "T032" and the start time of "T045".

[0027] ≪Schedule Creation Device: Control Unit≫ Returning to Figure 1, the control unit 110 will be explained. The control unit 110 is composed of a CPU (Central Processing Unit) and includes a resource capacity data creation unit 111, an execution time allocation unit 112, a movement constraint data creation unit 113, a resource allocation unit 114, and an execution time interval shortening unit 115.

[0028] ≪Control Unit: Resource Capacity Data Creation Unit≫ The resource capacity data creation unit 111 generates resource capacity data 160 (see Figure 4) based on the resource information database 140 (see Figure 3). Details of the process will be described later with reference to Figure 13.

[0029] ≪Control Unit: Execution Time Allocation Unit≫ The execution time allocation unit 112 allocates execution time to tasks while referring to and updating the resource capacity data 160 (see Figure 4). More specifically, the execution time allocation unit 112 allocates execution time to a task, consisting of units of execution time for which the resources required for the task are available. After allocation, the execution time allocation unit 112 reduces the number of resources for the allocated execution time. For example, referring to the resource capacity data 160 in Figure 4, five resources can be allocated to the unit of execution time from 09:00 to 09:30 on August 1, 2024. The execution time allocation unit 112 allocates resources to tasks within this limit (using this number as the upper limit).

[0030] The execution time allocation unit 112 may refer to the movement constraint data 170 (see Figure 5) when allocating execution time to a task. For pairs of tasks that use resources of the same class / type, the execution time allocation unit 112 allocates execution time such that the interval specified in the movement constraint data 170 is ensured.

[0031] The execution time allocation unit 112 allocates execution time to tasks using methods such as random allocation, simulated annealing, tabu search, mathematical optimization methods, and genetic algorithms. The objective function in these methods is the execution time allocation score.

[0032] As described above, the schedule creation device 100 includes an execution time allocation unit 112 that allocates execution time to tasks. The execution time allocation unit 112 refers to resource capacity data 160 (see Figure 4), which indicates the upper limit of the number of resources that can be allocated to each unit execution time (time slot), and allocates execution time consisting of one or more unit execution times to a task.

[0033] ≪Control Unit: Movement Constraint Data Creation Unit≫ The movement constraint data creation unit 113 generates movement constraint data 170 (see Figure 5) based on the execution time allocated to the task. Details of the process will be described later with reference to Figure 14.

[0034] ≪Control Unit: Resource Allocation Unit≫ The resource allocation unit 114 allocates resources to tasks for which execution time has been allocated. The resource allocation unit 114 calculates a score for each available resource using one or more evaluation criteria (score calculation criteria) and allocates the resource with the best score to the task. The evaluation criteria are standards for determining the quality of allocating individual resources to a task.

[0035] As an example of evaluation criteria, as shown in the movement constraint data 170 (see Figure 5), there is a criterion that when assigning one resource to two tasks, an interval should be provided between the execution times of the tasks. There is also a criterion that assigning a resource to a task continuously for a long period of time will result in a lower score. Another evaluation criterion is that when assigning a resource to two tasks that are in a sequential order, a short interval between execution times will result in a lower score. The method by which the resource allocation unit 114 allocates resources will be described later with reference to Figure 15.

[0036] As described above, the schedule creation device 100 includes a resource allocation unit 114 that allocates resources to tasks to which execution time has been assigned. The resource allocation unit 114, when the same resource is allocated to two tasks, provides an interval between the execution times of those tasks, which is determined according to the resource and the task. The resource allocation unit 114 calculates a score for the available resources using evaluation criteria, which are standards for determining the quality of resource allocation, and allocates the resource with the best score to the task.

[0037] ≪Control Unit: Execution Time Interval Reduction Unit≫ The execution time interval reduction unit 115 speeds up the execution time of tasks for which execution time and resources have been allocated, if resources are available. However, the execution time interval reduction unit 115 does not speed up the execution time if the execution time allocation score (KPI) deteriorates. The following shows an example of how the execution time interval reduction unit 115 speeds up the execution time of a task.

[0038] Figure 6 shows the resource capacity data 160 for a resource whose class / type is "SDD" according to this embodiment. It indicates that there is only one "SDD" resource. Let's assume that Task A and Task B use this "SDD" resource.

[0039] Figure 7 shows resource capacity data 160 of the "SDD" resource after execution time has been allocated according to this embodiment. Task A is allocated execution time from 13:00 to 14:30, and Task B is allocated execution time from 15:30 to 16:30. The "SDD" resource has free time from 14:30 to 15:30. Assume that it takes 30 minutes for the "SDD" resource to move from Task A to Task B. Assuming there are no other constraints, the execution time of Task B can be advanced by 30 minutes to 15:00 to 16:00.

[0040] Figure 8 shows the resource capacity data 160 of the "SDD" resource after the execution time of task B has been reduced according to this embodiment. As shown above, even when there is only one resource, if there is available time, the execution time can be reduced by taking into account the travel time. Next, an example of a case where the execution times of two tasks overlap is shown.

[0041] Figure 9 shows resource capacity data 160 for a resource whose class / type is "SDD" according to this embodiment. It indicates that there are two "SDD" resources. Let's assume that Task A and Task B use this "SDD" resource.

[0042] Figure 10 shows resource capacity data 160 of the "SDD" resource after execution time has been allocated according to this embodiment. Task A is allocated execution time from 13:00 to 15:00, and Task B is allocated execution time from 14:30 to 16:00. The "SDD" resource has one available slot from 13:00 to 14:30. Assuming no other constraints, the execution time for Task B can be set to 13:00 to 14:30.

[0043] Figure 11 shows the resource capacity data 160 of the "SDD" resource after the execution time of task B has been reduced according to this embodiment. In this way, there are multiple resources, and the execution time can be reduced by allocating different resources to multiple tasks.

[0044] The execution time interval reduction unit 115 optimizes the schedule, especially when the execution time allocation unit 112 allocates execution time to tasks by referring to the movement constraint data 170. The execution time allocation unit 112 allocates execution time to two target tasks so that an interval (referencing the interval in the movement constraint data 170) is ensured that the same resources are allocated to the two tasks. On the other hand, the resource allocation unit 114 does not necessarily allocate the same resources to the two tasks in the process of allocating resources after allocating execution time to tasks. If different resources are allocated, there may be time periods when resources are not available. In such cases, the execution time interval reduction unit 115 optimizes the schedule by advancing the start time of the tasks.

[0045] As described above, the schedule creation device 100 includes an execution time interval shortening unit 115 that, if the resources required for the task with the later start time can be allocated to the unit execution time earlier than the start time of the task, shortens the start time of the task by including that unit execution time in the execution time of the task. The execution time interval shortening unit 115 will not shorten the start time of a task if doing so would worsen the execution time allocation score, which is an evaluation value of the execution time allocation to the task.

[0046] ≪Schedule Creation Process≫ Figure 12 is a flowchart of the schedule creation process according to this embodiment. Prior to the start of the schedule creation process, information related to tasks and resources is already stored in the task information database 130 (see Figure 2) and the resource information database 140 (see Figure 3).

[0047] In step S11, the resource capacity data creation unit 111 executes the resource capacity data creation process. Details of the resource capacity data creation process will be described later with reference to Figure 13. In step S12, the execution time allocation unit 112 repeats the process of allocating execution time to each individual task. In step S13, the movement constraint data creation unit 113 repeats the movement constraint data creation process. Details of the movement constraint data creation process will be described later with reference to Figure 14.

[0048] In step S14, the resource allocation unit 114 executes the resource allocation process. Details of the resource allocation process will be described later with reference to Figure 15. In step S15, the execution time interval reduction unit 115 executes the execution time interval reduction process. Details of the execution time interval reduction process will be described later with reference to Figure 16.

[0049] <<Resource capacity data creation process>> Figure 13 is a flowchart of the resource capacity data creation process according to this embodiment. Step S11 (see Figure 12) will be explained in detail with reference to Figure 13.

[0050] In step S21, the resource capacity data creation unit 111 calculates the number of resources for each class / type in the resource information database 140 (see Figure 3) and creates resource capacity data 160 (see Figure 4). At this point, the number of resources is the same for all time slots.

[0051] In step S22, the resource capacity data creation unit 111 refers to the usage limit time in the resource information database 140 and reduces the number of resources in the time slots whose use is restricted. In step S23, if the class / type has levels, the resource capacity data creation unit 111 adds the number of higher-level resources to the number of lower-level resources in each time slot. For example, when the level increases from level 1 to level 2 and then to level 3, the resource capacity data creation unit 111 adds the number of resources for level 2 and level 3 to the number of resources for level 1.

[0052] ≪Processing to create movement constraint data≫ Figure 14 is a flowchart of the movement constraint data creation process according to this embodiment. Step S13 (see Figure 12) will be explained in detail with reference to Figure 14. In step S31, the movement constraint data creation unit 113 obtains a set of tasks that use resources of the same class / type.

[0053] In step S32, the movement constraint data creation unit 113 starts the process of repeating step S33 for each set obtained in step S31. In step S33, the movement constraint data creation unit 113 calculates the resource's movement time and updates the movement constraint data 170 (see Figure 5).

[0054] Resource allocation process Figure 15 is a flowchart of the resource allocation process according to this embodiment. Step S14 (see Figure 12) will be explained in detail with reference to Figure 15. In step S41, the resource allocation unit 114 arranges the tasks in order of their execution start time, from earliest to latest.

[0055] In step S42, the resource allocation unit 114 starts the process of repeating steps S43 to S47 in the order of the tasks listed in step S41. In step S43, the resource allocation unit 114 starts the process of repeating steps S44 to S46 for each resource used by the task.

[0056] In step S44, the resource allocation unit 114 starts the process of repeating step S45 for each resource evaluation criterion. In step S45, the resource allocation unit 114 calculates the resource score according to the evaluation criteria.

[0057] In step S46, the resource allocation unit 114 calculates the resource allocation score by summing the scores calculated in step S45. The resource allocation unit 114 may also calculate the resource allocation score by weighting it according to the evaluation criteria. In step S47, the resource allocation unit 114 allocates the resource with the best evaluation score calculated in step S46 to the task.

[0058] ≪Processing to shorten execution time interval≫ Figure 16 is a flowchart of the execution time interval reduction process according to this embodiment. Step S15 (see Figure 12) will be explained in detail with reference to Figure 16. In step S51, the execution time interval reduction unit 115 arranges the tasks in order of their earliest execution start time. In step S52, the execution time interval reduction unit 115 starts the process of repeating steps S53 to S56 in the order of the tasks listed in step S51.

[0059] In step S53, the execution time interval reduction unit 115 determines whether it is possible to advance the start time. It is possible to advance the start time if there are resources available to allocate in a time slot earlier than the current start time (see Figures 6 to 11). If it is possible (step S53 → possible), the execution time interval reduction unit 115 proceeds to step S54. If it is not possible (step S53 → impossible), the execution time interval reduction unit 115 returns to step S53 and processes the next task.

[0060] In step S54, the execution time interval reduction unit 115 calculates the execution time allocation score when the task start time is brought forward. In step S55, if the execution time allocation score improves (step S55 → YES), the execution time interval reduction unit 115 proceeds to step S56. If the execution time allocation score does not improve (step S55 → NO), the execution time interval reduction unit 115 returns to step S53 and processes the next task. In step S56, the execution time interval reduction unit 115 advances the start time of the task.

[0061] Features of the Schedule Creation Device The scheduling device 100 allocates execution time to tasks while referring to and updating resource capacity data 160 (see Figure 4). Furthermore, when the scheduling device 100 allocates the same resource to two tasks, it considers the time required for resource transfer between tasks (see Figure 7) when allocating execution time to the tasks. Additionally, if there is available resource before the allocated execution time, the scheduling device 100 accelerates the execution time of that task.

[0062] This scheduling device 100 allows for the allocation of execution time to tasks, in addition to the constraint of resource travel time. Furthermore, it enables scheduling even under strict conditions. For example, it allows scheduling even when resources are scarce or under other severe constraints. It also enables scheduling within a practical timeframe, even when dealing with a large number of tasks. Additionally, it can handle emergency scheduling, such as during a disaster.

[0063] ≪Variations≫ The schedule creation device 100 may also include a constraint information generation unit, such as a resource capacity data creation unit 111 or a movement constraint data creation unit 113, which generates constraint information that is referenced when allocating execution time to a task based on resource information and task information. That is, the constraint information generation unit generates constraint information based on resource information and / or task information that the schedule creation device is targeting for scheduling, such as resource information and task information. The execution time allocation unit 112 of the schedule creation device 100 may refer to the constraint information generated by the constraint information generation unit and allocate execution time to a task. The constraint information is, for example, resource capacity data 160 (see Figure 4) or movement constraint data 170 (see Figure 5). By referring to constraint information when allocating execution time to a task, it is possible to reduce the number of cases where resources cannot be allocated to a task and the process returns to allocating execution time.

[0064] As described above, the scheduling device 100, which assigns execution time to tasks and allocates resources to tasks to which execution time has been assigned, includes a constraint information generation unit that generates constraint information to be referenced when assigning execution time to tasks, based on the task and / or resource information. The execution time allocation unit 112 refers to the constraint information and allocates execution time to the task.

[0065] <<Other variations>> Although embodiments and variations of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. The present invention can take many other embodiments, and various modifications such as omissions and substitutions 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 described herein, and are included in the scope of the invention and its equivalents as described in the claims.

[0066] Hardware Configuration The schedule creation device 100 according to the above embodiment is implemented by a computer 900 having a configuration such as that shown in Figure 17. Figure 17 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the schedule creation device 100 according to the above embodiment. The computer 900 includes a CPU 901, ROM 902, RAM 903, SSD 904, input / output interface 905 (labeled as input / output I / F (Interface) in Figure 17), communication interface 906 (labeled as communication I / F in Figure 17), and media interface 907 (labeled as media I / F in Figure 17). The computer 900 may be equipped with an HDD (Hard Disk Drive) instead of the SSD 904, or it may be equipped with an HDD in addition to the SSD 904.

[0067] The CPU 901 operates based on programs stored in the ROM 902 or SSD 904 and is controlled by the control unit 110 in Figure 1. The ROM 902 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.

[0068] The CPU 901 controls input devices 910, such as a mouse and keyboard, and output devices 911, such as a display and printer, via the input / output interface 905. The CPU 901 acquires data from the input devices 910 and outputs the generated data to the output devices 911 via the input / output interface 905.

[0069] SSD904 stores programs executed by CPU901 and data used by those programs. Communication interface906 receives data from other devices (not shown) via the communication network and outputs it to CPU901, and also transmits data generated by CPU901 to other devices via the communication network.

[0070] The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 can be an optical recording medium such as a DVD (Digital Versatile Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, a conductive memory tape medium, or a semiconductor memory.

[0071] For example, when computer 900 functions as a schedule creation device 100 according to the above embodiment, the CPU 901 of computer 900 realizes the functions of the schedule creation device 100 by executing a program 128 (see Figure 1) loaded on RAM 903. The CPU 901 reads the program from the recording medium 912 and executes it. In addition, the CPU 901 may read the program from another device via a communication network, or it may install the program 128 from the recording medium 912 to the SSD 904 and execute it. [Explanation of Symbols]

[0072] 100 Schedule creation device 111 Resource Capacity Data Creation Section 112 Execution Time Allocation Unit 113 Movement Constraint Data Creation Unit 114 Resource Allocation Section 115 Execution time interval reduction unit 128 Programs 130 Task Information Database 140 Resource Information Database 150 Constraint Information Database 160 Resource Capacity Data 170 Movement constraint data

Claims

1. An execution time allocation unit that allocates execution time to tasks, The system includes a resource allocation unit that allocates resources to tasks to which the aforementioned execution time has been allocated, The execution time allocation unit is, By referring to resource capacity data that indicates the upper limit of the number of resources that can be allocated per unit execution time, the execution time, which consists of one or more of the aforementioned unit execution times, is allocated to the task. Schedule creation device.

2. The resource allocation unit, When the same resource is assigned to two tasks, During the execution time of the task, an interval will be set, which will depend on the resources and the task. The schedule creation device according to claim 1.

3. If, among two tasks whose execution start times are one after the other, the resources required for the task with the later start time can be allocated to the unit execution time earlier than that start time, The system further includes an execution time interval shortening unit that shortens the start time of the task by including the unit execution time in the execution time of the task. The schedule creation device according to claim 1.

4. The execution time interval shortening unit is, If advancing the start time of the aforementioned task would worsen the execution time allocation score, which is an evaluation value of the execution time allocation to the task, then the start time of that task should not be advanced. The schedule creation device according to claim 3.

5. The resource allocation unit, For each of the available resources, a score is calculated using evaluation criteria, which are standards for determining the quality of resource allocation, and the resource with the best score is assigned to the task. The schedule creation device according to claim 1.

6. When the first resource, which is the higher-level resource, is available as the second resource, which is the lower-level resource, The number of resources that can be allocated to the lower-level resources shown in the resource capacity data includes the limit on the number of resources that can be allocated to the higher-level resources. The schedule creation device according to claim 1.

7. A scheduling device that assigns execution time to tasks and allocates resources to the tasks to which execution time has been assigned, A constraint information generation unit generates constraint information to be referenced when allocating execution time to the task, based on the information of the task and / or the resource; An execution time allocation unit that refers to the constraint information and allocates execution time to the task, The system includes a resource allocation unit that allocates the resources to tasks to which the execution time has been allocated. Schedule creation device.

8. The scheduling device, The steps include allocating execution time to a task, The steps include: allocating resources to the task to which the aforementioned execution time has been allocated, In the step of allocating the execution time, By referring to resource capacity data that indicates the upper limit of the number of resources that can be allocated per unit execution time, the execution time, which consists of one or more of the aforementioned unit execution times, is allocated to the task. How to create a schedule.