(58)【調査した分野】(Int.Cl.,DB名)
複数の機械と、空調機と、前記複数の機械および前記空調機による消費電力を含む前記工場全体の消費電力を監視する電力算出部と、前記工場の内部温度に関する情報を生成する温度情報生成部と、を備える工場の生産制御システムであって、
生産計画で指示された生産物を、指示された納期で生産するように、前記複数の機械の稼働状況および加工条件を制御すると共に、前記空調機の稼働状況を制御し、
前記複数の機械の稼働状況および加工条件と前記空調機の稼働状況を含む動作状況と、前記動作状況による前記生産物の生産完了時間、前記工場の内部温度および前記工場全体の消費電力を含む環境状況との関係を学習し、前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する機械学習部を備える生産制御システムにおいて、
前記機械学習部は、状態観測部と、学習器と、学習制御部とを有し、
前記状態観測部は、前記生産計画に関するデータ、前記複数の機械および前記空調機に供給された制御データ、前記電力算出部からの消費電力の総量、ならびに前記温度情報生成部からの温度情報を状態変数として取り込み、
前記学習器は、前記状態観測部が取り込んだ前記状態変数に基づいて学習を行い、前記生産計画に関するデータに応じて、前記複数の機械および前記空調機に供給される制御データを出力し、
前記学習制御部は、前記制御データに基づいて実行された工場における生産動作が好ましい具合を示す報酬を算出する報酬算出部と、前記状態変数および前記報酬のセットを記憶する記憶部と、を有し、前記学習器が前記状態変数および前記報酬のセットに基づいて実行する学習を制御することを特徴とする生産制御システム。
前記機械学習部が前記生産計画に応じて前記環境状況が所望の条件になる前記動作状況を出力する状態になるまで、所定のシーケンスにしたがって、前記生産計画に応じて前記複数の機械の稼働状況および加工条件、および前記空調機の稼働状況を制御する請求項1または2に記載の生産制御システム。
前記機械学習部は、前記所定のシーケンスにしたがった制御が前記第1所定回数行われる間、前記動作状況および前記環境状況に関するデータを蓄積し、蓄積したデータに対して学習を行う請求項4に記載の生産制御システム。
前記複数の機械の稼働状況および加工条件の制御および前記空調機の稼働状況の制御を、前記機械学習部の学習後、前記機械学習部の出力による制御に切り替える請求項1から5のいずれか1項に記載の生産制御システム。
前記環境状況の所望の条件は、前記生産完了時間および前記工場の内部温度が所定の範囲内で、前記工場全体の消費電力が小さいほど望ましい請求項1から6のいずれか1項に記載の生産制御システム。
【発明を実施するための形態】
【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[Σγ
tr
t]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rtは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化したときについてとるものとし、それは分かっていないので、探索しながら学習することになる。そのような価値Q(s,a)の更新式は、例えば式1により表すことができる。
【0043】
上記の式1において、s
tは時刻tにおける環境の状態を表し、a
tは時刻tにおける行動を表す。行動a
tにより、状態はs
t+1に変化する。r
t+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態s
t+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
【0044】
式1は、試行a
tの結果帰ってきた報酬r
t+1を元に、状態s
tにおける行動a
tの評価値Q(s
t,a
t)を更新する方法を表している。状態sにおける行動aの評価値Q(s
t,a
t)よりも、報酬r
t+1+行動aによる次の状態における最良の行動max aの評価値Q(s
t+1,max a
t+1)の方が大きければ、Q(s
t,a
t)を大きくするし、反対に小さければ、Q(s
t,a
t)も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【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において、θはバイアスであり、f
kは活性化関数である。
【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でt
AX(P
A(t))時間、機械Bでt
BX(P
B(t))時間、…、機械Nでt
NX(P
NX(t))時間加工することが示される。P
A(t)、P
B(t)、…、P
NX(t)は、機械A、B、…、Nにおける加工速度パラメータであり、P
KMIN(t)<P
K(t)<P
KMAX(t),ただしK=A,B,…,Nである。
【0065】
勤務スケジュールは、
図6の(B)に示すように、各機械の稼働の可否を示すデータに加工されて提供される。
【0066】
ベースコントロール部21への入力として、以下のデータが与えられる。
生産計画:
図6の(A)
勤務スケジュール:
図6の(B)
サイクルタイムを求める関数:t
AX0(P
A(t)), t
BX0(P
B(t)), …, t
NX0(P
N(t))
消費電力を求める関数:p
A0(P
A(t)), p
B0(P
B(t)), …, p
N0(P
N(t)), p
AIR0(P
AIR(t))
t
AX0(P
A(t))は、機械Aのサイクルタイムを求める関数であり、他も同様であり、p
A0(P
A(t))は機械Aの消費電力を求める関数であり、p
AIR0(P
AIR(t))は空調機の消費電力を求める関数であり、他も同様である。
【0067】
機械学習部23の状態観測部31への入力として、以下のデータが与えられる。
生産計画:
図6の(A)
勤務スケジュール:
図6の(B)
工場内の消費電力(電力算出部15から):p
TOTAL(t)
工場内の温度情報(および温度情報生成部17から):T
AIR(t)
以上に加えて、ベースコントロール部21の機械A−Nおよび空調機への出力または学習器33の出力が入力される。
また、機械学習部31には予め以下の入力が与えられている。
サイクルタイムを求める関数:t
AX0(P
A(t)), t
BX0(P
B(t)), …, t
NX0(P
N(t))
温度範囲指定データ:T
MIN, T
MAX、
加工速度パラメータ範囲(上限と下限):P
AMIN, P
AMAX, P
BMIN, P
BMAX, …, P
NMIN, P
NMAX
空調制御指令範囲(上限と下限)P
AIRMIN, P
AIRMAX
【0068】
学習器33は、以下を出力する。
加工速度パラメータ:P
A(t), P
B(t), …,P
N(t)
ここで、(P
KMIN<P
K(t)<P
KMAX, ただしK=A, B, …,N)
空調制御指令:P
AIR(t)
ここで、(P
AIRMIN<P
AIR(t)<P
AIRMAX)
【0069】
生産物Xの生産完了時刻をt
XENDとおく。
学習器は以下の条件(1)および(2)を優先的に満たすように探索を行う。
t
XEND<t
X (1)
T
MIN<T
AIR(t)<T
MAX (2)
さらに、条件(1)および(2)を満たした上で、p
TOTAL(t)の日毎の最大値を下げられるように学習する。
【0070】
ここで、例として、熟練者が出力を決定する際の処理の例を挙げる。
まず、N
Xが十分に大きいとすると生産物Xの生産完了時刻t
XENDはタクトタイムt
XMAXを用いて近似できるため、以下の式を使用してP
A(t), P
B(t)-P
N(t)の範囲を決定できる。
t
XEND=t
XMAX N
X=max{t
AX0(P
A(t)), t
BX0(P
B(t)), t
NX0(P
N(t))}・N
X
また、空調による温度変化をf
AIR (P
AIR)とし、外気や熱源など空調以外の影響による温度変化をT
O(t)とすれば、下記の式が成り立つため、f
AIR (P
AIR)を予測すればT
AIR(t)に対するP
AIR(t)を決定できる。
T
AIR(t)= T
AIR(t-Δt)+ f
AIR (P
AIR(t-Δt))+ T
O(t-Δt)
また、機械A,B-Nおよび空調を除いた工場内の消費電力をp
O(t)とおくと、工場内の消費電力p
TOTAL(t)は次の式で予測できるので、日毎のp
TOTAL(t)の最大値が最小になると予測されるP
A(t), P
B(t)-P
N(t)を決定できる。このとき、p
O(t)については定数と仮定するか、観測により予測を行う。
【0072】
人がパラメータを決定する際は、t
XENDの近似誤差やp
O(t), f
AIR (P
AIR), T
O(t)といった関数については繰り返し生産を行い実際の値を観測することで予測精度を高めることできる。
【0073】
第2実施形態において、出力を決定する際の処理について記す。初期の制御はベースコントロール部21が行う。その際の機械学習部23の入力を「教師あり学習」の教師とする。
【0074】
報酬算出部41は以下の規則により報酬を算出する。
・条件(1)および(2)の一方でも満たされなければマイナスの報酬を算出する。
・条件(1)および(2)の両方が満たされたとき、p
TOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、p
TOTAL(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)
サイクルタイムを求める関数:t
KL0(P
K(t))
消費電力を求める関数:p
K0(P
K(t)), p
AIR0(P
AIR(t))
【0080】
機械学習部23の状態観測部31への入力として、以下が与えられる。
生産計画:
図8の(A)
勤務スケジュール:
図8の(B)
装置毎の消費電力:p
K(t),p
AIR(t)
工場内の消費電力:p
TOTAL(t)
装置毎の温度情報:T
K(t), T
AIR(t)
工場内の温度情報:T
AIR(t)
また、機械学習部23には予め以下の入力を与える。
温度範囲指定:T
MIN,T
MAX
加工速度パラメータ範囲:P
KLMIN, P
KLMAX
空調制御指令範囲:P
AIRMIN,P
AIRMAX
【0081】
学習器は、以下を出力する。
稼働開始/停止命令:E
KL(t)
ここで、E
KL(t) = 0, 1
加工速度パラメータ:P
K(t)
ここで、P
KMIN<P
K(t)<P
KMAX)
空調制御指令:P
AIR(t)
ここで、P
AIRMIN<P
AIR(t)<P
AIRMAX
なお、E
KL(t)=1のとき、時刻tでは機械Kで生産物Lの加工を行うものとする。
【0082】
また、生産物Lの生産完了時刻をt
LENDとおく。
機械学習部23は全てのK,Lについて以下の条件(3)および(4)を優先的に満たすように探索を行う。
t
LEND<t
L (3)
T
MIN<T
K(t)<T
MAX (4)
さらに、(3)および(4)を満たした上で、p
TOTAL(t)の日毎の最大値を下げられるように学習する。
【0083】
以下に熟練者が出力値を決定する際の処理の例を挙げる。
探索の方針として、生産計画を成り立たせることを最初に考える。t
LEND<t
Lを満たす稼働開始/停止命令および加工速度パラメータの範囲を探索する。その際、1つの機械で複数の生産物の加工を同時に行えないとすれば、全ての機械について以下の式を満たす必要がある。
【0085】
その範囲内の各点について温度条件を満たす空調制御指令を算出する。まず、空調による温度変化をf
AIR(P
AIR)とし、加工速度パラメータによる温度変化をg
K(P
K(t))とする。さらに外気や熱源など空調以外の影響による温度変化をT
O(t)とすれば、定数k
K, l
Kを仮定すれば、下記の式が成り立つと仮定できる。
【0087】
もしくは、T
AIR(t)とT
K(t)の関係を観測することで、T
AIR(t)の満たすべき範囲を予測し使用する。
生産計画と温度条件の成り立つ各点における消費電力を算出することで、p
TOTAL(t)の日毎の最大値が最小となると予測される出力値を決定できる。必要ならば以下の式を用いる。p
O(t)は機械A,B-Nおよび空調を除いた工場内の消費電力を表す。
【0089】
ただし、実際の生産完了時刻や温度変化、消費電力が算出した値と誤差を持つなら、算出方法を修正するか、マージンを持たせて再計算する必要がある。
初期の制御はベースコントロール部21が行う。その際の機械学習部23の入力を「教師あり学習」の教師とする。
【0090】
報酬算出部41は以下の規則により報酬を算出する。
・全てのK,Lに対して条件(3)および(4)の一方でも満たされなければマイナスの報酬を算出する。
・全てのK,Lに対して条件(3)および(4)の両方が満たされたとき、p
TOTAL(t)の日毎の最大値が小さくなる方向への変化でプラスの報酬を算出し、p
TOTAL(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は、学習前であれば受信した学習結果を参考にして初期状態を設定し、学習後であれば自分の学習結果を受信した学習結果を比較して更なる学習を行う時の参考にする。
【解決手段】複数の機械11A-11Nと、空調機13と、工場全体の消費電力を監視する電力算出部15と、工場の内部温度に関する情報を生成する温度情報生成部17と、を有する工場の生産制御システムであって、生産計画で指示された生産物を、指示された納期で生産するように、複数の機械の稼働状況および加工条件を制御すると共に、空調機の稼働状況を制御し、複数の機械の稼働状況および加工条件と空調機の稼働状況を含む動作状況と、動作状況による生産物の生産完了時間、工場の内部温度および工場全体の消費電力を含む環境状況との関係を学習し、生産計画に応じて環境状況が所望の条件になる動作状況を出力する機械学習部23を有する生産制御システム。