JP7247422B2 - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

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
Application number
JP2022530043A
Other languages
Japanese (ja)
Other versions
JPWO2021251001A1 (en
Inventor
匡 佐藤
裕 米久保
拓也 大杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Publication of JPWO2021251001A1 publication Critical patent/JPWO2021251001A1/ja
Application granted granted Critical
Publication of JP7247422B2 publication Critical patent/JP7247422B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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"

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.

情報処理装置のハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of an information processing apparatus. 作業者データの一例を示す図である。It is a figure which shows an example of worker data. タスクデータの一例を示す図である。It is a figure which shows an example of task data. 情報処理装置の機能的な構成の一例を示すブロック図である。1 is a block diagram showing an example of a functional configuration of an information processing device; FIG. 原因特定処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of cause identification processing; 変形例に係る原因特定処理の一例を示すフローチャートである。FIG. 11 is a flow chart showing an example of cause identification processing according to a modification; FIG.

以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。 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 information processing apparatus 10 according to the present embodiment will be described with reference to FIG. The information processing device 10 is installed, for example, at a production site such as a factory. However, the installation location of the information processing device 10 is not limited to the production site.

図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 information processing apparatus 10 includes a CPU (Central Processing Unit) 20, a memory 21 as a temporary storage area, and a non-volatile storage section 22. FIG. The information processing apparatus 10 also 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 a network. CPU 20 , memory 21 , storage unit 22 , display unit 23 , input unit 24 and network I/F 25 are connected to bus 26 . Examples of the information processing device 10 include a personal computer, a server computer, and the like.

記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、情報処理プログラム30が記憶される。CPU20は、記憶部22から情報処理プログラム30を読み出してからメモリ21に展開し、展開した情報処理プログラム30を実行する。 The storage unit 22 is realized by a HDD (Hard Disk Drive), SSD (Solid State Drive), flash memory, or the like. An information processing program 30 is stored in the storage unit 22 as a storage medium. The CPU 20 reads out the information processing program 30 from the storage unit 22 , expands it in the memory 21 , and executes the expanded information processing program 30 .

また、記憶部22には、スケジュール策定の対象とするタスクを行う人である作業者に関する作業者データ32が記憶される。図2に、作業者データ32の一例を示す。図2に示すように、作業者データ32には、作業者毎の作業者の識別情報の一例としての作業者名、勤務開始時刻、及び勤務終了時刻が含まれる。各作業者は、勤務開始時刻から勤務終了時刻までの間にタスクを行うことが可能とされる。 The storage unit 22 also stores worker data 32 regarding workers who perform tasks to be scheduled. FIG. 2 shows an example of the worker data 32. As shown in FIG. As shown in FIG. 2, the worker data 32 includes a worker name, work start time, and work end time as an example of worker identification information for each worker. Each worker is allowed to perform a task from the start time of work to the end time of work.

また、記憶部22には、スケジュール策定の対象とするタスクに関するタスクデータ34が記憶される。図3に、タスクデータ34の一例を示す。図3に示すように、タスクデータ34には、タスク毎のタスクの識別情報の一例としてのタスク名、納期時刻、所要時間、実施順番、及び割当可能作業者が含まれる。タスクの納期時刻は、そのタスクの終了期限の時刻を表す。タスクの所要時間は、そのタスクを作業者が行った場合の所要時間を表す。タスクの実施順番は、そのタスクの実施順番の制約を表す。図3の例では、タスクAはタスクBよりも前に行われることになっており、タスクBはタスクAよりも後に行われることになっている。タスクの割当可能作業者は、そのタスクを割り当てることが可能な作業者名を表す。 The storage unit 22 also stores task data 34 relating to tasks to be scheduled. An example of the task data 34 is shown in FIG. As shown in FIG. 3, the task data 34 includes a task name, delivery time, required time, execution order, and assignable worker as an example of task identification information for each task. The due date time of a task represents the deadline time of the task. The time required for a task represents the time required for a worker to perform the task. The execution order of tasks represents a constraint on the execution order of the tasks. In the example of FIG. 3, task A is to be performed before task B, and task B is to be performed after task A. The assignable worker of a task represents the name of the worker to whom the task can be assigned.

また、記憶部22には、例えば、全ての制約条件を導入したスケジュールを求めるジョブスケジュール問題を混合整数計画問題として定式化した数理モデルに関する数理モデルデータ36が記憶される。この数理モデルデータ36は、例えば、数理最適化問題の専門家によって予め作成されたものである。数理モデルデータ36には、例えば、以下に示す目的関数及び制約条件が含まれる。以下に示す目的関数及び制約条件に含まれるタスク及び作業者は、例えば、タスクデータ34に含まれるタスク及び作業者データ32に含まれる作業者に相当する。なお、以下に示す目的関数及び制約条件は一例であり、この例に限定されるものではない。 The storage unit 22 also stores mathematical model data 36 relating to a mathematical model in which, for example, a job scheduling problem for obtaining a schedule with all constraints introduced is formulated as a mixed integer programming problem. This mathematical model data 36 is, for example, prepared in advance by an expert in mathematical optimization problems. The mathematical model data 36 includes, for example, the objective functions and constraints shown below. Tasks and workers included in the objective function and constraint conditions shown below correspond to tasks included in the task data 34 and workers included in the worker data 32, for example. Note that the objective function and constraint conditions shown below are merely examples, and are not limited to these examples.

Figure 0007247422000001
Figure 0007247422000001

上記の制約条件で用いられるNは、例えば、10等の大きな正の整数であり、全ての決定変数の上限値よりも大きな値が適用される。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 information processing apparatus 10 according to this embodiment will be described with reference to FIG. As shown in FIG. 4, the information processing apparatus 10 includes a first selection unit 40, a first derivation unit 42, a first determination unit 44, a first identification unit 46, a second selection unit 50, a second derivation unit 52, a first 2 determination unit 54 , second identification unit 56 , and output unit 58 . By executing the information processing program 30 by the CPU 20, the first selection unit 40, the first derivation unit 42, the first determination unit 44, the first identification unit 46, the second selection unit 50, the second derivation unit 52, the second It functions as a determination unit 54 , a second identification unit 56 and an output unit 58 .

第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群から一部のタスク群である暫定タスク群を選択する。本実施形態では、第1選択部40は、一例として、計算対象タスク群からランダムに暫定タスク群を選択する。なお、第1選択部40は、ランダムではなく、繰り返して暫定タスク群を選択する際に、暫定タスク群が異なるタスクの組み合わせになるように選択してもよい。第1導出部42は、第1選択部40により選択された暫定タスク群が、数理モデルデータ36に含まれる全ての制約条件を満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第1の実行可能スケジュール」という)を導出する処理を行う。 The first selection unit 40 selects a temporary task group, which is a partial task group, from a calculation target task group, which is a plurality of tasks to be scheduled. In this embodiment, as an example, the first selection unit 40 randomly selects a provisional task group from the calculation target task group. It should be noted that the first selection unit 40 may not randomly select the provisional task group, but may select such that the provisional task group is a combination of different tasks when repeatedly selecting the provisional task group. The first derivation unit 42 determines that the provisional task group selected by the first selection unit 40 is an executable schedule (hereinafter, “first first”) that is an executable schedule that satisfies all the constraints included in the mathematical model data 36 . The process of deriving the “executable schedule of

第1判定部44は、第1導出部42による導出処理の結果、第1の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第1判定部44は、第1の実行可能スケジュールが存在しない場合、計算対象タスク群を暫定タスク群に置き換える。第1の実行可能スケジュールが存在する場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。 The first determination unit 44 determines whether or not the first executable schedule exists as a result of the derivation processing by the first derivation unit 42, that is, whether or not a feasible solution has been obtained. Further, when the first executable schedule does not exist, the first determination unit 44 replaces the calculation target task group with the provisional task group. If 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 performed again.

第1特定部46は、計算対象タスク群のタスク数が1個である場合、計算対象タスク群をスケジュール策定が不可能となっている原因である原因タスクであると特定する。計算対象タスク群のタスク数が2個以上である場合、第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出が再度実行される。 When the number of tasks in the calculation target task group is one, the first identification unit 46 identifies the calculation target task group as the cause task that is the cause of the inability to formulate a schedule. When the number of tasks in the calculation target task group is two or more, 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.

また、第1特定部46は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象タスク群を原因タスクであると特定する。 Further, the first identifying unit 46 determines that the number of times the first selection unit 40 selects the provisional task group and the first derivation unit 42 performs the derivation of the first executable schedule when the first executable schedule exists is If the predetermined number of times is exceeded, the calculation target task group is identified as the cause task.

第2選択部50は、スケジュール策定の複数の制約条件である計算対象制約条件群から一部の制約条件群である暫定制約条件群を選択する。本実施形態では、第2選択部50は、一例として、計算対象制約条件群からランダムに暫定制約条件群を選択する。なお、第2選択部50は、ランダムではなく、繰り返して暫定制約条件群を選択する際に、暫定制約条件群が異なる制約条件の組み合わせになるように選択してもよい。第2導出部52は、第1特定部46により特定された原因タスクが第2選択部50により選択された暫定制約条件群の全てを満たす実行可能なスケジュール案である実行可能スケジュール(以下、「第2の実行可能スケジュール」という)を導出する処理を行う。 The second selection unit 50 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. In this embodiment, as an example, the second selection unit 50 randomly selects a temporary constraint group from the calculation target constraint group. It should be noted that the second selection unit 50 may select the provisional constraint group not at random but repeatedly, so that the provisional constraint group is a combination of different constraints. The second derivation unit 52 generates an executable schedule (hereinafter referred to as “ A second executable schedule") is derived.

第2判定部54は、第2導出部52による導出処理の結果、第2の実行可能スケジュールが存在するか否か、すなわち、実行可能解が得られたか否かを判定する。また、第2判定部54は、第2の実行可能スケジュールが存在しない場合、計算対象制約条件群を暫定制約条件群に置き換える。第2の実行可能スケジュールが存在する場合、第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出が再度実行される。 The second determination unit 54 determines whether or not a second executable schedule exists as a result of the derivation processing by the second derivation unit 52, that is, whether or not a feasible solution has been obtained. Further, when the second executable schedule does not exist, the second determination unit 54 replaces the calculation target constraint group with the provisional constraint group. If the second executable schedule exists, the selection of the temporary constraint group by the second selection unit 50 and the derivation of the second executable schedule by the second derivation unit 52 are performed again.

第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 unit 56 sets the calculation target constraint group to a cause constraint that is a constraint condition that makes execution of the cause task impossible. specify that When the number of constraints in the calculation target constraint group is two or more, the selection of the provisional constraint group by the second selection unit 50 and the derivation of the second executable schedule by the second derivation unit 52 are executed again.

また、第2特定部56は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数が予め定められた回数を超える場合、計算対象制約条件群を原因制約条件であると特定する。 In addition, the second identifying unit 56 determines the number of times the second selection unit 50 selects the provisional constraint group and the second derivation unit 52 performs derivation of the second executable schedule when the second executable schedule exists. exceeds a predetermined number of times, the group of constraints to be calculated is identified as the causal constraint.

出力部58は、第1特定部46により特定された原因タスク及び第2特定部56により特定された原因制約条件を出力する。具体的には、例えば、出力部58は、原因タスク及び原因制約条件を表示部23に出力することによって表示する。なお、出力部58は、原因タスク及び原因制約条件を記憶部22に出力することによって記憶してもよいし、ネットワークI/F25を介して外部装置に出力することによって送信してもよい。 The output unit 58 outputs the cause task identified by the first identification unit 46 and the cause constraint conditions identified by the second identification unit 56 . Specifically, for example, the output unit 58 displays the cause task and the cause constraint by outputting them to the display unit 23 . In addition, the output unit 58 may store the cause task and the cause constraint by outputting them to the storage unit 22 , or may transmit them by outputting them to an external device via the network I/F 25 .

次に、図5を参照して、本実施形態に係る情報処理装置10の作用を説明する。CPU20が情報処理プログラム30を実行することによって、図5に示す原因特定処理が実行される。原因特定処理は、例えば、ユーザにより入力部24を介して実行指示が入力された場合に実行される。また、本実施形態では、原因特定処理は、タスクデータ34に含まれる全てのタスクを対象として、数理モデルデータ36に含まれる全ての制約条件を適用したうえで数理計画問題として計算した場合に、実行可能解が得られないときに実行される。 Next, the operation of the information processing apparatus 10 according to this embodiment will be described with reference to FIG. The CPU 20 executes the information processing program 30 to execute the cause identification process shown in FIG. The cause identification process is executed, for example, when the user inputs an execution instruction via the input unit 24 . Further, in the present embodiment, the cause identification process is applied to all the tasks included in the task data 34, and all the constraints included in the mathematical model data 36 are applied. Executed when no feasible solution is obtained.

図5のステップS10で、第1選択部40は、スケジュール策定の対象とする複数のタスクである計算対象タスク群を格納する変数T_candに、タスクデータ34に含まれる全てのタスクを代入する。変数T_candは、実行可能解が得られない原因となるタスク候補を格納する変数とも言える。 In 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, which 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 a failure to obtain an executable solution.

ステップS12で、第1選択部40は、第1の実行可能スケジュールが存在する場合における第1選択部40による暫定タスク群の選択及び第1導出部42による第1の実行可能スケジュールの導出の実行回数をカウントするための変数N1に0を代入する。 In 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. 0 is substituted for the variable N1 for counting the number of times.

ステップS14で、第1選択部40は、前述したように、変数T_candに格納された計算対象タスク群から暫定タスク群を選択し、選択した暫定タスク群を変数T_tmpに代入する。本実施形態では、第1選択部40は、一例として、変数T_candに格納された計算対象タスク群から8割のタスクを暫定タスク群としてランダムに選択する。なお、第1選択部40が計算対象タスク群から何割のタスクを選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因タスクの特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因タスクの特定精度を高くしたいほど、割合を高く設定する。 In step S14, as described above, the first selection unit 40 selects a provisional task group from the calculation target task group stored in the variable T_cand, and substitutes the selected provisional task group for the variable T_tmp. In this embodiment, as an example, 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 determined in advance according to, for example, the required accuracy of specifying the causal task. For example, the user sets the ratio higher as the user wishes to increase the accuracy of identifying the causal task even if the computation time is long.

ステップ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 first derivation unit 42 derives the first executable schedule, which is an executable schedule plan that satisfies all the constraints included in the mathematical model data 36 , and which the provisional task group stored in the variable T_tmp. process. Specifically, the first derivation unit 42 performs a process of deriving a first executable schedule by inputting the temporary task group stored in the variable T_tmp and the mathematical model data 36 to the mixed integer programming problem solver. conduct. If a first feasible schedule exists, then the first feasible schedule is output from the solver. If the first feasible schedule does not exist, information is output from the solver indicating that the first feasible schedule does not exist. Examples of mixed integer programming problem solvers include software such as the Gurobi Optimizer. It should be noted that in the process of deriving the first executable schedule in step S16, the process may be stopped when even one feasible solution is found instead of finding the optimum solution. In this case, computation time can be shortened.

ステップ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 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 negative, the process proceeds to step S20. In step S20, the first determination unit 44 substitutes the content of the variable T_tmp for the variable T_cand to replace the calculation target task group with the temporary task group. In step S22, the first determination unit 44 determines whether or not the number of tasks in 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 becomes a negative determination, and the process returns to step S12.

ステップ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 task data 34 is 100, the number of tasks in the calculation target task group is changed from 100→80→64→51→41 by repeating the processing of steps S12 to S22. → It will be reduced as follows.

ステップ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 first determination unit 44 adds 1 to the value of the variable N1. At 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 negative, the process returns to step S14, and if it is positive, the process proceeds to step S28. As 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 that all possible combinations of the provisional task group can be covered. Note that the number of times R1 may be a fixed value according to the number of tasks included in the task data 34, or may be decreased as the number of tasks in the calculation target task group stored in the variable T_cand decreases. You may

ステップS28で、第1特定部46は、原因タスクを格納する変数T_infに変数T_candの内容を代入することによって、変数T_candに格納された計算対象タスク群を原因タスクであると特定する。 In step S28, the first identification unit 46 identifies the calculation target task group stored in the variable T_cand as the cause task by substituting the contents of the variable T_cand for the variable T_inf that stores the cause task.

例えば、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 second selection unit 50 substitutes all the constraints included in the mathematical model data 36 into the variable C_cand that stores a group of constraints to be calculated, which are a plurality of constraints for scheduling. The variable C_cand can also be said to be a variable that stores a constraint condition candidate that causes an infeasible solution to be obtained.

ステップS32で、第2選択部50は、第2の実行可能スケジュールが存在する場合における第2選択部50による暫定制約条件群の選択及び第2導出部52による第2の実行可能スケジュールの導出の実行回数をカウントするための変数N2に0を代入する。 In step S32, the second selection unit 50 selects the provisional constraint 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 substituted for the variable N2 for counting the number of executions.

ステップS34で、第2選択部50は、前述したように、変数C_candに格納された計算対象制約条件群から暫定制約条件群を選択し、選択した暫定制約条件群を変数C_tmpに代入する。本実施形態では、第2選択部50は、一例として、変数C_candに格納された計算対象制約条件群から8割の制約条件を暫定制約条件群としてランダムに選択する。なお、第2選択部50が計算対象制約条件群から何割の制約条件を選択するかは特に限定されず、例えば、9割でもよいし、7割でもよい。この場合の割合は、例えば、要求される原因制約条件の特定精度に応じて予め定めることができる。例えば、ユーザは、演算時間が長くなっても原因制約条件の特定精度を高くしたいほど、割合を高く設定する。 In step S34, as described above, the second selection unit 50 selects a temporary constraint group from the calculation target constraint group stored in the variable C_cand, and substitutes the selected temporary constraint group into the variable C_tmp. In the present embodiment, as an example, the second selection unit 50 randomly selects 80% of the constraints from the group of constraints to be calculated stored in the variable C_cand as the provisional constraint group. It should be noted that the percentage of constraints selected by the second selection unit 50 from the group of constraints to be calculated is not particularly limited, and may be, for example, 90% or 70%. The ratio in this case can be determined in advance according to, for example, the required accuracy of specifying the causal constraint. For example, the user sets the ratio higher as the user wishes to increase the accuracy of specifying the causal constraint even if the computation time is long.

ステップ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 second derivation unit 52 derives the second executable schedule, which is an executable schedule proposal in which the cause task stored in the variable T_inf satisfies all of the provisional constraint conditions stored in the variable C_tmp. process. Specifically, the second derivation unit 52 inputs the cause task stored in the variable T_inf and the temporary constraint group stored in the variable C_tmp to the solver of the mixed integer programming problem to derive the second feasible schedule. Perform processing to derive If a second feasible schedule exists, then the second feasible schedule is output from the solver. If the second feasible schedule does not exist, information is output from the solver indicating that the second feasible schedule does not exist. It should be noted that in the process of deriving the second executable schedule in step S36, the process may be stopped when even one feasible solution is found instead of finding the optimum solution. In this case, computation time can be shortened.

ステップ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 second determination unit 54 determines whether or not there is a second executable schedule as a result of the derivation process in step S36. If this determination is negative, the process proceeds to step S40. In step S40, the second determination unit 54 substitutes the contents of the variable C_tmp for the variable C_cand, thereby replacing the calculation target constraint group with the temporary constraint group. In step S42, the second determination unit 54 determines whether or not the number of constraints in the group of constraints to be calculated stored in the variable C_cand is one. If the number of constraints in the calculation target constraint group stored in the variable C_cand is two or more, the determination in step S42 is negative, and the process returns to step S32. If the determination in step S42 is affirmative, the process proceeds to step S48.

ステップ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 second determination unit 54 adds 1 to the value of the variable N2. In 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 results in a negative determination, the process returns to step S34, and if a positive determination results, the process proceeds to step S48. As the number of times R2, for example, when repeating the process of selecting the temporary constraint group from the calculation target constraint group, the number of times is set so that all possible combinations of the temporary constraint group can be covered. The number of times R2 may be a fixed value according to the number of constraints included in the mathematical model data 36, or may , can be reduced.

ステップS48で、第2特定部56は、原因制約条件を格納する変数C_infに変数C_candの内容を代入することによって、変数C_candに格納された計算対象制約条件群を原因制約条件であると特定する。 In step S48, the second identification unit 56 identifies the calculation target constraint group stored in the variable C_cand as the cause constraint by substituting the contents of the variable C_cand for the variable C_inf that stores the cause constraint. .

ステップS50で、出力部58は、前述したように、変数T_infに格納された原因タスク及び変数C_infに格納された原因制約条件を出力する。ステップS50の処理が終了すると原因特定処理が終了する。 In step S50, 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, as described above. When the process of step S50 ends, the cause identification process ends.

ユーザは、出力部58により出力された原因タスク及び原因制約条件を参照し、実行可能解が得られるように、タスク及び制約条件の少なくとも一方を修正する。例えば、ユーザは、当日中に終わらせることが必須ではないタスクを翌日以降に実施することにしたり、納期時刻を遅くしてもよいものは遅くしたりする等の修正を行ったうえで、最適解を求めることによってスケジュール策定を行う。 The user refers to the causal task and causal constraint output by the output unit 58, and modifies at least one of the task and the constraint so as to obtain a feasible solution. For example, the user may decide to carry out tasks that do not necessarily need to be completed within the current day to be carried out on the next day or later, or to delay the delivery time of tasks that can be delayed. Scheduling is done by solving.

以上説明したように、本実施形態によれば、原因タスクに加え、原因制約条件も特定しているため、実行可能解が得られなかった原因を特定しやすくすることができる。 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 second derivation unit 52 derives a second executable schedule, which is an executable schedule plan in which all tasks included in the task data 34 satisfy all of the provisional constraint groups stored in the variable C_tmp. Perform derivation processing. Specifically, the second derivation unit 52 inputs all the tasks included in the task data 34 and the temporary constraint group stored in the variable C_tmp to the solver of the mixed integer programming problem to generate the second executable Perform the process of deriving the schedule. If a second feasible schedule exists, then the second feasible schedule is output from the solver. If the second feasible schedule does not exist, information is output from the solver indicating that the second feasible schedule does not exist. It should be noted that in the process of deriving the second executable schedule in step S36A, the process may be stopped when even one feasible solution is found instead of finding the optimum solution. In this case, computation time can be shortened.

ステップ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 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. process. Specifically, the first derivation unit 42 inputs the temporary task group stored in the variable T_tmp and the causal constraint condition stored in the variable C_inf to the mixed integer programming problem solver to derive the first feasible schedule. Perform processing to derive If a first feasible schedule exists, then the first feasible schedule is output from the solver. If the first feasible schedule does not exist, information is output from the solver indicating that the first feasible schedule does not exist. It should be noted that in the process of deriving the first executable schedule in step S16A, the process may be stopped when even one feasible solution is found instead of finding the optimum solution. In this case, computation time can be shortened.

以上説明したように、原因制約条件を特定した後に原因タスクを特定する形態例においても、実行可能解が得られなかった原因を特定しやすくすることができる。なお、原因タスク及び原因制約条件の何れを先に導出するかは限定されない。但し、演算資源の低減の観点から、制約条件数がタスク数よりも多い場合は原因タスクを先に導出し、タスク数が制約条件数よりも多い場合は原因制約条件数を先に導出することが好ましい。 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 first selection unit 40, the first derivation unit 42, the first determination unit 44, the first identification unit 46, the second selection unit 50, the second derivation unit 52, the second determination unit 54 , the second identification unit 56, and the output unit 58. As a hardware structure of a processing unit that executes various processes, the following various processors can be used. As described above, the various processors include, in addition to the CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, circuits such as FPGA (Field Programmable Gate Array) are manufactured. Programmable Logic Device (PLD), which is a processor whose configuration can be changed, ASIC (Application Specific Integrated Circuit), etc. Circuits, etc. are included.

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 information processing program 30 has been pre-stored (installed) in the storage unit 22, but the present invention is not limited to this. The information processing program 30 is provided in a form recorded in 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. good too. Further, the information processing program 30 may be downloaded from an external device via a network.

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.
JP2022530043A 2020-06-09 2021-04-19 Information processing device, information processing method, and information processing program Active JP7247422B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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