(57)【要約】【課題】プランニングをスケジューリングに統合し、個々の能力の選択を、同時にプランニングされスケジューリングされている他の能力の選択及びタイミングに依存させる。【解決手段】それぞれが代替能力を有する複数のモジュールを備える再構成可能な生産システムのためのワークフローの自動プランニング及びスケジューリングを可能にするシステムが提供される。このシステムは、システムコントローラと、少なくとも１つのプランニング機能と、少なくとも１つのスケジューリング機能とを含む。【選択図】図１
2004152293.tif 000002
【特許請求の範囲】
【請求項１】
複数の代替能力を備える複数のモジュールを有する再構成可能な生産システムのワークフローをプランニングしてスケジューリングする、コンピュータ制御されたシステムであって、
システムコントローラと、
少なくとも１つのプランニング機能と、
少なくとも１つのスケジューリング機能と、
を備えるシステム。
【請求項２】
請求項１に記載の再構成可能な生産システムをプランニングしてスケジューリングするシステムにおいて、前記プランニング機能は、
プランニングされる少なくとも１つのワークユニットを選択する手段と、
前記ワークユニットを生産するための能力を決定する手段と、
選択変数を用いて制約を修正する手段と、
選択変数及び共通モジュールに関する制約をメモリにポストする手段と、
タイミング及び先行制約をメモリにポストする手段と、
ジョブの一部のみがスケジュールされている場合、選択されたリソースを確保する手段と、
を含む、システム。
【請求項３】
請求項２に記載の再構成可能な生産システムのプランニング及びスケジューリングシステムにおいて、前記ワークユニットを生産するための能力の決定は、さらに、すべての再構成可能な生産システムモジュール能力の考慮を含む、システム。
【請求項４】
請求項１に記載の再構成可能な生産システムのプランニング及びスケジューリングシステムにおいて、前記スケジューリング機能は、
スケジュールされる能力を選択する手段と、
プランニングされた能力に対して出口リソースを確保する手段と、
タイミング及び選択変数を解く手段と、
を含む、システム。
【請求項５】
複数のモジュールを有し、システムコントローラを含む複数の再構成可能な生産システムのためのワークフローをプランニングしてスケジューリングする方法であって、
少なくとも１つの再構成可能な生産システムのためのワークフローをプランニングするステップと、
前記再構成可能な生産システムにおける複数のモジュールに対してワークフローをスケジューリングするステップと、
を含む、方法。
【請求項６】
請求項５に記載の複数の再構成可能な生産システムのワークフローをプランニングしてスケジューリングする方法において、前記ワークフローをプランニングするステップは、
生産されるワークユニットの記述を獲得するステップと、
前記プランニングされるワークユニットの少なくとも１つを選択するステップと、
前記ワークユニットを生成するための能力を決定するステップと、
選択変数を用いて制約を修正するステップと
選択変数及び共通モジュールに関する制約をメモリにポストするステップと、
タイミング及び先行制約をメモリにポストするステップと、
を含む方法。
【請求項７】
請求項６に記載の複数のモジュールを有する再構成可能な生産システムをプランニングしてスケジューリングする方法において、前記ワークユニットの生産に必要な能力を決定するステップは、再構成可能なシステムモジュール能力から代替能力を選択するステップを含む、方法。
【請求項８】
請求項５に記載の再構成可能な生産システムのワークフローをプランニングしてスケジューリングする方法において、再構成可能な生産システムにおける複数のモジュールのためのワークフローをスケジューリングするステップは、
スケジュールされる能力を選択するステップと、
同一ジョブ内のプランニングされた能力に対して出口リソースを確保するステップと、
プランニングされた能力のタイミング及び選択変数を解くステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるジョブ間で非常に多様であるワークピースに、ジョブに応じて変更自在に適用できる、再構成可能な生産オペレーション及び装置のためのワークフロー及び処理をプランニング及びスケジューリングするシステム及び方法に関する。
【背景技術】
【０００２】
再構成可能な生産システムは、フレキシブルパス及び均一ループ（イーブン・ループ）で接続された多数のパラレル代替モジュールにより構成されるものが増えている。この結果、このようなシステムは、同一の出力を生み出すために多くの代替オペレーション（または能力）を提供することが期待されている。例えば、モジュラプリンティングシステムは、フレキシブル用紙搬送路を介して接続された複数の同一パラレルプリンタで構成してもよい。この搬送路により、これらのプリンタに対して用紙の供給及び収集を行う。今日、このようなシステムに対して利用可能なシステムコントロールソフトウェアは、その中核として高性能のスケジューリング要素を有するが、再構成可能な並列生産システムを活用すべく確立されていない。これは、主として、複数の利用可能なオペレーションから最適なオペレーションシーケンスを選択する、包括的な強力プランニング要素が欠如していることによる。
【０００３】
再構成可能な生産システムは、接続されたモジュールのグラフとしてモデル化してもよく、各モジュールは、その構造及びその能力のモデルとして記述される。前記構造とは、主として、ワークユニットが出入りするためのインターフェース、例えば、入口及び出口と、内部で使用された任意のリソースである。能力とは、入口でワークユニットを受け、これらを処理し、これらを出口に移動するオペレーションである（ここでは、入口及び出口は、スロットやトレイなどの機械的インターフェース、ならびにコンピュータインターフェースも意味する。また、１つのポートが入口及び出口の両方として機能してもよい。）。このようなシステムのオペレーションは、ワークユニットがグラフにおける有効な経路に沿ってモジュールからモジュールに移動する際の一連の能力実行としてモデル化されている。
【０００４】
再構成可能な生産システムの一例は、フィーダ、マークエンジン、用紙搬送、反転などのモジュールを備えたモジュラプリンタである。ここでは、ワークユニットはシートとイメージである。単純な用紙搬送モジュールは、入口と出口と単一の能力を備え、一枚の紙をその入口から出口に移動する。インバータモジュールは、１つの入口と１つの出口と２つの能力を備える。１つは、用紙を反転する能力であり、もう１つは反転機構を迂回する能力である。マークエンジン転写モジュールは、２つの入口（シート用とイメージ用）、１つの出口（記録（マーク）したシート用）、及びイメージをシートにプリントする１つの能力を備える。これらすべてのモジュールにおける例にあげたサンプルリソースは、シートが占有する空間であり、この空間は一度に１シートが占有してもよい。再構成可能な生産システムの別の例は、例えばコンピュータの部品を組立てるまたはパッケージするためのアセンブリライン及び自動化された分析システム、例えば血液サンプル分析装置などである。これらの異なる生産システムにおいて、ワークユニットは、用紙でも、電子ファイルでも、コンピュータ部品でも、半導体ウェーハでも、血液試料トレイでも、それらの任意の部品または合成物でも、生産システムによって処理されている他の物理的または電子的物品でもよい。搬送機構は、コンベアベルト、ロボットアーム、またはワークユニットを移動する他の任意の装置または機能でもよい。
【０００５】
システムグラフにおける有効なパスに沿った、接続されたモジュールにおいて、ワークユニットと出力及び入力イベントの時間変数とを逐次統合することにより、モジュール能力をシステム能力に構成することができる。例えば、あるモジュールの出口が別のモジュールの入口に接続されている場合、第１のモジュールの出口に対する任意の能力生成ワークユニットは、潜在的に、第２のモジュールの入口からの任意の能力消費ワークユニットに構成することができる。ワークユニットと時間変数を統合することにより、属性及び時間的制約の整合性が保証される。
【０００６】
このようなシステムのスケジューラは、ジョブの流れを受け取り、各ジョブは、システムのある最終出口において生産される一連の所望されるワークユニットで構成される。所望の各ワークユニットは、ワークユニット変数及び属性の制約によって記述される。これを用いて適当なシステム能力が選択される。この適当なシステム能力は、所望のワークユニット変数を、所望の出口に対してワークユニットを生産するシステム能力のワークユニット変数と統合することにより、所望のワークユニットを生産できる。ジョブにおける所望のワークユニットに対するシステム能力が求められると、それらの時間及びリソース制約が制約貯蔵部（コンストレイント・ストア）にポストされ、所望のワークユニットを生産するための種々のモジュール能力に対する時間値を求めるためにこれらの制約が解かれる。選択されたモジュール能力及び時間値がモジュールに送られ、モジュールは対応するオペレーションを指定された時間に実行することができる。
【０００７】
システムコントロールに対するこのアプローチは、実際のプランニング要素を備えず、コントローラが、求めることのできる第１のシステム能力を選択し、その能力をスケジュールする。また、この選択は、ジョブが搬送されるべきフィニッシャなどの出力を特定することを要求する。このような制限は、ある種の生産システム、例えば、同じ種類のジョブに対して代替システム能力をほとんど有さないか、代替システム能力が使用されているフィーダ及びフィニッシャにおいて大部分が異なる、通常のインラインプリンティングシステムにおいては許容できる。
【０００８】
【特許文献１】米国特許第５，６３１，７４０号明細書
【特許文献２】米国特許第５，６９６，８９３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところが、この方法は、多数の代替パラレルシステム能力を備えるシステムには不十分である。例えば、多数の同一または類似したマークエンジンモジュールを備えるプリンティングシステムは、最適な生産性及びロードバランスを実現するために、よりインテリジェントな能力選択を要求する。この選択は、ルール（例えば、すべてのマークエンジンを交替させて最適なロードバランスを試みるためのルール）に基づき、原則的にスケジューリングステップより前に実施できる。しかしながら、プランニングをスケジューリングに統合することが望ましい。この場合、個々の能力の選択は、同時にプランニングされスケジューリングされている他の能力の選択及びタイミングに依存する。
【課題を解決するための手段】
【００１０】
要約すると、本発明の１態様によれば、それぞれが代替能力を有する複数のモジュールを備える再構成可能な生産システムのためのワークフローの自動プランニング及びスケジューリングが可能なシステムを提供する。このシステムは、システムコントローラと、少なくとも１つのプランニング機能と、少なくとも１つのスケジューリング機能と、を含む。
【００１１】
本発明の別の態様によれば、複数のモジュールを有する再構成可能な生産システムのためのワークフローの自動プランニング及びスケジューリング方法を提供する。再構成可能なシステムのモジュールは、種々の能力を有する。この方法は、再構成可能な生産システムのワークフローをプランニングするステップと、種々のモジュールためのワークフローをスケジューリングするステップとを含む。
【００１２】
本発明のさらに別の態様によれば、コンピュータ読取り可能なプログラムコードが埋め込まれたコンピュータ使用可能な媒体の形態である製造物品を提供する。プログラムコードがコンピュータにより実行されると、コンピュータ制御された再構成可能な生産システムのワークフローをプランニング及びスケジューリングするための方法ステップが実行される。これらの方法ステップは、生産システムのためのワークフローをプランニングするステップと、生産システムの複数のモジュールのためのワークフローをスケジューリングするステップと含む。
【発明を実施するための最良の形態】
【００１３】
システムコントローラ内のプランニング及びスケジューリング機能を統合する方法及びシステムが開示される。個々の能力の選択は、同時にプランニングされてスケジュールされた他の能力の選択及びタイミングに依存する。以下の説明においては、本発明の徹底した理解を提供するために多くの特定の詳細を述べる。しかしながら、当業者にはこのような特定の詳細なしで本発明を実施することが明らかである。その他の例では、本発明を不必要に不明瞭化しないために、特定の実施詳細を示していない。
【００１４】
図面を参照すると（その目的はシステム及び方法の実施形態を例示することであり、それらを限定することではない）、図１には、本システムの１実施形態によるプランニング機能とスケジューリング機能を統合するコントローラが示されている。システム１００において、システムコントローラ１１０は、任意の既知のタイプのジョブ入力ソースから、生産されるワークユニットの記述を受け取る。これらの記述は、所望の出力製品の記述に対応する。これらの記述は、製品の属性（または特性）、その属性の値、範囲、または一般的な制約、あるいは生産のタイミングに関する制約（例えば納期）を特定してもよいが、一般にその製品がどのように製造されるかは特定しない。
【００１５】
また、システムコントローラ１１０は、システムの各モジュール１２０から能力モデルをパス１３０に沿って受け取る。能力モデルは、一般にワークユニットの属性及びタイミングについての情報とともに、モジュールがワークユニットをどのように移動し変形させるかについての記述である。モデルは、生産システムの起動時に１度だけシステムコントローラ１１０に送ってもよいし、あるいは、モデルを規則的にあるいは変化が発生した際に更新してもよい。モジュールにおける（よって、モデルにおける）このような変化は、例えば、モジュールの再構成、タイミング値における変化、及びリソース（よって、いくつかの能力）の利用不可能性が考えられる。能力モデルは、例えば、タイミング制約（例えば、能力の実行期間、リソースが占有される時間、またはリソースの確保など）、特性制約（例えば、処理されているワークユニットのサイズに関する制限、ワークユニットの変形、例えば部品の方向の変化または２つの部品の合成など）、及びコマンド（例えば、時間及びおそらくは他の情報と共に、能力に対応するオペレーションの名前または識別）を含む。タイミング及び特性制約は、いつ及びどのように能力をワークユニットに適用できるかを記述する。コマンドは、対応するオペレーションを開始するためにモジュールに送られるコマンドである。
【００１６】
モジュール１２０は、多くの異なるタイプの生産システム、例えば、プリントエンジンの機械モジュールである、フィーダモジュール、マークエンジンモジュール、フィニッシャモジュール、または搬送モジュールを含んでもよい。あるいは、モジュール１２０は、バイオテック（生物工学）スクリーニングシステムの分析モジュールを含んでもよく、このようなシステムは、準備モジュール、加熱モジュール、混合モジュール、分析モジュールまたは搬送ロボットを含んでもよい。製造ラインモジュールは、機械加工モジュール、アセンブリングモジュール、テストモジュール、搬送ロボット、またはパッケージモジュールを含んでもよい。パッケージラインには、ボトル充填モジュールやラベリングモジュールを含んでもよい。システムコントローラ１１０は、所望のワークユニットのスケジュールを検索する際、可能なシステム能力すべてを考慮する。
【００１７】
１つまたはそれ以上のジョブの所望のワークユニットの一部またはすべてをプランニング及びスケジューリングする結果、選択されスケジュールされた能力の集合が得られる。これらの能力が利用可能になると、システムコントローラ１１０は、スケジュールされた能力に対応する指示コマンドをパス１４０に沿ってモジュール１２０に送信する。そして、各モジュールは、特定化されたジョブを完成するためにそのタスクシーケンスを実行する。処理されているワークユニットのパスを示すパス１５０からわかるように、ワークは、次のモジュールに続けて移動する前に、ある特定モジュール１２０内で繰り返し循環してもよいし、あるいは、第３のモジュールに移動する前に複数のモジュール間で繰り返し循環してもよい。ここでは、３つのモジュールのみが示されているが、ジョブの要求の煩雑性に応じて、システムは多数のモジュールを含んでもよい。さらに、モジュールにおいてスケジュールされているワーク及び任意の時点におけるシステムの状態について、オペレータフィードバックのための能力も存在する。
【００１８】
図２は、システムコントローラのオペレーションのプランニング及びスケジューリング方法を示す。この図において、方法ステップは、受信され、プロセスにおける各後続ステップに提供されるデータに関して記載されている。このプロセスにおける２３０、２４０、２５０、２６０の各ステップは、順次（次々に）あるいは同時に実行できる。いずれの場合にも、各ステップは前のステップにより提供されたデータ２２５，２３５，２４５または２５５を消費して、データ２３５，２４５，２５５または２６５を後続ステップのために生成する。このデータの消費及び生成は一般に逐次行われ、この場合、１ステップがデータアイテムを１つずつ処理しているが、リアルタイムソフトウェアの当業者には明らかなようにバッチ単位で処理することもできる。まず、ワークユニット２２５の記述または実行すべきジョブがコントローラに提供される。コントローラは、システムの現在の状況、例えば、どのオペレーションが現在モジュールによって実行されているかなどとともに、利用可能なシステムモジュールのモデル、及び事前にプランニングしてスケジュールすることのできた任意の能力を有する。ステップ２３０において、制御され、指示される各モジュールによって提供された能力モデルにもとづき、コントローラはプランニングされスケジュールされるワークユニットを決定する。これは反復的ステップであり、コントローラは、ジョブ及びそのワークユニットを逐次検討し、次のジョブに対してプランニング及びスケジュールされるこれらのワークユニットを選択する。
【００１９】
選択されたワークユニット２３５はステップ２４０に送られ、ここで、各モジュールに対する能力モデルを考慮して、選択されたワークユニットに対して能力がプランニングされる。このステップを前のステップで選択された各ワークユニットに対して繰り返し、この結果、プランニングされた能力２４５の集合が得られる。プランニングされた能力２４５及びモジュール能力モデルにより、コントローラはステップ２５０において、選択された能力をスケジュールし、スケジュールされた能力２５５の集合を提供する。これらがステップ２６０に提供され、ここで、コントローラはスケジュールされた能力に対応するコマンド２６５を個別のモジュールに送信する。図２からわかるように、２３０，２４０，２５０及び２６０の各ステップは、各ステップにおける選択的な使用のために利用可能な全モデル情報を有する。例えば、ステップ２４０は特性制約にアクセスしてもよく、ステップ２５０はタイミング制約を利用してもよく、ステップ２６０はコマンドを利用してもよい。
【００２０】
図３において、フローチャートにはコントローラのプランニング機能３００が示されている。ステップ３１０において、入力ジョブ記述にもとづき、プランするワークユニットまたはジョブが選択される。そして、コントローラは、ステップ３２０において、そのワークユニットを生産するために必要な能力を決定する。この決定において、コントローラは、可能性あるシステム能力をすべて考慮し、ここから代替能力が選択される。タイミング制約、例えばジョブ内の各タスクに必要な時間など（例えば、搬送オペレーションまたは処理ステップの期間）、リソースが占有される時間（インターバル）に関する制約、このような時間中のリソースの確保（リザベーション）が選択変数によって修正され、ステップ３３０においてコントローラにポストされる。選択変数は、各能力に対して１つずつのブール変数であり、真（ＴＲＵＥ）（能力が選択される）または偽（ＦＡＬＳＥ）（能力が選択されない）のいずれかになる。選択変数は、プランニングステップによって各能力に対して自動的に生成される。
【００２１】
選択変数に関する制約は、例えば、同じ出力に対する複数の代替能力のうちの１つのみが選択できる（すなわち、その選択変数のみが真（ＴＲＵＥ）になり得る）ことを決定する。制約の修正は、制約のタイプに依存する。例えば、リソースの割当てにおける割当て時間は、選択変数によって増加する。これらの制約修正の効果は、リソース割当てなどのある制約が、対応する能力が選択されている場合にのみ有効になることである。そして、ステップ３４０において、コントローラは、選択変数及び共通モジュールに関する制約を制約貯蔵部（メモリ）にポストする。ステップ３５０において、リアルタイム制約及び順序制約（オーダ・コンストレイント）がコントローラにポストされる。
【００２２】
連続するワークユニットの能力間の先行制約においては正確な出力時間を使用しなければならないので、すべての代替能力の出力変数は単一の時間変数に関連付けられ、これが先行制約において使用される。ジョブ制約は、あるジョブに対するリソース及びそのジョブのワークユニットに対して考慮されている能力のすべての可能な出口を確保する。この時点でジョブの一部のみがスケジュールされている場合、選択されたリソースは、無制限に（無制限期間）あるいはそのジョブの期間、確保される。ここで示した一連のステップは、開示された方法の１実施形態例にすぎず、当業者には、他の多くのステップシーケンスによっても同様の結果が得られることが明らかである。
【００２３】
図４には、コントローラのスケジューリング機能４００を示すフローチャートが示されている。まず、コントローラは、スケジュールされる能力を選択する。これらは、プランニングステップによって提供される能力のすべてでもその部分集合でもよい。続いて、ステップ４２０において、コントローラは同じジョブ内のプランされた能力に対する出口リソースを確保する。同じジョブのワークユニットはすべて、同じ最終出口に搬送されるように制約されているので、例えばプリントエンジンにおけるフィニッシャスタックに対応する、その同一最終出口に接続されたリソースは、そのジョブが終了するまで他のジョブによる使用は禁じられる。ステップ４３０において、コントローラは、プランされた能力のタイミング及び選択変数を解く。これは、当業者に周知の多くの制約解法または制約最適化技術を用いて実現できる。最後に、スケジュールにおける選択された能力及び制約貯蔵部における決定した時間変数にもとづき、コマンドがモジュールに送られる。
【００２４】
開示された本発明の方法を例示するコマンドセットの可能な１実施形態は以下のとおりである。
スケジュールＳ及び制約貯蔵部Ｃを初期化する；
ｒｅｐｅａｔ  ｆｏｒｅｖｅｒ  ｄｏ
次のスケジューリングに対して考慮される、許可された出口Ｐｕにおける所望の
ワークユニットｕのシーケンスＵを決定する；
ｆｏｒ  ａｌｌ  Ｕにおけるすべてのワークユニットｕに対し、ｄｏ
能力ｓの集合Ｓｕを、ｕ＝ｓの出力ワークユニットであり、ｓの出口が
Ｐｕにあり、ｓがオフラインリソースを使用しないように決定する；
ＳにＳｕを加える；
Ｃにポストする：選択変数ｂｉを加えた、Ｓｕ中のｓｉのタイミング制約；
Ｃにポストする：１＝ｓｕｍ（Ｓｕ  ｉｎ  ｓｉ）ｂｉ；
Ｃにポストする：ｔｏ＝ｓｕｍ（Ｓｕ  ｉｎ  ｓｉ）ｂｉ  にｓｉの出力時間
を乗算したもの；
Ｃにポストする：Ｓｕ中のｓｉに対するリアルタイム制約；
Ｃにポストする：ｔｏに対する順序制約；
ｅｎｄ  ｆｏｒ
ｆｏｒ  ａｌｌ  上記スケジュールされたジョブｊ及びすべての可能性ある
能力ｓｉｊに対し、ｄｏ  
ｒｉｊ＝ｓｉｊの出口に対するリソース；
ｉｆ  ｊのすべてのワークユニットがスケジュールされている場合ｔｈｅｎ
Ｃにポストする：ジョブｊの期間中の確保ｒｉｊ；
ｅｌｓｅ
Ｃにポストする：ジョブｊの制限内将来における確保ｒｉｊ；
ｅｎｄ  ｉｆ
Ｃにおける未決定の時間変数及び選択変数を解く；
Ｓにおける選択された能力（ｂｉ＝１）及びＣにおける決定した時間変数に
もとづきモジュールにコマンドを送る；
Ｓ及びＣの完成した部品を一掃（クリン・アップ）する；
ｅｎｄ  ｒｅｐｅａｔ
ただし、このシーケンスは可能性のあるコマンドセットを１つのみ提供することに留意すべきである。当業者であれば、個々の指示がその形を変更可能であり、ステップを実行するシーケンスも変更でき、その実施形態のすべてが開示された記載及び請求項の範囲に包含されることが簡単にわかるであろう。
【００２５】
この統合されたプランニング及びスケジューリングのアプローチによれば、別の発見的手法に基づくプランニングアルゴリズムが必要なく、従来のアプローチに対して改良されたロードバランシング及び生産性が得られる。さらに、ここに記載されたシステム及び方法は、構成に依存しているため、このフレームワークにおいてモデル可能な任意の再構成可能な生産システムに対して再使用が簡単である。
【００２６】
この統合されたプランニング及びスケジューリングのアプローチによれば、別の発見的手法に基づくプランニングアルゴリズムが必要なく、従来のアプローチに対して改良されたロードバランシング及び生産性が得られる。さらに、ここに記載されたシステム及び方法は、構成に依存しているため、このフレームワークにおいてモデル可能な任意の再構成可能な生産システムに対して再使用が簡単である。
【図面の簡単な説明】
【００２７】
【図１】本発明の１実施形態によるコントローラを示す図である。
【図２】本発明の１実施形態によるシステムプランニング及びスケジューリングを達成するためのオペレーションの順序付けを詳細に説明するフローチャートである。
【図３】本発明の１実施形態によるシステムプランニング部のオペレーションを詳細に説明するフローチャートである。
【図４】本発明の１実施形態によるシステムスケジューリング部のオペレーションを詳細に説明するフローチャートである。
【符号の説明】
【００２８】
１００  システム、１１０  システムコントローラ、１２０  モジュール、１３０，１４０  パス。
【図１】
2004152293.tif 000003
【図２】
2004152293.tif 000004
【図３】
2004152293.tif 000005
【図４】
2004152293.tif 000006