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