(57)【要約】【課題】複数の機械および空調機を有する工場での生産を温度制限および納期を遵守しながら消費電力を小さくするように制御する生産制御システムの低コストでの実現。【解決手段】複数の機械11A-11Nと、空調機13と、工場全体の消費電力を監視する電力算出部15と、工場の内部温度に関する情報を生成する温度情報生成部17と、を有する工場の生産制御システムであって、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御し、複数の機械の稼働状況および加工条件と空調機の稼働状況を含む動作状況と、動作状況による生産物の生産完了時間、工場の内部温度および工場全体の消費電力を含む環境状況との関係を学習し、生産計画に応じて環境状況が所望の条件になる動作状況を出力する機械学習部23を有する生産制御システム。【選択図】図１
2017142595.tif 000002
【特許請求の範囲】
【請求項１】
複数の機械と、空調機と、前記複数の機械および前記空調機による消費電力を含む前記工場全体の消費電力を監視する電力算出部と、前記工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、
生産計画で指示された生産物を、指示された納期で生産するように、前記複数の機械の稼働状況および加工条件を制御すると共に、前記空調機の稼働状況を制御し、
前記複数の機械の稼働状況および加工条件と前記空調機の稼働状況を含む動作状況と、前記動作状況による前記生産物の生産完了時間、前記工場の内部温度および前記工場全体の消費電力を含む環境状況との関係を学習し、前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する機械学習部を備えることを特徴とする生産制御システム。
【請求項２】
前記生産計画は、人員の勤務スケジュールを含み、
前記複数の機械の稼働は、前記勤務スケジュールにより制限される請求項１に記載の生産制御システム。
【請求項３】
前記機械学習部が前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する状態になるまで、所定のシーケンスにしたがって、前記生産計画に応じて前記複数の機械の稼働状況および加工条件、および前記空調機の稼働状況を制御する請求項１または２に記載の生産制御システム。
【請求項４】
前記機械学習部は、前記所定のシーケンスにしたがった制御が第１所定回数行われるまで学習を行う請求項３に記載の生産制御システム。
【請求項５】
前記機械学習部は、前記所定のシーケンスにしたがった制御が前記第１所定回数行われる間、前記動作状況および前記環境状況に関するデータを蓄積し、蓄積したデータに対して学習を行う請求項４に記載の生産制御システム。
【請求項６】
前記複数の機械の稼働状況および加工条件の制御および前記空調機の稼働状況の制御を、前記機械学習部の学習後、前記機械学習部の出力による制御に切り替える請求項１から５のいずれか１項に記載の生産制御システム。
【請求項７】
前記環境状況の所望の条件は、前記生産完了時間および前記工場の内部温度が所定の範囲内で、前記工場全体の消費電力が小さいほど望ましい請求項１から６のいずれか１項に記載の生産制御システム。
【請求項８】
複数の前記工場に対応して設けられた請求項１から７のいずれか１項に記載の複数の生産制御システムと、
前記複数の生産制御システムを接続する通信ネットワークと、を備え、
前記複数の生産制御システムのそれぞれは、各機械学習部の学習結果を、前記通信ネットワークを介して他の生産制御システムに通信し、前記複数の生産制御システムの複数の前記機械学習部は、学習結果を共有する統合生産制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産制御システムおよび統合生産制御システムに関し、特に複数の機械および空調機を有する工場での生産を、工場内温度および納期を遵守しながら消費電力を小さくするように学習する生産制御システムおよび統合生産制御システムに関する。
【背景技術】
【０００２】
通常、工場には複数の機械（例えば工作機械）が設けられると共に、精密加工では工場における温度が加工精度に影響するため工場内の環境条件を制御する空調（機）が設けられる。工場での生産は生産計画により指示され、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御して加工に要求される工場内の温度条件（温度および均一性）を実現する。
【０００３】
１個の生産物の生産工程内において加工工程を１つ進ませる毎の時間間隔は、タクトタイムと称され、生産管理における指標として広く使用される。なお、タクトタイムは、他の意味を表すものとして用いられる場合もあるが、ここでは、タクトタイムは、上記の時間を意味するものとして使用する。例えば、タクトタイムｔXMAXの生産物をＮｘ個生産する場合、Ｎｘが十分に大きければ、納期に関係するＮｘ個の生産物の製造時間は、近似的にＮｘ×ｔXMAXで表せる。
【０００４】
これまでの工場の生産管理では、生産計画が提示されると、工場の管理者が、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況（稼働開始・停止）および加工条件を決定し、さらに要求される工場内温度を実現するように、外気温および機械の稼働に応じた温度変化を考慮して空調機の稼働状況を決定していた。工場の人員状況により稼働可能な機械が変化する場合には、勤務スケジュールも考慮される。
【０００５】
工場と電力会社との契約においては、ピーク電力の最大値が決められており、ピーク電力が所定値を超えた場合には強制的に制限することが行われ、停電発生などが起こり得る。また、近年、夏場などの電力消費が増大する時期については、ピーク電力を最大値からさらに抑制することが、電力会社との契約に記載され、違反した場合には高額な料金を支払う等のペナルティが課される場合がある。この場合、問題になるのは、生産現場における消費電力のみでなく、工場内のさまざまな消費電力（事務所における消費電力、事務所における空調機の消費電力等）を含めて考える必要がある。工場の管理者には、このような事態の発生を回避すると共に、納期を遵守し、製品品質を維持することが求められる。そのため、これまでは、熟練者が工場の管理者になってきた。
【０００６】
しかし、工場の管理を限られた熟練者に依存することは多くのリスクを伴う。そこで、これまでの工場管理の経験に基づいて作成した工場管理プログラムを実行し、提示された生産計画に応じて工場の生産管理を自動的に行う制御装置が考えられている。
【０００７】
特許文献１は、制御対象の各工作機械に電力監視手段を設け、その機械の消費電力が、随時変更される規定値以下となるように主軸回転加減速度および送り軸回転加減速度を制御する消費電力制御システムを記載している。
【０００８】
特許文献２は、複数の設備機が実施する複数の工程を有する生産ラインについて、各工程の情報に基づき、ＰＥＲＴ分析により分析した工程の余裕時間と単位期間当たりの消費電力に基づいて工程の配置の組み合わせを選択し、工程の進行を制御すると共に使用しない設備機の電源をオフすることにより、消費電力の平準化を実現するシステムを記載している。さらに、このシステムにおいて、消費電力をリアルタイムで観測し、消費電力が設定値を超える場合には、モータの回転速度または回転加減速度を低下させることを記載している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１５６５９８号公報
【特許文献２】特許第５８１８８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、工場の生産管理を自動的に行う制御装置に搭載する工場管理プログラムの作成は、煩雑な作業であり、大きなコストを要するという問題があった。
【００１１】
本発明の目的は、複数の機械および空調機を有する工場での生産を、工場内温度の制限および納期を遵守しながら消費電力を小さくするように制御する生産制御システムを低コストで実現することである。
【課題を解決するための手段】
【００１２】
本発明の生産制御システムは、複数の機械と、空調機と、複数の機械および空調機による消費電力を含む工場全体の消費電力を監視する電力算出部と、工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御し、複数の機械の稼働状況および加工条件と空調機の稼働状況を含む動作状況と、動作状況による生産物の生産完了時間、工場の内部温度および工場全体の消費電力を含む環境状況との関係を学習し、生産計画に応じて環境状況が所望の条件になる動作状況を出力する機械学習部を備えることを特徴とする。
【００１３】
本発明の統合生産制御システムは、複数の工場に対応して設けられた上記の複数の生産制御システムと、複数の生産制御システムを接続する通信ネットワークと、を備え、複数の生産制御システムのそれぞれは、各機械学習部の学習結果を、通信ネットワークを介して他の生産制御システムに通信し、複数の生産制御システムの複数の機械学習部は、学習結果を共有する。
【発明の効果】
【００１４】
本発明の生産制御システムによれば、工場管理プログラムの作成無しで生産制御システムを実現できるので、コストを低減できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態の生産管理システムを搭載した工場の構成を示す。
【図２】第１実施形態の生産管理システムにおける基本処理動作を示すフローチャートである。
【図３】ニューロンのモデルを示す模式図である。
【図４】Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【図５】本発明の第２実施形態の生産制御システムを搭載した工場の構成を示す。
【図６】第２実施形態における生産計画および勤務スケジュールの表現例を示す。
【図７】本発明の第３実施形態の生産制御システムを搭載した工場の構成を示す。
【図８】第３実施形態における生産計画および勤務スケジュールの表現例を示す。
【図９】複数の工場に本発明の第４実施形態の統合生産制御システムを適用した場合の構成を示す。
【発明を実施するための形態】
【００１６】
図１は、本発明の第１実施形態の生産管理システムを搭載した工場の構成を示す。
工場は、複数の機械１１Ａ−１１Ｎと、空調機１３と、複数の機械１１Ａ−１１Ｎおよび空調機１３による消費電力を含む工場全体の消費電力を監視する電力算出部１５と、工場の内部温度に関する情報を生成する温度情報生成部１７と、を有し、制御部２０が工場を制御する。制御部２０は、コンピュータ上にソフトウェアを搭載することにより実現される。
【００１７】
空調機１３は１台に限定されず、複数台を含む場合もある。制御部２０は、工場に付属して設けても、工場と離れた位置に工場の各部と通信ネットワークを介して接続するように設けてもよい。なお、ここでは説明を簡単にするために、工場には上記のものが含まれ、制御部２０は、それらのものを制御するものとして説明する。しかし、例えば、工場には事務室および事務室の空調機も含まれ、電力算出部１５は事務室の空調機の消費電力も含めて消費電力を算出し、温度情報生成部１７は事務室の温度情報も含めた温度情報を出力し、制御部２０は、事務室の空調機の制御も行うものとしてもよい。さらに、機械には、照明器、搬送装置等の加工に直接かかわらない機械も含まれるものとしてもよい。その場合、加工に直接かかわらない機械には、加工速度等の加工条件に関する制御項目は含まれない。
【００１８】
制御部２０は、外部から提示された生産計画で指示された生産物を、指示された納期で生産するように、複数の機械１１Ａ−１１Ｎの稼働状況および加工条件を制御すると共に、空調機１３の稼働状況（稼働期間、出力等）を制御する。生産計画は、例えば、１日ごとに生産する生産物の品目、数量、および納期（生産完了時間）等を含む。
【００１９】
制御部２０は、ベースコントロール部２１と、機械学習部２３と、を有する。ベースコントロール部２１は、各種の要素を考慮しながら熟練者が生産計画に基づいて作成した、複数の機械１１Ａ−１１Ｎの稼働状況および加工条件と、空調機１３の稼働状況（稼働期間、出力等）に関するデータが入力される入力手段を有する。入力手段は、例えば、複数の機械１１Ａ−１１Ｎおよび空調機１３の制御データ入力部へ接続されるデータ入力ポートや、表示を伴う入力機能を有するコンピュータ等で実現される。複数の機械１１Ａ−１１Ｎの稼働状況および加工条件に関するデータは、各機械が加工する生産物および加工速度を時系列で示す。例えば、データは、生産物の品種、加工開始・完了時間、および加工条件を順に示すように表現される。また、データは、１日をユニット時間（例えば１０分）で分割し、８時から１２時および１３時から１７時までの８時間を４８ユニットに分割し、各ユニットで加工する生産物の品種および加工条件を示すように表現することもできる。加工時間が３０分であれば３ユニットを要する加工になる。なお、加工時間には、原材料のセットおよび完成品の取出しに要する時間も含まれるものとする。加工条件には、例えば加工速度が含まれ、所望の精度での加工が行える加工速度の範囲が段階的に示される。加工時間と加工速度は反比例の関係にある。空調機１３の稼働状況（稼働期間、出力等）に関するデータも同様に表現される。
【００２０】
機械学習部２３での学習が不十分な状態では、ベースコントロール部２１に入力された複数の機械１１Ａ−１１Ｎおよび空調機１３の制御データが、複数の機械１１Ａ−１１Ｎおよび空調機１３に供給される。複数の機械１１Ａ−１１Ｎおよび空調機１３は、制御データにしたがって動作する。例えば、機械Ａは、生産物Ｘを加工時間Ｓ（加工速度Ｒ）で加工し、この加工を１０回（１０個の生産物Ｘ）繰り返した後、２０分間稼働を停止し、その後同じ動作を３回繰り返す。これにより、合計３０個の生産物Ｘが生産される。
【００２１】
複数の機械１１Ａ−１１Ｎおよび空調機１３が制御データにしたがって動作することにより電力が消費され、熱が発生して工場内の温度が変化する。電力算出部１５は、例えば、複数の機械１１Ａ−１１Ｎおよび空調機１３にそれぞれ設けられた電力計の出力を読み取り、複数の機械１１Ａ−１１Ｎおよび空調機１３の消費電力の総量を検出する。また、複数の機械１１Ａ−１１Ｎでは加工条件と消費電力が一定の関係にあり、空調機１３では出力と消費電力が一定の関係にあるので、電力算出部１５は、複数の機械１１Ａ−１１Ｎの加工条件および空調機１３の制御データを読み取ることにより、消費電力の総量を算出することも可能である。
【００２２】
温度情報生成部１７は、工場内の温度を検出して温度情報を生成する。温度を検出する個所は、１か所に限定されず、複数個所でもよいが、ここでは、温度情報は、１つの温度であるとする。例えば、加工時の温度がＴ℃以上Ｕ℃以下であることが要求される場合、温度が低い場合には複数個所のうちの最低温度を、温度が高い場合には複数個所のうちの最高温度を温度情報とする。ただしこれに限定されず、複数個所の平均温度を温度情報とする場合もあり得る。また、機械学習部２３の構成によっては、温度情報は複数の温度を含んでもよい。さらに、温度を検出する個所は工場内に限定されず、外気温を検出するようにしてもよい。さらに、１日の外気温の変化に関する予測データを外部から収集するようにしてもよい。
【００２３】
機械学習部２３は、状態観測部３１と、学習器３３と、学習制御部３５と、を有する。状態観測部３１は、生産計画に関するデータ、複数の機械１１Ａ−１１Ｎおよび空調機１３にそれぞれ供給された制御データ、電力算出部１５からの各時刻における消費電力の総量（ピーク電力）および温度情報生成部１７からの温度情報を、ユニット時間単位で状態変数として取り込む。
【００２４】
学習器３３は、状態観測部３１の取り込んだ状態変数に基づいて学習を行い、十分な学習を行った後、生産計画に関するデータに応じて、複数の機械１１Ａ−１１Ｎおよび空調機１３にそれぞれ供給された制御データを出力する。この時、出力した制御データに応じて予測されるピーク電力および温度情報を外部出力するようにしても、さらに制御データに応じてタクトタイム、生産完了時間（納期）等も算出可能であり、これらを別途算出して外部出力するようにしてもよい。
【００２５】
学習制御部３５は、制御データに基づいて実行された工場における生産動作が好ましい具合を示す報酬を算出する報酬算出部と、状態観測部３１の取り込んだ状態変数および報酬のセットを記憶する記憶部と、学習器３３が状態変数および報酬のセットに基づいて実行する学習を制御する学習制御部３５と、を有する。
【００２６】
機械学習部２３の学習アルゴリズムについては後述するものとし、まず学習処理のフローを説明する。
【００２７】
図２は、第１実施形態の生産管理システムにおける基本処理動作を示すフローチャートである。
【００２８】
第１実施形態の生産管理システムは、工場における複数の機械１１Ａ−１１Ｎの稼働状況および加工条件と、空調機１３の稼働状況（稼働期間、出力等）とを制御するもので、機械学習部２３が学習を行うためだけに工場を稼働させることは実際にはできない。そこで、これまでと同様に熟練者が制御データを決定し、ステップＳ１０１で、その制御データに基づいて工場を稼働する。これを従来制御動作と称する。従来制御動作を行うことにより、稼働日ごとに、制御データと、生産完了時間（生産開始から終了までの時間）、電力ピークの変化データ、温度情報の変化データのセットが得られる。第１実施形態では、納期が守られ、加工処理における温度条件が守られた上で、各稼働日における電力ピークの最大値が低いほど良好になる報酬を設定し、各セットと一緒に記憶する。
【００２９】
なお、コンピュータによるシミュレーションにより、生産計画と、複数の機械１１Ａ−１１Ｎの稼働状況および加工条件と、空調機１３の稼働状況（稼働期間、出力等）と、を含むデータセットを変数とした場合に、制御データの各変数に対して得られる生産完了時間（生産開始から終了までの時間）、電力ピークの変化データ、温度情報の変化データの高精度の結果が得られるのであれば、それを学習データとして利用することも可能である。この場合、変数であるデータセットの各要素を適宜（例えばランダムに）変更しながらシミュレーションを行い、多数の学習データを収集することができる。
【００３０】
ステップＳ１０１では、機械学習部２３が十分な学習を行える日数分のデータ量が蓄積されるまで、この従来制御動作を繰り返す。繰り返し回数（稼働日数）は、これまでの経験に基づいて適宜設定する。この動作は、機械学習部２３が学習を行うためのデータを蓄積する動作であるから、ここでは初期学習動作とも称する。
【００３１】
従来制御動作（初期学習動作）の最後の時点では、学習制御部３５に、学習を実行するのに十分なデータ量が蓄積されていると考えられるので、学習器３３は、蓄積されたデータに基づいて学習を実行する。良好な学習が行えた場合には、学習器３３は、生産計画に対して、良好な報酬が得られると予測される制御データのセットを出力できるようになる。なお、必要であれば、学習器３３の出力が妥当なものであるか確認する処理を加えてもよい。
【００３２】
ステップＳ１０３で、制御部２０は、複数の機械１１Ａ−１１Ｎに出力する稼働状況および加工条件と、空調機１３に出力する稼働状況（稼働期間、出力等）と、に関する制御データを、ベースコントロール部２１の出力から、機械学習部２３が出力する制御データに切り替える。
【００３３】
ステップ１０５では、複数の機械１１Ａ−１１Ｎに出力する稼働状況および加工条件と、空調機１３に出力する稼働状況（稼働期間、出力等）は、機械学習部２３が出力する制御データにより制御されるようになる。ここではこの制御を学習部制御動作と称する。以下、ステップ１０３において、学習部制御動作が繰り返されることになる。
【００３４】
なお、ステップ１０３において、学習部制御動作が繰り返される場合、学習のための新たなデータが得られることになる。そこで、第１実施形態では、ステップ１０３において新たに実行した学習部制御動作およびその結果（生産完了時間、電力ピークの変化データ、温度情報の変化データ）に基づいた学習器３３の学習を随時行い、さらに良好な制御が行えるようにしている。ここでは、この学習動作を継続学習動作と称する。継続学習動作は、新たな学習部制御動作が行われる毎に行っても、所定回数の学習部制御動作が行われた時に行うようにしてもよい。
【００３５】
機械学習部２３が用いる学習アルゴリズムはどのようなものを用いてもよい。学習器２３は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、ここでは「強化学習」および「教師あり学習」を用いるものとする。例えば、ステップＳ１０１の従来制御動作（初期学習動作）では「教師あり学習」を用い、ステップＳ１０３の学習部制御動作（継続学習動作）では「強化学習」を用いる。ステップＳ１０３の最初では、学習器３３は「教師あり学習」が終了した状態であり、それが「強化学習」の初期状態となる。
【００３６】
上記の手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習（ディープラーニング：Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）」と呼ばれる手法がある。なお、これらの機械学習（学習機３３）は、例えば、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用することにより実現される。
【００３７】
次に、学習器３３についてより詳細に説明する。学習器３３は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。上述のように、学習器３３の学習アルゴリズムとして、「教師あり学習」および「強化学習」がある。
【００３８】
「強化学習」を次のように考える。
・制御装置２０の機械学習部２３は動作状態および環境の状態を観測する。
・環境は動作に従って変化する。
・観測した環境（状態変数）に対して、実際の電力ピークの変化データが観測され、ラベル（報酬）が得られる。
・ニューラルネットワーク（関数）は、生産計画に対してより高いラベルが得られるように更新される。
・環境（状態変数）が引き起こす結果（電力ピーク）を全く知らない、または不完全にしか知らない状態から学習はスタートする。すなわち、複数の機械（制御装置）１１Ａ−１１Ｎおよび空調機１３が実際に動作して初めて、その報酬をデータとして得ることができる。つまり、試行錯誤しながら最適な関数が得られ、報酬を最大にする制御データが得られるようにする必要がある。
・人間の動作を真似るように事前学習した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００３９】
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、ピークパワー値の最大値が正確に計算されるといった、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００４０】
Ｑ学習は、ある環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、ある状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、ある状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００４１】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す。ここでＥ［］は期待値を表し、ｔは時刻、γは後述する割引率と呼ばれるパラメータ、ｒtは時刻ｔにおける報酬、Σは時刻ｔによる合計である。この式における期待値は、最適な行動に従って状態変化したときについてとるものとし、それは分かっていないので、探索しながら学習することになる。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば式１により表すことができる。
【００４２】
【数１】
2017142595.tif 000003
【００４３】
上記の式１において、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により貰える報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。γは、０＜γ≦１のパラメータで、割引率と呼ばれる。αは学習係数で、０＜α≦１の範囲とする。
【００４４】
式１は、試行ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓにおける行動ａの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ（ｓt+1，ｍａｘ ａt+1）の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【００４５】
ここで、Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法と、Ｑ（ｓ，ａ）を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【００４６】
また、教師あり学習、教師なし学習、および強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図３に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図３は、ニューロンのモデルを示す模式図である。
【００４７】
図３に示すように、ニューロンは、複数の入力ｘ（図３では、一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、式２により表現される出力ｙを出力する。なお、入力ｘ、出力ｙおよび重みｗは、すべてベクトルである。また、下記の式２において、θはバイアスであり、ｆkは活性化関数である。
【００４８】
【数２】
2017142595.tif 000004
【００４９】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図４を参照して説明する。図４は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００５０】
図４に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００５１】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００５２】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。図４において、これらｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００５３】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。図４において、これらｚ２１、ｚ２２は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００５４】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００５５】
ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて複数の機械および空調機の制御に関する行動判断を行う。なお、便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能なのはいうまでもない。
【００５６】
ここで、予測モードで実際に複数の機械および空調機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００５７】
また、重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション：Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００５８】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００５９】
「教師有り学習」も、「強化学習」と同様に、ニューラルネットワークのアルゴリズムを用いて実現することができるが、状態観測が行われるごとに、教師データに応じてニューラルネットワーク（関数）が更新される。教師データとして、上記のラベル（報酬）が使用可能である。
【００６０】
以上第１実施形態の生産制御システムについて説明したが、次に制御データについて具体例を用いた第２実施形態を説明する。
【００６１】
図５は、本発明の第２実施形態の生産制御システムを搭載した工場の構成を示す。
第１実施形態の工場と同様に、第２実施形態の工場は、複数の機械１１Ａ−１１Ｎと、空調機１３と、電力算出部１５と、温度情報生成部１７と、を有し、制御部２０が工場を制御する。制御部２０は、ベースコントロール部２１および機械学習部２３に加えてスイッチ２５を有し、外部から生産計画に加えて勤務スケジュールの情報を受けて制御を行う。スイッチは、図２のステップＳ１０３の制御切替を実行するための装置で、前述のようにソフトウェアで実現される。
【００６２】
図６は、第２実施形態における生産計画および勤務スケジュールの表現例を示す。勤務スケジュールは、工場に出勤し生産に従事する人員情報であり、これにより稼働できる機械が変化する。例えば、十分な人員を確保できる勤務スケジュールであれば、すべての機械１１Ａ−１１Ｎが常時稼働可能であるが、勤務スケジュールにより確保できる人員が制限される場合、ある機械が１日中稼働不能になるか、２つの機械は同時には稼働不能になるという具合に、機械の稼働状況が制限されることになる。ここでは説明を容易にするために、各機械の稼働の可否情報の形で提供される。ただし、機械の稼働の可否のみでなく、同時に稼働できる機械の組み合わせが変化するなどの形で情報を表現することも可能である。
【００６３】
機械学習部２３は、第１実施形態と同様に、状態観測部３１と、学習器３３と、学習制御部３５と、を有する。学習制御部３５は、図示のように報酬算出部４１と、記憶部４３と、更新部４５と、を有する。学習器３３は、前述の学習アルゴリズムのいずれを使用してもよい。以下、各部のデータを例示して第２実施形態を詳細に説明する。
【００６４】
生産計画は、図６の（Ａ）に示すように、生産物の品種、生産個数、１個の生産に必要な工程および納期の項目を有し、ここでは１種類の生産物Ｘを、ｎｘ個、納期ｔｘで生産し、１個の生産物Ｘを生産するのに、機械ＡでtAX(PA(t))時間、機械ＢでtBX(PB(t))時間、…、機械ＮでtNX(PNX(t))時間加工することが示される。PA(t)、PB(t)、…、PNX(t)は、機械Ａ、Ｂ、…、Ｎにおける加工速度パラメータであり、PKMIN(t)＜PK(t)＜PKMAX(t),ただしＫ＝Ａ，Ｂ，…，Ｎである。
【００６５】
勤務スケジュールは、図６の（Ｂ）に示すように、各機械の稼働の可否を示すデータに加工されて提供される。
【００６６】
ベースコントロール部２１への入力として、以下のデータが与えられる。
生産計画：図６の（Ａ）
勤務スケジュール：図６の（Ｂ）
サイクルタイムを求める関数：tAX0(PA(t)), tBX0(PB(t)), …, tNX0(PN(t)) 
消費電力を求める関数：pA0(PA(t)), pB0(PB(t)), …, pN0(PN(t)), pAIR0(PAIR(t))
tAX0(PA(t))は、機械Ａのサイクルタイムを求める関数であり、他も同様であり、pA0(PA(t))は機械Ａの消費電力を求める関数であり、pAIR0(PAIR(t))は空調機の消費電力を求める関数であり、他も同様である。
【００６７】
機械学習部２３の状態観測部３１への入力として、以下のデータが与えられる。
生産計画：図６の（Ａ）
勤務スケジュール：図６の（Ｂ）
工場内の消費電力（電力算出部１５から）：pTOTAL(t)
工場内の温度情報（および温度情報生成部１７から）：TAIR(t)
以上に加えて、ベースコントロール部２１の機械Ａ−Ｎおよび空調機への出力または学習器３３の出力が入力される。
また、機械学習部３１には予め以下の入力が与えられている。
サイクルタイムを求める関数：tAX0(PA(t)), tBX0(PB(t)), …, tNX0(PN(t))
温度範囲指定データ：TMIN, TMAX、
加工速度パラメータ範囲（上限と下限）：PAMIN, PAMAX, PBMIN, PBMAX, …, PNMIN, PNMAX
空調制御指令範囲（上限と下限）PAIRMIN, PAIRMAX
【００６８】
学習器３３は、以下を出力する。
加工速度パラメータ：PA(t), PB(t), …,PN(t)
ここで、(PKMIN＜PK(t)＜PKMAX, ただしK=A, B, …,N)
空調制御指令：PAIR(t)
ここで、(PAIRMIN＜PAIR(t)＜PAIRMAX)
【００６９】
生産物Xの生産完了時刻をtXENDとおく。
学習器は以下の条件（１）および（２）を優先的に満たすように探索を行う。
tXEND＜tX     （１）
TMIN＜TAIR(t)＜TMAX            （２）
さらに、条件（１）および（２）を満たした上で、pTOTAL(t)の日毎の最大値を下げられるように学習する。
【００７０】
ここで、例として、熟練者が出力を決定する際の処理の例を挙げる。
まず、NXが十分に大きいとすると生産物Xの生産完了時刻tXENDはタクトタイムtXMAXを用いて近似できるため、以下の式を使用してPA(t), PB(t)-PN(t)の範囲を決定できる。
tXEND＝tXMAX NX=max｛tAX0(PA(t)), tBX0(PB(t)), tNX0(PN(t))｝・NX
また、空調による温度変化をfAIR (PAIR)とし、外気や熱源など空調以外の影響による温度変化をTO(t)とすれば、下記の式が成り立つため、fAIR (PAIR)を予測すればTAIR(t)に対するPAIR(t)を決定できる。
TAIR(t)= TAIR(t-Δt)+ fAIR (PAIR(t-Δt))+ TO(t-Δt)
また、機械A,B-Nおよび空調を除いた工場内の消費電力をpO(t)とおくと、工場内の消費電力pTOTAL(t)は次の式で予測できるので、日毎のpTOTAL(t)の最大値が最小になると予測されるPA(t), PB(t)-PN(t)を決定できる。このとき、pO(t)については定数と仮定するか、観測により予測を行う。
【００７１】
【数３】
2017142595.tif 000005
【００７２】
人がパラメータを決定する際は、tXENDの近似誤差やpO(t), fAIR (PAIR), TO(t)といった関数については繰り返し生産を行い実際の値を観測することで予測精度を高めることできる。
【００７３】
第２実施形態において、出力を決定する際の処理について記す。初期の制御はベースコントロール部２１が行う。その際の機械学習部２３の入力を「教師あり学習」の教師とする。
【００７４】
報酬算出部４１は以下の規則により報酬を算出する。
・条件（１）および（２）の一方でも満たされなければマイナスの報酬を算出する。
・条件（１）および（２）の両方が満たされたとき、pTOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、pTOTAL(t) の日毎の最大値が大きくなる方向への変化でマイナスの報酬を算出する。
【００７５】
記憶部４３は入力・報酬・出力の組を記憶する。
更新部４５は入力・報酬・出力の組に基づいて、出力を決定するために必要な学習器３３のモデル式の更新をする。
「教師あり学習」により特徴が学習された後、動作の制御をベースコントロール部２１から機械学習部２３に切り替える。その時の学習器３３の状態を「強化学習」の初期状態とする。学習器３３は「強化学習」によりモデル式を更新することができる。更新部３３は記憶部４３のデータを基にモデル式を更新する。
【００７６】
図７は、本発明の第３実施形態の生産制御システムを搭載した工場の構成を示す。
第３実施形態の工場は、第２実施形態の工場と同様の構成を有し、複数の機械１１Ａ−１１Ｎがそれぞれ温度計と電力系を有すること、および空調機１３が電力計を有することが第２実施形態と異なる。また、第３実施形態の制御部２０は、第２実施形態の制御部２０と類似の構成を有する。
【００７７】
図８は、第３実施形態における生産計画および勤務スケジュールの表現例を示す。
第３実施形態では、３種類の生産物X,Y,Zを機械A,B-Nを使用し図８の（Ａ）の生産計画および図８の（Ｂ）の勤務スケジュールに基づいて生産する際、機械毎の温度を一定に保ちつつ、工場の消費電力を下げられる制御データを生成するように、機械学習部２３が学習を行う。なお、K=A,B,…,Nとし、L=X,Y,Zとする。
【００７８】
図８の（Ａ）に示すように、生産計画（生産スケジュール）は、３種類の生産部を生産することが第２実施形態の場合と異なるが、各生産物についての項目は第２実施形態と同じである。また、図８の（Ｂ）に示すように、勤務スケジュールは、第２実施形態と同じである。
【００７９】
ベースコントロール部２１への入力として、以下が与えられる
生産計画：図８の（Ａ）
勤務スケジュール：図８の（Ｂ）
サイクルタイムを求める関数：tKL0(PK(t))
消費電力を求める関数：pK0(PK(t)), pAIR0(PAIR(t))
【００８０】
機械学習部２３の状態観測部３１への入力として、以下が与えられる。
生産計画：図８の（Ａ）
勤務スケジュール：図８の（Ｂ）
装置毎の消費電力：pK(t),pAIR(t)
工場内の消費電力：pTOTAL(t)
装置毎の温度情報：TK(t), TAIR(t)
工場内の温度情報：TAIR(t)
また、機械学習部２３には予め以下の入力を与える。
温度範囲指定：TMIN,TMAX
加工速度パラメータ範囲：PKLMIN, PKLMAX
空調制御指令範囲：PAIRMIN,PAIRMAX
【００８１】
学習器は、以下を出力する。
稼働開始／停止命令：EKL(t)
ここで、EKL(t) = 0, 1
加工速度パラメータ：PK(t)
ここで、PKMIN＜PK(t)＜PKMAX)
空調制御指令：PAIR(t)
ここで、PAIRMIN＜PAIR(t)＜PAIRMAX
なお、EKL(t)=1のとき、時刻tでは機械Kで生産物Lの加工を行うものとする。
【００８２】
また、生産物Lの生産完了時刻をtLENDとおく。
機械学習部２３は全てのK,Lについて以下の条件（３）および（４）を優先的に満たすように探索を行う。
tLEND＜tL     （３）
TMIN＜TK(t)＜TMAX             （４）
さらに、（３）および（４）を満たした上で、pTOTAL(t)の日毎の最大値を下げられるように学習する。
【００８３】
以下に熟練者が出力値を決定する際の処理の例を挙げる。
探索の方針として、生産計画を成り立たせることを最初に考える。tLEND＜tLを満たす稼働開始／停止命令および加工速度パラメータの範囲を探索する。その際、1つの機械で複数の生産物の加工を同時に行えないとすれば、全ての機械について以下の式を満たす必要がある。
【００８４】
【数４】
2017142595.tif 000006
【００８５】
その範囲内の各点について温度条件を満たす空調制御指令を算出する。まず、空調による温度変化をfAIR(PAIR)とし、加工速度パラメータによる温度変化をgK(PK(t))とする。さらに外気や熱源など空調以外の影響による温度変化をTO(t)とすれば、定数kK, lKを仮定すれば、下記の式が成り立つと仮定できる。
【００８６】
【数５】
2017142595.tif 000007
【００８７】
もしくは、TAIR(t)とTK(t)の関係を観測することで、TAIR(t)の満たすべき範囲を予測し使用する。
生産計画と温度条件の成り立つ各点における消費電力を算出することで、pTOTAL(t)の日毎の最大値が最小となると予測される出力値を決定できる。必要ならば以下の式を用いる。pO(t)は機械A,B-Nおよび空調を除いた工場内の消費電力を表す。
【００８８】
【数６】
2017142595.tif 000008
【００８９】
ただし、実際の生産完了時刻や温度変化、消費電力が算出した値と誤差を持つなら、算出方法を修正するか、マージンを持たせて再計算する必要がある。
初期の制御はベースコントロール部２１が行う。その際の機械学習部２３の入力を「教師あり学習」の教師とする。
【００９０】
報酬算出部４１は以下の規則により報酬を算出する。
・全てのK,Lに対して条件（３）および（４）の一方でも満たされなければマイナスの報酬を算出する。
・全てのK,Lに対して条件（３）および（４）の両方が満たされたとき、pTOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、pTOTAL(t) の日毎の最大値が大きくなる方向への変化でマイナスの報酬を算出する。
【００９１】
「教師あり学習」により特徴が学習された後、動作の制御をベースコントロール部２１から機械学習部２３に切り替える。その時の学習器の状態を「強化学習」の初期状態とする。さらに学習が進んだ学習器は「強化学習」によりモデル式を更新することができる。
【００９２】
図９は、複数の工場に本発明の第４実施形態の統合生産制御システムを適用した場合の構成を示す。
複数の工場１００Ｐ，１００Ｑ，…，１００Ｓは、それぞれ第１から第３実施形態の何れかの制御部２０Ｐ，２０Ｑ，…，２０Ｓを搭載している。制御部２０Ｐ，２０Ｑ，…，２０Ｓは、通信ネットワーク１２０を介して相互に通信可能に接続されている。
【００９３】
さらに、図９に示すように、通信ネットワーク１２０を介して制御部２０Ｐ，２０Ｑ，…，２０Ｓと相互に通信可能な統合生産管理部１１０が設けられている。統合生産管理部１１０は、複数の工場１００Ｐ，１００Ｑ，…，１００Ｓを統合して管理する。統合生産管理部１１０は、複数の工場１００Ｐ，１００Ｑ，…，１００Ｓの生産計画を作成し、作成した生産計画を対応する工場に通信する。
【００９４】
第４実施形態の統合生産制御システムでは、ある工場の制御部２０Ｉ（Ｉ＝Ｐ，Ｑ，…，Ｓ）で実行した学習の結果を、他の工場の制御部２０Ｊ（Ｊ＝Ｐ，Ｑ，…，Ｓ且つＪ≒Ｉ）に通信する。言い換えれば、制御部２０Ｐ，２０Ｑ，…，２０Ｓは、学習結果を通信ネットワーク１２０を介して交換し、共有する。他の制御部２０Ｉからの学習結果を受信した制御部２０Ｊは、学習前であれば受信した学習結果を参考にして初期状態を設定し、学習後であれば自分の学習結果を受信した学習結果を比較して更なる学習を行う時の参考にする。
【符号の説明】
【００９５】
１１Ａ−１１Ｎ    機械
１３    空調機
１５    電力算出部
１７    温度情報生成部
２０    制御部
２１    ベースコントロール部
２３    機械学習部
３１    状態観測部
３３    学習器
３５    学習制御部
【図１】
2017142595.tif 000009
【図２】
2017142595.tif 000010
【図３】
2017142595.tif 000011
【図４】
2017142595.tif 000012
【図５】
2017142595.tif 000013
【図６】
2017142595.tif 000014
【図７】
2017142595.tif 000015
【図８】
2017142595.tif 000016
【図９】
2017142595.tif 000017
【手続補正書】
【提出日】平成28年9月13日(2016.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機械と、空調機と、前記複数の機械および前記空調機による消費電力を含む前記工場全体の消費電力を監視する電力算出部と、前記工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、
生産計画で指示された生産物を、指示された納期で生産するように、前記複数の機械の稼働状況および加工条件を制御すると共に、前記空調機の稼働状況を制御し、
前記複数の機械の稼働状況および加工条件と前記空調機の稼働状況を含む動作状況と、前記動作状況による前記生産物の生産完了時間、前記工場の内部温度および前記工場全体の消費電力を含む環境状況との関係を学習し、前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する機械学習部を備える生産制御システムにおいて、
前記機械学習部は、状態観測部と、学習器と、学習制御部とを有し、
前記状態観測部は、前記生産計画に関するデータ、前記複数の機械および前記空調機に供給された制御データ、前記電力算出部からの消費電力の総量、ならびに前記温度情報生成部からの温度情報を状態変数として取り込み、
前記学習器は、前記状態観測部が取り込んだ前記状態変数に基づいて学習を行い、前記生産計画に関するデータに応じて、前記複数の機械および前記空調機に供給される制御データを出力し、
前記学習制御部は、前記制御データに基づいて実行された工場における生産動作が好ましい具合を示す報酬を算出する報酬算出部と、前記状態変数および前記報酬のセットを記憶する記憶部と、を有し、前記学習器が前記状態変数および前記報酬のセットに基づいて実行する学習を制御することを特徴とする生産制御システム。
【請求項２】
前記生産計画は、人員の勤務スケジュールを含み、
前記複数の機械の稼働は、前記勤務スケジュールにより制限される請求項１に記載の生産制御システム。
【請求項３】
前記機械学習部が前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する状態になるまで、所定のシーケンスにしたがって、前記生産計画に応じて前記複数の機械の稼働状況および加工条件、および前記空調機の稼働状況を制御する請求項１または２に記載の生産制御システム。
【請求項４】
前記機械学習部は、前記所定のシーケンスにしたがった制御が第１所定回数行われるまで学習を行う請求項３に記載の生産制御システム。
【請求項５】
前記機械学習部は、前記所定のシーケンスにしたがった制御が前記第１所定回数行われる間、前記動作状況および前記環境状況に関するデータを蓄積し、蓄積したデータに対して学習を行う請求項４に記載の生産制御システム。
【請求項６】
前記複数の機械の稼働状況および加工条件の制御および前記空調機の稼働状況の制御を、前記機械学習部の学習後、前記機械学習部の出力による制御に切り替える請求項１から５のいずれか１項に記載の生産制御システム。
【請求項７】
前記環境状況の所望の条件は、前記生産完了時間および前記工場の内部温度が所定の範囲内で、前記工場全体の消費電力が小さいほど望ましい請求項１から６のいずれか１項に記載の生産制御システム。
【請求項８】
複数の前記工場に対応して設けられた請求項１から７のいずれか１項に記載の複数の生産制御システムと、
前記複数の生産制御システムを接続する通信ネットワークと、を備え、
前記複数の生産制御システムのそれぞれは、各機械学習部の学習結果を、前記通信ネットワークを介して他の生産制御システムに通信し、前記複数の生産制御システムの複数の前記機械学習部は、学習結果を共有する統合生産制御システム。