JP2021131670A - スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム - Google Patents

スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム Download PDF

Info

Publication number
JP2021131670A
JP2021131670A JP2020026117A JP2020026117A JP2021131670A JP 2021131670 A JP2021131670 A JP 2021131670A JP 2020026117 A JP2020026117 A JP 2020026117A JP 2020026117 A JP2020026117 A JP 2020026117A JP 2021131670 A JP2021131670 A JP 2021131670A
Authority
JP
Japan
Prior art keywords
schedule
department
manufacturing
learning
order
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.)
Withdrawn
Application number
JP2020026117A
Other languages
English (en)
Inventor
俊太郎 井上
Shuntaro Inoue
俊太郎 井上
大史 入江
Hiroshi Irie
大史 入江
祐一 古賀
Yuichi Koga
祐一 古賀
朋亮 北川
Tomoaki Kitagawa
朋亮 北川
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 Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
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 Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2020026117A priority Critical patent/JP2021131670A/ja
Publication of JP2021131670A publication Critical patent/JP2021131670A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】大規模な受注に対して、遅延なく製品等を製造するための製造スケジュール作成を支援するシステムを提供する。【解決手段】スケジューリング問題作成システムは、複数の製造工程と、製造工程間の制約と、オーダごとの納期と、を含む製造データについての製造スケジュールを作成する問題を、製造に参加する部門の部門スケジュールを作成し、それらの部門スケジュールを統合することによって製造スケジュールを作成する問題として設定し直すための設定を受け付け、その設定に基づいて、前記製造データを部門別の製造データに分割し、前記製造のスケジュールの作成にあたり、必要となる部門間の調整方法のモデルを作成するための学習手法とパラメータとの設定を受け付け、前記モデルを作成する。【選択図】図1

Description

本開示は、スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラムに関する。
大規模な工場等では、同時期に膨大な数のオーダを受け、受注した製品を納期までに製造しなければならないことがある。1つのオーダに係る製品は、複数の部門によって、複数の工程を経て製造される。工場では、受注した製品を納期までに製造するために、全オーダを対象とした製造スケジュールを作成する。膨大な数のオーダは、膨大な数の工程を含む。これを大規模オーダと呼ぶ。大規模オーダに含まれる各オーダについて、1つずつ順に製造を行うような製造スケジュールであれば作成は容易であるが、これでは、通常、納期に間に合わない。その為、複数のオーダに係る製造を同時並行的に行う製造スケジュールを作成しなければならない。
大規模オーダを対象とする作業スケジュールを作成する場合、大規模オーダを小さな単位(小規模オーダ)に分割し、分割された単位ごとにスケジューリングを行うことが考えられる。例えば、上位の管理部門が、各部門が行う作業工程を抽出し、部門ごとの大まかな日程を計画し、各部門が計画された大まかな日程の中で自部門の作業スケジュールを計画する。
特許文献1には、組み付け作業などを行うロボットマシンに作業のミッションを設定し、ミッション制御部が、作業の進捗を監視するシステムが開示されている。このシステムにおいて、ミッション制御部は、ロボットマシンからミッションに関する情報を受信してミッションの競合を特定し、特定した競合を解消する解をロボットマシンへ送信する。特許文献1に開示のシステムでは、上位のミッション制御部と下位のロボットマシンが通信を行って自律的に作業進捗の調整を行う。
特許第5873795号公報
しかし、大規模オーダを小規模オーダに分割して、小規模オーダごとにスケジューリングを行うとしても、どのように分割すれば良いか、小規模オーダについて作成されたスケジュールを統合するときにどのようにして各スケジュールを調整し、大規模オーダに対する全体の製造スケジュールを作成すれば良いかを策定することは難しい。
また、特許文献1にも、このような課題を解決する方法は開示されていない。
本開示は、上記課題を解決することができるスケジューリング問題作成システム、スケジューリング問題作成方法およびプログラムを提供する。
本開示のスケジューリング問題作成システムは、1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付ける問題設定受付部と、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割する分割部と、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付ける学習パラメータ設定部と、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する学習モデル作成部と、を備える。
また、本開示のスケジューリング問題作成方法は、スケジューリング問題作成システムが、1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する。
また、本開示のプログラムは、コンピュータに、1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する処理を実行させる。
上述のスケジューリング問題作成システム、スケジューリング問題作成方法およびプログラムによれば、大規模オーダに対するスケジュールを効率良く作成するための問題設定を行うことができる。
実施形態に係るスケジューリング問題作成システムの一例を示す図である。 実施形態に係るオーダ情報の一例を示す第1の図である。 実施形態に係るオーダ情報の一例を示す第2の図である。 実施形態に係る表示画面の一例を示す第1の図である。 実施形態に係る表示画面の一例を示す第2の図である。 実施形態に係る表示画面の一例を示す第3の図である。 実施形態に係る表示画面の一例を示す第4の図である。 実施形態に係る部門の設定例を示す図である。 実施形態に係る学習モデルの作成処理を説明する図である。 実施形態に係る学習済みモデルの一例を示す図である。 実施形態に係るグラフ・動画の一例を示す第1の図である。 実施形態に係るグラフ・動画の一例を示す第2の図である。 実施形態に係るグラフ・動画の一例を示す第3の図である。 実施形態に係るスケジューリング問題作成システムの処理の一例を示す第1のフローチャートである。 実施形態に係るスケジューリング問題作成システムの処理の一例を示す第2のフローチャートである。 実施形態に係るスケジューリング問題作成システムのハードウェア構成の一例を示す図である。
<実施形態>
以下、各実施形態に係るスケジューリング問題作成システムについて、図1〜図12を参照しながら詳しく説明する。
(構成)
図1は、実施形態に係るスケジューリング問題作成システムの一例を示す図である。
スケジューリング問題作成システム1は、大規模オーダに対する製造スケジュール(大規模オーダに含まれる各オーダの納期、製造工程間の制約などの要求を満たすスケジュールのことを“大規模オーダに対する製造スケジュール”と呼ぶ。)を作成するための問題設定、設定した問題を解くための手法(強化学習)の設定、設定した手法の評価を可能にする機能を提供する。また、スケジューリング問題作成システム1に登録した問題設定や評価後の手法を、実際の大規模オーダに適用して製造スケジュールを作成することができる。
大規模オーダとは、受注した製品の製造に係る製造工程が含まれた情報であり、膨大な数(例えば、数百万)の工程を含んでいる。大規模データは、例えば、同時期に、部品等を大量に受注したような場合や、多数の工程を経て製造される大型の製品を複数受注したような場合に発生する。大規模オーダに対する製造スケジュールを作成する場合、大規模オーダを小さな単位の小規模オーダに分割し、小規模オーダごとにスケジューリングを行ってそれらを統合する方法が考えられる。このとき、小規模オーダへの分割方法が1通りで、小規模オーダに基づいて作成したスケジュールを、例えば、日程順に並べことによって大規模オーダに対する製造スケジュールが作成できれば良いが、実際には、例えば、部門1で担当する工程Aは部門2で担当する工程Bの完了後に着手しなければならないといった部門間、工程間の制約や、工程Aと工程Bは同時に実行することができるがそれらの工程を担当する担当者の数に限りがあり、工程Aと工程Bは同時に実行できないといった要員の制約があったりするため、大規模オーダに対する製造スケジュールの作成は容易ではない。スケジューリング問題作成システム1は、大規模オーダを小規模オーダへ分割する設定を登録する手段、登録された設定に基づいて大規模オーダを分割する手段、小規模オーダごとに製造スケジュールを作成する手段、それらの製造スケジュールを統合、調整する手段、その調整方法を学習する手段、調整方法の学習手法およびパラメータを設定する手段、設定した学習手法およびパラメータによる学習結果の評価を可能にする手段などを提供する。
図1に示すように、スケジューリング問題作成システム1は、管理装置10と、全体スケジュール作成装置20と、部門スケジュール作成装置31〜33と、を備える。管理装置10と全体スケジュール作成装置20、部門スケジュール作成装置31〜33の各々はコンピュータで構成される。管理装置10と全体スケジュール作成装置20は通信可能に接続され、全体スケジュール作成装置20と部門スケジュール作成装置31〜33は通信可能に接続されている。
(管理装置の構成)
管理装置10は、オーダ情報取得部11と、設定情報取得部12と、分割部13と、学習モデル作成指示部14と、全体スケジュール作成指示部15と、計算結果情報取得部16と、表示制御部17と、記憶部18と、を備える。
オーダ情報取得部11は、大規模オーダを取得する。大規模オーダには、オーダごとに製造工程、リソース、納期、各製造工程に要する作業時間の長さなどの情報が含まれている。
設定情報取得部12は、大規模オーダの分割に関する設定情報、製造スケジュール間の調整方法に関する学習モデルのパラメータ等の設定情報を取得する。
分割部13は、分割に関する設定情報に基づいて、大規模オーダを分割する。本実施形態では、大規模オーダは、部門別に分割される。部門別に分割した小規模オーダを部門別オーダと呼ぶ。
学習モデル作成指示部14は、全体スケジュール作成装置20へ、小規模オーダに基づく製造スケジュール間の調整方法を学習する学習モデルの作成を指示する。
全体スケジュール作成指示部15は、全体スケジュール作成装置20へ、分割後の小規模オーダと、学習済みの学習モデルとを用いて、大規模オーダに対する製造スケジュールの作成を指示する。
計算結果情報取得部16は、学習モデルの学習過程における計算結果、大規模オーダに対する製造スケジュール作成時の計算結果を、全体スケジュール作成装置20から取得する。
表示制御部17は、学習過程の計算結果などをグラフ表示等する。
記憶部18は、大規模オーダ等、種々の情報を取得する。
(部門スケジュール作成装置の構成)
部門スケジュール作成装置31は、部門1が担当する工程についての製造スケジュール(部門スケジュール1と呼ぶ)を作成するスケジューラである。部門スケジュール作成装置32は、部門2が担当する工程についての製造スケジュール(部門スケジュール2と呼ぶ)を作成するスケジューラである。部門スケジュール作成装置33は、部門3が担当する工程についての製造スケジュール(部門スケジュール3と呼ぶ)を作成するスケジューラである。
部門スケジュール作成装置31は、大規模データから部門1が担当する製造工程が抽出された部門別オーダを取得する。部門スケジュール作成装置31は、全体スケジュール作成装置20が設定した境界条件を取得する。境界条件とは、部門1がスケジューリングを行ううえで守るべき作業の着手開始可能日時、納期などの条件である。境界条件は、全体スケジュール作成装置20が設定する。部門スケジュール作成装置31は、部門1についての部門別オーダと、境界条件とに基づいて、部門1で担当する製造工程の前後関係などを遵守した部門1の部門スケジュール1を作成することができる。部門スケジュール作成装置31は、作成後の部門スケジュール1を全体スケジュール作成装置20へ送信する。部門スケジュール作成装置32、33についても同様である。
(全体スケジュール作成装置の構成)
全体スケジュール作成装置20は、指示情報取得部21と、計算結果送信部22と、部門スケジュール取得部23と、学習モデル作成部24と、全体スケジュール作成部25と、記憶部26と、を備える。
指示情報取得部21は、学習モデルの作成指示、全体スケジュールの作成指示を管理装置10から取得する。
計算結果送信部22は、学習モデルの作成過程における計算結果、全体スケジュール作成処理における計算結果を管理装置10へ送信する。
部門スケジュール取得部23は、部門スケジュール作成装置31〜33から部門スケジュール1〜3を取得する。部門スケジュール取得部23は、部門スケジュール1〜3を統合した全体スケジュールを作成する。
学習モデル作成部24は、部門スケジュール1〜3の間の調整方法を学習した学習モデルを作成する。例えば、部門スケジュール1が担当する最後の製造工程と部門スケジュール2が担当する最初の製造工程との間に前後関係(FS:Finish-Start)があって、その関係が守られていない場合、学習モデル作成部24は、FS関係が成立するように境界条件を調整する方法を学習した学習モデルを作成する。
全体スケジュール作成部25は、学習済みの学習モデルを用いて、部門スケジュール1〜3の調整を行って、最適化された全体スケジュールを作成する。最適化された全体スケジュールは、大規模データに対する製造スケジュールである。
記憶部26は、部門スケジュール、学習済み学習モデル等、種々の情報を取得する。
次に大規模オーダについて説明する。
図2Aは、実施形態に係るオーダ情報の一例を示す第1の図である。
図2Aに、大規模オーダに含まれるデータF1の一例を示す。データF1には、オーダごとに、工作機械などのリソースと製造工程の関係が定義されている。データF1は、少なくとも、“オーダNo”、“リソース”、“工程”の各項目を有する。“オーダNo”には、オーダの識別番号が格納される。“リソース”には、リソースの識別番号が格納される。“工程”には、製造工程の識別情報が格納される。
図2Bは、実施形態に係るオーダ情報の一例を示す第2の図である。
図2Bに、大規模オーダに含まれるデータF2の一例を示す。データF2には、製造工程間の関係が定義されている。データF2は、少なくとも、“先工程”、“後工程”、“関係”の各項目を有する。“先工程”には、先の製造工程の識別情報が格納される。“後工程”には、後の製造工程の識別情報が格納される。“関係”には、製造工程間の依存関係を示す値(FS、FF、SF、SS等)が格納される。
大規模データには、このほかにも、オーダ別の納期、各製造工程に要する時間等の情報が含まれている。
オーダ情報取得部11は、データF1、データF2を含む大規模オーダを取得する。
次に表示制御部17が作成する表示画面を図3A〜図3Dに示す。
図3Aは、実施形態に係る表示画面の一例を示す第1の図である。
管理画面100は、エリア101、新規ボタン102、選択ボタン103、削除ボタン104、終了ボタン105を含む。表示制御部17は、管理画面100を作成し、ディスプレイへ表示する。エリア101には、これまでに作成された問題の一覧が表示される。問題とは、大規模オーダに対する製造スケジュール作成のために設定された問題である。例えば、大規模オーダ1を、小規模データ1〜Nに分割し、各小規模データ1〜Nについてスケジュールを作成し、作成したN個のスケジュールを調整する学習モデルを手法αによって作成するとする。この場合、大規模オーダ1に対する製造スケジュールを作成するという問題は、例えば、小規模データ1〜Nに係る製造スケジュールを、それらのスケジュール間に要求される関係や最終的なオーダごとの納期を満たすように調整する問題に変換され設定される。エリア101に一覧表示される各問題は、このように設定された問題を意味し、各問題には、大規模オーダ1とオーダごとの納期、大規模オーダ1の小規模データ1〜Nへの分割方法、手法αおよび手法αのパラメータなどが含まれる。
新規ボタン102が押下されると、表示制御部17は、図示しない問題登録画面を表示し、その画面では問題名を登録することができる。
選択ボタン103が押下されると、表示制御部17は、図3Bに例示する計算実行画面200を表示する。計算実行画面200では、エリア101で選択された問題についての各種設定、設定した問題の解を見つける計算等を行うことができる。問題の解とは、例えば、学習済みの学習モデル、大規模データに対する要求(納期、製造工程間の関係)を満たす製造スケジュールである。
削除ボタン104が押下されると、エリア101で選択された問題に関するデータが記憶部18から削除される。
終了ボタン105が押下されると、表示制御部17は、管理画面100の表示を停止する。
図3Bは、実施形態に係る表示画面の一例を示す第2の図である。
計算実行画面200は、問題設定パラメータ入力ボタン201と、大規模オーダ分割ボタン202と、強化学習パラメータ入力ボタン203と、学習モデル作成ボタン204と、スケジュール作成ボタン205と、グラフ・動画の作成ボタン206と、終了ボタン207と、を含む。管理画面100で選択ボタン103が押下されると、表示制御部17は、計算実行画面200を作成し、ディスプレイへ表示する。
問題設定パラメータ入力ボタン201が押下されると、表示制御部17は、図3Cに例示する問題設定パラメータ設定画面300を表示する。
大規模オーダ分割ボタン202が押下されると、分割部13が、問題設定パラメータ設定画面300で設定された内容に基づいて、大規模オーダを分割する。
強化学習パラメータ入力ボタン203が押下されると、表示制御部17は、図3Dに例示する強化学習パラメータ設定画面400を表示する。
学習モデル作成ボタン204が押下されると、全体スケジュール作成装置20と部門スケジュール作成装置31〜33が、強化学習パラメータ設定画面400で設定された内容に従って、強化学習を行って学習モデルを作成する。
スケジュール作成ボタン205が押下されると、全体スケジュール作成装置20と部門スケジュール作成装置31〜33が、学習済みモデルと分割後の部門別オーダとに基づいて、全体スケジュールを作成する。
グラフ・動画の作成ボタン206が押下されると、表示制御部17は、学習モデルの作成過程における計算結果などを表示する。
終了ボタン207が押下されると、表示制御部17は、計算実行画面200の表示を停止し、管理画面100を表示する。
図3Cは、実施形態に係る表示画面の一例を示す第3の図である。
問題設定パラメータ設定画面300は、オーダと納期の設定ボタン301と、部門の設定ボタン302と、部門の前後関係の設定ボタン303と、共通リソースの設定ボタン304と、スケジュール初期条件の設定ボタン305と、終了ボタン306と、を含む。計算実行画面200で問題設定パラメータ入力ボタン201が押下されると、表示制御部17は、問題設定パラメータ設定画面300を作成し、ディスプレイへ表示する。
オーダと納期の設定ボタン301が押下されると、表示制御部17は、図示しない納期設定用の画面を表示する。その画面では、オーダ別に納期を設定することができる。オーダ別の納期は、大規模オーダに含まれているが、例えば、より厳しい納期を設定してのスケジューリングを試す場合などに、この機能を用いてオーダごとに納期を設定し直すことができる。納期設定用の画面で納期が設定されると、表示制御部17は、設定された納期をオーダNoと対応付けて記憶部18へ登録する。
部門の設定ボタン302が押下されると、表示制御部17は、図示しない分割に関する設定画面を表示する。この画面では、例えば、リソースと部門を対応付けて設定することができる。ここで、図4を参照する。図4は、実施形態に係る部門の設定例を示す図である。分割に関する設定画面では、図4に示すように、リソースごとにそのリソースを使用する部門を登録する。図4の例では、リソース“001”〜“002”に対して“部門1”を対応付け、リソース“003”〜“004”に対して“部門2”を対応付け、リソース“005”〜“007”に対して“部門3”を対応付けている。分割に関する設定画面でリソースと部門の対応関係が設定されると、表示制御部17は、設定された対応関係を記憶部18へ登録する。
分割部13は、この設定に基づいて、大規模データを分割する。例えば、図2Aに示すデータF1の場合、分割部13は、“オーダNo”が“1”のデータについて、“リソース”項目に“001”〜“002”の値を持つデータを、部門1が担当する製造工程だけを集めた部門1の部門別オーダ、“リソース”項目に“003”〜“004”の値を持つデータを部門2の部門別オーダ、“リソース”項目に“005”〜“007”の値を持つデータを部門3の部門別オーダに分割する。分割部13は、他のオーダ(例えば、数十万個存在する。)についても同様に、リソースに対応付けられた部門へ割り振りを行って、大規模オーダの分割を行う。本実施形態では、部門スケジュール作成装置31,32,33が、それぞれ、部門1,部門2,部門3のスケジュールを作成することもあり、大規模オーダを部門単位で分割する。このように大規模オーダを部門単位で分割することで、例えば、分割後の部門1の部門オーダを部門スケジュール作成装置31へ入力すると、部門スケジュール作成装置31は、部門1の部門スケジュールを作成することができる。なお、部門とは、職制上規定された部門である必要は無く、スケジュール作成の都合により任意に設定されたものであってよい。例えば、職制上の部門a,部門bが同じ製造工程を担当している場合、部門a,部門bを部門1と定めて、分割に関する設定画面でリソースと部門1との対応関係を設定することができる。
また、図4の例では、リソースと部門を対応付ける設定例を示したが、製造工程と部門を対応付けられるように構成されていてもよい。
また、分割部13は、データF2についても部門ごとに分割する。例えば、図2Bに例示するデータの1行目は、工程1と工程2の間の前後関係である。図4の設定では、工程1と工程2は、ともに部門1に対応付けられているので、工程1と工程2の間のFS関係は、部門1の部門スケジュール1の作成に必要な情報である。分割部13は、データF2から1つの部門内の製造工程の前後関係を抽出して、これを各部門の部門別オーダとして分類する。つまり部門1の部門別オーダには、データF1を分割してできたデータと、データF2を分割してできたデータと、が含まれる。同様に分割部13は、データF2の工程5と工程6の前後関係を部門3の部門別オーダとして出力する。図2Bに例示するデータF2の2〜4行目のデータは、全て部門を跨ぐ前後関係である。つまり、2行目の工程2と工程3のFS関係は部門1と部門2の間の前後関係、3行目の工程3と工程5のFS関係は部門2と部門3の間の前後関係、4行目の工程4と工程5のFS関係は部門2と部門3の間の前後関係である。これらの設定は、部門別オーダとして分割されることなく、部門間の前後関係の設定情報として、全体スケジュール作成装置20へ送信される。
部門の前後関係の設定ボタン303が押下されると、表示制御部17は、図示しない部門の前後関係の設定画面を表示する。この画面では、例えば、部門Aが実行する製造工程Aと、部門Bが実行する製造工程Bの前後関係をオーダごとに設定することができる。例えば、大規模オーダで定義された製造工程間の依存関係(図2のデータF2)では、製造工程1と製造工程2の間にはいかなる制約も定義されていない場合であっても、工場では、部門1が製造工程1を行ってから、部門2で製造工程2を行うような取り決めが存在する場合や、そのような前後関係の制約を加えたうえでスケジュール作成を試行したい場合がある。そのような場合に、部門の前後関係の設定画面で、部門を跨ぐ前後関係を設定することができる。部門の前後関係の設定画面で前後関係が設定されると、表示制御部17は、設定された部門間の前後関係を記憶部18へ登録する。
共通リソースの設定ボタン304が押下されると、表示制御部17は、図示しない共通リソースの設定画面を表示する。この画面では、例えば、部門1に対応付けたリソース“001”と部門2に対応付けたリソース“003”が共通リソースの場合(例えば、工場では、リソース“001”と“003”が同じ機械を意味する。)、リソース“001”とリソース“003”を対応付けて共通リソースであることを設定する。共通リソースが設定されると、表示制御部17は、共通リソースの設定を記憶部18へ登録する。
スケジュール初期条件の設定ボタン305が押下されると、表示制御部17は、図示しないスケジュール初期条件の設定画面を表示する。この画面では、例えば、部門1〜部門3それぞれに対して作業開始可能日時(境界条件)の初期値を設定する。後述するように、部門スケジュール作成装置31〜33は、この初期設定に基づいて1回目の部門スケジュール1〜3を作成する。そして、全体スケジュール作成装置20が、部門スケジュール1〜3を統合して、全体スケジュールを作成し、境界条件を調整する。初期条件が設定されると、表示制御部17は、初期条件の設定を記憶部18へ登録する。
終了ボタン306が押下されると、表示制御部17は、問題設定パラメータ設定画面300の表示を停止し、計算実行画面200を表示する。
図3Dは、実施形態に係る表示画面の一例を示す第4の図である。
強化学習パラメータ設定画面400は、強化学習手法の選択欄401と、パラメータの設定欄402と、終了ボタン403と、を含む。計算実行画面200で強化学習パラメータ入力ボタン203が押下されると、表示制御部17は、強化学習パラメータ設定画面400を作成し、ディスプレイへ表示する。
強化学習手法の選択欄401では、強化学習の手法が選択できる。例えば、Q学習、DQN(deep Q network)、方策勾配法などが選択可能であってもよい。
パラメータ設定欄402では、強化学習手法の選択欄401で選択された手法において設定可能なパラメータが自動的に表示される。図3Dの例では、選択欄401で“Q学習”が選択されたことに基づいて、“エピソード数”、“ステップ数”、“学習率”、“割引報酬率”、“時間調整幅”の各パラメータが自動表示されている。ユーザは、各パラメータの値を設定することができる。
表示制御部17は、選択された強化学習の手法と、各パラメータの設定値を記憶部18へ登録する。
終了ボタン403が押下されると、表示制御部17は、強化学習パラメータ設定画面400の表示を停止し、計算実行画面200を表示する。
次に、計算実行画面200にて学習モデル作成ボタン204が押下されたときの動作について図5、図6を用いて説明する。図5は、実施形態に係る学習モデルの作成処理を説明する図である。
スケジューリング問題作成システム1は、全体スケジュール作成装置20と部門スケジュール作成装置31〜33が協調して動作することにより適切なスケジューリングを行うマルチエージェント構成を有する。全体スケジュール作成装置20は、部門間の制約やオーダごとの納期を把握して境界条件を設定し、部門スケジュール作成装置31〜33は設定された境界条件に基づいて、自部門のスケジュール作成のみを行う。
共通リソースの設定ボタン304(図3C)を用いて設定された共通リソースに関係する製造工程の情報は、管理装置10から全体スケジュール作成装置20へ事前に送信されている。大規模オーダに含まれるデータF2に設定された製造工程間の前後関係のうち部門を跨ぐものについての情報と、部門の前後関係の設定ボタン303(図3C)から設定された製造工程間の前後関係の情報は、管理装置10から全体スケジュール作成装置20へ事前に送信されている。また、全体スケジュール作成装置20には、大規模オーダに含まれるオーダごとの納期や、スケジュール初期条件の設定ボタン305(図3C)を用いて設定された境界条件の初期値が事前に管理装置10から送信され、設定されている。また、大規模オーダを部門ごとに分割した部門1の部門オーダ、部門2の部門オーダ、部門3の部門オーダが、それぞれ部門スケジュール作成装置31、32、33へ送信されている。
学習モデル作成部24は、境界条件の初期値を部門スケジュール作成装置31〜33へ送信し、境界条件を満たすように部門スケジュールを作成するよう指示する。部門スケジュール作成装置31は、境界条件と部門1の部門オーダに基づいて、部門スケジュール1を作成する。部門スケジュール1は製造工程501〜503がこの順で実行されるようにスケジュールされている。同様に、部門スケジュール作成装置32は、境界条件と部門2の部門オーダに基づいて部門スケジュール2(製造工程504〜506)を作成する。部門スケジュール作成装置33は、境界条件と部門3の部門オーダに基づいて部門スケジュール3(製造工程507〜509)を作成する。
部門スケジュール取得部23は、部門スケジュール作成装置31〜33から部門スケジュール1〜3を取得して、例えば、部門スケジュール1〜3の時間軸に基づいて、それらを統合し、全体スケジュール500を作成する。学習モデル作成部24は、強化学習パラメータ設定画面400(図3D)で設定した手法により行動価値表520(学習モデル)の学習を行う。例えば、Q学習が選択された場合、学習モデル作成部24は、全体スケジュール500に基づいて、各部門の部門スケジュール1〜3の状態を観測し、部門ごとの状態変数を算出する。具体的には、学習モデル作成部24は、全体スケジュール500に基づいて、事前に設定された工程の前後関係に関する制約の状態(遵守されているかどうか、違反がある場合は違反の程度)、共通リソースに関する制約の状態(競合が無いかどうか、競合違反がある場合は違反の程度)、部門が担当する工程の順序の状態、納期の状態(納期遅れが無いか、どの程度遅れているか等)を所定の基準により評価し、その評価結果を状態変数として数値化し、観測項目(前後関係、共通リソース、順序、納期)ごとの状態変数を部門ごとに示した部門別状態変数表510を作成する。状態変数の具体的な算出方法については、本実施形態の範囲外の為、これ以上説明しない。また、詳細な説明は省略するが、全体スケジュール作成装置20は、管理装置10から取得した共通リソースの設定に基づいて共通リソースの競合を検出する機能を有しており、部門スケジュール作成装置31〜33もその検出を可能にする情報(例えば、各製造工程において、その製造工程に対応するリソース(データF1)を使用する期間の情報など)を全体スケジュール作成装置20へ送信するように構成されている。
次に学習モデル作成部24は、行動価値表520(学習モデル)に基づいて、部門ごとの状態変数に応じた行動(例えば、着手可能日の変更)を決定する(表530)。そして、学習モデル作成部24は、行動の結果を境界条件に反映させ、境界条件を更新する。例えば、表530の場合、学習モデル作成部24は、部門1の境界条件である着手可能日時に対し、30分後ろ出しにするという行動(境界条件の調整)を行う。学習モデル作成部24は、新たな境界情報を部門スケジュール作成装置31〜33へ送信し、部門スケジュール1〜3の再作成を指示する。全体スケジュール作成装置20は、再作成後の部門スケジュール1〜3を取得し、全体スケジュール500を更新する。次に学習モデル作成部24は、全体スケジュール500に基づいて報酬を算出する。報酬は、例えば、リードタイムの短縮率、納期遅延の短縮度、部門間の前後制約、共通リソース競合に関するペナルティーに基づいて所定の計算式から算出される。学習モデル作成部24は、今回の行動が採られる前の状態変数と今回採られた行動に対する行動価値表520の値を更新する。学習モデル作成部24は、ある状態において、ある行動を選択したときに得られる報酬を通じて、最も価値の高い行動を採るように行動価値表520の学習を行う。ここで、図6を参照する。
図6は、実施形態に係る学習モデルの一例を示す図である。
図6に例示する行動価値表520は、図5の部門別状態変数表510に示す状態に対応するデータのみを示したものである。行動価値表520には、他の状態について行動を規定したデータも含まれている。図6の例では、各状態変数について5つの選択肢、つまり、着手可能日時に対して60分前倒し、30分前倒し、変更なし、30分後ろ倒し、60分後ろ倒しが選択可能となっている。各選択肢について設定されている数値は価値を示し、大きな値が設定されているほど価値が高い(学習において、その行動をとることにより高い報酬が得られた)ことを示し、状態の改善(前後関係の制約違反が解消される、共通リソースの競合が解消される、納期遅れが解消される等)に有効である可能性が高いと考えられる。学習モデル作成部24は、行動価値表520から選択した行動の結果(報酬)に基づいて、状態と選択した行動に対応する価値を示す数値を更新する。例えば、行動により良い報酬が得られれば、その行動に対する価値を示す数値も上昇する。
学習モデル作成部24は、部門スケジュール作成装置31〜33が作成した部門スケジュール1〜3を取得して、各部門の状態の観測し、観測された状態と行動価値表520に基づく行動を最新の境界条件に反映させて、境界条件を調整し、調整後の境界条件を部門スケジュール作成装置31〜33へ送信して、部門スケジュール1〜3の作成を指示するという工程を繰り返して、部門間のスケジュール調整を行いつつ、行動価値表520の学習を行う。この工程を所定回数繰り返すか、行動価値表520の価値を示す数値が収束すると、学習モデル作成部24は学習を終了する。
なお、学習モデル作成部24は、学習中に、全体スケジュール500、オーダごとの納期に対する遅延の情報、部門を跨いで前後関係が設定されている製造工程間の空き時間(先行する製造工程が終了してから後行の製造工程が開始されるまでの時間)等の情報を、計算結果送信部22へ出力する。計算結果送信部22は、これらの情報を取得すると、すぐに管理装置10へ送信する。また、学習が終了すると、計算結果送信部22は、学習済みの学習モデルを管理装置10へ送信してもよい。
次に、計算実行画面200にてスケジュール作成ボタン205が押下されたときの動作について説明する。
スケジューリング問題作成システム1は、学習済みの行動価値表520を用いて、大規模オーダに対する製造スケジュールを作成する。全体スケジュール作成部25は、境界条件の初期値を部門スケジュール作成装置31〜33へ送信して、部門スケジュール1〜3の作成を指示する。部門スケジュール作成装置31〜33は、それぞれ、部門スケジュール1〜3を作成し、全体スケジュール作成装置20へ送信する。全体スケジュール作成装置20では、部門スケジュール取得部23が、部門スケジュール1〜3を取得して、それらを統合し、全体スケジュール500を作成する。全体スケジュール作成部25は、全体スケジュール500における部門1〜3の状態を観測し、学習済みの行動価値表520に基づいて、価値の高い行動を選択し、その行動により境界条件を更新する。全体スケジュール作成部25は、更新された境界条件を部門スケジュール作成装置31〜33へ送信して、部門スケジュール1〜3の再作成を指示する。部門スケジュール作成装置31〜33のそれぞれは、更新された境界条件を満たす部門スケジュール1〜3を作成する。全体スケジュール作成部25は、この工程を所定の回数だけ繰り返して、全体スケジュール500を最適化し、大規模オーダに対する製造スケジュールを作成する。
全体スケジュール500の最適化が終了すると、全体スケジュール作成部25は、最適化された全体スケジュール500を、計算結果送信部22へ出力する。計算結果送信部22は、全体スケジュール500を管理装置10へ送信する。最適化された全体スケジュール500とは、大規模オーダに対する製造スケジュールである。ユーザは、全体スケジュール作成装置20から送信された全体スケジュール500を確認、評価することで、問題設定の適切さや、学習モデルの学習手法やパラメータが適切であったか否かを把握することができる。
また、全体スケジュール作成部25は、最適化中に、全体スケジュール500、オーダごとの納期に対する遅延の情報、部門を跨いで前後関係が設定されている製造工程間の空き時間等の情報を計算結果送信部22へ出力し、計算結果送信部22が、これらの情報を逐次、管理装置10へ送信してもよい。
次に、計算実行画面200にてグラフ・動画の作成ボタン206が押下されたときの動作について説明する。
上述したように、学習モデルの学習中、あるいは、全体スケジュール500の最適化中、計算結果送信部22は、学習過程又は最適化過程における納期遅れの情報などをその都度、管理装置10へ送信する。管理装置10は送信された情報を取得し、記憶部18へ記録する。表示制御部17は、送信された情報から各種グラフ、動画などを作成する。図7〜図9は、それぞれ、実施形態に係るグラフ・動画の一例を示す第1〜第3の図である。
図7に表示制御部17が作成する動画の一例を示す。表示制御部17は、学習が1回終わるたびに全体スケジュール作成装置20の計算結果送信部22が送信した学習中の全体スケジュール500を、取得時刻が古いものから順に記憶部18から読み出し、それを順に出力することによって、学習過程における全体スケジュール500の変化を示す動画を作成する。図7(a)〜図7(c)のグラフは、作成された動画のうち、部門を跨ぐ前後関係の調整に関し、全体スケジュール500の一部を示したものである。部門2が担当する製造工程506と部門3が担当する製造工程507にはFS関係が設定されている。図7(a)は、Q学習による学習中(エピソード数がN回、ステップ数がM回)における製造工程506と製造工程507の前後関係を示している。図7(a)に示す状態では、FS関係が守られていない。図7(b)は、図7(a)の状態から学習が進み、エピソード数がN+1回、ステップ数がL回となったときの全体スケジュール500における製造工程506と製造工程507の前後関係を示している。図7(b)に示す状態は、図7(a)に示す状態に比べ大幅に改善されているが、FS関係は完全には守られていない。図7(c)は、図7(b)の状態から更に学習が進み、エピソード数がN+1回、ステップ数がL+100回となったときの製造工程506と製造工程507の前後関係を示している。図7(c)に示す状態では、FS関係が守られている。
ユーザは、例えば、学習中にグラフ・動画の作成ボタン206を押下し、図7に例示する動画を確認して全体スケジュール500を確認することで、学習の進捗状況を把握することができる。例えば、動画を再生して、図7(a)のような状況で終了すれば、ユーザは、学習には未だ時間が掛かると認識する。
図8に、ステップ数と納期遅れの関係を示す。例えば大規模オーダには、Order_01〜Order_10の10個のオーダが含まれている。表示制御部17は、学習中に取得した全体スケジュール500におけるOrder_01〜Order_10の納期の遅延時間を計算し、図8に例示するグラフを作成する。この大規模オーダについて、問題の設定、学習パラメータの設定を行って学習を行ったところ、あるエピソードのステップ数K回で、10個のオーダすべてについて納期遅延が解消していることが分かる。
図9に、ステップ数と部門間の余裕時間の関係を示す。表示制御部17は、学習中に取得した全体スケジュール500における部門1の製造工程の終了から部門2の製造工程の開始までの時間、部門2の製造工程の終了から部門3の製造工程の開始までの時間を計算し、図9に例示するグラフを作成する。部門1の製造工程終了後、すぐに部門2の製造工程を開始することを理想とし、部門2の製造工程終了後、すぐに部門3の製造工程を開始することを理想とする場合、図9のグラフは、学習(境界条件の調整)により、それらの製造工程間での余計な待ち時間(余裕時間)が減少していく様子を示している。
例えば、設定パラメータが不適切な場合、図7に例示した前後関係の制約や、図8に例示した納期遅延が所定の計算回数以内に解決しない可能性がある。あるいは、納期や前後関係の制約を守ることができても、余裕時間が空いたままの全体スケジュールしか作成できないような場合が生じ得る。表示制御部17が作成するグラフや動画により、ユーザは、パラメータ設定の適否や学習モデルのパフォーマンス(最適化の程度が十分かなど)について評価することができる。そして、その評価結果に基づいて、再度、パラメータ設定を行ったり、分割の設定や学習手法などを変化させた新たな問題を登録したりして、より良い全体スケジュールが得られる問題設定(分割の設定、学習手法、学習パラメータの設定)に基づくスケジューリングを試行することができる。また、表示制御部17が、各種グラフを自動的に作成するので、学習過程の計算結果を自ら集計する必要がない。
次にスケジューリング問題作成システム1の動作について説明する。
(問題の作成処理)
図10は、実施形態に係るスケジューリング問題作成システムの処理の一例を示す第1のフローチャートである。
まず、ユーザが、問題設定パラメータ設定画面300を利用して、問題の設定を行う。例えば、ユーザは、オーダごとの納期、部門とリソースの対応関係、部門の前後関係、共通リソースの設定、スケジュール初期条件を設定する。設定情報取得部12は、これらの設定を取得し、記憶部18に記録する(ステップS1)。
次に、ユーザは、強化学習パラメータ設定画面400を利用して、強化学習の手法、その手法で使用するパラメータの設定を行う。設定情報取得部12は、これらの設定を取得し、記憶部18に記録する(ステップS2)。
次にユーザが、学習用の大規模オーダを所定のディレクトリに配置する等して、計算実行画面200の大規模オーダ分割ボタン202を押下する。すると、分割部13が、所定のディレクトリから学習用の大規模オーダが格納された電子ファイルを読み出す。分割部13は、大規模オーダを部門ごとに分割し(ステップS3)、部門ごとの部門別オーダを作成する。
次にユーザが、計算実行画面200の学習モデル作成ボタン204を押下する。すると、学習モデル作成指示部14が、ステップS1で設定されたオーダごとの納期、部門の前後関係、共通リソースの設定、スケジュール初期条件、ステップS3で分割して作成された部門1〜3それぞれの部門別データを、全体スケジュール作成装置20へ送信し、学習モデルの作成を指示する。全体スケジュール作成装置20では、学習モデル作成部24が、部門スケジュール作成装置31へ、部門1の部門別データと部門1の境界条件を送信し、部門スケジュール1の作成を指示する。学習モデル作成部24は、部門スケジュール作成装置32、33に対しても同様の指示を行う。学習モデル作成部24は、図5、図6を参照して説明した処理により、学習モデルを作成する(ステップS4)。例えば、学習モデル作成部24は、オーダごとの納期および製造工程間の制約の達成度等に応じて境界条件を算出する。学習モデルの学習過程において、計算結果送信部22は、1ステップの計算が完了する度に、学習モデル作成部24による計算結果を管理装置10へ送信する。学習モデルの作成が完了すると、学習モデル作成部24は、学習モデル作成の完了を管理装置10へ通知する。学習モデル作成部24は、学習済みの学習モデルを記憶部26に記録する。
次にユーザが、計算実行画面200のスケジュール作成ボタン205を押下する。すると、全体スケジュール作成指示部15が、ステップS4で作成した学習済みの学習モデルを利用して、全体スケジュールを作成するよう全体スケジュール作成装置20へ指示する。全体スケジュール作成部25は、上で説明した最適化処理により、全体スケジュールを作成する(ステップS5)。例えば、全体スケジュール作成部25は、オーダごとの納期の達成度、前記製造工程間の制約の達成度などが向上するように部門スケジュール1〜3における着手可能日時を調整して、全体スケジュールを作成する。計算結果送信部22は、最適化された全体スケジュール(学習用の大規模オーダに対する製造スケジュール)を管理装置10へ送信する。
次にユーザが、計算実行画面200のグラフ・動画の作成ボタン206を押下する。すると、表示制御部17が、計算結果送信部22から送信された各種情報を記憶部18から読み出して、図7〜図9で例示したグラフ・動画など学習の進捗や学習モデルのパフォーマンスを示す情報を作成する(ステップS6)。ユーザは、作成されたグラフ等を参照して、問題の設定や学習モデルを評価する。ユーザは、評価結果に基づいて、問題設定パラメータの設定、学習パラメータの設定を修正してステップS4〜S6の処理を、スケジューリング問題作成システム1に実行させることにより再評価してもよい。ユーザは、新しい問題を登録して、ステップS3〜S6の処理を実行させることにより、新しい問題の作成・評価を行ってもよい。
問題の作成・評価が完了すると、スケジューリング問題作成システム1を使用して実際の大規模オーダに対する製造データを作成することができる。
(大規模オーダに対する製造データの作成処理)
図11は、実施形態に係るスケジューリング問題作成システムの処理の一例を示す第2のフローチャートである。
まず、ユーザが、管理画面100で、登録済みの問題の中から、実際の大規模オーダに適用する問題を選択する。表示制御部17は、選択された問題のIDを認識し、計算実行画面200を表示する(ステップS11)。
次にユーザが、実際の大規模オーダを所定のディレクトリに配置して、計算実行画面200の大規模オーダ分割ボタン202を押下する。すると、分割部13が、所定のディレクトリから学習用の大規模オーダが格納された電子ファイルを読み出す。分割部13は、大規模オーダを部門ごとに分割し(ステップS12)、部門ごとに部門別オーダを作成する。
次にユーザが、計算実行画面200のスケジュール作成ボタン205を押下する。すると、全体スケジュール作成指示部15が、選択された問題で設定されたオーダごとの納期、部門の前後関係、共通リソースの設定、スケジュール初期条件、ステップS12で分割して作成された部門1〜3の部門別データを、全体スケジュール作成装置20へ送信し、全体スケジュールの作成を指示する。
全体スケジュール作成装置20では、全体スケジュール作成部25が、全体スケジュールを作成する(ステップS13)。具体的には、全体スケジュール作成部25は、部門スケジュール作成装置31へ、部門1の部門別データと部門1の境界条件を送信し、部門スケジュール1の作成を指示する。全体スケジュール作成部25は、部門スケジュール作成装置32、33に対しても同様の指示を行う。全体スケジュール作成部25は、部門スケジュール1〜3を統合した全体スケジュールと、学習済みの学習モデルと、に基づいて部門1〜3の境界条件を調整し、再度、部門スケジュール作成装置31〜33に部門スケジュール1〜3の作成を指示するという工程を所定回数繰り返し、全体スケジュールの最適化を行う。計算結果送信部22は、最適化された全体スケジュールを実際の大規模オーダに対する製造スケジュールとして管理装置10へ送信する。
以上、説明したように、スケジューリング問題作成システム1は、(1)大規模オーダを分割する方法を設定する手段(部門の設定ボタン302)、(2)その設定に従って、大規模オーダを小規模オーダに分割する手段(大規模オーダ分割ボタン202)、(3)小規模オーダで作成されたスケジュールを統合して作成された全体スケジュールを評価し、要件を満たす全体スケジュールが作成できるように、小規模オーダからスケジュールを作成する際の境界条件の調整方法を学習する手段(学習モデル作成部24)、(4)境界条件の調整方法を学習する手法についての設定を可能にする手段(強化学習パラメータ設定画面400)、(5)(1)〜(4)の設定および処理を評価する手段(グラフ・動画の作成ボタン206)を備える。
これにより、大規模オーダの分割から、分割後の小規模オーダに基づくスケジュールの統合までを最適に行って、元の大規模オーダに対する製造スケジュールを作成する方法、換言すれば、大規模オーダに対する製造スケジュールを作成するための問題設定とその問題を解く方法を繰り返し、試行、評価し、適切な問題設定および適切な解法を見つけることができる。また、大規模オーダに対する製造スケジュールを作成するための学習用問題を個別に準備する必要がなく、かつ自動で準備することができる。また、学習モデルの作成も自動的に行われるので、大規模オーダを多数の部門に分割した場合でも、部門間のスケジュール調整に要する期間を短縮することができる。つまり、分割数が多い場合でも、部門間のスケジュール調整を適切に行い、元の大規模データに対する製造データを作成することができる。
図12は、一実施形態に係るスケジューリング問題作成システムのハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。
上述の管理装置10、全体スケジュール作成装置20、部門スケジュール作成装置31〜33は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
なお、管理装置10、全体スケジュール作成装置20、部門スケジュール作成装置31〜33の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、部門ごとに部門スケジュール作成装置31等を設けることとしたが、1台の部門スケジュール作成装置31が部門1〜部門3のそれぞれのスケジュールを作成するようにしてもよい。
<付記>
各実施形態に記載のスケジューリング問題作成システム1、スケジューリング問題作成方法およびプログラムは、例えば以下のように把握される。
(1)第1の態様に係るスケジューリング問題作成システム1は、1つ又は複数のオーダ(注文)に係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データ(データF1,F2など)について、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュール(大規模オーダに対する製造スケジュール)を作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付ける問題設定受付部と、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割する分割部と、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付ける学習パラメータ設定部と、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する学習モデル作成部と、を備える。
これにより、大規模オーダに対する製造スケジュールを作成するための適切な問題設定を行うことができる。
(2)第2の態様に係るスケジューリング問題作成システム1は、(1)のスケジューリング問題作成システム1であって、前記問題設定受付部(設定情報取得部12)では、前記部門と前記製造工程とを対応付ける設定を受け付ける。
これにより、職制上の部門に限らず、任意に部門を設定し、部門ごとに大規模オーダを分割することができる。
(3)第3の態様に係るスケジューリング問題作成システム1は、(1)〜(2)のスケジューリング問題作成システム1であって、前記問題設定受付部(設定情報取得部12)では、前記製造工程で使用される製造に必要なリソースについて、他の前記工程でも使用される共通リソースの設定を受け付ける。
これにより、部門間で共通リソースの競合が無い全体スケジュール作成のための学習モデルを作成することができる。
(4)第4の態様に係るスケジューリング問題作成システム1は、(1)〜(3)のスケジューリング問題作成システム1であって、前記問題設定受付部(設定情報取得部12)では、前記オーダごとに前記部門間の前後関係の設定を受け付ける。
これにより、任意に設定した部門間の前後関係の制約を満たす全体スケジュール作成のための学習モデルを作成することができる。
(5)第5の態様に係るスケジューリング問題作成システム1は、(1)〜(4)のスケジューリング問題作成システム1であって、前記問題設定受付部(設定情報取得部12)では、前記オーダごとの納期の変更の設定を受け付ける。
これにより、任意に設定したオーダごとの納期を満たす全体スケジュール作成のための学習モデルを作成することができる。
(6)第6の態様に係るスケジューリング問題作成システム1は、(1)〜(5)のスケジューリング問題作成システム1であって、前記部門スケジュールと、学習済みの前記学習モデルと、に基づいて前記全体の製造スケジュールを作成する全体スケジュール作成部25、をさらに備える。
学習済みの学習モデルを使用して大規模オーダに対する製造スケジュールを作成することにより、実際に納期などの要求を満たすスケジューリングが可能かどうかを確認することができる。また、学習用の大規模オーダではなく、実際の大規模オーダを使用すれば、実際の大規模オーダに対する製造スケジュールを作成することができる。
(7)第7の態様に係るスケジューリング問題作成システム1は、(6)のスケジューリング問題作成システム1であって、全体スケジュール作成部25は、前記オーダごとの納期および前記製造工程間の制約に対する要求を達成できるように、前記部門スケジュールにおける着手可能日時を調整して、前記全体の製造スケジュールを作成する。
(8)第8の態様に係るスケジューリング問題作成システム1は、(1)〜(7)のスケジューリング問題作成システム1であって、前記学習の進捗又は前記学習モデルの性能を示す情報を表示する表示制御部17、をさらに備える。
これにより、学習の進捗具合や学習モデルのパフォーマンスを評価することができる。また、学習モデルの評価に必要なデータを収集する手間が省ける。
(9)第9の態様に係るスケジューリング問題作成システム1は、(8)のスケジューリング問題作成システム1であって、前記表示制御部17は、前記オーダごとの納期に対する遅延量と前記学習における学習回数とを対応付けて表示する(図8)。
(10)第10の態様に係るスケジューリング問題作成システム1は、(1)〜(9)のスケジューリング問題作成システム1であって、前記学習手法は、Q学習で、前記モデルは、前記オーダごとの納期および前記工程間の制約を達成するために必要な前記部門スケジュールの着手可能日の調整量を定めた行動価値表520である。
(11)第11の態様に係るスケジューリング問題作成方法は、スケジューリング問題作成システム1が、1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する。
(12)第12の態様に係るプログラムは、コンピュータ900に、1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する処理、を実行させるプログラムである。
1・・・スケジューリング問題作成システム
10・・・管理装置
11・・・オーダ情報取得部
12・・・設定情報取得部
13・・・分割部
14・・・学習モデル作成指示部
15・・・全体スケジュール作成指示部
16・・・計算結果情報取得部
17・・・表示制御部
18・・・記憶部
20・・・全体スケジュール作成装置
21・・・指示情報取得部
22・・・計算結果送信部
23・・・部門スケジュール取得部
24・・・学習モデル作成部
25・・・全体スケジュール作成部
26・・・記憶部
31〜33・・・部門スケジュール作成装置
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース

Claims (12)

  1. 1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、
    前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付ける問題設定受付部と、
    前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割する分割部と、
    前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付ける学習パラメータ設定部と、
    設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する学習モデル作成部と、
    を備えるスケジューリング問題作成システム。
  2. 前記問題設定受付部では、前記部門と前記製造工程とを対応付ける設定を受け付ける、
    請求項1に記載のスケジューリング問題作成システム。
  3. 前記問題設定受付部では、前記製造工程で使用される製造に必要なリソースについて、他の前記製造工程でも使用される共通リソースの設定を受け付ける、
    請求項1または請求項2に記載のスケジューリング問題作成システム。
  4. 前記問題設定受付部では、前記オーダごとに前記部門間の前後関係の設定を受け付ける、請求項1から請求項3の何れか1項に記載のスケジューリング問題作成システム。
  5. 前記問題設定受付部では、前記オーダごとの納期の変更の設定を受け付ける、
    請求項1から請求項4の何れか1項に記載のスケジューリング問題作成システム。
  6. 前記部門スケジュールと、学習済みの前記学習モデルと、に基づいて前記全体の製造スケジュールを作成する全体スケジュール作成部、をさらに備える請求項1から請求項5の何れか1項に記載のスケジューリング問題作成システム。
  7. 全体スケジュール作成部は、前記オーダごとの納期および前記製造工程間の制約に対する要求を達成できるように、前記部門スケジュールにおける着手可能日時を調整して、前記全体の製造スケジュールを作成する、
    請求項6に記載のスケジューリング問題作成システム。
  8. 前記学習の進捗又は前記学習モデルの性能を示す情報を表示する表示制御部、をさらに備える請求項1から請求項7の何れか1項に記載のスケジューリング問題作成システム。
  9. 前記表示制御部は、前記オーダごとの納期に対する遅延量と前記学習における学習回数とを対応付けて表示する、
    請求項8に記載のスケジューリング問題作成システム。
  10. 前記学習手法は、Q学習で、前記学習モデルは、前記オーダごとの納期および前記製造工程間の制約を達成するために必要な前記部門スケジュールの着手可能日の調整量を定めた行動価値表である、
    請求項1から請求項9の何れか1項に記載のスケジューリング問題作成システム。
  11. スケジューリング問題作成システムが、
    1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、
    前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、
    前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、
    前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、
    設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する、
    スケジューリング問題作成方法。
  12. コンピュータに、
    1つ又は複数のオーダに係る複数の製造工程と、前記製造工程間の制約と、前記オーダごとの納期と、を含む製造データについて、
    前記製造データに含まれる全ての前記オーダの納期を満たす全体の製造スケジュールを作成する問題を、前記製造工程を担当する部門ごとの製造スケジュールである部門スケジュールを作成し、前記部門スケジュールを統合することによって、前記全体の製造スケジュールを作成する問題として設定し直すための設定を受け付け、
    前記設定に基づいて、前記製造データを、それぞれの前記部門が担当する前記製造工程ごとに分割し、
    前記全体の製造のスケジュールを前記統合により作成するにあたり、前記部門スケジュールを全ての前記部門について統合した統合スケジュールにおける前記オーダごとの納期および前記製造工程間の制約の達成度に応じて前記部門スケジュール間の調整を行うものであって、前記部門スケジュールの作成において満たすべき条件を示す境界条件の調整方法の学習モデルを作成するための学習手法と該学習手法のパラメータの設定を受け付け、
    設定された前記学習手法および前記パラメータに基づく学習を実行し、前記学習モデルを作成する処理、
    を実行させるプログラム。
JP2020026117A 2020-02-19 2020-02-19 スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム Withdrawn JP2021131670A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020026117A JP2021131670A (ja) 2020-02-19 2020-02-19 スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020026117A JP2021131670A (ja) 2020-02-19 2020-02-19 スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2021131670A true JP2021131670A (ja) 2021-09-09

Family

ID=77551023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020026117A Withdrawn JP2021131670A (ja) 2020-02-19 2020-02-19 スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2021131670A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117631633A (zh) * 2024-01-26 2024-03-01 四川琪达实业集团有限公司 一种服装定制产线柔性控制系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117631633A (zh) * 2024-01-26 2024-03-01 四川琪达实业集团有限公司 一种服装定制产线柔性控制系统及方法
CN117631633B (zh) * 2024-01-26 2024-04-19 四川琪达实业集团有限公司 一种服装定制产线柔性控制系统及方法

Similar Documents

Publication Publication Date Title
Richter et al. Digital work design: The interplay of human and computer in future work practices as an interdisciplinary (grand) challenge
US11429433B2 (en) Process discovery and automatic robotic scripts generation for distributed computing resources
Chu et al. Hybrid method integrating agent-based modeling and heuristic tree search for scheduling of complex batch processes
Mendez et al. An MILP framework for batch reactive scheduling with limited discrete resources
WO2018220744A1 (ja) 生産計画作成装置、生産計画作成方法及び生産計画作成プログラム
CN104220943B (zh) 生产计划制定决定方法以及生产计划制定装置
US20080244594A1 (en) Visual scripting of web services for task automation
CN107862436B (zh) 物料清单的生成方法、装置、终端和计算机可读存储介质
WO2013154164A1 (ja) スケジューリング装置、スケジューリング方法およびコンピュータプログラム
WO2013038785A1 (ja) 保守計画システム、保守計画システムサーバ、及び保守計画システムクライアント端末
CN112149838A (zh) 实现自动构建模型的方法、装置、电子设备和存储介质
Sun et al. A PLM-based data analytics approach for improving product development lead time in an engineer-to-order manufacturing firm
JP2021131670A (ja) スケジューリング問題作成システム、スケジューリング問題作成方法およびプログラム
CN112948099B (zh) 任务发布流程方法、装置、计算机设备和存储介质
WO2020053991A1 (ja) 製造システム設計支援装置
Angelopoulos et al. Capturing variability in adaptation spaces: A three-peaks approach
Cheeseman* et al. Adaptive manufacturing scheduling: a flexible and configurable agent-based prototype
JP2007316851A (ja) 作業管理方法及び作業管理システム
US20070033080A1 (en) Method and apparatus for process discovery related applications
JP2003030392A (ja) アクション管理支援システム
US8090812B2 (en) CAE analysis progress management system
US6917843B2 (en) System and method for scheduling production of molds
Schunselaar et al. Petra: A tool for analysing a process family
JP2020057176A (ja) 作業スケジュール作成装置
US20110313802A1 (en) System and method for task management with sub-portions and multiple sub-portion characteristic manipulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220914

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20230602