JP7082530B2 - Scheduling device, scheduling method and program - Google Patents
Scheduling device, scheduling method and program Download PDFInfo
- Publication number
- JP7082530B2 JP7082530B2 JP2018110140A JP2018110140A JP7082530B2 JP 7082530 B2 JP7082530 B2 JP 7082530B2 JP 2018110140 A JP2018110140 A JP 2018110140A JP 2018110140 A JP2018110140 A JP 2018110140A JP 7082530 B2 JP7082530 B2 JP 7082530B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- job
- allocation
- resource
- latest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 118
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 33
- 238000004088 simulation Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 238000010438 heat treatment Methods 0.000 description 6
- 238000003754 machining Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 3
- 238000004381 surface treatment Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Description
本発明は、スケジューリング装置、スケジューリング方法およびプログラムに関する。 The present invention relates to a scheduling device, a scheduling method and a program.
例えば、特許文献1には、複数の処理ユニットで並列的かつ個別のタイミングで作業がなされた複数の基板を所定の搬送先へ搬送する作業のスケジュールを含む、基板処理装置の作業スケジュールを作成するスケジューリング装置が開示されている。特許文献1に記載されている装置では、洗浄処理後の搬出時に、複数の基板を順次に搬出する順次搬出フローまたは複数の基板を一括して搬出する一括搬出フローが選択される。特許文献1に記載されている装置によれば、順次搬送フローよりも一括搬送フローの方が複数の基板の搬出が早く完了すると判断される場合に、一括搬送フローを採用することで基板処理装置のスループットの向上が図られる。
For example, in
また、特許文献2には、所定の回数または所定の計算時間が満了するまで複数の工程の何れかの着手可能時刻をずらして得られた複数のスケジュール情報のうち、最も工程完了時刻の早いスケジュール情報を最適スケジュール情報として決定するスケジューリング装置が開示されている。特許文献2に記載されている装置によれば、複数のスケジュール情報を比較して、最も早く製品が完成するスケジュールを作成することができる。
Further, in
熱処理や表面処理などのバッチ処理、および、ロボット等を用いて無人で複数の部品を自動で加工する工程においては、作業計画を立てる上で、以下の点を考慮しなければならない場合がある。すなわち、バッチ処理では、例えば、多数の部品を同時投入可能な炉などにおいて、一度の処理で複数の部品が同時に処理される。そのため、バッチ処理では、処理の着手時刻が全部品で同じであり、また、完了時刻も全部品で同じになる。一方、無人加工では、例えば、作業時間が異なる複数の部品が同時に加工されるが、加工中は作業者が加工設備周辺に立ち入ることができず、全部品の加工が完了するまで部品を設備から取り出すことができない場合がある。この場合、作業の着手時刻は全部品で同じであり、また、完了時刻も全部品で同じである。すなわち、バッチ処理や無人加工について作業計画を立てる場合、複数の作業について着手時刻と完了時刻の同期を考慮しなければならないことがある。 In batch processing such as heat treatment and surface treatment, and in the process of automatically processing a plurality of parts unmanned using a robot or the like, the following points may have to be taken into consideration when making a work plan. That is, in batch processing, for example, in a furnace capable of simultaneously charging a large number of parts, a plurality of parts are simultaneously processed in one process. Therefore, in batch processing, the start time of processing is the same for all parts, and the completion time is also the same for all parts. On the other hand, in unmanned machining, for example, multiple parts with different working times are machined at the same time, but the worker cannot enter the area around the machining equipment during machining, and the parts are machined from the equipment until the machining of all parts is completed. It may not be possible to remove it. In this case, the work start time is the same for all parts, and the completion time is also the same for all parts. That is, when making a work plan for batch processing or unmanned processing, it may be necessary to consider synchronization of the start time and the completion time for a plurality of operations.
しかしながら、従来のスケジューリング装置では、例えば、部品毎に各部品に対する作業を着手できるか否かが判断され、着手できる場合にはそのタイミングでその作業が着手されるようスケジュールが作成される。すなわち、このようなスケジューリング装置では、作業の着手時刻や完了時刻を同一としなければならない場合を考慮することができない。したがって、このようなスケジューリング装置は、バッチ処理や無人加工の工程には適用することができない。そのため、このようなスケジューリング装置を用いる場合、スケジューリング装置で作成されたスケジュールを手作業で修正するか、もしくは、このようなスケジューリング装置を使用せずに、表計算ソフト等のツールで、手動でスケジュールを作成せざるを得ない。 However, in the conventional scheduling device, for example, it is determined for each component whether or not the work for each component can be started, and if it can be started, a schedule is created so that the work is started at that timing. That is, in such a scheduling device, it is not possible to consider the case where the start time and the completion time of the work must be the same. Therefore, such a scheduling device cannot be applied to batch processing or unmanned processing processes. Therefore, when using such a scheduling device, either manually modify the schedule created by the scheduling device, or manually schedule using a tool such as spreadsheet software without using such a scheduling device. I have no choice but to create.
本発明は、上記の事情に鑑みてなされたものであり、複数の作業の同時着手を考慮してスケジュールを作成することができるスケジューリング装置、スケジューリング方法およびプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a scheduling device, a scheduling method, and a program capable of creating a schedule in consideration of simultaneous start of a plurality of operations.
上記課題を解決するため、本発明の一態様は、着手時刻の同期が必要である一群のリソースのうちの何れか一つである割付対象リソースに割付対象ジョブを割り付ける際に、当該一群のリソースに係る最新割付時刻に、前記一群のリソースのうちの他のリソースに割り付けられた他のジョブの着手時刻が既に記録されているか否かを判定する判定部と、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていないと判定された場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録する記録部と、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていると判定された場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付ける割付部と、を有するスケジューリング装置である。 In order to solve the above problem, one aspect of the present invention is a group of resources when allocating a job to be allocated to a resource to be allocated, which is one of a group of resources that need to be synchronized in start time. A determination unit that determines whether or not the start time of another job allocated to another resource in the group of resources has already been recorded at the latest allocation time related to the group, and the latest allocation related to the group of resources. If it is determined that the start time of the other job allocated to the other resource is not recorded at the time, the allocation target job is allocated to the allocation target resource and the allocation target is set as the latest allocation time. If it is determined that the start time of another job allocated to the other resource is recorded in the recording unit that records the start time of the job and the latest allocation time related to the group of resources, the allocation target A scheduling device having an allocation unit that determines whether or not the job start time matches the time recorded as the latest allocation time, and if it matches, allocates the allocation target job to the allocation target resource. be.
また、本発明の一態様は、上記スケジューリング装置であって、前記最新割付時刻として前記割付対象ジョブの着手時刻を記録する際に、前記割付対象ジョブの完了時刻である第1の完了時刻が算出され、算出された前記第1の完了時刻が、前記一群のリソースに係る最遅解放予定時刻より遅い場合に、前記記録部が、前記第1の完了時刻を最遅解放予定時刻として更新し、前記割付部が、前記一群のリソースに割り付けるべき前記割付対象ジョブの次のジョブの着手時刻を更新された前記最遅解放予定時刻に設定する。 Further, one aspect of the present invention is the scheduling device, in which the first completion time, which is the completion time of the allocation target job, is calculated when the start time of the allocation target job is recorded as the latest allocation time. When the calculated first completion time is later than the latest scheduled release time of the group of resources, the recording unit updates the first completion time as the latest scheduled release time. The allocation unit sets the start time of the next job of the allocation target job to be allocated to the group of resources to the updated latest scheduled release time.
また、本発明の一態様は、上記スケジューリング装置であって、前記判定部が、作業シフト内のジョブ着手である場合に前記判定を行う。 Further, one aspect of the present invention is the scheduling device, in which the determination unit makes the determination when the job is started within the work shift.
また、本発明の一態様は、上記スケジューリング装置であって、前記判定部が、前に行うべきジョブがすべて完了している場合に前記判定を行う。 Further, one aspect of the present invention is the scheduling device, in which the determination unit makes the determination when all the jobs to be performed before have been completed.
また、本発明の一態様は、上記スケジューリング装置であって、前記判定部が、所定の作業時間制約が満たされる場合に前記判定を行う。 Further, one aspect of the present invention is the scheduling device, in which the determination unit makes the determination when a predetermined working time constraint is satisfied.
また、本発明の一態様は、上記スケジューリング装置であって、前記作業時間制約が、(1)前のジョブ着手から後のジョブ着手までの差が、一定時間以内、一定時間以上または一定時間以下であること、(2)前のジョブの着手から後のジョブの完了予定までの差が、一定時間以内、一定時間以上または一定時間以下であること、(3)前のジョブの完了から後のジョブ着手までの差が、一定時間以内、一定時間以上または一定時間以下であること、(4)前のジョブの完了から後のジョブの完了予定までの差が、一定時間以内、一定時間以上または一定時間以下であること、のいずれかである。 Further, one aspect of the present invention is the scheduling device, wherein the work time constraint is (1) the difference between the start of the previous job and the start of the subsequent job is within a certain time, a certain time or more, or a certain time or less. (2) The difference from the start of the previous job to the scheduled completion of the later job is within a certain period of time, more than a certain time or less than a certain time, and (3) after the completion of the previous job. The difference until the start of the job is within a certain time, more than a certain time, or less than a certain time, and (4) the difference from the completion of the previous job to the scheduled completion of the later job is within a certain time, more than a certain time, or It is either less than a certain period of time.
また、本発明の一態様は、着手時刻の同期が必要である一群のリソースのうちの何れか一つである割付対象リソースに割付対象ジョブを割り付ける際に、当該一群のリソースに係る最新割付時刻に、前記一群のリソースのうちの他のリソースに割り付けられた他のジョブの着手時刻が既に記録されているか否かを判定するステップと、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていない場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録するステップと、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されている場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付けるステップと、を有するスケジューリング方法である。 Further, one aspect of the present invention is the latest allocation time related to the group of resources when the allocation target job is allocated to the allocation target resource which is any one of the group resources that need to synchronize the start time. In addition to the step of determining whether or not the start time of another job allocated to another resource in the group of resources has already been recorded, and the latest allocation time of the group of resources. When the start time of another job allocated to the resource is not recorded, the step of allocating the allocation target job to the allocation target resource and recording the start time of the allocation target job as the latest allocation time, and When the start time of another job allocated to the other resource is recorded in the latest allocation time related to the group of resources, the time when the start time of the job to be allocated is recorded as the latest allocation time. It is a scheduling method including a step of determining whether or not a match is made, and if the match is found, a step of allocating the allocation target job to the allocation target resource.
また、本発明の一態様は、着手時刻の同期が必要である一群のリソースのうちの何れか一つである割付対象リソースに割付対象ジョブを割り付ける際に、当該一群のリソースに係る最新割付時刻に、前記一群のリソースのうちの他のリソースに割り付けられた他のジョブの着手時刻が既に記録されているか否かを判定するステップと、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていない場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録するステップと、当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されている場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付けるステップと、をコンピュータに実行させるプログラムである。 Further, one aspect of the present invention is the latest allocation time related to the group of resources when the allocation target job is allocated to the allocation target resource which is any one of the group resources that need to synchronize the start time. In addition to the step of determining whether or not the start time of another job allocated to another resource in the group of resources has already been recorded, and the latest allocation time of the group of resources. When the start time of another job allocated to the resource is not recorded, the step of allocating the allocation target job to the allocation target resource and recording the start time of the allocation target job as the latest allocation time, and When the start time of another job allocated to the other resource is recorded in the latest allocation time related to the group of resources, the time when the start time of the job to be allocated is recorded as the latest allocation time. This is a program that causes a computer to execute a step of allocating the job to be allocated to the resource to be allocated, and a step of allocating the job to be allocated to the resource to be allocated.
本発明の各態様によれば、同時着手を考慮してスケジュールを作成することができる。 According to each aspect of the present invention, the schedule can be created in consideration of simultaneous starts.
<実施形態>
以下、図1~図12を参照して本発明の実施形態について説明する。
<Embodiment>
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 12.
図1は、本発明の一実施形態に係るスケジューリング装置1の構成例を示すブロック図である。図1に示すスケジューリング装置1は、例えば、サーバー、パーソナルコンピュータ等のコンピュータを用いて構成されていて、ハードウェアとソフトウェアとの組み合わせによって構成されたスケジューリング部2とデータベース3を備えている。スケジューリング部2は、判定部21と記録部22と割付部23を備える。データベース3は、ジョブテーブル31とリソースマスタ32と制約条件テーブル33とスケジュールデータ34を含む。
FIG. 1 is a block diagram showing a configuration example of a
なお、本実施形態では次の各語を以下の意味で用いる。「ジョブ」(job)は「作業」の意味と「工程」の意味を含む。「作業」は「仕事」を意味する。「工程」は「作業の区切り(段階)」を意味する。「リソース」は「ジョブ」に供される「資源」であり、例えば、設備、治工具、場所、作業者等に対応する。 In this embodiment, the following words are used with the following meanings. "Job" (job) includes the meaning of "work" and the meaning of "process". "Work" means "work". "Process" means "work division (stage)". A "resource" is a "resource" provided to a "job" and corresponds to, for example, equipment, jigs and tools, a place, a worker, and the like.
図1に示すスケジューリング部2は、データベース3に格納されているジョブテーブル31とリソースマスタ32と制約条件テーブル33とを参照し、所定の作業計画を作成し、スケジュールデータ34としてデータベース3に格納する。スケジュールデータ34は、作成した作業計画を示す情報であり、オーダ(発注)毎に、各オーダに対応する複数の工程について、各工程の着手時刻と完了時刻を定義する情報を少なくとも含む。ここで、図2~図5を参照して、図1に示すジョブテーブル31とリソースマスタ32と制約条件テーブル33の構成例について説明する。図2は、図1に示すジョブテーブル31の構成例の一部(レコード311)を示す図である。図1に示すジョブテーブル31は、複数のレコード311を含んで構成されている。
The
図2に示すレコード311は、1つのジョブを定義する複数項目(複数フィールド)のデータから構成され、「ジョブID」、「ジョブ内容」、「次ジョブID」、「割付リソース」、「作業時間」等の各項目のデータを含む。「ジョブID」は、ジョブのID(識別符号)を示す。「ジョブ内容」は、作業の内容を示し、部品等の作業対象とその作業対象に対する組立、加工等の作業内容を示すデータ、試運転、出荷等の作業の種別を示すデータ等で構成される。「次ジョブID」は、当該ジョブの次のジョブのIDを表す。「割付リソース」は、当該ジョブに割り付けるリソースID(リソースのID)と数量を表す。「作業時間」は、当該ジョブの作業の時間を表す。
The
図3は、図1に示すリソースマスタ32の構成例の一部(レコード321)を示す図である。図1に示すリソースマスタ32は、複数のレコード321を含んで構成される。図3に示すレコード321は、1つのリソースを定義する複数項目(複数フィールド)のデータから構成され、「リソースID」、「リソース種別」、「リソース名称」、「数量」、「稼働カレンダ」、「同期要否フラグ」、「最新割付時刻」、「最遅解放予定時刻」等の複数項目(複数フィールド)のデータを含む。「リソースID」は、リソースのIDを示し、例えば「A00001」というデータを含む。「リソース種別」は、リソースの種別(設備、治工具、場所、作業者)等を示し、例えば「設備」というデータを含む。「リソース名称」は、リソースの名称を示し、例えば「熱処理炉」というデータを含む。「数量」は、リソースの数量(容量)を示し、例えば「10」(熱処理炉に同時投入可能な部品数)というデータを含む。「稼働カレンダ」は、稼働時間帯を表すカレンダの情報を示し、例えば「2018/03/01 08:00:00~17:00:00」(年/月/日 時:分:秒~時:分:秒)というデータを含む。「同期要否フラグ」は、着手時刻と完了時刻を同期する必要があるか否かを示すフラグであり、例えば「1」というデータを含む。「最新割付時刻」は、当該リソースを使用する工程のうち、最初に作業が着手された時刻を示し、例えば「2018/03/01 10:00:00」というデータを含む。「最新割付時刻」は、当該リソースの着手時刻を同期するために記録および使用される。「最遅解放予定時刻」は、当該リソースを使用する工程のうち、最後に作業が完了する予定の時刻を示し、例えば「2018/03/01 15:00:00」というデータを含む。「最遅解放予定時刻」は、当該リソースの完了時刻を同期するために記録および使用される。なお、「最新割付時刻」の初期値は空(NULL)であり、「最遅解放予定時刻」の初期値は「0」(最も早い時刻)である。
FIG. 3 is a diagram showing a part (record 321) of the configuration example of the
図4および図5は、図1に示す制約条件テーブル33を構成するデータの例を2つの図に分けて示す図である。図4および図5は、「1」から「10」までの番号と制約条件とその制約条件の判断手法、判断で用いるデータ等を対応づけて示す。制約条件は作業計画を作成する際に判断が必要となる条件である。例えば、制約条件が満たされる場合にジョブに対してリソースの割り付けが許され、制約条件が満たされない場合にはジョブに対してリソースの割り付けを行うことができない。制約条件は、例えばジョブ毎あるいはリソース毎に任意に追加または削除することができる。図1に示す制約条件テーブル33は、作業計画を作成する際の1または複数の制約条件の内容を表すデータと、各制約条件を判断する際に使用されるデータを含んで構成されている。 4 and 5 are views showing an example of data constituting the constraint condition table 33 shown in FIG. 1 divided into two figures. 4 and 5 show the numbers from “1” to “10”, the constraint condition, the method for determining the constraint condition, the data used for the determination, and the like in association with each other. Constraints are conditions that require judgment when creating a work plan. For example, resources can be allocated to a job when the constraint condition is satisfied, and resources cannot be allocated to the job when the constraint condition is not satisfied. Constraints can be arbitrarily added or deleted for each job or resource, for example. The constraint condition table 33 shown in FIG. 1 is configured to include data representing the contents of one or a plurality of constraint conditions when creating a work plan, and data used when determining each constraint condition.
番号1の制約条件の内容は、「作業シフト内の着手」である。「作業シフト内の着手」とは、作業を着手しようとする時刻が、作業シフト時間内に入っているか否かをチェックすることで判断される。ここで、「作業シフト」とは、一定の時間帯毎に交代制で作業を行う場合に作業を実際に行う時間帯である。「作業シフト内の着手」とは、例えば休憩時間や引き継ぎ時間等の作業シフト外ではなく、作業シフト内で作業に着手(=開始)することである。制約条件テーブル33は、番号1の制約条件に対応するため、例えば、その制約条件を表すデータ、リソース毎に作業シフトを表すデータを含む。制約条件を表すデータは、例えば、予め用意した判断式による判断を行うか否かを示すフラグ、判断式そのもの等から構成される。 The content of the constraint condition of No. 1 is "start within the work shift". The "start within the work shift" is determined by checking whether or not the time when the work is to be started is within the work shift time. Here, the "work shift" is a time zone in which the work is actually performed when the work is performed in a shift system at regular time zones. “Starting within a work shift” means starting (= starting) work within a work shift, not outside the work shift such as a break time or a takeover time. In order to correspond to the constraint condition of No. 1, the constraint condition table 33 includes, for example, data representing the constraint condition and data representing a work shift for each resource. The data representing the constraint condition is composed of, for example, a flag indicating whether or not to make a judgment by a judgment formula prepared in advance, a judgment formula itself, and the like.
番号2の制約条件の内容は、「着手シフトに従った着手タイミング」である。「着手シフトに従った着手タイミング」とは、着手する時刻が、着手シフト内に入っているか否かをチェックすることで判断される。ここで、「着手シフト」とは、作業を着手することができる時間帯である。制約条件テーブル33は、番号2の制約条件に対応するため、例えば、その制約条件を表すデータ、リソース毎の着手シフトを表すデータを含む。 The content of the constraint condition of No. 2 is "start timing according to the start shift". The "start timing according to the start shift" is determined by checking whether or not the start time is within the start shift. Here, the "start shift" is a time zone in which work can be started. In order to correspond to the constraint condition of No. 2, the constraint condition table 33 includes, for example, data representing the constraint condition and data representing the start shift for each resource.
番号3の制約条件の内容は、「作業シフト時間内に作業が完了するように着手している」である。完了時刻を計算し、それが、当該リソースに紐づいている作業シフトの時間内であるかをチェックすることで判断される。制約条件テーブル33は、番号3の制約条件に対応するため、例えば、その制約条件を表すデータ、リソース毎に作業シフトを表すデータを含む。 The content of the constraint condition of No. 3 is "starting to complete the work within the work shift time". It is determined by calculating the completion time and checking if it is within the time of the work shift associated with the resource. In order to correspond to the constraint condition of No. 3, the constraint condition table 33 includes, for example, data representing the constraint condition and data representing a work shift for each resource.
番号4の制約条件の内容は、「1日の投入量上限内」である。先頭工程に着手したオーダ数を記録する配列(1データ/1日)を持たせ、先頭工程に着手するたびに記録し、上限に達した時点で、先頭工程の着手をやめる。制約条件テーブル33は、番号4の制約条件に対応するため、例えば、その制約条件を表すデータ、リソース毎に、投入量を記録するための格納領域と、1日の上限値を表すデータを含む。 The content of the constraint condition of No. 4 is "within the upper limit of the daily input amount". Have an array (1 data / day) to record the number of orders started in the head process, record each time the head process is started, and stop starting the head process when the upper limit is reached. In order to correspond to the constraint condition of No. 4, the constraint condition table 33 includes, for example, data representing the constraint condition, a storage area for recording the input amount for each resource, and data representing the daily upper limit value. ..
番号5の制約条件の内容は、「残業時間が上限時間内」である。作業者毎に、月単位残業時間のデータを記録する変数を持たせ、作業計画上の残業時間を記録する。残業時間上限に達するまで、定時後/休日に作業可とする計算を行う。制約条件テーブル33は、番号5の制約条件に対応するため、例えば、その制約条件を表すデータ、作業者毎に、月単位で残業時間を記録するための格納領域と、残業時間の上限値を表すデータを含む。 The content of the constraint condition of No. 5 is "overtime hours are within the upper limit hours". Each worker has a variable to record monthly overtime hours data, and overtime hours on the work plan are recorded. Calculates that work is possible after regular hours / on holidays until the upper limit of overtime hours is reached. In order to correspond to the constraint condition of No. 5, the constraint condition table 33 has, for example, data representing the constraint condition, a storage area for recording overtime hours on a monthly basis for each worker, and an upper limit value of overtime hours. Contains data to represent.
番号6の制約条件の内容は、「担当する作業者に、当該工程を行う力量がある」である。工程毎に、その工程を行うのに必要な力量を定義するとともに、作業者と力量とを紐づける2次元配列を用意する。担当する作業者が、必要な力量を持っているかをチェックすることで判断される。制約条件テーブル33は、番号6の制約条件に対応するため、例えば、その制約条件を表すデータ、作業者毎に各工程を行う際の力量を記録するための格納領域と、各工程を行うのに必要な力量を表すデータを含む。 The content of the constraint condition of No. 6 is "the worker in charge has the ability to perform the process". For each process, the competence required to perform the process is defined, and a two-dimensional array that links the worker and the competence is prepared. It is judged by checking whether the worker in charge has the necessary competence. In order to correspond to the constraint condition of No. 6, the constraint condition table 33 has, for example, a data representing the constraint condition, a storage area for recording the ability of each worker to perform each process, and each process. Contains data representing the competence required for.
番号7の制約条件の内容は、「当該工程に必要な子部品がそろっている」である。工程ごとに、その工程を行うのに必要な部品と必要量の一覧を定義するとともに、部品の在庫量と、将来の納入予定のデータを用意する。着手したいタイミングで、当該工程に必要な部品の在庫が必要量以上かをチェックすることで判断される。また、着手にともない、納入予定のデータに基づき、在庫数の増減管理を行う。制約条件テーブル33は、番号7の制約条件に対応するため、例えば、その制約条件を表すデータ、工程毎に必要な部品と必要量の一覧を定義するデータ、部品の在庫量を格納する格納領域、将来の納入予定のデータ等を含む。 The content of the constraint condition of No. 7 is "all the child parts necessary for the process". For each process, define a list of parts and required quantity required to perform the process, and prepare the inventory quantity of parts and data of future delivery schedule. It is judged by checking whether the inventory of parts required for the process is more than the required amount at the timing of starting. In addition, with the start, we will manage the increase / decrease in the number of inventories based on the data scheduled to be delivered. In order to correspond to the constraint condition of No. 7, the constraint condition table 33 corresponds to, for example, a storage area for storing data representing the constraint condition, data defining a list of necessary parts and required quantities for each process, and inventory quantity of parts. , Includes data to be delivered in the future.
番号8の制約条件の内容は、「クレーンを使用する工程の場合、干渉は起きない」である。クレーン毎に、守備範囲と現在位置のデータを持たせるとともに、クレーン使用工程に、移動元と移動先のデータを持たせる。着手するタイミングで、近くのクレーンを移動元に呼ぶことができるか、移動元から移動先に動かすことができるかをチェックすることで判断される。制約条件テーブル33は、番号8の制約条件に対応するため、例えば、その制約条件を表すデータ、工程毎にクレーンを使用するか否かを示すデータ、クレーン毎の守備範囲と現在位置のデータを格納する格納領域、クレーン使用工程毎に移動元と移動先のデータを格納する格納領域等を含む。 The content of the constraint condition of No. 8 is "no interference occurs in the process using a crane". For each crane, the data of the defensive range and the current position are given, and the data of the moving source and the moving destination are given to the crane usage process. It is judged by checking whether a nearby crane can be called to the moving source or can be moved from the moving source to the moving destination at the timing of starting. In order to correspond to the constraint condition of No. 8, the constraint condition table 33 contains, for example, data representing the constraint condition, data indicating whether or not to use a crane for each process, and data on the defensive range and the current position for each crane. It includes a storage area for storing, a storage area for storing data of the moving source and the moving destination for each crane usage process, and the like.
番号9の制約条件の内容は、「前工程はすべて完了している」である。工程間の前後関係を示すデータを持たせとともに、スケジューリング計算中に、各工程のスケジュール計算が完了しているか否かのフラグを持たせる。着手のタイミングで、前工程がすべて完了していることをチェックすることで判断される。制約条件テーブル33は、番号9の制約条件に対応するため、例えば、その制約条件を表すデータ、工程間の前後関係を示すデータ、各工程のスケジュール計算が完了しているか否かを示すフラグの格納領域等を含む。 The content of the constraint condition of No. 9 is "all the previous processes have been completed". In addition to having data showing the context between processes, it also has a flag as to whether or not the schedule calculation of each process is completed during the scheduling calculation. It is judged by checking that all the previous processes are completed at the timing of the start. In order to correspond to the constraint condition of No. 9, the constraint condition table 33 includes, for example, data representing the constraint condition, data indicating the context between processes, and a flag indicating whether or not the schedule calculation of each process is completed. Includes storage area, etc.
番号10の制約条件の内容は、「作業時間制約(前工程着手/完了から、一定時間以内/以上/以下に着手)は満たしている」である。定義に応じて、以下をチェックすることで判断される。すなわち、(1)前工程着手時刻と後工程着手時刻の差が、一定時間以内/以上/以下か否か、(2)前工程着手時刻と後工程完了予定時刻の差が、一定時間以内/以上/以下か否か、(3)前工程完了時刻と後工程着手時刻の差が、一定時間以内/以上/以下か否か、(4)前工程完了時刻と後工程完了予定時刻の差が、一定時間以内/以上/以下か否かが判断される。制約条件テーブル33は、番号10の制約条件に対応するため、例えば、その制約条件を表すデータ等を含む。
The content of the constraint condition of No. 10 is "the work time constraint (start within a certain time / or more / or less from the start / completion of the previous process) is satisfied". Depending on the definition, it is judged by checking the following. That is, (1) whether or not the difference between the pre-process start time and the post-process start time is within a certain time / or more / or less, and (2) the difference between the pre-process start time and the post-process completion scheduled time is within a certain time / Whether or not it is above / below, (3) whether the difference between the pre-process completion time and the post-process start time is within a certain time / or above / or below, (4) the difference between the pre-process completion time and the post-process scheduled completion time , It is judged whether or not it is within a certain period of time / or more / or less. The constraint condition table 33 includes, for example, data representing the constraint condition in order to correspond to the constraint condition of the
次に、図6~図11を参照して、図1に示すスケジューリング装置1の動作例について説明する。図6は、図1に示すスケジューリング装置1の動作例を示すフローチャートである。図7は、図6に示すステップS11およびステップS12でスケジューリング部2がスケジュールを作成する処理を示すフローチャートである。図8は、図7に示すステップS26でスケジューリング部2が着手イベントを処理する際の処理の流れを示すフローチャートである。図9は、図7に示すステップS25でスケジューリング部2が完了イベントを処理する際の処理の流れを示すフローチャートである。図10および図11は、図1に示すスケジューリング装置1の動作例を説明するためのガンチャートである。
Next, an operation example of the
図1に示すスケジューリング装置1は、図6に示すようにしてスケジュール(作業計画)の探索処理を行う。まず、スケジューリング装置1は、スケジューリング部2によって、初期条件でスケジュールを作成する(ステップS11)。ステップS11において、スケジューリング部2は、図7に示すようにして、スケジュールを作成する。
The
図7に示す処理では、スケジューリング部2が、まず、シミュレーション時刻をシミュレーション着手時刻に進める(ステップS21)。本実施形態において、スケジューリング部2は、スケジューリング対象である各オーダにおける各部品の各工程の着手および完了をイベント(事象)として捉え、各着手イベントおよび各完了イベントが所定の制約に基づき時間軸に沿って実行される様子を、シミュレーション時刻を進めながらシミュレーションする。イベントには、着手イベントと完了イベントがあり、各工程は、着手イベントと完了イベントで定義される。なお、本実施形態では、着手イベントに対して着手時刻を仮に設定することを、着手イベントを生成することといい、仮に設定した着手時刻をずらすこと(遅らせること)を、着手イベントを再生成することという。
In the process shown in FIG. 7, the
次に、スケジューリング部2は、全イベントが完了したか否かを判断する(ステップS22)。全イベントに対する処理が完了した場合(ステップS22で「Yes」の場合)、スケジューリング部2は図7に示す処理を終了する。
Next, the
一方、全イベントに対する処理が完了していない場合(ステップS22で「No」の場合)、スケジューリング部2は、シミュレーション時刻を、最も近い、着手イベント、もしくは、完了イベントの時刻に合わせる(ステップS23)。次に、スケジューリング部2は、現在のシミュレーション時刻に完了時刻が設定された完了イベントが存在するか否かを判断する(ステップS24)。
On the other hand, when the processing for all the events is not completed (when "No" in step S22), the
完了イベントが存在する場合(ステップS24で「Yes」の場合)スケジューリング部2は、完了イベントを一つ選択し、処理を行う(ステップS25)。一方、完了イベントが存在しない場合(ステップS24で「No」の場合)、スケジューリング部2は、着手イベントを一つ選択し、処理を行う(ステップS26)。ステップS24~ステップS6の処理では、当該シミュレーション時刻に完了イベントが存在している場合、まず、すべての完了イベントに対する処理が実行され、完了イベントが存在しなくなった後に着手イベントに対する処理が実行される。
When the completion event exists (when "Yes" in step S24), the
ステップS26において、スケジューリング部2は、図8に示す処理を行う。図8に示す処理では、スケジューリング部2が、まず、当該工程(図7のステップS26で選択された着手イベントを含む工程)に必要なリソースがあいているか否かを判断する(ステップS31)。
In step S26, the
必要なリソースがあいている場合(ステップS31で「Yes」の場合)、スケジューリング部2は、その他制約条件が満たされているか否かを判断する(ステップS32)。その他制約条件とは、図1に示す制約条件テーブル33で定義された図4および図5を参照して説明した制約条件である。
When the necessary resources are available (“Yes” in step S31), the
その他制約条件が満たされている場合(ステップS32で「Yes」の場合)、スケジューリング部2は、当該工程に必要なリソースが、着手または完了の同期が必要か否かを判断する(ステップS33)。ステップS33においてスケジューリング部2は、着手または完了の同期が必要か否かについて、リソースマスタ32の「同期要否フラグ」の値で確認することができる。
When other constraint conditions are satisfied (“Yes” in step S32), the
着手または完了の同期が必要な場合(ステップS33で「Yes」の場合)、スケジューリング部2は、着手しようとしている時刻(シミュレーション時刻)が、当該工程で使用するリソースの最新割付時刻に一致するか、または、最新割付時刻が空(未設定)であるか、否かを判断する(ステップS34)。ここで、ステップS34においてスケジューリング部2は、リソースマスタ32(レコード321)の「最新割付時刻」を参照する。
When synchronization of start or completion is required (in the case of "Yes" in step S33), the
着手しようとしている時刻が当該工程で使用するリソースの最新割付時刻に一致するか、または、最新割付時刻が空の場合(ステップS34で「Yes」の場合)、スケジューリング部2は、当該工程を着手可能と判断し、必要なリソースを占有する(ステップS35)。すなわち、ステップS35でスケジューリング部2は、当該リソースの最新割付時刻に当該工程の着手時刻を記録する。また、ステップS35でスケジューリング部2は、当該工程の完了時刻を計算し、最遅解放予定時刻に記録(更新)する。ステップS35でスケジューリング部2は、リソースマスタ32(レコード321)の「最新割付時刻」に着手時刻(シミュレーション時刻)を記録し、着手時刻にジョブテーブル31に記憶されている「作業時間」を加えることで完了時刻を計算し、リソースマスタ32(レコード321)の「最遅解放予定時刻」に、値が設定されていない場合には計算した完了時刻を記録し、値が設定されている場合には計算した完了時刻が設定値より遅いとき、計算した完了時刻で更新する。ここで、スケジューリング部2は、図8に示す処理を終了する。
When the time to be started matches the latest allocation time of the resource used in the process, or the latest allocation time is empty (when "Yes" in step S34), the
一方、必要なリソースがあいていない場合(ステップS31で「No」の場合)、その他制約条件が満たされていない場合(ステップS32で「No」の場合)、または、着手しようとしている時刻が当該工程で使用するリソースの最新割付時刻に一致せず、かつ、最新割付時刻が空でない場合(ステップS34で「No」の場合)、スケジューリング部2は、その作業(工程)は着手せず、シミュレーション時刻を先延ばしにして、着手イベントを再生成する(ステップS36)。すなわち、ステップS36において、スケジューリング部2は、選択した着手イベントの時刻を後にずらした後、図8に示す処理を終了する。
On the other hand, if the required resources are not available ("No" in step S31), other constraint conditions are not satisfied ("No" in step S32), or the time when the vehicle is about to start is the relevant time. If the latest allocation time of the resource used in the process does not match and the latest allocation time is not empty (when "No" in step S34), the
また、着手および完了の同期が必要でない場合(ステップS33で「No」の場合)、スケジューリング部2は、当該工程を着手可能と判断し、必要なリソースを占有する(ステップS37)。すなわち、ステップS37でスケジューリング部2は、当該工程の着手時刻を記録するとともに、必要なリソースの割り当てを記録した後、図8に示す処理を終了する。
Further, when synchronization of start and completion is not necessary (in the case of "No" in step S33), the
一方、図7のステップS25において、スケジューリング部2は、図9に示す処理を行う。図9に示す処理では、スケジューリング部2が、まず、当該工程(図7のステップS25で選択された完了イベントを含む工程)の作業完了時刻を記録する(ステップS41)。次に、スケジューリング部2は、当該工程に割り付けられていたリソースの「最新割付時刻」をリセット(空に)する(ステップS42)。次に、スケジューリング部2は、次工程が存在するか否かを判断する(ステップS43)。次工程が存在する場合(ステップS43で「Yes」の場合)、スケジューリング部2は、現在のシミュレーション時刻で、次工程の着手イベントを生成する(ステップS44)。
On the other hand, in step S25 of FIG. 7, the
次に、シミュレーション部2は、現在のシミュレーション時刻が、ステップS44で生成された着手イベントを含む次工程で割り当てが必要なリソースの「最遅解放予定時刻」と一致するか否かを判断する(ステップS45)。一方、現在のシミュレーション時刻が「最遅解放予定時刻」と一致する場合あるいは「最遅解放予定時刻」が「0」の場合(ステップS45で「Yes」の場合)、シミュレーション部2は、次工程の着手イベントの着手時刻を現在のシミュレーション時刻に設定し(ステップS46)、図10に示す処理を終了する。他方、現在のシミュレーション時刻が「最遅解放予定時刻」と一致せず、かつ、「最遅解放予定時刻」が「0」でない場合(ステップS45で「No」の場合)、シミュレーション部2は、次工程の着手イベントの着手時刻を「最遅解放予定時刻」に設定し(ステップS47)、図10に示す処理を終了する。
Next, the
図6に示すステップS11では、スケジューリング部2は、図7、図8および図9を参照して説明した処理によってスケジュールを作成し、最適解として記録する。次に、スケジューリング部2は、ジョブの着手順を変更して、ステップS11と同様にしてスケジュールを作成し、改善されれば(従来よりも短時間で完了するスケジュールが作成されれば)、当該スケジュールで最適解を置き換える(ステップS12)。次に、スケジューリング部2は、改善解が見つかったか否かを判断する(ステップS13)。改善解が見つかった場合(ステップS13で「Yes」の場合)、スケジューリング部2は、ステップS12の処理を再度実行する。一方、改善解が見つからなかった場合(ステップS13で「No」の場合)、スケジューリング部2は、計算を終了する(ステップS14)。
In step S11 shown in FIG. 6, the
次に、図10および図11を参照して、本実施形態が奏する効果について説明する。図10(a)は、バッチ処理において、作業の着手と完了の同期を考慮せず、9つのジョブJob1~Job9をスケジューリングした例を示し、図10(b)は本実施形態によるスケジューリングの例を示す。横軸は時間軸であり、図10に示す例では、各リソースMachine A1~A3は、例えば3つのジョブを並行して処理することができる同一の設備(例えば熱処理炉)である。この場合、リソースMachine A1~A3を用いて行われるジョブについては、着手時刻と完了時刻が同期していなければならない。しかし、同期を考慮していない図10(a)に示す例では、ジョブJob1~Job3の着手時刻が同一でないにもかかわらず、最初に着手したジョブJob1が完了する前にジョブJob2~Job3が着手されてしまっている。そのため、図10(a)に示すスケジュールは、実行することができない。一方、本実施形態において同期を考慮して作成した図10(b)に示すスケジュールでは、ジョブJob1の着手時刻が「最新割付時刻」に設定されるので、着手時刻が「最新割付時刻」より遅いジョブJob2~Job3が、ジョブJob1が完了する前に着手されることはない。また、ジョブJob1が完了した後は、ジョブJob1に関する「最新割付時刻」の設定に伴って設定された「最遅解放予定時刻」で、ジョブJob4~Job6が同時に着手され、また、ジョブJob4~Job6のうち最長の作業時間経過後にジョブJob4~Job6が同時に完了している。 Next, the effects of the present embodiment will be described with reference to FIGS. 10 and 11. FIG. 10A shows an example in which nine jobs Job1 to Job9 are scheduled without considering synchronization of work start and completion in batch processing, and FIG. 10B shows an example of scheduling according to the present embodiment. show. The horizontal axis is the time axis, and in the example shown in FIG. 10, each resource Machine A1 to A3 is, for example, the same equipment (for example, a heat treatment furnace) capable of processing three jobs in parallel. In this case, for jobs performed using the resources Machines A1 to A3, the start time and the completion time must be synchronized. However, in the example shown in FIG. 10A in which synchronization is not considered, jobs Job2 to Job3 are started before the first job Job1 is completed even though the start times of jobs Job1 to Job3 are not the same. It has been done. Therefore, the schedule shown in FIG. 10A cannot be executed. On the other hand, in the schedule shown in FIG. 10B created in consideration of synchronization in the present embodiment, the start time of job Job1 is set to the "latest allocation time", so that the start time is later than the "latest allocation time". Jobs Job2 to Job3 are not started before job Job1 is completed. Further, after the job Job1 is completed, the jobs Job4 to Job6 are started at the same time at the "latest release scheduled time" set in accordance with the setting of the "latest allocation time" for the job Job1, and the jobs Job4 to Job6 are also started. Jobs Job4 to Job6 are completed at the same time after the longest working time has elapsed.
一方、図11(a)は、無人加工において、作業の着手と完了の同期を考慮せず、8つのジョブJob1~Job8をスケジューリングした例を示し、図11(b)は本実施形態によるスケジューリングの例を示す。横軸は時間軸であり、図11に示す例では、各リソースMachine A1~A3は、例えば3つのジョブを並行または連続して処理することができる同一の設備である。この場合、リソースMachine A1~A3を用いて行われるジョブについては、着手時刻と完了時刻が同期していなければならない。しかし、同期を考慮していない図11(a)に示す例では、同時に着手したジョブJob1~Job3のうち、ジョブJob2とジョブJob3が完了していないのにもかかわらず、ジョブJob1が完了するとジョブJob4が着手されてしまっている。そのため、図11(a)に示すスケジュールは、実行することができない。一方、本実施形態において同期を考慮して作成した図11(b)に示すスケジュールでは、最も作業時間が長いジョブJob2の完了時刻が「最遅解放予定時刻」に設定されるので、リソースMachine A1~A3の次の着手時刻は、「最遅解放予定時刻」以降に設定される。したがって、ジョブJob2とジョブJob3が完了していないのに、ジョブJob4が着手されることはない。
On the other hand, FIG. 11A shows an example in which eight jobs Job1 to Job8 are scheduled in unmanned machining without considering the synchronization of work start and completion, and FIG. 11B shows the scheduling according to the present embodiment. An example is shown. The horizontal axis is the time axis, and in the example shown in FIG. 11, the resources Machines A1 to A3 are the same equipment capable of processing, for example, three jobs in parallel or continuously. In this case, for jobs performed using the resources Machines A1 to A3, the start time and the completion time must be synchronized. However, in the example shown in FIG. 11A in which synchronization is not considered, when job Job1 is completed even though job Job2 and job Job3 are not completed among the jobs Job1 to Job3 started at the same time, the job Job4 has been started. Therefore, the schedule shown in FIG. 11A cannot be executed. On the other hand, in the schedule shown in FIG. 11B created in consideration of synchronization in the present embodiment, the completion time of the job Job2 having the longest working time is set to the "latest scheduled release time", so that the resource Machine A1 The next start time of ~ A3 is set after the "latest scheduled release time". Therefore, even though
以上のように、本実施形態では、定義する各リソースに対して、着手時刻と完了時刻を同期する必要があるかのフラグ、最新割付時刻、および最遅解放予定時刻を定義している。また、リソースへの最初の作業割付時には、最新割付時刻に着手時刻を記録し、それ以降の作業割付時には、着手時刻が最新割付時刻と同一か否かを判定し、同一なら割付可、同一でないなら割付不可とすることで、全部品の同時着手を実現している。また、作業着手時に、その作業の作業時間と、稼働シフトから、完了予定時刻を計算し、最遅解放予定時刻を記録している。作業完了時には、完了時刻が最遅解放予定時刻と同一か否かを判定し、同一なら次工程は即座に着手可、同一でないなら、次工程の着手可能時刻を最遅解放予定時刻に設定することで、全部品が同時完了しているとみなされるようにするスケジュールの作成を実現している(みなし同時完了を実現している)。一方で、さらに短い時間で完了するスケジュールを求めるため、ジョブの着手タイミングを変更した条件で、スケジュールを複数作成し、より良いスケジュールを探索する処理を組み込んでいる。探索処理では、ジョブの着手タイミングを変更することで、例えば、同一バッチだったある部品が別バッチに組み込まれることで、スケジュールが変化する。 As described above, in the present embodiment, the flag for whether the start time and the completion time need to be synchronized, the latest allocation time, and the latest scheduled release time are defined for each resource to be defined. Also, at the time of the first work allocation to the resource, the start time is recorded at the latest allocation time, and at the time of subsequent work allocation, it is judged whether the start time is the same as the latest allocation time, and if they are the same, allocation is possible or not the same. If it is not possible to assign, all parts can be started at the same time. Further, when the work is started, the scheduled completion time is calculated from the work time of the work and the operation shift, and the latest scheduled release time is recorded. When the work is completed, it is determined whether the completion time is the same as the latest scheduled release time, and if they are the same, the next process can be started immediately, and if they are not the same, the startable time of the next process is set to the latest scheduled release time. By doing so, it is possible to create a schedule so that all parts are considered to be completed at the same time (deemed simultaneous completion is realized). On the other hand, in order to obtain a schedule that can be completed in a shorter time, a process of creating multiple schedules and searching for a better schedule is incorporated under the condition that the job start timing is changed. In the search process, the schedule changes by changing the job start timing, for example, by incorporating a certain part that was in the same batch into another batch.
本実施形態によれば、同時着手/みなし同時完了制約を考慮したスケジューリングが可能となり、熱処理や表面処理などのバッチ処理、および、無人で複数の部品を自動で加工する工程において、実行不可能な作業計画を回避し、実際にスケジューリングが計算したとおりに作業を行うことが可能になる。 According to this embodiment, scheduling considering simultaneous start / deemed simultaneous completion constraints is possible, which is not feasible in batch processing such as heat treatment and surface treatment, and in the process of automatically processing a plurality of parts unmanned. It is possible to avoid the work plan and actually perform the work as calculated by the scheduling.
また、探索処理を組み込むことで、同時着手/みなし同時完了制約を順守しつつ、より短期間で完了するスケジュールを得ることもできる。 In addition, by incorporating the search process, it is possible to obtain a schedule for completion in a shorter period of time while observing the simultaneous start / deemed simultaneous completion constraint.
また、本実施形態では、以下の制約条件を考慮することができる。1つの制約条件は、作業シフト内の着手であるか否かということである。この場合、制約条件を考慮する手法として、リソースに作業シフトのデータを持たせ、着手しようとしている時刻が、作業シフト時間内に入っているかをチェックすることができる。この構成によれば、作業シフトを考慮した、より正確なスケジュールを計算することができる。 Further, in the present embodiment, the following constraint conditions can be considered. One constraint is whether or not it is a start within the work shift. In this case, as a method of considering the constraint condition, it is possible to give the resource the work shift data and check whether the time to be started is within the work shift time. According to this configuration, it is possible to calculate a more accurate schedule considering the work shift.
また、本実施形態では、以下の制約条件を考慮することができる。1つの制約条件は、前工程はすべて完了しているか否かということである。制約条件を考慮する手法として、工程間の前後関係データを持たせとともに、スケジューリング計算中に、各工程のスケジュール計算が完了しているか否かのフラグを持たせる。着手のタイミングで、前工程がすべて完了していることをチェックすることができる。この構成によれば、前後関係を考慮し、前後工程と着手/終了のタイミングが逆転しないスケジュールを計算することができる。 Further, in the present embodiment, the following constraint conditions can be considered. One constraint is whether or not all the previous steps have been completed. As a method of considering the constraint conditions, the context data between the processes is provided, and a flag is provided during the scheduling calculation as to whether or not the schedule calculation of each process is completed. At the timing of the start, it can be checked that all the previous processes have been completed. According to this configuration, it is possible to calculate a schedule in which the start / end timing is not reversed with the front-back process in consideration of the front-back relationship.
また、本実施形態では、以下の制約条件を考慮することができる。1つの制約条件は、作業時間制約(前工程着手/完了から、一定時間以内/以上/以下に着手)は満たしているか否かということである。制約条件を考慮する手法としては、時間的制約を考慮するということであり、具体的には、定義に応じて、以下をチェックするということである。(1)前工程着手から後工程着手の差が、一定時間以内/以上/以下であるということをチェックする。(2)前工程着手から後工程完了予定の差が、一定時間以内/以上/以下であるということをチェックする。(3)前工程完了から後工程着手の差が、一定時間以内/以上/以下であるということをチェックする。(4)前工程完了から後工程完了予定の差が、一定時間以内/以上/以下であるということをチェックする。この構成によれば、前後工程間の作業時間制約を考慮し、より実作業に近いスケジュールを計算することができる。 Further, in the present embodiment, the following constraint conditions can be considered. One constraint condition is whether or not the work time constraint (starting within a certain time / or more / or less from the start / completion of the previous process) is satisfied. As a method of considering constraint conditions, it is to consider time constraints, and specifically, to check the following according to the definition. (1) Check that the difference between the start of the front-end process and the start of the back-end process is within a certain period of time / or more / or less. (2) Check that the difference between the start of the front-end process and the scheduled completion of the back-end process is within a certain period of time / or more / or less. (3) Check that the difference between the completion of the pre-process and the start of the post-process is within a certain period of time / or more / or less. (4) Check that the difference between the completion of the front-end process and the scheduled completion of the back-end process is within a certain period of time / or more / or less. According to this configuration, it is possible to calculate a schedule closer to the actual work in consideration of the work time constraint between the previous and next processes.
以上のように本実施形態によれば、同時着手/みなし同時完了制約を考慮したスケジューリングが可能となり、熱処理や表面処理などのバッチ処理、および、無人で複数の部品を自動で加工する工程において、実行不可能な作業計画を回避し、実際にスケジューリングが計算したとおりに作業を行うことが可能になる。また、探索処理を組み込むことで、同時着手/みなし同時完了制約を順守しつつ、より短期間で完了するスケジュールを得ることもできる。 As described above, according to the present embodiment, scheduling is possible in consideration of the simultaneous start / deemed simultaneous completion constraint, and in batch processing such as heat treatment and surface treatment, and in the process of automatically processing a plurality of parts unmanned. It is possible to avoid infeasible work plans and actually work as the scheduling calculated. In addition, by incorporating the search process, it is possible to obtain a schedule for completion in a shorter period of time while observing the simultaneous start / deemed simultaneous completion constraint.
なお、図1に示すスケジューリング装置1において、スケジューリング部2は、判定部21と記録部22と割付部23を備えるが、各部の機能は次の通りである。すなわち、判定部21は、着手時刻の同期が必要である一群のリソースのうちの何れか一つである割付対象リソースに割付対象ジョブを割り付ける際に、当該一群のリソースに係る最新割付時刻に、一群のリソースのうちの他のリソースに割り付けられた他のジョブの着手時刻が既に記録されているか否かを判定する(図8のステップS34で最新割付時刻が空であるか否かを判断する処理に対応)。また、記録部22は、当該一群のリソースに係る最新割付時刻に、他のリソースに割り付けられた他のジョブの着手時刻が記録されていないと判定された場合(図8のステップS34で最新割付時刻が空であると判断した場合に対応)、割付対象リソースに割付対象ジョブを割り付けるとともに、最新割付時刻として、当該割付対象ジョブの着手時刻を記録する(図8のステップS35の処理に対応)。また、割付部23は、当該一群のリソースに係る最新割付時刻に、他のリソースに割り付けられた他のジョブの着手時刻が記録されていると判定された場合(図8のステップS34で最新割付時刻が空でないと判断した場合に対応)、割付対象ジョブの着手時刻が最新割付時刻として記録されている時刻に一致するか否かを判定し(図8のステップS34で最新割付時刻に一致するか否かを判断する処理に対応)、一致する場合に、割付対象リソースに割付対象ジョブを割り付ける(図8のステップS35の処理に対応)。
In the
また、最新割付時刻として割付対象ジョブの着手時刻を記録する際に、割付対象ジョブの完了時刻である第1の完了時刻が算出され、算出された第1の完了時刻が、一群のリソースに係る最遅解放予定時刻より遅い場合に、記録部22が、第1の完了時刻を最遅解放予定時刻として更新する(図8のステップS35の処理に対応)。また、割付部23は、一群のリソースに割り付けるべき割付対象ジョブの次のジョブの着手時刻を更新された最遅解放予定時刻に設定する(図9のステップS47の処理に対応)。
Further, when recording the start time of the allocation target job as the latest allocation time, the first completion time, which is the completion time of the allocation target job, is calculated, and the calculated first completion time relates to a group of resources. When it is later than the latest scheduled release time, the
(コンピュータの構成例)
図12は、上述の実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ9は、CPU91、主記憶装置92、補助記憶装置93、インタフェース94を備える。上述のスケジューリング装置1は、コンピュータ9を備える。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置93に記憶されている。CPU91は、プログラムを補助記憶装置93から読み出して主記憶装置92に展開し、当該プログラムに従って上記処理を実行する。例えば、上述したスケジューリング部2、判定部21、記録部22、および割付部23は、CPU91であってよい。また、CPU91は、プログラムに従って、上述したデータベース3に対応する記憶領域を主記憶装置92または補助記憶装置93に確保してもよい。
なお、スケジューリング装置1を構成するプログラムやデータは、その一部または全部をコンピュータ読取可能な記録媒体あるいは通信回線を介して頒布することができる。また、自然言語処理装置1を複数のコンピュータで構成する場合、複数のコンピュータは、ネットワークを介して分散して配置されていてもよい。
(Computer configuration example)
FIG. 12 is a schematic block diagram showing a configuration example of a computer according to the above-described embodiment. The
The programs and data constituting the
以上のとおり、本発明に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 As described above, some embodiments of the present invention have been described, but all of these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and variations thereof are included in the scope of the invention described in the claims and the equivalent scope thereof, as are included in the scope and gist of the invention.
1 スケジューリング装置
2 スケジューリング部
3 データベース
21 判定部
22 記録部
23 割付部
31 ジョブテーブル
32 リソースマスタ
33 制約条件テーブル
34 スケジュールデータ
1
Claims (7)
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていないと判定された場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録する記録部と、
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていると判定された場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付ける割付部と、
を有し、
前記最新割付時刻として前記割付対象ジョブの着手時刻を記録する際に、前記割付対象ジョブの完了時刻である第1の完了時刻が算出され、算出された前記第1の完了時刻が、前記一群のリソースに係る最遅解放予定時刻より遅い場合に、前記記録部が、前記第1の完了時刻を最遅解放予定時刻として更新し、
前記割付部が、前記一群のリソースに割り付けるべき前記割付対象ジョブの次のジョブの着手時刻を更新された前記最遅解放予定時刻に設定する、
スケジューリング装置。 When allocating a job to be allocated to a resource to be allocated, which is one of the resources in the group that requires synchronization of the start time, the latest allocation time related to the resource in the group is set to the resources in the group. A judgment unit that determines whether or not the start time of another job assigned to another resource has already been recorded, and
When it is determined that the start time of another job allocated to the other resource is not recorded at the latest allocation time related to the group of resources, the allocation target job is allocated to the allocation target resource and the allocation target job is described. As the latest allocation time, a recording unit that records the start time of the job to be assigned, and
When it is determined that the start time of another job allocated to the other resource is recorded in the latest allocation time of the group of resources, the start time of the job to be assigned is recorded as the latest allocation time. The allocation unit that determines whether or not the time matches the time, and allocates the allocation target job to the allocation target resource if the time matches.
Have,
When recording the start time of the allocation target job as the latest allocation time, the first completion time, which is the completion time of the allocation target job, is calculated, and the calculated first completion time is the group. When it is later than the latest scheduled release time related to the resource, the recording unit updates the first completion time as the latest scheduled release time.
The allocation unit sets the start time of the next job of the allocation target job to be allocated to the group of resources to the updated latest scheduled release time.
Scheduling device.
請求項1に記載のスケジューリング装置。 The determination unit makes the determination when the start time of the allocation target job is within the work shift time.
The scheduling device according to claim 1 .
請求項1に記載のスケジューリング装置。 The determination unit refers to the data indicating the context between the jobs, and makes the determination when all the schedule calculations of the jobs specified as the jobs to be performed before the allocation target job in the data are completed. conduct
The scheduling device according to claim 1 .
請求項1に記載のスケジューリング装置。 The determination unit makes the determination when a predetermined working time constraint is satisfied.
The scheduling device according to claim 1 .
前記作業時間制約が、(1)前のジョブ着手から後のジョブ着手までの差が、一定時間以内、一定時間以上または一定時間以下であること、(2)前のジョブの着手から後のジョブの完了予定までの差が、一定時間以内、一定時間以上または一定時間以下であること、(3)前のジョブの完了から後のジョブ着手までの差が、一定時間以内、一定時間以上または一定時間以下であること、(4)前のジョブの完了から後のジョブの完了予定までの差が、一定時間以内、一定時間以上または一定時間以下であること、のいずれかである
請求項4に記載のスケジューリング装置。 In the case where any job specified as a job to be performed before the allocation target job in the data showing the context between jobs is set as the previous job and the allocation target job is set as the later job.
The work time constraint is that (1) the difference from the start of the previous job to the start of the later job is within a certain time, a certain time or more or a certain time or less, and (2) the job after the start of the previous job. The difference until the completion schedule is within a certain time, a certain time or more or a certain time or less, and (3) the difference from the completion of the previous job to the start of the later job is within a certain time, a certain time or more or a certain time. It is either less than the time, or (4) the difference from the completion of the previous job to the scheduled completion of the later job is within a certain time, more than a certain time, or less than a certain time.
The scheduling device according to claim 4 .
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていない場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録するステップと、
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されている場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付けるステップと、
を有し、
前記最新割付時刻として前記割付対象ジョブの着手時刻を記録するステップにおいて、前記割付対象ジョブの完了時刻である第1の完了時刻が算出され、算出された前記第1の完了時刻が、前記一群のリソースに係る最遅解放予定時刻より遅い場合に、前記第1の完了時刻を最遅解放予定時刻として更新し、
前記割付対象ジョブを割り付けるステップでは、前記一群のリソースに割り付けるべき前記割付対象ジョブの次のジョブの着手時刻を更新された前記最遅解放予定時刻に設定する、
スケジューリング方法。 When allocating a job to be allocated to a resource to be allocated, which is one of the resources in the group that requires synchronization of the start time, the latest allocation time related to the resource in the group is set to the resources in the group. A step to determine if the start time of another job assigned to another resource has already been recorded, and
If the start time of the other job allocated to the other resource is not recorded in the latest allocation time related to the group of resources, the allocation target job is allocated to the allocation target resource and the latest allocation time is set. , The step to record the start time of the job to be assigned, and
When the start time of another job allocated to the other resource is recorded in the latest allocation time related to the group of resources, the time when the start time of the job to be allocated is recorded as the latest allocation time. The step of allocating the allocation target job to the allocation target resource and the step of allocating the allocation target job to the allocation target resource.
Have,
In the step of recording the start time of the allocation target job as the latest allocation time, the first completion time, which is the completion time of the allocation target job, is calculated, and the calculated first completion time is the group. When it is later than the latest scheduled release time related to the resource, the first completion time is updated as the latest scheduled release time.
In the step of allocating the allocation target job, the start time of the next job of the allocation target job to be allocated to the group of resources is set to the updated latest scheduled release time.
Scheduling method.
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されていない場合、前記割付対象リソースに前記割付対象ジョブを割り付けるとともに、前記最新割付時刻として、当該割付対象ジョブの着手時刻を記録するステップと、
当該一群のリソースに係る最新割付時刻に、前記他のリソースに割り付けられた他のジョブの着手時刻が記録されている場合、前記割付対象ジョブの着手時刻が前記最新割付時刻として記録されている時刻に一致するか否かを判定し、一致する場合に、前記割付対象リソースに前記割付対象ジョブを割り付けるステップと、
をコンピュータに実行させ、
前記最新割付時刻として前記割付対象ジョブの着手時刻を記録するステップにおいて、前記割付対象ジョブの完了時刻である第1の完了時刻が算出され、算出された前記第1の完了時刻が、前記一群のリソースに係る最遅解放予定時刻より遅い場合に、前記第1の完了時刻を最遅解放予定時刻として更新し、
前記割付対象ジョブを割り付けるステップでは、前記一群のリソースに割り付けるべき前記割付対象ジョブの次のジョブの着手時刻を更新された前記最遅解放予定時刻に設定する、
プログラム。 When allocating a job to be allocated to a resource to be allocated, which is one of the resources in the group that requires synchronization of the start time, the latest allocation time related to the resource in the group is set to the resources in the group. A step to determine if the start time of another job assigned to another resource has already been recorded, and
If the start time of the other job allocated to the other resource is not recorded in the latest allocation time related to the group of resources, the allocation target job is allocated to the allocation target resource and the latest allocation time is set. , The step to record the start time of the job to be assigned, and
When the start time of another job allocated to the other resource is recorded in the latest allocation time related to the group of resources, the time when the start time of the job to be allocated is recorded as the latest allocation time. The step of allocating the allocation target job to the allocation target resource and the step of allocating the allocation target job to the allocation target resource.
Let the computer run
In the step of recording the start time of the allocation target job as the latest allocation time, the first completion time, which is the completion time of the allocation target job, is calculated, and the calculated first completion time is the group. When it is later than the latest scheduled release time related to the resource, the first completion time is updated as the latest scheduled release time.
In the step of allocating the allocation target job, the start time of the next job of the allocation target job to be allocated to the group of resources is set to the updated latest scheduled release time.
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018110140A JP7082530B2 (en) | 2018-06-08 | 2018-06-08 | Scheduling device, scheduling method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018110140A JP7082530B2 (en) | 2018-06-08 | 2018-06-08 | Scheduling device, scheduling method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019212198A JP2019212198A (en) | 2019-12-12 |
JP7082530B2 true JP7082530B2 (en) | 2022-06-08 |
Family
ID=68846849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018110140A Active JP7082530B2 (en) | 2018-06-08 | 2018-06-08 | Scheduling device, scheduling method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7082530B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5314143B2 (en) | 2009-07-24 | 2013-10-16 | ザインエレクトロニクス株式会社 | Clock data recovery device |
JP2015170833A (en) | 2014-03-11 | 2015-09-28 | 株式会社Screenホールディングス | Schedule generating method of substrate processing apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3110102B2 (en) * | 1991-09-27 | 2000-11-20 | 富士通株式会社 | Product production planning equipment in batch plant |
-
2018
- 2018-06-08 JP JP2018110140A patent/JP7082530B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5314143B2 (en) | 2009-07-24 | 2013-10-16 | ザインエレクトロニクス株式会社 | Clock data recovery device |
JP2015170833A (en) | 2014-03-11 | 2015-09-28 | 株式会社Screenホールディングス | Schedule generating method of substrate processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2019212198A (en) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1674025B (en) | Planning operation management support system | |
US7860737B2 (en) | Constraint-based production planning and scheduling | |
US5524077A (en) | Scheduling method and system | |
US7945466B2 (en) | Scheduling system | |
JP2003241822A (en) | Management method based on flow management for supply-chain product management | |
JP6395708B2 (en) | Management method and management apparatus for electronic component mounting system having a plurality of production lines | |
CN112990644A (en) | Work plan creation device and work plan creation method | |
JP7082530B2 (en) | Scheduling device, scheduling method and program | |
JP5234818B2 (en) | Production plan creation method, production plan creation program, and production plan creation device | |
JP4177234B2 (en) | Production planning device and production planning method | |
JP4307984B2 (en) | Production plan creation method and program | |
JP2011227605A (en) | Schedule preparation method, schedule preparation program, and schedule preparation device | |
JPH09183044A (en) | Preparation of production planning | |
Emery | An approach to job shop scheduling using a large-scale computer | |
JP4648136B2 (en) | Production plan creation method, production plan creation device, and program | |
JP2005182282A (en) | Schedule planning method and device | |
JP2006146530A (en) | Scheduling support system | |
Arakawa et al. | A Simulation‐based Production Scheduling Method for Minimizing the Due‐date‐deviation | |
US7123976B2 (en) | Capacity management system and method | |
JP2002073142A (en) | Production schedule generating device and recording medium with recorded production schedule generating program of production schedule generating device | |
JP4431105B2 (en) | Allocation execution program, allocation execution system, and allocation execution method in production management system | |
JP2008226044A (en) | Alternate skill scheduling system, scheduling method and program | |
JP2004157922A (en) | Method and system for adjusting demand/supply and method for manufacturing product | |
JP6644844B2 (en) | Management method and allocation device for electronic component mounting system having a plurality of production lines | |
JP3825642B2 (en) | Production planning method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220128 |
|
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: 20220517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7082530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |