Scheduling device, scheduling method, and scheduling program
The scheduling device optimizes task scheduling by considering multiple rounds and rewards, enhancing total rewards through block-based execution, addressing limitations in existing methods that do not account for tasks requiring multiple rounds.
Patent Information
- Application Number
- JP2024521451
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-18
- Filing Date
- 2022-05-18
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2042-05-18
AI Technical Summary
Existing scheduling methods, such as those described in Non-Patent Document 1, fail to account for tasks that require multiple rounds of execution, limiting their ability to optimize task scheduling and reward acquisition.
A scheduling device and method that considers the number of rounds required for each task and acquisition rewards, dividing the scheduling process into blocks to ensure the same task combination is executed in each round, optimizing task selection to maximize rewards.
Enables efficient scheduling of tasks that require multiple rounds, enhancing the total acquisition rewards by ensuring parallel execution of tasks within each block, even when the probability distribution of task duration and rewards is unknown.
Smart Images

Figure 2023223453000001 
Figure 2023223453000002 
Figure 2023223453000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a scheduling device, a scheduling method, and a scheduling program for solving a combination scheduling problem. [Background technology]
[0002] In order to utilize various resources efficiently, a scheduling method is required to assign each task to the right resource at the right time. For example, in order to utilize human resources efficiently at a work site, a scheduling method is required to have the right worker perform each task at the right time.
[0003] An example of a document disclosing a scheduling method using a computer is Non-Patent Document 1. Non-Patent Document 1 discloses an algorithm for solving a semi-bandit type combination 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. Summary of the Invention [Problem to be solved by the invention]
[0005] However, the scheduling method described in Non-Patent Document 1 only considers tasks whose execution is completed in each round, and therefore cannot schedule tasks whose execution requires two or more rounds.
[0006] One aspect of the present invention has been made in consideration of the above problems, and aims to realize a scheduling technology that is capable of scheduling tasks that require two or more rounds to execute, and that can make the total amount of earned rewards sufficiently large. [Means for solving the problem]
[0007] A scheduling device according to one aspect of the present invention comprises an acquisition means for acquiring an earned reward and a required number of rounds for a task that finishes execution in each round, and a selection means for selecting a combination of tasks to start execution in each round by referring to the earned reward and the required number of rounds 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 start execution in each round such 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 an earned reward and a required number of rounds for tasks that will finish executing in each round, and a selection process in which the processor refers to the earned reward and the required number of rounds acquired in the acquisition process and selects a combination of tasks to start executing in each round, wherein in the selection process, the processor divides a set of rounds into a plurality of blocks and selects a combination of tasks to start executing in each round such that the same combination of tasks is executed in each round belonging to the same block.
[0009] 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, and causes the computer to function as each of the means included in the scheduling device. Effect of the Invention
[0010] According to the present invention, it is possible to realize a scheduling technique that is capable of scheduling tasks that require two or more rounds to execute, and that can make the total amount of rewards obtained sufficiently large. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a block diagram showing a configuration of a scheduling device according to an exemplary embodiment. [Diagram 2] FIG. 2 is a flow diagram illustrating a scheduling method according to an example embodiment. [Diagram 3] 3 is a flow diagram showing a specific example of a selection process included in the scheduling method shown in FIG. 2. [Figure 4] FIG. 2 is a block diagram showing the configuration of a computer that functions as the scheduling device shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Exemplary embodiments of the present invention will now be described in detail with reference to the drawings.
[0013] [Combinatorial Scheduling Problem] A set of tasks [n] = {1, 2, …, n}, and a set of combinations of tasks A ⊆ 2 that can be executed in parallel in the same round. [n] Assume that we are given the following: [n] represents the entire subset of the task set [n]. The problem of selecting a combination At of tasks that starts execution in each round t ∈ [T] so as to maximize the total reward is called the "combinatorial scheduling problem." Note that the combination At of tasks that starts 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 the set of currently running tasks, At'={i∈[n]|∃s <t,i∈As,s+c si ≧t}. Hereinafter, the set of task combinations {At ⊆ [n] | At ∩ At '= φ, At ∪ At '∈ A} that satisfies the above conditions 1 and 2 is referred to as the feasible region Ft.
[0016] For a task i ∈ [n] that starts execution in round t ∈ [T], the number of rounds required to execute the task is defined as the required round number c t,i and obtain the reward r after completing the task. t,i In the combinatorial scheduling problem, the required number of rounds is c t,i and the reward r t,i Paired with (c t,i ,r t,i A problem in which the probability distribution D that ���������� follows is unknown is called a “bandet type combination scheduling problem.” In this specification, we consider this bandet type combination scheduling problem.
[0017] By solving the bandet-type combination scheduling problem, it is possible to realize efficient scheduling in a situation where it is difficult to estimate the number of required rounds and the reward to be obtained in advance, and there are restrictions on the combination of tasks that can be executed in parallel. The target tasks are not particularly limited, but the following specific examples are possible.
[0018] Specific example 1 (computer scheduling): The problem of determining a combination of computation tasks to be executed in parallel at each timing (round) from a set of computation tasks. In this case, for example, a set A of combinations of computation tasks that can be executed in parallel is determined based on constraints such as the hardware resources (CPU, GPU, memory, etc.) that handle the computation tasks and power.
[0019] Specific example 2 (workplace scheduling): The problem of 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, a set A of combinations of work tasks that can be performed in parallel is determined based on constraints such as the human resources (number of workers, skills of each worker, etc.) responsible for the work tasks and budgets.
[0020] Specific example 3 (scheduling in a delivery network): The problem of determining a combination of delivery tasks to be performed in parallel at each timing (round) from a set of delivery tasks. Here, each delivery task is expressed, for example, as a pair of a delivery source and a delivery destination. In this case, a set A of combinations of delivery tasks that can be performed in parallel is determined based on constraints such as the number of moving objects (e.g., trucks) that carry out the delivery tasks, the supply amount of goods at each delivery source, and the demand amount of goods at each delivery destination.
[0021] Specific example 4 (factory or plant scheduling): A problem of determining a combination of manufacturing tasks 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 that handles the manufacturing tasks and the order in which the manufacturing tasks are performed.
[0022] In many cases, the set A of combinations of tasks that can be executed in parallel in the same round can be characterized by a polyhedron, i.e., a matrix M ∈ R with non-negative real elements. ≧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, P={a∈{0,1} n |Ma≦v}. Here, the instruction vector representing a task combination 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 of executing n tasks using m resources. The combination of resources required to execute each task i ∈ [n], Si ⊂ [m], and the maximum number of tasks that each resource j ∈ [m] can execute in parallel, v j ∈Z ≧0 Given the constraints, the set A of combinations of tasks that can be executed in parallel in the same round is characterized by a polyhedron. Indeed, if we have a matrix M∈{0,1} m×n ji component M ji Let j∈Si be 1 if it is true and 0 otherwise. Also, let v∈{0,1} be the vector m i component of v i is defined as 1 when task i is being executed and 0 when it is not. Then, the instruction vector a representing the combination of tasks that can be executed in parallel in the same round satisfies Ma≦v.
[0024] [Configuration of the Scheduling Device] The configuration of a scheduling device 1 according to this exemplary embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing the configuration of the scheduling device 1.
[0025] The scheduling device 1 is a device for solving the above-mentioned bandet-type combination scheduling problem, and includes an acquisition unit 11 and a selection unit 12, as shown in FIG.
[0026] The acquisition unit 11 acquires, in each round t ∈ [T], a required number of rounds c for each task i ∈ [n] that has completed execution at the end of the round t-1 before the round t. t’,i and earned reward r t’,i Here, t' denotes the round in which task i starts executing.
[0027] The selection unit 12 selects, in each round t ∈ [T], the required number of rounds c acquired by the acquisition unit 11 by the end of the round t−1 preceding the round t.t’,i and earned reward r t’,i The selection unit 12 is a means for selecting a combination At of tasks that starts execution in a round t by referring to the set of rounds [T] into a plurality of blocks, and for each round t ∈ [ T ] select a combination At of tasks to start execution in.
[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 a combination of tasks to be executed for each block, it becomes possible to search for a combination of tasks that will bring about a large reward. Therefore, according to the scheduling device 1, the number of required rounds c t,i and the reward r t,i Paired with (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 described with reference to Fig. 2. Fig. 2 shows the flow of the scheduling method S1. flowchart It is.
[0030] The scheduling method S1 is a method for solving the above-mentioned bandet-type combination scheduling problem, and includes an acquisition process S11 and a selection process S12, as shown in Fig. 2. In this embodiment, the scheduling method S1 is executed by the scheduling device 1.
[0031] The acquisition process S11 is a process of acquiring the number of rounds required for each task i ∈ [n] that has completed execution at the end of the round t-1 before the round t in each round t ∈ [T]. t’,i and earned reward r t’,iHere, t′ represents the round in which the execution of task i is started. In this embodiment, the acquisition process S11 is executed by the acquisition unit 11 of the scheduling device 1.
[0032] The selection process S12 selects the number of required rounds c obtained by the acquisition process S11 at the end of the round t-1 before the round t in each round t ∈ [T]. t’,i and earned reward r t’,i In this embodiment, the selection process S12 is executed 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 a plurality of blocks, and assigns each round t ∈ [ T ] select a combination At of tasks to start execution in.
[0034] By executing the same combination of tasks in each round belonging to the same block, it is possible to increase the number of tasks executed in parallel in each round, and by selecting a combination of tasks to be executed for each block, it is possible to search for a combination of tasks that will provide a large reward. Therefore, according to the scheduling method S1, the number of required rounds c t,i and the reward r t,i Paired with (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 example of selection process] A set of tasks, i∈[n], a set of combinations of tasks, A, that can be executed in parallel in the same round, and the number of rounds required for each task, i∈[n], c t,i Lower bound C - (In Table 1, C is below -) and the upper bound C -(In Table 1, a - is given above C. In this case, the inventors have found that the total sum of the acquired rewards can be made sufficiently large by the following algorithm 1. Here, the fact that the total sum of the acquired rewards can be made sufficiently large means that R T =E[(number of rounds required c t,i and the reward r t,i Paired with (c t,i ,r t,i The regret R is defined as (the sum of rewards that can be obtained by the optimal schedule when the probability distribution D that follows is known) - (the sum of rewards that can be obtained by the schedule determined by Algorithm 1 shown in Table 1 below). T But R T =O(n(TlnT) 1 / 2 ) is satisfied. Here, E[·] represents the expected value of ·. [Table 1]
[0036] A specific example of the selection process S12 obtained by implementing this algorithm will be described below with reference to Fig. 3. Note that this algorithm merely provides one example of this exemplary embodiment, and this exemplary embodiment should not be interpreted as being limited to this algorithm.
[0037] Fig. 3 is a flow diagram showing a specific example of the selection process S12 according to this specific example. As shown in Fig. 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. Also, 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] In the variable setting step S121, the round number t and the variable N i (t), C i (t),R i In the variable setting step S121, the selection unit 12 sets the round number t to t=1, and for each task i ∈ [n], the selection unit 12 sets the variable N i (t), C i (t),R i (t) initial value N i (1), C i (1), R i (1) N i (1)=0,C i (1)=0,R i Set (1)=0.
[0039] Here, the variable N i (t) is a variable that indicates the number of times that the execution of task i is completed by the block preceding the block to which round t belongs. Also, the variable C i (t) is a variable that indicates the cumulative number of rounds required for task i up to the block preceding the block to which round t belongs. In addition, the variable R i (t) is a variable that indicates the accumulated reward of task i up to the block preceding the block to which round t belongs.
[0040] In the estimated reward calculation step S122, the estimated reward q i (t), where the estimated reward q i 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 i (t) is the average number of rounds required for task i, c^ i (t) (in Eq. A1, ^ is above c) LCB (Lower Confidence Bound) and the average reward r^ for task i i For example, the selection unit 12 calculates the estimated reward qi (t) is N i If (t)=0, then q i (t)=1 / C ― If not, calculate according to the following formula (1):
number
[0041] The task selection step S123 is a step for selecting a combination As′ of tasks to be executed in the block s. In the task selection step S123, the selection unit 12 selects the estimated reward q i (t) to select a task combination As′ to be executed in block s. For example, the selection unit 12 selects a task combination As′ to be executed in block s according to the following formula (2). That is, the selection unit 12 selects a task combination As′ with an estimated reward q i The task combination that maximizes the sum of (t) is selected as the task combination 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 the block s. In the block length setting step S124, the selection unit 12 sets the number of rounds required c for each task i ∈ [n]. t,i Lower bound C - and upper bound C - For example, the selection unit 12 sets the block length bs of the block s according to the following equation (3).
number
[0043] The task output step S125 is a step for outputting a task combination At that newly starts execution in round t as a result of the selection process S12. In the task output step S125, the selection unit 12 outputs a combination of all available tasks (all tasks that are not currently being executed) among the tasks included in the task combination As' selected in the task selection step S123 as a task combination At that newly starts execution in round t.
[0044] In the variable update step S126, the variable N i (t), C i (t),R i In the variable update step S126, the selection unit 12 updates the required number of rounds c t’,i and earned reward r t’,i By referencing the variable N i (t), C i (t),R i For example, the selection unit 12 updates N i (t+1)=N i (t)+1,C i (t+1)=C i (t)+c t’,i ,R i (t+1)=R i (t)+r t’,i According to the variable N i (t), C i (t),R i If there is no task that completes execution in round t, the selection unit 12 updates N i (t+1)=N i (t), C i (t+1)=C i (t),R i (t+1)=R i According to (t), the variable N i (t), C i (t),R i Update (t).
[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 FIG. T =E[(number of rounds required c t,i and the reward r t,i Paired with (c t,i ,r t,i ) follows a probability distribution D, and the total reward that can be obtained by the optimal schedule when D is known. the above The regret R defined by (the sum of rewards that can be obtained by the schedule determined by Algorithm 1 shown in Table 1) T O(n(TlnT) 1 / 2 ) can be reduced.
[0047] [Software implementation example] Some or all of the functions of the scheduling device 1 may be realized by hardware such as an integrated circuit (IC chip) or by software. In the latter case, the functions of each part of the scheduling device 1 are realized by, for example, a computer that executes instructions of a program, which is software.
[0048] An example of such a computer (hereinafter referred to as computer C) is shown in Fig. 4. As shown in Fig. 4, computer C has at least one processor C1 and at least one memory C2. Memory C2 stores a program P for operating computer C as a scheduling device 1. In computer C, processor C1 realizes the functions of each part of scheduling device 1 by reading and executing program P from memory C2.
[0049] The processor C1 may be, for example, a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), a micro processing unit (MPU), a floating point number processing unit (FPU), a physics processing unit (PPU), a microcontroller, or a combination of these. The memory C2 may be, for example, a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or a combination of these.
[0050] The computer C may further include a RAM (Random Access Memory) for expanding the program P during execution and for temporarily storing various data. The computer C may further include a communication interface for transmitting and receiving data to and from other devices. The computer C may further include an input / output interface for connecting input devices such as a keyboard and a mouse, and / or output devices such as a display and a printer.
[0051] Furthermore, the program P can be recorded on a non-transitory tangible recording medium M that can be read by the computer C. Such a recording medium M can be, for example, a tape, a disk, a card, a semiconductor memory, or a programmable logic circuit. The computer C can obtain the program P via such a recording medium M. Furthermore, the program P can be transmitted via a transmission medium. Such a transmission medium can be, for example, a communication network or broadcast waves. The computer C can also obtain the program P via such a transmission medium.
[0052] [Additional Note 1] The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the claims. For example, embodiments obtained by appropriately combining the technical means disclosed in the above-described embodiment are also included in the technical scope of the present invention.
[0053] [Additional Note 2] A part or all of the above-described embodiment can be described as follows. However, the present invention is not limited to the aspects described below as an appendix.
[0054] (Appendix 1) An acquisition means for acquiring an acquired reward and a required number of rounds for a task that is to be completed in each round; a selection means for selecting a combination of tasks to be executed in each round by referring to the acquired reward and the required number of rounds acquired by the acquisition means, the selection means divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block; Scheduling device.
[0055] (Appendix 2) The selection means (i) calculates, for each block, an estimated reward for each task using a Lower Confidence Bound (LCB) of the average number of rounds required for the task and an Upper Confidence Bound (UCB) of the average earned reward for the task, and (ii) selects, as a combination of tasks to be executed in the block, a combination of tasks that maximizes the sum of the estimated rewards of the tasks from among combinations of tasks that can be executed in parallel in the same round. 2. A scheduling device as described in claim 1.
[0056] (Appendix 3) The selection means selects, for each block s, (i) an estimated reward q for each task i i(t) is calculated according to the following formula (1), and (ii) a combination A's of tasks to be executed in the block s is selected according to the following formula (2). 3. A scheduling device as described in claim 2.
number
number
[0057] Here, C - (In formula (1), C is a lower bound on the number of rounds required for task i, and C - (In formula (1), - on C) denotes the upper bound of the number of rounds required for task i, and N i (t) indicates the number of times that task i has finished executing by the block before the block to which round t belongs, and C i (t) denotes 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) denotes the cumulative reward of task i up to the block preceding the block to which round t belongs, and A (the flower-shaped A in equation (2)) denotes the set of combinations of tasks that can be executed in parallel in the same round.
[0058] (Appendix 4) The selection means calculates the block length of each block using a lower bound and an upper bound C of the number of rounds required for each task. 4. The scheduling device according to claim 1 ,
[0059] (Appendix 5) The selection means calculates a block length bs of each block s according to the following formula (3): 4. A scheduling device according to claim 3.
number
[0060] (Appendix 6) An acquisition process in which at least one processor acquires an acquired reward and a required number of rounds for a task that finishes execution in each round; a selection process in which the processor refers to the acquired reward and the required number of rounds acquired in the acquisition process and selects a combination of tasks to be executed in each round; In the selection process, the processor divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block. Scheduling methods.
[0061] (Appendix 7) At least one processor An acquisition means for acquiring an acquired reward and a required number of rounds for a task that is to be completed in each round; a selection means for selecting a combination of tasks to be executed in each round by referring to the acquired reward and the required number of rounds acquired by the acquisition means, the selection means divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block; Scheduling program.
[0062] [Additional Note 3] A part or all of the above-described embodiments can be further expressed as follows.
[0063] (Appendix 8) at least one processor; The processor, An acquisition process for acquiring an acquired reward and a required number of rounds for a task that ends execution in each round; A selection process is executed to select a combination of tasks to be executed in each round by referring to the acquired reward and the required number of rounds acquired in the acquisition process; In the selection process, the processor divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block. Scheduling device.
[0064] The scheduling device may further include a memory, and the memory may store a program for causing the processor to execute the acquisition process and the selection process. The program may be recorded in a computer-readable, non-transitory, tangible recording medium. [Explanation of symbols]
[0065] 1 Scheduling device 11 Acquisition unit (acquisition means) 12 Selection section (selection means) S1 Scheduling Method S11 Acquisition process S12 Selection process
Claims
1. An acquisition means for acquiring an acquired reward and a required number of rounds for a task that is to be completed in each round; a selection means for selecting a combination of tasks to be executed in each round by referring to the acquired reward and the required number of rounds acquired by the acquisition means, the selection means divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block; Scheduling device.
2. The selection means (i) calculates, for each block, an estimated reward for each task using a Lower Confidence Bound (LCB) of the average number of rounds required for the task and an Upper Confidence Bound (UCB) of the average earned reward for the task, and (ii) selects, as a combination of tasks to be executed in the block, a combination of tasks that maximizes the sum of the estimated rewards of the tasks from among combinations of tasks that can be executed in parallel in the same round. The scheduling device according to claim 1 .
3. The selection means selects, for each block s, (i) an estimated reward q i (t) is calculated according to the following formula (1); and (ii) a combination A's of tasks to be executed in the block s is selected according to the following formula (2). The scheduling device according to claim 2. [0010] [0025] Here, C - (In formula (1), - under C) indicates the lower bound of the number of rounds required for task i, and C - (In formula (1), the - on C denotes the upper bound of the number of rounds required for task i, and N i (t) indicates the number of times that the execution of task i is completed by the block preceding the block to which round t belongs, and C i (t) denotes 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) indicates the cumulative value of the reward obtained by task i up to the block preceding the block to which round t belongs, and A (the flower-shaped letter A in formula (2)) indicates a set of combinations of tasks that can be executed in parallel in the same round.
4. the selection means calculates the block length of each block using a lower bound and an upper bound of the number of rounds required for each task; The scheduling device according to any one of claims 1 to 3.
5. The selection means calculates a block length bs of each block s according to the following formula (3): The scheduling device according to claim 3. [0030]
6. An acquisition process in which at least one processor acquires an acquired reward and a required number of rounds of a task that finishes execution in each round; a selection process in which the processor refers to the acquired reward and the required number of rounds acquired in the acquisition process and selects a combination of tasks to be executed in each round; In the selection process, the processor divides a set of rounds into a plurality of blocks, and selects a combination of tasks to start execution in each round such that the same combination of tasks is executed in each round belonging to the same block. Scheduling methods.
7. A scheduling program for causing a computer to operate as the scheduling device according to claim 1, the program causing the computer to function as each of the means included in the scheduling device, Scheduling program.