JP7247422B2 - Information processing device, information processing method, and information processing program - Google Patents
Information processing device, information processing method, and information processing program Download PDFInfo
- Publication number
- JP7247422B2 JP7247422B2 JP2022530043A JP2022530043A JP7247422B2 JP 7247422 B2 JP7247422 B2 JP 7247422B2 JP 2022530043 A JP2022530043 A JP 2022530043A JP 2022530043 A JP2022530043 A JP 2022530043A JP 7247422 B2 JP7247422 B2 JP 7247422B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- constraint
- task
- cause
- schedule
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
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)
Description
本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。 The present disclosure relates to an information processing device, an information processing method, and an information processing program.
従来、複数のタスクの実行順序を表すスケジュールの策定を数理最適化問題として捉え、数理モデルとして定式化し、最適化計算を行うことによってスケジュールの策定が行われている。この種の技術として、特開2015-062102号公報には、制約条件を満たす運転計画を策定する運転計画策定方法であって、実行可能解を導出できない場合に、実行不可能解における制約違反の箇所を特定する運転計画策定方法が開示されている。 Conventionally, formulating a schedule representing the execution order of a plurality of tasks is regarded as a mathematical optimization problem, formulated as a mathematical model, and a schedule is formulated by performing optimization calculations. As a technique of this kind, Japanese Patent Application Laid-Open No. 2015-062102 discloses an operation plan formulating method for formulating an operation plan that satisfies constraints. An operation planning method for identifying points is disclosed.
スケジュール策定対象のデータによっては最適化計算を行った際に実行可能解が得られない場合があり、この場合はスケジュールを策定することができない。この場合、実行可能解が得られない原因を特定し、修正を行うこととなる。この原因の特定には、数理最適化に対する専門的な知識及びノウハウ等が必要となる。 Depending on the data to be scheduled, a feasible solution may not be obtained when the optimization calculation is performed, and in this case the schedule cannot be created. In this case, the cause for not being able to obtain a feasible solution is identified and corrected. In order to identify the cause of this, specialized knowledge and know-how for mathematical optimization are required.
しかしながら、このようなスケジュール策定を数理モデルとして定式化する人と、定式化された数理モデルを用いて、スケジュール策定対象のタスクを実際に行う現場においてスケジュール策定を行う人は異なる場合が多い。この場合で、かつ現場で実行可能解が得られなかった場合、現場の人が、実行可能解が得られなかった原因を特定することは困難である。 However, there are many cases in which the person who formulates such a schedule as a mathematical model is different from the person who uses the formulated mathematical model to create the schedule at the site where the task to be scheduled is actually performed. In this case, and if no feasible solution is obtained at the site, it is difficult for the person at the site to identify the cause of the failure to obtain the feasible solution.
特開2015-062102号公報に記載の技術では、実行可能解が得られなかった原因である制約条件を提示しているものの、制約条件だけでは、実行可能解が得られなかった原因を特定し、スケジュールを策定できるように修正することは困難である。 Although the technique described in Japanese Patent Application Laid-Open No. 2015-062102 presents constraints that are the cause of failure to obtain a feasible solution, the constraints alone cannot identify the cause of failure to obtain a feasible solution. , is difficult to modify so that a schedule can be formulated.
本開示は、以上の事情を鑑みてなされたものであり、実行可能解が得られなかった原因を特定しやすくすることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。 The present disclosure has been made in view of the circumstances described above, and aims to provide an information processing device, an information processing method, and an information processing program that can facilitate identification of the cause of failure to obtain a feasible solution. aim.
本開示の情報処理装置は、少なくとも一つのプロセッサを備える情報処理装置であって、プロセッサが、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を実行するものである。 An information processing apparatus according to the present disclosure is an information processing apparatus that includes at least one processor, and the processor is a provisional task group that is a partial task group from a calculation target task group that is a plurality of tasks to be scheduled. is selected, and the selected provisional task group performs a process of deriving an executable schedule that is an executable schedule that satisfies the constraint conditions, and if no executable schedule exists, replaces the calculation target task group with the provisional task group, If the number of tasks in the calculation target task group is 1, the calculation target task group is identified as the cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the calculation target task group is 2 or more. , the selection of the provisional task group and the derivation of the executable schedule are executed again, and the process of identifying the cause constraint, which is the constraint that makes the cause task impossible to execute, is executed. .
これにより、スケジュール策定が不可能となっている原因であるタスク及び制約条件を特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。 As a result, since the tasks and constraints that are the cause of the impossibility of scheduling are identified, it is possible to easily identify the cause of the inability to obtain an executable solution.
なお、本開示の情報処理装置は、プロセッサが、原因制約条件を特定する処理として、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、原因タスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行い、第2の実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群を原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び第2の実行可能スケジュールの導出を再度実行してもよい。 In the information processing apparatus of the present disclosure, the processor selects a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling, as the process of identifying the cause constraint. selected, the cause task derives a second executable schedule that is an executable schedule that satisfies all of the provisional constraint group, and if the second executable schedule does not exist, the calculation target constraint group is replaced by the provisional constraint group, and if the number of constraints in the group of constraints to be calculated is 1, the group of constraints to be calculated is identified as the cause constraint, and the number of constraints in the group of constraints to be calculated is 2 If the number is greater than or equal to 1, selection of the temporary constraint group and derivation of the second feasible schedule may be performed again.
これにより、スケジュール策定が不可能となっている原因であるタスクと同様のアルゴリズムによって、スケジュール策定が不可能となっている原因である制約条件を特定することができる。 This makes it possible to identify the constraint that is the cause of the impossibility of scheduling by the same algorithm as the task that is the cause of the impossibility of scheduling.
また、本開示の情報処理装置は、プロセッサが、実行可能スケジュールが存在する場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、実行可能スケジュールが存在する場合における暫定タスク群の選択及び実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象タスク群を原因タスクであると特定してもよい。 Further, in the information processing apparatus of the present disclosure, when the executable schedule exists, the processor again executes selection of the provisional task group and derivation of the executable schedule, and selection of the provisional task group when the executable schedule exists. And if the number of executions of derivation of the executable schedule exceeds a predetermined number of times, the calculation target task group may be identified as the cause task.
これにより、スケジュール策定の対象とする複数のタスクから選択した一部のタスク群について実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。 As a result, even if there is an executable schedule proposal for some task groups selected from a plurality of tasks to be scheduled, it is possible to easily identify the cause of the failure to obtain an executable solution.
また、本開示の情報処理装置は、プロセッサが、第2の実行可能スケジュールが存在する場合、暫定制約条件群の選択及び第2の実行可能スケジュールの導出を再度実行し、第2の実行可能スケジュールが存在する場合における暫定制約条件群の選択及び第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定してもよい。 Further, in the information processing apparatus of the present disclosure, when the second executable schedule exists, the processor again executes the selection of the provisional constraint group and the derivation of the second executable schedule, and the second executable schedule If the number of executions of selection of the provisional constraint group and derivation of the second feasible schedule exceeds a predetermined number of times when .
これにより、スケジュール策定の複数の制約条件から選択した一部の制約条件群の全てを満たす実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。 As a result, even if there is a feasible schedule proposal that satisfies all of a partial constraint group selected from a plurality of constraints for scheduling, it is possible to easily identify the cause for not obtaining a feasible solution. can.
また、本開示の情報処理装置は、少なくとも一つのプロセッサを備える情報処理装置であって、プロセッサが、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を実行するものである。 Further, an information processing apparatus of the present disclosure is an information processing apparatus including at least one processor, wherein the processor is a temporary constraint group that is a partial constraint group from a group of calculation target constraints that are a plurality of constraints for scheduling. A set of constraints is selected, and a process of deriving an executable schedule, which is an executable schedule proposal that satisfies all of the provisional constraint groups for a plurality of tasks to be scheduled, is performed, and if no executable schedule exists, If the calculation target constraint group is replaced with the temporary constraint group and the number of constraints in the calculation target constraint group is 1, the cause constraint that is the cause of the scheduling failure of the calculation target constraint group and the number of constraints in the group of constraints to be calculated is two or more, selection of the provisional constraint group and derivation of the executable schedule are executed again, and execution becomes impossible due to the cause constraint. It executes a process of identifying the cause task, which is the task that is causing the problem.
これにより、スケジュール策定が不可能となっている原因であるタスク及び制約条件を特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。 As a result, since the tasks and constraints that are the cause of the impossibility of scheduling are identified, it is possible to easily identify the cause of the inability to obtain an executable solution.
また、本開示の情報処理装置は、プロセッサが、実行可能スケジュールが存在する場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、実行可能スケジュールが存在する場合における暫定制約条件群の選択及び実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定してもよい。 Further, in the information processing apparatus of the present disclosure, when the executable schedule exists, the processor again executes the selection of the temporary constraint group and the derivation of the executable schedule, and the temporary constraint group when the executable schedule exists. and derivation of the feasible schedule exceeds a predetermined number of times, the group of constraints to be calculated may be identified as the cause constraint.
これにより、スケジュール策定の複数の制約条件から選択した一部の制約条件群の全てを満たす実行可能なスケジュール案が存在する場合でも、実行可能解が得られなかった原因を特定しやすくすることができる。 As a result, even if there is a feasible schedule proposal that satisfies all of a partial constraint group selected from a plurality of constraints for scheduling, it is possible to easily identify the cause for not obtaining a feasible solution. can.
また、本開示の情報処理方法は、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を情報処理装置が備えるプロセッサが実行するものである。 Further, the information processing method of the present disclosure selects a provisional task group, which is a partial task group, from the calculation target task group, which is a plurality of tasks to be scheduled, and the selected provisional task group satisfies the constraint conditions. Perform processing for deriving an executable schedule that is an executable schedule proposal, and if no executable schedule exists, replace the calculation target task group with a provisional task group, and if the number of tasks in the calculation target task group is one, If the task group to be calculated is identified as the cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the task group to be calculated is two or more, a provisional task group is selected and an executable schedule is created. A processor included in the information processing apparatus executes the derivation again and specifies the cause constraint that is the constraint that causes the cause task to be impossible to execute.
また、本開示の情報処理方法は、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を情報処理装置が備えるプロセッサが実行するものである。 Further, the information processing method of the present disclosure selects a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling, and selects a plurality of tasks to be scheduled. performs a process of deriving an executable schedule that is an executable schedule that satisfies all of the provisional constraint group, and if no feasible schedule exists, replaces the calculation target constraint group with the provisional constraint group, and calculates the target constraint If the number of constraints in the condition group is 1, the constraint group to be calculated is identified as the cause constraint that is the cause of the inability to formulate the schedule, and the number of constraints in the constraint group to be calculated is determined to be If the number is two or more, the information processing apparatus executes the selection of the temporary constraint group and the derivation of the executable schedule again, and identifies the cause task, which is the task that cannot be executed due to the cause constraint. It is executed by the provided processor.
また、本開示の情報処理プログラムは、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換え、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、計算対象タスク群のタスク数が2個以上である場合、暫定タスク群の選択及び実行可能スケジュールの導出を再度実行し、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を情報処理装置が備えるプロセッサに実行させるためのものである。 Further, the information processing program of the present disclosure selects a temporary task group, which is a partial task group, from the calculation target task group, which is a plurality of tasks to be scheduled, and the selected temporary task group satisfies the constraint conditions. Perform processing for deriving an executable schedule that is an executable schedule proposal, and if no executable schedule exists, replace the calculation target task group with a provisional task group, and if the number of tasks in the calculation target task group is one, If the task group to be calculated is identified as the cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the task group to be calculated is two or more, a provisional task group is selected and an executable schedule is created. This is for causing the processor included in the information processing apparatus to execute the derivation again and the process of specifying the cause constraint, which is the constraint that causes the cause task to be impossible to execute.
また、本開示の情報処理プログラムは、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、スケジュール策定の対象とする複数のタスクが暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換え、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、計算対象制約条件群の制約条件数が2個以上である場合、暫定制約条件群の選択及び実行可能スケジュールの導出を再度実行し、原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を情報処理装置が備えるプロセッサに実行させるためのものである。 Further, the information processing program of the present disclosure selects a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling, and selects a plurality of tasks to be scheduled. performs a process of deriving an executable schedule that is an executable schedule that satisfies all of the provisional constraint group, and if no feasible schedule exists, replaces the calculation target constraint group with the provisional constraint group, and calculates the target constraint If the number of constraints in the condition group is 1, the constraint group to be calculated is identified as the cause constraint that is the cause of the inability to formulate the schedule, and the number of constraints in the constraint group to be calculated is determined to be If the number is two or more, the information processing apparatus executes the selection of the temporary constraint group and the derivation of the executable schedule again, and identifies the cause task, which is the task that cannot be executed due to the cause constraint. It is intended to be executed by the provided processor.
本開示によれば、実行可能解が得られなかった原因を特定しやすくすることができる。 Advantageous Effects of Invention According to the present disclosure, it is possible to facilitate identification of the cause of failure to obtain a feasible solution.
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。 Embodiments for implementing the technology of the present disclosure will be described in detail below with reference to the drawings.
まず、図1を参照して、本実施形態に係る情報処理装置10のハードウェア構成を説明する。情報処理装置10は、例えば、工場等の生産現場に設置される。ただし、情報処理装置10の設置場所は、生産現場に限定されるものではない。
First, the hardware configuration of an
図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の例としては、パーソナルコンピュータ又はサーバコンピュータ等が挙げられる。
As shown in FIG. 1, the
記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、情報処理プログラム30が記憶される。CPU20は、記憶部22から情報処理プログラム30を読み出してからメモリ21に展開し、展開した情報処理プログラム30を実行する。
The
また、記憶部22には、スケジュール策定の対象とするタスクを行う人である作業者に関する作業者データ32が記憶される。図2に、作業者データ32の一例を示す。図2に示すように、作業者データ32には、作業者毎の作業者の識別情報の一例としての作業者名、勤務開始時刻、及び勤務終了時刻が含まれる。各作業者は、勤務開始時刻から勤務終了時刻までの間にタスクを行うことが可能とされる。
The
また、記憶部22には、スケジュール策定の対象とするタスクに関するタスクデータ34が記憶される。図3に、タスクデータ34の一例を示す。図3に示すように、タスクデータ34には、タスク毎のタスクの識別情報の一例としてのタスク名、納期時刻、所要時間、実施順番、及び割当可能作業者が含まれる。タスクの納期時刻は、そのタスクの終了期限の時刻を表す。タスクの所要時間は、そのタスクを作業者が行った場合の所要時間を表す。タスクの実施順番は、そのタスクの実施順番の制約を表す。図3の例では、タスクAはタスクBよりも前に行われることになっており、タスクBはタスクAよりも後に行われることになっている。タスクの割当可能作業者は、そのタスクを割り当てることが可能な作業者名を表す。
The
また、記憶部22には、例えば、全ての制約条件を導入したスケジュールを求めるジョブスケジュール問題を混合整数計画問題として定式化した数理モデルに関する数理モデルデータ36が記憶される。この数理モデルデータ36は、例えば、数理最適化問題の専門家によって予め作成されたものである。数理モデルデータ36には、例えば、以下に示す目的関数及び制約条件が含まれる。以下に示す目的関数及び制約条件に含まれるタスク及び作業者は、例えば、タスクデータ34に含まれるタスク及び作業者データ32に含まれる作業者に相当する。なお、以下に示す目的関数及び制約条件は一例であり、この例に限定されるものではない。
The
上記の制約条件で用いられるNは、例えば、106等の大きな正の整数であり、全ての決定変数の上限値よりも大きな値が適用される。N used in the above constraints is a large positive integer, such as 10 6 , and a value greater than the upper limit of all decision variables is applied.
次に、図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として機能する。
Next, a functional configuration of the
第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択する。本実施形態では、第1選択部40は、一例として、計算対象タスク群からランダムに暫定タスク群を選択する。なお、第1選択部40は、ランダムではなく、繰り返して暫定タスク群を選択する際に、暫定タスク群が異なるタスクの組み合わせになるように選択してもよい。第1導出部42は、第1選択部40により選択された暫定タスク群が、数理モデルデータ36に含まれる全ての制約条件を満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第1の実行可能スケジュール」という)を導出する処理を行う。
The
第1判定部44は、第1導出部42による導出処理の結果、第1の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第1判定部44は、第1の実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換える。第1の実行可能スケジュールが存在する場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。
The
第1特定部46は、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定する。計算対象タスク群のタスク数が2個以上である場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。
When the number of tasks in the calculation target task group is one, the
また、第1特定部46は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象タスク群を原因タスクであると特定する。
Further, the first identifying
第2選択部50は、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択する。本実施形態では、第2選択部50は、一例として、計算対象制約条件群からランダムに暫定制約条件群を選択する。なお、第2選択部50は、ランダムではなく、繰り返して暫定制約条件群を選択する際に、暫定制約条件群が異なる制約条件の組み合わせになるように選択してもよい。第2導出部52は、第1特定部46により特定された原因タスクが第2選択部50により選択された暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第2の実行可能スケジュール」という)を導出する処理を行う。
The
第2判定部54は、第2導出部52による導出処理の結果、第2の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第2判定部54は、第2の実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換える。第2の実行可能スケジュールが存在する場合、第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出が再度実行される。
The
第2特定部56は、計算対象制約条件群の制約条件数が1個である場合、計算対象制約条件群を、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件であると特定する。計算対象制約条件群の制約条件数が2個以上である場合、第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出が再度実行される。
When the number of constraints in the calculation target constraint group is one, the second identifying
また、第2特定部56は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定する。
In addition, the second identifying
出力部58は、第1特定部46により特定された原因タスク及び第2特定部56により特定された原因制約条件を出力する。具体的には、例えば、出力部58は、原因タスク及び原因制約条件を表示部23に出力することによって表示する。なお、出力部58は、原因タスク及び原因制約条件を記憶部22に出力することによって記憶してもよいし、ネットワークI/F25を介して外部装置に出力することによって送信してもよい。
The
次に、図5を参照して、本実施形態に係る情報処理装置10の作用を説明する。CPU20が情報処理プログラム30を実行することによって、図5に示す原因特定処理が実行される。原因特定処理は、例えば、ユーザにより入力部24を介して実行指示が入力された場合に実行される。また、本実施形態では、原因特定処理は、タスクデータ34に含まれる全てのタスクを対象として、数理モデルデータ36に含まれる全ての制約条件を適用したうえで数理計画問題として計算した場合に、実行可能解が得られないときに実行される。
Next, the operation of the
図5のステップS10で、第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群を格納する変数T_candに、タスクデータ34に含まれる全てのタスクを代入する。変数T_candは、実行可能解が得られない原因となるタスク候補を格納する変数とも言える。
In step S10 of FIG. 5, the
ステップS12で、第1選択部40は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数をカウントするための変数N1に0を代入する。
In step S12, the
ステップS14で、第1選択部40は、前述したように、変数T_candに格納された計算対象タスク群から暫定タスク群を選択し、選択した暫定タスク群を変数T_tmpに代入する。本実施形態では、第1選択部40は、一例として、変数T_candに格納された計算対象タスク群から8割のタスクを暫定タスク群としてランダムに選択する。なお、第1選択部40が計算対象タスク群から何割のタスクを選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因タスクの特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因タスクの特定精度を高くしたいほど、割合を高く設定する。
In step S14, as described above, the
ステップS16で、第1導出部42は、変数T_tmpに格納された暫定タスク群が、数理モデルデータ36に含まれる全ての制約条件を満たす実行可能なスケジュール案である第1の実行可能スケジュールを導出する処理を行う。具体的には、第1導出部42は、混合整数計画問題のソルバに、変数T_tmpに格納された暫定タスク群及び数理モデルデータ36を入力することによって第1の実行可能スケジュールを導出する処理を行う。第1の実行可能スケジュールが存在する場合は、第1の実行可能スケジュールがソルバから出力される。第1の実行可能スケジュールが存在しない場合は、第1の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。混合整数計画問題のソルバの例としては、Gurobi Optimizer等のソフトウェアが挙げられる。なお、ステップS16での第1の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
In step S<b>16 , the
ステップS18で、第1判定部44は、ステップS16による導出処理の結果、第1の実行可能スケジュールが存在するか否かを判定する。この判定が否定判定となった場合は、処理はステップS20に移行する。ステップS20で、第1判定部44は、変数T_tmpの内容を変数T_candに代入することによって、計算対象タスク群を暫定タスク群に置き換える。ステップS22で、第1判定部44は、変数T_candに格納された計算対象タスク群のタスク数が1個であるか否かを判定する。変数T_candに格納された計算対象タスク群のタスク数が2個以上の場合は、ステップS22の判定が否定判定となり、処理はステップS12に戻る。
In step S18, the
ステップS22の判定が肯定判定となった場合は、処理はステップS28に移行する。従って、例えば、タスクデータ34に含まれる全てのタスクの数が100個である場合、ステップS12~ステップS22の繰り返し処理によって、計算対象タスク群のタスク数は、100→80→64→51→41→・・・と減らされることとなる。
If the determination in step S22 is affirmative, the process proceeds to step S28. Therefore, for example, when the total number of tasks included in the
ステップS18の判定が肯定判定となった場合は、処理はステップS24に移行する。ステップS24で、第1判定部44は、変数N1の値に1を加算する。ステップS26で、第1判定部44は、変数N1の値が予め定められた回数R1を超えるか否かを判定する。この判定が否定判定となった場合は、処理はステップS14に戻り、肯定判定となった場合は、処理はステップS28に移行する。回数R1としては、例えば、計算対象タスク群から暫定タスク群を選択する処理を繰り返す際に、暫定タスク群が取り得る組み合わせを網羅できるような回数を設定する。なお、この回数R1は、タスクデータ34に含まれるタスク数に応じて固定値としてもよいし、変数T_candに格納された計算対象タスク群のタスク数が減っていくことに応じて、値を小さくしてもよい。
If the determination in step S18 is affirmative, the process proceeds to step S24. In step S24, the
ステップS28で、第1特定部46は、原因タスクを格納する変数T_infに変数T_candの内容を代入することによって、変数T_candに格納された計算対象タスク群を原因タスクであると特定する。
In step S28, the
例えば、1個のタスクによって実行可能解が得られない場合を考える。例えば、実施可能時刻が9時~16時で、かつ所要時間が8時間というタスクが存在する場合、そのタスクを実施することができないため、その1個のタスクが原因タスクであると特定される。この場合は、計算対象タスク群の数が1個になるまで、ステップS12~ステップS22の処理が繰り返し実行される。 For example, consider the case where a single task does not yield a feasible solution. For example, if there is a task whose practicable time is from 9:00 to 16:00 and the required time is 8 hours, the task cannot be performed, so that one task is identified as the cause task. . In this case, the processing of steps S12 to S22 is repeatedly executed until the number of calculation target task groups becomes one.
また、例えば、複数(ここでは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の処理が繰り返し実行される。 Also, for example, consider a case where a plurality of (here, two) tasks do not yield a feasible solution. For example, if task A and task B each have an executable time of 9:00 to 16:00, a required time of 4 hours, and are to be performed in order of task A and task B, task A and task B If you try to implement B, the total time required will be 8 hours, so you will not be able to obtain a feasible solution. Therefore, in this case, two tasks, task A and task B, are identified as the cause tasks. In this case, an executable schedule exists even if either task A or task B is selected from the state in which task A and task B are stored in variable T_cand. Therefore, in this case, the processes of steps S14 to S18, steps S24, and S26 are repeatedly executed until the value of the variable N1 exceeds R1.
ステップS30で、第2選択部50は、スケジュール策定の複数の制約条件である計算対象制約条件群を格納する変数C_candに、数理モデルデータ36に含まれる全ての制約条件を代入する。変数C_candは、実行可能解が得られない原因となる制約条件候補を格納する変数とも言える。
In step S30, the
ステップS32で、第2選択部50は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数をカウントするための変数N2に0を代入する。
In step S32, the
ステップS34で、第2選択部50は、前述したように、変数C_candに格納された計算対象制約条件群から暫定制約条件群を選択し、選択した暫定制約条件群を変数C_tmpに代入する。本実施形態では、第2選択部50は、一例として、変数C_candに格納された計算対象制約条件群から8割の制約条件を暫定制約条件群としてランダムに選択する。なお、第2選択部50が計算対象制約条件群から何割の制約条件を選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因制約条件の特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因制約条件の特定精度を高くしたいほど、割合を高く設定する。
In step S34, as described above, the
ステップS36で、第2導出部52は、変数T_infに格納された原因タスクが、変数C_tmpに格納された暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行う。具体的には、第2導出部52は、混合整数計画問題のソルバに、変数T_infに格納された原因タスク及び変数C_tmpに格納された暫定制約条件群を入力することによって第2の実行可能スケジュールを導出する処理を行う。第2の実行可能スケジュールが存在する場合は、第2の実行可能スケジュールがソルバから出力される。第2の実行可能スケジュールが存在しない場合は、第2の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS36での第2の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
In step S36, the
ステップ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に移行する。
In step S38, the
ステップS38の判定が肯定判定となった場合は、処理はステップS44に移行する。ステップS44で、第2判定部54は、変数N2の値に1を加算する。ステップS46で、第2判定部54は、変数N2の値が予め定められた回数R2を超えるか否かを判定する。この判定が否定判定となった場合は、処理はステップS34に戻り、肯定判定となった場合は、処理はステップS48に移行する。回数R2としては、例えば、計算対象制約条件群から暫定制約条件群を選択する処理を繰り返す際に、暫定制約条件群が取り得る組み合わせを網羅できるような回数を設定する。なお、この回数R2は、数理モデルデータ36に含まれる制約条件数に応じて固定値としてもよいし、変数C_candに格納された計算対象制約条件群の制約条件数が減っていくことに応じて、値を小さくしてもよい。
If the determination in step S38 is affirmative, the process proceeds to step S44. In step S44, the
ステップS48で、第2特定部56は、原因制約条件を格納する変数C_infに変数C_candの内容を代入することによって、変数C_candに格納された計算対象制約条件群を原因制約条件であると特定する。
In step S48, the
ステップS50で、出力部58は、前述したように、変数T_infに格納された原因タスク及び変数C_infに格納された原因制約条件を出力する。ステップS50の処理が終了すると原因特定処理が終了する。
In step S50, the
ユーザは、出力部58により出力された原因タスク及び原因制約条件を参照し、実行可能解が得られるように、タスク及び制約条件の少なくとも一方を修正する。例えば、ユーザは、当日中に終わらせることが必須ではないタスクを翌日以降に実施することにしたり、納期時刻を遅くしてもよいものは遅くしたりする等の修正を行ったうえで、最適解を求めることによってスケジュール策定を行う。
The user refers to the causal task and causal constraint output by the
以上説明したように、本実施形態によれば、原因タスクに加え、原因制約条件も特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。 As described above, according to the present embodiment, in addition to the cause task, the cause constraints are identified, so it is possible to easily identify the cause of the failure to obtain an executable solution.
また、本実施形態では、変数T_candに格納されるタスク、及び変数C_candに格納される制約条件は徐々に絞り込まれるため、元の問題と問題のサイズが変わらない。従って、スラック変数を導入する手法等の元の問題よりも問題のサイズが大きくなる手法に比較して、演算資源を低減することができる。 Also, in this embodiment, the tasks stored in the variable T_cand and the constraints stored in the variable C_cand are gradually narrowed down, so the size of the original problem does not change. Therefore, computational resources can be reduced compared to methods such as methods that introduce slack variables, in which the size of the problem is larger than that of the original problem.
また、本実施形態では、原因タスクを特定する処理(図5のステップS10~ステップS28)と、原因制約条件を特定する処理(図5のステップS30~ステップS48)とが同じアルゴリズムによって実現されている。従って、図5に示す原因特定処理をコンピュータに実行させるためのプログラムの実装の手間を低減することができる。 Further, in this embodiment, the process of identifying the cause task (steps S10 to S28 in FIG. 5) and the process of identifying the cause constraint (steps S30 to S48 in FIG. 5) are realized by the same algorithm. there is Therefore, it is possible to reduce the trouble of implementing a program for causing a computer to execute the cause identification processing shown in FIG.
なお、上記実施形態では、スケジュール策定が不可能となっている原因である原因タスクを特定した後に、原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する場合について説明したが、これに限定されない。例えば、全タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定した後に、その原因制約条件を適用した場合にスケジュール策定が不可能となっている原因である原因タスクを特定する形態としてもよい。この形態例における原因特定処理の一例を図6に示す。図6における図5と同一の処理を実行するステップについては、同一のステップ番号を付して説明を省略する。 Note that in the above embodiment, after identifying the cause task that is the cause of the impossibility of schedule formulation, the cause constraint that is the constraint condition that causes the execution of the cause task to become impossible is specified. has been described, but is not limited to this. For example, after identifying the cause constraint that is the constraint that makes it impossible to execute all tasks, when that cause constraint is applied, the cause task that makes scheduling impossible may be specified. FIG. 6 shows an example of cause identification processing in this embodiment. Steps in FIG. 6 that execute the same processing as in FIG. 5 are given the same step numbers, and descriptions thereof are omitted.
図6に示すように、この形態例の原因特定処理は、ステップS30~ステップS48を実行した後にステップS10~ステップS28を実行する点、ステップS36に代えてステップS36Aを実行する点、及びステップS16に代えてステップS16Aを実行する点が図5に示す原因特定処理と異なっている。 As shown in FIG. 6, the cause identifying process of this embodiment includes executing steps S10 to S28 after executing steps S30 to S48, executing step S36A instead of step S36, and executing step S16. 5 in that step S16A is executed instead.
ステップS36Aで、第2導出部52は、タスクデータ34に含まれる全てのタスクが、変数C_tmpに格納された暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行う。具体的には、第2導出部52は、混合整数計画問題のソルバに、タスクデータ34に含まれる全てのタスク及び変数C_tmpに格納された暫定制約条件群を入力することによって第2の実行可能スケジュールを導出する処理を行う。第2の実行可能スケジュールが存在する場合は、第2の実行可能スケジュールがソルバから出力される。第2の実行可能スケジュールが存在しない場合は、第2の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS36Aでの第2の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
In step S36A, the
ステップS16Aで、第1導出部42は、変数T_tmpに格納された暫定タスク群が、変数C_infに格納された原因制約条件の全てを満たす実行可能なスケジュール案である第1の実行可能スケジュールを導出する処理を行う。具体的には、第1導出部42は、混合整数計画問題のソルバに、変数T_tmpに格納された暫定タスク群及び変数C_infに格納された原因制約条件を入力することによって第1の実行可能スケジュールを導出する処理を行う。第1の実行可能スケジュールが存在する場合は、第1の実行可能スケジュールがソルバから出力される。第1の実行可能スケジュールが存在しない場合は、第1の実行可能スケジュールが存在しないことを表す情報がソルバから出力される。なお、ステップS16Aでの第1の実行可能スケジュールの導出処理において、最適解を求めるのではなく、実行可能解が1つでも見つかった時点で処理を停止してもよい。この場合、演算時間を短縮することができる。
In step S16A, the
以上説明したように、原因制約条件を特定した後に原因タスクを特定する形態例においても、実行可能解が得られなかった原因を特定しやすくすることができる。なお、原因タスク及び原因制約条件の何れを先に導出するかは限定されない。但し、演算資源の低減の観点から、制約条件数がタスク数よりも多い場合は原因タスクを先に導出し、タスク数が制約条件数よりも多い場合は原因制約条件数を先に導出することが好ましい。 As described above, it is possible to easily identify the cause of not being able to obtain an executable solution even in the embodiment in which the cause task is identified after the cause constraint is identified. It is not limited which of the cause task and the cause constraint is derived first. However, from the viewpoint of reducing computational resources, when the number of constraints is greater than the number of tasks, the cause task should be derived first, and when the number of tasks is greater than the number of constraints, the number of cause constraints should be derived first. is preferred.
また、上記実施形態において、例えば、第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)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
Further, in the above embodiment, for example, the
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。 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 multiple FPGAs, a combination of a CPU and an FPGA). combination). Also, a plurality of processing units may be configured by one processor.
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。 As an example of configuring a plurality of processing units with a single processor, first, as represented by computers such as clients and servers, a single processor is configured by combining one or more CPUs and software. There is a form in which a processor functions as multiple processing units. Secondly, as typified by System On Chip (SoC), etc., there is a form of using a processor that realizes the functions of the entire system including multiple processing units with a single IC (Integrated Circuit) chip. be. In this way, the various processing units are configured using one or more of the above various processors as a hardware structure.
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。 Furthermore, as the hardware structure of these various processors, more specifically, an electric circuit (circuitry) in which circuit elements such as semiconductor elements are combined can be used.
また、上記実施形態では、情報処理プログラム30が記憶部22に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム30は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム30は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
Further, in the above-described embodiment, the
2020年6月9日に出願された日本国特許出願2020-100320号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。 The disclosure of Japanese Patent Application No. 2020-100320 filed on June 9, 2020 is incorporated herein by reference in its entirety. In addition, all publications, patent applications, and technical standards mentioned herein are to the same extent as if each individual publication, patent application, or technical standard were specifically and individually noted to be incorporated by reference. , incorporated herein by reference.
Claims (10)
前記プロセッサは、
スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択し、
選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する処理を実行する
情報処理装置。An information processing device comprising at least one processor,
The processor
Selecting a temporary task group, which is a partial task group, from the calculation target task group, which is a plurality of tasks to be scheduled,
performing a process of deriving an executable schedule, which is an executable schedule plan that satisfies the constraints of the selected provisional task group;
if the executable schedule does not exist, replacing the calculation target task group with the provisional task group;
If the number of tasks in the computational task group is one, the computational task group is identified as a cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the computational task group is determined to be if there are two or more, selecting the provisional task group and deriving the executable schedule again;
An information processing device that executes a process of identifying a cause constraint that is a constraint that causes the cause task to be impossible to execute.
前記原因制約条件を特定する処理として、
スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
前記原因タスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である第2の実行可能スケジュールを導出する処理を行い、
前記第2の実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群を前記原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出を再度実行する
請求項1に記載の情報処理装置。The processor
As a process for identifying the cause constraint,
Selecting a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling,
performing a process of deriving a second executable schedule, which is an executable schedule proposal in which the cause task satisfies all of the provisional constraint conditions;
if the second executable schedule does not exist, replacing the calculation target constraint group with the temporary constraint group;
When the number of constraints in the group of constraints to be calculated is 1, the group of constraints to be calculated is identified as the cause constraint, and the number of constraints in the group of constraints to be calculated is 2 or more. 2. The information processing apparatus according to claim 1, wherein, in a case, the selection of the provisional constraint group and the derivation of the second executable schedule are executed again.
前記実行可能スケジュールが存在する場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記実行可能スケジュールが存在する場合における前記暫定タスク群の選択及び前記実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象タスク群を前記原因タスクであると特定する
請求項1又は請求項2に記載の情報処理装置。The processor
if the executable schedule exists, re-execute the selection of the provisional task group and the derivation of the executable schedule;
If the number of executions of selecting the provisional task group and deriving the executable schedule when the executable schedule exists exceeds a predetermined number of times, identifying the calculation target task group as the cause task. The information processing apparatus according to claim 1 or 2.
前記第2の実行可能スケジュールが存在する場合、前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出を再度実行し、
前記第2の実行可能スケジュールが存在する場合における前記暫定制約条件群の選択及び前記第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象制約条件群を前記原因制約条件であると特定する
請求項2に記載の情報処理装置。The processor
if the second feasible schedule exists, selecting the set of temporary constraints and deriving the second feasible schedule again;
If the number of executions of selection of the provisional constraint group and derivation of the second executable schedule when the second executable schedule exists exceeds a predetermined number of times, the constraint group to be calculated is changed to the The information processing apparatus according to claim 2, wherein the cause constraint condition is specified.
前記プロセッサは、
スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択し、
スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する処理を実行する
情報処理装置。An information processing device comprising at least one processor,
The processor
Selecting a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling,
performing a process of deriving an executable schedule, which is an executable schedule proposal in which a plurality of tasks to be scheduled satisfy all of the provisional constraint conditions;
if the executable schedule does not exist, replacing the calculation target constraint group with the temporary constraint group;
When the number of constraints in the group of constraints to be calculated is one, the group of constraints to be calculated is specified as a cause constraint that is the cause of the impossibility of scheduling, and the constraint to be calculated is specified if the number of constraints in the group is two or more, selecting the temporary constraint group and deriving the feasible schedule again;
An information processing device that executes a process of identifying a cause task that is a task that cannot be executed due to the cause constraint.
前記実行可能スケジュールが存在する場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記実行可能スケジュールが存在する場合における前記暫定制約条件群の選択及び前記実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、前記計算対象制約条件群を前記原因制約条件であると特定する
請求項5に記載の情報処理装置。The processor
if the feasible schedule exists, re-execute the selection of the provisional constraint group and the derivation of the feasible schedule;
If the number of executions of selecting the provisional constraint group and deriving the executable schedule when the executable schedule exists exceeds a predetermined number of times, the calculation target constraint group is regarded as the cause constraint. The information processing apparatus according to claim 5, which specifies.
選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する
処理を情報処理装置が備えるプロセッサが実行する情報処理方法。Selecting a temporary task group, which is a partial task group, from the calculation target task group, which is a plurality of tasks to be scheduled,
performing a process of deriving an executable schedule, which is an executable schedule plan that satisfies the constraints of the selected provisional task group;
if the executable schedule does not exist, replacing the calculation target task group with the provisional task group;
If the number of tasks in the computational task group is one, the computational task group is identified as a cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the computational task group is determined to be if there are two or more, selecting the provisional task group and deriving the executable schedule again;
An information processing method in which a processor included in an information processing apparatus executes a process of specifying a cause constraint that is a constraint that causes the cause task to be impossible to execute.
スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する
処理を情報処理装置が備えるプロセッサが実行する情報処理方法。Selecting a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling,
performing a process of deriving an executable schedule, which is an executable schedule proposal in which a plurality of tasks to be scheduled satisfy all of the provisional constraint conditions;
if the executable schedule does not exist, replacing the calculation target constraint group with the temporary constraint group;
When the number of constraints in the group of constraints to be calculated is one, the group of constraints to be calculated is specified as a cause constraint that is the cause of the impossibility of scheduling, and the constraint to be calculated is specified if the number of constraints in the group is two or more, selecting the temporary constraint group and deriving the feasible schedule again;
An information processing method in which a processor included in an information processing apparatus executes a process of identifying a cause task that is a task whose execution is impossible due to the cause constraint.
選択した暫定タスク群が制約条件を満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象タスク群を前記暫定タスク群に置き換え、
前記計算対象タスク群のタスク数が1個である場合、前記計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定し、前記計算対象タスク群のタスク数が2個以上である場合、前記暫定タスク群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因タスクの実行が不可能となっている原因の制約条件である原因制約条件を特定する
処理を情報処理装置が備えるプロセッサに実行させるための情報処理プログラム。Selecting a temporary task group, which is a partial task group, from the calculation target task group, which is a plurality of tasks to be scheduled,
performing a process of deriving an executable schedule, which is an executable schedule plan that satisfies the constraints of the selected provisional task group;
if the executable schedule does not exist, replacing the calculation target task group with the provisional task group;
If the number of tasks in the computational task group is one, the computational task group is identified as a cause task that is the cause of the inability to formulate a schedule, and the number of tasks in the computational task group is determined to be if there are two or more, selecting the provisional task group and deriving the executable schedule again;
An information processing program for causing a processor included in an information processing apparatus to execute a process of specifying a cause constraint that is a constraint that causes the cause task to be impossible to execute.
スケジュール策定の対象とする複数のタスクが前記暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュールを導出する処理を行い、
前記実行可能スケジュールが存在しない場合、前記計算対象制約条件群を前記暫定制約条件群に置き換え、
前記計算対象制約条件群の制約条件数が1個である場合、前記計算対象制約条件群をスケジュール策定が不可能となっている原因である原因制約条件であると特定し、前記計算対象制約条件群の制約条件数が2個以上である場合、前記暫定制約条件群の選択及び前記実行可能スケジュールの導出を再度実行し、
前記原因制約条件によって実行が不可能となっているタスクである原因タスクを特定する
処理を情報処理装置が備えるプロセッサに実行させるための情報処理プログラム。Selecting a temporary constraint group, which is a partial constraint group, from the calculation target constraint group, which is a plurality of constraints for scheduling,
performing a process of deriving an executable schedule, which is an executable schedule proposal in which a plurality of tasks to be scheduled satisfy all of the provisional constraint conditions;
if the executable schedule does not exist, replacing the calculation target constraint group with the temporary constraint group;
When the number of constraints in the group of constraints to be calculated is one, the group of constraints to be calculated is specified as a cause constraint that is the cause of the impossibility of scheduling, and the constraint to be calculated is specified if the number of constraints in the group is two or more, selecting the temporary constraint group and deriving the feasible schedule again;
An information processing program for causing a processor included in an information processing apparatus to execute a process of identifying a cause task, which is a task whose execution is impossible due to the cause constraint.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020100320 | 2020-06-09 | ||
JP2020100320 | 2020-06-09 | ||
PCT/JP2021/015902 WO2021251001A1 (en) | 2020-06-09 | 2021-04-19 | Information processing device, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021251001A1 JPWO2021251001A1 (en) | 2021-12-16 |
JP7247422B2 true JP7247422B2 (en) | 2023-03-28 |
Family
ID=78845548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022530043A Active JP7247422B2 (en) | 2020-06-09 | 2021-04-19 | Information processing device, information processing method, and information processing program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7247422B2 (en) |
WO (1) | WO2021251001A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140653A (en) | 2005-11-15 | 2007-06-07 | Projectpro Inc | Reverse schedule system |
JP6162031B2 (en) | 2013-11-26 | 2017-07-12 | 株式会社日立製作所 | Phase change memory and semiconductor recording / reproducing apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0592818A (en) * | 1991-09-30 | 1993-04-16 | Kawasaki Steel Corp | Transport schedule method and control method for transport truck |
JP2709010B2 (en) * | 1992-11-24 | 1998-02-04 | 富士通株式会社 | Reasoning method for scheduling |
JP2015056015A (en) * | 2013-09-11 | 2015-03-23 | 株式会社島津製作所 | Work support management device, method, and program |
-
2021
- 2021-04-19 JP JP2022530043A patent/JP7247422B2/en active Active
- 2021-04-19 WO PCT/JP2021/015902 patent/WO2021251001A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007140653A (en) | 2005-11-15 | 2007-06-07 | Projectpro Inc | Reverse schedule system |
JP6162031B2 (en) | 2013-11-26 | 2017-07-12 | 株式会社日立製作所 | Phase change memory and semiconductor recording / reproducing apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021251001A1 (en) | 2021-12-16 |
WO2021251001A1 (en) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715408B2 (en) | Data-aware workload scheduling and execution in heterogeneous environments | |
US10496436B2 (en) | Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches | |
JP7478318B2 (en) | Method and system for flexible pipeline generation - Patents.com | |
JP2011138219A (en) | Device and method for displaying result of parallel program analysis | |
JP7322656B2 (en) | Maintenance schedule creation program, maintenance schedule creation method, and maintenance schedule creation device | |
WO2017188419A1 (en) | Computational resource management device, computational resource management method, and computer-readable recording medium | |
JP2010250674A (en) | Working hour estimation device, method, and program | |
JP2019008715A (en) | Production line configuration change system and production line configuration change method | |
US20100162185A1 (en) | Electronic circuit design | |
US10990073B2 (en) | Program editing device, program editing method, and computer readable medium | |
JP7247422B2 (en) | Information processing device, information processing method, and information processing program | |
JP2013235512A (en) | Apparatus, program, and method for solving mathematical programming problem | |
JP5911831B2 (en) | Production management device and production management program | |
JP6897866B2 (en) | System update device and system update method | |
CN113971074A (en) | Transaction processing method and device, electronic equipment and computer readable storage medium | |
JP7234566B2 (en) | Operation planning method, operation planning device and program | |
Rao et al. | Modified Heuristic time deviation technique for job sequencing and computation of minimum total elapsed time | |
Shirzadeh Chaleshtari | Resource tardiness weighted cost minimization in project scheduling | |
US20220051189A1 (en) | Automatic negotiation apparatus, automatic negotiation method, and computer-readable recording medium | |
JP5678729B2 (en) | Information processing apparatus, work importance calculation method, and work importance calculation program | |
WO2022201436A1 (en) | Work plan designing method, work plan designing program, and information processing device | |
Keeling | Headwinds to redesign | |
JP6573583B2 (en) | System development support apparatus and system development support method | |
US20210405627A1 (en) | Production planning system | |
US20120245907A1 (en) | Power consumption verification support apparatus and power consumption verification support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221109 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230315 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7247422 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |