JP7387070B1 - Scheduling device, scheduling system, scheduling method, and scheduling program - Google Patents

Scheduling device, scheduling system, scheduling method, and scheduling program Download PDF

Info

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
Application number
JP2023535895A
Other languages
Japanese (ja)
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7387070B1 publication Critical patent/JP7387070B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Patent Document 1 obtains a processing order for obtaining a product with a specific shape by performing multiple processing operations on a material, and calculates the processing time required for each processing operation based on the processing order. It is being calculated. This production planning device uses multiple processing devices to generate production plans for producing multiple products based on each processing order, and generates multiple production plans obtained based on multiple types of processing orders. A production plan that satisfies the target conditions is extracted from

特開2021-009435号公報JP2021-009435A

しかしながら、上記特許文献1の技術では、ジョブの実行順序を決定するための順序決定式が複雑であり、顧客からの要求に対応するための制約が1つ変更されるだけで複雑な順序決定式の立式をやり直さなければならないので、ジョブ実行スケジュールの作成に長時間を要するという問題があった。 However, in the technique disclosed in Patent Document 1, the ordering formula for determining the execution order of jobs is complicated. There was a problem in that it took a long time to create a job execution schedule because the formulation process had to be redone.

本開示は、上記に鑑みてなされたものであって、ジョブ実行スケジュールを短時間で作成してユーザに提供できるスケジューリング装置を得ることを目的とする。 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.

実施の形態1にかかるスケジューリング装置の構成を示す図A diagram showing the configuration of a scheduling device according to Embodiment 1. 実施の形態1にかかるスケジューリング装置が用いるジョブリストの構成例を示す図A diagram showing an example of the configuration of a job list used by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が用いる第1の制約条件リストの構成例を示す図A diagram showing a configuration example of a first constraint list used by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が用いる第2の制約条件リストの構成例を示す図A diagram illustrating a configuration example of a second constraint list used by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートFlowchart showing the procedure of scheduling processing executed by the scheduling device according to the first embodiment 実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第1段階の処理を説明するための図A diagram for explaining the first stage of the scheduling process executed by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第2段階の処理を説明するための図A diagram for explaining the second stage of the scheduling process executed by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が実行するスケジューリング処理の第3段階の処理を説明するための図A diagram for explaining the third stage of the scheduling process executed by the scheduling device according to the first embodiment. 実施の形態1にかかるスケジューリング装置が作成するジョブ実行スケジュールの構成例を示す図A diagram illustrating a configuration example of a job execution schedule created by the scheduling device according to the first embodiment. 実施の形態2にかかるスケジューリング装置を備えたスケジューリングシステムの構成を示す図A diagram showing the configuration of a scheduling system including a scheduling device according to a second embodiment. 実施の形態2にかかるスケジューリングシステムが有する学習装置の構成を示す図A diagram showing the configuration of a learning device included in the scheduling system according to Embodiment 2. 実施の形態2にかかる学習装置が用いるニューラルネットワークを説明するための図Diagram for explaining a neural network used by the learning device according to Embodiment 2 実施の形態2にかかる学習装置が実行する学習処理の処理手順を示すフローチャートFlowchart showing the procedure of learning processing executed by the learning device according to Embodiment 2 実施の形態2にかかるスケジューリングシステムが有する推論装置の構成を示す図A diagram showing a configuration of an inference device included in a scheduling system according to a second embodiment. 実施の形態2にかかる推論装置が実行する推論処理の処理手順を示すフローチャートFlowchart showing the procedure of inference processing executed by the inference device according to Embodiment 2 実施の形態2にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートFlowchart showing the procedure of scheduling processing executed by the scheduling device according to the second embodiment 実施の形態2にかかるスケジューリング装置が実行するスケジューリング処理を説明するための図A diagram for explaining the scheduling process executed by the scheduling device according to the second embodiment 実施の形態3にかかるスケジューリング装置の構成を示す図A diagram showing the configuration of a scheduling device according to Embodiment 3 実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の処理手順を示すフローチャートFlowchart showing the procedure of scheduling processing executed by the scheduling device according to Embodiment 3 実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第1段階の処理を説明するための図A diagram for explaining the first stage of the scheduling process executed by the scheduling device according to the third embodiment. 実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第2段階の処理を説明するための図A diagram for explaining the second stage of the scheduling process executed by the scheduling device according to the third embodiment. 実施の形態3にかかるスケジューリング装置が修正するジョブリストの構成を示す図A diagram showing the configuration of a job list modified by the scheduling device according to the third embodiment 実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第3段階の処理を説明するための図A diagram for explaining the third stage of the scheduling process executed by the scheduling device according to the third embodiment. 実施の形態1にかかるスケジューリング装置を実現するハードウェア構成例を示す図A diagram showing an example of a hardware configuration for realizing a scheduling device according to Embodiment 1.

以下に、本開示の実施の形態にかかるスケジューリング装置、スケジューリングシステム、スケジューリング方法、およびスケジューリングプログラムを図面に基づいて詳細に説明する。 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を作成するコンピュータである。
Embodiment 1.
FIG. 1 is a diagram showing the configuration of a scheduling device according to a first embodiment. The scheduling device 1A is a computer that creates a job execution schedule 43 for jobs to be executed in machining equipment such as an electrical discharge machine.

スケジューリング装置1Aが作成するジョブ実行スケジュール43は、複数台の加工機を用いて加工を実行する加工システムに適用される。この加工システムは、複数台の加工機のそれぞれが、複数種類のジョブを実行することで、複数のワークを加工し、複数個の製品を生産する。したがって、ジョブ実行スケジュール43は、複数台の加工機のそれぞれが、複数種類のジョブを実行することで、複数のワークを加工し、複数個の製品を生産するためのスケジュール(スケジュールデータ)である。ジョブ実行スケジュール43では、ジョブを実行する加工機と、ジョブの開始時刻、およびジョブの終了時刻が設定されている。スケジューリング装置1Aは、ジョブ実行スケジュール43を作成するスケジューラを備えている。 The job execution schedule 43 created by the scheduling device 1A is applied to a processing system that executes processing using a plurality of processing machines. In this processing system, each of a plurality of processing machines executes a plurality of types of jobs, thereby processing a plurality of workpieces and producing a plurality of products. Therefore, the job execution schedule 43 is a schedule (schedule data) for each of a plurality of processing machines to process a plurality of workpieces and produce a plurality of products by executing a plurality of types of jobs. . In the job execution schedule 43, the processing machine that executes the job, the job start time, and the job end time are set. The scheduling device 1A includes a scheduler that creates a job execution schedule 43.

スケジューリング装置1Aは、全てのジョブを工作機械といった加工機の何れかに割り当てるとともに、加工機を用いた加工工程で対象とする全てのジョブの実行順序とを自動的に割り当てる。スケジューリング装置1Aは、組み合わせ最適化問題等を用いてジョブのスケジューリングを実行する際に、加工機、その他の環境要因の一部にのみ制約条件(実行制限)が付与された場合に、予め最適化ソルバに投入するジョブを絞り込む。これにより、スケジューリング装置1Aは、目的関数および制約条件を切り替えずに、スケジュール作成候補となるジョブを絞り込んで最適化問題を解き、ジョブ実行スケジュール43を作成する。 The scheduling device 1A allocates all jobs to any processing machine such as a machine tool, and automatically allocates the execution order of all jobs targeted in a processing process using the processing machine. When scheduling a job using a combinatorial optimization problem or the like, the scheduling device 1A performs optimization in advance when constraints (execution restrictions) are given only to some of the processing machines and other environmental factors. Narrow down the jobs to be submitted to the solver. Thereby, the scheduling device 1A narrows down the jobs that are candidates for schedule creation, solves the optimization problem, and creates the job execution schedule 43 without switching the objective function and constraint conditions.

スケジューリング装置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 scheduling device 1A excludes the job that cannot be executed from that time period in advance from the job list 41, and adds the job to the excluded job list 41. Determine the execution order.

スケジューリング装置1Aは、入力部2と、ジョブ絞り込み部3と、最適化演算部4と、スケジューリング部5と、出力部6とを備えている。入力部2は、ジョブリスト41および制約条件リスト42A,42Bを外部装置などから読み込む。 The scheduling device 1A includes an input section 2, a job narrowing section 3, an optimization calculation section 4, a scheduling section 5, and an output section 6. The input unit 2 reads the job list 41 and constraint list 42A, 42B from an external device or the like.

ジョブリスト41は、加工機で実行されるジョブのリストである。制約条件リスト42A,42Bは、ジョブ実行スケジュール43を作成する際に用いられるジョブ順序データ(後述するジョブ順序データ45)にジョブを割り当てる際の制約条件のリストである。ジョブ順序データ45は、各ジョブを実行させる加工機と、各加工機でのジョブの実行順序とを示すデータである。スケジューリング装置1Aは、ジョブ順序データ45を作成した後、ジョブ順序データ45に基づいてジョブ実行スケジュール43を作成する。ここで、ジョブリスト41の構成例について説明する。 The job list 41 is a list of jobs to be executed by the processing machine. The constraint condition lists 42A and 42B are lists of constraint conditions when assigning jobs to job order data (job order data 45 described later) used when creating the job execution schedule 43. The job order data 45 is data indicating the processing machines that execute each job and the order in which the jobs are executed by each processing machine. After creating job order data 45, the scheduling device 1A creates a job execution schedule 43 based on the job order data 45. Here, a configuration example of the job list 41 will be explained.

図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 job list 41, job IDs (IDentifications), priorities, machining instructions, workpiece IDs, machining program IDs, and estimated times are associated with each other.

ジョブ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 job list 41. In the following description, jobs with job IDs "J001" to "J006" may be referred to as jobs "J001" to "J006," respectively.

なお、スケジューリング装置1Aが、ジョブリスト作成装置の機能を有していてもよい。この場合、スケジューリング装置1Aが、ユーザからの指令に従ってジョブリスト41を作成する。 Note that the scheduling device 1A may have the function of a job list creation device. In this case, the scheduling device 1A creates the job list 41 according to instructions from the user.

優先順位は、ジョブを実行する優先度の情報であり、優先順位の数値が小さいジョブほど、優先的に先に実行されやすくなる。すなわち、制約条件を満たす場合には、優先順位の数値が小さいジョブほど、早い日時の実行時間が割り当てられる。 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 job list 41 does not need to include the work ID and the machining program ID.

見積時間は、ジョブの実行に要する見積の時間である。見積時間には、加工処理の見積時間と、加工前処理の見積時間と、加工後処理の見積時間とが含まれている。加工前処理の見積時間には、ワークの搬入時間およびワークの段取り時間が含まれている。ワークの段取りは、ワークの取付処理、ワークの基準位置の測定処理などである。加工後処理の見積時間には、ワークの測定処理およびワークの搬出時間が含まれている。なお、見積時間は、加工処理の見積時間と、加工前処理の見積時間と、加工後処理の見積時間との合計時間であってもよい。 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 constraint list 42A, 42B will be explained. FIG. 3 is a diagram illustrating a configuration example of a first constraint list used by the scheduling device according to the first embodiment. The constraint list 42A, which is the first constraint list, includes a processing machine ID that is information that identifies a processing machine, stopped information that is information that indicates whether or not the processing machine is stopped, and unexecutable processes. , the predicted consumable life time and the maintenance execution deadline are associated with each other.

停止中情報には、加工機が停止中であることを示す情報と、加工機が停止中でないことを示す情報との何れかが設定されている。図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 constraint list 42A are consumables B11 and B12.

保守実行期限は、現在の時刻から加工機に対して保守作業が実行されるまでの時間である。図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 constraint list 42A are maintenance H11, maintenance H12, and maintenance H13.

なお、消耗品寿命予測時間および保守実行期限は、例えば、ジョブリスト作成装置がユーザからの指示に従って設定してもよいし、ジョブリスト作成装置が自動で設定してもよい。 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 constraint list 42B, which is the second constraint list, process IDs are associated with whether or not manned work is required. The constraint list 42B is a list of constraints on replacement of consumables, maintenance work, and the like.

工程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 constraint list 42A, 42B includes the availability of a processing machine in the next process at the scheduled end time of the job, the scheduling device 1A determines whether a cleaning job is set after rough machining or after finishing machining. This makes it possible to shorten the waiting time until the system is ready.

入力部2は、ジョブリスト41および制約条件リスト42A,42Bを、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5に入力する。ジョブ絞り込み部3は、制約条件リスト42A,42Bに基づいて、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。すなわち、ジョブ絞り込み部3は、制約条件リスト42A,42Bを満たすように、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。ジョブ絞り込み部3は、停止中情報で、停止に設定されている加工機、および実行不可工程で実行不可に設定されている工程には、ジョブが設定されないように、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。なお、以下の説明では、スケジューリング装置1Aが、主に制約条件リスト42Aに基づいて、ジョブ実行スケジュール43を作成する場合について説明する。 The input unit 2 inputs the job list 41 and the constraint lists 42A and 42B to the job narrowing unit 3, the optimization calculation unit 4, and the scheduling unit 5. The job narrowing down section 3 narrows down the jobs to be registered in the job order data 45 from among the jobs in the job list 41 based on the constraint lists 42A and 42B. That is, the job narrowing down section 3 narrows down the jobs to be registered in the job order data 45 from among the jobs in the job list 41 so as to satisfy the constraint list 42A, 42B. The job narrowing unit 3 sorts the jobs in the job list 41 so that jobs are not set for processing machines that are set to stop in the stopping information and for processes that are set to be unexecutable in the non-executable process. Jobs to be registered in the job order data 45 are narrowed down from among them. In the following description, a case will be described in which the scheduling device 1A creates the job execution schedule 43 mainly based on the constraint list 42A.

ジョブ絞り込み部3は、例えば、消耗品寿命予測時間までに、消耗品を交換できるように、ジョブを絞り込む。また、ジョブ絞り込み部3は、例えば、保守実行期限までに、保守作業が実行できるように、ジョブを絞り込む。ジョブ絞り込み部3は、ジョブが絞り込まれたジョブリスト41を最適化演算部4に送る。なお、以下の説明では絞り込みが行われたジョブリスト41を、絞り込み後のジョブリスト41という場合がある。 The job narrowing down unit 3 narrows down jobs so that consumables can be replaced by the predicted consumable life time, for example. Further, the job narrowing down unit 3 narrows down the jobs so that the maintenance work can be executed by the maintenance execution deadline, for example. The job narrowing down unit 3 sends a job list 41 in which jobs have been narrowed down to the optimization calculation unit 4. Note that in the following description, the job list 41 that has been narrowed down may be referred to as the job list 41 after narrowing down.

最適化演算部4は、ジョブの最適化を実行する最適化ソルバを有している。最適化演算部4は、絞り込み後のジョブリスト41および制約条件リスト42A,42Bに基づいて、各ジョブを実行させる加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件リスト42A,42Bを満たすように、絞り込み後のジョブリスト41内のジョブを、何れかの加工機に順番に割り当てることで、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。 The optimization calculation unit 4 has an optimization solver that executes job optimization. The optimization calculation unit 4 determines a processing machine to execute each job and an execution order of the jobs in each processing machine based on the job list 41 after narrowing down and the constraint condition lists 42A and 42B. That is, the optimization calculation unit 4 sequentially assigns the jobs in the job list 41 after narrowing down to one of the processing machines so as to satisfy the constraint list 42A, 42B, thereby selecting a processing machine that executes each job. and the execution order of jobs on each processing machine.

最適化演算部4は、最適化問題を解くことで、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。最適化演算部4は、優先順位が高いジョブほど、早い時期に実行されるように、ジョブを加工機に割り当てる。また、最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が最短となるように、ジョブを加工機に割り当てる。すなわち、最適化演算部4は、ジョブリスト41内に含まれるジョブのトータルの実行時間が短くなるように、ジョブを加工機に割り当てる。 The optimization calculation unit 4 determines the processing machine that executes each job and the order in which the jobs are executed in each processing machine by solving an optimization problem. The optimization calculation unit 4 allocates jobs to processing machines so that the higher the priority, the earlier the job is executed. Further, the optimization calculation unit 4 allocates jobs to processing machines so that the time required to complete all jobs in the job list 41 is the shortest. That is, the optimization calculation unit 4 allocates jobs to processing machines so that the total execution time of the jobs included in the job list 41 is shortened.

スケジューリング装置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 scheduling device 1A, the job narrowing section 3 and the optimization calculation section 4 create the job order data 45 while sharing the job order data 45. The job narrowing unit 3 sets constraints such as a maintenance execution deadline in the job order data 45, and extracts jobs that can be set by the maintenance execution deadline. The job narrowing unit 3 sends job order data 45 in which constraints such as maintenance execution deadlines are set, and jobs that satisfy the constraints (jobs that can be set by the maintenance execution deadline) to the optimization calculation unit 4. The optimization calculation unit 4 selects jobs that can be set in the processing machine from among the jobs that satisfy the constraint conditions, and sets them in the job order data 45. If there is no job that satisfies the constraint, the optimization calculation unit 4 sets a maintenance job or the like in the job order data 45 to eliminate the constraint. Then, the job narrowing section 3 sets the next constraint in the job order data 45 and extracts jobs that satisfy this constraint. The job narrowing section 3 and the optimization calculation section 4 set all the jobs in the job list 41 to the job order data 45 by repeating these processes. The optimization calculation unit 4 sends to the scheduling unit 5 job order data 45 that sets the processing machines that execute each job and the order in which the jobs are executed in each processing machine for all jobs in the job list 41. .

スケジューリング部5は、ジョブ順序データ45およびジョブリスト41に基づいて、各ジョブが実行される実行日時を設定する。この場合において、スケジューリング部5は、ジョブ順序データ45内の各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを参照する。また、スケジューリング部5は、ジョブリスト41内の見積時間を参照する。また、スケジューリング部5は、ジョブ順序データ45と、各加工機に対して実行される消耗品の交換に要する時間(交換時間)と、各加工機に対して実行される保守に要する時間(保守時間)とを参照して、消耗品の交換日時、保守日時を設定する。なお、交換時間および保守時間は、ジョブリスト41に設定されていてもよいし、制約条件リスト42A,42Bに設定されていてもよい。 The scheduling unit 5 sets an execution date and time for each job based on the job order data 45 and the job list 41. In this case, the scheduling unit 5 refers to the processing machines that execute each job in the job order data 45 and the execution order of the jobs in each processing machine. The scheduling unit 5 also refers to the estimated time in the job list 41. The scheduling unit 5 also stores job order data 45, the time required to replace consumables for each processing machine (replacement time), and the time required for maintenance to be performed for each processing machine (maintenance time). time) and set the replacement date and time for consumables and maintenance date and time. Note that the replacement time and maintenance time may be set in the job list 41 or in the constraint list 42A, 42B.

スケジューリング部5は、各ジョブに対し、ジョブを実行する加工機と、実行順序と、ジョブの実行日時とが設定されたジョブ実行スケジュール43を作成する。スケジューリング部5は、作成したジョブ実行スケジュール43を出力部6に送る。出力部6は、ジョブ実行スケジュール43を、表示装置などの外部装置に出力することでユーザに提供する。これにより、ジョブ実行スケジュール43が表示装置によって表示され、ユーザは、ジョブ実行スケジュール43を参照することが可能となる。 The scheduling unit 5 creates, for each job, a job execution schedule 43 in which a processing machine to execute the job, an execution order, and an execution date and time of the job are set. The scheduling unit 5 sends the created job execution schedule 43 to the output unit 6. The output unit 6 provides the job execution schedule 43 to the user by outputting it to an external device such as a display device. Thereby, the job execution schedule 43 is displayed on the display device, and the user can refer to the job execution schedule 43.

図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 input unit 2 reads the job list 41 and the constraint lists 42A and 42B from an external device or the like (step S10). The input unit 2 inputs the job list 41 and the constraint list 42A, 42B to the job narrowing down unit 3.

ジョブ絞り込み部3は、制約条件リスト42A,42Bに基づいて、ジョブリスト41内のジョブの中からジョブ順序データ45に登録するジョブを絞り込む。すなわち、ジョブ絞り込み部3は、制約条件リスト42A,42Bに制約条件として設定された内容に従って、ジョブリスト41内のジョブを絞り込む(ステップS20)。ジョブ絞り込み部3は、絞り込んだジョブ(絞り込み後のジョブリスト41)を最適化演算部4に送る。 The job narrowing down section 3 narrows down the jobs to be registered in the job order data 45 from among the jobs in the job list 41 based on the constraint lists 42A and 42B. That is, the job narrowing down unit 3 narrows down the jobs in the job list 41 according to the contents set as constraints in the constraint lists 42A and 42B (step S20). The job narrowing down unit 3 sends the narrowed down jobs (job list 41 after narrowing down) to the optimization calculation unit 4.

最適化演算部4は、制約条件リスト42A,42Bに基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件下のジョブの加工機と、各加工機での実行順序とを作成する(ステップS30)。換言すると、最適化演算部4は、制約条件リスト42A,42Bで規定されている制約条件を満たすように、各ジョブを実行させる加工機と、各加工機におけるジョブの実行順序とを設定したジョブ順序データ45を作成する。 The optimization calculation unit 4 determines the processing machine that executes each job and the order in which the jobs are executed by each processing machine based on the constraint condition lists 42A and 42B. That is, the optimization calculation unit 4 creates the processing machines for the job under the constraint conditions and the execution order for each processing machine (step S30). In other words, the optimization calculation unit 4 sets the processing machines to execute each job and the execution order of the jobs in each processing machine so as to satisfy the constraints defined in the constraint condition lists 42A and 42B. Sequence data 45 is created.

最適化演算部4は、全ての制約条件をジョブ順序データ45に設定したか否かを判定する。すなわち、最適化演算部4は、演算が未終了の制約条件があるか否かを判定する(ステップS40)。 The optimization calculation unit 4 determines whether all the constraint conditions have been set in the job order data 45. That is, the optimization calculation unit 4 determines whether there is a constraint condition for which the calculation has not been completed (step S40).

演算が未終了の制約条件がある場合(ステップS40、Yes)、スケジューリング装置1Aは、ステップS20の処理に戻り、ステップS20~S40の処理を繰り返す。 If there is a constraint condition for which the calculation has not been completed (Step S40, Yes), the scheduling device 1A returns to the processing of Step S20 and repeats the processing of Steps S20 to S40.

一方、演算が未終了の制約条件がない場合(ステップ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 optimization calculation unit 4 uses the job order data 45 that sets the determined processing machine to execute each job and the execution order of the job. It is sent to the scheduling section 5. That is, the optimization calculation unit 4 sends the execution order of jobs in each processing machine to the scheduling unit 5.

スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、各ジョブの実行日時を設定し(ステップS50)、ジョブ実行スケジュール43を作成する。 The scheduling unit 5 sets the execution date and time of each job based on the execution order of the jobs in each processing machine determined by the optimization calculation unit 4 and the estimated time of the job list 41 (step S50), and sets the execution date and time of each job in the job execution schedule 43. Create.

出力部6は、スケジューリング部5が作成したジョブ実行スケジュール43を表示装置などの外部装置に出力する(ステップS60)。これにより、ユーザは、ジョブの実行日時が設定されたジョブ実行スケジュール43を参照することが可能となる。 The output unit 6 outputs the job execution schedule 43 created by the scheduling unit 5 to an external device such as a display device (step S60). This allows the user to refer to the job execution schedule 43 in which job execution dates and times are set.

つぎに、図6~図8を用いてスケジューリング装置1Aによるスケジューリング処理の具体例について説明する。図6~図8では、スケジューリング装置1Aが、ジョブリスト41および制約条件リスト42A,42Bに基づいて、ジョブのスケジューリング処理を実行する場合について説明する。 Next, a specific example of the scheduling process by the scheduling device 1A will be described using FIGS. 6 to 8. 6 to 8, a case will be described in which the scheduling device 1A executes job scheduling processing based on the job list 41 and the constraint list 42A, 42B.

図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 job order data 45 created by the scheduling device 1A.

ジョブ絞り込み部3は、ジョブリスト41に登録されている加工機IDをジョブ順序データ45に登録する。ジョブ絞り込み部3は、制約条件リスト42Aに基づいて、停止中の加工機があるか否かを判定する。ジョブ絞り込み部3は、停止中の加工機に対しては、ジョブ順序データ45の加工機IDに停止中を設定する。ここでのジョブ絞り込み部3は、制約条件リスト42Aに基づいて、加工機「PM003」に停止中を設定する。 The job narrowing down unit 3 registers the processing machine ID registered in the job list 41 in the job order data 45. The job narrowing down section 3 determines whether or not there is a stopped processing machine based on the constraint condition list 42A. The job narrowing section 3 sets the processing machine ID of the job order data 45 to "stopped" for the processing machine that is stopped. The job narrowing unit 3 here sets the processing machine "PM003" to be stopped based on the constraint condition list 42A.

ジョブ絞り込み部3は、各加工機に対してジョブを割り当てるための制約条件を、制約条件リスト42Aに従ってジョブ順序データ45に設定する。具体的には、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、最初に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、最も期限が近い加工機「PM002」の保守H11を選択し、保守H11の実行期限を、制約条件としてジョブ順序データ45の加工機「PM002」に設定する。 The job narrowing down section 3 sets constraint conditions for allocating jobs to each processing machine in the job order data 45 according to the constraint condition list 42A. Specifically, the job narrowing unit 3 selects the process to be performed first from the consumables replacement process or the maintenance process in the constraint condition list 42A. The job narrowing unit 3 selects the maintenance H11 of the processing machine "PM002" with the closest deadline based on the constraint list 42A in FIG. Set to "PM002".

ジョブ絞り込み部3は、ジョブリスト41に登録されているジョブのリストのうち、ジョブ順序データ45に設定された制約条件を満たすジョブのリストのみを抽出することで、ジョブリスト41内のジョブに絞り込みを行う。具体的には、ジョブ絞り込み部3は、加工機「PM002」での保守H11の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM002」での保守H11の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、ジョブリスト41から、保守H11の実行期限までに実行可能なジョブのリストとして、ジョブIDと、優先順位と、加工指示と、ワークIDと、加工プログラムIDと、見積時間とを抽出することでジョブの絞り込みを行う。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J002」が含まれている。 The job narrowing unit 3 narrows down the job list to jobs in the job list 41 by extracting only the list of jobs that satisfy the constraint conditions set in the job order data 45 from among the list of jobs registered in the job list 41. I do. Specifically, the job narrowing unit 3 extracts from the job list 41 jobs that can be executed by the execution deadline of maintenance H11 on the processing machine “PM002”. That is, the job narrowing unit 3 extracts only the list of jobs executable by the execution deadline of the maintenance H11 on the processing machine "PM002" from among the list of jobs in the job list 41. The job narrowing unit 3 selects from the job list 41 a list of jobs that can be executed by the execution deadline of maintenance H11, including job IDs, priorities, machining instructions, workpiece IDs, machining program IDs, and estimated times. Narrow down jobs by extracting. The job narrowing down section 3 sends the narrowed down job list 41 to the optimization calculation section 4. The job list 41 after narrowing down includes job "J002".

最適化演算部4は、ジョブ絞り込み部3で絞り込まれたジョブに対し、優先順位が高いジョブから順番に、最適化演算によってジョブ順序データ45に設定する。ここでの最適化演算部4は、例えば、ジョブ「J002」を、加工機「PM002」に設定する。この時点では、加工機「PM001」で実行すべきジョブの中に、「PM002」の保守H11の実行期限まで(6時間45分以内)に完了するジョブがないので、最適化演算部4は、加工機「PM001」のスケジュールを作成しない。すなわち、加工機「PM002」の保守H11までに実行可能なジョブが加工機「PM001」にはないので、加工機「PM001」へはジョブが設定されない。 The optimization calculation unit 4 performs an optimization calculation to set jobs narrowed down by the job narrowing unit 3 in job order data 45 in order of priority. The optimization calculation unit 4 here sets the job "J002" to the processing machine "PM002", for example. At this point, among the jobs to be executed by the processing machine "PM001", there is no job that will be completed by the execution deadline of maintenance H11 of "PM002" (within 6 hours and 45 minutes), so the optimization calculation unit 4 Do not create a schedule for processing machine "PM001". That is, since there is no job in the processing machine "PM001" that can be executed by the maintenance H11 of the processing machine "PM002", no job is set for the processing machine "PM001".

なお、ジョブ「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 optimization calculation unit 4 Job "J002" is set in processing machine "PM002" which can only set jobs within 45 minutes. Thereby, the optimization calculation unit 4 can improve processing efficiency.

最適化演算部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 optimization calculation unit 4 adds maintenance H11 to the processing machine "PM002" to the job order data 45. Set. Furthermore, the optimization calculation unit 4 sets the worker (WORKER) who executes the maintenance H11 in the job order data 45 based on the constraint condition list 42B, and sets the work date and time by this worker in the job order data 45. . In FIG. 7, maintenance H11 performed by the operator on the processing machine "PM002" is illustrated as "PM002_H11". Note that if "0" is set in the requirement for manned work in the constraint condition list 42B, indicating that no worker is required, there is no need to set the worker in the job order data 45, and the work is not required. Only the date and time are set.

つぎに、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、2番目に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、加工機「PM001」の保守H11を選択し、保守H11の実行期限をジョブ順序データ45に設定する。 Next, the job narrowing unit 3 selects the process to be performed second from among the consumables replacement process or the maintenance process in the constraint condition list 42A. The job narrowing unit 3 selects the maintenance H11 of the processing machine "PM001" based on the constraint list 42A of FIG. 3, and sets the execution deadline of the maintenance H11 in the job order data 45.

ジョブ絞り込み部3は、加工機「PM001」での保守H11の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM001」での保守H11の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J001」が含まれている。 The job narrowing unit 3 extracts from the job list 41 jobs that can be executed by the execution deadline of maintenance H11 on the processing machine “PM001”. That is, the job narrowing unit 3 extracts only the list of jobs executable by the execution deadline of the maintenance H11 on the processing machine "PM001" from among the list of jobs in the job list 41. The job narrowing down section 3 sends the narrowed down job list 41 to the optimization calculation section 4. The job list 41 after narrowing down includes job "J001".

最適化演算部4は、ジョブ絞り込み部3で絞り込まれたジョブに対し、優先順位が高いジョブから順番に、最適化演算によってジョブ順序データ45に設定する。ここでの最適化演算部4は、ジョブ「J001」を、加工機「PM001」に設定する。これにより、優先順位が1位のジョブ「J001」がジョブ順序データ45に設定される。 The optimization calculation unit 4 performs an optimization calculation to set jobs narrowed down by the job narrowing unit 3 in job order data 45 in order of priority. The optimization calculation unit 4 here sets the job "J001" to the processing machine "PM001". As a result, the job "J001" having the first priority is set in the job order data 45.

その後、次の制約条件である期限(加工機「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 optimization calculation unit 4 creates a schedule for processing machines "PM001" and "PM002". do not. That is, since there are no jobs in the processing machines "PM001" and "PM002" that can be executed by the maintenance H11 of the processing machine "PM001", no jobs are set for the processing machines "PM001" and "PM002".

最適化演算部4は、加工機「PM001」に対する制約条件(加工機「PM001」での保守H11)を解消するために、加工機「PM001」への保守H11をジョブ順序データ45に設定する。また、最適化演算部4は、保守H11を実行する作業者をジョブ順序データ45に設定し、この作業者による作業日時をジョブ順序データ45に設定する。図8では、作業者による加工機「PM001」への保守H11を「PM001_H11」として図示している。 The optimization calculation unit 4 sets maintenance H11 for the processing machine "PM001" in the job order data 45 in order to eliminate the constraint condition for the processing machine "PM001" (maintenance H11 for the processing machine "PM001"). Further, the optimization calculation unit 4 sets the worker who will execute the maintenance H11 in the job order data 45, and sets the date and time of the work performed by this worker in the job order data 45. In FIG. 8, maintenance H11 performed by the operator on the processing machine "PM001" is illustrated as "PM001_H11".

つぎに、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、3番目に行われる処理を選択する。ジョブ絞り込み部3は、図3の制約条件リスト42Aに基づいて、加工機「PM001」の保守H12を選択し、保守H12の実行期限をジョブ順序データ45に設定する。 Next, the job narrowing section 3 selects the third process to be performed from among the consumables replacement process or the maintenance process in the constraint condition list 42A. The job narrowing unit 3 selects the maintenance H12 of the processing machine "PM001" based on the constraint list 42A of FIG. 3, and sets the execution deadline of the maintenance H12 in the job order data 45.

ジョブ絞り込み部3は、加工機「PM001」での保守H12の実行期限までに実行可能なジョブをジョブリスト41から抽出する。すなわち、ジョブ絞り込み部3は、ジョブリスト41内のジョブのリストのうち、加工機「PM001」での保守H12の実行期限までに実行可能なジョブのリストのみを抽出する。ジョブ絞り込み部3は、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブのリストが含まれていない。 The job narrowing unit 3 extracts from the job list 41 jobs that can be executed by the execution deadline of maintenance H12 on the processing machine “PM001”. That is, the job narrowing section 3 extracts only the list of jobs that can be executed by the execution deadline of maintenance H12 on the processing machine "PM001" from among the list of jobs in the job list 41. The job narrowing down section 3 sends the narrowed down job list 41 to the optimization calculation section 4. The job list 41 after narrowing down does not include a list of jobs.

加工機「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 optimization calculation unit 4 sets maintenance H12 for the processing machine "PM001" in the job order data 45 in order to eliminate the constraint condition for the processing machine "PM001" (maintenance H12 on the processing machine "PM001"). That is, maintenance H12 is set for processing machine "PM001" following maintenance H11.

また、最適化演算部4は、加工機「PM001」の保守H12を実行する作業者をジョブ順序データ45に設定し、この作業者による作業日時をジョブ順序データ45に設定する。図8では、作業者による加工機「PM001」への保守H12を「PM001_H12」として図示している。 Further, the optimization calculation unit 4 sets the worker who will perform the maintenance H12 of the processing machine "PM001" in the job order data 45, and sets the date and time of the work by this worker in the job order data 45. In FIG. 8, maintenance H12 performed by the operator on the processing machine "PM001" is illustrated as "PM001_H12".

この後、ジョブ絞り込み部3は、制約条件リスト42Aにおいて、消耗品の交換処理または保守処理のうち、4番目に行われる処理を選択する。ジョブ絞り込み部3は、選択した保守などの実行期限をジョブ順序データ45に設定する。 Thereafter, the job narrowing unit 3 selects the fourth process to be performed from among the consumables replacement process or the maintenance process in the constraint condition list 42A. The job narrowing unit 3 sets the execution deadline of the selected maintenance etc. in the job order data 45.

ジョブ絞り込み部3は、ジョブ順序データ45に設定した期限までに実行可能なジョブのリストをジョブリスト41から抽出し、絞り込み後のジョブリスト41を最適化演算部4に送る。ここでの絞り込み後のジョブリスト41には、ジョブ「J003」,「J005」が含まれている。最適化演算部4は、設定した期限までに実行可能なジョブを絞り込み後のジョブリスト41内から選択し、最適化演算によってジョブ順序データ45に設定する。 The job narrowing section 3 extracts from the job list 41 a list of jobs that can be executed by the deadline set in the job order data 45, and sends the narrowed down job list 41 to the optimization calculation section 4. The job list 41 after narrowing down includes jobs "J003" and "J005." The optimization calculation unit 4 selects jobs that can be executed by the set deadline from the narrowed-down job list 41, and sets them in the job order data 45 by performing optimization calculations.

最適化演算部4は、加工機「PM001」に対してジョブ「J003」を設定し、加工機「PM002」に対してジョブ「J005」を設定する。絞り込み後のジョブリスト41にジョブ「J004」が含まれていた場合であっても、ジョブ「J004」には、加工機「PM001」が設定されており、ジョブ「J005」には、加工機「PM002」が設定されているので、最適化演算部4は、加工機「PM002」に対してジョブ「J005」を設定する。 The optimization calculation unit 4 sets job "J003" to processing machine "PM001" and sets job "J005" to processing machine "PM002." Even if job "J004" is included in the job list 41 after narrowing down, processing machine "PM001" is set for job "J004", and processing machine "PM001" is set for job "J005". PM002" is set, the optimization calculation unit 4 sets job "J005" to the processing machine "PM002."

このように、スケジューリング装置1Aは、保守の実行期限といった制約条件をジョブ順序データ45に設定するとともに、制約条件を満たすジョブを抽出した絞り込み後のジョブリスト41を作成する処理と、最適化演算によってジョブを何れかの加工機に設定する処理とを繰り返す。 In this way, the scheduling device 1A sets constraints such as maintenance execution deadlines in the job order data 45, and performs processing to create a narrowed-down job list 41 that extracts jobs that meet the constraints, and an optimization calculation. The process of setting the job to one of the processing machines is repeated.

最適化演算部4が作成するジョブ順序データ45では、加工機で実行されるジョブと、各加工機が実行するジョブの順番とが設定されている。最適化演算部4は、作成したジョブ順序データ45をスケジューリング部5に送る。 In the job order data 45 created by the optimization calculation section 4, jobs to be executed by the processing machines and the order of jobs to be executed by each processing machine are set. The optimization calculation unit 4 sends the created job order data 45 to the scheduling unit 5.

スケジューリング部5は、最適化演算部4が作成したジョブ順序データ45と、ジョブリスト41とに基づいて、ジョブの開始時刻および終了時刻を設定したジョブ実行スケジュール43を作成する。 The scheduling unit 5 creates a job execution schedule 43 in which job start times and end times are set based on the job order data 45 created by the optimization calculation unit 4 and the job list 41.

このように、スケジューリング装置1Aは、制約条件下で最適化問題を解き、ジョブを実行する加工機と実行順序とを設定した後、設定した時点で最も厳しい制約条件を解消するジョブ(保守など)を新規に追加してこの制約条件を解除する。そして、スケジューリング装置1Aは、次に厳しい制約条件下で最適化問題を解き、ジョブを実行する加工機と実行順序とを設定した後、その時点で最も厳しい制約条件を解消するジョブ(保守など)を新規に追加してこの制約条件を解除する。スケジューリング装置1Aは、このようなスケジュール処理を繰り返すことで、制約条件を満たしたジョブのスケジューリングが可能となる。 In this way, the scheduling device 1A solves an optimization problem under constraint conditions, sets the processing machine to execute the job and the execution order, and then selects a job (such as maintenance) that eliminates the most severe constraint at the time of setting. Add a new one to remove this constraint. Then, the scheduling device 1A solves the optimization problem under the next strictest constraint condition, sets the processing machine to execute the job and the execution order, and then executes the job (maintenance, etc.) that eliminates the most severe constraint condition at that time. Add a new one to remove this constraint. By repeating such schedule processing, the scheduling device 1A can schedule jobs that satisfy the constraint conditions.

図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 job execution schedule 43 created by the scheduling unit 5, a job ID, a processing machine ID, a job start time, and a job end time are associated with each other.

ジョブ実行スケジュール43には、ジョブリスト41に設定されていたジョブ「J001」~「J006」のリストと、最適化演算部4が設定した制約解消ジョブリスト50とが含まれている。 The job execution schedule 43 includes a list of jobs "J001" to "J006" set in the job list 41 and a constraint resolution job list 50 set by the optimization calculation unit 4.

制約解消ジョブリスト50は、制約条件を解消するために、最適化演算部4が新規に追加したジョブのリストである。制約解消ジョブリスト50は、制約条件を解消するために実行される保守などのジョブのリストである。制約解消ジョブリスト50には、最適化演算部4が設定した保守などのジョブのリストと、最適化演算部4が設定した停止中の加工機のリストとが含まれている。 The constraint resolution job list 50 is a list of jobs newly added by the optimization calculation unit 4 in order to eliminate constraint conditions. The constraint resolution job list 50 is a list of jobs such as maintenance that are executed to resolve constraints. The constraint resolution job list 50 includes a list of jobs such as maintenance set by the optimization calculation unit 4 and a list of stopped processing machines set by the optimization calculation unit 4.

図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 resolution job list 50 in FIG. 9 includes a list of maintenance H11 and H12 of the processing machine "PM001" and a list of maintenance H11 of the processing machine "PM002". In the job execution schedule 43 in FIG. 9, the job ID of the maintenance H11 of the processing machine "PM001" is shown as "PM001_H11", the job ID of the maintenance H12 of the processing machine "PM001" is shown as "PM001_H12", and the job ID of the maintenance H12 of the processing machine "PM001" is shown as "PM001_H12", and The job ID of maintenance H11 is shown as "PM002_H11".

また、図9のジョブ実行スケジュール43では、停止中の加工機「PM003」を示す情報として、ジョブIDに「PM003_OUT」が設定されている場合を示している。停止中の加工機「PM003」における開始時刻は加工機が停止を開始する時刻であり、終了時刻は加工機が停止を終了する時刻である。 Further, the job execution schedule 43 in FIG. 9 shows a case where "PM003_OUT" is set in the job ID as information indicating the stopped processing machine "PM003". The start time of the stopped processing machine "PM003" is the time when the processing machine starts stopping, and the end time is the time when the processing machine ends stopping.

一般的に、スケジューリング装置のユーザの価値基準またはスケジュールに対する要求仕様が複雑になると、ジョブリスト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 job list 41 or the constraint list 42A, 42B becomes complicated. As the job list 41 or the constraint lists 42A and 42B become more complex, the policy for determining the order of job execution becomes more complex, and job scheduling becomes impossible on a rule-based basis. Furthermore, even if the scheduling device attempts to find a solution as a combinatorial optimization problem, it takes time to formulate the objective function or constraints, so if even one requirement specification differs, the formulation must be redone. .

一方、実施の形態1のスケジューリング装置1Aは、ジョブ絞り込み部3が、ジョブの絞り込みを実行した後に最適化演算部4が、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定している。これにより、スケジューリング装置1Aは、制約条件に従って絞り込まれた少数のジョブを何れかの加工機に割り当てれば良いので、短時間でジョブ実行スケジュール43を作成することができる。 On the other hand, in the scheduling device 1A of the first embodiment, after the job narrowing unit 3 narrows down the jobs, the optimization calculation unit 4 selects the processing machines that execute each job and the execution order of the jobs in each processing machine. It has been decided that Thereby, the scheduling device 1A can create the job execution schedule 43 in a short time because it only needs to assign a small number of jobs narrowed down according to the constraint conditions to any processing machine.

また、スケジューリング装置1Aは、複雑な制約条件および目的関数を設定しなくてもスケジューリングが可能なため、最適化式の見直しまたは追加が不要となる。また、スケジューリング装置1Aは、最適化条件式に複雑な制約条件を含めなくてもスケジューリングを行うことができる。また、スケジューリング装置1Aは、最適化式を簡素化できるので、演算時間を短縮できる。 Furthermore, since the scheduling device 1A can perform scheduling without setting complicated constraints and objective functions, there is no need to review or add optimization formulas. Furthermore, the scheduling device 1A can perform scheduling without including complicated constraints in the optimization conditional expression. Furthermore, since the scheduling device 1A can simplify the optimization formula, the calculation time can be shortened.

なお、ジョブ絞り込み部3は、ジョブの絞り込み条件として、優先順位、納期、ジョブを実行可能な加工機、製品の出荷先、ワークが仕掛り中であるか否かの情報、ジョブの初回登録日時(ジョブが最初にジョブリスト41に登録された日時)の何れかまたは複数の組み合わせを用いてもよい。すなわち、ジョブ絞り込み部3は、優先順位と、納期と、ジョブを実行可能な加工機と、製品の出荷先と、ワークが仕掛り中であるか否かの情報と、ジョブの初回登録日時との少なくとも1つをジョブの絞り込み条件として用いる。このように、ジョブ絞り込み部3は、種々の絞り込み条件を適用することで、ジョブが設定されるワークの滞留を防止でき、仕掛り品または作業完了品が増えすぎないようにコントロールすることができる。 The job narrowing section 3 uses job narrowing conditions such as priority, delivery date, processing machine that can execute the job, shipping destination of the product, information on whether or not the work is in progress, and the initial registration date and time of the job. (Date and time when the job was first registered in the job list 41) or a combination of a plurality of them may be used. That is, the job narrowing unit 3 stores the priority, delivery date, processing machines that can execute the job, shipping destination of the product, information on whether the work is in progress, and the initial registration date and time of the job. At least one of the above is used as a job narrowing condition. In this way, by applying various narrowing conditions, the job narrowing section 3 can prevent workpieces for which jobs are set from stagnation, and can control so that the number of work-in-progress items or completed work items does not increase too much. .

また、スケジューリング装置1Aは、実行順序の制約条件、実行日時の制約条件等の全ての制約条件を無視して最優先でジョブに実行日時を割当てるための最優先フラグがユーザによって設定されてもよい。スケジューリング装置1Aは、この最優先フラグが設定されたジョブを、最優先で処理される日時に設定できるので、特急ジョブに対応できる。 Further, in the scheduling device 1A, a top priority flag may be set by the user for assigning an execution date and time to a job with the highest priority, ignoring all constraints such as execution order constraints and execution date and time constraints. . Since the scheduling device 1A can set the date and time for processing the job with the highest priority flag, it can handle urgent jobs.

このように実施の形態1のスケジューリング装置1Aは、ジョブ絞り込み部3と、最適化演算部4とを備えている。そして、ジョブ絞り込み部3が、ジョブリスト41に設定されているジョブの中から制約条件リスト42A,42Bを満たすジョブに絞り込んだ絞り込み後のジョブリスト41を作成している。最適化演算部4は、絞り込み後のジョブリスト41に基づいて、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを示すデータであるジョブ順序データ45を作成している。これにより、スケジューリング装置1Aは、ジョブ実行スケジュール43を短時間で作成してユーザに提供することが可能となる。 As described above, the scheduling device 1A of the first embodiment includes the job narrowing section 3 and the optimization calculation section 4. Then, the job narrowing down section 3 creates a job list 41 after narrowing down the jobs set in the job list 41 to jobs that satisfy the constraint list 42A, 42B. Based on the job list 41 after narrowing down, the optimization calculation unit 4 creates job order data 45, which is data indicating the processing machines that execute the jobs and the order in which the jobs are executed by the processing machines. Thereby, the scheduling device 1A can create the job execution schedule 43 in a short time and provide it to the user.

実施の形態2.
つぎに、図10から図17を用いて実施の形態2について説明する。実施の形態2では、ジョブの実行時間の誤差を学習し、誤差を考慮してスケジューリングが実行される。
Embodiment 2.
Next, Embodiment 2 will be described using FIGS. 10 to 17. In the second embodiment, an error in job execution time is learned and scheduling is performed in consideration of the error.

図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 scheduling device 1A of the first embodiment shown in FIG.

スケジューリングシステム10は、スケジューリング装置1Bと、学習装置60と、学習済モデル記憶部65と、推論装置70とを有している。スケジューリング装置1Bは、スケジューリング装置1Aと同様に、ジョブ実行スケジュール43を作成するコンピュータである。 The scheduling system 10 includes a scheduling device 1B, a learning device 60, a learned model storage section 65, and an inference device 70. The scheduling device 1B is a computer that creates a job execution schedule 43 similarly to the scheduling device 1A.

スケジューリングシステム10では、学習装置60および推論装置70が、学習済モデル記憶部65に接続されている。また、推論装置70がスケジューリング装置1Bに接続されている。 In the scheduling system 10, a learning device 60 and an inference device 70 are connected to a learned model storage section 65. Further, an inference device 70 is connected to the scheduling device 1B.

実施の形態2では、学習装置60が、ジョブリスト41に設定されている見積時間と、見積時間に対する誤差時間との対応関係を学習する。なお、見積時間に対する誤差時間は、見積時間と実際の実行時間との差分である。誤差時間は、学習装置60が算出してもよいし、学習装置60以外の装置が算出してもよい。 In the second embodiment, the learning device 60 learns the correspondence between the estimated time set in the job list 41 and the error time with respect to the estimated time. Note that the error time with respect to the estimated time is the difference between the estimated time and the actual execution time. The error time may be calculated by the learning device 60 or by a device other than the learning device 60.

学習装置60は、見積時間と誤差時間との対応関係を学習することで学習済モデル(後述する学習済モデル80)を生成する。学習済モデル80は、見積時間に対応する誤差時間を推論するためのモデルである。学習装置60は、例えば、見積時間と誤差時間とが対応付けされた誤差リストに基づいて、学習済モデル80を生成する。学習装置60は、学習済モデル80を学習済モデル記憶部65に送信する。 The learning device 60 generates a learned model (a learned model 80 to be described later) by learning the correspondence between the estimated time and the error time. The learned model 80 is a model for inferring the error time corresponding to the estimated time. The learning device 60 generates the learned model 80, for example, based on an error list in which estimated times and error times are associated with each other. The learning device 60 transmits the learned model 80 to the learned model storage section 65.

スケジューリング装置1Bは、ジョブリスト41に設定されている見積時間を推論装置70に送信する。推論装置70は、ジョブリスト41に設定されている見積時間に対する誤差時間を推論する。推論装置70は、学習済モデル80に見積時間を入力することで、誤差時間を算出する。推論装置70は、算出した誤差時間をスケジューリング装置1Bの最適化演算部4に送信する。スケジューリング装置1Bは、見積時間に対する誤差時間を用いて、ジョブ実行スケジュール43を作成する。 The scheduling device 1B transmits the estimated time set in the job list 41 to the inference device 70. The inference device 70 infers the error time with respect to the estimated time set in the job list 41. The inference device 70 calculates the error time by inputting the estimated time into the trained model 80. The inference device 70 transmits the calculated error time to the optimization calculation unit 4 of the scheduling device 1B. The scheduling device 1B creates a job execution schedule 43 using the error time with respect to the estimated time.

図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 learning device 60 includes a data acquisition section 61 and a model generation section 62. The data acquisition unit 61 acquires the estimated time 66A and the error time 67A from outside the learning device 60.

データ取得部61が取得する見積時間66Aは、過去にジョブリスト41に設定されていた見積時間(過去に実行したジョブの見積時間)である。学習装置60が学習済モデル80を生成する際には、見積時間66Aおよび誤差時間67Aが、データ取得部61に入力される。データ取得部61は、見積時間66Aおよび誤差時間67Aを、学習用データとしてモデル生成部62に送る。 The estimated time 66A acquired by the data acquisition unit 61 is the estimated time set in the job list 41 in the past (estimated time of a job executed in the past). When the learning device 60 generates the trained model 80, the estimated time 66A and the error time 67A are input to the data acquisition unit 61. The data acquisition unit 61 sends the estimated time 66A and the error time 67A to the model generation unit 62 as learning data.

モデル生成部62は、データ取得部61から送られてくる見積時間66Aと誤差時間67Aとの組合せに基づいて作成される学習用データに基づいて、見積時間66Aに対応する誤差時間67Aを学習する。換言すると、モデル生成部62は、見積時間66Aと誤差時間67Aとの組合せに基づいて作成される学習用データに基づいて、見積時間66Aに対応する誤差時間67Aを学習する。ここで、学習用データは、見積時間66Aおよび誤差時間67Aが互いに関連付けられたデータである。 The model generation unit 62 learns the error time 67A corresponding to the estimated time 66A based on the learning data created based on the combination of the estimated time 66A and the error time 67A sent from the data acquisition unit 61. . In other words, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A based on the learning data created based on the combination of the estimated time 66A and the error time 67A. Here, the learning data is data in which the estimated time 66A and the error time 67A are associated with each other.

なお、データ取得部61は、加工機毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、加工機毎に、見積時間66Aに対応する誤差時間67Aを学習する。 Note that the data acquisition unit 61 may acquire the estimated time 66A and error time 67A for each processing machine. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each processing machine.

また、データ取得部61は、工程毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、工程毎に、見積時間66Aに対応する誤差時間67Aを学習する。 Further, the data acquisition unit 61 may acquire the estimated time 66A and error time 67A for each process. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each process.

また、データ取得部61は、ジョブ毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、ジョブ毎に、見積時間66Aに対応する誤差時間67Aを学習する。 Further, the data acquisition unit 61 may acquire the estimated time 66A and error time 67A for each job. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each job.

また、データ取得部61は、ワーク毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、ワーク毎に、見積時間66Aに対応する誤差時間67Aを学習する。 Further, the data acquisition unit 61 may acquire the estimated time 66A and error time 67A for each work. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each work.

また、データ取得部61は、加工機、工程、ジョブ、およびワークの少なくとも2つの組合せ毎の見積時間66Aおよび誤差時間67Aを取得してもよい。この場合、モデル生成部62は、加工機、工程、ジョブ、およびワークの少なくとも2つの組合せ毎に、見積時間66Aに対応する誤差時間67Aを学習する。 Further, the data acquisition unit 61 may acquire the estimated time 66A and error time 67A for each combination of at least two of the processing machine, process, job, and workpiece. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each combination of at least two of the processing machine, process, job, and workpiece.

モデル生成部62は、学習アルゴリズムとして、教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。一例として、モデル生成部62が用いる学習アルゴリズムにニューラルネットワークを適用した場合について説明をする。 The model generation unit 62 can use known algorithms such as supervised learning, unsupervised learning, and reinforcement learning as learning algorithms. As an example, a case will be described in which a neural network is applied to the learning algorithm used by the model generation unit 62.

モデル生成部62は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、見積時間66Aに対応する適切な誤差時間67Aを学習する。ここで、教師あり学習とは、入力と結果(ラベル)とのデータの組(学習用データ)を学習装置60に与えることで、これらの学習用データに含まれる特徴を学習し、入力から結果を推論する手法をいう。 The model generation unit 62 learns an appropriate error time 67A corresponding to the estimated time 66A, for example, by so-called supervised learning according to a neural network model. Here, supervised learning means that by giving a data set (learning data) of input and result (label) to the learning device 60, it learns the features included in these learning data and extracts the results from the input. A method for inferring

ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、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 model storage unit 65 stores the learned model 80 generated by the learning device 60. The trained model 80 stored in the trained model storage unit 65 is read out by the inference device 70 when the inference device 70 infers an error time (an error time 67B to be described later).

なお、学習装置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 learning device 60, the inference device 70, and the learned model storage unit 65 may be a separate device from the scheduling system 10, which is connected to the scheduling system 10 via a network, for example. good. Furthermore, at least one of the learning device 60, the inference device 70, and the learned model storage unit 65 may be built in the scheduling device 1B. Furthermore, at least one of the learning device 60, the inference device 70, and the learned model storage unit 65 may exist on a cloud server. Further, the learning device 60 and the inference device 70 may be realized by different computers, or the learning device 60 and the inference device 70 may be realized by one computer.

図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 learning device 60 of FIG. The error time 67A corresponding to is learned. In other words, the neural network used by the learning device 60 in FIG. 67A, an error time 67A corresponding to the estimated time 66A is learned by so-called supervised learning.

すなわち、ニューラルネットワークは、第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 estimated time 66A, approaches the second input (correct answer). do.

このように、ニューラルネットワークは、入力層に見積時間66Aを入力して出力層から出力された結果が、誤差時間67Aに近づくように重みW1および重みW2を調整することで学習する。ニューラルネットワークは、見積時間66Aと誤差時間67Aとの対応関係を学習することで、見積時間66Aが入力された場合に適切な誤差時間67Aを出力することができる学習済モデル80を生成する。このように、学習装置60は、見積時間66Aを入力とした場合に正解である誤差時間67Aを出力することができる学習済モデル80を学習する。 In this way, the neural network learns by inputting the estimated time 66A into the input layer and adjusting the weights W1 and W2 so that the result output from the output layer approaches the error time 67A. By learning the correspondence between the estimated time 66A and the error time 67A, the neural network generates a trained model 80 that can output an appropriate error time 67A when the estimated time 66A is input. In this way, the learning device 60 learns the trained model 80 that can output the correct error time 67A when the estimated time 66A is input.

モデル生成部62は、以上のような学習を実行することで学習済モデル80を生成し、出力する。学習済モデル記憶部65は、モデル生成部62から出力された学習済モデル80を記憶する。 The model generation unit 62 generates and outputs the learned model 80 by performing the above learning. The trained model storage unit 65 stores the trained model 80 output from the model generation unit 62.

次に、図13を用いて、学習装置60が学習済モデル80を学習する処理の処理手順について説明する。図13は、実施の形態2にかかる学習装置が実行する学習処理の処理手順を示すフローチャートである。 Next, a processing procedure for the learning device 60 to learn the trained model 80 will be described using FIG. 13. FIG. 13 is a flowchart showing the procedure of learning processing executed by the learning device according to the second embodiment.

データ取得部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 estimated time 66A and an error time 67A. It is assumed that the data acquisition unit 61 acquires the estimated time 66A and the error time 67A at the same time, but the estimated time 66A and the error time 67A may be input in association with each other. Therefore, the data acquisition unit 61 may acquire the estimated time 66A and the error time 67A at different timings. The data acquisition unit 61 sends the estimated time 66A and error time 67A to the model generation unit 62.

モデル生成部62は、見積時間66Aおよび誤差時間67Aを用いて学習処理を実行する(ステップS120)。具体的には、モデル生成部62は、データ取得部61によって取得された見積時間66Aと、誤差時間67Aとの組合せに基づいて作成される学習用データに従って、いわゆる教師あり学習により、見積時間66Aに対応する誤差時間67Aを学習し、学習済モデル80を生成する。 The model generation unit 62 executes a learning process using the estimated time 66A and the error time 67A (step S120). Specifically, the model generation unit 62 generates the estimated time 66A by so-called supervised learning according to the learning data created based on the combination of the estimated time 66A acquired by the data acquisition unit 61 and the error time 67A. The error time 67A corresponding to is learned, and a learned model 80 is generated.

モデル生成部62は、学習済モデル80を生成した後、学習済モデル記憶部65に学習済モデル80を出力する(ステップS130)。学習済モデル記憶部65は、モデル生成部62が生成した学習済モデル80を記憶する。 After generating the trained model 80, the model generation unit 62 outputs the trained model 80 to the trained model storage unit 65 (step S130). The trained model storage unit 65 stores the trained model 80 generated by the model generation unit 62.

図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 inference device 70 includes a data acquisition section 71 and an inference section 72. The data acquisition unit 71 acquires the estimated time 66B from outside the inference device 70 (scheduling device 1B in the second embodiment). The estimated time 66B is the same information as the estimated time 66A. That is, the estimated time 66B is the estimated time set in the job list 41.

データ取得部71は、データ取得部61と同様の方法によって見積時間66Bを取得する。データ取得部71は、取得した見積時間66Bを推論部72に送る。スケジューリングシステム10では、データ取得部71が、第1のデータ取得部であり、データ取得部61が、第2のデータ取得部である。 The data acquisition unit 71 acquires the estimated time 66B using the same method as the data acquisition unit 61. The data acquisition unit 71 sends the acquired estimated time 66B to the inference unit 72. In the scheduling system 10, the data acquisition section 71 is a first data acquisition section, and the data acquisition section 61 is a second data acquisition section.

推論部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 estimated time 66B sent from the data acquisition unit 71. Further, the inference unit 72 reads out the trained model 80 from the trained model storage unit 65. The inference unit 72 uses the trained model 80 to infer an error time 67B corresponding to the estimated time 66B. That is, by inputting the estimated time 66B acquired by the data acquisition unit 71 into the trained model 80, the inference unit 72 can output the error time 67B inferred from the estimated time 66B. The inference unit 72 transmits the inferred error time 67B to the scheduling device 1B.

実施の形態2では、推論装置70が、スケジューリングシステム10のモデル生成部62が学習した学習済モデル80を用いて適切な誤差時間67Bを出力する場合について説明したが、推論装置70は、他のスケジューリングシステム等の外部から学習済モデル80を取得してもよい。この場合、推論装置70は、他のスケジューリングシステム等から取得した学習済モデル80に基づいて適切な誤差時間67Bを出力する。 In the second embodiment, a case has been described in which the inference device 70 outputs the appropriate error time 67B using the learned model 80 learned by the model generation unit 62 of the scheduling system 10. The trained model 80 may be acquired from an external source such as a scheduling system. In this case, the inference device 70 outputs an appropriate error time 67B based on the learned model 80 obtained from another scheduling system or the like.

次に、図15を用いて、推論装置70が学習済モデル80を用いて誤差時間67Bを推論する処理の処理手順について説明する。図15は、実施の形態2にかかる推論装置が実行する推論処理の処理手順を示すフローチャートである。 Next, with reference to FIG. 15, a processing procedure in which the inference device 70 infers the error time 67B using the learned model 80 will be described. FIG. 15 is a flowchart showing a procedure of inference processing executed by the inference device according to the second embodiment.

データ取得部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 estimated time 66B. The data acquisition unit 71 sends the estimated time 66B to the inference unit 72. The inference unit 72 acquires the estimated time 66B from the data acquisition unit 71 and acquires the learned model 80 from the learned model storage unit 65.

推論部72は、学習済モデル80に見積時間66Bを入力し(ステップS220)、適切な誤差時間67Bを得る。 The inference unit 72 inputs the estimated time 66B to the trained model 80 (step S220) and obtains an appropriate error time 67B.

推論部72は、学習済モデル80および見積時間66Bを用いて推論したデータを出力する(ステップS230)。具体的には、推論部72は、学習済モデル80により得られた適切な誤差時間67Bを、スケジューリング装置1Bに送信する。 The inference unit 72 outputs data inferred using the learned model 80 and the estimated time 66B (step S230). Specifically, the inference unit 72 transmits the appropriate error time 67B obtained by the learned model 80 to the scheduling device 1B.

スケジューリング装置1Bのスケジューリング部5は、見積時間66Bに対応する誤差時間67Bを用いて、ジョブ実行スケジュール43を作成する。 The scheduling unit 5 of the scheduling device 1B creates the job execution schedule 43 using the error time 67B corresponding to the estimated time 66B.

図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 scheduling device 1A. The optimization calculation unit 4 sends the estimated time set in the job order data 45 (the job execution time set in the job execution schedule 43) to the inference device 70. Thereby, the inference device 70 infers the error time corresponding to the estimated time and sends it to the optimization calculation unit 4. The optimization calculation unit 4 acquires the error time corresponding to the estimated time from the inference device 70 (step S25).

最適化演算部4は、制約条件リスト42A,42Bおよび誤差時間に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件下のジョブの加工機と、各加工機での実行順序とを誤差時間を用いて作成する(ステップS31)。換言すると、最適化演算部4は、制約条件リスト42A,42Bで規定されている制約条件を満たすように、各ジョブを実行させる加工機と、各加工機におけるジョブの実行順序とを設定したジョブ順序データ45を、誤差時間を用いて作成する。 The optimization calculation unit 4 determines the processing machine that executes each job and the order in which the jobs are executed in each processing machine based on the constraint list 42A, 42B and the error time. That is, the optimization calculation unit 4 creates the processing machines for the job under the constraint conditions and the execution order in each processing machine using the error time (step S31). In other words, the optimization calculation unit 4 sets the processing machines to execute each job and the execution order of the jobs in each processing machine so as to satisfy the constraints defined in the constraint condition lists 42A and 42B. Sequence data 45 is created using error time.

最適化演算部4は、演算が未終了の制約条件があるか否かを判定し(ステップS40)、演算が未終了の制約条件がある場合(ステップS40、Yes)、スケジューリング装置1Bは、ステップS20の処理に戻り、ステップS20~S40の処理を繰り返す。 The optimization calculation unit 4 determines whether there is a constraint condition for which the calculation has not been completed (step S40), and if there is a constraint condition for which the calculation has not been completed (step S40, Yes), the scheduling device 1B performs the step Returning to the process of S20, the processes of steps S20 to S40 are repeated.

一方、演算が未終了の制約条件がない場合(ステップ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 scheduling unit 5 calculates the execution order of the jobs in each processing machine determined by the optimization calculation unit 4 and the estimated time in the job list 41. , and the error time, the execution date and time of each job is set (step S52), and a job execution schedule 43 is created.

出力部6は、スケジューリング部5が作成したジョブ実行スケジュール43を表示装置などの外部装置に出力する(ステップS60)。これにより、ユーザは、ジョブの実行日時が設定されたジョブ実行スケジュール43を参照することが可能となる。 The output unit 6 outputs the job execution schedule 43 created by the scheduling unit 5 to an external device such as a display device (step S60). This allows the user to refer to the job execution schedule 43 in which job execution dates and times are set.

なお、学習装置60は、学習済モデル80を作成する際に、モデル生成部62が用いた学習用データの組数を算出し、学習用データの組数を推論装置70に送ってもよい。この場合、推論装置70は、ジョブの実行時間に対応する誤差時間を推論する際に、推論した誤差時間の信頼度を算出する。推論装置70は、学習用データの組数が多いほど、高い信頼度を算出する。推論装置70が算出した信頼度は、表示装置などによって表示される。これにより、ユーザは、誤差時間の信頼度を参照することが可能となる。 Note that the learning device 60 may calculate the number of sets of learning data used by the model generation unit 62 when creating the trained model 80, and may send the number of sets of learning data to the inference device 70. In this case, when inferring the error time corresponding to the job execution time, the inference device 70 calculates the reliability of the inferred error time. The inference device 70 calculates higher reliability as the number of sets of learning data increases. The reliability calculated by the inference device 70 is displayed on a display device or the like. This allows the user to refer to the reliability of the error time.

また、ジョブ絞り込み部3が、見積時間を推論装置70に送信してもよい。この場合、推論装置70は、推論した誤差時間をジョブ絞り込み部3に送信する。ジョブ絞り込み部3は、見積時間および誤差時間に基づいて、ジョブの絞り込みを行う。最適化演算部4は、見積時間および誤差時間に基づいて、ジョブをジョブ順序データ45に設定する。 Further, the job narrowing section 3 may transmit the estimated time to the inference device 70. In this case, the inference device 70 transmits the inferred error time to the job narrowing down section 3. The job narrowing down section 3 narrows down jobs based on the estimated time and error time. The optimization calculation unit 4 sets the job in the job order data 45 based on the estimated time and the error time.

このように、スケジューリングシステム10では、学習装置60が、過去に実行したジョブの見積時間と、誤差時間とに基づいて、見積時間に対応する誤差時間を学習し学習済モデル80を生成する。推論装置70は、ジョブリスト41に設定されている見積時間を、学習済モデル80に入力することで、見積時間に対応する誤差時間を推論する。スケジューリング装置1Bは、ジョブリスト41に設定されている見積時間と、推論された誤差時間とに基づいて、ジョブが制約条件を満たすようにジョブ実行スケジュール43を作成する。スケジューリングシステム10は、見積誤差を学習して推論するので、ジョブが実行期限のある制約条件を超過するリスクを低減させることができる。 In this way, in the scheduling system 10, the learning device 60 learns the error time corresponding to the estimated time based on the estimated time and error time of jobs executed in the past, and generates the learned model 80. The inference device 70 inputs the estimated time set in the job list 41 into the trained model 80 to infer the error time corresponding to the estimated time. The scheduling device 1B creates a job execution schedule 43 based on the estimated time set in the job list 41 and the estimated error time so that the job satisfies the constraint conditions. Since the scheduling system 10 learns and makes inferences about estimation errors, it is possible to reduce the risk of a job exceeding a constraint condition with an execution deadline.

図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 optimization calculation unit 4 selects the processing machines that execute each job and the execution order of the jobs in each processing machine based on the job list 41 after narrowing down, the constraint condition lists 42A and 42B, and the error time. A case will be explained in which the following is determined. FIG. 17 shows a state in which the job “J002” and the error time Tx of the job “J002” are set in the job order data 45.

最適化演算部4は、ジョブの見積時間と誤差時間との合計時間が制約条件(加工機「PM002」の保守H11の実行期限)を満たすように、ジョブと誤差時間とをジョブ順序データ45に設定する。すなわち、ジョブが制約条件を満たす場合であっても、ジョブの見積時間と誤差時間との合計時間が制約条件を満たさない場合、最適化演算部4は、ジョブおよび誤差時間をジョブ順序データ45に設定しない。 The optimization calculation unit 4 converts the job and the error time into job order data 45 so that the total time of the estimated job time and the error time satisfies the constraint condition (execution deadline for maintenance H11 of the processing machine "PM002"). Set. That is, even if the job satisfies the constraint, if the total time of the job's estimated time and error time does not satisfy the constraint, the optimization calculation unit 4 adds the job and the error time to the job order data 45. Not set.

このように実施の形態2のスケジューリングシステム10は、ジョブの見積時間から誤差時間を推論するための学習済モデル80を作成する学習装置60と、学習済モデル80を用いて、ジョブの見積時間から誤差時間を推論する推論装置70とを有している。そして、スケジューリング装置1Bが、学習済モデル80を用いて推論された誤差時間を用いてジョブ実行スケジュール43を作成している。これにより、スケジューリングシステム10は、ジョブが実行期限のある制約条件を超過するリスクを低減させることができる。 As described above, the scheduling system 10 of the second embodiment uses the learning device 60 that creates the trained model 80 for inferring the error time from the estimated time of the job, and the trained model 80 to calculate the error time from the estimated time of the job. The inference device 70 infers the error time. Then, the scheduling device 1B creates a job execution schedule 43 using the error time inferred using the learned model 80. Thereby, the scheduling system 10 can reduce the risk of a job exceeding a constraint condition with an execution deadline.

実施の形態3.
つぎに、図18から図23を用いて実施の形態3について説明する。実施の形態3では、最適化演算が行われた後に、制約条件に違反(制約違反)があるかが検出され、制約違反がある場合には、再び最適化演算が行われる。
Embodiment 3.
Next, Embodiment 3 will be described using FIGS. 18 to 23. In the third embodiment, after the optimization operation is performed, it is detected whether there is a violation of the constraint conditions (constraint violation), and if there is a violation of the constraint, the optimization operation is performed again.

実施の形態3のスケジューリング装置は、制約条件があるジョブを含めた状態でジョブの実行順序を決定し、制約違反(実行制限のあるジョブを実行できない条件)に該当するジョブを、ジョブ順序データ45から一旦除外し、制約条件に従って、ジョブ順序データ45に再設定する。 The scheduling device of Embodiment 3 determines the execution order of jobs including jobs with constraint conditions, and selects jobs that violate constraints (conditions in which jobs with execution restrictions cannot be executed) based on job order data 45. The job order data 45 is temporarily excluded from the job order data 45 according to the constraint conditions.

図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 scheduling device 1A of the first embodiment shown in FIG. 1 are denoted by the same reference numerals, and redundant explanation will be omitted.

スケジューリング装置1Cは、スケジューリング装置1Aと同様に、ジョブ実行スケジュール43を作成するコンピュータである。スケジューリング装置1Cは、入力部2と、最適化演算部4と、スケジューリング部5と、制約違反検出部7と、出力部6とを備えている。 The scheduling device 1C is a computer that creates a job execution schedule 43, similar to the scheduling device 1A. The scheduling device 1C includes an input section 2, an optimization calculation section 4, a scheduling section 5, a constraint violation detection section 7, and an output section 6.

スケジューリング装置1Cでは、入力部2が、最適化演算部4、スケジューリング部5、および制約違反検出部7に接続され、最適化演算部4がスケジューリング部5に接続されている。また、スケジューリング装置1Cでは、スケジューリング部5が制約違反検出部7に接続されている。制約違反検出部7が、出力部6および最適化演算部4に接続されている。 In the scheduling device 1C, the input unit 2 is connected to the optimization calculation unit 4, the scheduling unit 5, and the constraint violation detection unit 7, and the optimization calculation unit 4 is connected to the scheduling unit 5. Furthermore, in the scheduling device 1C, the scheduling section 5 is connected to the constraint violation detection section 7. A constraint violation detection section 7 is connected to the output section 6 and the optimization calculation section 4.

スケジューリング装置1Cの入力部2は、ジョブリスト41を、最適化演算部4、スケジューリング部5、および制約違反検出部7に入力する。また、入力部2は、制約条件リスト42A,42Bを制約違反検出部7に入力する。 The input unit 2 of the scheduling device 1C inputs the job list 41 to the optimization calculation unit 4, the scheduling unit 5, and the constraint violation detection unit 7. The input unit 2 also inputs the constraint list 42A, 42B to the constraint violation detection unit 7.

スケジューリング装置1Cの最適化演算部4は、ジョブの絞り込みが行われる前のジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が短くなるように、ジョブを加工機に割り当てる。 The optimization calculation unit 4 of the scheduling device 1C determines the processing machine that executes each job and the order in which the jobs are executed by each processing machine, based on the job list 41 before job narrowing down. The optimization calculation unit 4 allocates jobs to processing machines so that the time required to complete all jobs in the job list 41 is shortened.

スケジューリング部5は、各ジョブに対し、ジョブを実行する加工機と、実行順序と、実行日時とが設定されたジョブ実行スケジュール43を作成する。スケジューリング部5は、作成したジョブ実行スケジュール43を制約違反検出部7に送る。 The scheduling unit 5 creates a job execution schedule 43 for each job, in which a processing machine to execute the job, an execution order, and an execution date and time are set. The scheduling unit 5 sends the created job execution schedule 43 to the constraint violation detection unit 7.

制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内またはジョブ順序データ45内で制約条件に違反しているジョブを検出する。実施の形態3では、最適化演算部4が、制約条件リスト42A,42Bに設定されている制約を考慮することなく、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定しているので、ジョブ実行スケジュール43およびジョブ順序データ45には制約条件に違反しているジョブ(制約条件を満たさないジョブ)が含まれている場合がある。このため、制約違反検出部7は、ジョブ実行スケジュール43内またはジョブ順序データ45内で制約条件に違反しているジョブを検出する。 The constraint violation detection unit 7 detects a job that violates a constraint in the job execution schedule 43 or the job order data 45 based on the job execution schedule 43 and the constraint list 42A, 42B. In the third embodiment, the optimization calculation unit 4 determines the processing machines that execute each job and the order in which the jobs are executed in each processing machine, without considering the constraints set in the constraint condition lists 42A and 42B. is determined, the job execution schedule 43 and job order data 45 may include jobs that violate the constraint conditions (jobs that do not satisfy the constraint conditions). Therefore, the constraint violation detection unit 7 detects a job that violates the constraint condition within the job execution schedule 43 or within the job order data 45.

制約違反検出部7は、制約条件に違反しているジョブを検出した場合は、制約条件に違反しているジョブをジョブ実行スケジュール43およびジョブ順序データ45から削除する。また、制約違反検出部7は、制約条件に違反しているジョブを検出した場合は、制約条件に違反していないジョブをジョブリスト41から削除することでジョブリスト41を修正する。すなわち、制約違反検出部7は、制約条件に違反していないジョブをジョブリスト41から削除した修正後のジョブリスト41を作成する。このように、制約違反検出部7は、制約条件に違反していないジョブの実行スケジュールを確定させ、このジョブをジョブリスト41から削除する。これにより、ジョブリスト41には、制約条件に違反しているジョブが残される。 When the constraint violation detection unit 7 detects a job that violates the constraint conditions, it deletes the job that violates the constraint conditions from the job execution schedule 43 and the job order data 45. Furthermore, when the constraint violation detection unit 7 detects a job that violates the constraint conditions, it corrects the job list 41 by deleting from the job list 41 jobs that do not violate the constraint conditions. That is, the constraint violation detection unit 7 creates a modified job list 41 in which jobs that do not violate the constraint conditions are deleted from the job list 41. In this way, the constraint violation detection unit 7 determines the execution schedule of a job that does not violate any constraint conditions, and deletes this job from the job list 41. As a result, jobs that violate the constraint conditions remain in the job list 41.

また、制約違反検出部7は、制約条件に対応するジョブ(制約条件を解消するためのジョブ)を、ジョブリスト41に追加する。制約違反検出部7は、例えば、制約条件を解消するために実行される保守などのジョブを、ジョブリスト41に追加する。 Further, the constraint violation detection unit 7 adds a job corresponding to the constraint condition (a job for resolving the constraint condition) to the job list 41. The constraint violation detection unit 7 adds, to the job list 41, a job such as a maintenance job that is executed to eliminate a constraint condition, for example.

制約違反検出部7は、制約条件に違反していないジョブが削除され、保守などのジョブが追加されたジョブリスト41を最適化演算部4に送る。また、制約違反検出部7は、制約条件に違反しているジョブが削除されたジョブ順序データ45を最適化演算部4に送る。また、制約違反検出部7は、制約条件に違反しているジョブが削除されたジョブ実行スケジュール43を最適化演算部4に送る。 The constraint violation detection unit 7 sends to the optimization calculation unit 4 a job list 41 in which jobs that do not violate the constraint conditions are deleted and jobs such as maintenance jobs are added. Further, the constraint violation detection unit 7 sends job order data 45 in which jobs violating the constraint conditions have been deleted to the optimization calculation unit 4. Further, the constraint violation detection unit 7 sends the job execution schedule 43 in which the job violating the constraint has been deleted to the optimization calculation unit 4.

制約違反検出部7は、制約条件に違反しているジョブを検出しなかった場合には、ジョブ実行スケジュール43を出力部6に送る。出力部6は、ジョブ実行スケジュール43を、表示装置などの外部装置に出力する。 When the constraint violation detection unit 7 does not detect a job that violates the constraint conditions, it sends the job execution schedule 43 to the output unit 6. The output unit 6 outputs the job execution schedule 43 to an external device such as a display device.

最適化演算部4は、制約違反検出部7から修正後のジョブリスト41が送られてくると、このジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、制約条件に違反していないジョブが削除され、保守などのジョブが追加されたジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。ここでも、最適化演算部4は、ジョブリスト41内の全ジョブが完了する時間が短くなるように、ジョブを加工機に割り当てる。最適化演算部4は、決定した、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを、修正後のジョブリスト41に追加する。そして、最適化演算部4は、制約条件に違反していないジョブをジョブ順序データ45に残し、制約条件に違反していたジョブをジョブ順序データ45から削除する。 When the optimization calculation unit 4 receives the corrected job list 41 from the constraint violation detection unit 7, the optimization calculation unit 4 determines the processing machine that executes each job and the job performance of each processing machine based on this job list 41. Determine the execution order. That is, the optimization calculation unit 4 selects the processing machine that executes each job and the processing machine in each processing machine based on the job list 41 in which jobs that do not violate the constraint conditions have been deleted and jobs such as maintenance have been added. Determine the job execution order. Here again, the optimization calculation unit 4 allocates jobs to processing machines so that the time required to complete all jobs in the job list 41 is shortened. The optimization calculation unit 4 adds the determined processing machines that execute each job and the execution order of the jobs in each processing machine to the modified job list 41. Then, the optimization calculation unit 4 leaves jobs that do not violate the constraint conditions in the job order data 45, and deletes jobs that violate the constraint conditions from the job order data 45.

スケジューリング装置1Cでは、最適化演算部4が実行する処理と、スケジューリング部5が実行する処理と、制約違反検出部7が実行する処理とが繰り返される。すなわち、最適化演算部4が、各加工機でのジョブの実行順序を決定する処理と、スケジューリング部5がジョブ実行スケジュール43を作成する処理と、制約違反検出部7がジョブ実行スケジュール43内で制約条件に違反しているジョブを検出する処理とが繰り返される。 In the scheduling device 1C, the process executed by the optimization calculation unit 4, the process executed by the scheduling unit 5, and the process executed by the constraint violation detection unit 7 are repeated. That is, the optimization calculation unit 4 determines the execution order of jobs in each processing machine, the scheduling unit 5 creates the job execution schedule 43, and the constraint violation detection unit 7 determines the job execution order in the job execution schedule 43. The process of detecting jobs that violate the constraint conditions is repeated.

図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 scheduling device 1C is similar to the processing of steps S10 and S60 executed by the scheduling device 1A. The input unit 2 reads the job list 41 and the constraint lists 42A and 42B from an external device or the like (step S10). The input unit 2 inputs the job list 41 to the optimization calculation unit 4, the scheduling unit 5, and the constraint violation detection unit 7. The input unit 2 also inputs the constraint list 42A, 42B to the constraint violation detection unit 7.

最適化演算部4は、ジョブリスト41に基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。すなわち、最適化演算部4は、ジョブの加工機と、実行順序とを作成する(ステップS30a)。 Based on the job list 41, the optimization calculation unit 4 determines the processing machine that executes each job and the order in which the jobs are executed by each processing machine. That is, the optimization calculation unit 4 creates a processing machine and an execution order for the job (step S30a).

スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、各ジョブの実行日時を設定し(ステップS50a)、ジョブ実行スケジュール43を作成する。 The scheduling unit 5 sets the execution date and time of each job based on the execution order of the jobs in each processing machine determined by the optimization calculation unit 4 and the estimated time of the job list 41 (step S50a), and sets the execution date and time of each job in the job execution schedule 43. Create.

制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内で制約条件に違反しているジョブがあるか否かを判定する(ステップS55)。 The constraint violation detection unit 7 determines whether or not there is a job that violates the constraint conditions in the job execution schedule 43, based on the job execution schedule 43 and the constraint condition lists 42A and 42B (step S55).

ジョブ実行スケジュール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 violation detection unit 7 deletes the job that does not violate the constraint condition from the job list 41, and deletes the job that does not violate the constraint condition. The violating job is left in the job list 41. Further, the constraint violation detection unit 7 adds a job for resolving the constraint condition to the job list 41. In this manner, the constraint violation detection unit 7 deletes jobs that do not violate the constraint conditions from the job list 41, and adds jobs for resolving the constraint conditions to the job list 41 (step S57). The job list 41 in which jobs that do not violate the constraint conditions are deleted and jobs for resolving the constraint conditions are added is a job list 41X, which will be described later.

制約違反検出部7は、制約条件に違反しているジョブが削除され、制約条件を解消するためのジョブが追加されたジョブリスト41Xを最適化演算部4に送る。スケジューリング装置1Cは、ステップS30aの処理に戻り、ステップS30a~S56の処理を繰り返す。 The constraint violation detection unit 7 sends to the optimization calculation unit 4 a job list 41X in which jobs violating the constraint conditions have been deleted and jobs for resolving the constraint conditions have been added. The scheduling device 1C returns to the process of step S30a and repeats the processes of steps S30a to S56.

ジョブ実行スケジュール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 output unit 6 outputs the job execution schedule 43 created by the scheduling unit 5 to an external device such as a display device ( Step S60). This allows the user to refer to the job execution schedule 43 in which job execution dates and times are set.

このように、スケジューリング装置1Cは、制約条件リスト42A,42Bを用いることなく、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定している。すなわち、スケジューリング装置1Cは、制約条件のあるジョブを含めた状態でジョブの実行順序を決定している。そして、スケジューリング装置1Cは、ジョブを実行できない制約条件に該当する場合には、このジョブを自動的にジョブ実行スケジュール43から除外し、ジョブに実行時間を割り当てない。これにより、スケジューリング装置1Cは、初めからジョブを除外せず、全てのジョブを実行する前提でスケジューリングを実行した後で、制約条件を満たさないジョブのみをジョブ実行スケジュール43から除外できるので、制約条件を満たさないジョブを除外するルールを簡素化できる。これにより、スケジューリング装置1Cは、スケジューリング装置1Aよりも少ない演算回数かつ短い演算時間で、制約条件を満たすジョブ実行スケジュール43を作成することが可能となる。 In this way, the scheduling device 1C determines the processing machines that execute each job and the order in which the jobs are executed by each processing machine, without using the constraint list 42A, 42B. That is, the scheduling device 1C determines the execution order of jobs including jobs with constraint conditions. If a constraint condition that prevents the job from being executed is met, the scheduling device 1C automatically excludes the job from the job execution schedule 43 and does not allocate execution time to the job. As a result, the scheduling device 1C can exclude only jobs that do not satisfy the constraint conditions from the job execution schedule 43 after executing scheduling on the premise that all jobs will be executed without excluding jobs from the beginning. The rules for excluding jobs that do not meet the criteria can be simplified. Thereby, the scheduling device 1C can create the job execution schedule 43 that satisfies the constraint conditions with fewer calculations and shorter calculation time than the scheduling device 1A.

図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 job list 41, the optimization calculation unit 4 allocates each job to a processing machine in order of priority. For example, the optimization calculation unit 4 sets job "J001" to processing machine "PM001", sets job "J002" to processing machine "PM003", and sets job "J003" to processing machine "PM003". Set to "PM001". Further, the optimization calculation unit 4 sets the job "J004" (not shown in FIGS. 20 and 21) to the processing machine "PM001", and sets the job "J005" to the processing machine "PM002". Then, job "J006" is set to processing machine "PM003". Note that the job "J002" may be set to the processing machine "PM001".

スケジューリング部5は、最適化演算部4が決定した各加工機でのジョブの実行順序およびジョブリスト41の見積時間に基づいて、ジョブ実行スケジュール43を作成する。 The scheduling unit 5 creates a job execution schedule 43 based on the job execution order in each processing machine determined by the optimization calculation unit 4 and the estimated time of the job list 41.

制約違反検出部7は、ジョブ実行スケジュール43および制約条件リスト42A,42Bに基づいて、ジョブ実行スケジュール43内で制約条件に違反しているジョブがあるか否かを判定する。 The constraint violation detection unit 7 determines whether or not there is a job that violates the constraint conditions in the job execution schedule 43, based on the job execution schedule 43 and the constraint condition lists 42A and 42B.

例えば、ジョブ実行スケジュール43が、図20に示したジョブ順序データ45に対応する場合、制約違反検出部7は、停止中の加工機「PM003」に設定されたジョブ「J002」,「J006」は、制約条件違反であると判定する。 For example, when the job execution schedule 43 corresponds to the job order data 45 shown in FIG. , it is determined that the constraint condition is violated.

また、制約違反検出部7は、「PM002」の保守H11が期限までに設定されることなく、「PM002」の保守H11の実行期限を過ぎた日時にまで設定されているジョブ「J005」は、制約条件違反であると判定する。 In addition, the constraint violation detection unit 7 detects that the job "J005" in which the maintenance H11 of "PM002" is not set by the deadline and the execution deadline of the maintenance H11 of "PM002" has been set is It is determined that the constraint condition is violated.

また、制約違反検出部7は、「PM001」の保守H11,H12が期限までに設定されることなく、「PM001」の保守H11,H12の実行期限を過ぎた日時にまで設定されているジョブ「J003」,「J004」は、制約条件違反であると判定する。 In addition, the constraint violation detection unit 7 detects that a job " J003" and "J004" are determined to violate the constraint condition.

図21では、制約違反検出部7が、制約違反をしているジョブを抽出した状態を示している。制約違反検出部7は、制約違反をしているジョブをジョブリスト41に残し、制約違反をしていないジョブ「J001」をジョブリスト41から削除する。 FIG. 21 shows a state in which the constraint violation detection unit 7 has extracted a job that violates the constraints. The constraint violation detection unit 7 leaves the job that violates the constraint in the job list 41 and deletes the job "J001" that does not violate the constraint from the job list 41.

図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 violation detection unit 7 of the scheduling device 1C leaves the jobs "J002" to "J006" that violate the constraints in the job list 41, and leaves the job "J001" that does not violate the constraints in the job list 41. Delete from 41. Thereby, the constraint violation detection unit 7 generates a job list 41X by modifying the job list 41.

また、制約違反検出部7は、制約条件を解消するためのジョブを、ジョブリスト41Xに追加する。図22では、制約条件を解消するためのジョブのジョブIDとして、「PM001_H11」、「PM001_H12」、「PM002_H11」、「PM003_OUT」とがジョブリスト41Xに追加された場合を示している。 Furthermore, the constraint violation detection unit 7 adds a job for resolving the constraint condition to the job list 41X. FIG. 22 shows a case where "PM001_H11", "PM001_H12", "PM002_H11", and "PM003_OUT" are added to the job list 41X as job IDs of jobs for resolving constraint conditions.

前述したように、「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 violation detection unit 7 sets the highest priority to the stopped processing machine. The constraint violation detection unit 7 here sets the first priority to "PM003_OUT". In addition, the constraint violation detection unit 7 sets a higher priority for jobs that have closer execution deadlines (delivery dates) among jobs for resolving constraint conditions. Furthermore, the constraint violation detection unit 7 lowers the priority of the original job set in the job list 41 in the job list 41X.

最適化演算部4は、ジョブリスト41Xに基づいて、各ジョブを実行する加工機と、各加工機でのジョブの実行順序とを決定する。図23は、実施の形態3にかかるスケジューリング装置が実行するスケジューリング処理の第3段階の処理を説明するための図である。 The optimization calculation unit 4 determines the processing machine that executes each job and the order in which the jobs are executed by each processing machine, based on the job list 41X. FIG. 23 is a diagram for explaining the third stage of the scheduling process executed by the scheduling device according to the third embodiment.

最適化演算部4は、ジョブリスト41Xに基づいて、各ジョブを、優先順位が高いジョブから順番に加工機に割り当てる。この場合において、最適化演算部4は、保守などの前に実行可能なジョブがあれば、保守よりも優先順位が低くても、保守よりも前にジョブを設定する。 The optimization calculation unit 4 allocates each job to a processing machine in order of priority based on the job list 41X. In this case, if there is a job that can be executed before maintenance, the optimization calculation unit 4 sets the job before maintenance, even if the job has a lower priority than maintenance.

ここでの最適化演算部4は、ジョブ順序データ45に基づいて、加工機「PM003」に、停止中であることを示す「PM003_OUT」を設定する。また、最適化演算部4は、加工機「PM002」の保守H11よりも前に実行可能なジョブ「J002」を、加工機「PM002」に設定し、その後、加工機「PM002」に保守H11を設定する。 The optimization calculation unit 4 here sets "PM003_OUT" indicating that the processing machine "PM003" is stopped, based on the job order data 45. In addition, the optimization calculation unit 4 sets job "J002" that can be executed before maintenance H11 of processing machine "PM002" to processing machine "PM002", and then performs maintenance H11 on processing machine "PM002". Set.

また、最適化演算部4は、加工機「PM001」の保守H11よりも前に実行可能なジョブ「J001」を加工機「PM001」に設定し、その後、加工機「PM001」に保守H11を設定する。また、実施の形態1と同様に、最適化演算部4は、加工機「PM001」に保守H12を設定し、その後、加工機「PM001」にジョブ「J003」を設定する。また、最適化演算部4は、加工機「PM002」にジョブ「J005」を設定する。 In addition, the optimization calculation unit 4 sets job "J001" that can be executed before maintenance H11 of processing machine "PM001" to processing machine "PM001", and then sets maintenance H11 to processing machine "PM001". do. Further, similarly to the first embodiment, the optimization calculation unit 4 sets maintenance H12 to the processing machine "PM001", and then sets job "J003" to the processing machine "PM001". Further, the optimization calculation unit 4 sets job "J005" to processing machine "PM002".

スケジューリング装置1Cでは、最適化演算部4が実行する処理と、スケジューリング部5が実行する処理と、制約違反検出部7が実行する処理とが繰り返される。スケジューリング部5が作成したジョブ実行スケジュール43に制約条件に違反するジョブが含まれていない場合、制約違反検出部7は、制約条件リスト42Bに基づいて、保守のジョブをジョブ実行スケジュール43に設定する。 In the scheduling device 1C, the process executed by the optimization calculation unit 4, the process executed by the scheduling unit 5, and the process executed by the constraint violation detection unit 7 are repeated. If the job execution schedule 43 created by the scheduling unit 5 does not include a job that violates the constraint conditions, the constraint violation detection unit 7 sets a maintenance job in the job execution schedule 43 based on the constraint list 42B. .

これにより、スケジューリング装置1Cは、スケジューリング装置1Aと同様のジョブ実行スケジュール43を作成することが可能となる。なお、制約違反検出部7は、保守などの制約条件を解消するジョブに制約違反がなく、このジョブのジョブ実行スケジュール43への設定が確定した後であれば、何れのタイミングでジョブ実行スケジュール43に保守のジョブを設定してもよい。 This allows the scheduling device 1C to create the same job execution schedule 43 as the scheduling device 1A. Note that the constraint violation detection unit 7 detects the job execution schedule 43 at any timing as long as there is no constraint violation in a job that eliminates a constraint condition such as maintenance, and the setting of this job to the job execution schedule 43 is confirmed. You can also set up maintenance jobs.

なお、スケジューリング装置1Cは、実施の形態2で説明したスケジューリングシステム10に適用されてもよい。この場合、スケジューリングシステム10は、スケジューリング装置1Cと、学習装置60と、学習済モデル記憶部65と、推論装置70とを有している。このスケジューリングシステム10でも、推論装置70は、スケジューリング部5に接続され、推論した誤差時間をスケジューリング部5に送る。 Note that the scheduling device 1C may be applied to the scheduling system 10 described in the second embodiment. In this case, the scheduling system 10 includes a scheduling device 1C, a learning device 60, a learned model storage section 65, and an inference device 70. In this scheduling system 10 as well, the inference device 70 is connected to the scheduling section 5 and sends the inferred error time to the scheduling section 5.

このように実施の形態3のスケジューリング装置1Cは、最適化演算部4と、制約違反検出部7とを備えている。そして、最適化演算部4が、制約条件を考慮せずにジョブ順序データ45を作成し、制約違反検出部7は、制約条件を満たさないジョブをジョブ実行スケジュール43およびジョブ順序データ45から削除し、かつ制約条件を満たすジョブをジョブリスト41から削除するとともに制約条件を解消するためのジョブをジョブリスト41に追加することで修正後のジョブリスト41を作成している。最適化演算部4は、修正後のジョブリスト41に基づいて最適化問題を解くことで、修正後のジョブリスト41内の全てのジョブが完了する時間が最短となるように、ジョブを実行させる加工機と、加工機でのジョブの実行順序とを決定して、ジョブ順序データ45に追加する。これにより、スケジューリング装置1Cは、制約条件を満たさないジョブを除外するルールを簡素化できる。したがって、スケジューリング装置1Cは、短時間で、制約条件を満たすジョブ実行スケジュール43を作成することが可能となる。 As described above, the scheduling device 1C of the third embodiment includes the optimization calculation section 4 and the constraint violation detection section 7. Then, the optimization calculation section 4 creates job order data 45 without considering the constraint conditions, and the constraint violation detection section 7 deletes jobs that do not satisfy the constraint conditions from the job execution schedule 43 and the job order data 45. A modified job list 41 is created by deleting jobs that meet the constraint conditions and adding jobs to the job list 41 to eliminate the constraint conditions. The optimization calculation unit 4 solves an optimization problem based on the corrected job list 41 to execute the jobs so that all the jobs in the corrected job list 41 are completed in the shortest time. The processing machine and the execution order of jobs on the processing machine are determined and added to the job order data 45. Thereby, the scheduling device 1C can simplify the rules for excluding jobs that do not satisfy the constraint conditions. Therefore, the scheduling device 1C can create a job execution schedule 43 that satisfies the constraint conditions in a short time.

ここで、スケジューリング装置1A~1Cのハードウェア構成について説明する。なお、スケジューリング装置1A~1Cは同様のハードウェア構成を有しているので、ここではスケジューリング装置1Aのハードウェア構成について説明する。 Here, the hardware configuration of the scheduling devices 1A to 1C will be explained. Note that since the scheduling devices 1A to 1C have similar hardware configurations, the hardware configuration of the scheduling device 1A will be described here.

図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. Scheduling device 1A can be realized by input device 300, processor 100, memory 200, and output device 400. An example of the processor 100 is a CPU (Central Processing Unit, also referred to as a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). Examples of the memory 200 are RAM (Random Access Memory) and ROM (Read Only Memory).

スケジューリング装置1Aは、プロセッサ100が、メモリ200で記憶されているスケジューリング装置1Aの動作を実行するための、コンピュータで実行可能な、スケジューリングプログラムを読み出して実行することにより実現される。スケジューリング装置1Aの動作を実行するためのプログラムであるスケジューリングプログラムは、スケジューリング装置1Aの手順または方法をコンピュータに実行させるものであるともいえる。 The scheduling device 1A is realized by the processor 100 reading and executing a computer-executable scheduling program stored in the memory 200 for executing the operations of the scheduling device 1A. The scheduling program, which is a program for executing the operations of the scheduling device 1A, can also be said to cause a computer to execute the procedure or method of the scheduling device 1A.

スケジューリング装置1Aで実行されるスケジューリングプログラムは、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5を含むモジュール構成となっており、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5が主記憶装置上にロードされ、ジョブ絞り込み部3、最適化演算部4、およびスケジューリング部5が主記憶装置上に生成される。 The scheduling program executed by the scheduling device 1A has a module configuration including a job narrowing section 3, an optimization computing section 4, and a scheduling section 5. is loaded onto the main storage, and the job narrowing section 3, optimization calculation section 4, and scheduling section 5 are generated on the main storage.

入力装置300は、ジョブリスト41、制約条件リスト42A,42Bを受け付けてプロセッサ100に送る。 The input device 300 receives the job list 41 and the constraint lists 42A and 42B and sends them to the processor 100.

メモリ200は、スケジューリングプログラムなどを記憶する。また、メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリに使用される。出力装置400は、ジョブ実行スケジュール43を出力する。 Memory 200 stores scheduling programs and the like. Furthermore, the memory 200 is used as a temporary memory when the processor 100 executes various processes. The output device 400 outputs a job execution schedule 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 scheduling device 1A via a network such as the Internet. Note that some of the functions of the scheduling device 1A may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware.

なお、ジョブ絞り込み部3のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、最適化演算部4のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、スケジューリング部5のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、学習装置60のハードウェア構成を、図24に示したハードウェア構成としてもよい。また、推論装置70のハードウェア構成を、図24に示したハードウェア構成としてもよい。 Note that the hardware configuration of the job narrowing section 3 may be the hardware configuration shown in FIG. 24. Further, the hardware configuration of the optimization calculation section 4 may be the hardware configuration shown in FIG. 24. Further, the hardware configuration of the scheduling section 5 may be the hardware configuration shown in FIG. 24. Further, the hardware configuration of the learning device 60 may be the hardware configuration shown in FIG. 24. Further, the hardware configuration of the inference device 70 may be the hardware configuration shown in FIG. 24.

以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 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 job narrowing unit includes a priority order for executing the job, a delivery date of a product manufactured by executing the job, a processing machine that can execute the job, a shipping destination of the product, and the job. using at least one of information as to whether the work to be executed is in progress and the date and time when the job was first registered in the job list as job narrowing conditions;
ことを特徴とする請求項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から8の何れか1つに記載のスケジューリング装置と、
前記ジョブの実行に要する見積時間の誤差である誤差時間を推論する推論装置と、
を有し、
前記推論装置は、
前記見積時間を取得する第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:
JP2023535895A 2023-02-16 2023-02-16 Scheduling device, scheduling system, scheduling method, and scheduling program Active JP7387070B1 (en)

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)

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

Patent Citations (9)

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