(57)【要約】      （修正有）【解決手段】製造ジョブの期限に関係するコストを最小限に抑えるために、強化学習を使用する製造ディスパッチングシステムにおいて、マシン状態及びジョブキュー状態とジョブ処理情報及び余裕時間情報との両方を含む強化学習のための状態表現、レイトネス及びターディネスを含む強化学習のための新規の報酬関数並びにディスパッチングポリシを転移し、ディスパッチングポリシを回復する。【効果】製造ディスパッチングのためのシステムにおいて、製造ジョブの期限に関係するコストを減らすため、製造ディスパッチングのために工場内に導入することができ、膨大なデータ収集を減らしモデルの訓練時間を減らすことができ、最終的にディスパッチングの効率を改善し、工場のコストを減らすことができる。【選択図】図１
2020123356.tif 000002
【特許請求の範囲】
【請求項１】
工場の工場プロセスに命令を与えるように構成される訓練された深層学習モデルを生成することであって、
前記生成することには、
前記工場プロセスからパラメータを得て前記工場プロセスの状態を導出することであって、前記パラメータは余裕時間を含む、導出すること、
レイトネス及びターディネスに対して訓練される前記工場プロセスに深層学習モデルを適用することに基づいて、前記工場プロセスのための命令を決定すること、
前記工場での実行のために前記工場プロセスへの命令を提供すること、
前記工場から受信される完了時間を含む、前記工場プロセスの更新済みのパラメータから前記状態の状態遷移を得ること、及び
前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することであって、前記報酬は所定のジョブの期限及び前記完了時間からレイトネス及びターディネスを導出することに基づく、計算すること
を含む、方法。
【請求項２】
請求項１に記載の方法であって、
前記工場プロセスのための命令を決定すること、前記工場での実行のために前記工場プロセスへの命令を提供すること、前記工場から受信される前記工場プロセスの更新済みのパラメータから状態遷移を得ること、及び前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することは、順に実行され、前記深層学習モデルが前記訓練された深層学習モデルとして収束するまで繰り返される、方法。
【請求項３】
請求項１に記載の方法であって、
前記工場プロセスの前記状態は、マシン状態及びジョブキュー状態を含み、前記マシン状態は前記工場プロセスに関連するマシンが所定の各時間スロットにおいて割り当てられているか遊休状態かを示し、前記ジョブキュー状態はジョブスロット内の又はバックログ内の処理を待機するジョブの特性を示す、方法。
【請求項４】
請求項３に記載の方法であって、
前記工場プロセスの前記状態は、前記マシン状態及び前記ジョブキュー状態を含む２Ｄ行列によって表され、前記ジョブキュー状態は、アレイにおいて表される処理時間及び前記余裕時間を含み、前記方法は、前記ジョブの期限及び完了時間の関数に基づいて前記レイトネス及びターディネスを決定することを更に含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記工場から別の工場に前記深層学習モデルを転移することをさらに含み、
前記転送することは、
前記工場と前記別の工場との間の射影関数を計算すること、
前記訓練された深層学習モデルから決定される前記工場の最適ポリシに基づいてソース状態軌道を生成すること、
前記ソース状態軌道をターゲット状態軌道に変換すること、
回復プロセスを実行して前記ターゲット状態軌道から前記別の工場のための前記深層学習モデルを決定すること、及び
前記深層学習モデルを適用して前記別の工場に命令を与えること
を含む、方法。
【請求項６】
請求項５に記載の方法であって、
前記回復プロセスは、
前記別の工場のアクション軌道を計算すること、及び
前記ターゲット状態軌道を入力として、及び前記アクション軌道を出力クラスラベルとして使用することで前記深層学習モデルを訓練すること
を含む、方法。
【請求項７】
プロセスを実行するための命令を記憶する非一時的コンピュータ可読媒体であって、
前記命令は
工場の工場プロセスに命令を与えるように構成される訓練された深層学習モデルを生成すること
を含み、
前記生成することは、
前記工場プロセスからパラメータを得て前記工場プロセスの状態を導出することであって、前記パラメータは遊び時間を含む、導出すること、
レイトネス及びターディネスに対して訓練される前記工場プロセスに深層学習モデルを適用することに基づいて前記工場プロセスのための命令を決定すること、
前記工場での実行のために前記工場プロセスへの命令を提供すること、
前記工場から受信される完了時間を含む、前記工場プロセスの更新済みのパラメータから前記状態の状態遷移を得ること、及び
前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することであって、前記報酬は所定のジョブの期限及び前記完了時間からレイトネス及びターディネスを導出することに基づく、計算すること
を含む、非一時的コンピュータ可読媒体。
【請求項８】
請求項７に記載の非一時的コンピュータ可読媒体であって、
前記工場プロセスのための命令を決定すること、前記工場での実行のために前記工場プロセスへの命令を提供すること、前記工場から受信される前記工場プロセスの更新済みのパラメータから状態遷移を得ること、及び前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することは、順に実行され、前記深層学習モデルが前記訓練された深層学習モデルとして収束するまで繰り返される、
非一時的コンピュータ可読媒体。
【請求項９】
請求項７に記載の非一時的コンピュータ可読媒体であって、
前記工場プロセスの前記状態がマシン状態及びジョブキュー状態を含み、前記マシン状態は、前記工場プロセスに関連するマシンが割り当てられているか遊休状態かを示し、前記ジョブキュー状態は、前記マシンに関連するジョブが実行されているかバックログ内にあるかを示す、請求項７に記載の非一時的コンピュータ可読媒体。
【請求項１０】
請求項９に記載の非一時的コンピュータ可読媒体であって、
前記工場プロセスの前記状態は前記マシン状態及び前記ジョブキュー状態を含む２Ｄ行列によって表され、前記ジョブキュー状態は、アレイによって表される処理時間及び前記遊び時間を含み、前記方法は、前記処理時間及び前記余裕時間の関数に基づいて前記レイトネス及びターディネスを決定することを更に含む、
非一時的コンピュータ可読媒体。
【請求項１１】
請求項７に記載の非一時的コンピュータ可読媒体であって、
前記工場から別の工場に前記深層学習モデルを転移することを更に含み、
前記転移することは、
前記工場と前記別の工場との間の射影関数を計算すること、
前記訓練された深層学習モデルから決定される前記工場の最適ポリシに基づいてソース状態軌道を生成すること、
前記ソース状態軌道をターゲット状態軌道に変換すること、
回復プロセスを実行して前記ターゲット状態軌道から前記別の工場のための前記深層学習モデルを決定すること、及び
前記深層学習モデルを適用して前記別の工場に命令を与えること
を含む、
非一時的コンピュータ可読媒体。
【請求項１２】
請求項１１に記載の非一時的コンピュータ可読媒体であって、
前記回復プロセスは、
前記別の工場のアクション軌道を計算すること、及び
前記ターゲット状態軌道を入力として、及び前記アクション軌道を出力クラスラベルとして使用することで前記深層学習モデルを訓練すること
を含む、
非一時的コンピュータ可読媒体。
【請求項１３】
工場の工場プロセスを命令によって制御するように構成される装置であって、
訓練された深層学習モデルを記憶するように構成されるメモリと、
前記工場プロセスからパラメータを得て前記工場プロセスの状態を導出することであって、前記パラメータは遊び時間を含む、導出すること、
レイトネス及びターディネスに対して訓練される前記工場プロセスに深層学習モデルを適用することに基づいて前記工場プロセスのための命令を決定すること、
前記工場での実行のために前記工場プロセスへの命令を提供すること、
前記工場から受信される完了時間を含む、前記工場プロセスの更新済みのパラメータから前記状態の状態遷移を得ること、及び
前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することであって、前記報酬は所定のジョブの期限及び前記完了時間からレイトネス及びターディネスを導出することに基づく、計算すること
によって前記命令を与えるように構成される前記訓練された深層学習モデルを生成する
ように構成されるプロセッサと、
を含む、装置。
【請求項１４】
請求項１３に記載の装置において、
前記プロセッサは、前記工場プロセスのための命令を決定すること、前記工場での実行のために前記工場プロセスへの命令を提供すること、前記工場から受信される前記工場プロセスの更新済みのパラメータから状態遷移を得ること、及び前記深層学習モデルを更新するために与えられる前記命令に関する報酬を計算することを、前記深層学習モデルが前記訓練された深層学習モデルとして収束するまで順に繰り返し実行するように構成されている、
装置。
【請求項１５】
請求項１３に記載の装置において、
前記工場プロセスの前記状態は、マシン状態及びジョブキュー状態を含み、前記マシン状態は、前記工場プロセスに関連するマシンが割り当てられているか遊休状態かを示し、前記ジョブキュー状態は、ジョブスロット内の又はバックログ内の処理を待機するジョブの特性を示す、
装置。
【請求項１６】
請求項１５に記載の装置において、
前記工場プロセスの前記状態は、前記マシン状態及び前記ジョブキュー状態を含む２Ｄ行列によって表され、前記ジョブキュー状態は、アレイによって表される処理時間及び前記余裕時間を含み、前記方法は、前記ジョブの期限及び完了時間の関数に基づいて前記レイトネス及びターディネスを決定することを更に含む、
装置。
【請求項１７】
請求項１３に記載の装置において、
前記プロセッサは、
前記工場から別の工場に前記深層学習モデルを転移するように更に構成され、
前記転移することが、
前記工場と前記別の工場との間の投射関数を計算すること、
前記訓練された深層学習モデルから決定される前記工場の最適ポリシに基づいてソース状態軌道を生成すること、
前記ソース状態軌道をターゲット状態軌道に変換すること、
回復プロセスを実行して前記ターゲット状態軌道から前記別の工場のための前記深層学習モデルを決定すること、及び
前記深層学習モデルを適用して前記別の工場に命令を与えること
を含む、
装置。
【請求項１８】
請求項１７に記載の装置において、
前記回復プロセスは、
前記別の工場のアクション軌道を計算すること、及び
前記ターゲット状態軌道を入力として、及び前記アクション軌道を出力クラスラベルとして使用することで前記深層学習モデルを訓練すること
を含む、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して製造に関し、より具体的には深層強化学習及び転移学習による製造ディスパッチングに関する。
【背景技術】
【０００２】
製造業では、工場が顧客から生産ジョブオーダを受け付け、ジョブオーダの処理を開始し、最終的に顧客に製品を届ける。このプロセスには、それらのジョブの処理順序に関連するいくつかのコストがある。各ジョブには期限がある。期限超過コストは、ジョブを時間通りに届けることができない場合に発生するコストである。在庫コストは、ジョブが期限までに完了し、在庫が工場内に残ることになる場合に発生する保管コストである。従って、製造管理者は定刻の配送と、最小限の期限超過コスト及び在庫コストとを望む。しかし、これらの目標を達成するには効率的なディスパッチング規則が必要である。ディスパッチング規則は、サービスを待機する１組のジョブから処理すべき次のジョブを選択するために使用される。
【０００３】
関連技術では、ディスパッチングの問題は解決するのが難しいことが知られている。第１に、実際の問題は大規模である（例えば何百ものジョブ、数十台のマシン、及び多数の処理段階を含む）傾向があり、現実世界の問題に対する最適なディスパッチング規則を見つけることはＮＰ困難である。例えば処理マシンにおいてキューに入れられたｎ個のジョブがある場合、それらのジョブを順序付けるｎ！個の方法がある。第２に、一部のマシンにおける決定が他のマシンにおけるジョブの最適なシーケンスに影響を与える可能性があり、任意の時点における決定が後で最適決定に影響を与え可能性がある。第３に、最適なディスパッチング規則は工場ごとに異なる。実際、様々な工場構成及び運用条件の下、他の全ての規則よりも低い総コストを一貫してもたらすディスパッチング規則は知られていない。期限超過コスト及び在庫コストを考慮すると別のレベルの複雑さが加わる。
【０００４】
関連技術では、コンピュータジョブのスケジューリングに強化学習を使用することを含む実装形態がある。しかし、かかる関連技術の実装形態は余裕時間情報を考慮せず、期限超過コスト及び在庫コストを最小限に抑えることができない。関連技術の一部の実装形態は、パッキング技術を利用して資源利用を高める。関連技術の一部の実装形態はジョブのスケジューリングに強化学習を利用するが、状態表現が定められておらず、それらの実装形態の目的は期限超過コスト及び在庫コストを最小限に抑えることができない。
【０００５】
高度な製造において、一層多くのモノのインターネット（ＩｏＴ）の応用が採用され、マシンセンサデータ及び動作パラメータデータが収集されるにつれ、予知保全及び故障予測において深層学習モデルが伝統的な方法よりも優れている。データ集約型の深層学習モデルは、意思決定ヘルスケア、製造、財務モデリング、及びマーケティングで成功している。
【０００６】
マニホールドアライメントは、ゲーム内のドメイン間の転移に適用されている。マニホールドアライメントは２つの異なるドメインのデータに関する共用空間を見つけ、その共用空間内のデータの近傍関係を保持する。関連技術の実装形態は、一部の部分空間学習アプローチと非常に似ている。
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書に記載する実装形態の例は、深層強化学習及び転移学習に基づく製造ディスパッチングシステムを対象とする。深層強化学習を使用し、本発明は強化学習フレームワークを使用する製造ディスパッチングプロセスを策定する。転移学習を使用し、実装形態の例は或る工場から別の工場に最適なディスパッチングポリシを転移するためのアルゴリズムを設計する。
【０００８】
実装形態の例は、ジョブの期限に関係するコストを最小限に抑えるために強化学習を使用する製造ディスパッチングシステムの設計、マシン状態及びジョブキュー状態とジョブ処理情報及び余裕時間情報との両方を含む強化学習のための状態表現、レイトネス（Ｌａｔｅｎｅｓｓ）及びターディネス（Ｔａｒｄｉｎｅｓｓ）を含む強化学習のための新規の報酬関数、並びにディスパッチングポリシを転移しディスパッチングポリシを回復するためのアルゴリズム等の態様を含む。
【０００９】
実装形態の例は、深層強化学習及び転移学習に基づく製造ディスパッチングシステムの設計を含む。本明細書に記載の実装形態の例の使用を通じて、強化学習を使用することによって、及び任意の時間ステップ（例えば短期間から長期間）にわたって、ジョブの期限に関係するコストを最小限に抑えることができる。実装形態の例は、ジョブオーダが無作為に到着する動的な製造環境に適用することもでき、或る工場から別の工場に最適なディスパッチングポリシを転移するためにも使用することができる。
【００１０】
本開示の態様は、工場プロセスからパラメータを得て、余裕時間等の工場プロセスの状態を導出すること、レイトネス及びターディネスに対して訓練された工場プロセスの深層学習モデルを適用することに基づいて工場プロセスのための命令を決定すること、工場での実行のために工場プロセスへの命令を提供すること、工場から受信される完了時間を含む、工場プロセスの更新済みのパラメータから状態の状態遷移を得ること、及び深層学習モデルを更新するために与えられる命令に関する報酬を計算することであって、報酬は所定のジョブの期限及び完了時間からレイトネス及びターディネスを導出することに基づく、計算することを含み得る、工場の工場プロセスに命令を与えるように構成された訓練された深層学習モデルを生成することを含み得る方法を含む。
【００１１】
本開示の態様は、工場プロセスからパラメータを得て、余裕時間等の工場プロセスの状態を導出すること、レイトネス及びターディネスに対して訓練された工場プロセスに深層学習モデルを適用することに基づいて工場プロセスのための命令を決定すること、工場での実行のために工場プロセスへの命令を提供すること、工場から受信される完了時間を含む、工場プロセスの更新済みのパラメータから状態の状態遷移を得ること、及び深層学習モデルを更新するために与えられる命令に関する報酬を計算することであって、報酬は所定のジョブの期限及び完了時間からレイトネス及びターディネスを導出することに基づく、計算することを含み得る、工場の工場プロセスに命令を与えるように構成された訓練された深層学習モデルを生成することを含み得るプロセスを実行するための命令を格納する非一時的コンピュータ可読媒体を含む。
【００１２】
本開示の態様は、工場プロセスからパラメータを得て遊び時間等の工場プロセスの状態を導出するための手段、レイトネス及びターディネスに対して訓練される工場プロセスに深層学習モデルを適用することに基づいて工場プロセスのための命令を決定するための手段、工場での実行のために工場プロセスへの命令を提供するための手段、工場から受信される完了時間を含む、工場プロセスの更新済みのパラメータから状態の状態遷移を得るための手段、及び深層学習モデルを更新するために与えられる命令に関する報酬を計算するための手段であって、報酬は所定のジョブの期限及び完了時間からレイトネス及びターディネスを導出することに基づく、計算するための手段を含む、工場の工場プロセスに命令を与えるように構成された訓練された深層学習モデルを生成するための手段を含み得るシステムを含む。
【００１３】
本開示の態様は、工場の工場プロセスを命令によって制御するように構成された装置であって、訓練された深層学習モデルを格納するように構成されたメモリと、工場プロセスからパラメータを得て遊び時間等の工場プロセスの状態を導出すること、レイトネス及びターディネスに対して訓練される工場プロセスに深層学習モデルを適用することに基づいて工場プロセスのための命令を決定すること、工場での実行のために工場プロセスへの命令を提供すること、工場から受信される完了時間を含む、工場プロセスの更新済みのパラメータから状態の状態遷移を得ること、及び深層学習モデルを更新するために与えられる命令に関する報酬を計算することであって、報酬は所定のジョブの期限及び完了時間からレイトネス及びターディネスを導出することに基づく、計算することによって命令を与えるように構成された訓練された深層学習モデルを生成するように構成されるプロセッサとを含む、装置を更に含み得る。
【図面の簡単な説明】
【００１４】
【図１】図１は、実装形態の一例による、システムフローの一例を示す。
【００１５】
【図２】図２は、実装形態の一例による、マシン状態及びジョブキュー状態の表現を示す。
【００１６】
【図３】図３は、実装形態の一例による、ポリシ転移学習アルゴリズムに関するフローの一例を示す。
【００１７】
【図４】図４は、実装形態の一例による、ターゲット環境ポリシ回復アルゴリズムに関するフローを示す。
【００１８】
【図５】図５は、実装形態の一例による、複数のシステム及び管理装置を示す。
【００１９】
【図６】図６は、ソース環境とターゲット環境との間で転移を行うための環境を示す。
【００２０】
【図７】図７は、実装形態の例で使用するのに適したコンピュータデバイスの一例を有する計算環境の一例を示す。
【発明を実施するための形態】
【００２１】
以下の詳細な説明は、図面の更なる詳細及び本願の実装形態の例を示す。明瞭にするために、図面間の冗長な要素の参照番号及び説明は省いている。説明の全体を通して使用する用語は例として提供しており、限定的であることを意図していない。例えば「自動」という用語の使用は、本願の実装形態を実践する技術分野の通常の技術の一つの所望の実装形態に応じて、完全に自動の実装形態又は実装形態の特定の態様に対するユーザまたは管理者の制御を含む半自動の実装形態を含み得る。選択は、ユーザインタフェース又は他の入力手段によってユーザによって行われてもよく、又は所望のアルゴリズムによって実装され得る。本明細書に記載の実装形態の例は単独で又は組み合わせで利用することができ、実装形態の例の機能は所望の実装形態に従って任意の手段によって実装され得る。
【００２２】
本明細書に記載の実装形態の例は、深層強化学習に基づく製造ディスパッチング、及び転移学習を用いたディスパッチングポリシの転移という２つのセクションを含む。
【００２３】
図１は、実装形態の一例による、システムフローの一例を示す。図１に示すように、環境１０２はジョブキューブロック１０２−１及び処理マシンブロック１０２−２を含む。マシンブロック１０２−２は、１つの処理ユニット又は複数の処理ユニットを含むことができる。ジョブキューブロック１０２−１内で処理を待っている多くのジョブがある。エージェント１０１は強化学習ソフトウェアパッケージである。各時間ステップにおいて、強化学習エージェント１０１は、ジョブキュー状態１０１−１及びマシン状態１０１−２を含む状態ｓを観察し、関数近似器として深層学習モデル１０１−３を用いて各アクションに対する確率ベクトルを出力する。強化学習エージェント１０１のアクションは、ジョブキュー１０２−１内で待機しているジョブのインデックスである。エージェント１０１は、確率が最も高いアクションａを選択し、ａ番目のジョブをマシンブロック１０２−２に割り当てる。エージェントは、このアクションに関して環境から報酬ｒも受け取る。
【００２４】
ジョブキューブロック１０２−１は、ジョブスロット及びバックログスロットという２つの部分に更に分けることができる。ｎ個のジョブスロット及びｍ個のバックログスロットがあると仮定する。各ジョブは処理時間（ジョブ長）ｐ及び期限ｄを有する。ジョブは無作為に到着する。ジョブが到着すると、そのジョブはｎ個のジョブスロットの１つの中に無作為に配置される。ジョブスロットが満杯の場合、ジョブはバックログスロット上に配置される。ジョブスロット内に空きがある場合、バックログ内のジョブが到着順にジョブスロットに移される。ジョブがジョブスロット上に配置された場合、ディスパッチャはそのジョブのｐ及びｄを見ることができ、ジョブがディスパッチャによって選択され得る。バックログスロット上に配置されるジョブについては、ジョブカウントだけを見ることができ、それらのジョブはディスパッチャによって選択されない。ｔｃｕｒｒが現在の時間を示すものとする。関連技術の実装形態は余裕時間に対処できず、その最適化の目的関数はジョブの期限に関係するコストを最小限にすることができない。ジョブの余裕時間ｓｌａｃｋは式（１）のように定められる：
ｓｌａｃｋ＝ｄ−ｔｃｕｒｒ−ｐ・・・（１）
【００２５】
ｓｌａｃｋ＞０の場合、このジョブを今開始した場合は、このジョブが期限前に完了することを意味し、ｓｌａｃｋ＜０の場合は、このジョブが期限後に完了することを意味する。状態空間、アクション空間、報酬、訓練のシステム要素について以下のように説明する。
【００２６】
状態空間。状態空間は、マシン及びジョブキュー両方の状態を含む。任意の時間ステップにおいて、Ｔ時間ステップ先の状態を考慮し、Ｚ長のアレイを使用して余裕時間を表す。実装形態の例は、２Ｄ行列を利用してマシン状態及びジョブキュー状態を表す。
【００２７】
図２は、実装形態の一例による、マシン状態及びジョブキュー状態の表現を示す。マシン状態の値１は、その時間ステップにおいてマシンが割り当てられていることを意味し、値０はマシンが遊休になることを意味する。各時間ステップを通して時間が進むにつれて、Ｔ長のアレイが１単位ずつシフトアップし、新たな０値が一番下に付加される。ジョブキュー状態は、ｎ個のジョブスロット及びｍ個のバックログを含む。各ジョブスロットは、処理時間及び余裕時間という２つのアレイを使用して表される。処理時間のアレイはＴ長のアレイを使用して表され、１ｓの数はジョブ長ｐを示す。余裕時間はＺ長のアレイを使用して表され、１は正のｓｌａｃｋを意味し−１は負のｓｌａｃｋを意味する。遊び時間アレイの和はジョブのｓｌａｃｋを表す。バックログ状態は、合計ｍスロットある幾つかのＴ長のアレイによって表され、各スロットはジョブを表す。図２では、バックログは、２つの５長アレイを使用して表され、バックログ内には８個のジョブがある。マシン状態及びバックログの下の０ｓは余裕時間を表すものではなく、完全な２Ｄ行列の状態を作るために埋められている。
【００２８】
報酬。ディスパッチング性能は、レイトネスＬ、ターディネスＴＡの面から評価することができる。ジョブの完了時間をｃとする。レイトネスは、式（２）のようにジョブの期限とジョブの完了時間との絶対差である：
Ｌ＝｜ｃ−ｄ｜・・・（２）
【００２９】
ここで、Ｌ≧０である。ターディネスは、ジョブが遅れたときだけレイトネスを考慮する。従って、ターディネスＴＡは、式（３）のように定められる：
ＴＡ＝ｍａｘ（ｃ−ｄ，０）・・・（３）
【００３０】
ここで、ＴＡ≧０である。ディスパッチングポリシの目的は、平均のレイトネス及びターディネスを最小限に抑えることである。従って実装形態の例は、レイトネス及びターディネスに関して各時間ステップにおける報酬を式（４）、（５）に示すように設計する。
【００３１】
【数１】
2020123356.tif 000003
【００３２】
ここで、Ｐはマシンによって現在処理されている１組のジョブである。実行中のジョブの全ての時間ステップにわたるｒＬとｒＴＡとの和は、レイトネス及びターディネスの合計に等しい。
【００３３】
訓練。割引報酬の合計は、ポリシ勾配、Ａ３Ｃ、又は所望の実装形態に従う他の任意の方法等の標準の強化学習アルゴリズムを使用して最大化することができる。
【００３４】
実装形態の例では、ソース環境及びターゲット環境という２つの環境がある。ソース環境では、最適なディスパッチングポリシが既に知られている。本明細書で説明するように、実装形態の例は、ソース環境の最適なディスパッチングポリシを使用することにより、ターゲット環境における最適なディスパッチングポリシを決定する。
【００３５】
幾つかの無作為のソース状態（式（６））、無作為のターゲット状態（式（７））を所与とし、マニホールドアライメントは、式（８）の目的関数を最小化することによって２つの射影α、βを見つける：
【００３６】
【数２】
2020123356.tif 000004
【００３７】
ここで、無作為状態は列ベクトルに再形成される。Ｗｘ、Ｗｙは、ソース環境及びターゲット環境のそれぞれの相似行列である。Ｗは、ソース環境とターゲット環境との間の相似行列であり、ＫＮＮローカルジオメトリ行列を使用して計算することができる。この方程式を解くことは、一般固有値問題へと定式化することができる。
【００３８】
Ｃ（α，β）を最小化した後、２つの射影α、βがある。ソース状態からターゲット状態への状態の射影は、式（９）で与えられる：
χ＝βＴ†αＴ・・・（９）
【００３９】
ここで、βＴ†はβＴの行列の擬似逆である。次いで、方程式：
を使用してソース環境の状態ｓｘは、方程式（式（１０））を用いて、ターゲット環境の状態ｓｙに転移することができる。
ｓｙ＝χｓｘ・・・（１０）
【００４０】
図３は、実装形態の一例による、ポリシ転移学習アルゴリズムに関するフローの一例を示す。図３はポリシ転移学習を詳細に示す。フローの入力３００は、ソース環境及びターゲット環境の両方並びにソースの最適ポリシを含む。出力３０８は、ターゲットの最適ポリシである。３０１で、このフローは、ソース環境のための無作為のソース状態（式（６））、及びターゲット環境のための無作為のターゲット状態（式（７））を生成する。３０２で、ステップ１の無作為状態を使用し、目的関数Ｃ（α，β）を最小化することによって２つの射影α、βを計算することができる。
【００４１】
３０３で、方程式χ＝βＴ†αＴを使用することにより、ソース環境とターゲット環境との間の射影χを計算する。
【００４２】
３０４で、ソース環境内の最適ポリシをたどることにより、このフローは、ソース状態軌道（式（１１），式（１２））を生成する。ここで、式（１１）は、最適軌道をし、最適軌道は、順序が固定され、或る状態が別の状態をたどることを意味することに留意されたい。３０５で、このフローは、３０３で得た射影χを使用し、最適なソース状態軌道（式（１１），式（１２））を最適なターゲット状態軌道（式（１３），式（１４））に変換する。３０６で、図４で概説する回復ポリシターゲット環境アルゴリズムを使用することによって初期ポリシを回復する。３０７でアルゴリズムは、初期ポリシの微調整を行い、３０８でターゲット環境内の最適ポリシを出力する。
【００４３】
【数３】
2020123356.tif 000005
【００４４】
図４は、実装形態の一例による、ターゲット環境ポリシ回復アルゴリズムに関するフローを示す。特に、図４は、最適なターゲット状態軌道（式（１３），式（１４））を所与とし、ターゲット環境のポリシを回復するアルゴリズムを示す。ポリシは、状態からアクションへのマップである。ディスパッチング問題では、アクションは１組のジョブ又はジョブスロットのインデックスからジョブを選択することである。或る状態を所与とし、実装形態の例は、アクションａを実行し、ａ番目のジョブスロット列を０に設定することで次の状態を得ることができる。状態軌道（式（１５））を所与とし、実装形態の例は、状態が或る状態から次の状態に変化するという想定に基づいて動作する。アクション軌道（式（１６））を見つけるために方程式（式（１７））が利用される。
【００４５】
【数４】
2020123356.tif 000006
【００４６】
ここで、式（１８）は、式（１９）から式（２０）への状態変化に関するアクションである。
式（２１）は、式（１９）のａ番目のジョブスロット列を０ｓに設定することによって計算することができる。｜｜・｜｜は、ユークリッドノルムを示す。４０１でアクション軌道（式（２２），式（２３），．．．）を取得した後、このフローは４０２に進んで、入力特徴として状態軌道を使用し、出力クラスラベルとしてアクション軌道を使用することによって、深層モデルを訓練する。４０３で、ターゲットの最適ポリシが出力される。
【００４７】
【数５】
2020123356.tif 000007
【００４８】
図５は、実装形態の一例による、複数のシステム及び管理装置を示す。１つ又は複数のシステム５０１−１、５０１−２、５０１−３、及び５０１−４が、管理装置５０２に接続されたネットワーク５００に通信可能に接続される。管理装置５０２は、ネットワーク５００内のシステムから集約されるデータフィードバックを含むデータベース５０３を管理する。実装形態の代替例では、システム５０１−１、５０１−２、５０１−３、及び５０１−４からのデータフィードバックは、企業資源計画システム等のシステムからデータを集約する独自データベース等の中央リポジトリ又は中央データベースに集約することができ、管理装置５０２は中央リポジトリ又は中央データベースにアクセスし又はそこからデータを取得することができる。かかるシステムは、旋盤、プレス、ミル、グラインダ等の製造又は他のプロセスのためにオペレータが操作する装置、だけでなく、フォークリフト、クレーン、トラック等の移動装置や製造、工場、又は他のプロセスの目的でオペレータが操作する他の任意の装置を含み得る。ここで説明する実装形態の例では、複数の異なる工場を表すために図５に示すシステムの複数のインスタンスがあり得る。実装形態の例では、管理装置５０２が、できる。
【００４９】
図６は、実装形態の一例による、ソース環境とターゲット環境との間で転移を行うための環境を示す。特にソース環境６０１及びターゲット環境６０２はネットワーク６００を介して相互作用する。最適ポリシの転移は図３及び図４の実行によって行われ、所望の実装形態に応じてソース環境６０１又はターゲット環境６０２の何れかによって行われ得る。実装形態の一例では、ソース環境６０１又はソース環境６０１を管理する別のサードパーティ装置が、図３及び図４のフローを実行して訓練された深層学習モデルを生成し、その後、訓練された深層学習モデルをターゲット環境６０２に提供する。実装形態の別の例では、ソース環境６０１又は別のサードパーティ装置が図３の入力をターゲット環境６０２に提供し、ターゲット環境が図３及び図４のフローを実行して最適なターゲットポリシ及び訓練された機械学習モデルを決定する。図３、図４、及び図６の実装形態により、特定の最適化された特定の工場プロセスは変換され、同様の機能を呼び出す他の工場に提供されることができ、それにより他の工場内の工場コントローラのプログラミングに対して同じ最適化を実行することが可能となる。
【００５０】
図７は、管理装置５０２／６０１／６０２のため等、実装形態の例で使用するのに適したコンピュータ装置の一例を有する計算環境の一例を示す。計算環境７００内のコンピュータデバイス７０５は、１つ又は複数の処理ユニット、コア、又はプロセッサ７１０、メモリ７１５（例えばＲＡＭ、ＲＯＭ等）、内部記憶装置７２０（例えば磁気、光学、ソリッドステート記憶装置及び／又は有機）、及び／又はＩ／Ｏインタフェース７２５を含むことができ、その何れも情報を伝達するための通信機構又はバス７３０上で接続され、又はコンピュータデバイス７０５内に埋め込まれ得る。
【００５１】
コンピュータデバイス７０５は、入力／ユーザインタフェース７３５及び出力デバイス／インタフェース７４０に通信可能に接続されてもよい。入力／ユーザインタフェース７３５及び出力デバイス／インタフェース７４０の一方又は両方は、有線又は無線のインタフェースとすることができ、取り外し可能であってもよい。入力／ユーザインタフェース７３５は、入力を与えるために使用できる任意のデバイス、コンポーネント、センサ、又は物理的若しくは仮想的なインタフェース（例えばボタン、タッチスクリーンインタフェース、キーボード、ポインティング／カーソル制御、マイクロホン、カメラ、点字、運動センサ、光学式読取機等）を含んでもよい。出力デバイス／インタフェース７４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字等を含んでもよい。実装形態の一部の例では、入力／ユーザインタフェース７３５及び出力デバイス／インタフェース７４０をコンピュータデバイス７０５に埋め込むことができ、又はコンピュータデバイス７０５に物理的に接続することができる。実装形態の他の例では、他のコンピュータデバイスが、コンピュータデバイス７０５のための入力／ユーザインタフェース７３５及び出力デバイス／インタフェース７４０として機能することができ、又はその機能を提供し得る。タッチスクリーンディスプレイ、テレビディスプレイ、又は他の任意の形式のディスプレイを含む実装形態の例では、ディスプレイがユーザインタフェースを提供するように構成される。
【００５２】
コンピュータデバイス７０５の例は、これだけに限定されないが、高移動性のデバイス（例えばスマートフォン、車両及び他の機械内のデバイス、人間及び動物が運ぶデバイス等）、モバイルデバイス（例えばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯型テレビ、ラジオ等）、及び移動性に関して設計されていないデバイス（例えばデスクトップコンピュータ、他のコンピュータ、情報キオスク、１つ又は複数のプロセッサが埋め込まれた及び／又は結合されたテレビ、ラジオ等）を含んでもよい。
【００５３】
コンピュータデバイス７０５は、同じ構成又は異なる構成の１つ又は複数のコンピュータデバイスを含む任意の数のネットワーク化されたコンポーネント、デバイス、及びシステムと通信するために、外部記憶装置７４５及びネットワーク７５０に（例えばＩ／Ｏインタフェース７２５を介して）通信可能に接続され得る。コンピュータデバイス７０５又は接続された任意のコンピュータデバイスは、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能することができ、そのサービスを提供することができ、又はそのように言及され得る。
【００５４】
Ｉ／Ｏインタフェース７２５は、これだけに限定されないが、計算環境７００内の少なくとも全ての接続されたコンポーネント、デバイス、及びネットワークとの間で情報をやり取りするために任意の通信またはＩ／Ｏのプロトコル又は規格（例えばイーサネット（登録商標）、８０２．１１ｘ、ユニバーサルシステムバス、ＷｉＭａｘ、モデム、セルラネットワークプロトコル等）を使用する有線及び／又は無線のインタフェースを含み得る。ネットワーク７５０は、任意のネットワーク又はネットワークの組み合わせ（例えばインターネット、ローカルエリアネットワーク、広域ネットワーク、電話ネットワーク、セルラネットワーク、衛星ネットワーク等）とすることができる。
【００５５】
コンピュータデバイス７０５は、一時的媒体及び非一時的媒体を含む、コンピュータ使用可能媒体又はコンピュータ可読媒体を使用する及び／又は使用して通信することができる。一時的媒体は、伝送媒体（例えば金属ケーブル、光ファイバ）、信号、搬送波等を含む。非一時的媒体は、磁気媒体（例えばディスク及びテープ）、光学媒体（例えばＣＤ  ＲＯＭ、デジタルビデオディスク、ブルーレイディスク）、ソリッドステート媒体（例えばＲＡＭ、ＲＯＭ、フラッシュメモリ、ソリッドステート記憶装置）、及び他の不揮発性記憶装置又はメモリを含む。
【００５６】
計算環境の一部の例において、コンピュータデバイス７０５は、技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一時的媒体から取得され、非一時的媒体上に記憶され、そこから取得されてもよい。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械言語（例えばＣ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）等）の１つ又は複数に由来し得る。
【００５７】
メモリ７１５は、例えば図３及び図４のフローの中で説明したプロセッサ７１０によって実行されるアルゴリズムを記憶し又は管理するように構成してもよく、訓練された深層学習アルゴリズムの形で最適ポリシを記憶するように構成され得る。本明細書に記載の実装形態の例は、所望の実装形態に従って単独で又は互いの任意の組み合わせで行ってもよく、実装形態の特定の例に限定されない。
【００５８】
プロセッサ７１０は、ネイティブ環境又は仮想環境内で任意のオペレーティングシステム（ＯＳ）（不図示）の下で実行可能である。ロジックユニット７６０、アプリケーションプログラミングインタフェース（ＡＰＩ）ユニット７６５、入力ユニット７７０、出力ユニット７７５、及び、ＯＳ及び他のアプリケーション（不図示）とともに、様々なユニットが互いに通信するためのユニット間通信機構７９５を含む１つ又は複数のアプリケーションを導入することができる。記載のユニット及び要素は、設計、機能、構成、又は実装の点で変更することができ、提供する説明に限定されない。プロセッサ７１０は、メモリ７１５からロードされる命令を実行するように構成された物理プロセッサ又は中央処理装置（ＣＰＵ）の形式であり得る。
【００５９】
実装形態の一部の例では、情報又は実行命令がＡＰＩユニット７６５によって受信されると、それが１つ又は複数の他のユニット（例えばロジックユニット７６０、入力ユニット７７０、出力ユニット７７５）に伝達されてもよい。上記の実装形態の一部の例において、一部の例ではロジックユニット７６０は、ユニット間の情報フローを制御し、ＡＰＩユニット７６５、入力ユニット７７０、出力ユニット７７５によって提供されるサービスを指示するように構成されてもよい。例えば１つ又は複数のプロセス又は実装形態のフローは、ロジックユニット７６０によって単独で又はＡＰＩユニット７６５と組み合わせて制御されてもよい。入力ユニット７７０は実装形態の例の中で説明した計算のための入力を得るように構成してもよく、出力ユニット７７５は実装形態の例の中で説明した計算に基づいて出力を提供するように構成されてもよい。
【００６０】
プロセッサ７１０は、図１に示すように、工場プロセスからパラメータを得て工場プロセスの状態を導出することであって、パラメータは余裕時間を含む、導出すること、レイトネス及びターディネスに対して訓練される工場プロセスに深層学習モデルを適用することに基づいて工場プロセスのための命令を決定すること、工場での実行のために工場プロセスへの命令を提供すること、工場から受信される完了時間を含む、工場プロセスの更新済みのパラメータから状態の状態遷移を得ること、及び深層学習モデルを更新するために与えられる命令に関する報酬を計算することであって、報酬は所定のジョブの期限及び完了時間からレイトネス及びターディネスを導出することに基づく、計算することにより、工場の工場プロセスに命令を与えるように構成される訓練された深層学習モデルを生成するように構成され得る。
【００６１】
プロセッサ７１０は、図１に示すように、ａ）工場プロセスのための命令を決定するステップ、ｂ）工場での実行のために工場プロセスへの命令を提供するステップ、ｃ）工場から受信される工場プロセスの更新済みのパラメータから状態遷移を得るステップ、及びｄ）深層学習モデルを更新するために与えられる命令に関する報酬を計算するステップをステップａ）からステップｄ）まで順に実行し、深層学習モデルが訓練された深層学習モデルとして収束するまで繰り返すように構成され得る。実装形態の例では、深層学習モデルが収束すると訓練された深層学習モデルが得られる。
【００６２】
実装形態の例では、図２に示すように工場プロセスの状態は、マシン状態及びジョブキュー状態を含み、マシン状態は工場プロセスに関連するマシンが所定の各時間スロットにおいて割り当てられているか遊休状態かを示し、ジョブキュー状態はジョブスロット内の又はバックログ内の処理を待機するジョブの特性を示す。図２に示すように、工場プロセスの状態はマシン状態及びジョブキュー状態を含む２Ｄ行列によって表すことができ、ジョブキュー状態はアレイによって表されるジョブの期限及び完了時間を含み、図２に関して説明したようにプロセッサ７１０は処理時間及び余裕時間の関数に基づいてレイトネス及びターディネスを決定するように構成され得る。
【００６３】
実装形態の例では、図３及び図６に示すように、プロセッサ７１０は、工場から別の工場に深層学習モデルを転移するように構成することができ、転移することは、工場と別の工場との間の射影関数を計算すること、訓練された深層学習モデルから決定される工場の最適ポリシに基づいてソース状態軌道を生成すること、ソース状態軌道をターゲット状態軌道に変換すること、及び回復プロセスを実行してターゲット状態軌道から別の工場のための深層学習モデルを決定することを含む。得られると、図５及び図６に示すように、プロセッサ７１０は深層学習モデルを適用して他の工場に命令を与え、他の工場のプロセスを制御することができる。
【００６４】
実装形態の例では、図４に示すように、プロセッサ７１０は、別の工場のアクション軌道を計算し、ターゲット状態軌道を入力として、及びアクション軌道を出力クラスラベルとして使用することで深層学習モデルを訓練することによって回復プロセスを実行するように構成され得る。
【００６５】
詳細な説明の一部はコンピュータ内の操作のアルゴリズム及び記号表現に関して提示した。これらのアルゴリズム的記述及び記号表現は、データ処理技術の熟練者によって、その革新の本質を他の熟練者に伝えるために使用される手段である。アルゴリズムは、所望の終了状態又は結果をもたらす一連の定義済みのステップである。実装形態の例では、実行されるステップが、具体的な結果を実現するために有形量の物理的操作を必要とする。
【００６６】
別段の定めがない限り、解説から明らかなように、説明の全体を通して「処理」、「計算（Ｃｏｍｐｕｔｉｎｇ））」、「計算（Ｃａｌｃｕｌａｔｉｎｇ）」、「決定」、「表示」等の用語を利用する解説は、コンピュータシステムのレジスタ及びメモリ内で物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリ若しくはレジスタ、又は他の情報記憶装置、伝送若しくは表示装置内で物理量として同様に表される他のデータに変換するコンピュータシステム又は他の情報処理デバイスのアクション及びプロセスを含み得る。
【００６７】
実装形態の例は、本明細書の操作を行うための装置にも関係してもよく。この装置は所要の目的のために特別に構築することができ、又は１つ若しくは複数のコンピュータプログラムによって選択的に活性化され又は再構成される１つ又は複数の汎用コンピュータを含んでもよい。かかるコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体等のコンピュータ可読媒体の中に記憶され得る。コンピュータ可読記憶媒体は、これだけに限定されないが光ディスク、磁気ディスク、読取専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ等の有形媒体、又は電子情報を記憶するのに適した他の任意の種類の有形媒体若しくは非一時的媒体を含み得る。コンピュータ可読信号媒体は搬送波等の媒体を含み得る。本明細書で提示したアルゴリズム及び表示は、任意の特定のコンピュータ又は他の装置に固有に関係するものではない。コンピュータプログラムは、所望の実装形態の操作を実行する命令を含む純粋なソフトウェア実装を含み得る。
【００６８】
様々な汎用システムは、本明細書の例によるプログラム及びモジュールと共に使用してもよく、又は所望の方法ステップを実行するためのより特化した装置を構築するのに便利であることが証明され得る。加えて実装形態の例は、任意の特定のプログラミング言語に関して説明していない。本明細書に記載した実装形態の例の教示を実装するために、様々なプログラミング言語を使用できることが理解されよう。プログラミング言語の命令は１つ又は複数の処理デバイス、例えば中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行されてもよい。
【００６９】
当技術分野で知られているように、上述した操作はハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの何らかの組み合わせによって行うことができる。実装形態の例の様々な態様が回路及び論理デバイス（ハードウェア）を使用して実装できるが、機械可読媒体上に記憶される命令（ソフトウェア）を使用して他の態様が実装されてもよく、かかる命令はプロセッサによって実行されるとき、本願の実装形態を実行するための方法をプロセッサに実行させる。更に本願の実装形態の一部の例はハードウェアのみで実行できるのに対し、実装形態の他の例はソフトウェアのみで実行することができる。更に、記載した様々な機能は単一のユニット内で実行することができ、又は任意の数のやり方で幾つかのコンポーネントに分散させることができる。ソフトウェアによって実行される場合、方法はコンピュータ可読媒体上に記憶される命令に基づいて汎用コンピュータ等のプロセッサによって実行され得る。必要に応じて、命令は圧縮形式及び／又は暗号化形式で媒体上に記憶することができる。
【００７０】
更に、本明細書を検討すること及び本願の教示を実践することにより、本願の他の実装形態が等技術分野の熟練者に明らかになるであろう。記載した実装形態の例の様々な態様及び／又はコンポーネントは単独で又は任意の組み合わせで使用することができる。本明細書及び実装形態の例は単に例として検討されることを意図し、本願の真の範囲及び趣旨は添付の特許請求の範囲によって示す。
【符号の説明】
【００７１】
１０１−１  ジョブキュー状態
１０１−２  マシン状態
１０１  エージェント
１０１−３  深層学習モデル
１０２  環境
１０２−１  ジョブキュー
１０２−２  マシン
５００  ネットワーク
５０１−１  システム
５０１−２  システム
５０１−３  システム
５０１−４  システム
５０２  管理装置
５０３  データベース
６００  ネットワーク
６０１  ソース環境
６０２  ターゲット環境
７００  計算環境
７０５  コンピュータデバイス
７１０  プロセッサ
７１５  メモリ
７２０  内部記憶装置
７２５  Ｉ／Ｏインタフェース
７３０  バス
７３５  入力／ユーザインタフェース
７４０  出力デバイス／インタフェース
７４５  外部記憶装置
７５０  ネットワーク
７６０  ロジックユニット
７６５  ＡＰＩ
７７０  入力ユニット
７７５  出力ユニット
７９５  ユニット間通信機構
【図１】
2020123356.tif 000008
【図２】
2020123356.tif 000009
【図３】
2020123356.tif 000010
【図４】
2020123356.tif 000011
【図５】
2020123356.tif 000012
【図６】
2020123356.tif 000013
【図７】
2020123356.tif 000014
【外国語明細書】
2020123356000001.pdf