(57)【特許請求の範囲】
【請求項１】
離散事象制御システムを用いた生産工程シミュレーション方法であって、
前記離散事象制御システムのモデル部が、生産ライン上に配置された複数の装置の各々に固有の機能を示す個別オブジェクトを形成するステップと、
前記モデル部が、前記複数の装置に共通の処理を示し、共通処理制御部に実行を指示される少なくとも一つの共通オブジェクトを形成するステップと、
前記離散事象制御システムのシミュレーション部が、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションするステップと、
を具備し、
前記生産工程をシミュレーションするステップは、
前記シミュレーション部が、
前記複数の装置の各々の間で協調制御が行われるとき、前記複数の装置の各々に対して、当該装置と前記複数の装置の残りの各々との間での前記機能の関連の度合いに対応する重み付けを示し高値又は低値のいずれかである重み付け係数を、当該装置の前記個別オブジェクトに予め保持するステップと、
前記シミュレーション部が、
前記複数の装置の各々のうちの前記重み付け係数に基づく前記重み付けの高い少なくとも２つの装置について、前記複数の装置と前記共通処理制御部とを連結する情報通信網において、前記少なくとも２つの装置間の影響度を前記重み付けに対応して高めることで、他の前記複数の装置の各々間よりも前記影響度が高い前記少なくとも２つの装置を協調させて同じタイミングで前記共通オブジェクト又は前記個別オブジェクトを実行するステップと
を備える
生産工程シミュレーション方法。
【請求項２】
前記重み付け係数を予め保持するステップは、
前記シミュレーション部が、前記複数の装置の内の対象装置と他の装置との間の前記重み付けを遺伝子アルゴリズムにおける遺伝子に設定するステップと、
前記シミュレーション部が、前記遺伝子に基づいて前記複数の装置を協調させて、前記個別オブジェクトを実行するステップと、
前記シミュレーション部が、前記遺伝子に基づく前記個別オブジェクトの実行結果に基づいて、前記遺伝子を遺伝的アルゴリズムを用いて最適化し、前記最適化された前記遺伝子を前記重み付け係数とするステップと
を含む
請求項１に記載の生産工程シミュレーション方法。
【請求項３】
離散事象制御システムを用いた生産工程シミュレーション方法であって、
前記離散事象制御システムのモデル部が、生産ライン上に配置された複数の装置の各々に固有の機能を示す個別オブジェクトを形成するステップと、
前記モデル部が、前記複数の装置に共通の処理を示し、共通処理制御部に実行を指示される少なくとも一つの共通オブジェクトを形成するステップと、
前記離散事象制御システムのシミュレーション部が、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションするステップと、
を具備し、
前記生産工程をシミュレーションするステップは、
前記シミュレーション部が、前記複数の装置の各々の間で協調制御が行われるとき、前記複数の装置の内の対象装置と、前記対象装置に対して予め設定された前記複数の装置の内の協調装置のいずれもが前記共通オブジェクトを実行するタイミングに近づいたとき、前記対象装置において、前記対象装置及び前記協調装置のうちのいずれが他方に対して前記共通オブジェクトを実行するタイミングを合わせるかを判断するステップと、
前記シミュレーション部が、前記判断に基づいて、前記タイミングで前記対象装置と前記協調装置とを協調させて、前記共通オブジェクトを実行するステップと
を備える
生産工程シミュレーション方法。
【請求項４】
前記タイミングを合わせることを判断するステップは、
前記対象装置及び前記協調装置における処理の進捗を示す情報と、前記対象装置及び前記協調装置における予め設定された前記共通オブジェクトを実行する第１周期及び第２周期とに基づいて、前記対象装置において、前記対象装置及び前記協調装置のいずれもが前記共通オブジェクトを実行するタイミングに近づいたか否かを判断するステップと、
前記対象装置及び前記協調装置のいずれもが前記共通の処理を実行するタイミングに近づいたとき、前記対象装置において、前記対象装置及び前記協調装置のいずれか一方としての前記第１周期及び前記第２周期のうちの周期の長い方が、他方としての周期の短い方に、前記共通の処理を実行するタイミングを合わせることを判断するステップと
を含み、
前記第１周期は、前記対象装置における所定の処理の進捗として設定され、
前記第２周期は、前記協調装置における所定の処理の進捗として設定されている
請求項３に記載の生産工程シミュレーション方法。
【請求項５】
共通オブジェクトのうち一つはメンテナンスの処理に関する、
請求項１乃至４のいずれか一項に記載の生産工程シミュレーション方法。
【請求項６】
共通オブジェクトのうち一つは休日の処理に関する、
請求項１乃至５のいずれか一項に記載の生産工程シミュレーション方法。
【請求項７】
請求項１乃至６のいずれか一項の生産工程シミュレーション方法
をコンピュータに実行するためのプログラム。
【請求項８】
シミュレーションに関するデータを入力するための入力部と、
前記データに基づいてシミュレーションモデルを構築するモデル部と、
前記シミュレーションモデルと前記データとに基づいてシミュレーションを実行するシミュレーション部と、
を具備し、
前記モデル部は、生産ライン上に配置された複数の装置の機能を示す個別オブジェクトを形成し、前記複数の装置に共通の処理を示し共通処理制御部に実行を指示される少なくとも一つの共通オブジェクトを形成し、
前記シミュレーション部は、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションし、
前記生産のシミュレーションにおいて、
前記シミュレーション部は、
前記複数の装置の各々の間で協調制御が行われるとき、前記複数の装置の各々に対して、当該装置と前記複数の装置の残りの各々との間での前記機能の関連の度合いに対応する重み付けを示し高値又は低値のいずれかである重み付け係数を、前記複数の装置の各々ごとに前記個別オブジェクトに予め保持し、
前記複数の装置の各々のうちの前記重み付け係数に基づく前記重み付けの高い少なくとも２つの装置について、前記複数の装置と前記共通処理制御部とを連結する情報通信網において、前記少なくとも２つの装置間の影響度を前記重み付けに対応して高めることで、他の前記複数の装置の各々間よりも前記影響度が高い前記少なくとも２つの装置を協調させて同じタイミングで前記共通オブジェクト又は前記個別オブジェクトを実行する、
離散事象制御システム。
【請求項９】
前記重み付け係数を予め保持するとき、
前記シミュレーション部は、
前記複数の装置の内の対象装置と他の装置との間の前記重み付けを遺伝子アルゴリズムにおける遺伝子に設定し、
前記遺伝子に基づいて前記複数の装置を協調させて、前記個別オブジェクトを実行し、
前記遺伝子に基づく前記個別オブジェクトの実行結果に基づいて、前記遺伝子を遺伝的アルゴリズムを用いて最適化し、前記最適化された前記遺伝子を前記重み付け係数とする
請求項８に記載の離散事象制御システム。
【請求項１０】
シミュレーションに関するデータを入力するための入力部と、
前記データに基づいてシミュレーションモデルを構築するモデル部と、
前記シミュレーションモデルと前記データとに基づいてシミュレーションを実行するシミュレーション部と、
を具備し、
前記モデル部は、生産ライン上に配置された複数の装置の機能を示す個別オブジェクトを形成し、前記複数の装置に共通の処理を示し共通処理制御部に実行を指示される少なくとも一つの共通オブジェクトを形成し、
前記シミュレーション部は、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションし、
前記生産のシミュレーションにおいて、
前記シミュレーション部は、
前記複数の装置の各々の間で協調制御が行われるとき、前記複数の装置の内の対象装置と、前記対象装置に対して予め設定された前記複数の装置の内の協調装置とを協調のいずれもが前記共通オブジェクトを実行するタイミングに近づいたとき、前記対象装置において、前記対象装置及び前記協調装置のうちのいずれが他方に対して前記共通オブジェクトを実行するタイミングを合わせるかを判断するステップと、
前記判断に基づいて、前記タイミングで前記対象装置と前記協調装置とを協調させて、前記共通オブジェクトを実行する
離散事象制御システム。
【請求項１１】
前記タイミングを合わせることを判断するとき、
前記対象装置及び前記協調装置における処理の進捗を示す情報と、前記対象装置及び前記協調装置における予め設定された前記共通オブジェクトを実行する第１周期及び第２周期とに基づいて、前記対象装置において、前記対象装置及び前記協調装置のいずれもが前記共通オブジェクトを実行するタイミングに近づいたか否かを判断し、
前記対象装置及び前記協調装置のいずれもが前記共通の処理を実行するタイミングに近づいたとき、前記対象装置において、前記対象装置及び前記協調装置のいずれか一方としての前記第１周期及び前記第２周期のうちの周期の長い方が、他方としての周期の短い方に、前記共通の処理を実行するタイミングを合わせることを判断し、
前記第１周期は、前記対象装置における所定の処理の進捗として設定され、
前記第２周期は、前記協調装置における所定の処理の進捗として設定されている
請求項１０に記載の離散事象制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、離散事象モデルを用いたシミュレーション装置に関する。
【０００２】
【従来の技術】
製造工場の生産ラインは、一般に製造に関する複数の装置がライン上に複数存在し、製造途中の製品がその装置間をコンベアにより移動するという構造を取る。それらの装置は、それぞれ異なる作業時間を有している。従って、製品を連続的にライン上に流すと、製品処理時間が短い装置では、製品が素早く処理されるため、次の製品が来るまでのための待機時間が長くなる。また、逆に処理時間が長い装置では、装置の手前で製品が滞る事態が発生する。生産ラインの効率を向上し、スループットを上げ、製品の製造コストを削減する為には、待機時間を低減し、また、製品の滞りを削減する必要がある。一般に、そのような状況に対処する為には、生産ラインをモデル化し、そのモデルに基づいたシミュレーションにより最適化を行う。その場合、従来の方法としては、装置毎に制御される機能を各々ロジック化（プログラム化）して、各装置に組み込んでいた。
【０００３】
図４を参照して、従来の方法を説明する。図４は、製品が装置Ａから順に装置Ｂ、装置Ｃと連続的に流れる生産ラインのモデル（シーケンシャルモデル）を表している。各装置は制御される機能毎にロジックを組み込まれている。ここで、装置ロジックは、装置の通常動作（例えば、製品洗浄、製品組立）の機能を表すロジックであり、メンテナンスロジックは、装置のメンテナンスに関する機能を表すロジックであり、休日処理ロジックは、装置の休日停止に関する機能を表すロジックである。一つ一つの装置の動作は独立し、離散的になっている（離散事象）おり、各装置単独でみれば、それぞれの装置毎に各ロジックを割り当てることにより、モデル化は容易に行なうことが出来る。一方、各装置の行なう作業にかかる時間（作業時間）や、メンテナンスの間隔は、それぞれ装置毎に異なる。それにもかかわらず、装置相互の関係については、特に考慮していない。従って、全装置の機能の組合わせで決まるような値（例えば、３つの装置を経由して出て来る製品のタクトタイム、1日の生産量）については、モデル化の後、実際にシミュレーションを行なわなければ、結果の正確な予測や傾向を見出すことは難しい。そして、それらの値を最適化する場合、装置毎の各ロジックを修正するだけでは最終的な数値を判断することは困難となる。
【０００４】
特に、装置の数が多く、個々の装置における作業時間、メンテナンスの間隔、メンテナンスの時間などが異なる場合には、一つの装置でのロジックの修正が他の装置の動作に与える影響を評価するのが非常に困難である。このように、離散事象の連続的なプロセスでは、タクトタイムや生産量などの調整の際、各装置のロジックの修正の与える影響について、容易に最適解を得ることは出来ず、長い時間をかけ、各装置のロジックの修正−シミュレーション  という作業を行なっていた。すなわち、従来の方法のモデル化では、シミュレーションによる生産量などの調整に時間がかかることになる。
需要動向に応じて生産量を調整することが可能な生産ラインを考える場合、そのような制御方法では柔軟な対応（例えば１日毎に生産量を調整すること）が難しく、ロジックの修正が容易、最適解を迅速に求められるモデル化及び制御システムが求められている。
【０００５】
【発明が解決しようとする課題】
従って、本発明の目的は、装置の機能毎のロジックによりモデルを形成することが可能な離散事象制御システムと離散事象制御システムを用いた生産工程シミュレーション方法を提供することである。
【０００６】
また、本発明の別の目的は、装置の機能毎に装置相互に連携を取ることが可能な離散事象制御システムと離散事象制御システムを用いた生産工程シミュレーション方法を提供することである。
【０００７】
本発明の更に別の目的は、装置間に跨ぐ機能でも機能のみの修正により容易に編集・修正が可能な離散事象制御システムと離散事象制御システムを用いた生産工程シミュレーション方法を提供することである。
【０００８】
本発明の更に別の目的は、全ての機能毎に互いを連結する情報通信網を有する離散事象制御システムと離散事象制御システムを用いた生産工程シミュレーション方法を提供することである。
【０００９】
本発明の更に別の目的は、互いを連結する情報通信網において、情報通信網に重みを付けることで多様な制御機能を実現することが可能な離散事象制御システムと離散事象制御システムを用いた生産工程シミュレーション方法を提供することである。
【００１０】
【課題を解決するための手段】
本課題を解決するための手段の項における、図番号、符号は、特許請求の範囲と発明の実施の形態との対応を示すために記したものであり、特許請求の範囲の解釈に用いてはならない。
【００１１】
上記課題を解決するために、本発明の生産工程シミュレーション方法は、生産ライン上に配置された複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の各々に固有の機能を示す個別オブジェクトを形成するステップと、前記複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））に共通の処理を示す少なくとも一つの共通オブジェクトを形成するステップと、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションするステップとを具備する。
【００１２】
また、本発明の生産工程シミュレーション方法は、共通オブジェクトのうち一つはメンテナンスの処理に関する。
【００１３】
また、本発明の生産工程シミュレーション方法は、共通オブジェクトのうち一つは休日の処理に関する。
【００１４】
更に、本発明の生産工程シミュレーション方法は、前記生産工程をシミュレーションするステップは、前記複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の内、少なくとも２つが協調して前記共通オブジェクト又は前記個別オブジェクトを実行するステップとを更に具備する。
【００１５】
更に、本発明の生産工程シミュレーション方法は、前記生産工程における前記装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の待機時間を解消する様にシミュレーションを行なう。
【００１６】
上記課題を解決する為の、本発明のプログラムは、生産ライン上に配置された複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の機能を示す個別オブジェクトを形成するステップと、前記複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））に共通の処理を示す少なくとも一つの共通オブジェクトを形成するステップと、前記複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の内、少なくとも２つが協調して前記共通オブジェクト又は前記個別オブジェクトを実行する条件を設定するステップと、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションするステップとを実行する。
【００１７】
上記課題を解決する為の、離散事象制御システムは、シミュレーションに関するデータを入力するための入力部（図２、１１）と、前記データに基づいてシミュレーションモデルを構築するモデル部（図２、１２）と、前記シミュレーションモデルと前記データとに基づいて、シミュレーションを実行するシミュレーション部（図２、１３）とを具備する。そして、前記モデル部（図２、１２）は、生産ライン上に配置された複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））、の機能を示す個別オブジェクトを形成し、前記複数の装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））に共通の処理を示す少なくとも一つの共通オブジェクトを形成する。また、前記シミュレーション部（図２、１３）は、前記個別オブジェクトと前記共通オブジェクトとを用いて、生産工程をシミュレーションする。
【００１８】
また、離散事象制御システムは、前記モデル部（図２、１２）が、更に、前記複数の装置の内、少なくとも２つが協調して前記共通オブジェクト又は前記個別オブジェクトを実行する条件を設定する。そして、前記シミュレーション部（図２、１３）は、更に、前記条件を実行する。
【００１９】
更に、離散事象制御システムは、前記シミュレーション部（図２、１３）が、更に、前記生産工程における前記装置（図１、１・３、図５、１０１〜１２５（１１２及び１１３を除く））の待機時間を解消する様にシミュレーションを行なう。
【００２０】
【発明の実施の形態】
以下、本発明である離散事象制御システムの実施の形態に関して、添付図面を参照して説明する。
まず、本発明の基本的な考え方について説明する。図３は、本発明である離散事象制御システムにおけるシミュレーションの離散事象のモデルの概念を示している。ここでは、製品が装置Ａから順に装置Ｂ、装置Ｃと連続的に流れる生産ラインを表している。ただし、装置の数は３個に限定されるものではなく、１個以上であれば何個でも構わない。装置単独では連続事象であるが、装置が並んだ生産ラインは連続事象が離散的に並んだ離散事象である。従来、このような場合では、図４に示す「従来の技術」の項で説明した従来の方法（シーケンシャルモデル）を用いていた。しかし、本発明では、装置毎に制御される機能をロジック化するのではなく、機能毎に分割してロジック化している点が、従来と異なる。つまり、同一の機能を一つのオブジェクトとしてロジック化（一つの機能を行なうプログラム）した複数のロジックに基づいて生産ラインのモデルを構築している（オブジェクト指向モデル）。
【００２１】
以下に、その離散事象系のモデル（離散事象モデル）の構成について説明する。図３を参照して、図右側の各装置（Ａ〜Ｃ）は、装置ロジック（Ａ〜Ｃ）を有している。装置ロジックは、オブジェクト指向モデルにおけるオブジェクトの一つであって、装置の機能を表す個別オブジェクトである。基本的には、属性として自身の装置番号、装置保留個数、処理個数、を有している。また、操作として、製品を装置へ搬入する、装置で製品を処理する、製品を装置から搬出する、処理個数を出力する、という操作を有している。装置ロジックＡ〜Ｃの相違は、ここでは、装置の各々に固有の機能に基づく製品処理の操作の違いである。装置ロジックでは、装置の外から装置内に製品を受け入れ、装置の機能により製品を処理し、装置の外へ製品を送り出り、一定時間毎に処理個数を個数ロジック（後述）へ出力する、という動作の制御を行なう。
【００２２】
メンテナンスロジックはデータベースを有するメンテナンスサーバーにあり、オブジェクト指向モデルにおけるオブジェクトの一つであって、装置に共通の処理を示す一つの共通オブジェクトである。基本的には、属性として自身の装置番号を有し、操作として、各装置の処理個数を確認する、各装置へメンテナンスの処理に関する指示であるメンテナンス指示を出力する、という操作を有している。データベースが有する各装置（Ａ〜Ｃ）が行なうメンテナンスの条件の情報（メンテナンス（処理個数）間隔、メンテナンス時間、装置保留個数、必要作業員数）取得し、各装置へメンテナンス指示を出す際に利用する。メンテナンスロジックでは、各装置が予め設定されたメンテナンス間隔の製品を処理したことを、個数ロジック（後述）の有する各装置の処理個数により確認した段階で、その装置に対してメンテナンス指示を出し、メンテナンスを実行させる制御を行なう。
【００２３】
個数ロジックはデータベースを有する個数サーバーにあり、オブジェクト指向モデルにおけるオブジェクトの一つであって、装置に共通の処理を示す一つの共通オブジェクトである。基本的には、属性として自身の装置番号を有し、操作として、各装置からの処理個数の情報を受け保持する、他のロジックからの各装置の処理個数の問合せに答える、という操作を有している。すなわち、生産ライン上の各装置における最新の製品の処理個数を把握している。
【００２４】
休日処理ロジックはデータベースを有する休日処理サーバーにあり、オブジェクト指向モデルにおけるオブジェクトの一つであって、装置に共通の処理を示す一つの共通オブジェクトである。基本的には、属性として自身の装置番号を有し、操作として、休日になった時点で、各装置へ休日の間シャットダウンするように休日の処理に関する指示を出力する、という操作を有している。データベースが有する装置運用スケジュール（あるいはカレンダー）を取得し、各装置へシャットダウン指示を出す際に利用する。
なお、メンテナンスサーバー、個数サーバー、休日処理サーバーは、１つのサーバーに統合することも可能である。
【００２５】
協調制御とは、各機能毎に互いを連結する情報通信網を構築し、関連する装置・ロジックが互いに協調・連係し、フィードバックやフィードフォワード等の制御を行なうことである。例えば、装置ロジックは個数ロジックに自身（装置）が処理した製品の個数である処理個数を出力し、他の装置での処理個数を問合せる、という情報通信網を利用した情報のつながりがある。また、メンテナンスロジックは、個数ロジックに各装置での処理個数を問合せ、その情報に基づいて、各装置に対して、メンテナンス指示を出す、という情報通信網を利用した装置相互の協調・連係がある。
【００２６】
協調制御では、ある装置がメンテナンスに入るのに合わせて、他の装置もメンテナンスに入るというような協調・連係を行なうことが出来る。また、それぞれの装置の装置ロジック、メンテナンスロジック等の機能間の情報通信において、機能間の関連度合いに応じて、通信情報の影響度を変えることは可能である。つまりその影響度を連結の重み付けとして構築し、必要の無い情報は、受け取る側で  重み＝０  として、受け取らない機能を実現することが出来る。
【００２７】
次に、本発明である離散事象制御システムの動作を、図３を参照して説明する。本システムにおいて、上記離散事象モデルを用いて、シミュレーションを行ない、離散事象の正確な予測を行う。
まず、離散事象モデルでの各装置は、装置の機能に基づく製品処理の操作の違いにより、複数の装置ロジック（ここでは、Ａ〜Ｃの３種類）に分類される。同一の装置ロジックを持つ装置は、同一の属性及び操作を有し、それらに対応する装置固有のデータを入力することで、それぞれの装置の制御を行なうことが出来る。
各装置は、生産ラインにおいてライン上に並んでおり、装置ロジックに基づき、順番に製品を処理する。そして、予め設定された時間毎に累積の処理個数を個数ロジックへ出力する。そして、外乱が入らない限り装置ロジックに基づく処理を継続して行なっている。
【００２８】
メンテナンスロジックは、各装置に設定されたメンテナンス間隔（一定の処理個数）の情報を有しており、それぞれの装置がその個数に到達した場合に、当該装置へメンテナンス指示を出力し、メンテナンスを実行させる。
メンテナンス指示を受けた装置は、製品の搬入を止め、装置内に残っている製品を処理し搬出した後、装置を停止し、メンテナンスを行なう。その際、協調制御により、関連する装置を停止する制御やメンテナンスを同時に行なう制御を行なうことも可能である。そして、メンテナンスが終了次第、装置は再び装置ロジックに従い通常の処理を行なう。協調制御を行なっている場合には、関連する装置も同時に通常の処理に復帰する。
【００２９】
休日処理ロジックは、カレンダーあるいは生産スケジュールに基づいて、休日指示を全装置に向けて発する。一番最初のプロセスの装置は、まず製品の搬入を止め、装置内の製品を全て処理した後、装置を停止する。２番目以降の装置は、残っている全ての製品を処理した後、装置を停止する。そして、休日と設定された期間停止した後、休日終了指示を全装置に向けて発する。全装置は、装置ロジックに従い、通常の処理に復帰する。
【００３０】
本発明では、それぞれの連係・通信機能に関してモデル化は複雑であるが、一度モデルが設定されれば、上述のように、モデルが機能毎に整理されているので、プログラムの構築やメンテナンス時に、装置間に跨ぐ機能でも、一つの機能ロジックの修正で良く、容易に編集・修正が可能である。従って、従来の方法に比べて、短時間にプログラムの修正が可能となる。
装置相互の協調・連係については、考慮されているので、全装置の機能の組合わせで決まる値（３つの装置を経由して出て来る製品のタクトタイム、生産量など）を制御する場合、これらの個々の装置のロジックを修正するだけで、最終的な数値を得ることが出来る。また、情報通信網に重み付けをする機構を持つことで、多様な制御機能を実現することが可能となる。
【００３１】
（実施例１）
では、本発明である離散事象制御システムの第一の実施の形態について、添付図面を参照して説明する。
本実施例において、電気製品の製造工場の生産ラインに使用される生産シミュレーションを例に示して説明するが、複数の製造・組立・検査・梱包のような生産に関わる装置が連続的に配置された生産ラインにおいても、適用可能である。
【００３２】
まず、本発明である離散事象制御システムの第一の実施例の構成について、図１、図２及び図５を参照して説明する。
図２は、離散事象制御システムの構成図である。入力部１１、モデル部１２、シミュレーション部１３及び出力部を有する生産工程のシミュレーションに使用するシミュレーター１５である。
入力部１１は、上述の離散事象モデルに基づくシミュレーションを行なう際に、シミュレーションに関わるデータ（装置に関するデータ、メンテナンスに関するデータ、生産スケジュールに関するデータ、その他モデル化に必要なデータ、条件）を入力する端末である。
モデル部１２は、入力部１１に入力されたデータ、条件に基づいて、オブジェクトを形成し、シミュレーションに用いるオブジェクト指向型の離散事象モデルを作成する。
シミュレーション部１３は、モデル部１２で作成された離散事象モデルと、入力部１１に入力されたデータに基づいて、生産工程のシミュレーションを実行する。
出力部１４は、シミュレーション結果を出力する装置であり、結果を保持する為の記憶部を有することが可能である。また、結果を表示する表示装置を接続することも可能である。
【００３３】
では、次に、本発明である離散事象制御システムにおけるシミュレーション（離散事象制御システムを用いた生産工程シミュレーション方法）について説明する。
図１は、シミュレーションに用いる離散事象モデルの構成図である。この構成図は、図３で示した離散事象モデルを適用している。装置ロジックＡ部２を有する装置Ａ１、装置ロジックＢ部４を有する装置Ｂ３、メンテナンスロジック部６と個数ロジック部７と休日ロジック部８を有するメンテナンス制御部５とを具備する。
図５は、シミュレーションに用いる電気製品の製造工場の生産ラインのモデルを示しており、入口１１２及び出口１１３、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、を具備する。
【００３４】
ここで、図１は、離散事象モデルを制御機能の面から記した図であり、図５は、離散事象モデルを制御機能を生産ラインに適用した場合を示している。図１の装置Ａ１が図５の装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５に対応し、装置Ｂ３が装置Ｂ１０８（プロセスＫ）に対応し、メンテナンス制御部５がメンテナンス制御部１２６に対応する。
【００３５】
図１を参照して、装置Ａ１は、装置ロジックの一つである装置ロジックＡにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＡにより動作する装置が複数存在することが可能である。図５において、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５の動作は、全て装置ロジックＡを用いるので、全て装置Ａ１に分類される（図１では、煩雑になるので省略している）。
装置ロジックＡ部は、オブジェクトである個別オブジェクトとしての装置ロジックＡを有し、装置Ａの制御を行なう。制御ロジックＡは、属性として自身の装置番号、装置保留個数（装置稼動中に装置内に存在する製造途中の電気製品の個数）、処理個数（製造初期からその時点までのその装置での製造途中の電気製品の累積処理個数）、装置のタクトタイム（装置における１個の製造途中の電気製品を処理する時間）を有している。また、操作として、直前のプロセス等から１個の製造途中の電気製品を装置へ搬入する、装置の機能により１個の製造途中の電気製品を処理する、装置での処理が終了した１個の製造途中の電気製品を装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジック部７（後述）へ出力する、という操作を有している。装置ロジックでは、装置の外から装置内に製品を受け入れ、装置の機能により製品を処理し、装置の外へ製品を送り出し、一定時間毎に処理個数を個数ロジック部７（後述）へ出力する、という動作の制御を行なう。
【００３６】
装置Ｂ３は、装置ロジックの一つである装置ロジックＢにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＢにより動作する装置が複数存在することも可能である。本実施例の図５においては、装置Ｂ１０８（プロセスＫ）のみである。
装置ロジックＢ部は、オブジェクトである個別オブジェクトとしての装置ロジックＢを有し、装置Ｂの制御を行なう。制御ロジックＢは、基本的には装置ロジックＡと同様であるが、操作が異なるので、別のロジックとしている。操作として、直前のプロセス等から２個の製造途中の電気製品を１組として装置へ搬入する、装置の機能により２個１組の製造途中の電気製品を処理する、装置での処理が終了した２個の製造途中の電気製品を１個づつ装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジックへ出力する、という操作を有している。
【００３７】
メンテナンス制御部５は、装置のメンテナンス、個数カウント、休日制御を行なうロジックを有する。
メンテナンスロジック部６は、オブジェクトである共通オブジェクトとしてのメンテナンスロジックを有し、各装置にメンテナンスを行なわせる制御を行なう。メンテナンスロジックは、基本的には、属性として自身の装置番号を有し、操作として、各装置の処理個数を個数ロジック部７（後述）へ確認する、各装置のメンテナンスのタイミングになった場合に各装置へメンテナンス指示を出力する、という操作を有している。その際、自身が有するデータベース（図示せず）を参照し、各装置が行なうメンテナンスの条件の情報（メンテナンス種類別のメンテナンス間隔（処理個数）、メンテナンス時間、装置保留個数、必要作業員数）を取得し、利用する。メンテナンスロジックでは、各装置が予め設定されたメンテナンス間隔の製品を処理したことを、個数ロジック部７（後述）の有する各装置の処理個数により確認した段階で、その装置に対してメンテナンス指示を出し、メンテナンスを実行させる制御を行なう。
【００３８】
個数ロジック部７は、個数ロジックを有し、オブジェクトである共通オブジェクトとしての各装置から処理個数の情報を取得し、要求に応じて処理個数の情報を出力する制御を行なう。個数ロジックは、基本的には、属性として自身の装置番号を有し、操作として、各装置から処理個数を予め設定された時間（例えば３分）毎に取得し、保持する、他のロジックからの各装置の処理個数の問合せに答える、という操作を有している。すなわち、生産ライン上の各装置における最新の製品の処理個数を把握している。
【００３９】
休日処理ロジック部８は、休日ロジックを有し、休日における全装置の状態を制御する。基本的には、属性として自身の装置番号を有し、操作として、休日になった時点で、各装置へ休日の間シャットダウンするように指示を出力する、という操作を有している。その際、自身の有するデータベース（図示せず）を参照し、装置運用スケジュール（あるいはカレンダー）を取得し、各装置へシャットダウン指示を出す際に利用する。
【００４０】
メンテナンス制御部５と装置Ａ１及び装置Ｂ３とは、無線ＬＡＮあるいは有線の通信回線により接続されており、各機能毎に互いを連結する情報通信網が構築されている。それにより、関連する装置・ロジックが互いに協調・連係し、フィードバックやフィードフォワード等の制御を行なうことである。例えば、装置ロジックは個数ロジックに自身（装置）が処理した製造途中の電気製品の処理個数を出力し、他の装置での処理個数を問合せる、メンテナンスロジックは個数ロジックに各装置での処理個数を問合せ、その情報に基づいて各装置に対して、メンテナンス指示を出す、休日ロジックは然るべき時間・日になり次第、全装置にシャットダウン指示を出す、という情報通信網を利用した装置相互の協調・連係がある。
【００４１】
図５は、本実施例において離散事象システムのシミュレーションに用いる電気製品工場の生産ラインのモデルの構成を表している。装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、入口１１２、出口１１３より成る。
装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）は、装置ロジックＡにより制御される装置である。部品洗浄装置、各種部品取付装置、配線装置、仕上装置、検査装置などである。
装置Ｂ１０８（プロセスＫ）は、装置ロジックＢにより制御される装置である。溶接装置である。
バッファａ１０９〜バッファｃ１１１は、各装置のプロセスにおける、プロセス毎のタクトタイムが異なる為に生ずる製造途中の電気製品の滞り、あるいは、各装置の待機状態を低減する為に、製造途中の電気製品を一時的に貯留しておく場所である。
入口１１２は、電気製品用の部品を搬入する場所であり、出口１１３は、完成した製品（電気製品）を搬出する場所である。
メンテナンス制御部１２６は、図１におけるメンテナンス制御部５と同等であり、メンテナンスロジック部、個数ロジック部、休日ロジック部を有する。そして、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５と無線ＬＡＮ又は有線の通信回線で接続している。
【００４２】
次に、本発明である離散事象制御システムの第１の実施例の動作について、図１、図２及び図５を参照して説明する。
ここでは、従来の方法（図４参照）で行なっていた、電気製品工場の生産ラインの最適化（日産３４８.２個、メンテナンス要員１１人／日、バッファ貯留個数５６１個（バッファに貯留している電気製品の最高個数、以下同じ））の改善を行なう。改善には、本発明の離散事象制御システムによるオブジェクト指向型の離散事象モデルを用いた最適化のシミュレーションにより行なう。
【００４３】
図２を参照して、まず、シミュレーター１５の動作の概略を示す。
入力部１１に、シミュレーションに関わるデータ（装置に関するデータ、メンテナンスに関するデータ、生産スケジュールに関するデータ、その他モデル化に必要なデータ、条件）が入力される。
次に、モデル部１２において、入力されたデータ、条件に基づいて、オブジェクトが形成される。装置・生産プロセスから機能を分割して整理し、いくつかの装置間に共通する機能であるいくつかの個別オブジェクトを形成する。また、すべての装置に共通な処理である共通オブジェクトを形成する。そして、それぞれのオブジェクトが相互に連絡・協調・連係し、生産ライン全体に要求される機能を実現できる様にシミュレーションに用いるオブジェクト指向型の離散事象モデルを形成する。
続いて、シミュレーション部１３にて、モデル部１２で作成された離散事象モデルと、入力部１１に入力されたデータに基づいて、生産工程のシミュレーションが実行される。結果は、逐次シミュレーション途中で出力部１４から出力（あるいは表示）される。
【００４４】
次に、シミュレーションの内容について説明する。
本実施例においては、生産ラインのモデルとして、図５の説明で述べた通り、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、入口１１２、出口１１３を有する生産ラインを用いる。
まず、各装置は、装置の機能に基づく製品処理の操作の違いにより、装置ロジックＡ又は装置ロジックＢを有している。同一の装置ロジックを持つ装置は、同一の属性及び操作を有し、それらに対応する装置固有のデータを入力することで、それぞれの装置の制御を行なうことが出来る。
各装置は、生産ラインにおいてライン上に並んでおり、装置ロジックに基づき、順番に製品を処理する。そして、予め設定された時間毎に累積の処理個数を個数ロジックへ出力する。そして、外乱が入らない限り装置ロジックに基づく処理を継続して行なっている。
【００４５】
メンテナンスロジックは、各装置に設定されたメンテナンス間隔（個数）の情報を有しており、それぞれの装置がその個数に到達した場合に、その装置へメンテナンス指示を出力する。なお、その装置の装置保留個数（装置内に残っている製品の個数）が０でない場合には、メンテナンス間隔−装置保留個数  をメンテナンス指示の基準とする。
メンテナンス指示を受けた装置は、製品の搬入を止め、装置保留個数分の処理をした後、装置を停止し、メンテナンスを行なう。そして、メンテナンスが終了次第、装置は再び装置ロジックに従い通常の処理を行なう。協調制御を行なっている場合には、関連する装置も同時に通常の処理に復帰する。
休日処理ロジックはカレンダーあるいは生産スケジュールに基づいて、休日指示は、通常全装置に向けて発せられる。一番最初のプロセスの装置は、まず製品の搬入を止め、装置内の製品を全て処理した後、装置を停止する。２番目以降の装置は、残っている全ての製品を処理した後、装置を停止する。そして、休日と設定された期間停止した後、休日終了指示を全装置に向けて発する。全装置は、装置ロジックに従い、通常の処理に復帰する。
【００４６】
本発明では、それぞれの連係・通信機能に関してモデル化は複雑であるが、一度モデルが設定されれば、上述のように、モデルが機能毎に整理されているので、プログラムの構築やメンテナンス時に、装置間に跨ぐ機能でも、一つの機能ロジックの修正で良く、容易に編集・修正が可能である。従って、従来の方法に比べて、短時間にプログラムの修正が可能となる。
装置相互の協調・連係も考慮されており、全装置の機能の組合わせで決まる値（製品のタクトタイム、一日の生産量など）を制御する場合、これらの個々の装置のロジックを修正するだけで、最終的な数値を得ることが出来る。
【００４７】
上記の図１及び図５に示す離散事象モデルを用いた電気製品生産ラインの最適化シミュレーションにおいて、以下の検討を行なった。メンテナンス間隔調整による生産状況変化の検討、バッファ位置の検討、バッファ最大容量の検討、メンテナンス要因の検討、ネック装置の発見、外注品投入の影響、である。その結果、一つの装置について、外注化（＝シミュレーション上ではメンテナンス無しと設定）を行なうことにより、電気製品工場の生産ラインの最適化がなされ、日産３６０．７個、メンテナンス要員５人／日、バッファ貯留個数６９３個（＜１０００個）となり、従来の方法による最適化（日産３４８.２個、メンテナンス要員１１人／日、バッファ貯留個数５６１個）に比較して、大幅に改善していることが分かる。
【００４８】
（実施例２）
では、本発明である離散事象制御システムの第二の実施の形態について、添付図面を参照して説明する。
本実施例において、電気製品工場の生産ラインに使用される生産シミュレーションを例に示して説明するが、複数の製造・組立・検査・梱包のような生産に関わる装置が連続的に配置された生産ラインにおいても、適用可能である。
【００４９】
まず、本発明である離散事象制御システムの第二の実施例は、協調制御を行なう際に、それぞれの装置の装置ロジック、メンテナンスロジック等の機能間の情報通信において、機能間の関連度合いに応じて、通信情報の影響度を変えることも可能である。その影響度を連結の重み付けとして構築し、必要の無い情報は、受け取る側で  重み＝０  として、受け取らない機能を実現することが出来る点が、実施例１と異なる。
【００５０】
本発明である離散事象制御システムの第二の実施の構成について、図１、図２及び図５を参照して説明する。
図２は、離散事象制御システムの構成図である。入力部１１、モデル部１２、シミュレーション部１３及び出力部を有する生産工程のシミュレーションに使用するシミュレーター１５である。構成は実施例１と同様であるので説明は省略する。
【００５１】
では、次に、本発明である離散事象制御システムにおけるシミュレーション（離散事象制御システムを用いた生産工程シミュレーション方法）について説明する。
図１は、シミュレーションに用いる離散事象モデルの構成図である。装置ロジックＡ部２を有する装置Ａ１、装置ロジックＢ部４を有する装置Ｂ３、メンテナンスロジック部６と個数ロジック部７と休日ロジック部８を有するメンテナンス制御部５とを具備する。
図５は、シミュレーションに用いる電気製品工場の生産ラインのモデルを示しており、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、入口１１２、出口１１３、を具備する。
【００５２】
ここで、図１は、離散事象モデルを制御機能の面から記した図であり、図５は、離散事象モデルを制御機能を生産ラインに適用した場合を示している。図１の装置Ａ１が図５の装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５に対応し、装置Ｂ３が装置Ｂ１０８（プロセスＫ）に対応し、メンテナンス制御部５がメンテナンス制御部１２６に対応する。
【００５３】
装置Ａ１は、装置ロジックの一つである装置ロジックＡにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＡにより動作する装置が複数存在する。図５において、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５の動作は、全て装置ロジックＡを用いるので、全て装置Ａに分類される（図１では、煩雑になるので省略している）。
装置ロジックＡ部は、個別オブジェクトとしての装置ロジックＡを有し、装置Ａの制御を行なう。制御ロジックＡは、属性として自身の装置番号、装置保留個数（装置稼動中に装置内に存在する製造途中の電気製品個数）、処理個数（製造初期からその時点までのその装置での製造途中の電気製品の累積処理個数）、装置のタクトタイム（装置における１個の製造途中の電気製品を処理する時間）、生産ラインの各装置番号に対する協調の度合いを示す重み付けの係数を有している。
また、操作として、直前のプロセス等から１個の製造途中の電気製品を装置へ搬入する、装置の機能により１個の製造途中の電気製品を処理する、装置での処理が終了した１個の製造途中の電気製品を装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジック部７（後述）へ出力する、という操作を有している。装置ロジックでは、装置の外から装置内に製品を受け入れ、装置の機能により製品を処理し、装置の外へ製品を送り出り、一定時間毎に処理個数を個数ロジック部７（後述）へ出力する、重み付けの係数に従って相手先装置又はロジックと協調する、という動作の制御を行なう。
【００５４】
装置Ｂ３は、装置ロジックの一つである装置ロジックＢにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＢにより動作する装置が複数存在する場合もある。本実施例の図５においては、プロセスＧ１０４のみである。
装置ロジックＢ部は、個別オブジェクトとしての装置ロジックＢを有し、装置Ｂの制御を行なう。制御ロジックＢは、基本的には装置ロジックＡと同様であるが、操作が異なるので、別のロジックとしている。操作として、直前のプロセス等から２個の製造途中の電気製品を１組として装置へ搬入する、装置の機能により２個１組の製造途中の電気製品を処理する、装置での処理が終了した２個の製造途中の電気製品を１個づつ装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジックへ出力する、重み付けの係数に従って相手先装置又はロジックと協調する、という操作を有している。
【００５５】
メンテナンス制御部５は、装置のメンテナンス、個数カウント、休日制御を行なうロジックを有する。
メンテナンスロジック部６は、共通オブジェクトとしてのメンテナンスロジックを有し、各装置にメンテナンスを行なわせる制御を行なう。メンテナンスロジックは、実施例１と同様である。本実施例では、それに加えて、重み付けの係数に従って相手先装置又はロジックと協調する。
【００５６】
メンテナンス制御部５と装置Ａ１及び装置Ｂ３とは、無線ＬＡＮあるいは有線の通信回線により接続されており、各機能毎に互いを連結する情報通信網が構築されている。そして、情報通信網の機能間の影響を連結の重み付けの係数に従って、相手先装置又はロジックにが互いに協調・連係し、フィードバックやフィードフォワード等の制御を行なうことである。
【００５７】
その他の各部の機能に付いては、実施例１と同様であるので説明は省略する。
【００５８】
次に、本発明である離散事象制御システムの第２の実施例の動作について、図１、図２及び図５を参照して説明する。
本実施例においても、図２に示すシミュレーター１５を使用する。基本的な動作は実施例１と同様であるので省略する。
また、本実施例においては、生産ラインのモデルとして、図５の説明で述べた通り、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、入口１１２、出口１１３を有する生産ラインを用いる。これらの基本的な動作は、実施例１と同様であるので省略する。
【００５９】
実施例１の場合には、メンテナンスロジックは、各装置に設定されたメンテナンス間隔（個数）の情報を有しており、それぞれの装置がその個数に到達した場合に、その装置へメンテナンス指示を出力する。メンテナンス指示を受けた装置は、製品の搬入を止め、装置保留個数分の処理をした後、装置を停止し、メンテナンスを行なう。その際、アイドル（製造途中の電気製品が装置に来るまでの待ち時間）が頻繁に発生する。すなわち、装置相互間に装置の協調動作に関する制御がなされていないため、一つの装置がメンテナンスに入っても、他の装置は独自の動作を行なっている為である。
また、装置の並び方により、装置同士のタクトタイムを揃える、又は、片方の装置のタクトタイムを他方の装置のタクトタイムの整数倍にする、ある装置のメンテナンスの時間中は、ある装置は決してメンテナンスにならないというような多様な制御を行なうことが可能な機能を持つことができる。
【００６０】
本発明では、上述のように、モデルが機能毎に整理されているので、プログラムの構築やメンテナンス時に、装置間に跨ぐ機能でも、機能の修正で良く、容易に編集・修正が可能である為、従来の方法に比べて、短時間にソフトの修正が可能となる。
また、協調制御を行なう際に、それぞれの装置の装置ロジック、メンテナンスロジック等の機能間の情報通信において、機能間の関連度合いに応じて、通信情報の影響度を変えることも可能である。その影響度を連結の重み付けとして構築し、必要の無い情報は、受け取る側で  重み＝０  として、受け取らない機能を実現することが出来る。
【００６１】
ここで、ＧＡについて、説明する。ＧＡでは、解を求める変数の変域内において、最適解を一点ずつ順番に探索するのではなく、複数個の点を同時に探索する。その際、各探索点を仮想的な生物とみたてて、その仮想的な生物を染色体で特徴付ける。染色体は、数字、英文字、演算子などから成る記号列である。各点すなわち各個体に対し、予め設定した評価関数（＋ペナルティ関数）より求まる評価値から適応度を計算する。適応度は子孫の残しやすさを表す指標であり、適応度が高い個体ほど選択確率が高くなるように自然選択される。その結果、次世代では現世代よりも、適応度が高い個体の割合が高くなる。毎世代このような操作を繰り返すと、適応度が高い個体集団が形成される。これがＧＡにおける進化であり、最適解、あるいは目標点への接近である。
解を染色体で表すことをコーディングという。遺伝子コーディングは、問題に応じて考え出す。また、ＧＡによる最適解探索は基本的に生成検査法であり、交差、自然選択、突然変異などの遺伝的操作から求める。
【００６２】
ここで、バッファｃ１１１に貯留される製造途中の電気製品が５００個を越えた場合、装置の処理を一時的（ここでは、仮に５分間とする）に止めることを考える。この時、各装置の装置ロジック（Ａ及びＢ）の、「重み付けの係数に従って相手先装置又はロジックと協調する」という操作の具体的内容を、「バッファｃ１１１に貯留される製造途中の電気製品が５００個を越えた場合、装置を一定時間停止する」とする。各装置は、バッファｃ１１１での個数の情報は、個数ロジックから得る。また、評価関数として、１時間後のバッファｃ１１１での個数が４５０個以下とする。このとき、貯まり過ぎたバッファｃ１１１の製造途中の電気製品を減らす目的であるから、装置Ａ６−１０６（プロセスＩ）及び装置Ａ７−１０７（プロセスＪ）は停止する必要が無い。従って、装置Ａ１−１０１（プロセスＤ）〜装置Ａ５−１０５（プロセスＨ）及び装置Ｂ１０８（プロセスＫ）の６つの装置がこの問題の対象である。ただし、装置Ａ１−１０１（プロセスＤ）〜装置Ａ５−１０５（プロセスＨ）及び装置Ｂ１０８（プロセスＫ）の初期状態は、適切に選択するものとする。
【００６３】
以下に、単純ＧＡにより、解を見つけるプロセスについて説明する。
初期化：染色体を０，１のビット列で表現する（遺伝子コーディング）。そして初期世代の個体（染色体）を作成する。個体数は、予め設定された値とする。この例では、対象となる装置全てを５分間停止させる染色体を１１１１１１、すべてを停止させない染色体を００００００とする。数字は、一番左の桁が装置Ａ１−１０１（プロセスＤ）、一番右の桁が装置Ａ５−１０５（プロセスＨ）に対応し（装置の並んでいる順番で対応させる）、１が停止、０が停止しないことを表すとする。初期世代として、前記６桁の１、０の組で表現される染色体から、６つの染色体を取り出す。
ステップ１（自然選択）：各個体（染色体）の適応度を算出し、適応度の低い個体を淘汰し、適応度の高い個体を増やす。淘汰・増殖する個体の選別は、適応度の大きさに比例した確率に基づいて行なう。
この例では、バッファｃ１１１に５００個の製造途中の電気製品がある状態から、染色体により指定された装置が５分間停止し、しかる後動き出し、１時間後のバッファｃ１１１の製造途中の電気製品の個数を計算する（計算方法は、実施例１の方法）。その結果、４５０個以下ならば、適応したとし、その個体（染色体）を残す。適応したものが多い時は、上位４個までとする。
ステップ２（交差）：個体群の中からランダムに２個体を選び親個体とする。両親の染色体を、ランダムに選んだ個所で切り、それ以降の遺伝子を互いに交換し、子個体とする。
この例では、適応した個体のうち２つを選択し親個体とし、交差率２／３で交配する。そして、２人の子個体とする。
ステップ３（突然変異）：ランダムにある低い確率で遺伝子座を選び、その値０，１を強制的に入れかえる。こうすることにより、親に無い形質を子に発現させることが出来る。
この例では、１％の確率で突然変異を起こさせることとする。ただし、この例では、個体数が少ないので、突然変異は起こり難い。
ステップ４（終了判定）：終了条件を満たす場合には、この世代までに得られている最良個体を（準）最適解とし、世代交代計算を終える。満たさない場合には、ステップ１に戻って、ステップ３までの処理を繰り返す。
この例では、個体数が少ないので、すべての個体について、行なうことが可能である。
【００６４】
上記方法により、バッファｃ１１１に貯留される製造途中の電気製品が５００個を越えた場合、装置Ａ１−１０１（プロセスＤ）〜装置Ａ５−１０５（プロセスＨ）及び装置Ｂ１０８（プロセスＫ）の内、どの装置が５分間停止すべきかを見出すことが出来る。例えば、最適解が００００１１であれば、装置Ａ４−１０４（プロセスＧ）〜装置Ａ５−１０５（プロセスＨ）を停止すれば良いことになる。
上記方法は、ＧＡの一つの例であり、適応度の評価方法や交差方法、突然変異方法などにおいて、ＧＡで用いられている一般的な他の手法を用いることが可能である。
【００６５】
本発明により、各装置又はロジック間の情報通信の組合せを増やすことが出来る。更に、本機能を有するモデルで実行した計算結果を評価関数としたＧＡやニューラルネットワーク等の最適化手法により、この重み付けの組み合わせを調整し、モデルに適正な重みを適用した機構を実現でき、それらは、様々な状況における生産ラインの動作の最適化に適用することが可能である。
【００６６】
（実施例３）
では、本発明である離散事象制御システムの第三の実施の形態について、添付図面を参照して説明する。
本実施例において、電気製品工場の生産ラインに使用される生産シミュレーションを例に示して説明するが、複数の製造・組立・検査・梱包のような生産に関わる装置が連続的に配置された生産ラインにおいても、適用可能である。
【００６７】
本発明である離散事象制御システムの第三の実施例は、各ロジック同士が協調・連係する際に、関連する装置同士が協調して動作するという制御を行なう点が、実施例１と異なる。例えば、一つのプロセス装置がメンテナンスの為に休止した場合には、前又は後の装置が同時に停止する。その場合、装置の待機時間を解消する様になるので、単に一つの装置が休止してメンテナンスする場合よりも、生産性の向上につなげることが可能になる。
【００６８】
本発明である離散事象制御システムの第三の実施例の構成について、図１、図２及び図５を参照して説明する。
図２は、離散事象制御システムの構成図である。入力部１１、モデル部１２、シミュレーション部１３及び出力部を有する生産工程のシミュレーションに使用するシミュレーター１５である。構成は実施例１と同様であるので説明は省略する。
【００６９】
では、次に、本発明である離散事象制御システムにおけるシミュレーション（離散事象制御システムを用いた生産工程シミュレーション方法）について説明する。
図１は、シミュレーションに用いる離散事象モデルの構成図である。装置ロジックＡ部２を有する装置Ａ１、装置ロジックＢ部４を有する装置Ｂ３、メンテナンスロジック部６と個数ロジック部７と休日ロジック部８を有するメンテナンス制御部５とを具備する。
図５は、シミュレーションに用いる電気製品工場の生産ラインのモデルを示しており、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、入口１１２、出口１１３、を具備する。
【００７０】
ここで、図１は、離散事象モデルを制御機能の面から記した図であり、図５は、離散事象モデルを制御機能を生産ラインに適用した場合を示している。図１の装置Ａ１が図５の装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５に対応し、装置Ｂ３が装置Ｂ１０８（プロセスＫ）に対応し、メンテナンス制御部５がメンテナンス制御部１２６に対応する。
【００７１】
装置Ａ１は、装置ロジックの一つである装置ロジックＡにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＡにより動作する装置が複数存在する。図５において、プロセスＧ１０４を除くプロセスＤ１０１〜プロセスＫ１０８、バッファａ１０９〜バッファｃ１１１及びベルトコンベア１１４〜１２６の動作は、全て装置ロジックＡを用いるので、全て装置Ａに分類される（図１では、煩雑になるので省略している）。
装置ロジックＡ部は、個別オブジェクトとしての装置ロジックＡを有し、装置Ａの制御を行なう。制御ロジックＡは、属性として自身の装置番号、装置保留個数（装置稼動中に装置内に存在する製造途中の電気製品個数）、処理個数（製造初期からその時点までのその装置での製造途中の電気製品の累積処理個数）、装置のタクトタイム（装置における１個の製造途中の電気製品を処理する時間）、協調する相手の装置番号を有している。
また、操作として、直前のプロセス等から１個の製造途中の電気製品を装置へ搬入する、装置の機能により１個の製造途中の電気製品を処理する、装置での処理が終了した１個の製造途中の電気製品を装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジック部７（後述）へ出力する、協調相手装置の処理個数と自分の処理個数とに基づいて相手に合わす又は相手に合わせてもらうと判断し結果をメンテナンスロジック部６へ出力する、という操作を有している。
【００７２】
装置Ｂ３は、装置ロジックの一つである装置ロジックＢにより動作を行なう装置である。図１では、１つの装置を表現しているが、同一の装置ロジックＢにより動作する装置が複数存在する場合もある。本実施例の図５においては、プロセスＧ１０４のみである。
装置ロジックＢ部は、個別オブジェクトとしての装置ロジックＢを有し、装置Ｂの制御を行なう。制御ロジックＢは、基本的には装置ロジックＡと同様であるが、操作が異なるので、別のロジックとしている。操作として、直前のプロセス等から２個の製造途中の電気製品を１組として装置へ搬入する、装置の機能により２個１組の製造途中の電気製品を処理する、装置での処理が終了した２個の製造途中の電気製品を１個づつ装置から搬出する、処理個数を予め設定された時間（例えば３分）毎に個数ロジック７（後述）へ出力する、協調相手装置の処理個数と自分の処理個数とに基づいて相手に合わす又は相手に合わせてもらうと判断し結果をメンテナンスロジック部６へ出力する、という操作を有している。
【００７３】
メンテナンス制御部５は、装置のメンテナンス、個数カウント、休日制御を行なうロジックを有する。
メンテナンスロジック部６は、共通オブジェクトとしてのメンテナンスロジックを有し、各装置にメンテナンスを行なわせる制御を行なう。メンテナンスロジックは、基本的には、実施例１と同様である。本実施例では、それに加えて、ある装置の装置ロジックＡ又は装置ロジックＢから、協調相手装置と同時にメンテナンスを行なうという判断の情報の出力があった場合には、その情報に基づいて、双方の装置にメンテナンス指示を出力する。
【００７４】
メンテナンス制御部５と装置Ａ１及び装置Ｂ３とは、無線ＬＡＮあるいは有線の通信回線により接続されており、各機能毎に互いを連結する情報通信網が構築されている。それにより、関連する装置・ロジックが互いに協調・連係し、フィードバックやフィードフォワード等の制御を行なうことである。
【００７５】
その他の各部の機能に付いては、実施例１と同様であるので説明は省略する。
【００７６】
次に、本発明である離散事象制御システムの第３の実施例の動作について、図１、図２、図５〜図７を参照して説明する。
ここでは、従来の方法（図４参照）で行なっていた、電気製品工場の生産ラインの最適化（日産３４８.２個、メンテナンス要員１１人／日、バッファ貯留個数５６１個、電気製品年間生産量１０．０ＭＷ）を改善する。改善には、本発明の離散事象制御システムを用いた最適化及び協調制御を積極的に取り入れたオブジェクト指向型の離散事象モデルを用いた方法により行なう。
【００７７】
本実施例においても、図２に示すシミュレーター１５を使用する。基本的な動作は実施例１と同様であるので省略する。
また、本実施例においては、生産ラインのモデルとして、図５の説明で述べた通り、装置Ａ１−１０１（プロセスＤ）〜装置Ａ７−１０７（プロセスＪ）、装置Ｂ１０８（プロセスＫ）、バッファａ１０９〜バッファｃ１１１及びコンベア１１４〜１２５、メンテナンス制御部１２６、入口１１２、出口１１３を有する生産ラインを用いる。これらの基本的な動作は、実施例１と同様であるので省略する。
【００７８】
実施例１の場合には、メンテナンスロジックは、各装置に設定されたメンテナンス間隔（個数）の情報を有しており、それぞれの装置がその個数に到達した場合に、その装置へメンテナンス指示を出力する。メンテナンス指示を受けた装置は、製品の搬入を止め、装置保留個数分の処理をした後、装置を停止し、メンテナンスを行なう。その際、アイドル（製造途中の電気製品が装置に来るまでの待ち時間）が頻繁に発生する。すなわち、装置相互間に装置の協調動作に関する制御がなされていないため、一つの装置がメンテナンスに入っても、他の装置は独自の動作を行なっている為である。
【００７９】
ここで、生産ライン上で近くにあり、互いに協調・連係する方が効率的な装置については、片方がメンテナンスに入る段階で、他方が同時にメンテナンスに入るような制御を行なう。例えば、装置Ａ５−１０５（プロセスＨ）と装置Ｂ１０８（プロセスＫ）とにおいて、装置Ｂ１０８（プロセスＫ）のメンテナンス間隔が１６００個毎であり、装置Ａ５−１０５（プロセスＨ）のメンテンナンス間隔が４６００個毎であったとする。その場合、装置Ｂ１０８（プロセスＫ）の３回目のメンテナンス間隔は、１６００×３＝４８００個毎、となり、装置Ａ５−１０５（プロセスＨ）の４６００個毎と近くなる。その場合、設定されたメンテナンス間隔とは多少ずれるが、同時にメンテナンスする方が生産性向上につながる場合がある（逆に、そのような相手を協調・連係の相手とする）。協調・連携の相手は、１つとは限らず、協調・連係することが生産性向上につながる相手であれば、相手を複数選択することも可能である。
【００８０】
手順としては、まず、協調・連係する相手について各装置は予め設定されて（知らされて）いる。そして、各装置は、自分の処理個数の情報を個数ロジック部７に出力すると同時に、強調・連係相手の処理個数の情報を取得する。そして、自分のメンテナンス間隔と相手のメンテナンス間隔が近づいた場合に、自分が相手のメンテナンスのタイミングに合わせる、又は、相手に合わせてもらうか判断する。
その場合、例えば、近づいたとは、双方のメンテナンス間隔の差が、大きい方のメンテナンス間隔の５％以内に入ることであり、タイミングを合わせる方は、メンテナンス間隔の長い方である、のようなルールを予め設定しておく。上記の例でいえば  （１６００×３−４６００）/４８００×１００＝４％＜５％、装置Ｂ１０８（プロセスＫ）のメンテナンス間隔１６００個毎＜装置Ａ５−１０５（プロセスＨ）のメインテンナンス間隔４６００個毎  であるので、装置Ｂ１０８（プロセスＫ）の３回目のメンテナンスの時に、装置Ａ５−１０５（プロセスＨ）が同時にメンテナンスを行なう、ということになる。
【００８１】
各装置がどの程度他の装置と関連しているかを調べる方法としては、図４に示す従来の方法のシーケンシャルモデルを用いて、関連していると考えられる装置同士にメンテナンスのタイミングを協調させるシミュレーションを行ない、生産効率がどの程度向上するかで調べることは可能である。また、実施例２の重み付け係数を用いて、関連していると考えられる装置同士にメンテナンスのタイミングを協調させる（＝重み付けを１とし、残りをゼロとする）ことにより、関連性を評価する方法を用いて行なうことも可能である。
【００８２】
図６及び図７はその結果を示す。横軸は、生産を行なっている時間、縦軸は各装置での累積処理個数である。プロセス１の装置（破線）とプロセス２の装置（実線）との関連を示す。図６は、協調制御を行なっていない場合を示す。イで示す領域において、プロセス２の処理が停滞し、装置のアイドル（待機時間）が発生している。しかし、図７の協調制御を行なっている場合には、ロで示す領域において、プロセス２の処理が停滞することなくプロセス１と協調していることが分かる。これは、ロの領域だけに限らず、全時間領域で達成されている。この協調制御の導入により、図６の場合に比較して、図７の場合の方が年間電気製品生産量が５．０％向上することが可能となった。また、その時、電気製品工場の生産ラインの最適化がなされ、日産３５９．２個、メンテナンス要員８人／日、バッファ貯留個数６９３個（＜１０００個）となり、大幅に改善していることが分かる。
【００８３】
【発明の効果】
本発明により、装置の機能毎のロジックによりモデルを形成し、プログラムの構築やメンテナンスの際に、装置間に跨ぐ機能でも機能のみの修正により容易に編集・修正が可能となる。
【００８４】
また、本発明により、装置の機能毎に情報通信網で装置相互に連携を取り、多様な制御機能を実現することができる。
【図面の簡単な説明】
【図１】  本発明である離散事象制御システムによるシミュレーションにおける離散事象モデルの構成図である。
【図２】  本発明である離散事象制御システムのシミュレーターを示す構成図である。
【図３】  本発明である離散事象制御システムの離散事象モデルの概念を示す構成図である。
【図４】  従来の方法でシミュレーションを行なう場合のモデルの概念を示す構成図である。
【図５】  本発明である離散事象制御システムによるシミュレーションにおける離散事象モデルの生産工程の構成図である。
【図６】  本発明である離散事象制御システムによる協調制御をしない場合のシミュレーションの結果を示すグラフである。
【図７】  本発明である離散事象制御システムによる協調制御をした場合のシミュレーションの結果を示すグラフである。
【符号の説明】
１    装置Ａ
２    装置ロジックＡ部
３    装置Ｂ
４    装置ロジックＢ部
５    メンテナンス制御部
６    メンテナンスロジック部
７    個数ロジック部
８    休日ロジック部
１１    入力部
１２    モデル部
１３    シミュレーション部
１４    出力部
１０１    装置Ａ１
１０２    装置Ａ２
１０３    装置Ａ３
１０４    装置Ａ４
１０５    装置Ａ５
１０６    装置Ａ６
１０７    装置Ａ７
１０８    装置Ｂ
１０９    バッファａ
１１０    バッファｂ
１１１    バッファｃ
１１２    入口
１１３    出口
１１４    コンベア
１１５    コンベア
１１６    コンベア
１１７    コンベア
１１８    コンベア
１１９    コンベア
１２０    コンベア
１２１    コンベア
１２２    コンベア
１２３    コンベア
１２４    コンベア
１２５    コンベア
１２６    コンベア
【図１】
0004153671.tif 000002
【図２】
0004153671.tif 000003
【図３】
0004153671.tif 000004
【図４】
0004153671.tif 000005
【図５】
0004153671.tif 000006
【図６】
0004153671.tif 000007
【図７】
0004153671.tif 000008