Scheduling device, scheduling method, and scheduling program

The scheduling device and method address the limitation of existing methods by dividing rounds into blocks and repeating task combinations, enhancing the efficiency and reward maximization for multi-round tasks.

JP7835280B2Active Publication Date: 2026-03-25NEC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-18
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Existing scheduling methods, such as those described in Non-Patent Document 1, are inadequate for tasks that require multiple rounds of execution, limiting the ability to maximize total rewards.

Method used

A scheduling device and method that acquires rewards and round requirements for tasks, dividing rounds into blocks and selecting task combinations to be executed in each block to ensure the same combination is repeated, thereby maximizing parallel execution and total rewards.

Benefits of technology

The solution enables efficient scheduling of tasks requiring multiple rounds, significantly increasing the total amount of rewards obtained even when the probability distribution of round requirements and rewards is unknown.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007835280000011
    Figure 0007835280000011
  • Figure 0007835280000012
    Figure 0007835280000012
  • Figure 0007835280000013
    Figure 0007835280000013
Patent Text Reader

Abstract

In order to implement a scheduling technology capable of scheduling tasks, the execution of which requires two or more rounds, a scheduling device (1) is provided with: an acquisition unit (11) that acquires a reward earned by each task to be completed in each round and the number of rounds required by the task; and a selection unit (12) that refers to the earned rewards and the required number of rounds acquired by the acquisition unit (11), and selects a combination of tasks to start to be executed in each round. The selection unit (12) divides a set of rounds into a plurality of blocks, and selects the combination of tasks to start to be executed in each round so that the same combination of tasks is executed in each round belonging to the same block.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a scheduling device, a scheduling method, and a scheduling program for solving combinatorial scheduling problems. [Background technology]

[0002] To efficiently utilize various resources, a scheduling method is necessary that assigns each task to the appropriate resource at the appropriate time. For example, to efficiently utilize human resources at a work site, a scheduling method is required that ensures each task is performed by the appropriate worker at the appropriate time.

[0003] One example of a document disclosing a computer-based scheduling method is Non-Patent Document 1. Non-Patent Document 1 discloses an algorithm for solving a semi-bandit combinatorial scheduling problem. [Prior art documents] [Non-patent literature]

[0004] B. Kveton, Z. Wen, A. Ashkan, and C. Szepesvari. Tight regret bounds for stochastic combinatorial semi-bandits. In Artificial Intelligence and Statistics, pages 535-543, 2015. [Overview of the project] [Problems that the invention aims to solve]

[0005] However, the scheduling method described in Non-Patent Document 1 only considers tasks that can be completed in each round. Therefore, it is not possible to schedule tasks that require two or more rounds to be executed.

[0006] One aspect of the present invention has been made in view of the above-mentioned problems, and aims to realize a scheduling technology that can schedule tasks requiring two or more rounds to be executed, and that can sufficiently increase the total amount of rewards obtained. [Means for solving the problem]

[0007] A scheduling device according to one aspect of the present invention includes an acquisition means for acquiring the rewards earned and the number of rounds required for tasks to be completed in each round, and a selection means for selecting a combination of tasks to be started in each round by referring to the rewards earned and the number of rounds required acquired by the acquisition means, wherein the selection means divides a set of rounds into a plurality of blocks and selects a combination of tasks to be started in each round so that the same combination of tasks is executed in each round belonging to the same block.

[0008] A scheduling method according to one aspect of the present invention includes an acquisition process in which at least one processor acquires the rewards to be completed and the number of rounds required for tasks to be completed in each round, and a selection process in which the processor refers to the rewards to be completed and the number of rounds required for tasks to be completed in each round and selects a combination of tasks to be completed in each round, wherein in the selection process the processor divides the set of rounds into a plurality of blocks and selects a combination of tasks to be completed in each round such that the same combination of tasks is executed in each round belonging to the same block.

[0009] Furthermore, a scheduling program according to one aspect of the present invention is a scheduling program that causes a computer to operate as the scheduling device, wherein the computer functions as each of the means provided by the scheduling device. [Effects of the Invention]

[0010] According to the present invention, a scheduling technology is available that can schedule tasks requiring two or more rounds to be executed, and that can achieve a sufficiently large total amount of rewards. [Brief explanation of the drawing]

[0011] [Figure 1] This is a block diagram showing the configuration of a scheduling device according to an exemplary embodiment. [Figure 2] This is a flowchart illustrating the flow of a scheduling method according to an exemplary embodiment. [Figure 3] Figure 2 is a flowchart illustrating a specific example of the selection process included in the scheduling method shown. [Figure 4] Figure 1 is a block diagram showing the configuration of a computer that functions as a scheduling device. [Modes for carrying out the invention]

[0012] Exemplary embodiments of the present invention will be described in detail below with reference to the drawings.

[0013] [Combinatorial Scheduling Problem] A set of tasks [n] = {1, 2, ..., n}, and a set of combinations of tasks that can be executed in parallel in the same round A ⊆ 2 [n] Let be given . Here, 2 [n] represents the set of all subsets of the task set [n]. The problem of selecting a combination of tasks At to start execution in each round t∈[T] that maximizes the sum of earned rewards is called the "combinatorial scheduling problem". However, the combination of tasks At to start execution in each round t∈[T] must satisfy the following conditions 1 and 2.

[0014] Condition 1: At∩At'=φ, Condition 2: At∪At'∈A.

[0015] Here, At’ is a combination of tasks that are continuously being executed, and At’ = {i ∈ [n] | ∃s < t, i ∈ As, s + c si ≧ t} is defined. Hereinafter, the set of combinations of tasks {At ⊆ [n] | At ∩ At’ = φ, At ∪ At’ ∈ A} that satisfy the above conditions 1 and 2 is described as the effective region Ft.

[0016] For a task i ∈ [n] that starts execution in round t ∈ [T], the number of rounds required for the execution of that task is denoted as the required number of rounds c t,i and the reward obtained after the execution of that task is denoted as the obtained reward r t,i . Among the combinatorial scheduling problems, the problem where the probability distribution D that the pair (c t,i , r t,i ) follows is unknown is called the "bandit-type combinatorial scheduling problem". In this specification, this bandit-type combinatorial scheduling problem is considered. t,i , r t,i ) is unknown is called the "bandit-type combinatorial scheduling problem". In this specification, this bandit-type combinatorial scheduling problem is considered.

[0017] By solving the bandit-type combinatorial scheduling problem, efficient scheduling can be realized in a situation where it is difficult to estimate in advance the required number of rounds and the obtained reward, and there are restrictions on the combinations of tasks that can be executed in parallel. The target tasks are not particularly limited, but for example, the following specific examples can be considered.

[0018] Specific Example 1 (Scheduling in a Computer): The problem of determining a combination of computational tasks to be executed in parallel at each timing (round) from a set of computational tasks. In this case, for example, due to constraint conditions such as hardware resources (CPU, GPU, memory, etc.) and power that handle computational tasks, the set A of combinations of computational tasks that can be executed in parallel is determined.

[0019] Specific Example 2 (Scheduling at a Work Site): This problem involves determining the combination of work tasks to be performed in parallel at each timing (round) from a set of work tasks. In this case, for example, the set A of work task combinations that can be performed in parallel is determined by constraints such as the human resources (number of workers, skills of each worker, etc.) and budget.

[0020] Specific Example 3 (Scheduling in a Delivery Network): This problem involves determining the combination of delivery tasks to be executed in parallel at each timing (round) from a set of delivery tasks. Here, each delivery task is represented, for example, as a pair of a source and a destination. In this case, a set A of possible combinations of delivery tasks that can be executed in parallel is determined by constraints such as the number of mobile units (e.g., trucks) handling the delivery tasks, the amount of goods supplied at each source, and the amount of goods demanded at each destination.

[0021] Specific Example 4 (Scheduling in a Factory or Plant): This problem involves determining combinations of manufacturing tasks (manufacturing processes) to be performed in parallel at each timing (round) from a set of manufacturing tasks (manufacturing processes). In this case, for example, a set A of combinations of manufacturing tasks that can be performed in parallel is determined based on constraints such as the manufacturing equipment responsible for each manufacturing task and the order in which the manufacturing tasks are performed.

[0022] In many cases, a set A of combinations of tasks that can be executed in parallel in the same round is characterized by a polyhedron, that is, a matrix M ∈ R whose elements are non-negative real numbers. ≧0 m×n And a vector v ∈ R whose elements are non-negative real numbers. ≧0 m There exists a set of instruction vectors P that represent combinations of tasks that can be executed in parallel in the same round, and P = {a ∈ {0, 1} n This is given by |Ma≦v}. Here, an indicator vector representing a combination of tasks is a vector whose i-th component is 1 if the combination includes task i∈[n], and whose i-th component is 0 if the combination does not include task i∈[n].

[0023] For example, consider the case where m resources are used to execute n tasks. The combination of resources Si ⊂ [m] required to execute each task i ∈ [n] is given by, and the maximum number of tasks v that each resource j ∈ [m] can execute in parallel is given by. j ∈Z ≧0 Given the constraint, the set A of combinations of tasks that can be executed in parallel in the same round is characterized by a polyhedron. In fact, the matrix M ∈ {0,1} m×n ji component M ji We define this as 1 when j ∈ Si, and 0 otherwise. Also, the vector v ∈ {0,1} m component i v i We define this as 1 when task i is running and 0 otherwise. Then, the instruction vector a representing combinations of tasks that can be executed in parallel in the same round satisfies Ma ≤ v.

[0024] [Configuration of the scheduling device] The configuration of the scheduling device 1 according to this exemplary embodiment will be described with reference to Figure 1. Figure 1 is a block diagram showing the configuration of the scheduling device 1.

[0025] The scheduling device 1 is a device for solving the bandit-type combinatorial scheduling problem described above, and as shown in Figure 1, it comprises an acquisition unit 11 and a selection unit 12.

[0026] The acquisition unit 11, in each round t∈[T], determines the number of rounds required for each task i∈[n] that was completed at the end of the round t-1 preceding round t, c. t’,i and acquired rewards r t’,i This is a means to obtain [the result]. Here, t' represents the round in which the execution of task i began.

[0027] The selection unit 12 determines the required number of rounds c acquired by the acquisition unit 11 up to the end of the round t-1 preceding round t in each round t∈[T].t’,i and acquired rewards r t’,i This is a means for selecting a combination of tasks At to start execution in that round t by referring to [ ]. The selection unit 12 divides the set of rounds [T] into multiple blocks and ensures that the same combination of tasks is executed in each round belonging to the same block, for each round t ∈ [ T Select the combination of tasks At that time to start execution.

[0028] By executing the same combination of tasks in each round belonging to the same block, it becomes possible to increase the number of tasks executed in parallel in each round, and by selecting the combination of tasks to be executed for each block, it becomes possible to search for the combination of tasks that yields the largest reward. Therefore, according to the scheduling device 1, the required number of rounds c t,i and acquired rewards t,i The opposite of (c t,i ,r t,i Even if the probability distribution D that follows is unknown, the total amount of rewards obtained can be made sufficiently large.

[0029] [Scheduling method flow] The flow of the scheduling method S1 according to this exemplary embodiment will be explained with reference to Figure 2. Figure 2 shows the flow of the scheduling method S1. flowchart That is the case.

[0030] The scheduling method S1 is a method for solving the banded combinatorial scheduling problem described above, and as shown in Figure 2, it includes an acquisition process S11 and a selection process S12. In this embodiment, the scheduling method S1 is executed by the scheduling device 1.

[0031] In the acquisition process S11, for each task i ∈ [n] that completed execution at the end of the round t-1 preceding round t in each round t ∈ [T], the number of rounds required for that task i c t’,i and acquired rewards r t’,iThis is a process for obtaining the data. Here, t' represents the round in which the execution of task i began. In this embodiment, the acquisition process S11 is performed by the acquisition unit 11 of the scheduling device 1.

[0032] The selection process S12 determines the number of required rounds c obtained in the acquisition process S11 by the end of the round t-1 preceding round t for each round t∈[T]. t’,i and acquired rewards r t’,i This process selects a combination of tasks At to begin execution in round t by referring to [a specific reference]. In this embodiment, the selection process S12 is performed by the selection unit 12 of the scheduling device 1.

[0033] In the selection process S12, the selection unit 12 divides the set of rounds [T] into multiple blocks, and in each round belonging to the same block, the same combination of tasks is executed, so that each round t∈[ T Select the combination of tasks At that time to start execution.

[0034] By executing the same combination of tasks in each round belonging to the same block, it becomes possible to increase the number of tasks executed in parallel in each round, and by selecting the combination of tasks to be executed for each block, it becomes possible to search for the combination of tasks that yields the largest reward. Therefore, according to scheduling method S1, the number of rounds required is c. t,i and acquired rewards t,i The opposite of (c t,i ,r t,i Even if the probability distribution D that follows is unknown, the total amount of rewards obtained can be made sufficiently large.

[0035] [Specific examples of selection processes] A set of tasks [n], a set of combinations of tasks A that can be executed in parallel in the same round, and the number of rounds c required for each task i∈[n]. t,i Lower world C - (In Table 1, there is a minus sign below C) and upper bound C -(Assume that a minus sign (-) is given above C in Table 1.) In this case, the inventors have found that the sum of the rewards obtained can be made sufficiently large by the following algorithm 1. Here, "sufficiently large sum of the rewards obtained" means that R T =E[(Number of rounds required c) t,i and acquired rewards t,i The opposite of (c t,i ,r t,i Regret R is defined by (sum of rewards obtainable by the optimal schedule when the probability distribution D followed by the system is known) - (sum of rewards obtainable by the schedule determined by Algorithm 1 shown in Table 1 below). T However, R T = O(n(TlnT)) 1 / 2 This refers to satisfying the condition ). Here, E[·] represents the expected value of ·. [Table 1]

[0036] Below, a specific example of the selection process S12 obtained by implementing this algorithm will be explained with reference to Figure 3. Note that this algorithm is merely one example of this exemplary embodiment, and this exemplary embodiment should not be interpreted as being limited to this algorithm.

[0037] Figure 3 is a flowchart showing a specific example of the selection process S12 related to this example. As shown in Figure 3, the selection process S12 includes a variable setting step S121, an estimated reward calculation step S122, a task selection step S123, a block length setting step S124, a task output step S125, a variable update step S126, and a round update step S127. The estimated reward calculation step S122, the task selection step S123, and the block length setting step S124 are processes executed in the first round of each block. The task output step S125, the variable update step S126, and the round update step S127 are processes executed in each round of each block.

[0038] Variable setting step S121 involves setting the round number t and the variable N. i (t), C i (t),R i This is a step to perform the initial setup of (t). In the variable setting step S121, the selection unit 12 sets the round number t to t=1 and, for each task i∈[n], sets the variable N i (t), C i (t),R i (t) Initial value N i (1), C i (1), R i (1) to N i (1) = 0, C i (1) = 0, R i Set (1) to 0.

[0039] Here, the variable N i (t) is a variable that indicates the number of times task i has completed execution up to the block preceding the block to which round t belongs. Also, variable C i (t) is a variable that represents the cumulative number of rounds required for task i up to the block preceding the block to which round t belongs. Also, the variable R i (t) is a variable that shows the cumulative value of the rewards earned by task i up to the block preceding the block to which round t belongs.

[0040] The estimated reward calculation step S122 calculates the estimated reward q for each task i∈[n]. i This is a step to calculate (t). Here, the estimated reward q i This represents the UCB (Upper Confidence Bound) of the expected reward per round. In the estimated reward calculation step S122, the selection unit 12 calculates the estimated reward q for each task i∈[n]. i (t) is the average number of rounds required for that task i, c^ i (t) (where ^ is above c in equation A1) the LCB (Lower Confidence Bound), and the average reward r^ for task i. i (t) (where ^ is above r in equation A1) is calculated using the UCB (Upper Confidence Bound). For example, the selection unit 12 estimates the reward q for each task i∈[n].i (t) to N i If (t)=0, then q i (t) = 1 / C ― Calculate according to the formula below; otherwise, calculate according to formula (1) below.

number

[0041] The task selection step S123 is a step for selecting a combination of tasks As' to be executed in block s. In the task selection step S123, the selection unit 12 calculates the estimated reward q for each task i∈[n] calculated in the estimated reward calculation step S122. i By referring to (t), the selection unit 12 selects a combination of tasks As' to be executed in block s. For example, the selection unit 12 selects a combination of tasks As' to be executed in block s according to the following equation (2). That is, the selection unit 12 selects an estimated reward q from among combinations of tasks that can be executed in parallel in the same round. i The combination of tasks that maximizes the sum of (t) is selected as the combination of tasks As' to be executed in block s.

number

[0042] The block length setting step S124 is a step for setting the block length bs of block s. In the block length setting step S124, the selection unit 12 determines the required number of rounds c for each task i∈[n]. t,i Lower world C - and upper bound C - The block length bs of block s is calculated using this method. For example, the selection unit 12 sets the block length bs of block s according to the following equation (3).

number

[0043] The task output step S125 is a step for outputting, as a result of the selection process S12, a combination At of tasks that newly start execution in round t. In the task output step S125, the selection unit 12 outputs, as a combination At of tasks that newly start execution in round t, a combination of all available tasks (all tasks that are not in continuous execution) among the tasks included in the task combination As’ selected in the task selection step S123. <00 / / 0303> The variable update step S126 is a step for updating the variables N i (t), C i (t), R i [[ID=1 / / 0]](t). In the variable update step S126, the selection unit 12 updates the variables N t’,i and the obtained reward r t’,i by referring to the required number of rounds c i (t), C i (t), R i (t). For example, the selection unit 12 updates the variables N i (t + 1)=N i (t)+1, C i (t + 1)=C i (t)+c t’,i , R< / / 000090>(t + 1)=R i (t)+r t’,i in accordance with. The variables N i (t), C i (t), R i (t) are updated. If there are no tasks that complete execution in round t, the selection unit 12 updates the variables N i (t + 1)=N i (t), C i (t + 1)=C<00000 / / 9>(t), R i (t + 1)=R i (t) in accordance with. The variables N i (t), C n i (t), R i (t) are updated.

[0045] The round update step S127 is a step for updating the round t to be processed. In the round update step S127, the selection unit 12 increments the round t to be processed by 1 (t←t+1).

[0046] According to the selection process S12 shown in Figure 3, R T =E[(Number of rounds required c) t,i and acquired rewards t,i The opposite of (c t,i ,r t,i (The sum of rewards obtainable by the optimal schedule when the probability distribution D that follows is known) - ( the above Regret R is defined by the sum of rewards that can be obtained according to the schedule determined by Algorithm 1 shown in Table 1. T O(n(TlnT) 1 / 2 ) can be kept down to that level.

[0047] [Examples of implementation using software] Some or all of the functions of the scheduling device 1 may be implemented by hardware such as integrated circuits (IC chips), or by software. In the latter case, the functions of each part of the scheduling device 1 are implemented, for example, by a computer that executes instructions for a software program.

[0048] An example of such a computer (hereinafter referred to as Computer C) is shown in Figure 4. As shown in Figure 4, Computer C comprises at least one processor C1 and at least one memory C2. The memory C2 stores a program P for operating Computer C as a scheduling device 1. In Computer C, the processor C1 reads and executes the program P from the memory C2, thereby realizing the functions of each part of the scheduling device 1.

[0049] Processor C1 can include, for example, a CPU (Central Processing Unit), GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating Point Number Processing Unit), PPU (Physics Processing Unit), microcontroller, or a combination thereof. Memory C2 can include, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), or a combination thereof.

[0050] Computer C may also be equipped with RAM (Random Access Memory) for loading program P at runtime and for temporarily storing various data. Computer C may also be equipped with a communication interface for sending and receiving data with other devices. Furthermore, Computer C may be equipped with an input / output interface for connecting input devices such as a keyboard and mouse, and / or output devices such as a display and printer.

[0051] Furthermore, program P can be recorded on a non-temporary, tangible recording medium M that is readable by computer C. Such a recording medium M could be, for example, tape, disk, card, semiconductor memory, or programmable logic circuitry. Computer C can acquire program P via such a recording medium M. Program P can also be transmitted via a transmission medium. Such a transmission medium could be, for example, a communication network or broadcast waves. Computer C can also acquire program P via such a transmission medium.

[0052] [Additional Note 1] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. For example, embodiments obtained by appropriately combining the technical means disclosed in the embodiments described above are also included in the technical scope of the present invention.

[0053] [Additional Note 2] Some or all of the embodiments described above may also be described as follows. However, the present invention is not limited to the embodiments described below.

[0054] (Note 1) A means of obtaining the rewards and the number of rounds required for tasks that are completed in each round, The system includes a selection means that references the acquired reward and the required number of rounds obtained by the acquisition means and selects a combination of tasks to be started in each round, The selection means divides the set of rounds into multiple blocks and selects a combination of tasks to start execution in each round so that the same combination of tasks is executed in each round belonging to the same block. Scheduling device.

[0055] (Note 2) The selection means, for each block, (i) calculates the estimated reward for each task using the LCB (Lower Confidence Bound) of the average number of rounds required for the task and the UCB (Upper Confidence Bound) of the average reward earned for the task, and (ii) selects the combination of tasks to be executed in the block from among the combinations of tasks that can be executed in parallel in the same round, such that the sum of the estimated rewards of each task is maximized. The scheduling device described in Appendix 1.

[0056] (Note 3) The selection means, for each block s, (i) estimates the reward q of each task i. i(t) is calculated according to the following formula (1), and (ii) a combination of tasks A's to be executed in the block s is selected according to the following formula (2), The scheduling device described in Appendix 2.

number

number

[0057] Here, C - (In equation (1), the minus sign under C indicates a lower bound on the number of rounds required for task i, and C - (In equation (1), the minus sign above C) indicates an upper bound on the number of rounds required for task i, and N i (t) indicates the number of times task i has completed execution up to the block preceding the block to which round t belongs, C i (t) represents the cumulative number of rounds required for task i up to the block preceding the block to which round t belongs, and R i (t) represents the cumulative value of the rewards earned by task i up to the block preceding the block to which round t belongs, and A (the letter A in equation (2)) represents the set of combinations of tasks that can be executed in parallel in the same round.

[0058] (Note 4) The selection means calculates the block length of each block using the lower and upper bounds C of the required number of rounds for each task. A scheduling device as described in any one of the appendices 1 to 3.

[0059] (Note 5) The selection means calculates the block length bs of each block s according to the following formula (3): The scheduling device described in Appendix 3.

number

[0060] (Note 6) At least one processor performs an acquisition process to obtain the rewards earned and the number of rounds required for tasks that complete execution in each round, The processor includes a selection process which refers to the acquired reward and the required number of rounds acquired in the acquisition process and selects a combination of tasks to start executing in each round. In the selection process, the processor divides the set of rounds into multiple blocks and selects a combination of tasks to start execution in each round so that the same combination of tasks is executed in each round belonging to the same block. Scheduling method.

[0061] (Note 7) At least one processor, A means of obtaining the rewards and the number of rounds required for tasks that are completed in each round, The acquisition means refers to the acquired rewards and the required number of rounds, and functions as a selection means that selects a combination of tasks to be started in each round. The selection means divides the set of rounds into multiple blocks and selects a combination of tasks to start execution in each round so that the same combination of tasks is executed in each round belonging to the same block. Scheduling program.

[0062] [Additional Note 3] Some or all of the embodiments described above can also be expressed as follows:

[0063] (Note 8) Equipped with at least one processor, The aforementioned processor, The process involves obtaining the rewards earned and the number of rounds required for tasks that are completed in each round. Referencing the acquired rewards and required number of rounds obtained in the acquisition process, a selection process is performed to select a combination of tasks to start executing in each round. In the selection process, the processor divides the set of rounds into multiple blocks and selects a combination of tasks to start execution in each round so that the same combination of tasks is executed in each round belonging to the same block. Scheduling device.

[0064] Furthermore, this scheduling device may also be equipped with memory, and this memory may store a program that causes the processor to execute the acquisition process and selection process. This program may also be recorded on a computer-readable, non-temporary, tangible recording medium. [Explanation of Symbols]

[0065] 1. Scheduling device 11 Acquisition unit (acquisition means) 12 Selection unit (selection means) S1 Scheduling Method S11 Acquisition process S12 Selection Process

Claims

1. A means of obtaining the rewards and the number of rounds required for tasks that are completed in each round, The system includes a selection means that references the acquired reward and the required number of rounds obtained by the acquisition means and selects a combination of tasks to be started in each round, The selection means divides the set of rounds into multiple blocks and selects a combination of tasks to be started in each round such that the combination of tasks assigned to each round belonging to the same block is the same. The selection means, for each block, (i) calculates the estimated reward for each task using the LCB (Lower Confidence Bound) of the average number of rounds required for the task and the UCB (Upper Confidence Bound) of the average reward earned for the task, and (ii) selects the combination of tasks to be executed in the block from among the combinations of tasks that can be executed in parallel in the same round, such that the sum of the estimated rewards of each task is maximized. Scheduling device.

2. The selection means, for each block s, (i) estimates the reward q of each task i. i (t) is calculated according to the following formula (1), and (ii) a combination of tasks A's to be executed in the block s is selected according to the following formula (2). The scheduling device according to claim 1. [Math 1] [Math 2] Here, C - (In equation (1), the minus sign under C indicates a lower bound on the number of rounds required for task i, and C - (In equation (1), the minus sign above C indicates an upper bound on the number of rounds required for task i, and N i (t) indicates the number of times task i has completed execution up to the block preceding the block to which round t belongs, C i (t) represents the cumulative number of rounds required for task i up to the block preceding the block to which round t belongs, and R i (t) represents the cumulative value of the rewards earned by task i up to the block preceding the block to which round t belongs, and A (the letter A in equation (2)) represents the set of combinations of tasks that can be executed in parallel in the same round.

3. The selection means calculates the block length of each block using the lower and upper bounds of the required number of rounds for each task. A scheduling device according to any one of claims 1 to 2.

4. The selection means calculates the block length bs of each block s according to the following formula (3): The scheduling device according to claim 2. [Math 3]

5. At least one processor performs an acquisition process to obtain the rewards and the number of rounds required for tasks that complete execution in each round, The processor includes a selection process which refers to the acquired reward and the required number of rounds acquired in the acquisition process and selects a combination of tasks to start executing in each round. In the selection process, the processor divides the set of rounds into multiple blocks, and selects a combination of tasks to start execution in each round such that the combination of tasks assigned to each round belonging to the same block is the same. In the selection process described above, the processor (i) calculates the estimated reward for each block using the Lower Confidence Bound (LCB) of the average number of rounds required for the task and the Upper Confidence Bound (UCB) of the average reward earned by the task, and (ii) selects the combination of tasks to be executed in the block from among the combinations of tasks that can be executed in parallel in the same round, such that the sum of the estimated rewards of each task is maximized. Scheduling method.

6. A scheduling program for operating a computer as a scheduling device according to claim 1, wherein the computer functions as each of the means provided by the scheduling device. Scheduling program.

Citation Information

Patent Citations

  • Multi-target cloud workflow scheduling method based on joint reinforcement learning strategy

    CN112685165A