JP7387070B1 - Scheduling device, scheduling system, scheduling method, and scheduling program - Google Patents
Scheduling device, scheduling system, scheduling method, and scheduling program Download PDFInfo
- Publication number
- JP7387070B1 JP7387070B1 JP2023535895A JP2023535895A JP7387070B1 JP 7387070 B1 JP7387070 B1 JP 7387070B1 JP 2023535895 A JP2023535895 A JP 2023535895A JP 2023535895 A JP2023535895 A JP 2023535895A JP 7387070 B1 JP7387070 B1 JP 7387070B1
- Authority
- JP
- Japan
- Prior art keywords
- job
- list
- constraint
- jobs
- processing machine
- 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
- 238000000034 method Methods 0.000 title claims description 108
- 238000012545 processing Methods 0.000 claims abstract description 298
- 238000005457 optimization Methods 0.000 claims abstract description 153
- 238000004364 calculation method Methods 0.000 claims description 139
- 238000012423 maintenance Methods 0.000 claims description 96
- 238000001514 detection method Methods 0.000 claims description 48
- 238000010586 diagram Methods 0.000 description 38
- 238000003860 storage Methods 0.000 description 18
- 239000000284 extract Substances 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000003754 machining Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
スケジューリング装置(1A)は、複数の加工機が実行する複数のジョブのリストであるジョブリスト(41)と、加工機に対する制約条件のリストである制約条件リスト(42A,42B)とに基づいて、ジョブリストに設定されているジョブの中から制約条件を満たすジョブに絞り込んだジョブリストである絞り込み後のジョブリストを作成するジョブ絞り込み部(3)と、絞り込み後のジョブリストに基づいて最適化問題を解くことで、ジョブリスト内の全てのジョブが完了する時間が最短となるように、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを設定したジョブ順序データを作成する最適化演算部(4)と、ジョブ順序データおよびジョブリストに基づいて、加工機毎のジョブの実行日時が設定されたジョブ実行スケジュール(43)を作成するスケジューリング部(5)とを備える。The scheduling device (1A) is based on a job list (41) which is a list of a plurality of jobs to be executed by a plurality of processing machines, and a constraint condition list (42A, 42B) which is a list of constraint conditions for the processing machines. A job narrowing section (3) that creates a job list after narrowing down, which is a job list narrowed down to jobs that satisfy constraint conditions from among the jobs set in the job list, and an optimization problem based on the narrowed down job list. By solving the following, optimal job order data is created that sets the processing machine to execute the job and the order in which the jobs are executed on the processing machine so that all jobs in the job list can be completed in the shortest time. and a scheduling section (5) that creates a job execution schedule (43) in which job execution dates and times for each processing machine are set based on the job order data and the job list.
Description
本開示は、機械加工設備に適用されるジョブ実行スケジュールを作成するスケジューリング装置、スケジューリングシステム、スケジューリング方法、およびスケジューリングプログラムに関する。 The present disclosure relates to a scheduling device, a scheduling system, a scheduling method, and a scheduling program that create a job execution schedule applied to machining equipment.
近年、機械加工設備において効率良くジョブを実行するために、複数からなるジョブのトータルの実行時間を短くできるジョブ実行スケジュール(スケジュールデータ)を作成することが望まれている。 In recent years, in order to efficiently execute jobs in machining equipment, it has been desired to create a job execution schedule (schedule data) that can shorten the total execution time of a plurality of jobs.
特許文献1に記載の生産計画策定装置は、素材に対し複数の加工作業を実施して特定形状の製品を得るための加工順序を取得し、加工順序に基づいて各加工作業に要する加工時間を算出している。この生産計画策定装置は、複数台の加工装置を用い、各加工順序に基づいて製品を複数個生産する場合の生産計画を生成し、複数種類の加工順序に基づいて得られた複数の生産計画から目標条件を満たす生産計画を抽出している。
The production planning device described in
しかしながら、上記特許文献1の技術では、ジョブの実行順序を決定するための順序決定式が複雑であり、顧客からの要求に対応するための制約が1つ変更されるだけで複雑な順序決定式の立式をやり直さなければならないので、ジョブ実行スケジュールの作成に長時間を要するという問題があった。
However, in the technique disclosed in
本開示は、上記に鑑みてなされたものであって、ジョブ実行スケジュールを短時間で作成してユーザに提供できるスケジューリング装置を得ることを目的とする。 The present disclosure has been made in view of the above, and an object of the present disclosure is to provide a scheduling device that can create a job execution schedule in a short time and provide it to a user.
上述した課題を解決し、目的を達成するために、本開示のスケジューリング装置は、複数の加工機が実行する複数のジョブのリストであるジョブリストと、加工機に対する制約条件のリストである制約条件リストとに基づいて、ジョブリストに設定されているジョブの中から制約条件を満たすジョブに絞り込んだジョブリストである絞り込み後のジョブリストを作成するジョブ絞り込み部を備える。また、本開示のスケジューリング装置は、絞り込み後のジョブリストに基づいて最適化問題を解くことで、ジョブリスト内の全てのジョブが完了する時間が最短となるように、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを決定し、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを示すデータであるジョブ順序データを作成する最適化演算部と、ジョブ順序データおよびジョブリストに基づいて、加工機毎のジョブの実行日時が設定されたジョブ実行スケジュールを作成するスケジューリング部とを備える。ジョブ絞り込み部が、制約条件のうちの第1の制約条件を満たす絞り込み後のジョブリストを作成する処理と、最適化演算部が、第1の制約条件を満たすジョブ順序データを作成するとともに、第1の制約条件を解消するためのジョブをジョブ順序データに追加する処理と、ジョブ絞り込み部が、制約条件のうちの第1の制約条件の次に厳しい制約条件である第2の制約条件を満たす絞り込み後のジョブリストを作成する処理と、最適化演算部が、第2の制約条件を満たすジョブ順序データを作成するとともに、第2の制約条件を解消するためのジョブをジョブ順序データに追加する処理と、が繰り返される。 In order to solve the above-mentioned problems and achieve the purpose, the scheduling device of the present disclosure includes a job list that is a list of multiple jobs to be executed by multiple processing machines, and constraints that is a list of constraints on the processing machines. The present invention includes a job narrowing section that creates a job list after narrowing down, which is a job list narrowed down to jobs that satisfy constraint conditions from among the jobs set in the job list, based on the list. Furthermore, the scheduling device of the present disclosure solves an optimization problem based on the job list after narrowing down, so that all the jobs in the job list can be completed in the shortest time. , an optimization calculation unit that determines the execution order of jobs on the processing machines and creates job order data that is data indicating the processing machines to execute the jobs and the order of job execution on the processing machines; and a scheduling unit that creates a job execution schedule in which job execution dates and times for each processing machine are set based on the data and the job list. The job narrowing unit creates job list after narrowing down that satisfies the first constraint among the constraints, and the optimization calculation unit creates job order data that satisfies the first constraint. The process of adding a job to the job order data to eliminate the first constraint, and the job narrowing unit satisfying the second constraint that is the next strictest constraint after the first constraint among the constraints. A process of creating a job list after narrowing down, and an optimization calculation unit creating job order data that satisfies the second constraint condition, and adding jobs to eliminate the second constraint condition to the job order data. The process is repeated.
本開示にかかるスケジューリング装置は、ジョブ実行スケジュールを短時間で作成してユーザに提供できるという効果を奏する。 The scheduling device according to the present disclosure has the advantage of being able to create a job execution schedule in a short time and provide it to the user.
以下に、本開示の実施の形態にかかるスケジューリング装置、スケジューリングシステム、スケジューリング方法、およびスケジューリングプログラムを図面に基づいて詳細に説明する。 Below, a scheduling device, a scheduling system, a scheduling method, and a scheduling program according to embodiments of the present disclosure will be described in detail based on the drawings.
実施の形態1.
図1は、実施の形態1にかかるスケジューリング装置の構成を示す図である。スケジューリング装置1Aは、放電加工機といった機械加工設備において実行されるジョブのジョブ実行スケジュール43を作成するコンピュータである。
FIG. 1 is a diagram showing the configuration of a scheduling device according to a first embodiment. The
スケジューリング装置1Aが作成するジョブ実行スケジュール43は、複数台の加工機を用いて加工を実行する加工システムに適用される。この加工システムは、複数台の加工機のそれぞれが、複数種類のジョブを実行することで、複数のワークを加工し、複数個の製品を生産する。したがって、ジョブ実行スケジュール43は、複数台の加工機のそれぞれが、複数種類のジョブを実行することで、複数のワークを加工し、複数個の製品を生産するためのスケジュール(スケジュールデータ)である。ジョブ実行スケジュール43では、ジョブを実行する加工機と、ジョブの開始時刻、およびジョブの終了時刻が設定されている。スケジューリング装置1Aは、ジョブ実行スケジュール43を作成するスケジューラを備えている。
The
スケジューリング装置1Aは、全てのジョブを工作機械といった加工機の何れかに割り当てるとともに、加工機を用いた加工工程で対象とする全てのジョブの実行順序とを自動的に割り当てる。スケジューリング装置1Aは、組み合わせ最適化問題等を用いてジョブのスケジューリングを実行する際に、加工機、その他の環境要因の一部にのみ制約条件(実行制限)が付与された場合に、予め最適化ソルバに投入するジョブを絞り込む。これにより、スケジューリング装置1Aは、目的関数および制約条件を切り替えずに、スケジュール作成候補となるジョブを絞り込んで最適化問題を解き、ジョブ実行スケジュール43を作成する。
The
スケジューリング装置1Aは、例えば、スケジュール作成対象日時の一部に実行できないジョブがある場合は、その時間帯から予め実行できないジョブをジョブリスト41から除外し、除外後のジョブリスト41に対してジョブの実行順序を決定する。
For example, if there is a job that cannot be executed during a part of the schedule creation target date and time, the
スケジューリング装置1Aは、入力部2と、ジョブ絞り込み部3と、最適化演算部4と、スケジューリング部5と、出力部6とを備えている。入力部2は、ジョブリスト41および制約条件リスト42A,42Bを外部装置などから読み込む。
The
ジョブリスト41は、加工機で実行されるジョブのリストである。制約条件リスト42A,42Bは、ジョブ実行スケジュール43を作成する際に用いられるジョブ順序データ(後述するジョブ順序データ45)にジョブを割り当てる際の制約条件のリストである。ジョブ順序データ45は、各ジョブを実行させる加工機と、各加工機でのジョブの実行順序とを示すデータである。スケジューリング装置1Aは、ジョブ順序データ45を作成した後、ジョブ順序データ45に基づいてジョブ実行スケジュール43を作成する。ここで、ジョブリスト41の構成例について説明する。
The
図2は、実施の形態1にかかるスケジューリング装置が用いるジョブリストの構成例を示す図である。ジョブリスト41では、ジョブID(IDentification)と、優先順位(優先度)と、加工指示と、ワークIDと、加工プログラムIDと、見積時間とが対応付けされている。
FIG. 2 is a diagram illustrating a configuration example of a job list used by the scheduling device according to the first embodiment. In the
ジョブIDは、ジョブを識別する情報であり、図2では、「J001」、「J002」などのように図示している。ジョブIDは、ジョブリスト41を作成するジョブリスト作成装置(図示せず)によって設定される。以下の説明では、ジョブIDが、「J001」~「J006」の各ジョブを、それぞれジョブ「J001」~「J006」という場合がある。
The job ID is information for identifying a job, and is illustrated in FIG. 2 as "J001", "J002", etc. The job ID is set by a job list creation device (not shown) that creates the
なお、スケジューリング装置1Aが、ジョブリスト作成装置の機能を有していてもよい。この場合、スケジューリング装置1Aが、ユーザからの指令に従ってジョブリスト41を作成する。
Note that the
優先順位は、ジョブを実行する優先度の情報であり、優先順位の数値が小さいジョブほど、優先的に先に実行されやすくなる。すなわち、制約条件を満たす場合には、優先順位の数値が小さいジョブほど、早い日時の実行時間が割り当てられる。 The priority is information on the priority of executing a job, and a job with a smaller priority number is more likely to be executed first. That is, when the constraint conditions are met, the job with the smaller priority number is assigned an earlier execution time.
なお、優先順位は、全てのジョブに対して異なる数値が設定される必要はなく、異なるジョブに対して同じ数値が設定されてもよい。優先順位は、例えば、ジョブリスト作成装置がユーザからの指示に従って設定してもよいし、ジョブリスト作成装置が自動で設定してもよい。 Note that the priority order does not need to be set to different numerical values for all jobs, and the same numerical value may be set for different jobs. For example, the priority order may be set by the job list creation device according to an instruction from the user, or the priority order may be set automatically by the job list creation device.
加工指示には、ジョブが実行されることで製造される製品の納期の情報と、ジョブを実行可能な加工機の加工機IDとが含まれている。加工機IDは、ジョブに設定可能な加工機を識別する情報であり、図2では、「PM001」、「PM002」などのように図示している。ジョブIDに対応するジョブのうち、加工機IDが空欄となっているジョブは、何れの加工機で加工されてもよいジョブである。加工指示は、例えば、ジョブリスト作成装置がユーザからの指示に従って設定してもよいし、ジョブリスト作成装置が自動で設定してもよい。以下の説明では、加工機IDが「PM001」~「PM003」の各加工機を、それぞれ加工機「PM001」~「PM003」という場合がある。 The processing instruction includes information on the delivery date of the product manufactured by executing the job and the processing machine ID of the processing machine that can execute the job. The processing machine ID is information that identifies a processing machine that can be set for a job, and is illustrated in FIG. 2 as "PM001", "PM002", etc. Among jobs corresponding to job IDs, jobs whose processing machine ID is blank are jobs that may be processed by any processing machine. For example, the processing instructions may be set by the job list creation device according to instructions from the user, or may be set automatically by the job list creation device. In the following description, the processing machines with processing machine IDs "PM001" to "PM003" may be referred to as processing machines "PM001" to "PM003," respectively.
ワークIDは、ジョブが実行されるワークを識別する情報である。加工プログラムIDは、ジョブを実行する際に用いられる加工プログラムを識別する情報である。ジョブリスト41には、ワークIDおよび加工プログラムIDが含まれていなくてもよい。
The work ID is information that identifies the work on which the job is executed. The machining program ID is information that identifies a machining program used when executing a job. The
見積時間は、ジョブの実行に要する見積の時間である。見積時間には、加工処理の見積時間と、加工前処理の見積時間と、加工後処理の見積時間とが含まれている。加工前処理の見積時間には、ワークの搬入時間およびワークの段取り時間が含まれている。ワークの段取りは、ワークの取付処理、ワークの基準位置の測定処理などである。加工後処理の見積時間には、ワークの測定処理およびワークの搬出時間が含まれている。なお、見積時間は、加工処理の見積時間と、加工前処理の見積時間と、加工後処理の見積時間との合計時間であってもよい。 The estimated time is the estimated time required to execute the job. The estimated time includes an estimated time for processing, an estimated time for pre-processing, and an estimated time for post-processing. The estimated time for pre-processing includes the workpiece loading time and workpiece setup time. The workpiece setup includes workpiece mounting processing, workpiece reference position measurement processing, and the like. The estimated time for post-processing includes the time for measuring the workpiece and transporting the workpiece. Note that the estimated time may be the total time of the estimated time for processing, the estimated time for pre-processing, and the estimated time for post-processing.
つぎに、制約条件リスト42A,42Bの構成例について説明する。図3は、実施の形態1にかかるスケジューリング装置が用いる第1の制約条件リストの構成例を示す図である。第1の制約条件リストである制約条件リスト42Aでは、加工機を識別する情報である加工機IDと、加工機が停止中であるか否かの情報である停止中情報と、実行不可工程と、消耗品寿命予測時間と、保守実行期限とが対応付けされている。
Next, a configuration example of the
停止中情報には、加工機が停止中であることを示す情報と、加工機が停止中でないことを示す情報との何れかが設定されている。図3の停止中情報では、加工機が停止中でないことを示す情報として「0」が設定され、加工機が停止中であることを示す情報として「1」が設定されている場合を示している。 The stopped information is set to either information indicating that the processing machine is stopped or information indicating that the processing machine is not stopped. The stopped information in Fig. 3 shows a case where "0" is set as information indicating that the processing machine is not stopped, and "1" is set as information indicating that the processing machine is stopped. There is.
実行不可工程には、加工機において、実行することができない工程の工程IDが設定されている。工程IDは、工程を識別する情報である。実行不可工程には、例えば、加工機において全ての工程を実行することができる場合に「0」が設定され、全ての工程を実行することができない場合に「9」が設定される。また、実行不可工程に、工程IDとして「H13」が設定されている場合、加工機は、「H13」に対応する工程を実行することができない。 In the unexecutable process, a process ID of a process that cannot be executed in the processing machine is set. The process ID is information that identifies a process. For example, "0" is set in the unexecutable process when all the processes can be executed in the processing machine, and "9" is set when all the processes cannot be executed in the processing machine. Further, if "H13" is set as the process ID in the unexecutable process, the processing machine cannot execute the process corresponding to "H13".
消耗品寿命予測時間は、加工機が用いる消耗品の、現在の時刻から寿命となるまでの予測時間である。図3では、消耗品寿命予測時間が、消耗品が寿命になると予測されるまでの時間である場合を示しているが、消耗品寿命予測時間は、消耗品が寿命になると予測される日時であってもよい。消耗品寿命予測時間は、消耗品毎に設定される。図3では、制約条件リスト42Aに含まれる消耗品が、消耗品B11および消耗品B12である場合を示している。
The predicted consumable life time is the predicted time from the current time until the consumable life reaches the end of the consumable supplies used by the processing machine. Figure 3 shows a case where the predicted consumable life time is the time until the consumable is predicted to reach the end of its life, but the predicted consumable life time is the date and time when the consumable is predicted to reach the end of its life. There may be. The predicted consumable life time is set for each consumable. FIG. 3 shows a case where the consumables included in the
保守実行期限は、現在の時刻から加工機に対して保守作業が実行されるまでの時間である。図3では、保守実行期限が、保守作業が実行されるまでの時間である場合を示しているが、保守実行期限は、保守作業が実行される日時であってもよい。保守実行期限は、保守作業の種類毎に設定される。図3では、制約条件リスト42Aに含まれる保守作業の種類が保守H11、保守H12、および保守H13である場合を示している。
The maintenance execution deadline is the time from the current time until maintenance work is executed on the processing machine. Although FIG. 3 shows a case where the maintenance execution deadline is the time until the maintenance work is executed, the maintenance execution deadline may be the date and time when the maintenance work is executed. The maintenance execution deadline is set for each type of maintenance work. FIG. 3 shows a case where the types of maintenance work included in the
なお、消耗品寿命予測時間および保守実行期限は、例えば、ジョブリスト作成装置がユーザからの指示に従って設定してもよいし、ジョブリスト作成装置が自動で設定してもよい。 Note that the predicted consumable life time and the maintenance execution deadline may be set by the job list creation device according to instructions from the user, or may be set automatically by the job list creation device, for example.
図4は、実施の形態1にかかるスケジューリング装置が用いる第2の制約条件リストの構成例を示す図である。第2の制約条件リストである制約条件リスト42Bでは、工程IDと、有人作業要否とが対応付けされている。制約条件リスト42Bは、消耗品の交換、保守作業などに対する制約条件のリストである。
FIG. 4 is a diagram illustrating a configuration example of a second constraint list used by the scheduling device according to the first embodiment. In the
工程IDは、消耗品の交換、保守作業などの作業工程を識別する情報である。工程IDにおける「H11」~「H13」は、図3で説明した保守H11~H13の作業を示し、「B11」,「B12」は、図3で説明した消耗品B11および消耗品B12の交換作業を示している。 The process ID is information that identifies a work process such as replacement of consumables or maintenance work. "H11" to "H13" in the process ID indicate maintenance operations H11 to H13 explained in FIG. 3, and "B11" and "B12" indicate replacement operations for consumables B11 and B12 explained in FIG. 3. It shows.
有人作業要否は、作業者(作業員)を必要とする工程であるか否かを示す情報である。すなわち、有人作業要否は、作業者の要否が規定された制約条件である。図4の有人作業要否では、作業者を必要とする工程であることを示す情報として「1」が設定され、作業者を必要としない工程であることを示す情報として「0」が設定されている場合を示している。有人作業要否に「1」が設定されている工程は、作業者の割り当てが可能な場合に、制約条件を満たすこととなり、作業者の割り当てが不可能な場合には、制約条件を満たさないこととなる。 The necessity of manned work is information indicating whether or not the process requires a worker. In other words, whether or not manned work is necessary is a constraint condition that specifies whether or not a worker is necessary. For the necessity of manned work in Figure 4, "1" is set as information indicating that the process requires a worker, and "0" is set as information indicating that the process does not require a worker. Indicates when A process for which “1” is set for whether or not manned work is required satisfies the constraint if it is possible to allocate a worker, and does not satisfy the constraint if it is not possible to allocate a worker. That will happen.
なお、制約条件リスト42A,42Bには、ジョブを実行可能な加工機、ジョブの終了予定時刻における次工程での加工機の空き状況などが含まれていてもよい。有人作業要否において、「0」が設定されている場合、作業者がいない時間帯(無人時間帯)の清掃ジョブなどは、スキップが可能となる。また、制約条件リスト42A,42Bにおいて、ジョブの終了予定時刻における次工程での加工機の空き状況などが含まれている場合、スケジューリング装置1Aは、荒加工後または仕上加工後に洗浄ジョブが設定されるまでの待機時間などを短縮することが可能となる。
Note that the constraint condition lists 42A and 42B may include processing machines that can execute the job, availability of processing machines in the next process at the scheduled end time of the job, and the like. If "0" is set in the field of necessity for manned work, it is possible to skip cleaning jobs during times when no workers are present (unmanned times). Furthermore, if the
入力部2は、ジョブリスト41および制約条件リスト42A,42Bを、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5に入力する。ジョブ絞り込み部3は、制約条件リスト42A,42Bに基づいて、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。すなわち、ジョブ絞り込み部3は、制約条件リスト42A,42Bを満たすように、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。ジョブ絞り込み部3は、停止中情報で、停止に設定されている加工機、および実行不可工程で実行不可に設定されている工程には、ジョブが設定されないように、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。なお、以下の説明では、スケジューリング装置1Aが、主に制約条件リスト42Aに基づいて、ジョブ実行スケジュール43を作成する場合について説明する。
The
ジョブ絞り込み部3は、例えば、消耗品寿命予測時間までに、消耗品を交換できるように、ジョブを絞り込む。また、ジョブ絞り込み部3は、例えば、保守実行期限までに、保守作業が実行できるように、ジョブを絞り込む。ジョブ絞り込み部3は、ジョブが絞り込まれたジョブリスト41を最適化演算部4に送る。なお、以下の説明では絞り込みが行われたジョブリスト41を、絞り込み後のジョブリスト41という場合がある。
The job narrowing down
最適化演算部4は、ジョブの最適化を実行する最適化ソルバを有している。最適化演算部4は、絞り込み後のジョブリスト41および制約条件リスト42A,42Bに基づいて、各ジョブを実行させる加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件リスト42A,42Bを満たすように、絞り込み後のジョブリスト41内のジョブを、何れかの加工機に順番に割り当てることで、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。
The
最適化演算部4は、最適化問題を解くことで、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。最適化演算部4は、優先順位が高いジョブほど、早い時期に実行されるように、ジョブを加工機に割り当てる。また、最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が最短となるように、ジョブを加工機に割り当てる。すなわち、最適化演算部4は、ジョブリスト41内に含まれるジョブのトータルの実行時間が短くなるように、ジョブを加工機に割り当てる。
The
スケジューリング装置1Aでは、ジョブ絞り込み部3と最適化演算部4とが、ジョブ順序データ45を共有しながら、ジョブ順序データ45を作成する。ジョブ絞り込み部3は、ジョブ順序データ45に制約条件である保守の実行期限などを設定するとともに、保守の実行期限までに設定可能なジョブを抽出する。ジョブ絞り込み部3は、保守の実行期限などの制約条件を設定したジョブ順序データ45と、制約条件を満たすジョブ(保守の実行期限までに設定可能なジョブ)とを最適化演算部4に送る。最適化演算部4は、制約条件を満たすジョブの中から加工機に設定可能なジョブを選択してジョブ順序データ45に設定する。最適化演算部4は、制約条件を満たすジョブがない場合、保守のジョブなどをジョブ順序データ45に設定することで、制約条件を解消する。そして、ジョブ絞り込み部3が、次の制約条件をジョブ順序データ45に設定するとともに、この制約条件を満たすジョブを抽出する。ジョブ絞り込み部3と最適化演算部4とは、これらの処理を繰り返すことで、ジョブリスト41内の全てのジョブをジョブ順序データ45に設定する。最適化演算部4は、ジョブリスト41内の全てのジョブに対し、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを設定したジョブ順序データ45をスケジューリング部5に送る。
In the
スケジューリング部5は、ジョブ順序データ45およびジョブリスト41に基づいて、各ジョブが実行される実行日時を設定する。この場合において、スケジューリング部5は、ジョブ順序データ45内の各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを参照する。また、スケジューリング部5は、ジョブリスト41内の見積時間を参照する。また、スケジューリング部5は、ジョブ順序データ45と、各加工機に対して実行される消耗品の交換に要する時間(交換時間)と、各加工機に対して実行される保守に要する時間(保守時間)とを参照して、消耗品の交換日時、保守日時を設定する。なお、交換時間および保守時間は、ジョブリスト41に設定されていてもよいし、制約条件リスト42A,42Bに設定されていてもよい。
The
スケジューリング部5は、各ジョブに対し、ジョブを実行する加工機と、実行順序と、ジョブの実行日時とが設定されたジョブ実行スケジュール43を作成する。スケジューリング部5は、作成したジョブ実行スケジュール43を出力部6に送る。出力部6は、ジョブ実行スケジュール43を、表示装置などの外部装置に出力することでユーザに提供する。これにより、ジョブ実行スケジュール43が表示装置によって表示され、ユーザは、ジョブ実行スケジュール43を参照することが可能となる。
The
図5は、実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートである。入力部2は、ジョブリスト41および制約条件リスト42A,42Bを外部装置などから読み込む(ステップS10)。入力部2は、ジョブリスト41および制約条件リスト42A,42Bをジョブ絞り込み部3に入力する。
FIG. 5 is a flowchart illustrating a procedure of scheduling processing executed by the scheduling device according to the first embodiment. The
ジョブ絞り込み部3は、制約条件リスト42A,42Bに基づいて、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。すなわち、ジョブ絞り込み部3は、制約条件リスト42A,42Bに制約条件として設定された内容に従って、ジョブリスト41内のジョブを絞り込む(ステップS20)。ジョブ絞り込み部3は、絞り込んだジョブ(絞り込み後のジョブリスト41)を最適化演算部4に送る。
The job narrowing down
最適化演算部4は、制約条件リスト42A,42Bに基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件下のジョブの加工機と、各加工機での実行順序とを作成する(ステップS30)。換言すると、最適化演算部4は、制約条件リスト42A,42Bで規定されている制約条件を満たすように、各ジョブを実行させる加工機と、各加工機におけるジョブの実行順序とを設定したジョブ順序データ45を作成する。
The
最適化演算部4は、全ての制約条件をジョブ順序データ45に設定したか否かを判定する。すなわち、最適化演算部4は、演算が未終了の制約条件があるか否かを判定する(ステップS40)。
The
演算が未終了の制約条件がある場合(ステップS40、Yes)、スケジューリング装置1Aは、ステップS20の処理に戻り、ステップS20~S40の処理を繰り返す。
If there is a constraint condition for which the calculation has not been completed (Step S40, Yes), the
一方、演算が未終了の制約条件がない場合(ステップS40、No)、最適化演算部4は、決定した、各ジョブを実行する加工機とジョブの実行順序とを設定したジョブ順序データ45をスケジューリング部5に送る。すなわち、最適化演算部4は、各加工機でのジョブの実行順序をスケジューリング部5に送る。
On the other hand, if there is no constraint condition for which the calculation has not been completed (step S40, No), the
スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、各ジョブの実行日時を設定し(ステップS50)、ジョブ実行スケジュール43を作成する。
The
出力部6は、スケジューリング部5が作成したジョブ実行スケジュール43を表示装置などの外部装置に出力する(ステップS60)。これにより、ユーザは、ジョブの実行日時が設定されたジョブ実行スケジュール43を参照することが可能となる。
The
つぎに、図6~図8を用いてスケジューリング装置1Aによるスケジューリング処理の具体例について説明する。図6~図8では、スケジューリング装置1Aが、ジョブリスト41および制約条件リスト42A,42Bに基づいて、ジョブのスケジューリング処理を実行する場合について説明する。
Next, a specific example of the scheduling process by the
図6は、実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第1段階の処理を説明するための図である。図7は、実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第2段階の処理を説明するための図である。図8は、実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第3段階の処理を説明するための図である。図6~図8は、スケジューリング装置1Aが作成するジョブ順序データ45を示している。
FIG. 6 is a diagram for explaining the first stage of the scheduling process executed by the scheduling device according to the first embodiment. FIG. 7 is a diagram for explaining the second stage of the scheduling process executed by the scheduling device according to the first embodiment. FIG. 8 is a diagram for explaining the third stage of the scheduling process executed by the scheduling device according to the first embodiment. 6 to 8 show
ジョブ絞り込み部3は、ジョブリスト41に登録されている加工機IDをジョブ順序データ45に登録する。ジョブ絞り込み部3は、制約条件リスト42Aに基づいて、停止中の加工機があるか否かを判定する。ジョブ絞り込み部3は、停止中の加工機に対しては、ジョブ順序データ45の加工機IDに停止中を設定する。ここでのジョブ絞り込み部3は、制約条件リスト42Aに基づいて、加工機「PM003」に停止中を設定する。
The job narrowing down
ジョブ絞り込み部3は、各加工機に対してジョブを割り当てるための制約条件を、制約条件リスト42Aに従ってジョブ順序データ45に設定する。具体的には、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、最初に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、最も期限が近い加工機「PM002」の保守H11を選択し、保守H11の実行期限を、制約条件としてジョブ順序データ45の加工機「PM002」に設定する。
The job narrowing down
ジョブ絞り込み部3は、ジョブリスト41に登録されているジョブのリストのうち、ジョブ順序データ45に設定された制約条件を満たすジョブのリストのみを抽出することで、ジョブリスト41内のジョブに絞り込みを行う。具体的には、ジョブ絞り込み部3は、加工機「PM002」での保守H11の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM002」での保守H11の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、ジョブリスト41から、保守H11の実行期限までに実行可能なジョブのリストとして、ジョブIDと、優先順位と、加工指示と、ワークIDと、加工プログラムIDと、見積時間とを抽出することでジョブの絞り込みを行う。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J002」が含まれている。
The
最適化演算部4は、ジョブ絞り込み部3で絞り込まれたジョブに対し、優先順位が高いジョブから順番に、最適化演算によってジョブ順序データ45に設定する。ここでの最適化演算部4は、例えば、ジョブ「J002」を、加工機「PM002」に設定する。この時点では、加工機「PM001」で実行すべきジョブの中に、「PM002」の保守H11の実行期限まで(6時間45分以内)に完了するジョブがないので、最適化演算部4は、加工機「PM001」のスケジュールを作成しない。すなわち、加工機「PM002」の保守H11までに実行可能なジョブが加工機「PM001」にはないので、加工機「PM001」へはジョブが設定されない。
The
なお、ジョブ「J002」は、加工機「PM001」に設定されてもよいが、加工機「PM001」へは、6時間45分よりも長いジョブを設定できるので、最適化演算部4は、6時間45分以内のジョブしか設定できない加工機「PM002」にジョブ「J002」を設定する。これにより、最適化演算部4は、処理効率を向上させることができる。
Note that the job "J002" may be set to the processing machine "PM001", but since a job longer than 6 hours and 45 minutes can be set to the processing machine "PM001", the
最適化演算部4は、加工機「PM002」に対し最も厳しい制約条件(加工機「PM002」での保守H11)を解消するために、加工機「PM002」への保守H11をジョブ順序データ45に設定する。また、最適化演算部4は、制約条件リスト42Bに基づいて、保守H11を実行する作業者(WORKER)をジョブ順序データ45に設定し、この作業者による作業日時をジョブ順序データ45に設定する。図7では、作業者による加工機「PM002」への保守H11を「PM002_H11」として図示している。なお、制約条件リスト42Bの有人作業要否において、作業者が不要であることを示す「0」が設定されている場合には、ジョブ順序データ45への作業者の設定は不要であり、作業日時のみが設定される。
In order to eliminate the most severe constraint condition for the processing machine "PM002" (maintenance H11 on the processing machine "PM002"), the
つぎに、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、2番目に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、加工機「PM001」の保守H11を選択し、保守H11の実行期限をジョブ順序データ45に設定する。
Next, the
ジョブ絞り込み部3は、加工機「PM001」での保守H11の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM001」での保守H11の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J001」が含まれている。
The
最適化演算部4は、ジョブ絞り込み部3で絞り込まれたジョブに対し、優先順位が高いジョブから順番に、最適化演算によってジョブ順序データ45に設定する。ここでの最適化演算部4は、ジョブ「J001」を、加工機「PM001」に設定する。これにより、優先順位が1位のジョブ「J001」がジョブ順序データ45に設定される。
The
その後、次の制約条件である期限(加工機「PM001」での保守H11)までに投入可能なジョブがないので、最適化演算部4は、加工機「PM001」,「PM002」のスケジュールを作成しない。すなわち、加工機「PM001」の保守H11までに実行可能なジョブが加工機「PM001」,「PM002」にはないので、加工機「PM001」,「PM002」へはジョブが設定されない。
After that, since there are no jobs that can be submitted by the next constraint deadline (maintenance H11 on processing machine "PM001"), the
最適化演算部4は、加工機「PM001」に対する制約条件(加工機「PM001」での保守H11)を解消するために、加工機「PM001」への保守H11をジョブ順序データ45に設定する。また、最適化演算部4は、保守H11を実行する作業者をジョブ順序データ45に設定し、この作業者による作業日時をジョブ順序データ45に設定する。図8では、作業者による加工機「PM001」への保守H11を「PM001_H11」として図示している。
The
つぎに、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、3番目に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、加工機「PM001」の保守H12を選択し、保守H12の実行期限をジョブ順序データ45に設定する。
Next, the
ジョブ絞り込み部3は、加工機「PM001」での保守H12の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM001」での保守H12の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブのリストが含まれていない。
The
加工機「PM001」,「PM002」については、加工機「PM001」の保守H11が追加された後、保守H12の実行期限までに投入可能なジョブがないので、加工機「PM001」,「PM002」へはジョブが設定されない。 Regarding processing machines "PM001" and "PM002", after maintenance H11 of processing machine "PM001" is added, there are no jobs that can be submitted by the execution deadline of maintenance H12, so processing machines "PM001" and "PM002" No job is set to .
最適化演算部4は、加工機「PM001」に対する制約条件(加工機「PM001」での保守H12)を解消するために、加工機「PM001」への保守H12をジョブ順序データ45に設定する。すなわち、加工機「PM001」に対し、保守H11に続けて保守H12を設定する。
The
また、最適化演算部4は、加工機「PM001」の保守H12を実行する作業者をジョブ順序データ45に設定し、この作業者による作業日時をジョブ順序データ45に設定する。図8では、作業者による加工機「PM001」への保守H12を「PM001_H12」として図示している。
Further, the
この後、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、4番目に行われる処理を選択する。ジョブ絞り込み部3は、選択した保守などの実行期限をジョブ順序データ45に設定する。
Thereafter, the
ジョブ絞り込み部3は、ジョブ順序データ45に設定した期限までに実行可能なジョブのリストをジョブリスト41から抽出し、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J003」,「J005」が含まれている。最適化演算部4は、設定した期限までに実行可能なジョブを絞り込み後のジョブリスト41内から選択し、最適化演算によってジョブ順序データ45に設定する。
The
最適化演算部4は、加工機「PM001」に対してジョブ「J003」を設定し、加工機「PM002」に対してジョブ「J005」を設定する。絞り込み後のジョブリスト41にジョブ「J004」が含まれていた場合であっても、ジョブ「J004」には、加工機「PM001」が設定されており、ジョブ「J005」には、加工機「PM002」が設定されているので、最適化演算部4は、加工機「PM002」に対してジョブ「J005」を設定する。
The
このように、スケジューリング装置1Aは、保守の実行期限といった制約条件をジョブ順序データ45に設定するとともに、制約条件を満たすジョブを抽出した絞り込み後のジョブリスト41を作成する処理と、最適化演算によってジョブを何れかの加工機に設定する処理とを繰り返す。
In this way, the
最適化演算部4が作成するジョブ順序データ45では、加工機で実行されるジョブと、各加工機が実行するジョブの順番とが設定されている。最適化演算部4は、作成したジョブ順序データ45をスケジューリング部5に送る。
In the
スケジューリング部5は、最適化演算部4が作成したジョブ順序データ45と、ジョブリスト41とに基づいて、ジョブの開始時刻および終了時刻を設定したジョブ実行スケジュール43を作成する。
The
このように、スケジューリング装置1Aは、制約条件下で最適化問題を解き、ジョブを実行する加工機と実行順序とを設定した後、設定した時点で最も厳しい制約条件を解消するジョブ(保守など)を新規に追加してこの制約条件を解除する。そして、スケジューリング装置1Aは、次に厳しい制約条件下で最適化問題を解き、ジョブを実行する加工機と実行順序とを設定した後、その時点で最も厳しい制約条件を解消するジョブ(保守など)を新規に追加してこの制約条件を解除する。スケジューリング装置1Aは、このようなスケジュール処理を繰り返すことで、制約条件を満たしたジョブのスケジューリングが可能となる。
In this way, the
図9は、実施の形態1にかかるスケジューリング装置が作成するジョブ実行スケジュールの構成例を示す図である。スケジューリング部5が作成するジョブ実行スケジュール43では、ジョブIDと、加工機IDと、ジョブの開始時刻と、ジョブの終了時刻とが対応付けされている。
FIG. 9 is a diagram illustrating a configuration example of a job execution schedule created by the scheduling device according to the first embodiment. In the
ジョブ実行スケジュール43には、ジョブリスト41に設定されていたジョブ「J001」~「J006」のリストと、最適化演算部4が設定した制約解消ジョブリスト50とが含まれている。
The
制約解消ジョブリスト50は、制約条件を解消するために、最適化演算部4が新規に追加したジョブのリストである。制約解消ジョブリスト50は、制約条件を解消するために実行される保守などのジョブのリストである。制約解消ジョブリスト50には、最適化演算部4が設定した保守などのジョブのリストと、最適化演算部4が設定した停止中の加工機のリストとが含まれている。
The constraint
図9の制約解消ジョブリスト50には、加工機「PM001」の保守H11,H12のリストと、加工機「PM002」の保守H11のリストとが含まれている。図9のジョブ実行スケジュール43では、加工機「PM001」の保守H11のジョブIDを「PM001_H11」で示し、加工機「PM001」の保守H12のジョブIDを「PM001_H12」で示し、加工機「PM002」の保守H11のジョブIDを「PM002_H11」で示している。
The constraint
また、図9のジョブ実行スケジュール43では、停止中の加工機「PM003」を示す情報として、ジョブIDに「PM003_OUT」が設定されている場合を示している。停止中の加工機「PM003」における開始時刻は加工機が停止を開始する時刻であり、終了時刻は加工機が停止を終了する時刻である。
Further, the
一般的に、スケジューリング装置のユーザの価値基準またはスケジュールに対する要求仕様が複雑になると、ジョブリスト41または制約条件リスト42A,42Bが複雑になる。ジョブリスト41または制約条件リスト42A,42Bが複雑になるほど、ジョブの実行順序を決定する方針が複雑化し、ルールベースではジョブのスケジューリングが不可能となる。また、スケジューリング装置が、組み合わせ最適化問題として解を求めようとしても、目的関数または制約条件の立式に時間がかかるので、要求仕様が1つでも異なると、立式をやりなおさなければならなくなる。
Generally, when the value standards of the user of the scheduling device or the required specifications for the schedule become complicated, the
一方、実施の形態1のスケジューリング装置1Aは、ジョブ絞り込み部3が、ジョブの絞り込みを実行した後に最適化演算部4が、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定している。これにより、スケジューリング装置1Aは、制約条件に従って絞り込まれた少数のジョブを何れかの加工機に割り当てれば良いので、短時間でジョブ実行スケジュール43を作成することができる。
On the other hand, in the
また、スケジューリング装置1Aは、複雑な制約条件および目的関数を設定しなくてもスケジューリングが可能なため、最適化式の見直しまたは追加が不要となる。また、スケジューリング装置1Aは、最適化条件式に複雑な制約条件を含めなくてもスケジューリングを行うことができる。また、スケジューリング装置1Aは、最適化式を簡素化できるので、演算時間を短縮できる。
Furthermore, since the
なお、ジョブ絞り込み部3は、ジョブの絞り込み条件として、優先順位、納期、ジョブを実行可能な加工機、製品の出荷先、ワークが仕掛り中であるか否かの情報、ジョブの初回登録日時(ジョブが最初にジョブリスト41に登録された日時)の何れかまたは複数の組み合わせを用いてもよい。すなわち、ジョブ絞り込み部3は、優先順位と、納期と、ジョブを実行可能な加工機と、製品の出荷先と、ワークが仕掛り中であるか否かの情報と、ジョブの初回登録日時との少なくとも1つをジョブの絞り込み条件として用いる。このように、ジョブ絞り込み部3は、種々の絞り込み条件を適用することで、ジョブが設定されるワークの滞留を防止でき、仕掛り品または作業完了品が増えすぎないようにコントロールすることができる。
The
また、スケジューリング装置1Aは、実行順序の制約条件、実行日時の制約条件等の全ての制約条件を無視して最優先でジョブに実行日時を割当てるための最優先フラグがユーザによって設定されてもよい。スケジューリング装置1Aは、この最優先フラグが設定されたジョブを、最優先で処理される日時に設定できるので、特急ジョブに対応できる。
Further, in the
このように実施の形態1のスケジューリング装置1Aは、ジョブ絞り込み部3と、最適化演算部4とを備えている。そして、ジョブ絞り込み部3が、ジョブリスト41に設定されているジョブの中から制約条件リスト42A,42Bを満たすジョブに絞り込んだ絞り込み後のジョブリスト41を作成している。最適化演算部4は、絞り込み後のジョブリスト41に基づいて、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを示すデータであるジョブ順序データ45を作成している。これにより、スケジューリング装置1Aは、ジョブ実行スケジュール43を短時間で作成してユーザに提供することが可能となる。
As described above, the
実施の形態2.
つぎに、図10から図17を用いて実施の形態2について説明する。実施の形態2では、ジョブの実行時間の誤差を学習し、誤差を考慮してスケジューリングが実行される。
Next,
図10は、実施の形態2にかかるスケジューリング装置を備えたスケジューリングシステムの構成を示す図である。図10の各構成要素のうち図1に示す実施の形態1のスケジューリング装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 10 is a diagram showing the configuration of a scheduling system including a scheduling device according to the second embodiment. Among the components shown in FIG. 10, the components that achieve the same functions as those of the
スケジューリングシステム10は、スケジューリング装置1Bと、学習装置60と、学習済モデル記憶部65と、推論装置70とを有している。スケジューリング装置1Bは、スケジューリング装置1Aと同様に、ジョブ実行スケジュール43を作成するコンピュータである。
The
スケジューリングシステム10では、学習装置60および推論装置70が、学習済モデル記憶部65に接続されている。また、推論装置70がスケジューリング装置1Bに接続されている。
In the
実施の形態2では、学習装置60が、ジョブリスト41に設定されている見積時間と、見積時間に対する誤差時間との対応関係を学習する。なお、見積時間に対する誤差時間は、見積時間と実際の実行時間との差分である。誤差時間は、学習装置60が算出してもよいし、学習装置60以外の装置が算出してもよい。
In the second embodiment, the
学習装置60は、見積時間と誤差時間との対応関係を学習することで学習済モデル(後述する学習済モデル80)を生成する。学習済モデル80は、見積時間に対応する誤差時間を推論するためのモデルである。学習装置60は、例えば、見積時間と誤差時間とが対応付けされた誤差リストに基づいて、学習済モデル80を生成する。学習装置60は、学習済モデル80を学習済モデル記憶部65に送信する。
The
スケジューリング装置1Bは、ジョブリスト41に設定されている見積時間を推論装置70に送信する。推論装置70は、ジョブリスト41に設定されている見積時間に対する誤差時間を推論する。推論装置70は、学習済モデル80に見積時間を入力することで、誤差時間を算出する。推論装置70は、算出した誤差時間をスケジューリング装置1Bの最適化演算部4に送信する。スケジューリング装置1Bは、見積時間に対する誤差時間を用いて、ジョブ実行スケジュール43を作成する。
The scheduling device 1B transmits the estimated time set in the
図11は、実施の形態2にかかるスケジューリングシステムが有する学習装置の構成を示す図である。学習装置60は、データ取得部61と、モデル生成部62とを有している。データ取得部61は、学習装置60の外部から見積時間66Aおよび誤差時間67Aを取得する。
FIG. 11 is a diagram showing the configuration of a learning device included in the scheduling system according to the second embodiment. The
データ取得部61が取得する見積時間66Aは、過去にジョブリスト41に設定されていた見積時間(過去に実行したジョブの見積時間)である。学習装置60が学習済モデル80を生成する際には、見積時間66Aおよび誤差時間67Aが、データ取得部61に入力される。データ取得部61は、見積時間66Aおよび誤差時間67Aを、学習用データとしてモデル生成部62に送る。
The
モデル生成部62は、データ取得部61から送られてくる見積時間66Aと誤差時間67Aとの組合せに基づいて作成される学習用データに基づいて、見積時間66Aに対応する誤差時間67Aを学習する。換言すると、モデル生成部62は、見積時間66Aと誤差時間67Aとの組合せに基づいて作成される学習用データに基づいて、見積時間66Aに対応する誤差時間67Aを学習する。ここで、学習用データは、見積時間66Aおよび誤差時間67Aが互いに関連付けられたデータである。
The
なお、データ取得部61は、加工機毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、加工機毎に、見積時間66Aに対応する誤差時間67Aを学習する。
Note that the data acquisition unit 61 may acquire the
また、データ取得部61は、工程毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、工程毎に、見積時間66Aに対応する誤差時間67Aを学習する。
Further, the data acquisition unit 61 may acquire the
また、データ取得部61は、ジョブ毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、ジョブ毎に、見積時間66Aに対応する誤差時間67Aを学習する。
Further, the data acquisition unit 61 may acquire the
また、データ取得部61は、ワーク毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、ワーク毎に、見積時間66Aに対応する誤差時間67Aを学習する。
Further, the data acquisition unit 61 may acquire the
また、データ取得部61は、加工機、工程、ジョブ、およびワークの少なくとも2つの組合せ毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、加工機、工程、ジョブ、およびワークの少なくとも2つの組合せ毎に、見積時間66Aに対応する誤差時間67Aを学習する。
Further, the data acquisition unit 61 may acquire the
モデル生成部62は、学習アルゴリズムとして、教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。一例として、モデル生成部62が用いる学習アルゴリズムにニューラルネットワークを適用した場合について説明をする。
The
モデル生成部62は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、見積時間66Aに対応する適切な誤差時間67Aを学習する。ここで、教師あり学習とは、入力と結果(ラベル)とのデータの組(学習用データ)を学習装置60に与えることで、これらの学習用データに含まれる特徴を学習し、入力から結果を推論する手法をいう。
The
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層であってもよいし2層以上であってもよい。 A neural network is composed of an input layer consisting of a plurality of neurons, an intermediate layer (hidden layer) consisting of a plurality of neurons, and an output layer consisting of a plurality of neurons. The intermediate layer may be one layer or two or more layers.
学習済モデル記憶部65は、学習装置60が生成した学習済モデル80を記憶しておく。学習済モデル記憶部65が記憶しておく学習済モデル80は、推論装置70が誤差時間(後述する誤差時間67B)を推論する際に推論装置70によって読み出される。
The learned
なお、学習装置60、推論装置70、および学習済モデル記憶部65の少なくとも1つは、例えば、ネットワークを介してスケジューリングシステム10に接続された、このスケジューリングシステム10とは別個の装置であってもよい。また、学習装置60、推論装置70、および学習済モデル記憶部65の少なくとも1つは、スケジューリング装置1Bに内蔵されていてもよい。さらに、学習装置60、推論装置70、および学習済モデル記憶部65の少なくとも1つは、クラウドサーバ上に存在していてもよい。また、学習装置60と推論装置70とは異なるコンピュータで実現されてもよいし、学習装置60と推論装置70とは1つのコンピュータで実現されてもよい。
Note that at least one of the
図12は、実施の形態2にかかる学習装置が用いるニューラルネットワークを説明するための図である。例えば、図12に示すような3層のニューラルネットワークであれば、複数の入力が入力層(X1~X3)に入力されると、その値に重みW1(w11~w16)が掛けられて中間層(Y1~Y2)に入力される。そして、その結果にさらに重みW2(w21~w26)が掛けられて出力層(Z1~Z3)から出力される。この出力結果は、重みW1および重みW2の値によって変わる。 FIG. 12 is a diagram for explaining a neural network used by the learning device according to the second embodiment. For example, in a three-layer neural network as shown in Figure 12, when multiple inputs are input to the input layer (X1 to X3), the values are multiplied by weights W1 (w11 to w16) and the middle layer (Y1 to Y2). Then, the result is further multiplied by weight W2 (w21 to w26) and output from the output layer (Z1 to Z3). This output result changes depending on the values of weight W1 and weight W2.
図12の学習装置60が用いるニューラルネットワークは、データ取得部61によって取得される見積時間66Aと誤差時間67Aとの組合せに基づいて作成される学習用データに従って、いわゆる教師あり学習により、見積時間66Aに対応する誤差時間67Aを学習する。換言すると、図12の学習装置60が用いるニューラルネットワークは、データ取得部61によって取得される第1の入力と第2の入力(正解)との組合せに基づいて作成される見積時間66Aおよび誤差時間67Aに従って、いわゆる教師あり学習により、見積時間66Aに対応する誤差時間67Aを学習する。
The neural network used by the
すなわち、ニューラルネットワークは、第1の入力である見積時間66Aを入力して出力層から出力された結果が、第2の入力(正解)に近づくように重みW1および重みW2を調整することで学習する。
In other words, the neural network learns by adjusting the weights W1 and W2 so that the result output from the output layer by inputting the first input, the
このように、ニューラルネットワークは、入力層に見積時間66Aを入力して出力層から出力された結果が、誤差時間67Aに近づくように重みW1および重みW2を調整することで学習する。ニューラルネットワークは、見積時間66Aと誤差時間67Aとの対応関係を学習することで、見積時間66Aが入力された場合に適切な誤差時間67Aを出力することができる学習済モデル80を生成する。このように、学習装置60は、見積時間66Aを入力とした場合に正解である誤差時間67Aを出力することができる学習済モデル80を学習する。
In this way, the neural network learns by inputting the
モデル生成部62は、以上のような学習を実行することで学習済モデル80を生成し、出力する。学習済モデル記憶部65は、モデル生成部62から出力された学習済モデル80を記憶する。
The
次に、図13を用いて、学習装置60が学習済モデル80を学習する処理の処理手順について説明する。図13は、実施の形態2にかかる学習装置が実行する学習処理の処理手順を示すフローチャートである。
Next, a processing procedure for the
データ取得部61は、学習に用いる学習用データを取得する(ステップS110)。具体的には、データ取得部61は、見積時間66Aと誤差時間67Aとを取得する。なお、データ取得部61は、見積時間66Aおよび誤差時間67Aを同時に取得するものとするが、見積時間66Aおよび誤差時間67Aは関連づけて入力されればよい。このため、データ取得部61は、見積時間66Aおよび誤差時間67Aをそれぞれ別のタイミングで取得してもよい。データ取得部61は、見積時間66Aおよび誤差時間67Aをモデル生成部62に送る。
The data acquisition unit 61 acquires learning data used for learning (step S110). Specifically, the data acquisition unit 61 acquires an
モデル生成部62は、見積時間66Aおよび誤差時間67Aを用いて学習処理を実行する(ステップS120)。具体的には、モデル生成部62は、データ取得部61によって取得された見積時間66Aと、誤差時間67Aとの組合せに基づいて作成される学習用データに従って、いわゆる教師あり学習により、見積時間66Aに対応する誤差時間67Aを学習し、学習済モデル80を生成する。
The
モデル生成部62は、学習済モデル80を生成した後、学習済モデル記憶部65に学習済モデル80を出力する(ステップS130)。学習済モデル記憶部65は、モデル生成部62が生成した学習済モデル80を記憶する。
After generating the trained
図14は、実施の形態2にかかるスケジューリングシステムが有する推論装置の構成を示す図である。推論装置70は、データ取得部71と、推論部72とを有している。データ取得部71は、推論装置70の外部(実施の形態2ではスケジューリング装置1B)から見積時間66Bを取得する。見積時間66Bは、見積時間66Aと同様の情報である。すなわち、見積時間66Bは、ジョブリスト41に設定されている見積時間である。
FIG. 14 is a diagram showing the configuration of an inference device included in the scheduling system according to the second embodiment. The
データ取得部71は、データ取得部61と同様の方法によって見積時間66Bを取得する。データ取得部71は、取得した見積時間66Bを推論部72に送る。スケジューリングシステム10では、データ取得部71が、第1のデータ取得部であり、データ取得部61が、第2のデータ取得部である。
The data acquisition unit 71 acquires the
推論部72は、データ取得部71から送られてくる見積時間66Bを受付ける。また、推論部72は、学習済モデル記憶部65から学習済モデル80を読み出す。推論部72は、学習済モデル80を用いて、見積時間66Bに対応する誤差時間67Bを推論する。すなわち、推論部72は、学習済モデル80にデータ取得部71が取得した見積時間66Bを入力することで、見積時間66Bから推論される誤差時間67Bを出力することができる。推論部72は、推論した誤差時間67Bをスケジューリング装置1Bに送信する。
The inference unit 72 receives the
実施の形態2では、推論装置70が、スケジューリングシステム10のモデル生成部62が学習した学習済モデル80を用いて適切な誤差時間67Bを出力する場合について説明したが、推論装置70は、他のスケジューリングシステム等の外部から学習済モデル80を取得してもよい。この場合、推論装置70は、他のスケジューリングシステム等から取得した学習済モデル80に基づいて適切な誤差時間67Bを出力する。
In the second embodiment, a case has been described in which the
次に、図15を用いて、推論装置70が学習済モデル80を用いて誤差時間67Bを推論する処理の処理手順について説明する。図15は、実施の形態2にかかる推論装置が実行する推論処理の処理手順を示すフローチャートである。
Next, with reference to FIG. 15, a processing procedure in which the
データ取得部71は、誤差時間67Bの推論に用いる推論用データを取得する(ステップS210)。具体的には、データ取得部71は、見積時間66Bを取得する。データ取得部71は、見積時間66Bを推論部72に送る。推論部72は、データ取得部71から見積時間66Bを取得し、学習済モデル記憶部65から学習済モデル80を取得する。
The data acquisition unit 71 acquires inference data used for inference of the error time 67B (step S210). Specifically, the data acquisition unit 71 acquires the
推論部72は、学習済モデル80に見積時間66Bを入力し(ステップS220)、適切な誤差時間67Bを得る。
The inference unit 72 inputs the
推論部72は、学習済モデル80および見積時間66Bを用いて推論したデータを出力する(ステップS230)。具体的には、推論部72は、学習済モデル80により得られた適切な誤差時間67Bを、スケジューリング装置1Bに送信する。
The inference unit 72 outputs data inferred using the learned
スケジューリング装置1Bのスケジューリング部5は、見積時間66Bに対応する誤差時間67Bを用いて、ジョブ実行スケジュール43を作成する。
The
図16は、実施の形態2にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートである。なお、図16に示す処理のうち、図5で説明した処理と同様の処理には、同一のステップ番号を付しており、重複する説明は省略する。 FIG. 16 is a flowchart illustrating a procedure of scheduling processing executed by the scheduling device according to the second embodiment. Note that among the processes shown in FIG. 16, the same steps as those described in FIG. 5 are given the same step numbers, and redundant explanations will be omitted.
スケジューリング装置1Bが実行するステップS10,S20の処理は、スケジューリング装置1Aが実行するステップS10,S20の処理と同様である。最適化演算部4は、ジョブ順序データ45に設定されている見積時間(ジョブ実行スケジュール43に設定するジョブの実行時間)を推論装置70に送る。これにより、推論装置70は、見積時間に対応する誤差時間を推論して最適化演算部4に送る。最適化演算部4は、推論装置70から見積時間に対応する誤差時間を取得する(ステップS25)。
The processing of steps S10 and S20 executed by the scheduling device 1B is similar to the processing of steps S10 and S20 executed by the
最適化演算部4は、制約条件リスト42A,42Bおよび誤差時間に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件下のジョブの加工機と、各加工機での実行順序とを誤差時間を用いて作成する(ステップS31)。換言すると、最適化演算部4は、制約条件リスト42A,42Bで規定されている制約条件を満たすように、各ジョブを実行させる加工機と、各加工機におけるジョブの実行順序とを設定したジョブ順序データ45を、誤差時間を用いて作成する。
The
最適化演算部4は、演算が未終了の制約条件があるか否かを判定し(ステップS40)、演算が未終了の制約条件がある場合(ステップS40、Yes)、スケジューリング装置1Bは、ステップS20の処理に戻り、ステップS20~S40の処理を繰り返す。
The
一方、演算が未終了の制約条件がない場合(ステップS40、No)、スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序と、ジョブリスト41の見積時間と、誤差時間とに基づいて、各ジョブの実行日時を設定し(ステップS52)、ジョブ実行スケジュール43を作成する。
On the other hand, if there is no constraint condition for which the calculation has not been completed (step S40, No), the
出力部6は、スケジューリング部5が作成したジョブ実行スケジュール43を表示装置などの外部装置に出力する(ステップS60)。これにより、ユーザは、ジョブの実行日時が設定されたジョブ実行スケジュール43を参照することが可能となる。
The
なお、学習装置60は、学習済モデル80を作成する際に、モデル生成部62が用いた学習用データの組数を算出し、学習用データの組数を推論装置70に送ってもよい。この場合、推論装置70は、ジョブの実行時間に対応する誤差時間を推論する際に、推論した誤差時間の信頼度を算出する。推論装置70は、学習用データの組数が多いほど、高い信頼度を算出する。推論装置70が算出した信頼度は、表示装置などによって表示される。これにより、ユーザは、誤差時間の信頼度を参照することが可能となる。
Note that the
また、ジョブ絞り込み部3が、見積時間を推論装置70に送信してもよい。この場合、推論装置70は、推論した誤差時間をジョブ絞り込み部3に送信する。ジョブ絞り込み部3は、見積時間および誤差時間に基づいて、ジョブの絞り込みを行う。最適化演算部4は、見積時間および誤差時間に基づいて、ジョブをジョブ順序データ45に設定する。
Further, the
このように、スケジューリングシステム10では、学習装置60が、過去に実行したジョブの見積時間と、誤差時間とに基づいて、見積時間に対応する誤差時間を学習し学習済モデル80を生成する。推論装置70は、ジョブリスト41に設定されている見積時間を、学習済モデル80に入力することで、見積時間に対応する誤差時間を推論する。スケジューリング装置1Bは、ジョブリスト41に設定されている見積時間と、推論された誤差時間とに基づいて、ジョブが制約条件を満たすようにジョブ実行スケジュール43を作成する。スケジューリングシステム10は、見積誤差を学習して推論するので、ジョブが実行期限のある制約条件を超過するリスクを低減させることができる。
In this way, in the
図17は、実施の形態2にかかるスケジューリング装置が実行するスケジューリング処理を説明するための図である。図17では、最適化演算部4が、絞り込み後のジョブリスト41、制約条件リスト42A,42B、および誤差時間に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する場合について説明する。図17では、ジョブ「J002」と、ジョブ「J002」の誤差時間Txとがジョブ順序データ45に設定された状態を示している。
FIG. 17 is a diagram for explaining the scheduling process executed by the scheduling device according to the second embodiment. In FIG. 17, the
最適化演算部4は、ジョブの見積時間と誤差時間との合計時間が制約条件(加工機「PM002」の保守H11の実行期限)を満たすように、ジョブと誤差時間とをジョブ順序データ45に設定する。すなわち、ジョブが制約条件を満たす場合であっても、ジョブの見積時間と誤差時間との合計時間が制約条件を満たさない場合、最適化演算部4は、ジョブおよび誤差時間をジョブ順序データ45に設定しない。
The
このように実施の形態2のスケジューリングシステム10は、ジョブの見積時間から誤差時間を推論するための学習済モデル80を作成する学習装置60と、学習済モデル80を用いて、ジョブの見積時間から誤差時間を推論する推論装置70とを有している。そして、スケジューリング装置1Bが、学習済モデル80を用いて推論された誤差時間を用いてジョブ実行スケジュール43を作成している。これにより、スケジューリングシステム10は、ジョブが実行期限のある制約条件を超過するリスクを低減させることができる。
As described above, the
実施の形態3.
つぎに、図18から図23を用いて実施の形態3について説明する。実施の形態3では、最適化演算が行われた後に、制約条件に違反(制約違反)があるかが検出され、制約違反がある場合には、再び最適化演算が行われる。
Next,
実施の形態3のスケジューリング装置は、制約条件があるジョブを含めた状態でジョブの実行順序を決定し、制約違反(実行制限のあるジョブを実行できない条件)に該当するジョブを、ジョブ順序データ45から一旦除外し、制約条件に従って、ジョブ順序データ45に再設定する。
The scheduling device of
図18は、実施の形態3にかかるスケジューリング装置の構成を示す図である。図18の各構成要素のうち図1に示す実施の形態1のスケジューリング装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
FIG. 18 is a diagram showing the configuration of a scheduling device according to the third embodiment. Among the components in FIG. 18, components that achieve the same functions as the
スケジューリング装置1Cは、スケジューリング装置1Aと同様に、ジョブ実行スケジュール43を作成するコンピュータである。スケジューリング装置1Cは、入力部2と、最適化演算部4と、スケジューリング部5と、制約違反検出部7と、出力部6とを備えている。
The
スケジューリング装置1Cでは、入力部2が、最適化演算部4、スケジューリング部5、および制約違反検出部7に接続され、最適化演算部4がスケジューリング部5に接続されている。また、スケジューリング装置1Cでは、スケジューリング部5が制約違反検出部7に接続されている。制約違反検出部7が、出力部6および最適化演算部4に接続されている。
In the
スケジューリング装置1Cの入力部2は、ジョブリスト41を、最適化演算部4、スケジューリング部5、および制約違反検出部7に入力する。また、入力部2は、制約条件リスト42A,42Bを制約違反検出部7に入力する。
The
スケジューリング装置1Cの最適化演算部4は、ジョブの絞り込みが行われる前のジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が短くなるように、ジョブを加工機に割り当てる。
The
スケジューリング部5は、各ジョブに対し、ジョブを実行する加工機と、実行順序と、実行日時とが設定されたジョブ実行スケジュール43を作成する。スケジューリング部5は、作成したジョブ実行スケジュール43を制約違反検出部7に送る。
The
制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内またはジョブ順序データ45内で制約条件に違反しているジョブを検出する。実施の形態3では、最適化演算部4が、制約条件リスト42A,42Bに設定されている制約を考慮することなく、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定しているので、ジョブ実行スケジュール43およびジョブ順序データ45には制約条件に違反しているジョブ(制約条件を満たさないジョブ)が含まれている場合がある。このため、制約違反検出部7は、ジョブ実行スケジュール43内またはジョブ順序データ45内で制約条件に違反しているジョブを検出する。
The constraint
制約違反検出部7は、制約条件に違反しているジョブを検出した場合は、制約条件に違反しているジョブをジョブ実行スケジュール43およびジョブ順序データ45から削除する。また、制約違反検出部7は、制約条件に違反しているジョブを検出した場合は、制約条件に違反していないジョブをジョブリスト41から削除することでジョブリスト41を修正する。すなわち、制約違反検出部7は、制約条件に違反していないジョブをジョブリスト41から削除した修正後のジョブリスト41を作成する。このように、制約違反検出部7は、制約条件に違反していないジョブの実行スケジュールを確定させ、このジョブをジョブリスト41から削除する。これにより、ジョブリスト41には、制約条件に違反しているジョブが残される。
When the constraint
また、制約違反検出部7は、制約条件に対応するジョブ(制約条件を解消するためのジョブ)を、ジョブリスト41に追加する。制約違反検出部7は、例えば、制約条件を解消するために実行される保守などのジョブを、ジョブリスト41に追加する。
Further, the constraint
制約違反検出部7は、制約条件に違反していないジョブが削除され、保守などのジョブが追加されたジョブリスト41を最適化演算部4に送る。また、制約違反検出部7は、制約条件に違反しているジョブが削除されたジョブ順序データ45を最適化演算部4に送る。また、制約違反検出部7は、制約条件に違反しているジョブが削除されたジョブ実行スケジュール43を最適化演算部4に送る。
The constraint
制約違反検出部7は、制約条件に違反しているジョブを検出しなかった場合には、ジョブ実行スケジュール43を出力部6に送る。出力部6は、ジョブ実行スケジュール43を、表示装置などの外部装置に出力する。
When the constraint
最適化演算部4は、制約違反検出部7から修正後のジョブリスト41が送られてくると、このジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件に違反していないジョブが削除され、保守などのジョブが追加されたジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。ここでも、最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が短くなるように、ジョブを加工機に割り当てる。最適化演算部4は、決定した、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを、修正後のジョブリスト41に追加する。そして、最適化演算部4は、制約条件に違反していないジョブをジョブ順序データ45に残し、制約条件に違反していたジョブをジョブ順序データ45から削除する。
When the
スケジューリング装置1Cでは、最適化演算部4が実行する処理と、スケジューリング部5が実行する処理と、制約違反検出部7が実行する処理とが繰り返される。すなわち、最適化演算部4が、各加工機でのジョブの実行順序を決定する処理と、スケジューリング部5がジョブ実行スケジュール43を作成する処理と、制約違反検出部7がジョブ実行スケジュール43内で制約条件に違反しているジョブを検出する処理とが繰り返される。
In the
図19は、実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートである。なお、図19に示す処理のうち、図5で説明した処理と同様の処理には、同一のステップ番号を付しており、重複する説明は省略する。 FIG. 19 is a flowchart illustrating the procedure of scheduling processing executed by the scheduling device according to the third embodiment. Note that among the processes shown in FIG. 19, the same steps as those described in FIG. 5 are given the same step numbers, and redundant explanations will be omitted.
スケジューリング装置1Cが実行するステップS10,S60の処理は、スケジューリング装置1Aが実行するステップS10,S60の処理と同様である。入力部2は、ジョブリスト41および制約条件リスト42A,42Bを外部装置などから読み込む(ステップS10)。入力部2は、ジョブリスト41を、最適化演算部4、スケジューリング部5、および制約違反検出部7に入力する。また、入力部2は、制約条件リスト42A,42Bを制約違反検出部7に入力する。
The processing of steps S10 and S60 executed by the
最適化演算部4は、ジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、ジョブの加工機と、実行順序とを作成する(ステップS30a)。
Based on the
スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、各ジョブの実行日時を設定し(ステップS50a)、ジョブ実行スケジュール43を作成する。
The
制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内で制約条件に違反しているジョブがあるか否かを判定する(ステップS55)。
The constraint
ジョブ実行スケジュール43内で制約条件に違反しているジョブがある場合(ステップS56、Yes)、制約違反検出部7は、制約条件に違反していないジョブをジョブリスト41から削除し、制約条件に違反しているジョブをジョブリスト41に残す。また、制約違反検出部7は、制約条件を解消するためのジョブを、ジョブリスト41に追加する。このように、制約違反検出部7は、ジョブリスト41から制約条件に違反していないジョブを削除し、制約条件を解消するためのジョブをジョブリスト41に追加する(ステップS57)。制約条件に違反していないジョブが削除され、制約条件を解消するためのジョブが追加されたジョブリスト41が、後述するジョブリスト41Xである。
If there is a job that violates the constraint condition in the job execution schedule 43 (step S56, Yes), the constraint
制約違反検出部7は、制約条件に違反しているジョブが削除され、制約条件を解消するためのジョブが追加されたジョブリスト41Xを最適化演算部4に送る。スケジューリング装置1Cは、ステップS30aの処理に戻り、ステップS30a~S56の処理を繰り返す。
The constraint
ジョブ実行スケジュール43内で制約条件に違反しているジョブがない場合(ステップS56、No)、出力部6は、スケジューリング部5が作成したジョブ実行スケジュール43を表示装置などの外部装置に出力する(ステップS60)。これにより、ユーザは、ジョブの実行日時が設定されたジョブ実行スケジュール43を参照することが可能となる。
If there is no job that violates the constraint conditions in the job execution schedule 43 (step S56, No), the
このように、スケジューリング装置1Cは、制約条件リスト42A,42Bを用いることなく、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定している。すなわち、スケジューリング装置1Cは、制約条件のあるジョブを含めた状態でジョブの実行順序を決定している。そして、スケジューリング装置1Cは、ジョブを実行できない制約条件に該当する場合には、このジョブを自動的にジョブ実行スケジュール43から除外し、ジョブに実行時間を割り当てない。これにより、スケジューリング装置1Cは、初めからジョブを除外せず、全てのジョブを実行する前提でスケジューリングを実行した後で、制約条件を満たさないジョブのみをジョブ実行スケジュール43から除外できるので、制約条件を満たさないジョブを除外するルールを簡素化できる。これにより、スケジューリング装置1Cは、スケジューリング装置1Aよりも少ない演算回数かつ短い演算時間で、制約条件を満たすジョブ実行スケジュール43を作成することが可能となる。
In this way, the
図20は、実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第1段階の処理を説明するための図である。図21は、実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第2段階の処理を説明するための図である。 FIG. 20 is a diagram for explaining the first stage of the scheduling process executed by the scheduling device according to the third embodiment. FIG. 21 is a diagram for explaining the second stage of the scheduling process executed by the scheduling device according to the third embodiment.
最適化演算部4は、ジョブリスト41に基づいて、各ジョブを、優先順位が高いジョブから順番に加工機に割り当てる。ここでの最適化演算部4は、例えば、ジョブ「J001」を、加工機「PM001」に設定し、ジョブ「J002」を、加工機「PM003」に設定し、ジョブ「J003」を、加工機「PM001」に設定する。また、最適化演算部4は、例えば、ジョブ「J004」(図20および図21では図示せず)を、加工機「PM001」に設定し、ジョブ「J005」を、加工機「PM002」に設定し、ジョブ「J006」を、加工機「PM003」に設定する。なお、ジョブ「J002」は、加工機「PM001」に設定されてもよい。
Based on the
スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、ジョブ実行スケジュール43を作成する。
The
制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内で制約条件に違反しているジョブがあるか否かを判定する。
The constraint
例えば、ジョブ実行スケジュール43が、図20に示したジョブ順序データ45に対応する場合、制約違反検出部7は、停止中の加工機「PM003」に設定されたジョブ「J002」,「J006」は、制約条件違反であると判定する。
For example, when the
また、制約違反検出部7は、「PM002」の保守H11が期限までに設定されることなく、「PM002」の保守H11の実行期限を過ぎた日時にまで設定されているジョブ「J005」は、制約条件違反であると判定する。
In addition, the constraint
また、制約違反検出部7は、「PM001」の保守H11,H12が期限までに設定されることなく、「PM001」の保守H11,H12の実行期限を過ぎた日時にまで設定されているジョブ「J003」,「J004」は、制約条件違反であると判定する。
In addition, the constraint
図21では、制約違反検出部7が、制約違反をしているジョブを抽出した状態を示している。制約違反検出部7は、制約違反をしているジョブをジョブリスト41に残し、制約違反をしていないジョブ「J001」をジョブリスト41から削除する。
FIG. 21 shows a state in which the constraint
図22は、実施の形態3にかかるスケジューリング装置が修正するジョブリストの構成を示す図である。スケジューリング装置1Cの制約違反検出部7は、前述したように、制約違反をしているジョブ「J002」~「J006」をジョブリスト41に残し、制約違反をしていないジョブ「J001」をジョブリスト41から削除する。これにより、制約違反検出部7は、ジョブリスト41を修正したジョブリスト41Xを生成する。
FIG. 22 is a diagram showing the structure of a job list modified by the scheduling device according to the third embodiment. As described above, the constraint
また、制約違反検出部7は、制約条件を解消するためのジョブを、ジョブリスト41Xに追加する。図22では、制約条件を解消するためのジョブのジョブIDとして、「PM001_H11」、「PM001_H12」、「PM002_H11」、「PM003_OUT」とがジョブリスト41Xに追加された場合を示している。
Furthermore, the constraint
前述したように、「PM003_OUT」は、加工機「PM003」が停止中であることを示している。また、「PM001_H11」、「PM001_H12」は、それぞれ加工機「PM001」への保守H11,H12を示し、「PM002_H11」は、加工機「PM002」への保守H12を示している。なお、制約条件を解消するためのジョブの納期は、ジョブの実行期限である。 As described above, "PM003_OUT" indicates that the processing machine "PM003" is stopped. Further, "PM001_H11" and "PM001_H12" respectively indicate maintenance H11 and H12 to the processing machine "PM001", and "PM002_H11" indicates maintenance H12 to the processing machine "PM002". Note that the delivery date of the job for resolving the constraint is the job execution deadline.
制約違反検出部7は、停止中の加工機に最も高い優先順位を設定する。ここでの制約違反検出部7は、「PM003_OUT」に対して1位の優先順位を設定する。また、制約違反検出部7は、制約条件を解消するためのジョブのうち実行期限(納期)が近いジョブほど、高い優先順位を設定する。また、制約違反検出部7は、ジョブリスト41に設定されていた元々のジョブの優先順位を、ジョブリスト41Xにおいて繰り下げる。
The constraint
最適化演算部4は、ジョブリスト41Xに基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。図23は、実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第3段階の処理を説明するための図である。
The
最適化演算部4は、ジョブリスト41Xに基づいて、各ジョブを、優先順位が高いジョブから順番に加工機に割り当てる。この場合において、最適化演算部4は、保守などの前に実行可能なジョブがあれば、保守よりも優先順位が低くても、保守よりも前にジョブを設定する。
The
ここでの最適化演算部4は、ジョブ順序データ45に基づいて、加工機「PM003」に、停止中であることを示す「PM003_OUT」を設定する。また、最適化演算部4は、加工機「PM002」の保守H11よりも前に実行可能なジョブ「J002」を、加工機「PM002」に設定し、その後、加工機「PM002」に保守H11を設定する。
The
また、最適化演算部4は、加工機「PM001」の保守H11よりも前に実行可能なジョブ「J001」を加工機「PM001」に設定し、その後、加工機「PM001」に保守H11を設定する。また、実施の形態1と同様に、最適化演算部4は、加工機「PM001」に保守H12を設定し、その後、加工機「PM001」にジョブ「J003」を設定する。また、最適化演算部4は、加工機「PM002」にジョブ「J005」を設定する。
In addition, the
スケジューリング装置1Cでは、最適化演算部4が実行する処理と、スケジューリング部5が実行する処理と、制約違反検出部7が実行する処理とが繰り返される。スケジューリング部5が作成したジョブ実行スケジュール43に制約条件に違反するジョブが含まれていない場合、制約違反検出部7は、制約条件リスト42Bに基づいて、保守のジョブをジョブ実行スケジュール43に設定する。
In the
これにより、スケジューリング装置1Cは、スケジューリング装置1Aと同様のジョブ実行スケジュール43を作成することが可能となる。なお、制約違反検出部7は、保守などの制約条件を解消するジョブに制約違反がなく、このジョブのジョブ実行スケジュール43への設定が確定した後であれば、何れのタイミングでジョブ実行スケジュール43に保守のジョブを設定してもよい。
This allows the
なお、スケジューリング装置1Cは、実施の形態2で説明したスケジューリングシステム10に適用されてもよい。この場合、スケジューリングシステム10は、スケジューリング装置1Cと、学習装置60と、学習済モデル記憶部65と、推論装置70とを有している。このスケジューリングシステム10でも、推論装置70は、スケジューリング部5に接続され、推論した誤差時間をスケジューリング部5に送る。
Note that the
このように実施の形態3のスケジューリング装置1Cは、最適化演算部4と、制約違反検出部7とを備えている。そして、最適化演算部4が、制約条件を考慮せずにジョブ順序データ45を作成し、制約違反検出部7は、制約条件を満たさないジョブをジョブ実行スケジュール43およびジョブ順序データ45から削除し、かつ制約条件を満たすジョブをジョブリスト41から削除するとともに制約条件を解消するためのジョブをジョブリスト41に追加することで修正後のジョブリスト41を作成している。最適化演算部4は、修正後のジョブリスト41に基づいて最適化問題を解くことで、修正後のジョブリスト41内の全てのジョブが完了する時間が最短となるように、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを決定して、ジョブ順序データ45に追加する。これにより、スケジューリング装置1Cは、制約条件を満たさないジョブを除外するルールを簡素化できる。したがって、スケジューリング装置1Cは、短時間で、制約条件を満たすジョブ実行スケジュール43を作成することが可能となる。
As described above, the
ここで、スケジューリング装置1A~1Cのハードウェア構成について説明する。なお、スケジューリング装置1A~1Cは同様のハードウェア構成を有しているので、ここではスケジューリング装置1Aのハードウェア構成について説明する。
Here, the hardware configuration of the
図24は、実施の形態1にかかるスケジューリング装置を実現するハードウェア構成例を示す図である。スケジューリング装置1Aは、入力装置300、プロセッサ100、メモリ200、および出力装置400により実現することができる。プロセッサ100の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ200の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
FIG. 24 is a diagram illustrating an example of a hardware configuration for realizing the scheduling device according to the first embodiment.
スケジューリング装置1Aは、プロセッサ100が、メモリ200で記憶されているスケジューリング装置1Aの動作を実行するための、コンピュータで実行可能な、スケジューリングプログラムを読み出して実行することにより実現される。スケジューリング装置1Aの動作を実行するためのプログラムであるスケジューリングプログラムは、スケジューリング装置1Aの手順または方法をコンピュータに実行させるものであるともいえる。
The
スケジューリング装置1Aで実行されるスケジューリングプログラムは、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5を含むモジュール構成となっており、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5が主記憶装置上にロードされ、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5が主記憶装置上に生成される。
The scheduling program executed by the
入力装置300は、ジョブリスト41、制約条件リスト42A,42Bを受け付けてプロセッサ100に送る。
The
メモリ200は、スケジューリングプログラムなどを記憶する。また、メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリに使用される。出力装置400は、ジョブ実行スケジュール43を出力する。
スケジューリングプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、スケジューリングプログラムは、インターネットなどのネットワーク経由でスケジューリング装置1Aに提供されてもよい。なお、スケジューリング装置1Aの機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
The scheduling program may be provided as a computer program product by being stored in a computer readable storage medium in an installable or executable file format. Further, the scheduling program may be provided to the
なお、ジョブ絞り込み部3のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、最適化演算部4のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、スケジューリング部5のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、学習装置60のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、推論装置70のハードウェア構成を、図24に示したハードウェア構成としてもよい。
Note that the hardware configuration of the
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configurations shown in the embodiments above are merely examples, and can be combined with other known techniques, or can be combined with other embodiments, within the scope of the gist. It is also possible to omit or change part of the configuration.
1A~1C スケジューリング装置、2 入力部、3 ジョブ絞り込み部、4 最適化演算部、5 スケジューリング部、6 出力部、7 制約違反検出部、10 スケジューリングシステム、41,41X ジョブリスト、42A,42B 制約条件リスト、43 ジョブ実行スケジュール、45 ジョブ順序データ、50 制約解消ジョブリスト、60 学習装置、61,71 データ取得部、62 モデル生成部、65 学習済モデル記憶部、66A,66B 見積時間、67A,67B 誤差時間、70 推論装置、72 推論部、80 学習済モデル、100 プロセッサ、200 メモリ、300 入力装置、400 出力装置。 1A to 1C scheduling device, 2 input unit, 3 job narrowing unit, 4 optimization calculation unit, 5 scheduling unit, 6 output unit, 7 constraint violation detection unit, 10 scheduling system, 41, 41X job list, 42A, 42B constraint conditions List, 43 Job execution schedule, 45 Job order data, 50 Constraint resolution job list, 60 Learning device, 61, 71 Data acquisition unit, 62 Model generation unit, 65 Learned model storage unit, 66A, 66B Estimated time, 67A, 67B error time, 70 inference device, 72 inference unit, 80 learned model, 100 processor, 200 memory, 300 input device, 400 output device.
Claims (12)
前記絞り込み後のジョブリストに基づいて最適化問題を解くことで、前記ジョブリスト内の全てのジョブが完了する時間が最短となるように、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを決定し、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを示すデータであるジョブ順序データを作成する最適化演算部と、
前記ジョブ順序データおよび前記ジョブリストに基づいて、前記加工機毎の前記ジョブの実行日時が設定されたジョブ実行スケジュールを作成するスケジューリング部と、
を備え、
前記ジョブ絞り込み部が、前記制約条件のうちの第1の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記最適化演算部が、前記第1の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第1の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
前記ジョブ絞り込み部が、前記制約条件のうちの前記第1の制約条件の次に厳しい制約条件である第2の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記最適化演算部が、前記第2の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第2の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
が繰り返される、
ことを特徴とするスケジューリング装置。 Based on a job list that is a list of a plurality of jobs executed by a plurality of processing machines and a constraint list that is a list of constraints for the processing machines, the constraints are selected from among the jobs set in the job list. a job narrowing unit that creates a job list after narrowing down, which is a job list narrowed down to jobs that meet conditions;
By solving an optimization problem based on the job list after narrowing down, the processing machine that executes the job and the processing machine in the processing machine are selected so that the time to complete all jobs in the job list is the shortest. an optimization calculation unit that determines a job execution order and creates job order data that is data indicating a processing machine that executes the job and the job execution order in the processing machine;
a scheduling unit that creates a job execution schedule in which execution dates and times of the jobs for each of the processing machines are set based on the job order data and the job list;
Equipped with
a process in which the job narrowing unit creates the narrowed-down job list that satisfies a first constraint among the constraint conditions;
a process in which the optimization calculation unit creates the job order data that satisfies the first constraint condition, and adds a job to the job order data to eliminate the first constraint condition;
a process in which the job narrowing unit creates the narrowed-down job list that satisfies a second constraint that is the next strictest constraint after the first constraint among the constraints;
a process in which the optimization calculation unit creates the job order data that satisfies the second constraint condition, and adds a job to the job order data to eliminate the second constraint condition;
is repeated,
A scheduling device characterized by:
ことを特徴とする請求項1に記載のスケジューリング装置。 The optimization calculation unit sets a processing machine to execute the job and an execution order of the job in the processing machine so as to satisfy the constraint.
The scheduling device according to claim 1, characterized in that:
ことを特徴とする請求項1に記載のスケジューリング装置。 The job that satisfies the constraint condition is a job that can be completed by the deadline for performing maintenance work on the processing machine.
The scheduling device according to claim 1, characterized in that:
ことを特徴とする請求項1に記載のスケジューリング装置。 A job that satisfies the constraint is a job that can be completed within the lifespan of the consumables of the processing machine.
The scheduling device according to claim 1, characterized in that:
ことを特徴とする請求項1に記載のスケジューリング装置。 A job that satisfies the constraint is a job to which a worker can be assigned;
The scheduling device according to claim 1, characterized in that:
ことを特徴とする請求項1に記載のスケジューリング装置。 The optimization calculation unit sets a processing machine to execute the job and a job execution order in the processing machine in the job order data, and then selects a job to eliminate the most severe constraint condition at the time of setting. Lifting the most severe constraint by adding it to the job order data;
The scheduling device according to claim 1, characterized in that:
ことを特徴とする請求項1に記載のスケジューリング装置。 The scheduling device according to claim 1, characterized in that:
前記ジョブ順序データおよび前記ジョブリストに基づいて、前記加工機毎の前記ジョブの実行日時が設定されたジョブ実行スケジュールを作成するスケジューリング部と、
前記ジョブ実行スケジュールまたは前記ジョブ順序データに設定されているジョブのうち前記加工機に対する制約条件を満たさないジョブを検出すると、前記制約条件を満たさないジョブを前記ジョブ実行スケジュールおよび前記ジョブ順序データから削除し、かつ前記制約条件を満たすジョブを前記ジョブリストから削除するとともに前記制約条件を解消するためのジョブを前記ジョブリストに追加することで修正後のジョブリストを作成する制約違反検出部と、
を備え、
前記最適化演算部は、前記制約条件を考慮することなく前記ジョブ順序データを作成し、
前記最適化演算部は、前記修正後のジョブリストに基づいて最適化問題を解くことで、前記修正後のジョブリスト内の全てのジョブが完了する時間が最短となるように、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを決定し、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを示すデータを前記ジョブ順序データに追加する、
ことを特徴とするスケジューリング装置。 By solving an optimization problem based on a job list, which is a list of multiple jobs to be executed by multiple processing machines, the jobs are arranged so that all the jobs in the job list complete in the shortest time. Determine the processing machine to be executed and the order in which the jobs are executed by the processing machines, and create job order data that is data indicating the processing machine to be executed and the order in which the jobs are executed by the processing machines. an optimization calculation section;
a scheduling unit that creates a job execution schedule in which execution dates and times of the jobs for each of the processing machines are set based on the job order data and the job list;
When a job that does not satisfy the constraint conditions for the processing machine is detected among the jobs set in the job execution schedule or the job order data, the job that does not satisfy the constraint conditions is deleted from the job execution schedule and the job order data. and a constraint violation detection unit that creates a modified job list by deleting a job that satisfies the constraint condition from the job list and adding a job to eliminate the constraint condition to the job list;
Equipped with
The optimization calculation unit creates the job order data without considering the constraint conditions,
The optimization calculation unit executes the jobs so that all jobs in the revised job list can be completed in the shortest time by solving an optimization problem based on the revised job list. determining a processing machine to be executed and a job execution order in the processing machine, and adding data indicating a processing machine to execute the job and a job execution order in the processing machine to the job order data;
A scheduling device characterized by:
前記ジョブの実行に要する見積時間の誤差である誤差時間を推論する推論装置と、
を有し、
前記推論装置は、
前記見積時間を取得する第1のデータ取得部と、
前記見積時間に対応する前記誤差時間を推論するための学習済モデルを用いて、前記見積時間から前記誤差時間を推論する推論部と、
を具備し、
前記最適化演算部は、前記誤差時間を用いて、前記ジョブ順序データを作成する、
ことを特徴とするスケジューリングシステム。 A scheduling device according to any one of claims 1 to 8,
an inference device that infers an error time that is an error in the estimated time required to execute the job;
has
The inference device includes:
a first data acquisition unit that acquires the estimated time;
an inference unit that infers the error time from the estimated time using a trained model for inferring the error time corresponding to the estimated time;
Equipped with
The optimization calculation unit creates the job order data using the error time.
A scheduling system characterized by:
前記学習装置は、
前記見積時間と前記誤差時間とを学習用データとして取得する第2のデータ取得部と、
前記学習用データを用いて、前記学習済モデルを生成するモデル生成部と、
を具備する、
ことを特徴とする請求項9に記載のスケジューリングシステム。 further comprising a learning device that generates the learned model based on the estimated time and the error time,
The learning device includes:
a second data acquisition unit that acquires the estimated time and the error time as learning data;
a model generation unit that generates the learned model using the learning data;
Equipped with
10. The scheduling system according to claim 9.
前記スケジューリング装置が、前記絞り込み後のジョブリストに基づいて最適化問題を解くことで、前記ジョブリスト内の全てのジョブが完了する時間が最短となるように、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを決定し、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを示すデータであるジョブ順序データを作成する最適化演算ステップと、
前記スケジューリング装置が、前記ジョブ順序データおよび前記ジョブリストに基づいて、前記加工機毎の前記ジョブの実行日時が設定されたジョブ実行スケジュールを作成するスケジューリングステップと、
を含み、
前記スケジューリング装置が、
前記制約条件のうちの第1の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記第1の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第1の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
前記制約条件のうちの前記第1の制約条件の次に厳しい制約条件である第2の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記第2の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第2の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
を繰り返す、
ことを特徴とするスケジューリング方法。 A scheduling device selects jobs set in the job list based on a job list that is a list of a plurality of jobs to be executed by a plurality of processing machines and a constraint list that is a list of constraints for the processing machines. a job narrowing step of creating a job list after narrowing down, which is a job list narrowed down to jobs that satisfy the constraint conditions;
a processing machine in which the scheduling device solves an optimization problem based on the narrowed-down job list to execute the jobs so that all jobs in the job list are completed in the shortest time; an optimization calculation step of determining a job execution order in the processing machine and creating job order data that is data indicating a processing machine to execute the job and the job execution order in the processing machine;
a scheduling step in which the scheduling device creates a job execution schedule in which the execution date and time of the job for each processing machine is set based on the job order data and the job list;
including;
The scheduling device includes:
a process of creating the job list after narrowing down that satisfies a first constraint condition among the constraint conditions;
creating the job order data that satisfies the first constraint condition, and adding a job to the job order data to eliminate the first constraint condition;
A process of creating the narrowed-down job list that satisfies a second constraint that is the next strictest constraint after the first constraint among the constraints;
creating the job order data that satisfies the second constraint condition, and adding a job to the job order data to eliminate the second constraint condition;
repeat,
A scheduling method characterized by:
前記絞り込み後のジョブリストに基づいて最適化問題を解くことで、前記ジョブリスト内の全てのジョブが完了する時間が最短となるように、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを決定し、前記ジョブを実行させる加工機と、前記加工機でのジョブの実行順序とを示すデータであるジョブ順序データを作成する最適化演算ステップと、
前記ジョブ順序データおよび前記ジョブリストに基づいて、前記加工機毎の前記ジョブの実行日時が設定されたジョブ実行スケジュールを作成するスケジューリングステップと、
をコンピュータに実行させ、
前記制約条件のうちの第1の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記第1の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第1の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
前記制約条件のうちの前記第1の制約条件の次に厳しい制約条件である第2の制約条件を満たす前記絞り込み後のジョブリストを作成する処理と、
前記第2の制約条件を満たす前記ジョブ順序データを作成するとともに、前記第2の制約条件を解消するためのジョブを前記ジョブ順序データに追加する処理と、
が繰り返される、
ことを特徴とするスケジューリングプログラム。 Based on a job list that is a list of a plurality of jobs executed by a plurality of processing machines and a constraint list that is a list of constraints for the processing machines, the constraints are selected from among the jobs set in the job list. a job narrowing step for creating a job list after narrowing down, which is a job list narrowed down to jobs that meet conditions;
By solving an optimization problem based on the job list after narrowing down, the processing machine that executes the job and the processing machine in the processing machine are selected so that the time to complete all jobs in the job list is the shortest. an optimization calculation step of determining a job execution order and creating job order data that is data indicating a processing machine to execute the job and the job execution order in the processing machine;
a scheduling step of creating a job execution schedule in which execution dates and times of the jobs for each of the processing machines are set based on the job order data and the job list;
make the computer run
a process of creating the job list after narrowing down that satisfies a first constraint condition among the constraint conditions;
creating the job order data that satisfies the first constraint condition, and adding a job to the job order data to eliminate the first constraint condition;
A process of creating the narrowed-down job list that satisfies a second constraint that is the next strictest constraint after the first constraint among the constraints;
creating the job order data that satisfies the second constraint condition, and adding a job to the job order data to eliminate the second constraint condition;
is repeated,
A scheduling program characterized by:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2023/005507 WO2024171380A1 (en) | 2023-02-16 | 2023-02-16 | Scheduling device, scheduling system, scheduling method, and scheduling program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP7387070B1 true JP7387070B1 (en) | 2023-11-27 |
Family
ID=88917926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023535895A Active JP7387070B1 (en) | 2023-02-16 | 2023-02-16 | Scheduling device, scheduling system, scheduling method, and scheduling program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7387070B1 (en) |
WO (1) | WO2024171380A1 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165842A (en) * | 1991-12-13 | 1993-07-02 | Toyota Central Res & Dev Lab Inc | Estimating device for process time |
JPH06203037A (en) * | 1993-01-04 | 1994-07-22 | Mitsubishi Electric Corp | Device and method for devising production planning |
JPH086630A (en) * | 1994-06-21 | 1996-01-12 | Kobe Steel Ltd | Production schedule generating device |
WO2014002816A1 (en) * | 2012-06-26 | 2014-01-03 | Jfeスチール株式会社 | Heating-furnace-extraction order generation device, heating-furnace-extraction order generation method, and steel plate production method |
JP2018120342A (en) * | 2017-01-24 | 2018-08-02 | 株式会社日立製作所 | Production planning device and production planning method |
US20180284706A1 (en) * | 2017-03-31 | 2018-10-04 | General Electric Company | Gas turbine dispatch optimizer |
JP2020046811A (en) * | 2018-09-18 | 2020-03-26 | 株式会社Ihi | Processing plan indication device |
JP2021179778A (en) * | 2020-05-13 | 2021-11-18 | 富士通株式会社 | Information processor, solution method, and solution program |
WO2022038672A1 (en) * | 2020-08-18 | 2022-02-24 | 三菱電機株式会社 | Scheduling device and learning device |
-
2023
- 2023-02-16 WO PCT/JP2023/005507 patent/WO2024171380A1/en unknown
- 2023-02-16 JP JP2023535895A patent/JP7387070B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165842A (en) * | 1991-12-13 | 1993-07-02 | Toyota Central Res & Dev Lab Inc | Estimating device for process time |
JPH06203037A (en) * | 1993-01-04 | 1994-07-22 | Mitsubishi Electric Corp | Device and method for devising production planning |
JPH086630A (en) * | 1994-06-21 | 1996-01-12 | Kobe Steel Ltd | Production schedule generating device |
WO2014002816A1 (en) * | 2012-06-26 | 2014-01-03 | Jfeスチール株式会社 | Heating-furnace-extraction order generation device, heating-furnace-extraction order generation method, and steel plate production method |
JP2018120342A (en) * | 2017-01-24 | 2018-08-02 | 株式会社日立製作所 | Production planning device and production planning method |
US20180284706A1 (en) * | 2017-03-31 | 2018-10-04 | General Electric Company | Gas turbine dispatch optimizer |
JP2020046811A (en) * | 2018-09-18 | 2020-03-26 | 株式会社Ihi | Processing plan indication device |
JP2021179778A (en) * | 2020-05-13 | 2021-11-18 | 富士通株式会社 | Information processor, solution method, and solution program |
WO2022038672A1 (en) * | 2020-08-18 | 2022-02-24 | 三菱電機株式会社 | Scheduling device and learning device |
Also Published As
Publication number | Publication date |
---|---|
WO2024171380A1 (en) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Smart spare parts management systems in semiconductor manufacturing | |
Vinod et al. | Simulation modeling and analysis of due-date assignment methods and scheduling decision rules in a dynamic job shop production system | |
JP6819128B2 (en) | Work organization device, work organization method and work organization program | |
Kress et al. | A worker constrained flexible job shop scheduling problem with sequence-dependent setup times | |
US6856845B2 (en) | Monitoring and reporting incremental job status system and method | |
JP2004326788A (en) | Predictable and preemptive planning and scheduling for system, and method for different job priority | |
JP6351988B2 (en) | Alpha chain constraints for process planning | |
Joseph et al. | Analysis of dynamic due-date assignment models in a flexible manufacturing system | |
JP2010117760A (en) | Virtual machine movement management server and virtual machine movement method | |
JP2012194712A (en) | Production plan creation method | |
Kosztyán et al. | Hybrid multimode resource-constrained maintenance project scheduling problem | |
Gordon et al. | A note: Common due date assignment for a single machine scheduling with the rate-modifying activity | |
WO2013157507A1 (en) | Production simulation device and production simulation method | |
JP4852496B2 (en) | Project planning method, project planning program, and project planning system | |
Seok et al. | Digital-twin consistency checking based on observed timed events with unobservable transitions in smart manufacturing | |
JP7387070B1 (en) | Scheduling device, scheduling system, scheduling method, and scheduling program | |
WO2022014048A1 (en) | Scheduler system, scheduler management device, and machine learning device | |
Ecker et al. | Scheduling tasks on a flexible manufacturing machine to minimize tool change delays | |
Dziurzanski et al. | Implementing digital twins of smart factories with interval algebra | |
JP6929433B2 (en) | Production control equipment, production control methods and programs | |
JP7181464B2 (en) | Power estimation program, power estimation device and power estimation method | |
Hu et al. | Dynamic cloud manufacturing service composition with re-entrant services: an online policy perspective | |
US20220171908A1 (en) | Support system and support method supporting system construction | |
Grunder et al. | Production and delivery scheduling problem with delivery times and costs dependent on batch-size | |
JP6753521B2 (en) | Computational resource management equipment, computational resource management methods, and programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230613 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230613 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230913 |
|
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: 20231017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7387070 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |