WO2021251001A1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
WO2021251001A1
WO2021251001A1 PCT/JP2021/015902 JP2021015902W WO2021251001A1 WO 2021251001 A1 WO2021251001 A1 WO 2021251001A1 JP 2021015902 W JP2021015902 W JP 2021015902W WO 2021251001 A1 WO2021251001 A1 WO 2021251001A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
schedule
task
constraint condition
calculation target
Prior art date
Application number
PCT/JP2021/015902
Other languages
English (en)
French (fr)
Inventor
匡 佐藤
裕 米久保
拓也 大杉
Original Assignee
富士フイルム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to JP2022530043A priority Critical patent/JP7247422B2/ja
Publication of WO2021251001A1 publication Critical patent/WO2021251001A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • This disclosure relates to an information processing device, an information processing method, and an information processing program.
  • Japanese Patent Application Laid-Open No. 2015-062102 describes an operation plan formulation method for formulating an operation plan satisfying a constraint condition, and when an executable solution cannot be derived, a constraint violation in an infeasible solution is violated.
  • the method of formulating an operation plan to specify the location is disclosed.
  • an executable solution may not be obtained when the optimization calculation is performed.
  • the schedule cannot be formulated.
  • the cause for not obtaining a feasible solution must be identified and corrected. To identify the cause, specialized knowledge and know-how on mathematical optimization are required.
  • JP-A-2015-06102 presents the constraint condition that is the cause of not obtaining the feasible solution, the cause that the feasible solution could not be obtained only by the constraint condition is identified. , It is difficult to modify so that the schedule can be formulated.
  • This disclosure has been made in view of the above circumstances, and provides an information processing device, an information processing method, and an information processing program that can easily identify the cause for which a feasible solution could not be obtained.
  • the purpose The purpose.
  • the information processing device of the present disclosure is an information processing device including at least one processor, and the processor is a provisional task group which is a part of a task group from a calculation target task group which is a plurality of tasks for which a schedule is to be formulated. Is selected, and the selected provisional task group performs the process of deriving the executable schedule, which is an executable schedule proposal that satisfies the constraint conditions. If the executable schedule does not exist, the calculated task group is replaced with the provisional task group. When the number of tasks in the calculation target task group is 1, the calculation target task group is identified as the causative task that is the cause of the inability to schedule, and the number of tasks in the calculation target task group is 2 or more. If this is the case, the provisional task group is selected and the executable schedule is derived again, and the process of specifying the cause constraint condition, which is the cause constraint condition that makes it impossible to execute the cause task, is executed. ..
  • the processor selects a provisional constraint condition group which is a part of the constraint condition group from the calculation target constraint condition group which is a plurality of constraint conditions for schedule formulation.
  • Select and perform the process of deriving the second feasible schedule which is a feasible schedule proposal in which the causative task satisfies all of the provisional constraint conditions. If the second feasible schedule does not exist, the calculation target constraint condition group Is replaced with the provisional constraint condition group, and when the number of constraint conditions of the calculation target constraint condition group is 1, the calculation target constraint condition group is specified as the cause constraint condition, and the number of constraint conditions of the calculation target constraint condition group is 2. If there are more than one, the selection of the provisional constraint group and the derivation of the second feasible schedule may be executed again.
  • the information processing apparatus of the present disclosure re-executes the selection of the provisional task group and the derivation of the executable schedule when the executable schedule exists, and the processor selects the provisional task group when the executable schedule exists. And when the number of executions of the derivation of the executable schedule exceeds a predetermined number of times, the calculation target task group may be specified as the causative task.
  • the processor when the second executable schedule exists, the processor re-executes the selection of the provisional constraint condition group and the derivation of the second executable schedule, and the second executable schedule. If the number of executions of the selection of the provisional constraint group and the derivation of the second feasible schedule exceeds a predetermined number of times in the presence of, the calculation target constraint group may be specified as the causal constraint condition. ..
  • the information processing apparatus of the present disclosure is an information processing apparatus including at least one processor, and the processor is a provisional constraint condition group from a calculation target constraint condition group which is a plurality of constraint conditions for schedule formulation.
  • a constraint condition group is selected, multiple tasks for which the schedule is to be created perform a process of deriving an executable schedule, which is an executable schedule proposal that satisfies all of the provisional constraint condition groups, and the executable schedule does not exist. If the calculation target constraint group is replaced with the provisional constraint condition group and the number of constraint conditions in the calculation target constraint group is 1, it is the cause constraint condition that makes it impossible to schedule the calculation target constraint condition group.
  • the provisional constraint condition group is selected and the executable schedule is derived again, and the execution becomes impossible due to the cause constraint condition. It executes the process of identifying the cause task that is the task that is being executed.
  • the information processing apparatus of the present disclosure re-executes the selection of the provisional constraint condition group and the derivation of the executable schedule when the executable schedule exists, and the provisional constraint condition group when the executable schedule exists.
  • the calculation target constraint condition group may be specified as the cause constraint condition.
  • a provisional task group which is a part of the task group, is selected from the calculation target task group, which is a plurality of tasks to be scheduled, and the selected provisional task group satisfies the constraint condition.
  • the process of deriving the executable schedule which is a draft executable schedule, is performed, and the executable schedule does not exist
  • the task group to be calculated is replaced with the provisional task group, and the number of tasks in the task group to be calculated is one.
  • the calculation target task group is identified as the causative task that is the cause of the inability to schedule, and the number of tasks in the calculation target task group is 2 or more
  • the provisional task group can be selected and the executable schedule can be selected.
  • the processor provided in the information processing apparatus executes the derivation again and the process of specifying the cause constraint condition, which is the constraint condition of the cause that makes it impossible to execute the cause task.
  • a plurality of tasks to be targeted for schedule formulation by selecting a provisional constraint condition group which is a part of the constraint condition group from the calculation target constraint condition group which is a plurality of constraint conditions for schedule formulation. Performs the process of deriving an executable schedule that is an executable schedule that satisfies all of the provisional constraint conditions, and if there is no executable schedule, replaces the calculation target constraint condition group with the provisional constraint condition group and calculates the calculation target constraint.
  • the number of constraints in the condition group is 1
  • the number of constraints in the calculation target constraint group is specified as the cause constraint condition that is the cause of the inability to formulate the schedule.
  • the information processing device performs the process of selecting the provisional constraint condition group and deriving the executable schedule again, and identifying the causal task, which is a task that cannot be executed due to the causal constraint condition. It is executed by the provided processor.
  • a provisional task group which is a part of the task group is selected from the calculation target task group which is a plurality of tasks to be scheduled, and the selected provisional task group satisfies the constraint condition.
  • the process of deriving the executable schedule which is a draft executable schedule, is performed, and the executable schedule does not exist
  • the task group to be calculated is replaced with the provisional task group, and the number of tasks in the task group to be calculated is one.
  • the calculation target task group is identified as the causative task that is the cause of the inability to schedule, and the number of tasks in the calculation target task group is 2 or more
  • the provisional task group can be selected and the executable schedule can be selected.
  • the purpose is to execute the derivation again and cause the processor provided in the information processing apparatus to execute the process of specifying the cause constraint condition, which is the constraint condition of the cause that makes it impossible to execute the cause task.
  • the information processing program of the present disclosure selects a provisional constraint condition group, which is a part of the constraint condition group, from the calculation target constraint condition group, which is a plurality of constraint conditions for schedule formulation, and a plurality of tasks to be targeted for schedule formulation. Performs the process of deriving an executable schedule that is an executable schedule that satisfies all of the provisional constraint conditions, and if there is no executable schedule, replaces the calculation target constraint condition group with the provisional constraint condition group and calculates the calculation target constraint.
  • the number of constraints in the condition group is 1, the number of constraints in the calculation target constraint group is specified as the cause constraint condition that is the cause of the inability to formulate the schedule.
  • the information processing device performs the process of selecting the provisional constraint condition group and deriving the executable schedule again, and identifying the causal task, which is a task that cannot be executed due to the causal constraint condition. It is intended to be executed by the provided processor.
  • the information processing device 10 is installed at a production site such as a factory, for example.
  • the installation location of the information processing apparatus 10 is not limited to the production site.
  • the information processing device 10 includes a CPU (Central Processing Unit) 20, a memory 21 as a temporary storage area, and a non-volatile storage unit 22. Further, the information processing apparatus 10 includes a display unit 23 such as a liquid crystal display, an input unit 24 such as a keyboard and a mouse, and a network I / F (InterFace) 25 connected to the network.
  • the CPU 20, the memory 21, the storage unit 22, the display unit 23, the input unit 24, and the network I / F 25 are connected to the bus 26. Examples of the information processing apparatus 10 include a personal computer, a server computer, and the like.
  • the storage unit 22 is realized by an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like.
  • the information processing program 30 is stored in the storage unit 22 as a storage medium.
  • the CPU 20 reads the information processing program 30 from the storage unit 22, expands it into the memory 21, and executes the expanded information processing program 30.
  • the storage unit 22 stores the worker data 32 relating to the worker who is the person who performs the task for which the schedule is to be formulated.
  • FIG. 2 shows an example of worker data 32.
  • the worker data 32 includes a worker name, a work start time, and a work end time as an example of worker identification information for each worker. Each worker can perform a task between the work start time and the work end time.
  • the storage unit 22 stores task data 34 related to the task to be the target of schedule formulation.
  • FIG. 3 shows an example of the task data 34.
  • the task data 34 includes a task name, a delivery time, a required time, an execution order, and an assignable worker as an example of task identification information for each task.
  • the due date time of a task represents the time of the end deadline of the task.
  • the time required for a task represents the time required when the worker performs the task.
  • the execution order of a task represents a constraint on the execution order of the task.
  • task A is to be performed before task B, and task B is to be performed after task A.
  • a task assignable worker represents a worker name to which the task can be assigned.
  • the storage unit 22 stores, for example, mathematical model data 36 relating to a mathematical model in which a job schedule problem for obtaining a schedule in which all constraints are introduced is formulated as a mixed integer programming problem.
  • the mathematical model data 36 is, for example, created in advance by an expert in a mathematical optimization problem.
  • the mathematical model data 36 includes, for example, the objective function and constraints shown below.
  • the tasks and workers included in the objective functions and constraints shown below correspond to, for example, the tasks included in the task data 34 and the workers included in the worker data 32.
  • the objective functions and constraints shown below are examples, and are not limited to this example.
  • N used in the above constraints for example, a large positive integer such 10 6, a large value is applied than the upper limit value of all of the decision variables.
  • the information processing apparatus 10 includes a first selection unit 40, a first out-licensing unit 42, a first determination unit 44, a first specific unit 46, a second selection unit 50, a second out-licensing unit 52, and a second. 2
  • the determination unit 54, the second specific unit 56, and the output unit 58 are included.
  • the first selection unit 40, the first derivation unit 42, the first determination unit 44, the first specific unit 46, the second selection unit 50, the second derivation unit 52, and the second It functions as a determination unit 54, a second specific unit 56, and an output unit 58.
  • the first selection unit 40 selects a provisional task group, which is a part of the task group, from the calculation target task group, which is a plurality of tasks for which the schedule is to be formulated.
  • the first selection unit 40 randomly selects a provisional task group from the calculation target task group as an example.
  • the first selection unit 40 may be selected so that the provisional task group is a combination of different tasks when the provisional task group is repeatedly selected instead of being random.
  • the first derivation unit 42 is an executable schedule in which the provisional task group selected by the first selection unit 40 satisfies all the constraint conditions included in the mathematical model data 36 (hereinafter, “first”. The process of deriving the "executable schedule”) is performed.
  • the first determination unit 44 determines whether or not the first executable schedule exists as a result of the derivation process by the first derivation unit 42, that is, whether or not an executable solution is obtained. Further, the first determination unit 44 replaces the calculation target task group with the provisional task group when the first executable schedule does not exist. When the first executable schedule exists, the selection of the provisional task group by the first selection unit 40 and the derivation of the first executable schedule by the first derivation unit 42 are executed again.
  • the first specific unit 46 identifies the calculation target task group as the causative task that is the cause of the inability to formulate the schedule.
  • the selection of the provisional task group by the first selection unit 40 and the derivation of the first executable schedule by the first derivation unit 42 are executed again.
  • the second selection unit 50 selects a provisional constraint condition group, which is a part of the constraint condition group, from the calculation target constraint condition group, which is a plurality of constraint conditions for schedule formulation.
  • the second selection unit 50 randomly selects a provisional constraint condition group from the calculation target constraint condition group as an example.
  • the second selection unit 50 may be selected so that the provisional constraint group is a combination of different constraint conditions when the provisional constraint group is repeatedly selected instead of being random.
  • the second derivation unit 52 is an executable schedule (hereinafter referred to as “executable schedule”) in which the causal task specified by the first identification unit 46 satisfies all of the provisional constraint condition groups selected by the second selection unit 50. The process of deriving the "second executable schedule”) is performed.
  • the second determination unit 54 determines whether or not a second executable schedule exists as a result of the derivation process by the second derivation unit 52, that is, whether or not a feasible solution is obtained. Further, when the second executable schedule does not exist, the second determination unit 54 replaces the calculation target constraint condition group with the provisional constraint condition group. If a second feasible schedule exists, the second selection unit 50 selects the provisional constraint group and the second derivation unit 52 re-executes the derivation of the second feasible schedule.
  • the second specific unit 56 sets the calculation target constraint condition group as the cause constraint condition which is the constraint condition of the cause that the cause task cannot be executed. Identify as.
  • the selection of the provisional constraint condition group by the second selection unit 50 and the derivation of the second executable schedule by the second derivation unit 52 are executed again.
  • the second specific unit 56 is the number of times the second selection unit 50 selects the provisional constraint condition group and the second derivation unit 52 executes the derivation of the second executable schedule when the second executable schedule exists. If exceeds a predetermined number of times, the calculation target constraint condition group is specified as the cause constraint condition.
  • the output unit 58 outputs the cause task specified by the first specific unit 46 and the cause constraint condition specified by the second specific unit 56. Specifically, for example, the output unit 58 displays the cause task and the cause constraint condition by outputting them to the display unit 23.
  • the output unit 58 may store the cause task and the cause constraint condition by outputting them to the storage unit 22, or may transmit the cause task and the cause constraint condition by outputting them to an external device via the network I / F25.
  • the cause identification process shown in FIG. 5 is executed.
  • the cause identification process is executed, for example, when an execution instruction is input by the user via the input unit 24. Further, in the present embodiment, the cause identification process is calculated as a mathematical planning problem after applying all the constraints included in the mathematical model data 36 to all the tasks included in the task data 34. Executed when no feasible solution is available.
  • step S10 of FIG. 5 the first selection unit 40 substitutes all the tasks included in the task data 34 into the variable T_cand that stores the calculation target task group that is a plurality of tasks to be scheduled.
  • the variable T_cand can also be said to be a variable that stores task candidates that cause an executable solution to not be obtained.
  • step S12 the first selection unit 40 selects the provisional task group by the first selection unit 40 when the first executable schedule exists, and executes the derivation of the first executable schedule by the first derivation unit 42. Substitute 0 for the variable N1 for counting the number of times.
  • the first selection unit 40 selects the provisional task group from the calculation target task group stored in the variable T_cand, and substitutes the selected provisional task group into the variable T_tmp.
  • the first selection unit 40 randomly selects 80% of the tasks from the calculation target task group stored in the variable T_cand as the provisional task group.
  • the percentage of tasks selected by the first selection unit 40 from the calculation target task group is not particularly limited, and may be, for example, 90% or 70%.
  • the ratio in this case can be predetermined, for example, according to the specific accuracy of the required causal task. For example, the user wants to increase the accuracy of identifying the causal task even if the calculation time becomes long, so that the ratio is set higher.
  • the first derivation unit 42 derives the first executable schedule, which is an executable schedule proposal in which the provisional task group stored in the variable T_tmp satisfies all the constraint conditions included in the mathematical model data 36. Perform the processing. Specifically, the first derivation unit 42 performs a process of deriving the first executable schedule by inputting the provisional task group and the mathematical model data 36 stored in the variable T_tmp into the solver of the mixed integer programming problem. conduct. If the first executable schedule exists, the first executable schedule is output from the solver. If the first executable schedule does not exist, the solver outputs information indicating that the first executable schedule does not exist.
  • the first executable schedule is an executable schedule proposal in which the provisional task group stored in the variable T_tmp satisfies all the constraint conditions included in the mathematical model data 36. Perform the processing. Specifically, the first derivation unit 42 performs a process of deriving the first executable schedule by inputting the provisional task group and the mathematical model data 36
  • a solver for a mixed integer programming problem is software such as Gurobi Optimizer.
  • the process may be stopped when even one executable solution is found, instead of finding the optimum solution. In this case, the calculation time can be shortened.
  • step S18 the first determination unit 44 determines whether or not the first executable schedule exists as a result of the derivation process in step S16. If this determination is a negative determination, the process proceeds to step S20.
  • step S20 the first determination unit 44 replaces the calculation target task group with the provisional task group by substituting the contents of the variable T_tmp into the variable T_cand.
  • step S22 the first determination unit 44 determines whether or not the number of tasks of the calculation target task group stored in the variable T_cand is one. If the number of tasks in the calculation target task group stored in the variable T_cand is two or more, the determination in step S22 is a negative determination, and the process returns to step S12.
  • step S22 If the determination in step S22 is affirmative, the process proceeds to step S28. Therefore, for example, when the number of all tasks included in the task data 34 is 100, the number of tasks in the calculation target task group is 100 ⁇ 80 ⁇ 64 ⁇ 51 ⁇ 41 by the iterative processing of steps S12 to S22. ⁇ ... will be reduced.
  • step S24 the first determination unit 44 adds 1 to the value of the variable N1.
  • step S26 the first determination unit 44 determines whether or not the value of the variable N1 exceeds a predetermined number of times R1. If this determination is a negative determination, the process returns to step S14, and if the determination is affirmative, the process proceeds to step S28.
  • the number of times R1 for example, when repeating the process of selecting the provisional task group from the calculation target task group, the number of times is set so as to cover the combinations that the provisional task group can take.
  • the number R1 may be a fixed value according to the number of tasks included in the task data 34, or the value may be reduced as the number of tasks in the calculation target task group stored in the variable T_cand decreases. You may.
  • step S28 the first specific unit 46 identifies the calculation target task group stored in the variable T_cand as the causative task by substituting the contents of the variable T_cand into the variable T_inf that stores the causal task.
  • steps S12 to S22 are repeatedly executed until the number of task groups to be calculated becomes one.
  • an executable solution cannot be obtained by multiple (here, two) tasks. For example, if each of task A and task B is a task in which the executable time is from 9:00 to 16:00, the required time is 4 hours, and the tasks are executed in the order of task A and task B, task A and task B are executed. If B is to be implemented, the required time will be 8 hours in total, so that a feasible solution cannot be obtained. Therefore, in this case, the two tasks, task A and task B, are identified as the causative task. In this case, an executable schedule exists regardless of whether task A or task B is selected from the state in which task A and task B are stored in the variable T_cand. Therefore, in this case, the processes of steps S14 to S18, step S24, and step S26 are repeatedly executed until the value of the variable N1 exceeds R1.
  • step S30 the second selection unit 50 substitutes all the constraints included in the mathematical model data 36 into the variable C_cand that stores the calculation target constraint condition group that is a plurality of constraint conditions for schedule formulation.
  • the variable C_cand can also be said to be a variable that stores constraint candidate candidates that cause an executable solution to not be obtained.
  • step S32 the second selection unit 50 selects the provisional constraint condition group by the second selection unit 50 and derives the second executable schedule by the second derivation unit 52 when the second executable schedule exists.
  • 0 is assigned to the variable N2 for counting the number of executions.
  • the second selection unit 50 selects the provisional constraint condition group from the calculation target constraint condition group stored in the variable C_cand, and substitutes the selected provisional constraint condition group into the variable C_tmp.
  • the second selection unit 50 randomly selects 80% of the constraint conditions as the provisional constraint condition group from the calculation target constraint condition group stored in the variable C_cand.
  • the percentage of the constraint condition selected by the second selection unit 50 from the calculation target constraint condition group is not particularly limited, and may be, for example, 90% or 70%.
  • the ratio in this case can be predetermined, for example, according to the specific accuracy of the required cause constraint condition. For example, the user wants to increase the accuracy of specifying the cause constraint condition even if the calculation time becomes long, so that the ratio is set higher.
  • step S36 the second derivation unit 52 derives a second executable schedule, which is an executable schedule proposal in which the causal task stored in the variable T_inf satisfies all of the provisional constraint conditions stored in the variable C_tmp. Perform the processing. Specifically, the second derivation unit 52 inputs the cause task stored in the variable T_inf and the provisional constraint condition group stored in the variable C_tmp to the solver of the mixed integer programming problem, so that the second executable schedule can be executed. Is performed. If a second executable schedule exists, the second executable schedule is output from the solver. If the second executable schedule does not exist, the solver outputs information indicating that the second executable schedule does not exist. In the second executable schedule derivation process in step S36, the process may be stopped when even one executable solution is found, instead of finding the optimum solution. In this case, the calculation time can be shortened.
  • step S38 the second determination unit 54 determines whether or not the second executable schedule exists as a result of the derivation process in step S36. If this determination is a negative determination, the process proceeds to step S40.
  • step S40 the second determination unit 54 replaces the calculation target constraint condition group with the provisional constraint condition group by substituting the contents of the variable C_tmp into the variable C_cand.
  • step S42 the second determination unit 54 determines whether or not the number of constraint conditions of the calculation target constraint condition group stored in the variable C_cand is one. When the number of constraint conditions of the calculation target constraint condition group stored in the variable C_cand is two or more, the determination in step S42 becomes a negative determination, and the process returns to step S32. If the determination in step S42 is affirmative, the process proceeds to step S48.
  • step S44 the second determination unit 54 adds 1 to the value of the variable N2.
  • step S46 the second determination unit 54 determines whether or not the value of the variable N2 exceeds a predetermined number of times R2. If this determination is a negative determination, the process returns to step S34, and if the determination is affirmative, the process proceeds to step S48.
  • the number of times R2 for example, when repeating the process of selecting the provisional constraint condition group from the calculation target constraint condition group, the number of times is set so as to cover the combinations that the provisional constraint condition group can take.
  • the number R2 may be a fixed value according to the number of constraint conditions included in the mathematical model data 36, or may be set as the number of constraint conditions of the calculation target constraint condition group stored in the variable C_cand decreases. , The value may be reduced.
  • step S48 the second specifying unit 56 identifies the calculation target constraint condition group stored in the variable C_cand as the cause constraint condition by substituting the contents of the variable C_cand into the variable C_inf that stores the cause constraint condition. ..
  • step S50 as described above, the output unit 58 outputs the cause task stored in the variable T_inf and the cause constraint condition stored in the variable C_inf.
  • the cause identification process is completed.
  • the user refers to the cause task and the cause constraint condition output by the output unit 58, and modifies at least one of the task and the constraint condition so that an executable solution can be obtained. For example, the user decides to perform a task that is not essential to be completed within the day after the next day, or delays the delivery time if it may be delayed, and so on. Schedule by asking for a solution.
  • the cause constraint condition is specified in addition to the cause task, it is possible to easily identify the cause for which a feasible solution could not be obtained.
  • the task stored in the variable T_cand and the constraint condition stored in the variable C_cand are gradually narrowed down, so that the original problem and the size of the problem do not change. Therefore, it is possible to reduce the computational resources as compared with the method in which the size of the problem is larger than the original problem such as the method of introducing the slack variable.
  • the process of specifying the cause task (steps S10 to S28 in FIG. 5) and the process of specifying the cause constraint condition (steps S30 to S48 in FIG. 5) are realized by the same algorithm. There is. Therefore, it is possible to reduce the time and effort required to implement the program for causing the computer to execute the cause identification process shown in FIG.
  • the cause constraint condition that is the constraint condition of the cause that the cause task cannot be executed is specified.
  • the cause task that is the cause that makes it impossible to formulate a schedule when the cause constraint condition is applied It may be a form to specify.
  • FIG. 6 shows an example of the cause identification process in this form example. The steps for executing the same processing as in FIG. 5 in FIG. 6 are assigned the same step numbers and the description thereof will be omitted.
  • the cause identification process of this embodiment is a point of executing steps S10 to S28 after executing steps S30 to S48, a point of executing step S36A instead of step S36, and a point of step S16.
  • the point that step S16A is executed instead of the above is different from the cause identification process shown in FIG.
  • step S36A the second derivation unit 52 sets up a second executable schedule, which is an executable schedule in which all the tasks included in the task data 34 satisfy all of the provisional constraint conditions stored in the variable C_tmp. Perform the derivation process. Specifically, the second derivation unit 52 can execute the second execution by inputting all the tasks included in the task data 34 and the provisional constraint condition group stored in the variable C_tmp into the solver of the mixed integer programming problem. Performs the process of deriving the schedule. If a second executable schedule exists, the second executable schedule is output from the solver. If the second executable schedule does not exist, the solver outputs information indicating that the second executable schedule does not exist. In the second executable schedule derivation process in step S36A, the process may be stopped when even one executable solution is found, instead of finding the optimum solution. In this case, the calculation time can be shortened.
  • step S16A the first derivation unit 42 derives the first executable schedule, which is an executable schedule proposal in which the provisional task group stored in the variable T_tmp satisfies all the cause constraints stored in the variable C_inf. Perform the processing. Specifically, the first derivation unit 42 inputs the provisional task group stored in the variable T_tmp and the cause constraint condition stored in the variable C_inf into the solver of the mixed integer programming problem, so that the first executable schedule can be executed. Is performed. If the first executable schedule exists, the first executable schedule is output from the solver. If the first executable schedule does not exist, the solver outputs information indicating that the first executable schedule does not exist. In the first executable schedule derivation process in step S16A, the process may be stopped when even one executable solution is found, instead of finding the optimum solution. In this case, the calculation time can be shortened.
  • the various processors include a CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, as well as circuits after manufacturing FPGAs (Field Programmable Gate Arrays) and the like.
  • Dedicated electricity which is a processor with a circuit configuration specially designed to execute specific processing such as programmable logic device (PLD), ASIC (Application Specific Integrated Circuit), which is a processor whose configuration can be changed. Circuits etc. are included.
  • One processing unit may be composed of one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of a plurality of FPGAs or a combination of a CPU and an FPGA). It may be composed of a combination). Further, a plurality of processing units may be configured by one processor.
  • one processor is configured by a combination of one or more CPUs and software, as represented by a computer such as a client and a server.
  • the processor functions as a plurality of processing units.
  • SoC System On Chip
  • the various processing units are configured by using one or more of the above-mentioned various processors as a hardware-like structure.
  • an electric circuit in which circuit elements such as semiconductor elements are combined can be used.
  • the information processing program 30 is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. May be good. Further, the information processing program 30 may be downloaded from an external device via a network.
  • a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. May be good.
  • the information processing program 30 may be downloaded from an external device via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置は、スケジュール策定の対象とする計算対象タスク群から一部の暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件を特定する。

Description

情報処理装置、情報処理方法、及び情報処理プログラム
 本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
 従来、複数のタスクの実行順序を表すスケジュールの策定を数理最適化問題として捉え、数理モデルとして定式化し、最適化計算を行うことによってスケジュールの策定が行われている。この種の技術として、特開2015-062102号公報には、制約条件を満たす運転計画を策定する運転計画策定方法であって、実行可能解を導出できない場合に、実行不可能解における制約違反の箇所を特定する運転計画策定方法が開示されている。
 スケジュール策定対象のデータによっては最適化計算を行った際に実行可能解が得られない場合があり、この場合はスケジュールを策定することができない。この場合、実行可能解が得られない原因を特定し、修正を行うこととなる。この原因の特定には、数理最適化に対する専門的な知識及びノウハウ等が必要となる。
 しかしながら、このようなスケジュール策定を数理モデルとして定式化する人と、定式化された数理モデルを用いて、スケジュール策定対象のタスクを実際に行う現場においてスケジュール策定を行う人は異なる場合が多い。この場合で、かつ現場で実行可能解が得られなかった場合、現場の人が、実行可能解が得られなかった原因を特定することは困難である。
 特開2015-062102号公報に記載の技術では、実行可能解が得られなかった原因である制約条件を提示しているものの、制約条件だけでは、実行可能解が得られなかった原因を特定し、スケジュールを策定できるように修正することは困難である。
 本開示は、以上の事情を鑑みてなされたものであり、実行可能解が得られなかった原因を特定しやすくすることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
 本開示の情報処理装置は、少なくとも一つのプロセッサを備える情報処理装置であって、プロセッサが、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を実行するものである。
 これにより、スケジュール策定が不可能となっている原因であるタスク及び制約条件を特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。
 なお、本開示の情報処理装置は、プロセッサが、原因制約条件を特定する処理として、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、原因タスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行い、第2の実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群を原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び第2の実行可能スケジュールの導出を再度実行してもよい。
 これにより、スケジュール策定が不可能となっている原因であるタスクと同様のアルゴリズムによって、スケジュール策定が不可能となっている原因である制約条件を特定することができる。
 また、本開示の情報処理装置は、プロセッサが、実行可能スケジュールが存在する場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、実行可能スケジュールが存在する場合における暫定タスク群の選択及び実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象タスク群を原因タスクであると特定してもよい。
 これにより、スケジュール策定の対象とする複数のタスクから選択した一部のタスク群について実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。
 また、本開示の情報処理装置は、プロセッサが、第2の実行可能スケジュールが存在する場合、暫定制約条件群の選択及び第2の実行可能スケジュールの導出を再度実行し、第2の実行可能スケジュールが存在する場合における暫定制約条件群の選択及び第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定してもよい。
 これにより、スケジュール策定の複数の制約条件から選択した一部の制約条件群の全てを満たす実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。
 また、本開示の情報処理装置は、少なくとも一つのプロセッサを備える情報処理装置であって、プロセッサが、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を実行するものである。
 これにより、スケジュール策定が不可能となっている原因であるタスク及び制約条件を特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。
 また、本開示の情報処理装置は、プロセッサが、実行可能スケジュールが存在する場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、実行可能スケジュールが存在する場合における暫定制約条件群の選択及び実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定してもよい。
 これにより、スケジュール策定の複数の制約条件から選択した一部の制約条件群の全てを満たす実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。
 また、本開示の情報処理方法は、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を情報処理装置が備えるプロセッサが実行するものである。
 また、本開示の情報処理方法は、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を情報処理装置が備えるプロセッサが実行するものである。
 また、本開示の情報処理プログラムは、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を情報処理装置が備えるプロセッサに実行させるためのものである。
 また、本開示の情報処理プログラムは、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を情報処理装置が備えるプロセッサに実行させるためのものである。
 本開示によれば、実行可能解が得られなかった原因を特定しやすくすることができる。
情報処理装置のハードウェア構成の一例を示すブロック図である。 作業者データの一例を示す図である。 タスクデータの一例を示す図である。 情報処理装置の機能的な構成の一例を示すブロック図である。 原因特定処理の一例を示すフローチャートである。 変形例に係る原因特定処理の一例を示すフローチャートである。
 以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。
 まず、図1を参照して、本実施形態に係る情報処理装置10のハードウェア構成を説明する。情報処理装置10は、例えば、工場等の生産現場に設置される。ただし、情報処理装置10の設置場所は、生産現場に限定されるものではない。
 図1に示すように、情報処理装置10は、CPU(Central Processing Unit)20、一時記憶領域としてのメモリ21、及び不揮発性の記憶部22を含む。また、情報処理装置10は、液晶ディスプレイ等の表示部23、キーボードとマウス等の入力部24、及びネットワークに接続されるネットワークI/F(InterFace)25を含む。CPU20、メモリ21、記憶部22、表示部23、入力部24、及びネットワークI/F25は、バス26に接続される。情報処理装置10の例としては、パーソナルコンピュータ又はサーバコンピュータ等が挙げられる。
 記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、情報処理プログラム30が記憶される。CPU20は、記憶部22から情報処理プログラム30を読み出してからメモリ21に展開し、展開した情報処理プログラム30を実行する。
 また、記憶部22には、スケジュール策定の対象とするタスクを行う人である作業者に関する作業者データ32が記憶される。図2に、作業者データ32の一例を示す。図2に示すように、作業者データ32には、作業者毎の作業者の識別情報の一例としての作業者名、勤務開始時刻、及び勤務終了時刻が含まれる。各作業者は、勤務開始時刻から勤務終了時刻までの間にタスクを行うことが可能とされる。
 また、記憶部22には、スケジュール策定の対象とするタスクに関するタスクデータ34が記憶される。図3に、タスクデータ34の一例を示す。図3に示すように、タスクデータ34には、タスク毎のタスクの識別情報の一例としてのタスク名、納期時刻、所要時間、実施順番、及び割当可能作業者が含まれる。タスクの納期時刻は、そのタスクの終了期限の時刻を表す。タスクの所要時間は、そのタスクを作業者が行った場合の所要時間を表す。タスクの実施順番は、そのタスクの実施順番の制約を表す。図3の例では、タスクAはタスクBよりも前に行われることになっており、タスクBはタスクAよりも後に行われることになっている。タスクの割当可能作業者は、そのタスクを割り当てることが可能な作業者名を表す。
 また、記憶部22には、例えば、全ての制約条件を導入したスケジュールを求めるジョブスケジュール問題を混合整数計画問題として定式化した数理モデルに関する数理モデルデータ36が記憶される。この数理モデルデータ36は、例えば、数理最適化問題の専門家によって予め作成されたものである。数理モデルデータ36には、例えば、以下に示す目的関数及び制約条件が含まれる。以下に示す目的関数及び制約条件に含まれるタスク及び作業者は、例えば、タスクデータ34に含まれるタスク及び作業者データ32に含まれる作業者に相当する。なお、以下に示す目的関数及び制約条件は一例であり、この例に限定されるものではない。
Figure JPOXMLDOC01-appb-M000001
 上記の制約条件で用いられるNは、例えば、10等の大きな正の整数であり、全ての決定変数の上限値よりも大きな値が適用される。
 次に、図4を参照して、本実施形態に係る情報処理装置10の機能的な構成について説明する。図4に示すように、情報処理装置10は、第1選択部40、第1導出部42、第1判定部44、第1特定部46、第2選択部50、第2導出部52、第2判定部54、第2特定部56、及び出力部58を含む。CPU20が情報処理プログラム30を実行することで、第1選択部40、第1導出部42、第1判定部44、第1特定部46、第2選択部50、第2導出部52、第2判定部54、第2特定部56、及び出力部58として機能する。
 第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択する。本実施形態では、第1選択部40は、一例として、計算対象タスク群からランダムに暫定タスク群を選択する。なお、第1選択部40は、ランダムではなく、繰り返して暫定タスク群を選択する際に、暫定タスク群が異なるタスクの組み合わせになるように選択してもよい。第1導出部42は、第1選択部40により選択された暫定タスク群が、数理モデルデータ36に含まれる全ての制約条件を満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第1の実行可能スケジュール」という)を導出する処理を行う。
 第1判定部44は、第1導出部42による導出処理の結果、第1の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第1判定部44は、第1の実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換える。第1の実行可能スケジュールが存在する場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。
 第1特定部46は、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定する。計算対象タスク群のタスク数が2個以上である場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。
 また、第1特定部46は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象タスク群を原因タスクであると特定する。
 第2選択部50は、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択する。本実施形態では、第2選択部50は、一例として、計算対象制約条件群からランダムに暫定制約条件群を選択する。なお、第2選択部50は、ランダムではなく、繰り返して暫定制約条件群を選択する際に、暫定制約条件群が異なる制約条件の組み合わせになるように選択してもよい。第2導出部52は、第1特定部46により特定された原因タスクが第2選択部50により選択された暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第2の実行可能スケジュール」という)を導出する処理を行う。
 第2判定部54は、第2導出部52による導出処理の結果、第2の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第2判定部54は、第2の実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換える。第2の実行可能スケジュールが存在する場合、第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出が再度実行される。
 第2特定部56は、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群を、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件であると特定する。計算対象制約条件群の制約条件数が2個以上である場合、第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出が再度実行される。
 また、第2特定部56は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定する。
 出力部58は、第1特定部46により特定された原因タスク及び第2特定部56により特定された原因制約条件を出力する。具体的には、例えば、出力部58は、原因タスク及び原因制約条件を表示部23に出力することによって表示する。なお、出力部58は、原因タスク及び原因制約条件を記憶部22に出力することによって記憶してもよいし、ネットワークI/F25を介して外部装置に出力することによって送信してもよい。
 次に、図5を参照して、本実施形態に係る情報処理装置10の作用を説明する。CPU20が情報処理プログラム30を実行することによって、図5に示す原因特定処理が実行される。原因特定処理は、例えば、ユーザにより入力部24を介して実行指示が入力された場合に実行される。また、本実施形態では、原因特定処理は、タスクデータ34に含まれる全てのタスクを対象として、数理モデルデータ36に含まれる全ての制約条件を適用したうえで数理計画問題として計算した場合に、実行可能解が得られないときに実行される。
 図5のステップS10で、第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群を格納する変数T_candに、タスクデータ34に含まれる全てのタスクを代入する。変数T_candは、実行可能解が得られない原因となるタスク候補を格納する変数とも言える。
 ステップS12で、第1選択部40は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数をカウントするための変数N1に0を代入する。
 ステップS14で、第1選択部40は、前述したように、変数T_candに格納された計算対象タスク群から暫定タスク群を選択し、選択した暫定タスク群を変数T_tmpに代入する。本実施形態では、第1選択部40は、一例として、変数T_candに格納された計算対象タスク群から8割のタスクを暫定タスク群としてランダムに選択する。なお、第1選択部40が計算対象タスク群から何割のタスクを選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因タスクの特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因タスクの特定精度を高くしたいほど、割合を高く設定する。
 ステップS16で、第1導出部42は、変数T_tmpに格納された暫定タスク群が、数理モデルデータ36に含まれる全ての制約条件を満たす実行可能なスケジュール案である第1の実行可能スケジュールを導出する処理を行う。具体的には、第1導出部42は、混合整数計画問題のソルバに、変数T_tmpに格納された暫定タスク群及び数理モデルデータ36を入力することによって第1の実行可能スケジュールを導出する処理を行う。第1の実行可能スケジュールが存在する場合は、第1の実行可能スケジュールがソルバから出力される。第1の実行可能スケジュールが存在しない場合は、第1の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。混合整数計画問題のソルバの例としては、Gurobi Optimizer等のソフトウェアが挙げられる。なお、ステップS16での第1の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
 ステップS18で、第1判定部44は、ステップS16による導出処理の結果、第1の実行可能スケジュールが存在するか否かを判定する。この判定が否定判定となった場合は、処理はステップS20に移行する。ステップS20で、第1判定部44は、変数T_tmpの内容を変数T_candに代入することによって、計算対象タスク群を暫定タスク群に置き換える。ステップS22で、第1判定部44は、変数T_candに格納された計算対象タスク群のタスク数が1個であるか否かを判定する。変数T_candに格納された計算対象タスク群のタスク数が2個以上の場合は、ステップS22の判定が否定判定となり、処理はステップS12に戻る。
 ステップS22の判定が肯定判定となった場合は、処理はステップS28に移行する。従って、例えば、タスクデータ34に含まれる全てのタスクの数が100個である場合、ステップS12~ステップS22の繰り返し処理によって、計算対象タスク群のタスク数は、100→80→64→51→41→・・・と減らされることとなる。
 ステップS18の判定が肯定判定となった場合は、処理はステップS24に移行する。ステップS24で、第1判定部44は、変数N1の値に1を加算する。ステップS26で、第1判定部44は、変数N1の値が予め定められた回数R1を超えるか否かを判定する。この判定が否定判定となった場合は、処理はステップS14に戻り、肯定判定となった場合は、処理はステップS28に移行する。回数R1としては、例えば、計算対象タスク群から暫定タスク群を選択する処理を繰り返す際に、暫定タスク群が取り得る組み合わせを網羅できるような回数を設定する。なお、この回数R1は、タスクデータ34に含まれるタスク数に応じて固定値としてもよいし、変数T_candに格納された計算対象タスク群のタスク数が減っていくことに応じて、値を小さくしてもよい。
 ステップS28で、第1特定部46は、原因タスクを格納する変数T_infに変数T_candの内容を代入することによって、変数T_candに格納された計算対象タスク群を原因タスクであると特定する。
 例えば、1個のタスクによって実行可能解が得られない場合を考える。例えば、実施可能時刻が9時~16時で、かつ所要時間が8時間というタスクが存在する場合、そのタスクを実施することができないため、その1個のタスクが原因タスクであると特定される。この場合は、計算対象タスク群の数が1個になるまで、ステップS12~ステップS22の処理が繰り返し実行される。
 また、例えば、複数(ここでは2個)のタスクによって実行可能解が得られない場合を考える。例えば、タスクA及びタスクBの各々が、実施可能時刻が9時~16時で、所要時間が4時間で、かつタスクA及びタスクBの順番に実施するというタスクである場合、タスクA及びタスクBを実施しようとすると、所要時間が合計で8時間となるため、実行可能解が得られないことなる。従って、この場合、タスクA及びタスクBの2個のタスクが原因タスクであると特定される。この場合、変数T_candにタスクA及びタスクBが格納された状態からタスクA及びタスクBの何れを選択しても実行可能スケジュールが存在することになる。従って、この場合は、変数N1の値がR1を超えるまでステップS14~ステップS18、ステップS24、及びステップS26の処理が繰り返し実行される。
 ステップS30で、第2選択部50は、スケジュール策定の複数の制約条件である計算対象制約条件群を格納する変数C_candに、数理モデルデータ36に含まれる全ての制約条件を代入する。変数C_candは、実行可能解が得られない原因となる制約条件候補を格納する変数とも言える。
 ステップS32で、第2選択部50は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数をカウントするための変数N2に0を代入する。
 ステップS34で、第2選択部50は、前述したように、変数C_candに格納された計算対象制約条件群から暫定制約条件群を選択し、選択した暫定制約条件群を変数C_tmpに代入する。本実施形態では、第2選択部50は、一例として、変数C_candに格納された計算対象制約条件群から8割の制約条件を暫定制約条件群としてランダムに選択する。なお、第2選択部50が計算対象制約条件群から何割の制約条件を選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因制約条件の特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因制約条件の特定精度を高くしたいほど、割合を高く設定する。
 ステップS36で、第2導出部52は、変数T_infに格納された原因タスクが、変数C_tmpに格納された暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行う。具体的には、第2導出部52は、混合整数計画問題のソルバに、変数T_infに格納された原因タスク及び変数C_tmpに格納された暫定制約条件群を入力することによって第2の実行可能スケジュールを導出する処理を行う。第2の実行可能スケジュールが存在する場合は、第2の実行可能スケジュールがソルバから出力される。第2の実行可能スケジュールが存在しない場合は、第2の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS36での第2の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
 ステップS38で、第2判定部54は、ステップS36による導出処理の結果、第2の実行可能スケジュールが存在するか否かを判定する。この判定が否定判定となった場合は、処理はステップS40に移行する。ステップS40で、第2判定部54は、変数C_tmpの内容を変数C_candに代入することによって、計算対象制約条件群を暫定制約条件群に置き換える。ステップS42で、第2判定部54は、変数C_candに格納された計算対象制約条件群の制約条件数が1個であるか否かを判定する。変数C_candに格納された計算対象制約条件群の制約条件数が2個以上の場合は、ステップS42の判定が否定判定となり、処理はステップS32に戻る。ステップS42の判定が肯定判定となった場合は、処理はステップS48に移行する。
 ステップS38の判定が肯定判定となった場合は、処理はステップS44に移行する。ステップS44で、第2判定部54は、変数N2の値に1を加算する。ステップS46で、第2判定部54は、変数N2の値が予め定められた回数R2を超えるか否かを判定する。この判定が否定判定となった場合は、処理はステップS34に戻り、肯定判定となった場合は、処理はステップS48に移行する。回数R2としては、例えば、計算対象制約条件群から暫定制約条件群を選択する処理を繰り返す際に、暫定制約条件群が取り得る組み合わせを網羅できるような回数を設定する。なお、この回数R2は、数理モデルデータ36に含まれる制約条件数に応じて固定値としてもよいし、変数C_candに格納された計算対象制約条件群の制約条件数が減っていくことに応じて、値を小さくしてもよい。
 ステップS48で、第2特定部56は、原因制約条件を格納する変数C_infに変数C_candの内容を代入することによって、変数C_candに格納された計算対象制約条件群を原因制約条件であると特定する。
 ステップS50で、出力部58は、前述したように、変数T_infに格納された原因タスク及び変数C_infに格納された原因制約条件を出力する。ステップS50の処理が終了すると原因特定処理が終了する。
 ユーザは、出力部58により出力された原因タスク及び原因制約条件を参照し、実行可能解が得られるように、タスク及び制約条件の少なくとも一方を修正する。例えば、ユーザは、当日中に終わらせることが必須ではないタスクを翌日以降に実施することにしたり、納期時刻を遅くしてもよいものは遅くしたりする等の修正を行ったうえで、最適解を求めることによってスケジュール策定を行う。
 以上説明したように、本実施形態によれば、原因タスクに加え、原因制約条件も特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。
 また、本実施形態では、変数T_candに格納されるタスク、及び変数C_candに格納される制約条件は徐々に絞り込まれるため、元の問題と問題のサイズが変わらない。従って、スラック変数を導入する手法等の元の問題よりも問題のサイズが大きくなる手法に比較して、演算資源を低減することができる。
 また、本実施形態では、原因タスクを特定する処理(図5のステップS10~ステップS28)と、原因制約条件を特定する処理(図5のステップS30~ステップS48)とが同じアルゴリズムによって実現されている。従って、図5に示す原因特定処理をコンピュータに実行させるためのプログラムの実装の手間を低減することができる。
 なお、上記実施形態では、スケジュール策定が不可能となっている原因である原因タスクを特定した後に、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する場合について説明したが、これに限定されない。例えば、全タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定した後に、その原因制約条件を適用した場合にスケジュール策定が不可能となっている原因である原因タスクを特定する形態としてもよい。この形態例における原因特定処理の一例を図6に示す。図6における図5と同一の処理を実行するステップについては、同一のステップ番号を付して説明を省略する。
 図6に示すように、この形態例の原因特定処理は、ステップS30~ステップS48を実行した後にステップS10~ステップS28を実行する点、ステップS36に代えてステップS36Aを実行する点、及びステップS16に代えてステップS16Aを実行する点が図5に示す原因特定処理と異なっている。
 ステップS36Aで、第2導出部52は、タスクデータ34に含まれる全てのタスクが、変数C_tmpに格納された暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行う。具体的には、第2導出部52は、混合整数計画問題のソルバに、タスクデータ34に含まれる全てのタスク及び変数C_tmpに格納された暫定制約条件群を入力することによって第2の実行可能スケジュールを導出する処理を行う。第2の実行可能スケジュールが存在する場合は、第2の実行可能スケジュールがソルバから出力される。第2の実行可能スケジュールが存在しない場合は、第2の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS36Aでの第2の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
 ステップS16Aで、第1導出部42は、変数T_tmpに格納された暫定タスク群が、変数C_infに格納された原因制約条件の全てを満たす実行可能なスケジュール案である第1の実行可能スケジュールを導出する処理を行う。具体的には、第1導出部42は、混合整数計画問題のソルバに、変数T_tmpに格納された暫定タスク群及び変数C_infに格納された原因制約条件を入力することによって第1の実行可能スケジュールを導出する処理を行う。第1の実行可能スケジュールが存在する場合は、第1の実行可能スケジュールがソルバから出力される。第1の実行可能スケジュールが存在しない場合は、第1の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS16Aでの第1の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
 以上説明したように、原因制約条件を特定した後に原因タスクを特定する形態例においても、実行可能解が得られなかった原因を特定しやすくすることができる。なお、原因タスク及び原因制約条件の何れを先に導出するかは限定されない。但し、演算資源の低減の観点から、制約条件数がタスク数よりも多い場合は原因タスクを先に導出し、タスク数が制約条件数よりも多い場合は原因制約条件数を先に導出することが好ましい。
 また、上記実施形態において、例えば、第1選択部40、第1導出部42、第1判定部44、第1特定部46、第2選択部50、第2導出部52、第2判定部54、第2特定部56、及び出力部58といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
 複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
 更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
 また、上記実施形態では、情報処理プログラム30が記憶部22に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム30は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム30は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 2020年6月9日に出願された日本国特許出願2020-100320号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (10)

  1.  少なくとも一つのプロセッサを備える情報処理装置であって、
     前記プロセッサは、
     スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、
     選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
     前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を実行する
     情報処理装置。
  2.  前記プロセッサは、
     前記原因制約条件を特定する処理として、
     スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
     前記原因タスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行い、
     前記第2の実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
     前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群を前記原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出を再度実行する
     請求項1に記載の情報処理装置。
  3.  前記プロセッサは、
     前記実行可能スケジュールが存在する場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記実行可能スケジュールが存在する場合における前記暫定タスク群の選択及び前記実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象タスク群を前記原因タスクであると特定する
     請求項1又は請求項2に記載の情報処理装置。
  4.  前記プロセッサは、
     前記第2の実行可能スケジュールが存在する場合、前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出を再度実行し、
     前記第2の実行可能スケジュールが存在する場合における前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象制約条件群を前記原因制約条件であると特定する
     請求項2に記載の情報処理装置。
  5.  少なくとも一つのプロセッサを備える情報処理装置であって、
     前記プロセッサは、
     スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
     スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
     前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を実行する
     情報処理装置。
  6.  前記プロセッサは、
     前記実行可能スケジュールが存在する場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記実行可能スケジュールが存在する場合における前記暫定制約条件群の選択及び前記実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象制約条件群を前記原因制約条件であると特定する
     請求項5に記載の情報処理装置。
  7.  スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、
     選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
     前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する
     処理を情報処理装置が備えるプロセッサが実行する情報処理方法。
  8.  スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
     スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
     前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する
     処理を情報処理装置が備えるプロセッサが実行する情報処理方法。
  9.  スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、
     選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
     前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する
     処理を情報処理装置が備えるプロセッサに実行させるための情報処理プログラム。
  10.  スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
     スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
     前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
     前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
     前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する
     処理を情報処理装置が備えるプロセッサに実行させるための情報処理プログラム。
PCT/JP2021/015902 2020-06-09 2021-04-19 情報処理装置、情報処理方法、及び情報処理プログラム WO2021251001A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022530043A JP7247422B2 (ja) 2020-06-09 2021-04-19 情報処理装置、情報処理方法、及び情報処理プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020100320 2020-06-09
JP2020-100320 2020-06-09

Publications (1)

Publication Number Publication Date
WO2021251001A1 true WO2021251001A1 (ja) 2021-12-16

Family

ID=78845548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015902 WO2021251001A1 (ja) 2020-06-09 2021-04-19 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (2)

Country Link
JP (1) JP7247422B2 (ja)
WO (1) WO2021251001A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0592818A (ja) * 1991-09-30 1993-04-16 Kawasaki Steel Corp 搬送台車の搬送スケジユール方法及び制御方法
JPH06162031A (ja) * 1992-11-24 1994-06-10 Fujitsu Ltd スケジューリングのための推論方法
JP2007140653A (ja) * 2005-11-15 2007-06-07 Projectpro Inc リバース・スケジュール・システム
JP2015056015A (ja) * 2013-09-11 2015-03-23 株式会社島津製作所 作業支援管理装置、方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6162031B2 (ja) 2013-11-26 2017-07-12 株式会社日立製作所 相変化メモリおよび半導体記録再生装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0592818A (ja) * 1991-09-30 1993-04-16 Kawasaki Steel Corp 搬送台車の搬送スケジユール方法及び制御方法
JPH06162031A (ja) * 1992-11-24 1994-06-10 Fujitsu Ltd スケジューリングのための推論方法
JP2007140653A (ja) * 2005-11-15 2007-06-07 Projectpro Inc リバース・スケジュール・システム
JP2015056015A (ja) * 2013-09-11 2015-03-23 株式会社島津製作所 作業支援管理装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP7247422B2 (ja) 2023-03-28
JPWO2021251001A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
US9715408B2 (en) Data-aware workload scheduling and execution in heterogeneous environments
Yazdani et al. Optimizing the sum of maximum earliness and tardiness of the job shop scheduling problem
US5890133A (en) Method and apparatus for dynamic optimization of business processes managed by a computer system
US10496436B2 (en) Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches
US20200310769A1 (en) Method For Predicting The Successfulness Of The Execution Of A DevOps Release Pipeline
Lee et al. Permutation flowshop scheduling to minimize the total tardiness with learning effects
US11726837B2 (en) Apparatus and method for providing workload distribution of threads among multiple compute units
Lai et al. A Truncated Sum of Processing‐Times–Based Learning Model for a Two‐Machine Flowshop Scheduling Problem
WO2021251001A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Gürel et al. Rescheduling with controllable processing times for number of disrupted jobs and manufacturing cost objectives
US8346704B2 (en) Controlled constraint sharing in parallel problem solvers
JP2007148635A (ja) 生産スケジューリングプログラム及び生産スケジューリング装置
CN108694493B (zh) 作业委托支援系统及其方法
JP5911831B2 (ja) 生産管理装置および生産管理プログラム
JP2016200912A (ja) 計算機システム、計算機、ジョブ実行時刻予測方法及びジョブ実行時刻予測プログラム
US20190205804A1 (en) Information processing device, information processing method and computer readable medium
WO2018061219A1 (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法、およびジョブスケジューリング装置
CN113971074A (zh) 事务处理方法、装置、电子设备及计算机可读存储介质
JP7139811B2 (ja) 処理計画指示装置
WO2022201436A1 (ja) 作業計画立案方法、作業計画立案プログラム、および情報処理装置
US20220051189A1 (en) Automatic negotiation apparatus, automatic negotiation method, and computer-readable recording medium
JP5678729B2 (ja) 情報処理装置、作業重視度算出方法、および作業重視度算出プログラム
JP6573583B2 (ja) システム開発支援装置およびシステム開発支援方法
US20120245907A1 (en) Power consumption verification support apparatus and power consumption verification support method
EP4156041A1 (en) Information processing device, work plan specifying method, and work plan specifying program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21821849

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022530043

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21821849

Country of ref document: EP

Kind code of ref document: A1