(57)【要約】      （修正有）【課題】生産計画の全体情報と詳細情報の両方を考慮した生産計画作成技術を提供する。【解決手段】生産計画作成装置において、入力された製造スケジュールを頂点と辺から構成されるグラフに変換するグラフ変換機能と、グラフ特徴量抽出部でグラフの特徴量を抽出し、割付け価値を計算して評価し、割付け価値が最も高い割付けを選択する割付け選択部と、入力された製造スケジュールと割付け選択された割付けに対する、評価値を出力するスケジュール評価部と、割付け選択部を用いてスケジュール案の作成の訓練を行い、スケジュール評価部を用いてスケジュール案を評価し、スケジュール案の評価値の改善に寄与する割付け選択部の教師データを作成し、勾配降下法を用いて割付け選択部のパラメータを更新する強化学習部と、製品のオーダのリストに対して、強化学習部で学習した割付け選択部を用いて、スケジュールを立案し出力するスケジュール立案部とを有する。【選択図】図１Ｂ
2020177565.tif 000002
【特許請求の範囲】
【請求項１】
製造スケジュールにおいて、製造現場ごとの制約の適合度と、経営的な評価項目である製造ＫＰＩの改善度の両方を満足させるスケジュールを作成する生産計画作成装置であって、
入力された製造スケジュールを頂点と辺から構成されるグラフに変換するグラフ変換機能と、グラフ特徴量抽出部で前記グラフの特徴量を抽出し、割付け価値を計算する演算機能を有し、前記割付け価値を評価し、前記割付け価値が最も高い割付けを選択する割付け選択部と、
入力された製造スケジュールと前記割付け選択部により出力された割付けに対する、評価値を出力するスケジュール評価部と、
前記割付け選択部を用いてスケジュール案の作成の訓練を行い、前記スケジュール評価部を用いて前記スケジュール案の作成の訓練の過程で得られたスケジュール案を評価し、スケジュール案の評価値の改善に寄与する前記割付け選択部の教師データを作成し、勾配降下法を用いて前記割付け選択部のパラメータを更新する強化学習部と、
入力された製品のオーダのリストに対して、前記強化学習部で学習した前記割付け選択部を用いて、スケジュールを立案し出力するスケジュール立案部と
を有する生産計画作成装置。
【請求項２】
前記グラフ変換機能は、
生産計画におけるスケジュールを、
生産計画における作業、工程及び設備のうちの少なくとも１つの頂点と、前記の頂点間の関係性を辺で定義したグラフ構造に変換する
請求項１に記載の生産計画作成装置。
【請求項３】
前記割付け価値の演算機能は、
前記グラフ変換機能で変換したグラフを入力とし、
前記グラフ特徴量抽出部を用いて、
頂点又は辺の少なくともいずれか一方の属性値又は隣接関係の少なくともいずれか一方から、前記頂点又は前記辺の少なくともいずれか一方の特徴量をグラフの特徴量として抽出し、
抽出した前記グラフの特徴量を用いて入力されたスケジュールにおいて可能な割付けの価値を計算する、
請求項１又は２に記載の生産計画作成装置。
【請求項４】
前記スケジュール評価部は、
入力された製造スケジュールに対する評価値、又は、前記割付け選択部により出力された割付けに対する評価値、の少なくともいずれか一方を計算する請求項１から３までのいずれか１項に記載の生産計画作成装置。
【請求項５】
前記スケジュール立案部は、
特急注文の場合には、立案済みのスケジュールを、作業ＩＤと、工程ＩＤと、ロットＩＤからなる既存のスケジュールテーブルに基づいて指定することを特徴とする
請求項１から４までのいずれか１項に記載の生産計画作成装置。
【請求項６】
前記強化学習部は、
前記割付け選択部を用いた割付けの選択に代えて、割付けの候補からランダムに割付けを選択する選択肢を有する
請求項１から５までのいずれか１項に記載の生産計画作成装置。
【請求項７】
製造スケジュールにおいて、製造現場ごとの制約の適合度と、経営的な評価項目である製造ＫＰＩの改善度の両方を満足させるスケジュールをコンピュータに作成させる生産計画作成方法であって、
入力された製造スケジュールを頂点と辺から構成されるグラフに変換するグラフ変換ステップと、特徴量抽出処理により前記グラフの特徴量を抽出し、割付け価値を計算する演算ステップを有し、前記割付け価値を評価し、前記割付け価値が最も高い割付けを選択する割付け選択ステップと、
入力された製造スケジュールと前記割付け選択ステップにより出力された割付けに対する、評価値を出力するスケジュール評価ステップ、
前記割付け選択ステップによりスケジュール案の作成の訓練を行い、前記スケジュール評価ステップにより前記スケジュール案の作成の訓練の過程で得られたスケジュール案を評価し、スケジュール案の評価値の改善に寄与する前記割付け選択処理の教師データを作成し、勾配降下法を用いて前記割付け選択処理のパラメータを更新する強化学習ステップと、
入力された製品のオーダのリストに対して、前記強化学習ステップで学習した前記割付け選択結果を用いて、スケジュールを立案し出力するスケジュール立案ステップと
を有する生産計画作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産計画作成技術に関し、特に、強化学習を用いて割付けルールを自動で構築する生産計画作成技術に関する。
【背景技術】
【０００２】
近年、顧客のニーズの多様化が益々進み、かつ、製品のライフサイクルが短期化している。このような状況下において、多品種少量生産型の製造業等では、資材の投入から製品の出荷までの時間であるリードタイム（ＬＴ）を短縮し、製造現場内在庫の適正化や短納期への対応が求められる。
【０００３】
これらの要望を達成するために、多くの製造業では、製造オーダに紐付く一連の作業をいつ、どの設備で行うのかを決める生産スケジューリングを行い、製造のプロセスをコントロールしている。そのために、従来から、生産計画作成技術が提案されている（例えば、下記特許文献１参照）。
【０００４】
生産計画作成の手法には、ディスパッチング法が広く用いられている。ディスパッチング法は、所定の割付けルールに従って、作業、設備、期間を選択し、割り当てていく手法である。
【０００５】
多くの生産計画作成処理は、例えば、同一工程の作業をまとめて処理する、染色工程の場合に色の薄いものから処理する、などの製造現場ごとの個別の制約を反映できるように、割付けルールをカスタマイズできる機能を有している。
【０００６】
近年では、短納期での生産が求められることも多いことから、カスタマイズの際には、製造現場ごとの個別の制約を満たしているか否かを評価する現場的観点だけではなく、ＬＴや納期遵守率などの製造ＫＰＩ（Key Performance Indicator）を改善できるかを評価する経営的観点も満足させることが求められる。
【０００７】
しかしながら、現場的観点と経営的観点はトレードオフの関係にあるため、両者を満足させる割付けルールの構築は難しい。したがって、割付けルールの構築が製造現場の計画担当者等の大きな負担となっている。計画担当者の負担を軽減するために、現場的観点と経営的観点の両方を満足させる割付けルールを自動的に構築することが求められてきている。
【０００８】
割付けルールの構築を自動化するために、下記の非特許文献１では、強化学習を用いて割付けルールを学習する手法を提案している。強化学習による割付けルールの学習とは、スケジュール作成（立案）を繰り返し行い、生産計画の評価値が改善するように作業の割付け価値を逐次更新する仕組みのことをいう。作業の割付け価値は、スケジュールの立案状態を表現する特徴量ベクトルを深層ニューラルネットワーク（Deep Neural Network：DNN）に入力することにより求めることができる。評価値の高い生産計画の立案につながる各作業の割付け価値を推定することが割付けルールの学習に相当する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４３３４８４３号公報
【非特許文献】
【００１０】
【非特許文献１】W. Zhang、 et al. A Reinforcement Learning Approach to Job-Shop Scheduling, Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, Vol. 2, pp. 1114-1120 (1995).
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、経営的観点と現場的観点の両方を考慮して定義された評価値を改善するように割付け価値を推定するためには、スケジュールの情報として、経営指標である製造ＫＰＩなどの全体情報だけではなく、どの作業がどの設備にどの順序で割付けられているのかといった、製造現場ごとの個別の制約の充足状況を判断できる詳細情報も、特徴量ベクトルとしてＤＮＮに入力する必要がある。
しかしながら、作業を割付けた設備や作業順序などの情報は数値データではないため、生産計画の全体情報と詳細情報の両方を含む特徴量ベクトルを生成することは難しい。そのため、非特許文献１では、生産計画の全体情報である納期遅れ時間やメイクスパンなどの統計値のみを特徴量ベクトルとしてＤＮＮに入力している。したがって、経営的観点と現場的観点の両方を考慮して定義された評価値を改善させるような作業の割付け価値を推定することはできていない。
【００１２】
強化学習により割付けルールを自動で構築し、計画担当者の負担を軽減するためには、生産計画の全体情報と詳細情報の両方を含むような特徴量ベクトルを生成し、現場的観点と経営的観点の両方を満足させる割付け価値を学習できるようにすることが課題となっている。
【００１３】
本発明は、生産計画の全体情報と詳細情報の両方を考慮した生産計画作成技術の提供を目的とする。
【課題を解決するための手段】
【００１４】
本発明では、生産計画の全体情報と詳細情報を同時に表現できる技術として、例えば、作業や設備を頂点、それらの関係性を有向辺で定義した有向グラフ等を採用し、グラフ畳み込みニューラルネットワーク（Graph Convolutional Neural network：ＧＣＮ）などを用いることで、頂点や有向辺がもつ属性情報や隣接関係からスケジュールの全体情報と詳細情報の両方を含む特徴量を抽出することを可能にした。抽出した特徴量をＤＮＮに入力することで、強化学習の枠組みで経営的観点と現場的観点の両方を考慮して定義された評価値を改善させる割付け価値を推定できるようになる。
【００１５】
本発明の一観点によれば、製造スケジュールにおいて、製造現場ごとの制約の適合度と、経営的な評価項目である製造ＫＰＩの改善度の両方を満足させるスケジュールを作成する生産計画作成装置であって、入力された製造スケジュールを頂点と辺から構成されるグラフに変換するグラフ変換機能と、グラフ特徴量抽出部で前記グラフの特徴量を抽出し、割付け価値を計算する演算機能を有し、前記割付け価値を評価し、前記割付け価値が最も高い割付けを選択する割付け選択部と、入力された製造スケジュールと前記割付け選択部により出力された割付けに対する、評価値を出力するスケジュール評価部と、前記割付け選択部を用いてスケジュール案の作成の訓練を行い、前記スケジュール評価部を用いて前記スケジュール案の作成の訓練の過程で得られたスケジュール案を評価し、スケジュール案の評価値の改善に寄与する前記割付け選択部の教師データを作成し、勾配降下法を用いて前記割付け選択部のパラメータを更新する強化学習部と、入力された製品のオーダのリストに対して、前記強化学習部で学習した前記割付け選択部を用いて、スケジュールを立案し出力するスケジュール立案部と、を有する生産計画作成装置が提供される。
【００１６】
本発明は、頂点や辺の属性情報や隣接関係から、製造スケジュールの全体情報と詳細情報の両方を含む特徴量を抽出することができる。そして、前記抽出した全体情報と詳細情報を含む作業と設備の特徴量をＤＮＮに入力することで、強化学習の枠組みで経営的観点と現場的観点の両方を考慮して定義された評価値を改善させる割付け価値を推定できる。
【００１７】
前記グラフ変換機能は、生産計画におけるスケジュールを、生産計画における作業、工程及び設備のうちの少なくとも１つの頂点と、前記の頂点間の関係性を辺で定義したグラフ構造に変換することが好ましい。
前記グラフ特徴量抽出機能で、頂点や辺の属性情報や隣接関係からスケジュールの全体情報と詳細情報の両方を含む特徴量を抽出することができる。
前記スケジュール評価部は、入力された製造スケジュールに対する評価値、又は、前記割付け選択部により出力された割付けに対する評価値、の少なくともいずれか一方を計算すると良い。
【００１８】
前記割付け価値の演算機能は、前記グラフ変換機能で変換したグラフを入力とし、前記グラフ特徴量抽出部を用いて、頂点又は辺の少なくともいずれか一方の属性値又は隣接関係の少なくともいずれか一方から、前記頂点又は前記辺の少なくともいずれか一方の特徴量をグラフの特徴量として抽出し、抽出した前記グラフの特徴量を用いて入力されたスケジュールにおいて可能な割付けの価値を計算する、ことが好ましい。
前記スケジュール立案部は、特急注文の場合には、立案済みのスケジュールを、作業ＩＤと、設備ＩＤと、開始時刻及び終了時刻からなる既存のスケジュールテーブルに基づいて指定することが好ましい。
割付けルールベースの手法とすることで、特急注文に対して、新たなスケジュールを作り直すことなく、作成（立案）済みのスケジュールテーブルに基づいて高速で再スケジューリングが可能である。
前記強化学習部は、学習結果に基づいた割付けの選択に代えて、割付けの候補からランダムに割付けを選択する選択肢を有することが好ましい。
学習結果に基づいた割付けの選択だけでは、同じ仕掛りスケジュールに対して、毎回同じ割付けを選択してしまい、同じ評価値のスケジュールしか立案できない。従って、スケジュールの評価値は改善しない。そこでランダムな割付けも行うことにより、スケジュールの探索の幅を広め、評価値の高い新しいスケジュールの発見が可能となる。
【００１９】
本発明の他の観点によれば、製造スケジュールにおいて、製造現場ごとの制約の適合度と、経営的な評価項目である製造ＫＰＩの改善度の両方を満足させるスケジュールをコンピュータに作成させる生産計画作成方法であって、入力された製造スケジュールを頂点と辺から構成されるグラフに変換するグラフ変換ステップと、グラフ特徴量抽出処理により前記グラフの特徴量を抽出し、割付け価値を計算する演算ステップを有し、前記割付け価値を評価し、前記割付け価値が最も高い割付けを選択する割付け選択ステップと、入力された製造スケジュールと前記割付け選択ステップにより出力された割付けに対する、評価値を出力するスケジュール評価ステップ、前記割付け選択ステップによりスケジュール案の作成の訓練を行い、前記スケジュール評価ステップにより前記スケジュール案の作成の訓練の過程で得られたスケジュール案を評価し、スケジュール案の評価値の改善に寄与する前記割付け選択処理の教師データを作成し、勾配降下法を用いて前記割付け選択処理のパラメータを更新する強化学習ステップと、入力された製品のオーダのリストに対して、前記強化学習ステップで学習した前記割付け選択結果を用いて、スケジュールを立案し出力するスケジュール立案ステップと、を有する生産計画作成方法が提供される。
【発明の効果】
【００２０】
本発明によれば、経営的観点と現場的観点の両方を考慮した生産計画作成技術を提供することができる。
【図面の簡単な説明】
【００２１】
【図１Ａ】本発明の一実施の形態による生産計画作成技術の概要を示す図であり、現場的観点と経営的観点とを両立させるルールの学習を含む処理の概要を示す図である。
【図１Ｂ】本発明の一実施の形態による生産計画作成処理を行う生産計画作成装置の一構成例を示す機能ブロック図である。
【図２】本実施の形態による生産計画作成演算処理の主要な流れを示すフローチャート図である。
【図３】強化学習部における処理の流れを示すフローチャート図である。
【図４】割付け選択部における処理の流れを示すフローチャート図である。
【図５】グラフ変換処理における、左図に示すガントチャートを右図に示すスケジュールグラフに変換する処理の一例を示す図である。
【図６】入力されたスケジュールに対するグラフ変換処理の流れを示すフローチャート図である。
【図７】グラフ畳み込みニューラルネットワーク処理の流れを示すフローチャート図である。
【図８】工程２を中心頂点とした場合の一連の畳み込み層処理の概要を示す図である。
【図９】出力層における処理の概要を示す図であり、左図におけるグラフ畳み込みニューラルネットワーク処理後のスケジュールグラフから、出力層を用いて割付け候補の価値を計算し、右図に示すガントチャートの割付け候補上に示した図である。
【図１０】スケジュール立案部の処理の流れを示すフローチャート図である。
【発明を実施するための形態】
【００２２】
本明細書において、「生産計画作成処理」とは、製品の生産等にあたって、有限のリソースを用いて複数のジョブを実行する際に、所与の制約を満たすように各ジョブへのリソースの割り当てを決める処理である。
ここで、「ジョブ（作業など）」とは、製品を製造するために実行する必要がある一連の作業であり、「リソース（設備など）」とはジョブの各作業を処理する製造設備や治工具、作業者などである。
ジョブの作業を、いつ、どのリソースで処理するかを決めることを「割付け」と称する。
【００２３】
以下に、本発明の実施の形態による生産計画作成技術について図面を参照しながら詳細に説明する。
本実施の形態では、ＬＴなどの製造ＫＰＩの改善と、ロットまとめや作業順序など工場ごとに考慮する個別の事情の両方を反映したスケジュールの評価指標を定義し、良い生産計画を作成するための割付けルールをＡＩ（機械学習装置など）に学習させる生産計画作成技術を含む。良い生産計画作成につながるルールをＡＩで上手く学習することができれば、製造ＫＰＩを改善しつつ、工場ごとに個別に考慮される計画担当者の知見を取り込んだ割付けルールを学習することができる。この学習のためのＡＩモデルの構築に強化学習を用いることができる。すなわち、製造スケジュールにおいて製造現場ごとのスケジュールの詳細情報の制約の適合度と、製造スケジュール全体情報である製造ＫＰＩの改善度の両方を満足させるスケジュールを作成する生産計画作成技術に関する。
【００２４】
強化学習とは、最終的に実現したいゴールは明確であるが、そのための具体的な行動が分からない場合に、その時々の状況でとり得る行動を繰り返してゴールへの到達度を評価し、評価（価値）を最大化するための行動を学習する手法である。特に、行動の価値を深層ニューラルネットワーク（ＤＮＮ）で近似する場合には、深層強化学習と呼ばれる。深層強化学習により、生産計画作成処理をカスタマイズせずに実現することができる。
【００２５】
図１Ａは、本発明の一実施の形態による生産計画作成技術において、現場的観点と経営的観点を両立させる割付けルールの学習の概要を示す図である。図１Ａに示すように、本実施の形態による生産計画作成装置は、生産計画を作成するスケジューラＳ、例えば、パーソナルコンピュータ（ＰＣ）などで構成することができる。ＰＣを用いて生産計画の作成（立案）を行う際に（Ｌ１）、立案の際の条件Ｃとして、工場制約を充足させるための条件Ｃ１と、製造ＫＰＩを改善させるための条件Ｃ２とを両立させるように評価する（Ｌ２）。評価値Ｄは、この例では、７．８である。この評価値Ｄを用いて（Ｌ３）強化学習Ｅが行われた学習結果を深層ニューラルネットワーク（ＤＮＮ）Ｆに送り（学習Ｌ４）、ＤＮＮ（Ｆ）を用いて割付けの選択処理を行う（割付けの選択Ｌ５）処理を行うことができる。
【００２６】
図１Ｂは、上記のような生産計画作成処理を行う生産計画作成装置の一構成例を示す機能ブロック図である。以下では、多品種少量生産の製造業の計画担当者が、図１Ｂに示す本発明の生産計画作成装置Ａを用いて、担当製造現場の生産スケジュールを立案する例を示す。
【００２７】
図１Ｂに示すように、本実施の形態による生産計画作成装置Ａは、各種データテーブル等を格納する補助記憶装置１と、入力装置２と、出力装置３と、中央演算装置（ＣＰＵ）４と、各種処理をＣＰＵ４に実行させるためのプログラムを格納する主記憶装置５と、を有している。補助記憶装置１は、生産計画作成装置外に設けられてネットワーク接続等されていても良い。主記憶装置５に記憶されている各プログラムは、ＣＰＵ４により、生産計画作成演算処理を行う生産計画作成のための演算処理装置として機能する。
【００２８】
まず、以下に補助記憶装置１内に格納されている各種テーブルについて説明する。
本実施の形態による生産計画作成装置Ａに記憶されているマスタデータ１−１は、品目テーブル１−１−１（表１）と、品目関係テーブル１−１−２（表２）と、工程テーブル１−１−３（表３）と、設備テーブル１−１−４（表４）と、生産可能設備テーブル１−１−５（表５）とを有している。
【００２９】
【表１】
2020177565.tif 000003
【００３０】
表１に、品目テーブル１−１−１の一構成例を示す。品目テーブル１−１−１は、品目ＩＤ（キー）から構成される。
【００３１】
【表２】
2020177565.tif 000004
【００３２】
表２に、品目関係テーブル１−１−２の一構成例を示す。品目関係テーブル１−１−２は、品目ＩＤ（キー）、子品目ＩＤ（キー）、員数から構成される。ここで、子品目ＩＤは指定した品目を生産するために必要な部品となる品目、員数はその必要数を示す。例えば、表２における製品４を生産するためには、部品２と部品３が、それぞれ１個ずつ必要である。
【００３３】
【表３】
2020177565.tif 000005
【００３４】
表３に、工程テーブル１−１−３の一構成例を示す。工程テーブル１−１−３は、工程ＩＤ（キー）、品目ＩＤ、工順、標準時間から構成される。品目ＩＤは、指定した工程が処理される品目を示す。工順は、指定した工程が処理される順番を示す。標準時間は、品目１個あたりの指定した工程を処理するための時間を示す。例えば、表３では、部品１の工程は工程１と工程２であり、工程１→工程２の順で処理され、それぞれ標準時間は０．０１時間である。
【００３５】
【表４】
2020177565.tif 000006
【００３６】
表４に、設備テーブル１−１−４の一構成例を示す。設備テーブル１−１−４は、設備ＩＤ（キー）、処理効率から構成される。処理効率は、０〜１までの値であり、工程の処理時間に設備の性能を反映させるために用いる。具体的には、工程の処理時間を以下の式（２−１）で計算する。
処理時間＝個数×標準時間÷処理効率    （２−１）
【００３７】
【表５】
2020177565.tif 000007
【００３８】
表５に、生産可能設備テーブル１−１−５の一構成例を示す。生産可能設備テーブル１−１−５は、工程ＩＤ（キー）、設備ＩＤ（キー）から構成される。例えば、工程３は設備１と設備２で処理することができる。
【００３９】
本実施の形態によるスケジューリングデータ１−２は、オーダテーブル１−２−１（表６）と、ロットテーブル１−２−２（表７）と、ロット関係テーブル１−２−３（表８）と、作業テーブル１−２−４（表９）と、スケジュールテーブル１−２−５（表１０）と、を有している。
【００４０】
【表６】
2020177565.tif 000008
【００４１】
表６に、オーダテーブル１−２−１の一構成例を示す。オーダテーブル１−２−１は、オーダＩＤ（キー）、品目ＩＤ、個数、納期から構成される。品目ＩＤは指定したオーダで生産する品目のＩＤ、個数はその生産数、納期は生産の期限を示す。例えば、オーダ１は、１００個の製品４を2019/4/1 18:00までに生産する。
【００４２】
【表７】
2020177565.tif 000009
【００４３】
表７に、ロットテーブル１−２−２の一構成例を示す。ロットテーブル１−２−２は、ロットＩＤ（キー）、品目ＩＤ、オーダＩＤ、個数から構成される。ここで、ロットとは、オーダで指定する品目を生産するために必要な部品（品目）を意味する。品目ＩＤは指定したロットで生産する品目のＩＤ、オーダＩＤは指定したロットを必要とするオーダのＩＤ、個数は生産数を示す。例えば、オーダ１は製品４を生産するために、部品２と部品３が必要であり、部品２と部品３はそれぞれ部品１が１００個ずつ必要であるから、部品１を合計２００個、部品２を１００個、部品３を１００個、製品４を１００個、生産するためのロットが必要である。
【００４４】
【表８】
2020177565.tif 000010
【００４５】
表８に、ロット関係テーブル１−２−３の一構成例を示す。ロット関係テーブル１−２−３は、ロットＩＤ（キー）、子ロットＩＤ（キー）から構成される。子ロットＩＤは、指定したロットを生産するために必要なロットのＩＤを示す。例えば、ロット５を生産するために、ロット３とロット４を生産する必要がある。
【００４６】
【表９】
2020177565.tif 000011
【００４７】
表９に、作業テーブル１−２−４の一構成例を示す。作業テーブル１−２−４は、作業ＩＤ（キー）、工程ＩＤ、ロットＩＤから構成される。工程ＩＤは、指定した作業で処理する工程のＩＤを示す。ロットＩＤは、指定した作業が処理されるロットのＩＤを示す。
【００４８】
【表１０】
2020177565.tif 000012
【００４９】
表１０に、スケジュールテーブル１−２−５の一構成例を示す。スケジュールテーブル１−２−５は、作業ＩＤ（キー）、設備ＩＤ、開始時刻、終了時刻から構成される。作業ＩＤは、指定した作業でのＩＤを示す。設備ＩＤは、作業に使用する設備のＩＤを示す。さらに、その作業において設備を使用する開始時刻と終了時刻とを含む。
【００５０】
【表１１】
2020177565.tif 000013
【００５１】
表１１に、強化学習設定テーブル１−３の一構成例を示す。強化学習設定テーブル１−３は、強化学習における設定値を格納したテーブルであり、項目と強化学習の設定値を含む。
【００５２】
【表１２】
2020177565.tif 000014
【００５３】
表１２に、ＧＣＮ設定テーブル１−５の一構成例を示す。ＧＣＮ設定テーブル１−５は、ＧＣＮの設定値を格納したテーブルであり、項目に、次元、畳み込み層数、全結合層数の値を含む。
【００５４】
【表１３】
2020177565.tif 000015
【００５５】
表１３に、ＧＣＮパラメータテーブル１−４の一構成例を示す。ＧＣＮパラメータテーブル１−４は、ＧＣＮの各パラメータを格納する。
【００５６】
次に、生産計画演算装置（主記憶装置）５における演算処理について説明する。図１Ｂに示すように、生産計画演算装置（主記憶装置）５は、強化学習部５−１と、割付け選択部５−２と、スケジュール立案部５−３と、スケジュール評価部５−４とを有する。尚、主記憶装置５内の各構成要素間のデータのやり取りを矢印とそれに付随するデータで示した。
強化学習部５−１では、繰り返し行われるスケジュールの立案におけるスケジュールの評価値が改善するように、割付けルールを学習する。
割付け選択部５−２では、与えられた仕掛りスケジュールで可能な割付けに対して、その価値を推定し、価値の最も高い割付けを選択する。
【００５７】
強化学習部５−１とスケジュール立案部５−３では、学習途中または学習後の割付け選択部５−２を用いてスケジュールの立案を行う。スケジュール評価部５−４では、与えられたスケジュールと割付けに対する評価値（報酬）を計算する。
さらに、強化学習部５−１では、スケジュールの完成までの報酬の合計を最大化するように、割付けの価値を更新する。
スケジュール立案部５−３では、強化学習部５−１を用いて学習した割付け選択部５−２を用いて、指定されたオーダに対するスケジュールを立案する。
【００５８】
以下に、生産計画作成演算処理の流れの一例について詳細に説明する。
【００５９】
（主要処理）
図２は、生産計画作成演算処理の主要な処理の流れを示すフローチャート図である。
ステップＳ２−１で処理を開始し、ステップＳ２−２において、計画担当者は学習モードとスケジュール立案モードのいずれかを選択する（モード選択処理）。
【００６０】
ステップＳ２−２において学習モードが選択された場合には、ステップＳ２−３に進み、強化学習部５−１を用いて、割付けルールを学習する。ＧＣＮのパラメータはランダムに初期化されているため、少なくとも１度は学習モードで割付けルールを学習する必要がある。また、強化学習部５−１では、特定のオーダのリストを指定して学習を行うことも可能である。これにより、スケジュールを立案したいオーダのリストに特化して学習できるため、より評価値の高いスケジュールの立案が可能となる。
【００６１】
モード選択処理Ｓ２−２においてスケジュール立案モードが選択された場合には、ステップＳ２−４に進み、スケジュール立案部５−３を用いて、オーダテーブル１−２−１（表６）で指定したオーダを生産するスケジュールを立案する。
そして、処理を終了する（ステップＳ２−５）。
【００６２】
（強化学習処理）
図３は、強化学習部５−１における処理の流れを示すフローチャート図である。
強化学習部５−１では、スケジュールの立案を繰り返し行い、スケジュールの立案結果と評価値を基に、現場的観点と経営的観点の両方を満足させるような割付けルールを学習する。
【００６３】
本実施の形態では、行動価値ベースの手法であるＱ学習を用いた例について説明する。尚、Ｑ学習は、各スケジュールにおける各割付け（行動）の価値に基づいて割付けを選択する行動価値ベースの手法である。行動価値ベースの手法では、スケジュールの評価値を改善するように割付けの価値を更新するため、割付けの価値の更新が割付けルールの学習に相当する。
【００６４】
ここで、強化学習の手法には、Ｑ学習の拡張手法である、経験反復、固定教師Ｑニューラルネットワーク、ダブルＱ学習、マルチステップ学習などを適用しても良い。また、別の行動価値ベースの手法であるモンテカルロ法やＳＡＲＳＡなど、方策ベースの手法であるPolicy Gradientなど、デュアルネットワークやモンテカルロ木探索を用いた手法であるAlpha Zeroなど、を用いても良い。
【００６５】
図３において、処理が開始され（ステップＳ３−１）、ステップＳ３−２では、ステップＳ３−２からステップＳ３−１８までの処理を、強化学習設定テーブル１−３（表１１）において設定されている学習回数だけ繰り返す。
ステップＳ３−３では、さまざまなオーダに対して評価値の高いスケジュールを立案できる割付けルールを学習するために、スケジューリング対象となる表６のオーダだけではなく、繰り返しごとに異なるオーダのリストを作成する。表１の品目テーブルを参考に、計画担当者が品目を指定したり、ランダムに選択したり、過去のオーダの履歴を元に自動で選択したりすることができる。
【００６６】
ステップＳ３−４では、ステップＳ３−２以降で繰り返すスケジュールの立案において使用する、ロットのリストと作業のリストを、ステップＳ３−３で作成したオーダのリストから展開することで作成する。 
ステップＳ３−５では、ステップＳ３−３で作成したオーダに対するスケジュールの評価値の改善を行うために、ステップＳ３−５からＳ３−１７までの処理を、強化学習設定テーブル１−３（表１１）で指定されたエピソード回数だけ繰り返す。ここで、エピソードとは、スケジュールを１回作る繰り返しの単位である。エピソード回数は、固定の値ではなく、割付け選択部５−２の学習の度合いによって変更しても良い。例えば、直近１００回のエピソードでスケジュールの評価値の改善が無いなど、学習が十分になされたと判断される場合に、そのオーダのリストでの学習を打ち切っても良い。
【００６７】
ステップＳ３−６では、空のスケジュールを作成する。
ステップＳ３−７では、上記のスケジュールが未完成である場合に、ステップＳ３−７からＳ３−１６までの処理を繰り返す。ここで、スケジュールが未完成であるとは、未割付けの作業が存在することを意味する。
【００６８】
ステップＳ３−８では、割付けの候補のリストを作成する。ここで、割付けとは、スケジュールテーブル１−２−５（表１０）の構成要素に相当する、作業、設備、開始時刻、終了時刻である。この際に、制約を満たさない割付けを削除しても良い。制約を満たさない割付けを削除する場合、ＧＣＮに学習させるべき情報が減少するため、学習の精度向上が期待できる。
【００６９】
一方、制約を満たさない割付けを削除しない場合、後述するスケジュール評価部５−４において、制約を満たさない割付けに対して負の大きな報酬を与えることによって、人手によるカスタマイズ無しに、ＧＣＮに制約を満たさない割付けを学習させることができる。
【００７０】
ステップＳ３−９では、例えば０から１までの範囲の乱数を生成し、その値に応じて異なる処理を行う。
ステップＳ３−９の乱数が強化学習設定テーブル１−３（表１１）の探索係数以下である場合は、ステップＳ３−１０において、割付けの候補からランダムに割付けを選択する。ステップＳ３−１１に示す学習結果に基づいた割付けの選択だけでは、同じ仕掛りスケジュールに対して、毎回同じ割付けを選択してしまい、同じ評価値のスケジュールしか立案できない。従って、スケジュールの評価値の改善が起こらない。これに対して、ランダムな割付けも行うことにより、スケジュールの探索の幅を広め、評価値の高い新しいスケジュールの発見を期待することができる。
【００７１】
ステップＳ３−９の乱数が強化学習設定テーブル１−３（表１１）の探索係数より大きい場合、ステップＳ３−１１において、割付け選択部５−２が、割付けを選択する。ステップＳ３−１０に示すランダムな割付けの選択だけでは、評価値の低いスケジュールを立案する割合が多くなってしまい、探索が非効率になる。学習結果に基づいた価値の高い割付けを行うことにより、スケジュールの探索を評価値の高いスケジュールに絞ることができ、探索の効率化を期待できる。
【００７２】
尚、上記の探索係数は、固定の値ではなく、学習回数やエピソード回数によって変更しても良い。例えば、エピソード１から１００にかけて、探索係数を１．０から０．１に線形に減少させても良い。適切に探索係数の値を設定することで、学習の前半はランダムな割付けによって様々な評価値のスケジュールを立案し、割付けの価値を広く学習し、学習の後半は学習結果に基づいた価値の高い割付けによって、評価値の高いスケジュールに絞って割付けの価値を学習することができる。
【００７３】
ステップＳ３−１２では、スケジュール評価部５−４が、現在のスケジュールsと選択した割付けaに対する報酬r(s， a)を取得する。
【００７４】
ステップＳ３−１３では、ＧＣＮのパラメータの更新に用いる、教師データＱＴ（ｓ，ａ）を作成する。Ｑ学習では、現在のスケジュールｓと選択した割付けａの価値Ｑ（ｓ，ａ）、報酬ｒ（ｓ，ａ）、割付け後のスケジュールｓ’とスケジュールｓ’での割付けの候補ａ’の価値Ｑ（ｓ’，ａ’）に対して、式（３−１）を用いて、ベルマン方程式を満たす行動価値Ｑ＊(ｓ，ａ)を計算し、式（３−２）を用いて、教師データＱＴ（ｓ，ａ）を作成する。ここで、αＲＬは強化学習設定テーブル１−３（表１１）で指定する強化学習の学習率である。
【００７５】
［数１］
Q*(s, a) = r(s, a) + γ max a’ { Q(s, a’) }  式（３−１）
QT(ｓ, a) = αRL Q(s, a) + (1-αRL) Q*(s, a)  式（３−２）
【００７６】
ステップＳ３−１４では、式（３−３）に示すＱ（ｓ，ａ）とＱＴ（ｓ，ａ）の二乗誤差Ｌに対する、ＧＣＮの各パラメータＡの勾配ｄＬ／ｄＡを、誤差逆伝播法を用いて計算し、勾配降下法の更新式（３−４）を用いて、二乗誤差Ｌを減少させるようにＧＣＮのパラメータを更新する。ここで、αＧＣＮは強化学習設定テーブル１−３（表１１）で指定するＧＣＮ学習率である。勾配降下法には、ＳＧＤ、ＲＳＭｐｒｏｐ、Ａｄａｍなどを用いても良い。
【００７７】
［数２］
L = ( Q(s, a) - QT(s, a) )2  式（３−３）
A ← A -αGCN dL/dA  式（３−４）
【００７８】
割付けの価値がベルマン方程式を満たしている場合、最も価値の高い割付けを選択することが、評価値を最大化する最適な割付けであることが知られている。したがって、二乗誤差Ｌを小さくすることで、最適な割付けルールに近づいていく。
ステップＳ３−１５では、現在のスケジュールを、割付け後のスケジュールに更新する。
そして、処理を終了する（ステップＳ３−１９）。
【００７９】
（割付け選択処理）
図４は、割付け選択部５−２における処理の流れを示すフローチャート図である。ステップＳ４−１で処理を開始し、ステップＳ４−２において、作業の割付け状況などの数値化できないスケジュールの情報をＤＮＮに入力するため、グラフ変換処理Ｕ４−１を用いて、入力するスケジュールの情報をグラフに変換する。
【００８０】
ステップＳ４−３では、例えば、グラフ畳み込みニューラルネットワーク処理（ＧＣＮ処理）Ｕ４−２を用いて、ステップＳ４−２で変換したスケジュールの情報のグラフをグラフ畳み込みニューラルネットワーク入力し、割付け（作業と設備のペアの割付け）に対する価値を計算する。ＧＣＮを用いることで、入力されたグラフの属性情報や隣接関係からスケジュールの詳細情報や全体情報を示す特徴量を抽出することができる。したがって、現場的観点と経営的観点の両方を考慮して割付けの価値を推定できる。
【００８１】
ここで、ステップＳ４−３の割付けの価値の計算には、ＧＣＮに代えて、例えば人手で設計した特徴量を入力とする深層ニューラルネットワークや、グラフカーネルなどの手法を用いても良い。  ステップＳ４−４で、ステップＳ４−３の割付け価値の計算の結果、最も価値の高い作業と設備のペアに対して、最も早く割付けが可能な開始時刻と終了時刻を計算し、割付け（作業、設備、開始時刻、終了時刻）を出力する。ステップＳ４−５で処理を終了する。
【００８２】
図５は、スケジュールグラフ処理の一例を示す図である。以下では、図５の左図に示すガントチャートでのスケジュールにおける割付けの選択の例を示す。ここで、実線で囲まれた作業は割付け済みの作業であり、設備１に作業１（9:00〜10:00）→作業２（10:00〜11:00）→作業３（11:00〜12:00）の順で割付けられ、設備２に作業５（11:00〜12:00）が割付けられている。その他の作業は未割付けである。点線で囲まれた作業は、このスケジュールにおける可能な割付けの候補である。表５の生産可能設備より、作業４は設備１（12:00〜13:00）又は設備２（12:00〜13:00）に割付け可能であり、作業６は設備２（12:00〜13:00）又は設備３（12:00〜13:00）に割付け可能である。
【００８３】
（グラフ変換処理）
図６は、入力されたスケジュールに対するグラフ変換処理Ｕ４−１の流れを示すフローチャート図である。ステップＳ５−１で処理を開始する。
ステップＳ５−２では、グラフの頂点を生成する。本実施の形態では、図３のステップＳ３−４、または，図１０のステップ７−３で作成した１０個の作業頂点（opr）、工程テーブル１−１−３（表３）に示す８個の工程頂点（prc）、設備テーブル１−１−４（表４）に示す３個の設備頂点（rsc）を生成する。
【００８４】
ステップＳ５−３では、各頂点の属性値を定義する。本実施の形態では、作業頂点には（開始時刻、終了時刻）の２属性、工程頂点には工程テーブル１−１−３（表３）に示す（処理時間）の１属性、設備頂点には設備テーブル１−１−４（表４）に示す（処理効率）の１属性を定義する。ただし、未割付けの作業頂点の開始時刻と終了時刻は、スケジュールの起点となる時刻（例えば2019/4/1 9:00）を設定する。
【００８５】
ステップＳ５−４では、頂点間に辺を定義する。本実施の形態では、作業頂点から割付けられた同じ設備で次に処理される作業頂点に向けて前後作業辺、作業頂点からその元となる工程頂点に向けて作業工程辺、作業頂点からその作業を割付けた設備頂点に向けて割付け設備辺、工程頂点から次に処理される工程頂点に向けて工程順序辺（品目関係テーブル１−１−２（表２）、工程テーブル１−１−３（表３）を参照）、工程からその工程を処理可能な設備に向けて生産可能設備辺（生産可能設備テーブル１−１−４（表５）を参照）、をそれぞれ張る。
【００８６】
図５左図に示すスケジュールをグラフ化した図を図５右図に示す。尚、説明のため、以下に説明する辺を実線の矢印で示している。例えば、作業９の工程は工程７であり、設備２と設備３で処理することができる。また、工程７は工程４と工程６が前工程であり、工程８が後工程である。作業は、設備２に作業５、設備１に作業１→作業２→作業３の順で割付けられており、他の作業は未割付けである。
このように、図５の左図のスケジュールを図５の右図のグラフに変換することができる。
【００８７】
尚、本実施の形態では、上記のようにグラフの構成を限定しているが、スケジュールの状況をより詳しく反映するために、構成要素を追加しても良い。例えば、工程間に段取り時間が発生する場合には、工程間に段取り辺を張り、段取り時間を段取り辺の属性値に定義しても良い。
【００８８】
本実施の形態によれば、スケジュールをグラフ変換したグラフ構造を用いることで、作業の開始時間や終了時間などの数値化できる詳細情報は頂点の属性値として表現することができ、割付け設備や作業順序などの数値化できない詳細情報は有向辺として表現することができる。
【００８９】
（グラフ畳み込みニューラルネットワーク処理）
図７は、グラフ畳み込みニューラルネットワーク処理Ｕ４−２の処理の流れを示すフローチャート図である。ステップＳ６−１において処理を開始する。
ステップＳ６−２（入力層処理Ｕ６−１）では、各頂点iの属性ベクトルを、ＧＣＮ設定テーブル１−５（表１２）で設定するｄ次元のベクトルに整形する。これを特徴ベクトルと呼ぶ。すべての頂点の属性ベクトルを固定の次元ｄに整形することにより、異なる種類の頂点間の特徴量の畳み込みが可能になる。
【００９０】
ステップＳ６−４（畳み込み層処理Ｕ６−２）では、グラフの隣接関係に従って、隣接頂点の情報を、各頂点の属性ベクトルに畳み込む。この処理Ｓ６−４を、ＧＣＮ設定テーブル１−５（表１２）で指定する畳み込み層数Ｎｃｎｖだけ繰り返す（Ｓ６−３〜Ｓ６−５）。畳み込み層処理により、グラフの属性情報と隣接情報から、スケジュールの詳細情報と全体情報を含む特徴量を抽出することができる。
ステップＳ６−６（出力層処理Ｕ６−３）では、割付けが可能な作業と設備のペアに対してその価値を計算する。作業と設備の特徴量にはスケジュールの詳細情報と全体情報が含まれているため、現場的観点と経営的観点と考慮して割付けの価値を推定できる。ステップＳ６−７で処理を終了する。
【００９１】
尚、後述するＧＣＮの各パラメータは、ＧＣＮパラメータテーブル１−４（表１３）から取得する。初めて処理を実行する場合には、各パラメータを−１〜＋１の範囲の一様乱数で初期化する。初期化には、正規乱数などを用いても良い。
以下に、図７で説明したグラフ畳み込みニューラルネットワーク処理の詳細について説明する。
【００９２】
（入力層処理Ｕ６−１）
まず、入力層処理Ｕ６−１について説明する。
入力層では、頂点ｉの種類ＮＴ（ｉ）ごとに異なるパラメータ、２×ｄ行列Ａ（ｉｎ，ｏｐｒ）、１×ｄ行列Ａ（ｉｎ，ｐｒｃ）、１×ｄ行列Ａ（ｉｎ，ｒｓｃ）、１×ｄ行ベクトルｂ（ｉｎ，ｏｐｒ）、１×ｄ行ベクトルｂ（ｉｎ，ｐｒｃ）、１×ｄ行ベクトルｂ（ｉｎ，ｒｓｃ）を用いて、作業の２次元属性ベクトル、工程の１次元属性ベクトル、設備の１次元属性ベクトルｘ（ｉ）を、式（６−１）でアフィン変換し、次元ｄの特徴ベクトルｈ（ｉ，０）に整形する。
【００９３】
［数３］
h(ｉ, 0) = x(i) A(in, NT(i)) + b(in, NT(i)) 式（６−１）
【００９４】
（畳み込み層処理Ｕ６−２）
図８は、工程２を中心頂点とした場合の畳み込み層処理の概要図である。
畳み込み層では、式（６−１）で計算した頂点ｉの特徴ベクトルｈ（ｉ，０）から開始し、メッセージ関数とアップデート関数を用いて、ｈ（ｉ，ｔ−１）に隣接頂点ｊの特徴ベクトルｈ（ｊ，ｔ−１）を畳み込み、頂点ｉ（この頂点を「中心頂点」と称する）の次の特徴ベクトルｈ（ｉ，ｔ）を計算する。
【００９５】
メッセージ関数では、中心頂点ｉのすべての隣接頂点ｊに対して、接続する有向辺ｅの種類ＥＴ（ｅ）と中心頂点ｉへの出入りの種類（ｉｎ，ｏｕｔ）ごとに異なるパラメータ、ｄ×ｄ行列Ａ（ｃｎｖ，ＥＴ（ｅ），ｉｎ）、ｄ×ｄ行列Ａ（ｃｎｖ，ＥＴ（ｅ），ｏｕｔ）、と、中心頂点ｉの種類ＮＴ（ｉ）ごとに異なるパラメータ、１×ｄ行ベクトルｂ（ｃｎｖ，ＮＴ（ｉ））、を用いて、隣接頂点ｊの特徴ベクトルｈ（ｊ，ｔ−１）をそれぞれ式（６−２）でアフィン変換する。計算したベクトルをメッセージベクトル、１×ｄ行ベクトルｍ（ｉ，ｔ）、と呼ぶ。
【００９６】
［数４］
m(ｉ, t) = Σe : i→j h(j, t - 1) A(cnv, ET(e), out) + Σe : j→i h(j, t - 1) A(cnv, ET(e), in)+ b(cnv, NT(i))（式（６−２））
【００９７】
アップデート関数では、中心頂点ｉの種類ＮＴ（ｉ）ごとに異なるパラメータ、ｄ×ｄ行列Ａ（ｃｎｔ，ＮＴ（ｉ））、ｄ×ｄ行列Ａ（ｍｓｇ，ＮＴ（ｉ））、１×ｄ行ベクトルｂ（ｕｐｄ，ＮＴ（ｉ））、を用いて、式（６−３）で中心頂点ｉの特徴ベクトルｈ（ｉ，ｔ−１）とメッセージベクトルｍ（ｉ，ｔ−１）をアフィン変換し、式（６−４）のLReLU関数（Leaky Rectified Linear Unit）で活性化する。なお、LReLU関数はスカラに対して式（６−５）で定義され、ベクトルに対しては式（６−５）を各成分に適応する。
【００９８】
［数５］
h’(ｉ, t) = h(ｉ, t - 1) A(cnt, NT(i)) + m(i, t - 1) A(msg, NT(i)) + b(upd, NT(i)) （式６−３）                         
h(i, t) = LReLU(h’(i, t)) （式（６−４）
LReLU(x) = （x ≧ 0 の場合）：x（x ＜ 0 の場合）：0.01 x  （式（６−５）
【００９９】
本実施の形態では、畳み込み層t（図では、１）から３））ごとに同一のパラメータを用いるが、異なるパラメータを用いても良い。
図８に示すように、工程２は、左図のように作業２／４、工程１／３／５、設備１／２と隣接しており、それら頂点の特徴量を中心頂点の特徴量に畳み込む。これにより、有向辺で表現した、スケジュールの数値化できない詳細情報を特徴量に反映することができる。
【０１００】
さらに、中心頂点２の隣接頂点は、前の畳み込み層処理において、さらにその隣接頂点の特徴量が畳み込まれているため、畳み込み層処理を繰り返すにつれて、中心頂点２に隣接していない遠くの頂点の特徴量も中心頂点に反映される（畳み込み層１）→畳み込み層２）→畳み込み層３））。したがって、各頂点の特徴量にスケジュールの全体情報を反映させることができる。
【０１０１】
（出力層処理Ｕ６−３）
図９は、出力層処理の概要図である。
出力層では、割付可能な作業頂点ｉと設備頂点ｊのすべての組に対して、それらの特徴ベクトルｈ（ｉ，Ｎｃｎｖ）とｈ（ｊ，Ｎｃｎｖ）に、式（６−６）でアフィン変換と、式（６−７）でLReLU関数を適用する。式（６−８），（６−９）の処理は、ＧＣＮ設定テーブル１−５（表１２）で指定する全結合層数Ｎｏｕｔだけ繰り繰り返す。最後に、式（６−１０）でアフィン変換を行い、スカラに整形する。ここで、パラメータは、ｄ×ｄ行列Ａ（ｏｕｔ，ｏｐｒ）、ｄ×ｄ行列Ａ（ｏｕｔ，ｒｓｃ）、１×ｄ行ベクトルｂ(out)、１×ｄ行ベクトルｂ（ｆｃ，t）、ｄ×１行列Ａ（ｒｓｈ）、１×１行ベクトルｂ（ｒｓｈ）、である。また、式（６−８）のアフィン変換は、各層ｔで異なるパラメータＡ（ｆｃ，ｔ）とｂ（ｆｃ，ｔ）を用いる。
【０１０２】
［数６］
Q’(ｉ, j, 0) = h(ｉ, Ncnv) A(out, opr) + h(j, Ncnv) A(out, rsc) + b(out)   式（６−６）
q(i, j, 0) = LReLU(q’(i, j, 0))   式（６−７）
q’(i, j, t) = q(i, j, t - 1) A(fc, t) + b(fc, t)   式（６−８）
q(i, j, t) = LReLU(q’(i, j, t))   式（６−９）
q(i, j) = q(i, j, Nout) A(rsh) + b(rsh)   式（６−１０）
【０１０３】
本実施の形態では、ＧＣＮ処理Ｕ４−２を上記のように限定して説明したが、割付けの価値の推定精度を向上させるために、処理を変更しても良い。例えば、アップデート関数にＧＲＵ（Gated Recurrent Unit）を用いても良い。
【０１０４】
図９のスケジュールでは、作業４は設備１又は２、作業６は設備２又は３に割付け可能であるため、作業と設備の各ペアに対して、出力層処理を行う。
その結果、各割付けの価値は、作業４を設備１に割付けた場合に価値２、作業４を設備２に割付けた場合に価値７、作業６を設備２に割付けた場合に価値１０、作業６を設備３に割付けた場合に価値５であり、最も価値の高い作業６の設備２への割付けを選択することができる。
【０１０５】
本実施の形態によれば、出力層処理では、数値化できる詳細情報だけでなく、数値化できない詳細情報や全体情報も反映された特徴量を用いるため、現場的観点と経営的観点の両方を考慮して割付けの価値を推定することができる。
【０１０６】
（スケジュール評価部）
スケジュール評価部５−４では、入力となるスケジュールと割付けに対する報酬（価値）を出力する。強化学習部５−１では、スケジュールの完成までの報酬の合計を改善するように割付けの価値を更新するため、報酬は現場的観点と経営的観点の両方を考慮して設計する必要がある。
【０１０７】
例えば、現場的観点として、工程順序を遵守していることや、設備の同じ時間に作業が重複していることなどの、制約を満たしていない割付けを選択した場合に、負の大きな値（例えば−１，０００）、同じ工程の作業を同じ設備で連続して処理していることや、染色工程の作業で色の濃い品目の前に色の薄い品目を割り当てることなどの、望ましい割付けを選択した場合には、正の値（例えば＋１０）、を報酬の値とするように定義してもよい。
【０１０８】
また、経営的観点として、スケジュールが完成する割付けの場合に、すべての作業の開始から終了までの期間であるメイクスパンや、納期の遵守率などの値を定義してもよい。
報酬の値を人手によって定義するのではなく、過去のスケジュールの実績データを基に、逆強化学習などの手法を用いることで、自動的に定義するようにしてもよい。
【０１０９】
（スケジュール立案部）
図１０は、スケジュール立案部５−３の処理の流れを示すフローチャート図である。スケジュール立案部５−３では、強化学習部５−１で学習した割付けの価値を用いて、ユーザに指定されたオーダに対するスケジュールを立案する。処理が開始され（ステップＳ７−１）、ステップＳ７−２では、入力装置２を用いて、オーダテーブル１−２−１（表６）からオーダのリストを取得する。本実施の形態では、例えば、オーダ１で１００個の製品４を2019/4/1 18:00までに生産することが指定されている。
【０１１０】
ステップＳ７−３では、オーダのリストから、ロットのリスト、作業のリストを作成する。ロットと作業の情報は、出力装置３を用いて出力され、ロットテーブル１−２−２（表７）、ロット関係テーブル１−２−３（表８）、作業テーブル１−２−４（表９）に格納される。
ステップＳ７−４においては、空のスケジュールを作成する。特急注文の場合には、既に立案済みのスケジュールをスケジュールテーブル１−２−５（表１０）で指定することができる。
【０１１１】
ステップＳ７−５では、スケジュールが未完成の場合、ステップＳ７−５からＳ７−８までの処理を繰り返す。
ステップＳ７−６では、強化学習部５−１で学習した割付け選択部５−２を用いて、割付けを選択する。
【０１１２】
ステップＳ７−７では、現在のスケジュールを、選択した割付け後のスケジュールに更新する。
ステップＳ７−９では、出力装置３を用いて出力し、完成したスケジュールをスケジュールテーブル１−２−５（表１０）に格納する。ステップＳ７−１０で処理を終了する。
【０１１３】
以上に説明したように、本実施の形態では、スケジュールの全体情報と詳細情報を同時に表現できる方法として、作業や設備を頂点、それらの関係性を有向辺で定義した有向グラフを採用し、グラフ畳み込みニューラルネットワーク（ＧＣＮ）を用いることで、頂点や有向辺の属性情報や隣接関係からスケジュールの全体情報と詳細情報の両方を含む特徴量を抽出することが可能である。
抽出した特徴量をＤＮＮに入力することで、強化学習の枠組みで経営的観点と現場的観点の両方を考慮して定義された評価値を改善させる割付け価値を推定できるようになる。そして、スケジュールの特徴量を抽出する新たな仕組みを利用した強化学習の適用を通して、評価値の高いスケジュールを立案することができる。
【０１１４】
（付記）
本発明は以下の開示を含む。
（１）
製造現場ごとの制約を満たすかを評価する現場的観点と、製造ＫＰＩの改善を評価する経営的観点の、両方を満足させるスケジュールを立案する生産計画作成装置であって、
強化学習を用いた作業割付け価値の学習を行う強化学習部と、前記強化学習部において学習した前記作業割付け価値に基づきオーダの作業を設備に割付けるスケジュール立案部と、を有し、
前記強化学習部は、
空のスケジュールを開始状態として、スケジュールをグラフに変換するグラフ変換部（１）と、
グラフ畳み込みにより前記スケジュールの全体情報と詳細情報を含む特徴量を抽出する特徴量抽出部（２）と、
前記特徴量抽出部が抽出した特徴量をDNNに入力して作業の割付け価値を推定する割付け価値推定部（３）と、
前記割付け価値推定部により推定された推定価値に基づき最も 価値の高い作業を１つ割付けてスケジュールを更新するスケジュール更新部（４）と、
前記スケジュール更新部において更新された前記スケジュールの評価値から割付け価値を出力するＤＮＮのパラメータを更新するＤＮＮパラメータ更新部（５）と、を有し、
前記ＤＮＮパラメータ更新部において更新された前記スケジュールを次の開始状態として処理をことによって前記全体情報と前記詳細情報の両観点の評価値を改善するような割付け価値を学習する
生産計画作成装置。
【０１１５】
上記の発明は、図１Ｂの機能ブロック図において、主記憶装置に、学習部と立案部とが設けられている構成を特定している。
学習部には、以下の構成が設けられている。上記付記に記載の発明（１）の記載における構成要件に付された符号は、以下の構成に対応し、上記の機能を有している。
１）有向グラフ変換部
２）特徴量抽出部
３）割付け価値推定部
４）スケジュール更新部
５）ＤＮＮパラメータ更新部
【０１１６】
本明細書において、処理および制御は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によるソフトウェア処理、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によるハードウェア処理によって実現することができる。
【０１１７】
また、上記の実施の形態において、図示されている構成等については、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれるものである。
【０１１８】
また、本実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１９】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また前記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。機能の少なくとも一部は、集積回路などのハードウェアで実現しても良い。
【産業上の利用可能性】
【０１２０】
本発明は、生産計画作成装置に利用可能である。
【符号の説明】
【０１２１】
Ａ  生産計画作成装置
１  補助記憶装置
２  入力装置
３  出力装置
４  中央演算装置（ＣＰＵ）
５  主記憶装置（生産計画作成演算装置）
５−１  強化学習部
５−２  割付け選択部
５−３  スケジュール立案部
５−４  スケジュール評価部
【図１Ａ】
2020177565.tif 000016
【図１Ｂ】
2020177565.tif 000017
【図２】
2020177565.tif 000018
【図３】
2020177565.tif 000019
【図４】
2020177565.tif 000020
【図５】
2020177565.tif 000021
【図６】
2020177565.tif 000022
【図７】
2020177565.tif 000023
【図８】
2020177565.tif 000024
【図９】
2020177565.tif 000025
【図１０】
2020177565.tif 000026