(57)【要約】  【課題】  順次発生するジョブに設定されたタスクを複数の工程処理装置に割り当てるスケジューリングにおいて，演算処理の負荷分散を図り，工程処理装置の台数や機能の変更に柔軟に対応でき，工程処理装置各々の機能を望ましい機能に変更することが可能なこと。  【解決手段】  マスタ装置１と工程処理装置ごとに設けられる複数のスレーブ装置２とを具備し，マスタ装置１でジョブの処理順序を決定し（Ｓ１），その順序に従ってタスク各々について処理要求情報を全てのスレーブ装置２に送信し（Ｓ２），その要求に応じてスレーブ装置２からタスクの処理計画案情報を返信し（Ｓ１１），その情報に基づいてマスタ装置１でタスクを割り当てる工程処理装置を決定し（Ｓ３），決定された前記タスクの割当結果をスレーブ装置２へ通知し（Ｓ４），その通知に基づいてスレーブ装置２が対応する工程処理装置に関するタスク処理計画情報を更新する（Ｓ１３）。【選択図】図２
2006107167.tif 000002
【特許請求の範囲】
【請求項１】
製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数のスレーブ装置と，を具備するスケジューリングシステムであって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定手段と，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求手段と，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信手段と，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当手段と，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知手段と，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新手段と，
を具備してなることを特徴とするスケジューリングシステム。
【請求項２】
前記スレーブ装置において，前記対応する工程処理装置に既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルするよう前記タスク処理計画情報を更新する第１のスレーブ側計画キャンセル手段と，
前記第１のスレーブ側計画キャンセル手段により処理計画がキャンセルされた前記タスクに関するスレーブ側計画キャンセル情報を前記マスタ装置に通知するスレーブ側計画キャンセル通知手段と，
前記マスタ装置において，通知された前記スレーブ側計画キャンセル情報に基づいて前記スレーブ装置側で処理計画がキャンセルされた前記タスク及びこれに連鎖する前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報を更新するマスタ側計画キャンセル手段と，
前記連鎖するタスクの処理計画のキャンセルを要求するキャンセル要求情報を前記マスタ装置から前記スレーブ装置へ送信するキャンセル要求手段と，
前記スレーブ装置において，受信された前記キャンセル要求情報に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新する第２のスレーブ側計画キャンセル手段と，
を具備してなる請求項１に記載のスケジューリングシステム。
【請求項３】
前記ジョブ各々に優先度が設定されており，
前記ジョブ処理順序決定手段が，前記ジョブの発生順序と前記優先度とに基づいて前記ジョブの処理順序を決定してなる請求項１又は２のいずれかに記載のスケジューリングシステム。
【請求項４】
前記処理要求手段が，前記優先度が設定された前記処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信し，
前記処理計画案生成・返信手段が，前記優先度の高い新たな前記タスクを優先処理する前記処理計画案情報の生成及びその前記マスタ装置への返信を行い，
前記第１のスレーブ側計画キャンセル手段が，前記優先処理に対応した前記タスク処理計画更新手段による前記タスク処理計画情報の更新が行われる場合に，前記優先度の低い前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報を更新してなる請求項３に記載のスケジューリングシステム。
【請求項５】
前記スレーブ装置において，前記処理計画案生成・返信手段により生成された前記タスクの前記処理計画案情報にその処理計画案の評価指標を設定する評価指標設定手段を具備し，
前記タスク割当手段が，前記処理計画案情報に設定された前記評価指標に基づいて前記タスクを割り当てる前記工程処理装置を決定してなる請求項１〜４のいずれかに記載のスケジューリングシステム。
【請求項６】
前記評価指標設定手段が，前記対応する工程処理装置における，前記タスクの処理の余裕度，同一の前記ジョブについての前記タスクの連続処理数，処理計画の対象である前記タスクと同種の前記タスクの過去の処理実績件数及び予め設定された前記タスクの種類に応じた選好度のうちの１又は複数に基づいて前記評価指標を設定してなる請求項５に記載のスケジューリングシステム。
【請求項７】
前記工程処理装置各々への過去の前記タスクの割り当て実績件数及び該タスクの種類に関する情報を記憶手段に記録する第１の実績記録手段と，
過去の前記タスクの割り当て実績件数の高い１又は複数の前記工程処理装置各々について，該工程処理装置に対する過去の割り当て実績件数の高い１又は複数の種類の前記タスクのみ処理可能な機能に特化することに関する機能特化情報を出力する機能特化情報出力手段と，
を具備してなる請求項１〜６のいずれかに記載のスケジューリングシステム。
【請求項８】
前記工程処理装置各々への過去の前記タスクの割り当て実績件数と前記処理要求手段による前記処理要求情報の１回の送信に対し前記スレーブ装置から前記タスクを割り当て可能とする前記処理計画案情報の返信が得られなかった過去の実績件数を表す機会損失件数及びそのときの前記タスクの種類とを記憶手段に記録する第２の実績記録手段と，
過去の前記タスクの割り当て実績件数の低い１又は複数の前記工程処理装置各々について，前記機会損失件数が高い１又は複数の種類の前記タスクを処理可能な機能に変更することに関する機能変更情報を出力する機能変更情報出力手段と，
を具備してなる請求項１〜７のいずれかに記載のスケジューリングシステム。
【請求項９】
製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てる情報処理装置であるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数の情報処理装置であるスレーブ装置と，の各々に実行させるためのスケジューリングプログラムであって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，が存在する状況下で，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定ステップと，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求ステップと，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信ステップと，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当ステップと，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知ステップと，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新ステップと，
の各ステップを前記マスタ装置又は前記スレーブ装置に実行させるためのスケジューリングプログラム。
【請求項１０】
製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数のスレーブ装置と，を用いて実行されるスケジューリング方法であって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，が存在する状況下で，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定ステップと，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求ステップと，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信ステップと，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当ステップと，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知ステップと，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新ステップと，
の各ステップを有してなることを特徴とするスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，順次発生するジョブを製造ライン（加工ライン，組み立てライン，化学プロセス，鉄鋼プロセス等）に流す際のジョブの処理計画を作成するスケジューリングシステム，スケジューリングプログラム及びスケジューリング方法に関するものである。
【背景技術】
【０００２】
製造ライン（加工ライン，組み立てライン，化学プロセス，鉄鋼プロセス等）では，その各処理工程をなす処理装置（以下，工程処理装置という）により順次加工や組み立て等の処理が施されて，最終的な製品がアウトプットされる。その際，前記工程処理装置により処理されるべき１又は複数のタスクが設定されたジョブが受注等により順次発生し，そのジョブに設定されたタスクを複数の工程処理装置にどのような順序で割り当てるかを計画するスケジューリングが行われる。ここで，ジョブとは，１つの製品や１つの受注内容の単位を表し，タスクとは，前記工程処理装置による１回分のまとまった処理の単位を表す。
一般に，ジョブごとに，どのような種類のタスクをどのような順序で処理すべきかは予め定められている（ジョブに設定されている）。そして，通常，順次発生するジョブは，その発生順（到着順）に処理されるいわゆるＦＩＦＯ（First In First Out）方式を原則とする。また，ジョブに優先度が設定され，ＦＩＦＯ方式を原則としつつ，優先度の高いジョブが発生した場合は，先着のジョブよりも優先度の高いジョブを先に処理するよう優先させることが必要な場合もある。
このような対象について，従来のスケジューリング手法では，工程処理装置の台数や機能（例えば，加工装置（工程処理装置の一例）が装着している加工工具の種類等）を「制約条件」として予め設定し，ジョブの集合について，そのタスク各々を相互干渉（処理予定の干渉）が生じないように複数の工程処理装置へ割り当てるスケジューリングが行われていた。
【０００３】
ところで，タスクを処理する近年の工程処理装置（加工装置や組み立て装置等）は，多機能化（汎用化）が進んでいる。例えば，加工装置においては，同時に装着できる加工工具の種類を増やしてその自動切り替えを可能とすることによる多機能化に加え，装着する加工工具を交換することにより，その処理機能を変更して様々な種類の加工を可能とする多機能化が図られている。
従来のスケジューリング手法において，このような多機能な工程処理装置を有効活用するスケジューリングを行うためには，前記「制約条件」の設定を変更する必要がある。
ここで，前記「制約条件」の変更が可能ということは，対象とする問題が，前記「制約条件」を満足させる中で最適解を求める（コスト等の評価指標の最小化等）という従来のスケジューリングの問題から，前記「制約条件」の不満足を認めた上で，制約不満足量とコスト等の評価指標の改善度とのトレードオフを検討する問題に変わることになる。これについては，例えば「ラグランジュ緩和法」に基づく手法が知られている。「ラグランジュ緩和法」は，まず制約式にある係数（ラグランジュ乗数）を掛けたものを目的関数に取り込み，その式の最小化（或いは最大化）を行う。さらに，これにより求まった解に対して各制約式におけるズレ（制約違反量）を把握し，そのズレが大きい場合には，ラグランジュ乗数を大きくして，再度，その式の最小化（或いは最大化）を行う，という問題を繰り返し解くことにより，制約式の充足と，目的関数の最小化（或いは最大化）とを同時に達成するものである。
このような最適化手法は，いわば「バッチ式」である。即ち，所定量（所定数）のジョブの集合を設定し，そのジョブの集合について，所定時間先までのスケジュールを決定する手法である。
【０００４】
一方，商品の販売方式として，いわゆるオークション方式が知られている。これは，商品提供者が商品内容を示して落札者を公募し，これに対して利用者が金額を指定した入札を行い，最も高額の入札者にたいして対象商品を落札するというものである。
これに関し，特許文献１には，荷物の輸送を欲する輸送依頼者に，インターネットを介して航空便情報やトラック情報を提供し，オークション方式によって荷物の輸送経路を決定する輸送手段決定方法が示されている。
【特許文献１】特開２００３−２２３５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら，従来の一般的なスケジューリング手法では，工程処理装置の台数や機能等の変動があった場合，その都度，前記「制約条件」を変更して再スケジューリングを行わねばならず操作が煩雑であるという問題点があった。
また，「ラグランジュ緩和法」に基づくスケジューリングのように，前記「バッチ式」の最適化手法によれば，所定量のジョブの集合について，数学的により最適な（例えば，最小コストの）解（タスク処理のスケジュール及び工程処理装置に具備させる機能（加工装置への装着工具等））が得られるものの，非常に演算負荷が高いという問題点があった。さらに，これを不定期に順次発生（到着）するジョブや，割り込み的に発生する優先度の高いジョブ，工程処理装置の故障等が生じる対象に適用すると，高負荷の演算のやり直しが数多く繰り返されることとなり，より演算負荷が高くなるという問題点があった。
一方，ネットワークを利用したオークション方式は，複雑な分散処理手法を用いることなくサーバ側（マスタ側情報処理装置）と複数のクライアント側（スレーブ側情報処理装置）とで処理の負荷分散が可能となり，個々の情報処理装置の負荷を低減できる。
これに対し，特許文献１には，オークション方式を荷物の輸送経路決定問題に適用することが示されているものの，製造ラインに流すジョブのスケジューリングへの適用について，何ら具体的開示はなされていない。
また，スケジューリング問題では，前述したように，優先度の高い後発のジョブを既に決定された処理計画に割り込ませて処理することや，各工程処理装置の機能を望ましい機能に変更することが必要となるが，特許文献１等には，そのような処理に対応する具体的内容は示されていない。
従って，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，順次発生するジョブに設定されたタスクを複数の工程処理装置に割り当てるスケジューリングを行うにあたって，演算処理の負荷分散を図るとともに，工程処理装置の台数や機能の変更に柔軟に対応でき，さらに，工程処理装置各々の機能を望ましい機能に変更するための処理が可能なスケジューリングシステム，スケジューリングプログラム及びスケジューリング方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は，製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数のスレーブ装置と，を具備するスケジューリングシステムであって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定手段と，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求手段と，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信手段と，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当手段と，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知手段と，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新手段と，
を具備してなることを特徴とするスケジューリングシステムとして構成されるものである。
このような自律分散型システムにより，順次発生するジョブに設定されたタスクを複数の工程処理装置に割り当てるスケジューリングを行うにあたって，前記マスタ装置と複数の前記スレーブ装置との各々により，マスタ対スレーブ間の通信を利用して演算処理の負荷分散を図ることができる。また，前記工程処理装置の台数の変更に対しては，前記工程処理装置ごとに設けられる各々独立した前記スレーブ装置を増減するだけで，各装置の処理内容の変更を要することなく柔軟に対応できる。また，前記工程処理装置の機能変更に対しても，その工程処理装置に対応する前記処理機能情報を変更するだけで柔軟に対応できる。
【０００７】
また，前記スレーブ装置において，前記対応する工程処理装置に既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルするよう前記タスク処理計画情報を更新する第１のスレーブ側計画キャンセル手段と，
前記第１のスレーブ側計画キャンセル手段により処理計画がキャンセルされた前記タスクに関するスレーブ側計画キャンセル情報を前記マスタ装置に通知するスレーブ側計画キャンセル通知手段と，
前記マスタ装置において，通知された前記スレーブ側計画キャンセル情報に基づいて前記スレーブ装置側で処理計画がキャンセルされた前記タスク及びこれに連鎖する前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報を更新するマスタ側計画キャンセル手段と，
前記連鎖するタスクの処理計画のキャンセルを要求するキャンセル要求情報を前記マスタ装置から前記スレーブ装置へ送信するキャンセル要求手段と，
前記スレーブ装置において，受信された前記キャンセル要求情報に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新し，そのタスクを含むジョブを「タスク割当未完了」として再度オークション対象とする第２のスレーブ側計画キャンセル手段と，を具備するものが考えられる。
このような構成により，前記工程処理装置における故障等のトラブルや点検のため，既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルする必要が生じた場合でも，自動的に再スケジューリングが行われる。
【０００８】
また，前記ジョブ各々に優先度が設定されており，前記ジョブ処理順序決定手段が，前記ジョブの発生順序と前記優先度とに基づいて前記ジョブの処理順序を決定するものであれば，前記ジョブの発生順序に従うことを基本としつつも，前記優先度の高いジョブが後発的に発生した場合，それを優先する処理が可能となる。
この場合，前記処理要求手段が，前記優先度が設定された前記処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信し，
前記処理計画案生成・返信手段が，前記優先度の高い新たな前記タスクを優先処理する前記処理計画案情報の生成及びその前記マスタ装置への返信を行い，
前記第１のスレーブ側計画キャンセル手段が，前記優先処理に対応した前記タスク処理計画更新手段による前記タスク処理計画情報の更新が行われる場合に，前記優先度の低い前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報を更新するものが考えられる。
これにより，優先度の高いジョブ（タスク）が後から発生した場合に，それを優先処理することによって必要となる優先度の低い前記タスクの処理計画のキャンセルと，そのキャンセルされた前記タスクに連鎖する前記タスクの処理計画のキャンセルと，それらのキャンセルに伴う再スケジューリングとが自動的に行われる。よって，順次発生する前記ジョブの発生順序及び優先度に対応した柔軟なスケジューリングが可能となる。
【０００９】
また，前記スレーブ装置において，前記処理計画案生成・返信手段により生成された前記タスクの前記処理計画案情報にその処理計画案の評価指標を設定する評価指標設定手段を具備し，前記タスク割当手段が，前記処理計画案情報に設定された前記評価指標に基づいて前記タスクを割り当てる前記工程処理装置を決定するものが考えられる。
これにより，前記スレーブ装置各々から返信される複数の前記処理計画案情報のうちいずれを採用するかの決定を行うにあたり，前記マスタ装置で前記工程処理装置各々の細部の状況を把握した評価を一極集中させる場合に比べ，評価演算の負荷を前記スレーブ装置各々に分散することができる。
この場合，前記評価指標設定手段が，前記対応する工程処理装置における，前記タスクの処理の余裕度，同一の前記ジョブについての前記タスクの連続処理数，処理計画の対象である前記タスクと同種の前記タスクの過去の処理実績件数及び予め設定された前記タスクの種類に応じた選好度のうちの１又は複数に基づいて前記評価指標を設定するものが考えられる。
ここで，前記タスクの処理の余裕度の高いものほど評価を上げることにより，前記工程処理装置各々の負荷の平準化につながる。また，同一の前記ジョブについての前記タスクの連続処理数が大きいものほど評価をあげることにより，前記ジョブ（実際には，そのジョブに対応した中間製品）ごとの移動量の削減につながる（一つの工程処理装置で連続処理すれば中間製品の移動が不要となる）。また，同種の前記タスクの過去の処理実績件数が高いものほど評価を上げることにより，その工程処理装置をその種の前記タスクの処理用として特化させることができる。また，予め設定された前記タスクの種類に応じた選好度を指標とすることにより，前記工程処理装置各々に主に処理させたい（或いは，処理させたくない）種類の前記タスクがある場合に，その意図に沿ったスケジューリングがなされるようにすることができる。
【００１０】
また，前記工程処理装置各々への過去の前記タスクの割り当て実績件数及び該タスクの種類に関する情報を記憶手段に記録する第１の実績記録手段と，
過去の前記タスクの割り当て実績件数の高い１又は複数の前記工程処理装置各々について，該工程処理装置に対する過去の割り当て実績件数の高い１又は複数の種類の前記タスクのみ処理可能な機能に特化することに関する機能特化情報を出力する機能特化情報出力手段と，を具備するものが考えられる。
過去の前記タスクの割り当て実績件数の高い前記工程処理装置は，稼働率が十分高いので，その稼働率を抑える方向に調整することが，前記工程処理装置全体の負荷の平準化につながる。
上記構成により，そのように稼働率の高い前記工程処理装置について，過去の割り当て件数の高い種類の前記タスクのみ処理可能な機能に絞る（特化する）ことに関する前記機能特化情報が出力される。その出力内容に従って前記工程処理装置の機能を特化することより，前記工程処理装置全体の負荷の平準化が図れる。さらに，稼働率の高い前記工程処理装置について，備えるべき機能（加工装置における装着工具や，各種工程処理装置における保持すべき原材料，オプション機器等）を絞り込めるので，無駄のない効率的な構成とすることができる。
前記機能特化情報の出力としては，画面出力（表示）やプリントアウト等による利用者への機能特化メッセージ（装着工具の取り外し指示等）の出力や，前記工程処理装置が装着工具の自動取り外し機能を有する加工装置である場合等には，その工程処理装置への機能特化指令（装着工具取り外し指令）の出力等が考えられる。
【００１１】
また，前記工程処理装置各々への過去の前記タスクの割り当て実績件数と前記処理要求手段による前記処理要求情報の１回の送信に対し前記スレーブ装置から前記タスクを割り当て可能とする前記処理計画案情報の返信が得られなかった過去の実績件数を表す機会損失件数及びそのときの前記タスクの種類とを記憶手段に記録する第２の実績記録手段と，
過去の前記タスクの割り当て実績件数の低い１又は複数の前記工程処理装置各々について，前記機会損失件数が高い１又は複数の種類の前記タスクを処理可能な機能に変更することに関する機能変更情報を出力する機能変更情報出力手段と，を具備するものも考えられる。
過去の前記タスクの割り当て実績件数の低い前記工程処理装置は，稼働率が低いので，その稼働率を高める方向に調整することが，前記工程処理装置全体の負荷の平準化につながる。
上記構成により，そのように稼働率の低い前記工程処理装置について，前記タスクを割り当て可能とする前記処理計画案情報の返信が得られなかった過去の実績件数を表す前記機会損失件数が高い種類の前記タスクを処理可能な機能に変更（拡張を含む）することに関する前記機能変更情報が出力される。その出力内容に従って前記工程処理装置の機能を変更することより，過去に稼働率が低かった前記工程処理装置に前記機械損失件数が高かった種類の前記タスクが割り当てられる可能性が高まり，前記工程処理装置全体の負荷の平準化が図れる。
前記機能変更情報の出力も，前記機能特化情報の出力と同様の形態が考えられる。
【００１２】
また，本発明は，前記スケジューリングシステムにおける前記マスタ装置としての情報処理装置，及び前記スレーブ装置としての情報処理装置各々に実行されれるスケジューリングプログラムとして捉えることもできる。
即ち，製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てる情報処理装置であるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数の情報処理装置であるスレーブ装置と，の各々に実行させるためのスケジューリングプログラムであって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，が存在する状況下で，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定ステップと，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求ステップと，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信ステップと，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当ステップと，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知ステップと，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新ステップと，
の各ステップを前記マスタ装置又は前記スレーブ装置に実行させるためのスケジューリングプログラムである。
同様に，本発明は，前記スケジューリングシステムにおける前記マスタ装置及び前記スレーブ装置を用いて実行されれるスケジューリング方法として捉えることもできる。
即ち，製造ラインの各工程を構成する工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数のスレーブ装置と，を用いて実行されるスケジューリング方法であって，
前記工程処理装置各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報を記憶する処理機能記憶手段と，
前記工程処理装置各々に割り当てられる前記タスクについてのタスク処理計画情報を記憶する処理計画記憶手段と，
前記ジョブ各々における前記タスク各々について処理が割り当てられた前記工程処理装置及びその処理計画に関する情報が設定されたジョブ処理計画情報を記憶するジョブ処理計画記憶手段と，が存在する状況下で，
前記マスタ装置において，順次発生する前記ジョブの処理順序を決定するジョブ処理順序決定ステップと，
決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について少なくとも該タスクの種類に関する情報が設定された処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信する処理要求ステップと，
前記スレーブ装置において，受信された前記処理要求情報と前記対応する工程処理装置に関する前記処理機能情報及び前記タスク処理計画情報とに基づいて該工程処理装置に処理を要求された前記タスクを割り当て可能な場合の該タスクの処理計画案情報を生成し，これを前記マスタ装置へ返信する処理計画案生成・返信ステップと，
前記マスタ装置において，受信された前記処理計画案情報各々に基づいて前記タスクを割り当てる前記工程処理装置を決定して前記ジョブ処理計画情報を更新するタスク割当ステップと，
決定された前記タスクの割当結果を前記マスタ装置から前記スレーブ装置へ通知する割当結果通知ステップと，
前記スレーブ装置において，前記タスクの割当結果の通知に基づいて前記対応する工程処理装置に関する前記タスク処理計画情報を更新するタスク処理計画更新ステップと，
の各ステップを有してなることを特徴とするスケジューリング方法である。
【発明の効果】
【００１３】
本発明によれば，工程処理装置により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の工程処理装置のいずれかに割り当てるマスタ装置と，前記工程処理装置ごとに前記マスタ装置と通信可能に設けられ対応する前記工程処理装置における前記タスクの処理計画を管理する複数のスレーブ装置とを具備し，前記マスタ装置において，順次発生する前記ジョブの処理順序を決定し，決定された前記ジョブの処理順序及び該ジョブ各々における前記タスクの既定の処理順序に従って，順次前記タスク各々について処理要求情報を全ての前記スレーブ装置に送信し，その要求に応じて前記スレーブ装置から前記タスクの処理計画案情報を返信し，その情報に基づいて前記マスタ装置において前記タスクを割り当てる前記工程処理装置を決定し，決定された前記タスクの割当結果を前記スレーブ装置へ通知し，その通知に基づいて前記スレーブ装置が対応する工程処理装置に関するタスク処理計画情報を更新することにより，前記マスタ装置と複数の前記スレーブ装置との各々によって演算処理の負荷分散を図ることができる。さらに，このような自律分散型のスケジューリングシステムにより，前記工程処理装置の台数の変更や機能変更に対して柔軟に対応できる。
また，前記スレーブ装置において，既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルし，そのスレーブ側計画キャンセル情報を前記マスタ装置に通知し，該通知に対応する前記タスク及びこれに連鎖する前記タスクの処理計画をキャンセルするよう前記マスタ装置側でジョブ処理計画情報を更新し，さらに，前記連鎖するタスクの処理計画のキャンセルを前記スレーブ装置側へ要求して処理計画をキャンセルさせることにより，前記工程処理装置における故障等のトラブルや点検のため，既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルする必要が生じた場合でも，自動的に再スケジューリングが行われる。よって，制約条件の変更設定等の手間が生じない。
【００１４】
また，前記ジョブ各々に優先度が設定されており，前記ジョブの発生順序と前記優先度とに基づいて前記ジョブの処理順序を決定するものであれば，前記ジョブの発生順序に従うことを基本としつつも，前記優先度の高いジョブが後発的に発生した場合，それを優先する処理が可能となる。
この場合，前記優先度が設定された前記処理要求情報を前記マスタ装置から全ての前記スレーブ装置に送信し，前記優先度の高い新たな前記タスクを優先処理する前記処理計画案情報の生成及びその前記マスタ装置への返信を行い，前記優先処理に対応した前記タスク処理計画情報の更新が行われる場合に，前記優先度の低い前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報を更新すれば，優先度の高い後発ジョブ（タスク）を優先処理することによって必要となる優先度の低い前記タスクの処理計画のキャンセルと，そのキャンセルされた前記タスクに連鎖する前記タスクの処理計画のキャンセルと，それらのキャンセルに伴う再スケジューリングとが自動的に行われる。よって，順次発生する前記ジョブの発生順序及び優先度に対応した柔軟なスケジューリングが可能となる。
また，前記スレーブ装置において，生成された前記タスクの前記処理計画案情報にその処理計画案の評価指標を設定し，前記処理計画案情報に設定された前記評価指標に基づいて前記タスクを割り当てる前記工程処理装置を決定すれば，複数の前記処理計画案情報のうちいずれを採用するかの決定を行うにあたり，前記マスタ装置で前記工程処理装置各々の細部の状況を把握した評価を一極集中させる場合に比べ，評価演算の負荷を前記スレーブ装置各々に分散することができる。
【００１５】
また，前記工程処理装置各々への過去の前記タスクの割り当て実績件数及び該タスクの種類に関する情報を記憶手段に記録し，過去の前記タスクの割り当て実績件数の高い１又は複数の前記工程処理装置各々について，該工程処理装置に対する過去の割り当て実績件数の高い１又は複数の種類の前記タスクのみ処理可能な機能に特化することに関する機能特化情報を出力するものであれば，前記機能特化情報の出力内容に従って前記工程処理装置の機能を特化することより，前記工程処理装置全体の負荷の平準化が図れる。さらに，稼働率の高い前記工程処理装置について，備えるべき機能（加工装置における装着工具や，各種工程処理装置における保持すべき原材料，オプション機器等）を絞り込めるので，無駄のない効率的な構成とすることができる。さらに，本構成及び次に示す構成により，スケジューリング問題と，前記工程処理装置の機能の適正化問題とを同時に解くシステムを構成できる。
また，前記工程処理装置各々への過去の前記タスクの割り当て実績件数と前記処理要求手段による前記処理要求情報の１回の送信に対し前記スレーブ装置から前記タスクを割り当て可能とする前記処理計画案情報の返信が得られなかった過去の実績件数を表す機会損失件数及びそのときの前記タスクの種類とを記憶手段に記録し，過去の前記タスクの割り当て実績件数の低い１又は複数の前記工程処理装置各々について，前記機会損失件数が高い１又は複数の種類の前記タスクを処理可能な機能に変更することに関する機能変更情報を出力するものであれば，前記機能変更情報の出力内容に従って前記工程処理装置の機能を変更することより，過去に稼働率が低かった前記工程処理装置に前記機械損失件数が高かった種類の前記タスクが割り当てられる可能性が高まり，前記工程処理装置全体の負荷の平準化が図れる。
【発明を実施するための最良の形態】
【００１６】
以下添付図面を参照しながら，本発明の実施の形態について説明し，本発明の理解に供する。尚，以下の実施の形態は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施形態に係るスケジューリングシステムＸ及びそれが適用される製造ラインＹの概略構成を表すブロック図，図２はスケジューリングシステムＸにおけるスケジューリング処理の手順を表すフロー図，図３はスケジューリングシステムＸにおけるジョブ処理順序の決定の様子を表す模式図，図４はスケジューリングシステムＸを構成するスレーブ装置におけるタスクの処理計画案情報の生成の様子を表す模式図，図５はスケジューリングシステムＸにおける処理計画案生成・返信処理の手順を表すフローチャート，図６はスケジューリングシステムＸにおけるジョブ処理計画情報の構成例を表す概略図，図７はスケジューリングシステムＸにおける優先度の高い新たなタスクを優先処理する際のタスク処理計画情報の更新の様子を表す模式図，図８はスケジューリングシステムＸにおける工作機械の機能最適化処理の手順を表すフローチャート，図９はスケジューリングシステムＸによる工作機械の機能の最適化処理のシミュレーションの結果である工作機械各々のタスク処理の分担率の変遷を表すグラフ，図１０はスケジューリングシステムＸによる工作機械の機能の最適化処理のシミュレーションの結果である工作機械各々の装着工具の数の変遷を表すグラフである。
【００１７】
まず，図１のブロック図を用いて，本発明の実施形態に係るスケジューリングシステムＸ及びそれが適用される製造ラインＹの構成について説明する。
スケジューリングシステムＸは，製造ラインＹの各工程を構成する工作機械１２（前記工程処理装置の一例）により処理されるべき１又は複数のタスクが設定され順次発生するジョブについて，前記タスク各々を複数の前記工作機械１２のいずれかに割り当てるマスタ装置１と，前記工作機械１２ごとに前記マスタ装置１とネットワーク３を介して通信可能に設けられ，対応する前記工作機械１２における前記タスクの処理計画を管理する複数のスレーブ装置２とを具備する。前記ネットワーク３は，前記マスタ装置１と，複数の前記スレーブ装置２各々との間で１対多の通信を可能とするものである。以下，前記スレーブ装置２各々について，それに対応する前記工作機械１２のことを，担当装置１２ということとする。
また，前記マスタ装置１及び前記スレーブ装置２各々の構成は図示していないが，演算手段であるＣＰＵ，及び該ＣＰＵにより実行されるプログラムや，各種データが格納されるハードディスク等の記憶手段，前記ネットワーク３を介した通信制御を行うネットワークインターフェース，ＣＲＴや液晶パネル等の情報を表示する表示手段及びキーボードやマウス等の情報の入力手段等を具備するパーソナルコンピュータ等の情報処理装置である。
ここで，前記ジョブとは，受注或いは生産指示に対応する製品の加工や組み立て等に関する情報の集合を表し，前記マスタ装置１に対し，例えば，前記ネットワーク３を介して他の情報処理装置から，或いは前記マスタ装置１が備える入力手段等から発生順に順次入力されるものである。そして，前記ジョブには，複数の前記タスク及びその処理順序が予め設定されている。
【００１８】
一方，前記ジョブの実体（材料や部品等）は，前記製造ラインＹに受け入れ，そのラインを流れることとなるが，このジョブの実体そのものについては，前記ジョブ（情報）と区別して，以下，実体ジョブと呼ぶこととする。
前記製造ラインＹは，前記実体ジョブを受け入れヤード１１に受け入れ，該受け入れヤード１１で処理待ち状態となり，前記スケジューリングシステムＸにより決定される処理計画に従って，搬送ライン１４により前記工作機械１２に搬送され，予定された全ての処理（前記工作機械１２による処理）が終了すると，前記搬送ライン１４により前記製造ラインＹから搬出される。また，前記工作機械１２各々には，前記実体ジョブを受け入れて処理待ち状態とさせるためのバッファ１３が設けられている。前記工作機械１２各々は，前記バッファ１３の容量を超える数の前記実体ジョブを受け入れることはできないという制約があるとする。
【００１９】
また，前記スケジューリングシステムＸには，前記工作機械１２（工程処理装置）各々が処理可能な前記タスクの種類に関する情報を有する処理機能情報ｄ１と，前記工作機械１２（工程処理装置）各々に割り当てられる前記タスクについてのタスク処理計画情報ｄ２とを記憶するハードディスク等の工程データ記憶部２ａが，前記スレーブ装置２各々に設けられている（前記処理機能記憶手段及び前記処理計画記憶手段の一例）。
前記工程データ記憶部２ａ各々には，それを具備する前記スレーブ装置２の前記担当装置１２についての前記処理機能情報ｄ１及び前記タスク処理計画情報ｄ２のみが記憶される。
これ以外にも，例えば，前記ネットワーク３等を介して通信可能な前記マスタ装置１や他の情報処理装置の記憶手段に，前記処理機能情報ｄ１及び前記タスク処理計画情報ｄ２に関するデータベースを設ける等，前記スレーブ装置２各々から，当該スレーブ装置２が管理する前記工作機械１２に関する前記処理機能情報ｄ１及び前記タスク処理計画情報ｄ２へのアクセスが可能な構成であれば，他の構成でもかまわない。
そして，前記処理機能情報ｄ１には，前記担当装置１２が処理可能な１又は複数の前記タスクの種類を表すタスク種類情報と，該タスク種類情報ごとにそのタスクを前記担当装置１２により処理した場合に要する時間（所要時間）と，前記バッファ１３に留めることが可能な前記実体ジョブの上限数（以下，バッファ上限数という）とが予め設定されている。
また，前記タスク処理計画情報ｄ２は，前記スレーブ装置２により随時自動設定されるものであり，処理を予定している前記タスクごとに，その種類を表す前記タスク種類情報と，そのタスクが属する前記ジョブの識別情報（以下，ジョブＩＤという）と，そのタスクの処理の開始時刻及び終了時刻とが設定される。
さらに，前記スケジューリングシステムＸには，前記ジョブ各々における前記タスク各々について，処理が割り当てられた前記工作機械１２（工程処理装置）及びその処理計画に関する情報が設定されたジョブ処理計画情報ｄ３を記憶するハードディスク等のジョブ処理データ記憶部１ａが，前記マスタ装置１に設けられている（前記ジョブ処理計画記憶手段の一例）。
このジョブ処理データ記憶部１ａについても，前記工程データ記憶部２ａと同様に，前記マスタ装置１からアクセス可能な他の構成としてもかまわない。
【００２０】
（スケジューリング処理）
次に，図２のフロー図を用いて，前記スケジューリングシステムＸのスケジューリング処理の手順について説明する。以下，Ｓ１，Ｓ２，…は，処理手順（ステップ）の識別符号を表す。以下に示す各処理は，前記マスタ装置１及び前記スレーブ装置２が，その各々に予めインストールされたスケジューリングプログラムを実行することにより具現される。ここで，前記マスタ装置１が実行するプログラムと前記スレーブ装置２が実行するプログラムとは異なるものであるが，前記スレーブ装置２各々が実行するプログラムは同じものである。
【００２１】
＜ステップＳ１：ジョブ処理順序決定＞
まず，前記マスタ装置１において，順次発生する前記ジョブの処理順序が，前記ジョブの待ち行列として決定される（Ｓ１，前記ジョブ処理順序決定手段の処理に相当）。
本処理では，原則として，前記ジョブの発生順（先着順）に従って処理順序が決定される。但し，前記ジョブ各々には優先度が設定されており，この優先度が，先着の前記ジョブよりも高い前記優先度が設定されている場合には，その優先度の高いジョブの処理が優先され，処理順序の入れ替えが行われる（前記ジョブ処理順序決定手段の処理の一例）。
図３は，ステップＳ１における前記ジョブの処理順序の決定（待ち行列の決定）の様子を模式的に表したものである。なお，ここでは，前記優先度ｄ３１は，その値が大きいものほどより優先されるべきものであることを表すものとする。
まず，前記優先度ｄ３１が「１」の前記ジョブ（ジョブ１）が発生（到着）（図３（ａ））した後，続いて同じく前記優先度ｄ３１が「１」の前記ジョブ（ジョブ２）が発生すると，後着の前記ジョブ（ジョブ２）は，先着の前記ジョブ（ジョブ１）の後ろに順序づけられて待ち行列が生成される（図３（ｂ））。
次に，前記優先度ｄ３１が「２」の前記ジョブ（ジョブ３）が発生すると，先着の前記ジョブ各々（ジョブ１，ジョブ２）と前記優先度ｄ３１の比較がなされ，前記優先度ｄ３１が高い３番目に到着した前記ジョブ（ジョブ３）が待ち行列の先頭に配置され，先着の２つの前記ジョブ（ジョブ１，ジョブ２）の処理順序が各々繰り下げられる（図３（ｃ））。
【００２２】
＜ステップＳ２：処理要求＞
次に，ステップＳ１で決定された前記ジョブの処理順序と，前記ジョブ各々において予め設定された前記タスクの処理順序（既定の処理順序）とに従って，順次前記タスク各々についてその処理を要求する処理要求情報が，前記マスタ装置１から全ての前記スレーブ装置２に対し，ブロードキャスト送信等により前記ネットワーク３を介して送信される（Ｓ２，前記処理要求手段の処理の一例）。
この処理は，ネットワークを利用したオークション方式の購買システムにおける「公募」に対応するものと観念できるものである。
ここで，前記処理要求情報には，処理を要求する前記タスクの種類を表すタスク種類情報と，そのタスクの属する前記ジョブの前記ジョブＩＤと，そのタスクの前記優先度と，そのタスクの最先処理開始時刻Ｔ1とが設定され，全ての前記スレーブ装置２に送信される。
ここで，前記最先処理開始時刻Ｔ1とは，その時刻以降に処理が開始されるべき旨（その時刻より前には処理を開始できない旨）を表すものである。即ち，前記ジョブ各々について既定の処理順序が設定された前記タスクは，先の前記タスクの処理が終了しないと，次の前記タスクの処理を行えない。よって，前記最先処理開始時刻Ｔ1には，１つ前に処理される前記タスクの処理計画が既に決定されている場合に，その処理終了時刻又はその時刻に既定の段取り替え時間等が加えられた時刻が設定される。
また，本実施形態では，前記処理要求情報は，まず，１つの前記ジョブに設定されている全ての前記タスクについて一括して送信され，以後，先に処理されるべき前記タスクの処理計画が決定されるごとに，処理計画が未決定の残りの前記タスクについて一括して送信される。
その際，当該ジョブに設定された前記タスクのいずれについても処理計画が未決定の場合は，前記処理要求情報には，前記最先処理開始時刻Ｔ1として，現在時刻に所定の余裕時間を加えた時刻が設定される。また，先に処理されるべき一部の前記タスクの処理計画が決定済みである場合は，前記最先処理開始時刻Ｔ1として，処理計画が決定済みの最後の前記タスクの処理終了時刻又はその時刻に既定の前記段取り替え時間等が加えられた時刻が設定される。
【００２３】
＜ステップＳ１１：処理計画案生成・返信＞
一方，前記スレーブ装置２各々においては，前記マスタ装置１から受信した前記処理要求情報と，前記担当装置１２（対応する工程処理装置）に関する前記処理機能情報ｄ１及び前記タスク処理計画情報ｄ２とに基づいて，前記担当装置１２に対して処理を要求された前記タスク（以下，要求タスクという）を割り当て可能か否かが判別される。さらに，割り当て可能と判別された場合，その要求タスクの処理計画（案）情報が生成され，これが前記ネットワーク３を介して前記マスタ装置１へ返信される（Ｓ１１，前記処理計画案生成・返信手段の一例）。
この処理は，ネットワークを利用したオークション方式の購買システムにおける「公募」に対する「入札」に対応するものと観念できるものである。
このステップＳ１１の処理計画案生成・返信処理を，図５に示すフローチャートと，図４に示す模式図を用いて説明する。
図４は，前記スレーブ装置２における前記処理計画（案）情報の生成の様子を模式的に表したものである。
ここでは，図４（ａ）に示すように，既に２つの前記タスクＴｓ１，Ｔｓ２各々について，開始時刻と終了時刻とが設定された前記タスク処理計画情報ｄ２が前記工程データ記憶部２ａに記憶されている（即ち，前記タスクＴｓ１，Ｔｓ２が割り当てられている）ものとする。図４（ａ）に示す例では，前記タスクＴｓ１及びＴｓ２相互間の空き時間（タスクＴｓ１の終了時刻からタスクＴｓ２の開始時刻までの時間間隔）がτである。
さらに，図４には示していないが，前記タスク処理計画情報ｄ２には，既に割り当てられている前記タスク（以下，既割当タスクという）各々の前記優先度，その既割当タスクが属する前記ジョブの前記ジョブＩＤ，及びその既割当タスクが属する前記ジョブの数，即ち，前記バッファ１３に滞留し得る前記実体ジョブの数（以下，ジョブ受入数という）が設定されている。従って，前記既割当タスクが複数であっても，それらの属する前記ジョブ（前記ジョブＩＤ）が共通する場合は，前記ジョブ受入数は１つとなる。該ジョブ受入数は，前記タスク処理計画情報ｄ２における前記タスクの割り当て内容が変更されるごとに前記スレーブ装置２によって更新される。
【００２４】
前記スレーブ装置２は，前記マスタ装置１からの前記処理要求情報の受信有無を監視し（Ｓ２１），前記処理要求情報の受信があった場合は，前記処理要求情報に設定された先頭の前記要求タスクから順に，その前記タスク種類情報が，前記処理機構情報ｄ１に含まれるか否かをチェックすることにより，前記要求タスクが前記担当装置１２により処理可能なものであるか否かを判別する（Ｓ２２）。
ここで，先頭の或いは先頭から連続する複数の前記要求タスクについて，前記担当装置１２により処理可能であると判別された場合は，前記スレーブ装置２は，前記要求タスクと前記既割当タスク各々との前記優先度を比較し（Ｓ２３），前記要求タスクの前記優先度が，全ての前記既割当タスクの前記優先度以下である場合は，ステップＳ２５〜Ｓ２７の処理へ移行し，前記既割当タスクを優先した（前記既割当タスクの処理計画を残したままで）前記処理計画（案）情報が生成される。以下，前記担当装置１２により処理可能と判別された先頭の或いは先頭から連続する複数の前記要求タスクのことを，処理可能要求タスク集合という。
【００２５】
（処理計画案生成：要求タスクの優先度が既割当タスクの優先度より高い場合）
この場合，前記スレーブ装置２は，前記タスク処理計画情報ｄ２における前記ジョブ受入数が，前記処理機能情報ｄ１における前記バッファ上限数と等しいか否かをチェックし（Ｓ２５），等しい場合には，割当不能（処理不可能）と判別してステップＳ２８へ移行する。
一方，前記ジョブ受入数が前記バッファ上限数未満である場合，即ち，割当可能と判別した場合は，前記スレーブ装置２は，前記処理要求情報に設定された前記要求タスク各々の前記タスク種類情報をキーとして前記処理機能情報ｄ１を検索し，前記処理可能要求タスク集合に含まれる前記要求タスク各々を前記担当装置１２で処理した場合に要する時間ｔｘ（以下，所要時間ｔｘという）を取得する（Ｓ２７）。
さらに，前記スレーブ装置２により，前記処理可能要求タスク集合に含まれる先頭から１又は複数の前記要求タスクについて，前記担当装置１２による処理計画（案）情報の生成処理が行われる（Ｓ２８）。
【００２６】
本処理（Ｓ２８）では，前記最先処理開始時刻Ｔ1以降の時刻において，前記処理可能要求タスク集合のうちの先頭の前記要求タスクの前記所要時間ｔｘの処理を，前記タスク処理計画情報ｄ２における空き時間帯（前記タスク各々の処理時間帯以外の時間帯）に挿入できるか否かをチャックし，挿入可能な最も早い（前記最先処理開始時刻Ｔ1に近い）空き時間帯に挿入した場合の前記処理計画（案）情報を生成する。一方，挿入できない場合は，末尾の前記既割当タスクの処理終了時刻の直後に，前記要求タスクを割り当てた前記処理計画（案）情報を生成する。
より具体的には，前記要求タスクを挿入する位置或いは末尾の直前に処理される前記タスクの処理の終了時刻又はそれに既定の段取り変更時間等を加えた時刻を前記要求タスクの処理開始時刻の案とし，その時刻に前記所要時間ｔｘを加えた時刻を前記要求タスクの処理終了時刻の案とする。
図４（ｂ）は，前記要求タスクの前記所要時間ｔｘが，図４（ａ）に示した前記タスク処理計画情報ｄ２における前記タスクＴｓ１及びＴｓ２の間の空き時間τよりも短い場合（挿入可能な場合）の例を表している。
また，図４（ｃ）は，前記要求タスクの前記所要時間ｔｘが，前記空き時間τよりも長い（挿入不可能）ため，末尾の前記既割当タスクＴｓ２の処理終了時刻の直後に前記要求タスクを割り当てたの例を表している。
ここで，前記処理可能要求タスク集合のうちの先頭の前記要求タスクの挿入が可能な場合は，可能な限り後続する前記要求タスクについても連続して割り当てる（挿入する）。また，先頭の前記要求タスクを前記既割当タスクの末尾に割り当てる場合は，前記処理可能要求タスク集合の全てを連続して末尾に割り当てる。
以上のようにして，前記スレーブ装置２により，割り当てがなされた前記要求タスク（前記処理可能要求タスクの先頭から１又は複数の前記要求タスク）についての処理開始時刻の案及び処理終了時刻の案（或いは，処理終了時刻の案のみ）が前記処理計画（案）情報として生成されると，後述するステップＳ２８へ移行する。
なお，前記スレーブ装置２においては，前記担当装置１２（対応する工程処理装置（工作機械１２））が，前記タスク処理計画情報ｄ２に従って前記タスクの処理を処理中であるか否か，及び終了したか否かが監視され，処理中及び処理が終了した前記既割当タスクに関する情報を前記タスク処理計画情報ｄ２から除外する計画進捗監視処理が実行される。本処理では，例えば，前記担当装置１２から前記タスクの処理中及び処理終了の旨の信号を受信することや，現在時刻が前記タスク処理計画情報における前記既割当タスクの処理開始時刻及び処理終了時刻各々を経過したことにより，前記タスクの処理中及び処理終了各々を検知することが考えられる。
これにより，処理中の前記タスクの処理がキャンセルされることはない。
【００２７】
（処理計画案生成：要求タスクの優先度が既割当タスクの優先度より高い場合）
一方，前記要求タスクの前記優先度が，１又は複数の前記既割当タスクの前記優先度より高い場合は，その要求タスク（新たなタスク）を優先した前記処理計画（案）情報が生成される（前記処理計画案生成・返信手段の処理計画案生成処理の一例）。
この場合，前記スレーブ装置２は，まず，前記タスク処理計画情報ｄ２における前記要求タスクよりも前記優先度が低い前記既割当タスクは存在しないものと仮定して（暫定的に前記優先度の低いタスクの割り当てを除いた上で）（Ｓ２４），前述の「要求タスクの優先度が既割当タスクの優先度以下の場合」と同様にステップＳ２５〜Ｓ２７の処理を行う。ここで，前記ジョブ受入数についても，前記要求タスクよりも前記優先度が低い前記既割当タスクに対応するジョブ数を減算した値を用いるので，これが前記バッファ上限数と等しいために割当不能と判別（ステップＳ２５のＹ側）される場合はない。
以上のようにして，可能な範囲で，前記要求タスク各々の前記処理計画（案）情報，即ち，前記要求タスクの処理開始時刻の案と処理終了時刻の案の情報が生成されると，前記担当装置１２の処理機能及び前記バッファの余裕状況（前記バッファ上限数と前記ジョブ受入数との差）によっては，同一の前記ジョブについての連続する前記要求タスクが前記担当装置１２に割り当てられる案が生成されることになる。
また，１回の前記処理要求情報の受信に対しては，その前記要求タスクのいずれも割り当てがなされない（前記処理計画（案）が生成されない）か，或いは先頭の前記要求タスクのみ若しくはそれに続くものを含めた複数の前記要求タスクが連続して割り当てがなされるかのいずれかとなる。即ち，２番目以降の前記要求タスクのみの割り当てがなされたり，非連続の前記要求タスクの割り当て（例えば，１番目と３番目の前記要求タスクのみのが割り当てられたりすることはない。
【００２８】
（評価指標の計算）
以上のようにして，割り当て可能な前記要求タスクについての前記処理計画（案）情報が生成されると，さらに，前記スレーブ装置２により，生成された前記要求タスクの前記処理計画（案）情報にその処理計画案の評価指標の設定が行われる（Ｓ２８，前記評価指標設定手段の処理の一例）。
この処理は，ネットワークを利用したオークション方式の購買システムにおける「入札金額（コスト）」の計算に対応するものと観念できるものである。
本ステップＳ２８の処理では，例えば，前記担当装置１２（対応する工程処理装置）における，前記タスクの処理の余裕度を表す前記バッファ１３の余裕度，同一の前記ジョブについての前記タスクの連続処理数，処理計画の対象である前記タスクと同種の前記タスクの過去の処理実績件数及び前記担当装置１２に予め設定された前記タスクの種類（前記タスク種類情報）に応じた選好度等（そのうちの１又は複数）に基づいて前記評価指標を設定する。後述するように，前記マスタ装置１において，前記評価指標の値が最も大きい（評価が高い）前記処理計画（案）情報が採用され，処理計画が決定される。
【００２９】
例えば，前記バッファ１３の余裕度については，前記バッファ上限数と前記ジョブ受入数との差により求めることができ，その値が大きいほど評価値が大きくなる関数やテーブルを用いることが考えられる。これにより，余裕度の高い（稼働率の低い）前記工作機械１２により優先的に前記要求タスクが割り当てられ，前記工作機械１２各々の負荷の平準化につながる。
また，同一の前記ジョブについての前記タスクの連続処理数が大きいものほど評価をあげることにより，前記実体ジョブ（中間製品等）ごとの移動量の削減につながり（一つの前記工作機械１２で連続処理すれば中間製品（実体ジョブ）の移動が不要となり），生産効率が高まる。
また，同種の前記タスクの過去の処理実績件数が高いものほど評価を上げることにより，前記担当装置１２をその種の前記タスクの処理用として特化させることができる。
ここで，同種タスクの過去の処理実績件数は，前記担当装置１２（工作機械１２）が前記タスクを処理した旨の信号を前記担当装置１２から入力するごとに，或いは，前記タスク処理計画情報ｄ２に設定された前記タスクの処理終了時刻を経過するごとに，そのタスクの前記タスク種類情報に対応付けたカウンタ変数をカウントアップして前記工程データ記憶部２ａに記憶させる等により記録すればよい。
また，予め設定された前記タスクの種類に応じた選好度を指標とすることにより，前記担当装置１２（前記工作機械１２各々）に主に処理させたい種類の前記タスクや前記ジョブに関する前記要求タスクの処理計画の評価値を高く，処理させたくない種類の前記タスク等に関する処理計画の評価値を低くすることができる。これにより，前記選好度の設定者の意図に沿ったスケジューリング（タスク割り当て）がなされるようにすることができる。
これら複数の指標を用いる場合，各指標値を合成した値を前記評価指標とする。例えば，合計，平均値，加重平均値をとること等が考えられる。
【００３０】
以上のようにして，前記評価指標が設定された前記要求タスクの前記処理計画（案）情報（前記要求タスクの処理開始時刻の案と処理終了時刻の案の情報）が生成されると，これが前記スレーブ装置２によって前記ネットワーク３を介して前記マスタ装置１へ返信される（Ｓ２９，前記処理計画案生成・返信手段の返信処理の一例）。
一方，ステップＳ２２において，前記処理要求情報における先頭の前記要求タスクについて，前記担当装置１２により処理不可能（割当不能）であると判別された場合，或いは，ステップＳ２５において，前記タスク処理計画情報ｄ２における前記ジョブ受入数が，前記処理機能情報ｄ１における前記バッファ上限数と等しいため処理不可能と判別された場合は，割当不能の旨の通知が前記スレーブ装置２によって前記マスタ装置１へ返信される（Ｓ２９）。
そして，ステップＳ２１へ移行し，次の前記処理要求情報の受信監視状態となって前述した処理が繰り返される。
以上が，ステップＳ１１（図２）の処理計画案生成・返信処理の一例である。
【００３１】
＜ステップＳ３：タスク割当＞
一方，前記マスタ装置１においては，前記スレーブ装置２各々から受信した前記処理計画（案）情報各々に基づいて，前記タスク（前記要求タスク）を割り当てる前記工作機械１２（工程処理装置）を決定し，前記ジョブ処理データ記憶部１ａに記憶される前記ジョブ処理計画情報ｄ３を更新する（Ｓ３，前記タスク割当手段の処理の一例）。
この処理は，ネットワークを利用したオークション方式の購買システムにおける「入札」に対する「落札」に対応するものと観念できるものである。
ここでは，前記スレーブ装置２各々からの前記処理計画（案）情報各々に設定された前記評価指標の値が最も高いものを採用し，採用した前記処理計画（案）情報（前記要求タスク，その処理開始時刻及び処理終了時刻の案）に従って，その送信元の前記スレーブ装置２に対応する前記担当装置１２に前記要求タスクを割り当てる。
図６は，前記ジョブ処理計画情報ｄ３の構成例を示す概略図である。
図６に示すように，前記ジョブ処理計画情報ｄ３には，待ち行列に含められた前記ジョブ各々に関連付けて，前記ジョブＩＤｄ３０，前記優先度ｄ３１及び状態ｄ３２が設定される。ここで，状態ｄ３２には，前記マスタ装置１により，当該ジョブに設定されている全ての前記タスクについて前記工作機械１２への処理の割り当てがなされている（決定されている）場合に「決定済」が設定され，その他の場合には「未決定」が設定される。
さらに，前記ジョブ処理計画情報ｄ３には，前記タスクごとに，前記タスク種類情報ｄ３３，割当装置ｄ３４，開始時刻ｄ３５及び終了時刻ｄ３６が設定される。
前記割当装置ｄ３４には，前記マスタ装置１により，当該タスクの処理が割り当てられた前記工作機械１２（工程処理装置）の識別情報が設定される。また，未だ割り当てがなされていない場合には「未割当」（初期値）が設定される。前記工作機械１２の識別情報は，前記スレーブ装置２により前記処理計画（案）情報に設定されるものである。
前記評価指標に基づいて採用する前記処理計画（案）情報が決定されると，その処理計画（案）情報に設定されている前記工作機械１２の識別情報，前記処理開始時刻及び前記処理終了時刻の案が，各々前記割当装置ｄ３４，前記開始時刻ｄ３５及び前記終了時刻ｄ３６に決定情報として設定（更新）される。これにより，前記工作機械１２に前記要求タスクが割り当てられる。
【００３２】
＜ステップＳ４：割当結果通知＞
さらに，前記マスタ装置１においては，割り当てが決定された前記タスクの割当結果を，当該マスタ装置１から前記スレーブ装置２へ通知する（前記割当結果通知手段の処理の一例）。本通知は，ブロードキャスト送信により全ての前記スレーブ装置２に通知し，前記スレーブ装置２側において，その通知に含まれる前記工作機械１２の識別情報等により自身宛の通知であるか否かを判別する，或いは，採用した前記処理計画（案）情報の送信元である前記スレーブ装置２を指定して通知することが考えられる。
【００３３】
＜ステップＳ１２：タスク処理計画更新（第１のスレーブ側計画キャンセル），Ｓ１３：スレーブ側計画キャンセル通知＞
一方，前記スレーブ装置２においては，前記マスタ装置１から受信した前記タスクの前記割当結果の通知に基づいて，前記担当装置１２（対応する工程処理装置）に関する前記タスク処理計画情報ｄ２を更新する（Ｓ１２，前記タスク処理計画更新手段の処理の一例）。
この場合，前記タスクの前記割当結果の通知が，前記既割当タスクの前記優先度以下の前記要求タスクに関するものであれば，前記割当結果の通知に従って，前記タスク処理計画情報ｄ２に，前記要求タスクの前記タスク識別情報，前記優先度，前記開始時刻ｄ３５及び前記終了時刻ｄ３６を追加（前記既割当タスクの間に挿入又は末尾に追加）する。さらに，追加した前記要求タスクが前記既割当タスクが属する前記ジョブと異なる前記ジョブに属するものであれば，前記ジョブ受入数を１カウントアップする。
一方，前記タスクの前記割当結果の通知が，前記既割当タスクよりも高い前記優先度の前記要求タスクに関するものである場合，前記スレーブ装置２により，前記割当結果の通知に従って，前記優先度の高い新たな前記要求タスクを優先処理するよう前記タスク処理計画情報の更新が行われる（Ｓ１２，前記タスク処理計画更新手段の処理の一例）。この場合，前記担当装置１２（前記対応する工程処理装置）における前記優先度の低い前記既割当タスク（一部又は全部）の処理計画をキャンセルするよう前記タスク処理計画情報ｄ２が更新される（前記第１のスレーブ側計画キャンセル手段の処理の一例）。
さらに，ステップＳ１２の処理においてキャンセルが発生した場合，前記スレーブ装置２により，処理計画がキャンセルされた前記既割当タスクに関する情報が設定されたスレーブ側計画キャンセル情報が前記マスタ装置に対して前記ネットワーク３を介して通知される（Ｓ１３，前記スレーブ側計画キャンセル通知手段の処理の一例）。
【００３４】
＜ステップＳ５：マスタ側計画キャンセル，Ｓ６：キャンセル要求＞
一方，前記マスタ装置１においては，前記スレーブ装置２側から通知された前記スレーブ側計画キャンセル情報に基づいて，前記スレーブ装置２側で処理計画がキャンセルされた前記タスク及びこれに連鎖する前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報（図６）を更新する（Ｓ５，前記マスタ側計画キャンセル手段の処理の一例）。
より具体的には，図６に示した前記ジョブ処理計画情報において，前記スレーブ側計画キャンセル情報で通知された前記タスク，及びこれに連鎖する前記タスク，即ち，そのタスクよりも同じ前記ジョブ内で処理順序（ステップＳ１で決定されたジョブ処理順序及び前記ジョブごとに既定の前記タスクの処理順序に基づくもの）が後の全ての前記タスクについて，前記「割当装置」ｄ３４の設定が「未割当」に更新される（Ｓ５）。
さらに，前記マスタ装置１により，前記連鎖するタスクの処理計画のキャンセルを要求するキャンセル要求情報が，該マスタ装置１から前記スレーブ装置２へ送信される（Ｓ６，前記キャンセル要求手段の処理の一例）。
前記キャンセル要求情報には，前記マスタ装置１側で計画がキャンセルされた（「未割当」となった）前記タスク全ての情報（それが属する前記ジョブの前記ジョブＩＤ及び前記タスク種類情報）が設定される。
【００３５】
＜ステップＳ１４：第２のスレーブ側計画キャンセル＞
一方，前記スレーブ装置２においては，前記マスタ装置１側から受信された前記キャンセル要求情報に基づいて，指定された前記タスクの処理計画がキャンセルされるよう前記担当装置１２（前記対応する工程処理装置）に関する前記タスク処理計画情報ｄ２が更新される（前記第２のスレーブ側計画キャンセル手段の処理の一例）。
このように，前記マスタ装置１側で処理計画がキャンセルされた前記タスクについては，再度，ステップＳ１において待ち行列に加えられる。
以上示したステップＳ１〜Ｓ５及びステップＳ１１〜Ｓ１４の処理が，前記タスクの待ち行列がなくなるまで，即ち，前記割当装置ｄ３４が「未割当」となっているものがなくなるまで繰り返される。その際，前記処理要求情報の送信（Ｓ２）に対し，いずれの前記スレーブ装置２からも前記要求タスクの割り当てが可能である旨の前記タスクの処理計画（案）情報の返信がなされなかった場合，前記マスタ装置１は，新たな前記ジョブの発生，又は既に処理計画が割り当てられている前記タスクのうち最も早い前記終了時刻ｄ３６の経過を待って，再度，ステップＳ１からの処理を繰り返す。これにより，順次発生する前記ジョブについてのスケジューリングがなされる。
なお，前述の処理では，前記優先度の低い前記タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報ｄ３を更新するものであったが，任意の前記既割当タスクの処理計画をキャンセルする機能を前記スレーブ装置２に付加すればより好適である。
例えば，前記スレーブ装置２において，該装置が備える入力手段（キーボードやマウス等）により，前記担当装置１２（対応する工程処理装置）の前記既割当タスクの処理計画（前記既割当タスク）の任意の一部又は全部をキャンセルする旨の入力機能を付加し，該入力機能により指定された前記既割当タスクの処理計画をキャンセルするよう前記ジョブ処理計画情報ｄ３を更新する機能を付加する（前記第１のスレーブ側計画キャンセル手段の処理の一例）。
これにより，前記工作機械１２における故障等のトラブルや点検のため，既に割り当てられている前記タスクの処理計画の一部又は全部をキャンセルする必要が生じた場合でも，自動的に再スケジューリングが行われる。
【００３６】
図７は，前記優先度ｄ３１の高い前記タスクが後から発生した場合に，前記優先度ｄ３１の高い新たな前記タスクを優先処理するよう前記タスク処理計画情報の更新が行われる様子を模式的に表したものである。
ある時点で，３台の前記工作機械１２（図中，「装置１」，「装置２」，「装置３」と表す）各々に，図７（ａ）に示すような前記タスク処理計画情報が設定されたいたとする。「装置１」〜「装置３」における前記既割当タスクは，各々「ジョブ１」の「タスク１」及び「ジョブ２」の「タスク２」，「ジョブ１」の「タスク２」，「ジョブ２」の「タスク１」及び「ジョブ１」の「タスク３」である。
この状態で，前記「装置２」に対し，前記既割当タスクのいずれよりも前記優先度ｄ３１が高い「ジョブ３」の「タスク１」を「装置２」に割り当てる前記割当結果の通知がなされたとする。
この場合，図７（ｂ）に示すように，前記既割当タスク「ジョブ１」の「タスク２」の処理計画がキャンセルされ，新たな「ジョブ３」の「タスク１」が割り当てられる。そして，キャンセルされた「ジョブ１」の「タスク２」の情報が，前記スレーブ側計画キャンセル情報として前記マスタ装置１へ通知される。
この通知に対し，「ジョブ１」の「タスク２」に連鎖する「ジョブ１」の「タスク３」のキャンセルを要求する前記キャンセル要求情報が前記マスタ装置１から前記スレーブ装置２に通知され，図７（ｃ）に示すように，「装置３」に既に割り当てられている「ジョブ１」の「タスク３」の処理計画がキャンセルされる。このようにして処理計画がキャンセルされた「ジョブ１」の「タスク２」及び「タスク３」は，再度，待ち行列に加えられてスケジューリングがなされる。
【００３７】
（工作機械の機能最適化）
次に，前記マスタ装置１により実行される前記工作機械１２の機能最適化処理（機能特化処理と機能変更処理）について説明する。
過去の前記タスクの割り当て実績件数の高い前記工作機械１２は，稼働率が十分高いので，その稼働率を抑える方向に調整することが，前記工作機械１２全体の負荷の平準化につながる。また，前記工作機械１２の機能を１つ又は少ない種類の前記タスクに対応した機能に特化させれば，その工作機械１２が備えるべき工具等を少なくできるので効率的である。
一方，過去の前記タスクの割り当て実績件数の低い前記工作機械１２は，稼働率が低いので，その稼働率を高める方向に調整することが，前記工作機械１２全体の負荷の平準化につながる。
以下，図８に示すフローチャートを用いて，負荷の平準化及び装置の効率化を図るための前記工作機械１２の機能最適化処理について説明する。本処理は，前記マスタ装置１が，予めインストールされたプログラムを実行することにより行われる。
ここで，前記マスタ装置１の前記ジョブ処理データ記憶部１ａには，予め，全ての前記タスク種類情報とそのタスク各々の処理に必要な機能に関する必要機能情報（前記工作機械１２が備えるべき工具の種類情報等）とが関連付けられたタスク・機能対応情報が記憶されているものとする。
【００３８】
まず，前記マスタ装置１は，図２に示したスケジューリング処理と並行して，前記ジョブ処理計画情報ｄ３に基づいて，前記工作機械１２（前記工程処理装置の一例）各々への過去の前記タスクの割り当て実績件数及び該タスク各々の前記タスク種類情報ｄ３３と，後述する機会損失件数及びそのときの前記タスク種類情報とを，過去の一定期間分蓄積されるよう前記ジョブ処理データ記憶部１ａに記録する（Ｓ３１，前記第１及び第２の実績記録手段の処理の一例）。
ここで，前記機会損失件数とは，前記処理要求処理（図２のＳ２）による前記処理要求情報の１回の送信に対し，前記スレーブ装置２から前記タスクを割り当て可能とする前記処理計画（案）情報の返信が得られなかった過去の実績件数を表す。
そして，例えば前記一定期間ごとに，前記マスタ装置１は，過去の前記タスクの割り当て実績件数の高い１又は複数（少数）の前記工作機械１２（前記工程処理装置の一例）各々について，該工作機械１２に対する過去の割り当て実績件数の高い１又は複数（少数）の種類の前記タスクのみ処理可能な機能に特化することに関する機能特化情報を出力する処理を実行する（Ｓ３２〜Ｓ３４，前記機能特化情報出力手段の処理の一例）。
例えば，本処理では，まず，前記マスタ装置１により，蓄積された実績情報に基づいて，前記過去の一定期間における前記タスクの割り当て実績件数（累積件数）が最も高い前記工作機械１２を選択する（Ｓ３２）。
次に，前記マスタ装置１により，選択した前記工作機械１２に対する前記過去の一定期間における割り当て実績件数の最も高い種類の前記タスク（前記タスク種類情報ｄ３３）を，蓄積された実績情報に基づいて選択する（Ｓ３３）。
さらに，前記マスタ装置１により，選択した種類の前記タスクの前記タスク種類情報ｄ３３をキーとして前記タスク・機能対応情報を参照し，対応する前記必要機能情報を抽出してその情報とステップＳ３２で選択した前記工作機械１２を表す情報とを対応づけた機能特化情報を出力する（Ｓ３４）。
【００３９】
また，同様に，例えば前記一定期間ごとに，前記マスタ装置１は，過去の前記タスクの割り当て実績件数の低い１又は複数（少数）の前記工作機械１２（前記工程処理装置の一例）各々について，前記機会損失件数が高い１又は複数（少数）の種類の前記タスクを処理可能な機能に変更することに関する機能変更情報を出力する処理を実行する（Ｓ３５〜Ｓ３７，前記機能変更情報出力手段の処理の一例）。
例えば，本処理では，まず，前記マスタ装置１により，蓄積された実績情報に基づいて，前記過去の一定期間における前記タスクの割り当て実績件数（累積件数）が最も低い前記工作機械１２を選択する（Ｓ３５）。
次に，前記マスタ装置１により，蓄積された実績情報に基づいて，前記機会損失件数が最も高い種類の前記タスク（前記タスク種類情報）を選択する（Ｓ３６）。
さらに，前記マスタ装置１により，選択した種類の前記タスクの前記タスク種類情報ｄ３３をキーとして前記タスク・機能対応情報を参照し，対応する前記必要機能情報を抽出してその情報とステップＳ３５で選択した前記工作機械１２を表す情報と対応づけて出力する（Ｓ３７）。
【００４０】
図８に示す処理により，稼働率の高い前記工作機械１２について，過去の割り当て件数の高い種類の前記タスクのみ処理可能な機能に絞る（特化する）ための前記機能特化情報が出力される（Ｓ３４）。その出力内容に従って前記工作機械１２の機能（工具等）を特化することより，前記工作機械１２全体の負荷の平準化が図れる。さらに，稼働率の高い前記工作機械１２について，備えるべき機能を絞り込めるので，無駄のない効率的な構成とすることができる。
また，稼働率の低い前記工作機械１２について，前記タスクの割り当てがすぐにできなかった種類の前記タスクを処理可能な機能に変更（拡張を含む）するための前記機能変更情報が出力される（Ｓ３７）。その出力内容に従って前記工作機械１２の機能を変更・拡張することより，前記機械損失件数が高かった種類の前記タスクが稼働率の低かった前記工作機械１２に割り当てられる可能性が高まり，前記工作機械１２全体の負荷の平準化が図れる。
前記機能特化情報や前記機能変更情報の出力としては，前記マスタ装置１や前記スレーブ装置２が備える表示手段の画面出力（表示）やプリントアウト等による利用者への機能特化メッセージ（装着工具の取り外し指示，取り付け指示等）を出力することが考えられる。また，前記工作機械１２が装着工具の自動取り外し，自動取り付け機能を有する場合等には，その工作機械１２への装着工具取り外し指令や取り付け指令の出力を行うこと等が考えられる。
【００４１】
次に，前述した前記工作機械１２の機能最適化処理のシミュレーション結果について説明する。
シミュレーションの条件は，前記工作機械１２のｐ台数（即ち，前記スレーブ装置２の数）が５，前記タスクの種類数が１０，前記工作機械１２各々の工具の種類数（機能の種類数）が１０であり，前記タスクごとにその処理に必要な専用の工具が１対１で対応しているものとした。また，初期状態では，前記工作機械１２各々に２種類の工具が装着されているものとした。
また，前記ジョブの種類数は５であり，前記ジョブ各々に最大３つの前記タスクが設定されているものとした。そして，２００個の前記ジョブを順次発生させてスケジューリングを行った。但し，滞留する前記ジョブ（前記ジョブ処理計画情報における前記状態ｄ３２が「未決定」であるジョブ）が３つ以上待ち行列に存在する場合は，その滞留する前記ジョブの数が２以下となるまで新規ジョブは発生させないものとした。
さらに，７回の前記ジョブの発生に対して１回，通常の前記優先度よりも高い前記優先度が設定された特急ジョブが発生するものとし，５回の前記ジョブの発生に対して１回，前記機能最適化処理を実行し，その出力結果通りに前記工作機械１２に装着される工具の追加，変更が行われるものとした。
図９及び図１０は，上記条件での前記機能最適化処理のシミュレーション結果を表すグラフである。
ここで，図９は，５台の前記工作機械（Ｍ１〜Ｍ５）各々の前記タスクの分担率の変遷を表す（縦軸）グラフであり，横軸は前記ジョブの発生回数を表す。ここで，前記分担率は，全ての前記工作機械（Ｍ１〜Ｍ５）で処理される前記タスクの総数に対する前記工作機械各々で処理される前記タスクの数の比率で表している。従って，５台の前記工作機械を用いているので，前記工作機械各々の前記分担率が２０％（＝１００％／５）の場合が，最も処理の平準化が図られている状態であるといえる。また，前記分担率が高い前記工作機械は，相対的に稼働率が高いといえる。
図９のグラフからわかるように，処理の開始当初には前記分担率の大きなばらつきがあったが，前記機能最適化処理により，急速に前記分担率の均等化（稼働率の平準化）が図れることがわかる。
一方，図１０は，５台の前記工作機械（Ｍ１〜Ｍ５）各々に装着されている工具の数（縦軸）の変遷を表すグラフであり，横軸は前記ジョブの発生回数を表す。
図９及び図１０に示されるように，前記工作機械各々の工具数を増やすことにより，前記分担率の均等化（稼働率の平準化）が図られる様子がわかる。その際，前記工作機械（Ｍ１）については，工具数が比較的少なく（３個）絞られて機能の特化が図られている。
一方，前記工作機械（Ｍ２）については，前記ジョブの滞留が増えるにつれ，即ち，前記機会損失件数が増えるにつれ，稼働率の平準化のために工具数を増やさざるを得ない（５〜６個）状況を経て，最終的には，他の工作機械（Ｍ３〜Ｍ５）と同じ５個の工具数に収束していることがわかる。
このように，本発明によれば，前記ジョブのスケジューリングと併せて，前記工作機械各々の稼働率の平準化のための機能の最適化を図ることができる。
【産業上の利用可能性】
【００４２】
本発明は，製造ラインにおける処理のスケジューリングシステムに利用可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係るスケジューリングシステムＸ及びそれが適用される製造ラインＹの概略構成を表すブロック図。
【図２】スケジューリングシステムＸにおけるスケジューリング処理の手順を表すフロー図。
【図３】スケジューリングシステムＸにおけるジョブ処理順序の決定の様子を表す模式図。
【図４】スケジューリングシステムＸを構成するスレーブ装置におけるタスクの処理計画案情報の生成の様子を表す模式図。
【図５】スケジューリングシステムＸにおける処理計画案生成・返信処理の手順を表すフローチャート。
【図６】スケジューリングシステムＸにおけるジョブ処理計画情報の構成例を表す概略図。
【図７】スケジューリングシステムＸにおける優先度の高い新たなタスクを優先処理する際のタスク処理計画情報の更新の様子を表す模式図。
【図８】スケジューリングシステムＸにおける工作機械の機能最適化処理の手順を表すフローチャート。
【図９】スケジューリングシステムＸによる工作機械の機能の最適化処理のシミュレーションの結果である工作機械各々のタスク処理の分担率の変遷を表すグラフ。
【図１０】スケジューリングシステムＸによる工作機械の機能の最適化処理のシミュレーションの結果である工作機械各々の装着工具の数の変遷を表すグラフ。
【符号の説明】
【００４４】
Ｘ…スケジューリングシステム
Ｙ…製造ライン
１…マスタ装置
１ａ…ジョブ処理データ記憶部
２…スレーブ装置
２ａ…工程データ記憶部
３…ネットワーク
１１…受け入れヤード
１２…工作機械（工程処理装置）
１３…バッファ
１４…搬送ライン
ｄ１…処理機能情報
ｄ２…タスク処理計画情報
ｄ３…ジョブ処理計画情報
Ｓ１，Ｓ２，，…処理手順（ステップ）
【図１】
2006107167.tif 000003
【図２】
2006107167.tif 000004
【図３】
2006107167.tif 000005
【図４】
2006107167.tif 000006
【図５】
2006107167.tif 000007
【図６】
2006107167.tif 000008
【図７】
2006107167.tif 000009
【図８】
2006107167.tif 000010
【図９】
2006107167.tif 000011
【図１０】
2006107167.tif 000012