特許第6059375号(P6059375)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許6059375生産制御システムおよび統合生産制御システム
<>
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000008
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000009
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000010
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000011
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000012
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000013
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000014
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000015
  • 特許6059375-生産制御システムおよび統合生産制御システム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6059375
(24)【登録日】2016年12月16日
(45)【発行日】2017年1月11日
(54)【発明の名称】生産制御システムおよび統合生産制御システム
(51)【国際特許分類】
   G05B 19/418 20060101AFI20161226BHJP
   G06Q 50/04 20120101ALI20161226BHJP
   G06Q 50/06 20120101ALI20161226BHJP
   F24F 11/02 20060101ALI20161226BHJP
【FI】
   G05B19/418 Z
   G06Q50/04
   G06Q50/06
   F24F11/02 P
【請求項の数】8
【全頁数】18
(21)【出願番号】特願2016-22598(P2016-22598)
(22)【出願日】2016年2月9日
【審査請求日】2016年4月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100119987
【弁理士】
【氏名又は名称】伊坪 公一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(72)【発明者】
【氏名】木下 次朗
(72)【発明者】
【氏名】野本 靖司
(72)【発明者】
【氏名】大家 智樹
(72)【発明者】
【氏名】中里 輝希
【審査官】 後藤 健志
(56)【参考文献】
【文献】 特開平05−165839(JP,A)
【文献】 特開2004−151830(JP,A)
【文献】 特開2013−228922(JP,A)
【文献】 特開2013−210728(JP,A)
【文献】 特開2014−228972(JP,A)
【文献】 特開2004−094900(JP,A)
【文献】 国際公開第2014/065111(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
F24F 11/02
G06Q 50/04
G06Q 50/06
(57)【特許請求の範囲】
【請求項1】
複数の機械と、空調機と、前記複数の機械および前記空調機による消費電力を含む前記工場全体の消費電力を監視する電力算出部と、前記工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、
生産計画で指示された生産物を、指示された納期で生産するように、前記複数の機械の稼働状況および加工条件を制御すると共に、前記空調機の稼働状況を制御し、
前記複数の機械の稼働状況および加工条件と前記空調機の稼働状況を含む動作状況と、前記動作状況による前記生産物の生産完了時間、前記工場の内部温度および前記工場全体の消費電力を含む環境状況との関係を学習し、前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する機械学習部を備える生産制御システムにおいて、
前記機械学習部は、状態観測部と、学習器と、学習制御部とを有し、
前記状態観測部は、前記生産計画に関するデータ、前記複数の機械および前記空調機に供給された制御データ、前記電力算出部からの消費電力の総量、ならびに前記温度情報生成部からの温度情報を状態変数として取り込み、
前記学習器は、前記状態観測部が取り込んだ前記状態変数に基づいて学習を行い、前記生産計画に関するデータに応じて、前記複数の機械および前記空調機に供給される制御データを出力し、
前記学習制御部は、前記制御データに基づいて実行された工場における生産動作が好ましい具合を示す報酬を算出する報酬算出部と、前記状態変数および前記報酬のセットを記憶する記憶部と、を有し、前記学習器が前記状態変数および前記報酬のセットに基づいて実行する学習を制御することを特徴とする生産制御システム
【請求項2】
前記生産計画は、人員の勤務スケジュールを含み、
前記複数の機械の稼働は、前記勤務スケジュールにより制限される請求項1に記載の生産制御システム。
【請求項3】
前記機械学習部が前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する状態になるまで、所定のシーケンスにしたがって、前記生産計画に応じて前記複数の機械の稼働状況および加工条件、および前記空調機の稼働状況を制御する請求項1または2に記載の生産制御システム。
【請求項4】
前記機械学習部は、前記所定のシーケンスにしたがった制御が第1所定回数行われるまで学習を行う請求項3に記載の生産制御システム。
【請求項5】
前記機械学習部は、前記所定のシーケンスにしたがった制御が前記第1所定回数行われる間、前記動作状況および前記環境状況に関するデータを蓄積し、蓄積したデータに対して学習を行う請求項4に記載の生産制御システム。
【請求項6】
前記複数の機械の稼働状況および加工条件の制御および前記空調機の稼働状況の制御を、前記機械学習部の学習後、前記機械学習部の出力による制御に切り替える請求項1から5のいずれか1項に記載の生産制御システム。
【請求項7】
前記環境状況の所望の条件は、前記生産完了時間および前記工場の内部温度が所定の範囲内で、前記工場全体の消費電力が小さいほど望ましい請求項1から6のいずれか1項に記載の生産制御システム。
【請求項8】
複数の前記工場に対応して設けられた請求項1から7のいずれか1項に記載の複数の生産制御システムと、
前記複数の生産制御システムを接続する通信ネットワークと、を備え、
前記複数の生産制御システムのそれぞれは、各機械学習部の学習結果を、前記通信ネットワークを介して他の生産制御システムに通信し、前記複数の生産制御システムの複数の前記機械学習部は、学習結果を共有する統合生産制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生産制御システムおよび統合生産制御システムに関し、特に複数の機械および空調機を有する工場での生産を、工場内温度および納期を遵守しながら消費電力を小さくするように学習する生産制御システムおよび統合生産制御システムに関する。
【背景技術】
【0002】
通常、工場には複数の機械(例えば工作機械)が設けられると共に、精密加工では工場における温度が加工精度に影響するため工場内の環境条件を制御する空調(機)が設けられる。工場での生産は生産計画により指示され、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御して加工に要求される工場内の温度条件(温度および均一性)を実現する。
【0003】
1個の生産物の生産工程内において加工工程を1つ進ませる毎の時間間隔は、タクトタイムと称され、生産管理における指標として広く使用される。なお、タクトタイムは、他の意味を表すものとして用いられる場合もあるが、ここでは、タクトタイムは、上記の時間を意味するものとして使用する。例えば、タクトタイムtXMAXの生産物をNx個生産する場合、Nxが十分に大きければ、納期に関係するNx個の生産物の製造時間は、近似的にNx×tXMAXで表せる。
【0004】
これまでの工場の生産管理では、生産計画が提示されると、工場の管理者が、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況(稼働開始・停止)および加工条件を決定し、さらに要求される工場内温度を実現するように、外気温および機械の稼働に応じた温度変化を考慮して空調機の稼働状況を決定していた。工場の人員状況により稼働可能な機械が変化する場合には、勤務スケジュールも考慮される。
【0005】
工場と電力会社との契約においては、ピーク電力の最大値が決められており、ピーク電力が所定値を超えた場合には強制的に制限することが行われ、停電発生などが起こり得る。また、近年、夏場などの電力消費が増大する時期については、ピーク電力を最大値からさらに抑制することが、電力会社との契約に記載され、違反した場合には高額な料金を支払う等のペナルティが課される場合がある。この場合、問題になるのは、生産現場における消費電力のみでなく、工場内のさまざまな消費電力(事務所における消費電力、事務所における空調機の消費電力等)を含めて考える必要がある。工場の管理者には、このような事態の発生を回避すると共に、納期を遵守し、製品品質を維持することが求められる。そのため、これまでは、熟練者が工場の管理者になってきた。
【0006】
しかし、工場の管理を限られた熟練者に依存することは多くのリスクを伴う。そこで、これまでの工場管理の経験に基づいて作成した工場管理プログラムを実行し、提示された生産計画に応じて工場の生産管理を自動的に行う制御装置が考えられている。
【0007】
特許文献1は、制御対象の各工作機械に電力監視手段を設け、その機械の消費電力が、随時変更される規定値以下となるように主軸回転加減速度および送り軸回転加減速度を制御する消費電力制御システムを記載している。
【0008】
特許文献2は、複数の設備機が実施する複数の工程を有する生産ラインについて、各工程の情報に基づき、PERT分析により分析した工程の余裕時間と単位期間当たりの消費電力に基づいて工程の配置の組み合わせを選択し、工程の進行を制御すると共に使用しない設備機の電源をオフすることにより、消費電力の平準化を実現するシステムを記載している。さらに、このシステムにおいて、消費電力をリアルタイムで観測し、消費電力が設定値を超える場合には、モータの回転速度または回転加減速度を低下させることを記載している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2011−156598号公報
【特許文献2】特許第5818865号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかし、工場の生産管理を自動的に行う制御装置に搭載する工場管理プログラムの作成は、煩雑な作業であり、大きなコストを要するという問題があった。
【0011】
本発明の目的は、複数の機械および空調機を有する工場での生産を、工場内温度の制限および納期を遵守しながら消費電力を小さくするように制御する生産制御システムを低コストで実現することである。
【課題を解決するための手段】
【0012】
本発明の生産制御システムは、複数の機械と、空調機と、複数の機械および空調機による消費電力を含む工場全体の消費電力を監視する電力算出部と、工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御し、複数の機械の稼働状況および加工条件と空調機の稼働状況を含む動作状況と、動作状況による生産物の生産完了時間、工場の内部温度および工場全体の消費電力を含む環境状況との関係を学習し、生産計画に応じて環境状況が所望の条件になる動作状況を出力する機械学習部を備えることを特徴とする。
【0013】
本発明の統合生産制御システムは、複数の工場に対応して設けられた上記の複数の生産制御システムと、複数の生産制御システムを接続する通信ネットワークと、を備え、複数の生産制御システムのそれぞれは、各機械学習部の学習結果を、通信ネットワークを介して他の生産制御システムに通信し、複数の生産制御システムの複数の機械学習部は、学習結果を共有する。
【発明の効果】
【0014】
本発明の生産制御システムによれば、工場管理プログラムの作成無しで生産制御システムを実現できるので、コストを低減できる。
【図面の簡単な説明】
【0015】
図1】本発明の第1実施形態の生産管理システムを搭載した工場の構成を示す。
図2】第1実施形態の生産管理システムにおける基本処理動作を示すフローチャートである。
図3】ニューロンのモデルを示す模式図である。
図4】D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
図5】本発明の第2実施形態の生産制御システムを搭載した工場の構成を示す。
図6】第2実施形態における生産計画および勤務スケジュールの表現例を示す。
図7】本発明の第3実施形態の生産制御システムを搭載した工場の構成を示す。
図8】第3実施形態における生産計画および勤務スケジュールの表現例を示す。
図9】複数の工場に本発明の第4実施形態の統合生産制御システムを適用した場合の構成を示す。
【発明を実施するための形態】
【0016】
図1は、本発明の第1実施形態の生産管理システムを搭載した工場の構成を示す。
工場は、複数の機械11A−11Nと、空調機13と、複数の機械11A−11Nおよび空調機13による消費電力を含む工場全体の消費電力を監視する電力算出部15と、工場の内部温度に関する情報を生成する温度情報生成部17と、を有し、制御部20が工場を制御する。制御部20は、コンピュータ上にソフトウェアを搭載することにより実現される。
【0017】
空調機13は1台に限定されず、複数台を含む場合もある。制御部20は、工場に付属して設けても、工場と離れた位置に工場の各部と通信ネットワークを介して接続するように設けてもよい。なお、ここでは説明を簡単にするために、工場には上記のものが含まれ、制御部20は、それらのものを制御するものとして説明する。しかし、例えば、工場には事務室および事務室の空調機も含まれ、電力算出部15は事務室の空調機の消費電力も含めて消費電力を算出し、温度情報生成部17は事務室の温度情報も含めた温度情報を出力し、制御部20は、事務室の空調機の制御も行うものとしてもよい。さらに、機械には、照明器、搬送装置等の加工に直接かかわらない機械も含まれるものとしてもよい。その場合、加工に直接かかわらない機械には、加工速度等の加工条件に関する制御項目は含まれない。
【0018】
制御部20は、外部から提示された生産計画で指示された生産物を、指示された納期で生産するように、複数の機械11A−11Nの稼働状況および加工条件を制御すると共に、空調機13の稼働状況(稼働期間、出力等)を制御する。生産計画は、例えば、1日ごとに生産する生産物の品目、数量、および納期(生産完了時間)等を含む。
【0019】
制御部20は、ベースコントロール部21と、機械学習部23と、を有する。ベースコントロール部21は、各種の要素を考慮しながら熟練者が生産計画に基づいて作成した、複数の機械11A−11Nの稼働状況および加工条件と、空調機13の稼働状況(稼働期間、出力等)に関するデータが入力される入力手段を有する。入力手段は、例えば、複数の機械11A−11Nおよび空調機13の制御データ入力部へ接続されるデータ入力ポートや、表示を伴う入力機能を有するコンピュータ等で実現される。複数の機械11A−11Nの稼働状況および加工条件に関するデータは、各機械が加工する生産物および加工速度を時系列で示す。例えば、データは、生産物の品種、加工開始・完了時間、および加工条件を順に示すように表現される。また、データは、1日をユニット時間(例えば10分)で分割し、8時から12時および13時から17時までの8時間を48ユニットに分割し、各ユニットで加工する生産物の品種および加工条件を示すように表現することもできる。加工時間が30分であれば3ユニットを要する加工になる。なお、加工時間には、原材料のセットおよび完成品の取出しに要する時間も含まれるものとする。加工条件には、例えば加工速度が含まれ、所望の精度での加工が行える加工速度の範囲が段階的に示される。加工時間と加工速度は反比例の関係にある。空調機13の稼働状況(稼働期間、出力等)に関するデータも同様に表現される。
【0020】
機械学習部23での学習が不十分な状態では、ベースコントロール部21に入力された複数の機械11A−11Nおよび空調機13の制御データが、複数の機械11A−11Nおよび空調機13に供給される。複数の機械11A−11Nおよび空調機13は、制御データにしたがって動作する。例えば、機械Aは、生産物Xを加工時間S(加工速度R)で加工し、この加工を10回(10個の生産物X)繰り返した後、20分間稼働を停止し、その後同じ動作を3回繰り返す。これにより、合計30個の生産物Xが生産される。
【0021】
複数の機械11A−11Nおよび空調機13が制御データにしたがって動作することにより電力が消費され、熱が発生して工場内の温度が変化する。電力算出部15は、例えば、複数の機械11A−11Nおよび空調機13にそれぞれ設けられた電力計の出力を読み取り、複数の機械11A−11Nおよび空調機13の消費電力の総量を検出する。また、複数の機械11A−11Nでは加工条件と消費電力が一定の関係にあり、空調機13では出力と消費電力が一定の関係にあるので、電力算出部15は、複数の機械11A−11Nの加工条件および空調機13の制御データを読み取ることにより、消費電力の総量を算出することも可能である。
【0022】
温度情報生成部17は、工場内の温度を検出して温度情報を生成する。温度を検出する個所は、1か所に限定されず、複数個所でもよいが、ここでは、温度情報は、1つの温度であるとする。例えば、加工時の温度がT℃以上U℃以下であることが要求される場合、温度が低い場合には複数個所のうちの最低温度を、温度が高い場合には複数個所のうちの最高温度を温度情報とする。ただしこれに限定されず、複数個所の平均温度を温度情報とする場合もあり得る。また、機械学習部23の構成によっては、温度情報は複数の温度を含んでもよい。さらに、温度を検出する個所は工場内に限定されず、外気温を検出するようにしてもよい。さらに、1日の外気温の変化に関する予測データを外部から収集するようにしてもよい。
【0023】
機械学習部23は、状態観測部31と、学習器33と、学習制御部35と、を有する。状態観測部31は、生産計画に関するデータ、複数の機械11A−11Nおよび空調機13にそれぞれ供給された制御データ、電力算出部15からの各時刻における消費電力の総量(ピーク電力)および温度情報生成部17からの温度情報を、ユニット時間単位で状態変数として取り込む。
【0024】
学習器33は、状態観測部31の取り込んだ状態変数に基づいて学習を行い、十分な学習を行った後、生産計画に関するデータに応じて、複数の機械11A−11Nおよび空調機13にそれぞれ供給された制御データを出力する。この時、出力した制御データに応じて予測されるピーク電力および温度情報を外部出力するようにしても、さらに制御データに応じてタクトタイム、生産完了時間(納期)等も算出可能であり、これらを別途算出して外部出力するようにしてもよい。
【0025】
学習制御部35は、制御データに基づいて実行された工場における生産動作が好ましい具合を示す報酬を算出する報酬算出部と、状態観測部31の取り込んだ状態変数および報酬のセットを記憶する記憶部と、学習器33が状態変数および報酬のセットに基づいて実行する学習を制御する学習制御部35と、を有する。
【0026】
機械学習部23の学習アルゴリズムについては後述するものとし、まず学習処理のフローを説明する。
【0027】
図2は、第1実施形態の生産管理システムにおける基本処理動作を示すフローチャートである。
【0028】
第1実施形態の生産管理システムは、工場における複数の機械11A−11Nの稼働状況および加工条件と、空調機13の稼働状況(稼働期間、出力等)とを制御するもので、機械学習部23が学習を行うためだけに工場を稼働させることは実際にはできない。そこで、これまでと同様に熟練者が制御データを決定し、ステップS101で、その制御データに基づいて工場を稼働する。これを従来制御動作と称する。従来制御動作を行うことにより、稼働日ごとに、制御データと、生産完了時間(生産開始から終了までの時間)、電力ピークの変化データ、温度情報の変化データのセットが得られる。第1実施形態では、納期が守られ、加工処理における温度条件が守られた上で、各稼働日における電力ピークの最大値が低いほど良好になる報酬を設定し、各セットと一緒に記憶する。
【0029】
なお、コンピュータによるシミュレーションにより、生産計画と、複数の機械11A−11Nの稼働状況および加工条件と、空調機13の稼働状況(稼働期間、出力等)と、を含むデータセットを変数とした場合に、制御データの各変数に対して得られる生産完了時間(生産開始から終了までの時間)、電力ピークの変化データ、温度情報の変化データの高精度の結果が得られるのであれば、それを学習データとして利用することも可能である。この場合、変数であるデータセットの各要素を適宜(例えばランダムに)変更しながらシミュレーションを行い、多数の学習データを収集することができる。
【0030】
ステップS101では、機械学習部23が十分な学習を行える日数分のデータ量が蓄積されるまで、この従来制御動作を繰り返す。繰り返し回数(稼働日数)は、これまでの経験に基づいて適宜設定する。この動作は、機械学習部23が学習を行うためのデータを蓄積する動作であるから、ここでは初期学習動作とも称する。
【0031】
従来制御動作(初期学習動作)の最後の時点では、学習制御部35に、学習を実行するのに十分なデータ量が蓄積されていると考えられるので、学習器33は、蓄積されたデータに基づいて学習を実行する。良好な学習が行えた場合には、学習器33は、生産計画に対して、良好な報酬が得られると予測される制御データのセットを出力できるようになる。なお、必要であれば、学習器33の出力が妥当なものであるか確認する処理を加えてもよい。
【0032】
ステップS103で、制御部20は、複数の機械11A−11Nに出力する稼働状況および加工条件と、空調機13に出力する稼働状況(稼働期間、出力等)と、に関する制御データを、ベースコントロール部21の出力から、機械学習部23が出力する制御データに切り替える。
【0033】
ステップ105では、複数の機械11A−11Nに出力する稼働状況および加工条件と、空調機13に出力する稼働状況(稼働期間、出力等)は、機械学習部23が出力する制御データにより制御されるようになる。ここではこの制御を学習部制御動作と称する。以下、ステップ103において、学習部制御動作が繰り返されることになる。
【0034】
なお、ステップ103において、学習部制御動作が繰り返される場合、学習のための新たなデータが得られることになる。そこで、第1実施形態では、ステップ103において新たに実行した学習部制御動作およびその結果(生産完了時間、電力ピークの変化データ、温度情報の変化データ)に基づいた学習器33の学習を随時行い、さらに良好な制御が行えるようにしている。ここでは、この学習動作を継続学習動作と称する。継続学習動作は、新たな学習部制御動作が行われる毎に行っても、所定回数の学習部制御動作が行われた時に行うようにしてもよい。
【0035】
機械学習部23が用いる学習アルゴリズムはどのようなものを用いてもよい。学習器23は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、ここでは「強化学習」および「教師あり学習」を用いるものとする。例えば、ステップS101の従来制御動作(初期学習動作)では「教師あり学習」を用い、ステップS103の学習部制御動作(継続学習動作)では「強化学習」を用いる。ステップS103の最初では、学習器33は「教師あり学習」が終了した状態であり、それが「強化学習」の初期状態となる。
【0036】
上記の手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。なお、これらの機械学習(学習機33)は、例えば、GPGPU(General−Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用することにより実現される。
【0037】
次に、学習器33についてより詳細に説明する。学習器33は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。上述のように、学習器33の学習アルゴリズムとして、「教師あり学習」および「強化学習」がある。
【0038】
「強化学習」を次のように考える。
・制御装置20の機械学習部23は動作状態および環境の状態を観測する。
・環境は動作に従って変化する。
・観測した環境(状態変数)に対して、実際の電力ピークの変化データが観測され、ラベル(報酬)が得られる。
・ニューラルネットワーク(関数)は、生産計画に対してより高いラベルが得られるように更新される。
・環境(状態変数)が引き起こす結果(電力ピーク)を全く知らない、または不完全にしか知らない状態から学習はスタートする。すなわち、複数の機械(制御装置)11A−11Nおよび空調機13が実際に動作して初めて、その報酬をデータとして得ることができる。つまり、試行錯誤しながら最適な関数が得られ、報酬を最大にする制御データが得られるようにする必要がある。
・人間の動作を真似るように事前学習した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【0039】
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、ピークパワー値の最大値が正確に計算されるといった、未来に影響を及ぼすような行動を獲得できることを表している。例えばQ学習の場合で説明を続けるが、それに限るものではない。
【0040】
Q学習は、ある環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、ある状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、ある状態sの下で様々な行動aを選択し、その時の行動aに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Q(s,a)を学習していく。
【0041】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σγtt]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rtは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化したときについてとるものとし、それは分かっていないので、探索しながら学習することになる。そのような価値Q(s,a)の更新式は、例えば式1により表すことができる。
【0042】
【数1】
【0043】
上記の式1において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
【0044】
式1は、試行atの結果帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1+行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の方が大きければ、Q(st,at)を大きくするし、反対に小さければ、Q(st,at)も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【0045】
ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブル(行動価値テーブル)として保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【0046】
また、教師あり学習、教師なし学習、および強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図3に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図3は、ニューロンのモデルを示す模式図である。
【0047】
図3に示すように、ニューロンは、複数の入力x(図3では、一例として、入力x1〜入力x3)に対する出力yを出力するものである。各入力x1〜x3には、この入力xに対応する重みw(w1〜w3)が掛けられる。これにより、ニューロンは、式2により表現される出力yを出力する。なお、入力x、出力yおよび重みwは、すべてベクトルである。また、下記の式2において、θはバイアスであり、fkは活性化関数である。
【0048】
【数2】
【0049】
次に、上述したニューロンを組み合わせた3層の重みを有するニューラルネットワークについて、図4を参照して説明する。図4は、D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
【0050】
図4に示すように、ニューラルネットワークの左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。
【0051】
具体的には、入力x1〜入力x3は、3つのニューロンN11〜N13の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてw1と標記されている。
【0052】
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図4において、これらz11〜z13はまとめて特徴ベクトルz1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21、N22の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と標記されている。
【0053】
ニューロンN21、N22は、それぞれ、z21、z22を出力する。図4において、これらz21、z22は、まとめて特徴ベクトルz2と標記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。特徴ベクトルz21、z22は、3つのニューロンN31〜N33の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と標記されている。
【0054】
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。
【0055】
ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて学習データセットを用いて重みwを学習し、そのパラメータを用いて予測モードにおいて複数の機械および空調機の制御に関する行動判断を行う。なお、便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能なのはいうまでもない。
【0056】
ここで、予測モードで実際に複数の機械および空調機を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【0057】
また、重みw1〜w3は、誤差逆伝搬法(バックプロパゲーション:Backpropagation)により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
【0058】
このようなニューラルネットワークは、3層以上にさらに層を増やすことも可能である(深層学習と称される)。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【0059】
「教師有り学習」も、「強化学習」と同様に、ニューラルネットワークのアルゴリズムを用いて実現することができるが、状態観測が行われるごとに、教師データに応じてニューラルネットワーク(関数)が更新される。教師データとして、上記のラベル(報酬)が使用可能である。
【0060】
以上第1実施形態の生産制御システムについて説明したが、次に制御データについて具体例を用いた第2実施形態を説明する。
【0061】
図5は、本発明の第2実施形態の生産制御システムを搭載した工場の構成を示す。
第1実施形態の工場と同様に、第2実施形態の工場は、複数の機械11A−11Nと、空調機13と、電力算出部15と、温度情報生成部17と、を有し、制御部20が工場を制御する。制御部20は、ベースコントロール部21および機械学習部23に加えてスイッチ25を有し、外部から生産計画に加えて勤務スケジュールの情報を受けて制御を行う。スイッチは、図2のステップS103の制御切替を実行するための装置で、前述のようにソフトウェアで実現される。
【0062】
図6は、第2実施形態における生産計画および勤務スケジュールの表現例を示す。勤務スケジュールは、工場に出勤し生産に従事する人員情報であり、これにより稼働できる機械が変化する。例えば、十分な人員を確保できる勤務スケジュールであれば、すべての機械11A−11Nが常時稼働可能であるが、勤務スケジュールにより確保できる人員が制限される場合、ある機械が1日中稼働不能になるか、2つの機械は同時には稼働不能になるという具合に、機械の稼働状況が制限されることになる。ここでは説明を容易にするために、各機械の稼働の可否情報の形で提供される。ただし、機械の稼働の可否のみでなく、同時に稼働できる機械の組み合わせが変化するなどの形で情報を表現することも可能である。
【0063】
機械学習部23は、第1実施形態と同様に、状態観測部31と、学習器33と、学習制御部35と、を有する。学習制御部35は、図示のように報酬算出部41と、記憶部43と、更新部45と、を有する。学習器33は、前述の学習アルゴリズムのいずれを使用してもよい。以下、各部のデータを例示して第2実施形態を詳細に説明する。
【0064】
生産計画は、図6の(A)に示すように、生産物の品種、生産個数、1個の生産に必要な工程および納期の項目を有し、ここでは1種類の生産物Xを、nx個、納期txで生産し、1個の生産物Xを生産するのに、機械AでtAX(PA(t))時間、機械BでtBX(PB(t))時間、…、機械NでtNX(PNX(t))時間加工することが示される。PA(t)、PB(t)、…、PNX(t)は、機械A、B、…、Nにおける加工速度パラメータであり、PKMIN(t)<PK(t)<PKMAX(t),ただしK=A,B,…,Nである。
【0065】
勤務スケジュールは、図6の(B)に示すように、各機械の稼働の可否を示すデータに加工されて提供される。
【0066】
ベースコントロール部21への入力として、以下のデータが与えられる。
生産計画:図6の(A)
勤務スケジュール:図6の(B)
サイクルタイムを求める関数:tAX0(PA(t)), tBX0(PB(t)), …, tNX0(PN(t))
消費電力を求める関数:pA0(PA(t)), pB0(PB(t)), …, pN0(PN(t)), pAIR0(PAIR(t))
tAX0(PA(t))は、機械Aのサイクルタイムを求める関数であり、他も同様であり、pA0(PA(t))は機械Aの消費電力を求める関数であり、pAIR0(PAIR(t))は空調機の消費電力を求める関数であり、他も同様である。
【0067】
機械学習部23の状態観測部31への入力として、以下のデータが与えられる。
生産計画:図6の(A)
勤務スケジュール:図6の(B)
工場内の消費電力(電力算出部15から):pTOTAL(t)
工場内の温度情報(および温度情報生成部17から):TAIR(t)
以上に加えて、ベースコントロール部21の機械A−Nおよび空調機への出力または学習器33の出力が入力される。
また、機械学習部31には予め以下の入力が与えられている。
サイクルタイムを求める関数:tAX0(PA(t)), tBX0(PB(t)), …, tNX0(PN(t))
温度範囲指定データ:TMIN, TMAX
加工速度パラメータ範囲(上限と下限):PAMIN, PAMAX, PBMIN, PBMAX, …, PNMIN, PNMAX
空調制御指令範囲(上限と下限)PAIRMIN, PAIRMAX
【0068】
学習器33は、以下を出力する。
加工速度パラメータ:PA(t), PB(t), …,PN(t)
ここで、(PKMIN<PK(t)<PKMAX, ただしK=A, B, …,N)
空調制御指令:PAIR(t)
ここで、(PAIRMIN<PAIR(t)<PAIRMAX)
【0069】
生産物Xの生産完了時刻をtXENDとおく。
学習器は以下の条件(1)および(2)を優先的に満たすように探索を行う。
tXEND<tX (1)
TMIN<TAIR(t)<TMAX (2)
さらに、条件(1)および(2)を満たした上で、pTOTAL(t)の日毎の最大値を下げられるように学習する。
【0070】
ここで、例として、熟練者が出力を決定する際の処理の例を挙げる。
まず、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)については定数と仮定するか、観測により予測を行う。
【0071】
【数3】
【0072】
人がパラメータを決定する際は、tXENDの近似誤差やpO(t), fAIR (PAIR), TO(t)といった関数については繰り返し生産を行い実際の値を観測することで予測精度を高めることできる。
【0073】
第2実施形態において、出力を決定する際の処理について記す。初期の制御はベースコントロール部21が行う。その際の機械学習部23の入力を「教師あり学習」の教師とする。
【0074】
報酬算出部41は以下の規則により報酬を算出する。
・条件(1)および(2)の一方でも満たされなければマイナスの報酬を算出する。
・条件(1)および(2)の両方が満たされたとき、pTOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、pTOTAL(t) の日毎の最大値が大きくなる方向への変化でマイナスの報酬を算出する。
【0075】
記憶部43は入力・報酬・出力の組を記憶する。
更新部45は入力・報酬・出力の組に基づいて、出力を決定するために必要な学習器33のモデル式の更新をする。
「教師あり学習」により特徴が学習された後、動作の制御をベースコントロール部21から機械学習部23に切り替える。その時の学習器33の状態を「強化学習」の初期状態とする。学習器33は「強化学習」によりモデル式を更新することができる。更新部33は記憶部43のデータを基にモデル式を更新する。
【0076】
図7は、本発明の第3実施形態の生産制御システムを搭載した工場の構成を示す。
第3実施形態の工場は、第2実施形態の工場と同様の構成を有し、複数の機械11A−11Nがそれぞれ温度計と電力系を有すること、および空調機13が電力計を有することが第2実施形態と異なる。また、第3実施形態の制御部20は、第2実施形態の制御部20と類似の構成を有する。
【0077】
図8は、第3実施形態における生産計画および勤務スケジュールの表現例を示す。
第3実施形態では、3種類の生産物X,Y,Zを機械A,B-Nを使用し図8の(A)の生産計画および図8の(B)の勤務スケジュールに基づいて生産する際、機械毎の温度を一定に保ちつつ、工場の消費電力を下げられる制御データを生成するように、機械学習部23が学習を行う。なお、K=A,B,…,Nとし、L=X,Y,Zとする。
【0078】
図8の(A)に示すように、生産計画(生産スケジュール)は、3種類の生産部を生産することが第2実施形態の場合と異なるが、各生産物についての項目は第2実施形態と同じである。また、図8の(B)に示すように、勤務スケジュールは、第2実施形態と同じである。
【0079】
ベースコントロール部21への入力として、以下が与えられる
生産計画:図8の(A)
勤務スケジュール:図8の(B)
サイクルタイムを求める関数:tKL0(PK(t))
消費電力を求める関数:pK0(PK(t)), pAIR0(PAIR(t))
【0080】
機械学習部23の状態観測部31への入力として、以下が与えられる。
生産計画:図8の(A)
勤務スケジュール:図8の(B)
装置毎の消費電力:pK(t),pAIR(t)
工場内の消費電力:pTOTAL(t)
装置毎の温度情報:TK(t), TAIR(t)
工場内の温度情報:TAIR(t)
また、機械学習部23には予め以下の入力を与える。
温度範囲指定:TMIN,TMAX
加工速度パラメータ範囲:PKLMIN, PKLMAX
空調制御指令範囲:PAIRMIN,PAIRMAX
【0081】
学習器は、以下を出力する。
稼働開始/停止命令:EKL(t)
ここで、EKL(t) = 0, 1
加工速度パラメータ:PK(t)
ここで、PKMIN<PK(t)<PKMAX)
空調制御指令:PAIR(t)
ここで、PAIRMIN<PAIR(t)<PAIRMAX
なお、EKL(t)=1のとき、時刻tでは機械Kで生産物Lの加工を行うものとする。
【0082】
また、生産物Lの生産完了時刻をtLENDとおく。
機械学習部23は全てのK,Lについて以下の条件(3)および(4)を優先的に満たすように探索を行う。
tLEND<tL (3)
TMIN<TK(t)<TMAX (4)
さらに、(3)および(4)を満たした上で、pTOTAL(t)の日毎の最大値を下げられるように学習する。
【0083】
以下に熟練者が出力値を決定する際の処理の例を挙げる。
探索の方針として、生産計画を成り立たせることを最初に考える。tLEND<tLを満たす稼働開始/停止命令および加工速度パラメータの範囲を探索する。その際、1つの機械で複数の生産物の加工を同時に行えないとすれば、全ての機械について以下の式を満たす必要がある。
【0084】
【数4】
【0085】
その範囲内の各点について温度条件を満たす空調制御指令を算出する。まず、空調による温度変化をfAIR(PAIR)とし、加工速度パラメータによる温度変化をgK(PK(t))とする。さらに外気や熱源など空調以外の影響による温度変化をTO(t)とすれば、定数kK, lKを仮定すれば、下記の式が成り立つと仮定できる。
【0086】
【数5】
【0087】
もしくは、TAIR(t)とTK(t)の関係を観測することで、TAIR(t)の満たすべき範囲を予測し使用する。
生産計画と温度条件の成り立つ各点における消費電力を算出することで、pTOTAL(t)の日毎の最大値が最小となると予測される出力値を決定できる。必要ならば以下の式を用いる。pO(t)は機械A,B-Nおよび空調を除いた工場内の消費電力を表す。
【0088】
【数6】
【0089】
ただし、実際の生産完了時刻や温度変化、消費電力が算出した値と誤差を持つなら、算出方法を修正するか、マージンを持たせて再計算する必要がある。
初期の制御はベースコントロール部21が行う。その際の機械学習部23の入力を「教師あり学習」の教師とする。
【0090】
報酬算出部41は以下の規則により報酬を算出する。
・全てのK,Lに対して条件(3)および(4)の一方でも満たされなければマイナスの報酬を算出する。
・全てのK,Lに対して条件(3)および(4)の両方が満たされたとき、pTOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、pTOTAL(t) の日毎の最大値が大きくなる方向への変化でマイナスの報酬を算出する。
【0091】
「教師あり学習」により特徴が学習された後、動作の制御をベースコントロール部21から機械学習部23に切り替える。その時の学習器の状態を「強化学習」の初期状態とする。さらに学習が進んだ学習器は「強化学習」によりモデル式を更新することができる。
【0092】
図9は、複数の工場に本発明の第4実施形態の統合生産制御システムを適用した場合の構成を示す。
複数の工場100P,100Q,…,100Sは、それぞれ第1から第3実施形態の何れかの制御部20P,20Q,…,20Sを搭載している。制御部20P,20Q,…,20Sは、通信ネットワーク120を介して相互に通信可能に接続されている。
【0093】
さらに、図9に示すように、通信ネットワーク120を介して制御部20P,20Q,…,20Sと相互に通信可能な統合生産管理部110が設けられている。統合生産管理部110は、複数の工場100P,100Q,…,100Sを統合して管理する。統合生産管理部110は、複数の工場100P,100Q,…,100Sの生産計画を作成し、作成した生産計画を対応する工場に通信する。
【0094】
第4実施形態の統合生産制御システムでは、ある工場の制御部20I(I=P,Q,…,S)で実行した学習の結果を、他の工場の制御部20J(J=P,Q,…,S且つJ≒I)に通信する。言い換えれば、制御部20P,20Q,…,20Sは、学習結果を通信ネットワーク120を介して交換し、共有する。他の制御部20Iからの学習結果を受信した制御部20Jは、学習前であれば受信した学習結果を参考にして初期状態を設定し、学習後であれば自分の学習結果を受信した学習結果を比較して更なる学習を行う時の参考にする。
【符号の説明】
【0095】
11A−11N 機械
13 空調機
15 電力算出部
17 温度情報生成部
20 制御部
21 ベースコントロール部
23 機械学習部
31 状態観測部
33 学習器
35 学習制御部
【要約】
【課題】複数の機械および空調機を有する工場での生産を温度制限および納期を遵守しながら消費電力を小さくするように制御する生産制御システムの低コストでの実現。
【解決手段】複数の機械11A-11Nと、空調機13と、工場全体の消費電力を監視する電力算出部15と、工場の内部温度に関する情報を生成する温度情報生成部17と、を有する工場の生産制御システムであって、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御し、複数の機械の稼働状況および加工条件と空調機の稼働状況を含む動作状況と、動作状況による生産物の生産完了時間、工場の内部温度および工場全体の消費電力を含む環境状況との関係を学習し、生産計画に応じて環境状況が所望の条件になる動作状況を出力する機械学習部23を有する生産制御システム。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9