(57)【特許請求の範囲】
【請求項１】
生産スケジュールマスタデータを記憶した記憶部と、
前記生産スケジュールマスタデータを受け取る受取部と、
前記生産スケジュールマスタデータを複製することにより生産スケジュール編集用データを生成する複製部と、
入力された編集コマンドに基づいて、前記生産スケジュール編集用データ中の項目を編集することにより、生産スケジュール仮編集データを生成する編集操作部と、
前記生産スケジュール仮編集データと、前記生産スケジュールマスタデータとに基づいて、前記生産スケジュール仮編集データ中で前記生産スケジュールマスタデータに対して編集された項目を特定する特定部と、
前記生産スケジュールマスタデータ中の項目の中で、前記編集された項目と一致する項目にタグ情報が付加されていれば、入力された前記編集コマンドの有効又は無効を判定する判定部と、
前記判定部により有効と判定された前記編集コマンドを反映させ、かつ、前記タグ情報を付加した前記生産スケジュール仮編集データを生成し、前記生産スケジュールマスタデータに更新する更新部と、
を備えることを特徴とする、生産スケジュール編集システム。
【請求項２】
前記判定部は、
前記タグ情報に示された編集者名と、前記生産スケジュール編集用データの編集者名とに基づいて、前記生産スケジュールマスタデータ中の前記項目の変更と、前記生産スケジュール仮編集データ中の前記項目の変更とのいずれを優先すべきかを判定することにより、入力された前記編集コマンドの有効又は無効を判定することを特徴とする、請求項１に記載の生産スケジュール編集システム。
【請求項３】
前記判定部は、
前記生産スケジュールマスタデータ及び前記生産スケジュール仮編集データ中の前記項目に付加され前記生産スケジュール仮編集データにおける優先順位を示すスケジュール時刻と、予め優先順位が付与された前記生産スケジュールを実行する生産ラインとの少なくとも１つに基づいて、入力された前記編集コマンドの有効又は無効を判定することを特徴とする、請求項１に記載の生産スケジュール編集システム。
【請求項４】
前記特定部は、
升目が碁盤状に配列されており、前記生産スケジュールマスタデータに表された前記項目及び前記生産スケジュール仮編集データに表された前記項目を、前記碁盤の外周上に配列した項目配列升目に、基準升目を基準として互いに垂直方向をなすように配列した特定用テーブルを備えており、
前記生産スケジュールマスタデータ及び前記生産スケジュール仮編集データへ向けた垂線上の項目が共通している升目において、基準点から、該基準点とは碁盤上の対角線上に位置する頂点に向けたラインと平行に対角線を引き、
ついで、前記基準点から前記頂点への最短経路を求める最短経路アルゴリズムを実行して前記最短経路を求め、
求めた前記最短経路を前記基準点から前記頂点へと辿って参照し、前記最短経路が水平又は垂直方向である前記升目から向けた前記垂線上に位置する前記生産スケジュール仮編集データ中の前記項目が、前記生産スケジュールマスタデータに対して編集されていると特定することを特徴とする、請求項１に記載の生産スケジュール編集システム。
【請求項５】
前記特定部は、前記最短経路が水平又は垂直方向であるかに応じて、前記項目が挿入又は削除されたかを特定することを特徴とする、請求項４に記載の生産スケジュール編集システム。
【請求項６】
前記生産スケジュールマスタデータ及び前記生産スケジュール編集用データは、予め、項目入力枠が固定されており、
前記特定部は、前記生産スケジュールマスタデータ及び前記生産スケジュール仮編集データに対応する前記項目入力枠を比較することにより、前記生産スケジュール仮編集データ中で前記生産スケジュールマスタデータに対して編集された前記項目を特定することを特徴とする、請求項１に記載の生産スケジュール編集システム。
【請求項７】
前記更新部により生成された前記生産スケジュール仮編集データを表示する表示部を更に備えることを特徴とする、請求項１に記載の生産スケジュール編集システム。
【請求項８】
前記複製部、前記編集操作部、前記特定部、前記判定部、前記更新部、を備える編集用端末と、前記生産スケジュールマスタデータを記憶した前記記憶部を備える生産スケジュールデータ管理サーバとを、通信ネットワークを介して接続して構成されてなる、請求項１に記載の生産スケジュール編集システム。
【請求項９】
前記編集用端末は、前記表示部を更に備えて構成されてなる、請求項８に記載の生産スケジュール編集システム。
【請求項１０】
コンピュータが、
生産スケジュールマスタデータを受け取る受取ステップと、
前記生産スケジュールマスタデータを複製することにより生産スケジュール編集用データを生成する複製ステップと、
入力された編集コマンドに基づいて、前記生産スケジュール編集用データ中の項目を編集することにより、生産スケジュール仮編集データを生成する編集操作ステップと、
前記生産スケジュール仮編集データと、前記生産スケジュールマスタデータとに基づいて、前記生産スケジュール仮編集データ中で前記生産スケジュールマスタデータに対して編集された項目を特定する特定ステップと、
前記生産スケジュールマスタデータ中の項目の中で、前記編集された生産スケジュールと一致する項目にタグ情報が付加されていれば、入力された前記編集コマンドの有効又は無効を判定する判定ステップと、
有効と判定された前記編集コマンドを反映させ、かつ、前記タグ情報を付加した前記生産スケジュール仮編集データを生成し、前記生産スケジュールマスタデータに更新する更新ステップと、
を実行することを特徴とする方法。
【請求項１１】
コンピュータに、
生産スケジュールマスタデータを受け取る受取ステップと、
前記生産スケジュールマスタデータを複製することにより生産スケジュール編集用データを生成する複製ステップと、
入力された編集コマンドに基づいて、前記生産スケジュール編集用データ中の項目を編集することにより、生産スケジュール仮編集データを生成する編集操作ステップと、
前記生産スケジュール仮編集データと、前記生産スケジュールマスタデータとに基づいて、前記生産スケジュール仮編集データ中で前記生産スケジュールマスタデータに対して編集された項目を特定する特定ステップと、
前記生産スケジュールマスタデータ中の項目の中で、前記編集された生産スケジュールと一致する項目にタグ情報が付加されていれば、入力された前記編集コマンドの有効又は無効を判定する判定ステップと、
有効と判定された前記編集コマンドを反映させ、かつ、前記タグ情報を付加した前記生産スケジュール仮編集データを生成し、前記生産スケジュールマスタデータに更新する更新ステップと、
を実行させることを特徴とするプログラム。
【請求項１２】
前記判定ステップは、
前記タグ情報に示された編集者名と、前記生産スケジュール編集用データの編集者名とに基づいて、前記生産スケジュールマスタデータ中の前記項目の変更と、前記生産スケジュール仮編集データ中の前記項目の変更とのいずれを優先すべきかを判定することにより、入力された前記編集コマンドの有効又は無効を判定することを特徴とする、請求項１１に記載のプログラム。
【請求項１３】
前記判定ステップは、
前記生産スケジュールマスタデータ及び前記生産スケジュール仮編集データ中の前記項目に付加され前記生産スケジュール仮編集データにおける優先順位を示すスケジュール時刻と、予め優先順位が付与された前記生産スケジュールを実行する生産ラインとの少なくとも１つに基づいて、入力された前記編集コマンドの有効又は無効を判定することを特徴とする、請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列的に配列された複数の項目が表された生産スケジュールデータの編集操作を受け付ける生産スケジュール編集システム、方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、工場においては、原材料から製品を製造するために生産スケジュールを計画部門が立案している。例えば、製鉄工場においては、鉄鉱石などの原料受け入れ、製銑、製鋼、鋳造、圧延、出荷といった生産プロセスが存在しており、計画部門は、各々の生産プロセスにおいて、製品（半製品を含む）の処理順序を示す生産スケジュールを立案する。
【０００３】
このような生産スケジュールは、製品（半製品を含む）を示す項目が時系列的に配列されてなり、例えば、製鋼工程におけるキャストの順序、キャスト内のチャージの順序、熱延工程におけるサイクルの順序、サイクル内のスラブの順序、チャージ内のスラブの順序が挙げられる。
【０００４】
このように計画部門が生産スケジュールを立案することを支援する先行技術が存在する。以下、このような先行技術を例示する。
【０００５】
特許文献１には、溶銑需給管理スケジューリング方法が提案されている。このスケジューリング方法は、需要側である製鋼工程における溶銑需要条件に基づいて、その上工程である製銑工程に操業条件を立案することにより、上工程と下工程とを逆転させた操業スケジュールを立案している。この操業スケジューリング方法は、精度の高い溶銑需給管理スケジュールを組むことができる。
【０００６】
特許文献２には、生産管理支援システムが提案されている。この生産管理支援システムは、オーダー入力手段で製品オーダーを入力すれば、製品の通過工程を決定し、決定された通過工程のリードタイム及び能率に基づいて工程毎の納期及び能力バランスを調整している。この生産管理支援システムは、短時間で正確な生産計画を作成することができる。
【０００７】
【特許文献１】特開平９−２４９９０３号公報
【特許文献２】特開２００２−１４９２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記した特許文献１は、上工程と下工程とを逆転させた操業スケジュールを立案することにより、精度の高い溶銑需給管理スケジュールを提供する溶銑需給管理スケジューリング方法を提案している。
【０００９】
また、上記した特許文献２は、オーダー入力手段で製品オーダーを入力すれば、製品の通過工程を決定することにより、工程毎の納期及び能力バランスを調整できる生産管理支援システムを提案している。
【００１０】
ところで、計画部門が、一旦作成された生産スケジュールを、操業変動などに応じて適宜修正（編集）することを受け付けることができれば利便である。
【００１１】
一般に、計画者が発注者の注文に応じて生産スケジュールを作成しても、操業変動などが生じることにより、その生産スケジュールに基づいて生産された製品が注文者の要求する数量、品質を満たさなくなることがある。
【００１２】
このような場合、計画者は、注文者の要求する数量、品質を満たすようにするために、一旦作成された生産スケジュールを修正（編集）する。
【００１３】
このような生産スケジュールは、膨大な数の項目により成立しているので、複数の計画者が生産スケジュールを編集することがある。このような場合、複数の計画者が、同一の項目を、生産スケジュール内において挿入、削除、移動することがある。このような場合、複数の編集者が同一の項目を編集するという、いわゆる編集の競合が生じてしまう。
【００１４】
このような問題に対処するには、複数の編集者が、予め編集者毎に編集権限のある生産スケジュールを限定しておく、いわゆる事前割当を行っておくことが考えられる。
しかしながら、このような手法では、コンピュータによる自動スケジュール最適化システムを導入した場合には、全体最適を目指す上では支障がある。人手で事前割当をしてしまっては、最適なスケジューリングを行う機会を逃す機会があり、事前割当のような追加条件はなるべく省略した方が良いからである。
【００１５】
本発明は、上記事情を考慮して提案されるものであり、一旦作成された生産スケジュールを、操業変動などに応じて適宜編集することが可能であり、かつ、複数の編集者が同一項目を編集するという、いわゆる編集の競合に適切に対処することができる生産スケジュール編集システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
これらの課題を解決するために、本発明の実施形態の一例として、生産スケジュールマスタデータを複製して生産スケジュール編集用データを生成し、生成された生産スケジュール編集用データ上で編集者による編集コマンドの入力による項目の編集を受け付け、編集対象とされている項目を特定し、特定した項目についての更新の有効又は無効を、生産スケジュールマスタデータ中の項目に付加されているタグ情報を有無により判定し、有効と判定された編集コマンドのみを反映させ、かつ、タグ情報が付加された生産スケジュール仮編集データを生成し、生産スケジュールマスタデータに更新する生産スケジュール編集システム、方法及びプログラムを提供する。
【発明の効果】
【００１７】
本発明によれば、生産スケジュール仮編集データ中で生産スケジュールマスタデータに対して編集された項目を特定し、特定された項目について、編集の有効又は無効を、現状の生産スケジュールマスタデータとの関係で判定し、有効と判定された編集のみを反映した生産スケジュールマスタデータを生成するので、複数の項目を時系列的に配列した生産スケジュールデータを、複数の編集者が編集した場合に、複数の編集者が、同一の項目を編集するという、いわゆる編集の競合が生じても、その競合に適切に対処することができる。
【００１８】
そのため、複数の編集者が同時に編集作業を行っても、各編集者は、編集の競合が生じないように他の編集者による編集状況を気にしながら編集作業を行う必要がなく、効率的に編集作業を行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。尚、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２０】
［生産スケジュール編集システムの全体構成］
図１は、本実施形態に係る生産スケジュール編集システムの全体構成を示す図である。インターネット等の通信ネットワークＮは、コンピュータ等で構成される編集用端末１と生産スケジュールデータ管理サーバ２とを接続している。
【００２１】
編集用端末１と生産スケジュールデータ管理サーバ２とは、所定の通信プロトコルに従った通信を行う。生産スケジュールデータ管理サーバ２は、生産スケジュールマスタデータ２０を備えている。
【００２２】
生産スケジュールデータ管理サーバ２は、生産スケジュールマスタデータ２０を生産スケジュールマスタデータベースに記憶させている。尚、記憶部には、生産スケジュールマスタデータ２０が対応する。編集用端末１は、生産スケジュールデータ管理サーバ２と通信を行うことにより、生産スケジュールデータ管理サーバ２に記憶された生産スケジュールマスタデータ２０の編集作業を可能としている。
【００２３】
［編集用端末の機能構成］
図２は、本実施形態に係る編集用端末の機能構成を示す図である。編集用端末１は、受取部１３、複製部１４、編集操作部１５、特定部１６、判定部１７、更新部１８を備える。
【００２４】
受取部１３は、生産スケジュールデータ管理サーバ２との間で所定の通信プロトコルに従った通信を行うことにより、生産スケジュールデータ管理サーバ２に記憶された生産スケジュールマスタデータ２０を受け取る。受け取った生産スケジュールマスタデータ２０を所定の記憶領域に記憶させる。尚、生産スケジュールマスタデータ２０とは、製品（半製品を含む）を示す項目が時系列的に配列された生産スケジュールデータであって、後述する編集処理を行う際に基礎となる生産スケジュールデータのことをいう。
【００２５】
複製部１４は、受取部１３により受け取られた生産スケジュールマスタデータ２０を複製することにより生産スケジュール編集用データ２１を生成する。尚、生産スケジュール編集用データ２１の内容と生産スケジュールマスタデータ２０の内容は同一である。
【００２６】
複製部１４は、生産スケジュール編集用データ２１を生産スケジュール編集用データベースに記憶させる。生産スケジュール編集用データ２１とは、実際に、編集者が編集用端末１を操作することにより生産スケジュールを編集することができる生産スケジュールデータのことをいう。
【００２７】
編集操作部１５は、入力された編集コマンドに基づいて、生産スケジュール編集用データ２１に表された複数の項目の全て又は一部の編集を行うことにより、生産スケジュール仮編集データ２２を生成する。編集操作部１５は、生産スケジュール仮編集データ２２を生産スケジュール仮編集データベースに記憶させる。尚、編集コマンドとは、生産スケジュールの編集をコンピュータに指示するためのコマンドのことをいい、例えば、生産スケジュールに含まれる項目の挿入、削除、移動を指示するコマンドが考えられる。
【００２８】
特定部１６は、特定用テーブルＴ１（図６）を備えており、生産スケジュール仮編集データ２２と、生産スケジュールマスタデータ２０とに基づいて、生産スケジュール仮編集データ２２中で生産スケジュールマスタデータ２０に対して編集された項目を特定する。
【００２９】
判定部１７は、生産スケジュールマスタデータ２０に表された生産スケジュールの中で、特定部１６により特定された編集された項目と一致する項目にタグ情報ＴＧ（図９、図１２）が付加されていれば、編集コマンドの有効又は無効を判定する。
【００３０】
更新部１８は、生産スケジュール仮編集データ２２に対して、判定部１７により有効と判定された編集コマンドを反映させた生産スケジュール仮編集データ２２を生成する。そして、更新部１８は、生成した生産スケジュール仮編集データ２２を、生産スケジュールデータ管理サーバ２と所定のプロトコルに従った通信を行って送信し、生産スケジュールマスタデータ２０に更新する。
【００３１】
［編集用端末１のハードウェア構成図］
図３は、本実施形態に係る編集用端末１のハードウェア構成を示す図である。尚、生産スケジュールデータ管理サーバ２も、編集用端末１と同様の構成を持つ。
【００３２】
編集用端末１は、制御部を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１０、バスライン２００、通信Ｉ／Ｆ（Ｉ／Ｆ：インタフェース）３２０、メインメモリ３３０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）３４０、表示装置３５０、Ｉ／Ｏコントローラ３６０、キーボード及びマウス等の入力装置３７０、ハードディスク３８０、光ディスクドライブ３９０、並びに半導体メモリ４１０を備える。尚、ハードディスク３８０、光ディスクドライブ３９０、並びに、半導体メモリ４１０をまとめて記憶装置４２０と呼ぶ。
【００３３】
制御部３００は、編集用端末１を統括的に制御する部分であり、ハードディスク３８０に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３４】
通信Ｉ／Ｆ３２０は、編集用端末１が、通信ネットワークＮ（図１）を介して生産スケジュールデータ管理サーバ２等（図１）と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ３２０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００３５】
ＢＩＯＳ３４０は、編集用端末１の起動時にＣＰＵ３１０が実行するブートプログラムや、編集用端末１がハードウェアに依存するプログラム等を記録する。
【００３６】
表示装置３５０は、ブラウン管液晶装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００３７】
Ｉ／Ｏコントローラ３６０には、ハードディスク３８０、光ディスクドライブ３９０、及び半導体メモリ４１０等の記憶装置４２０を接続することができる。
【００３８】
入力装置３７０は、生産スケジュールの編集者による編集コマンドの入力を行うためのものである。
【００３９】
ハードディスク３８０は、本ハードウェアを編集用端末１として機能させるための各種プログラム、本発明の機能を実行するプログラム及び後述するテーブル及びレコードを記憶する。なお、編集用端末１は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００４０】
光ディスクドライブ３９０としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク４００を使用する。光ディスク４００から光ディスクドライブ３９０によりプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ３６０を介してメインメモリ３３０またはハードディスク３８０に提供することもできる。
【００４１】
なお、本発明でいうコンピュータとは、記憶装置４２０、ＣＰＵ３１０等を備えた情報処理装置をいい、編集用端末１は、記憶装置４２０、ＣＰＵ３１０等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００４２】
この編集用端末１では、受取部１３、複製部１４、編集操作部１５、特定部１６、判定部１７、更新部１８にはＣＰＵ３１０が主として対応する。また、受取部１３と更新部１８には通信Ｉ／Ｆ３２０も対応する。更に、編集操作部１５には入力装置３７０も対応する。また、この編集用端末１は、生産スケジュールマスタデータ２０、生産スケジュール編集用データ２１、生産スケジュール仮編集データ２２の各々を、記憶装置４２０の所定の記憶領域に記憶させる。
【００４３】
尚、編集用端末１は、本発明の原理が適用可能である限り、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）、ゲーム機等の様々な端末で実現してよい。
【００４４】
図４は、生産スケジュールデータの概要を示す図であり、図４（ａ）は生産スケジュールマスタデータ２０、図４（ｂ）は生産スケジュール編集用データ２１、図４（ｃ）は生産スケジュール仮編集データ２２の概要を示す図である。
【００４５】
［生産スケジュールマスタデータの概要］
生産スケジュールマスタデータ２０は、先述したように、時系列的に配列された複数の項目が表された生産スケジュールデータであって、後述する編集処理を行う際に基礎となる生産スケジュールデータのことをいう。生産スケジュールマスタデータ２０は、製鋼工程におけるキャストの順序、キャスト内のチャージの順序、熱延工程におけるサイクルの順序、サイクル内のスラブの順序、チャージ内のスラブの順序を決める際等に、用いられる。
【００４６】
［生産スケジュール編集用データの概要］
生産スケジュール編集用データ２１は、先述したように、実際に、編集者が編集用端末１を操作することにより生産スケジュールを編集することができる生産スケジュールデータのことをいう。生産スケジュール編集用データ２１は、複製部１４により複製されたものである。
【００４７】
［生産スケジュール仮編集データの概要］
生産スケジュール仮編集データ２２は、編集操作部１５により入力された編集コマンドを反映させた生産スケジュールデータのことをいう。この生産スケジュール仮編集データ２２は、後述するように、編集者がどの項目を編集対象としたのかを確認するため等に用いられる。
【００４８】
次に、編集コマンド列について説明する。編集コマンド列とは、前記編集コマンドが複数配列されて形成されたコマンド列のことをいう。
【００４９】
［項目入力枠が固定されていない場合における編集コマンド列］
図５は、項目入力枠が固定されていない場合における編集コマンド列を示す図である。尚、項目入力枠とは、後述するように、予め生産スケジュールデータ中における位置が固定されており、編集者が製品（半製品を含む）の内容を入力するための枠のことをいう。このような編集コマンド列で編集される生産スケジュールマスタデータ２０は、例えば、製鋼工程におけるキャストの順序、キャスト内のチャージの順序、熱延工程におけるサイクルの順序、サイクル内のスラブの順序を決める際に、用いられる。
【００５０】
図５に示す編集コマンド列は、３つの編集コマンドが配列されて構成されている。
「Ｂ：削除」は、項目「Ｂ」を削除することを指示する編集コマンドである。「Ｋ：挿入［Ｃ］」は、項目「Ｋ」を項目「Ｃ」の次の位置に挿入することを指示する編集コマンドである。「Ｈ：移動［Ｄ］」は、項目「Ｈ」を項目「Ｄ」の次の位置に移動することを指示する編集コマンドである。
【００５１】
尚、「削除」と「挿入」とが同じ項目に対して指示されている場合には、編集コマンドは、「移動」と規定される。
【００５２】
このような編集コマンド列は、生産スケジュール編集用データ２１に反映されて、図示するような生産スケジュール仮編集データ２２を生成する。
【００５３】
［項目入力枠が固定されていない場合における編集された項目の特定手法］
図６は、編集された項目を特定するために用いられる特定用テーブルＴ１を示す図である。尚、編集された項目の特定処理は、後述するように２度実行される。そのため、基礎となる生産スケジュールマスタデータ２０は、後述するように２種類準備される。
【００５４】
特定用テーブルＴ１は、複数の升目Ｍを碁盤状に配列している。複数の升目Ｍのうち、碁盤の外周に位置する項目配列升目Ｍ１２に、生産スケジュールマスタデータ２０に表された項目（Ａ〜Ｉ）と、生産スケジュール仮編集データ２２に表された項目（Ａ，Ｃ，Ｋ，Ｄ，Ｈ，Ｅ，Ｆ，Ｇ，Ｉ）とを、基準升目Ｍ１３を基準として、互いに垂直方向をなすように配列している。
【００５５】
特定部１６は、各升目Ｍより生産スケジュールマスタデータ２０及び生産スケジュール仮編集データ２２へ向けた垂線上の項目が共通しているか否かを判断する。特定部１６は、前記垂線上の項目が共通していると判断した場合には、その升目Ｍにおいて対角線となるラインを引く。特定部１６は、このように項目が共通している升目Ｍにおいて、対角線を、基準点Ｐ１から基準点Ｐ１とは碁盤上で対角線上に位置する頂点Ｐ２に向けたラインと並行に引き、ついで、基準点Ｐ１から頂点Ｐ２に向けた最短経路を求める。
【００５６】
このように基準点Ｐ１から頂点Ｐ２に向けた最短経路を求める手法は、例えばダイクストラの最短経路探索アルゴリズムが存在する。このような最短経路アルゴリズムにより、基準点Ｐ１から頂点Ｐ２に向けた最短経路を求めた後、特定部１６は、前記最短経路を基準点Ｐ１から頂点Ｐ２へと向けて辿り、前記最短経路が水平又は垂直方向である升目Ｍに対応する生産スケジュール仮編集データ中の項目が、生産スケジュールマスタデータ２０に対して編集されていると特定する。
【００５７】
図中、升目Ｍ１、Ｍ３、Ｍ５、Ｍ７〜Ｍ９、Ｍ１１は、最短経路アルゴリズムを実行する前に対角線が引かれた升目である。特定部１６は、最短経路アルゴリズムをこのような対角線を引いた状態で行う。最短経路アルゴリズムを行って最短経路を求めると、図示するように、升目Ｍ１、Ｍ３、Ｍ５、Ｍ７〜Ｍ９、Ｍ１１では最短経路が対角線状であるのに対し、升目Ｍ２、升目Ｍ４、升目Ｍ６、升目Ｍ１０では最短経路が水平又は垂直方向である。
【００５８】
特定部１６は、このように最短経路が対角線状である升目Ｍ１、Ｍ３、Ｍ５、Ｍ７〜Ｍ９、Ｍ１１は、対応する生産スケジュール仮編集データ中の項目が編集されていないと特定する。一方、最短経路が水平又は垂直である升目Ｍ２、Ｍ４、Ｍ６、Ｍ１０の垂線上に位置する生産スケジュール仮編集データ２２中の項目が、生産スケジュールマスタデータ２０に対して編集されていると特定する。
【００５９】
尚、特定部１６によって編集されていると特定された項目を表示装置３５０（図３）により表示すれば、編集者は、自身がどの項目を編集対象としているかを容易に視認することができる。
【００６０】
特定部１６は、先述した特定用テーブルＴ１を用いた特定処理を行うので、編集対象となっている項目及び編集対象となっていない項目を効率的に特定することができる。
【００６１】
また、このような最短経路アルゴリズムにより求められた最短経路は、升目Ｍ２においては水平方向（生産スケジュールマスタデータ２０の配列方向）である。升目Ｍ４においては垂直方向（生産スケジュール仮編集データ２２の配列方向）である。升目Ｍ６においては垂直方向である。升目Ｍ１０においては水平方向である。
【００６２】
従って、特定部１６は、升目Ｍ２及び升目Ｍ１０に対応する項目「Ｂ」、項目「Ｈ」が、生産スケジュール仮編集データ２２中で削除されたと特定する。
【００６３】
一方、特定部１６は、升目Ｍ４、升目Ｍ６に対応する項目「Ｋ」、項目「Ｈ」が、生産スケジュール仮編集データ２２中で挿入されたと特定する。
【００６４】
このように特定部１６は、最短経路が升目Ｍ２、Ｍ４、Ｍ６、Ｍ１０において水平方向か垂直方向であるかに応じて、項目が挿入されたか削除されたかを特定するので、項目が挿入されたか削除されたかを容易に特定することができる。
【００６５】
図７は、編集コマンド列の別例を示す図である。
【００６６】
［項目入力枠が固定されている場合における編集コマンド列］
項目入力枠とは、先述したように、予め生産スケジュールデータ中における位置が固定されており、編集者が製品（半製品）の内容を入力するための枠である。このように、項目入力枠が固定されている場合には、編集コマンドは以下の通りとなる。このような編集コマンド列で編集される生産スケジュールマスタデータ２０は、例えば、製鋼工程におけるチャージ内のスラブの順序を決める際に、用いられる。
【００６７】
「Ｂ：削除」は、項目「Ｂ」を削除することを指示する編集コマンドである。「Ｅ：移動［３］」は、項目「Ｅ」を最初の項目から数えて３番目の項目入力枠に移動することを指示する編集コマンドである。「Ｃ：移動［５］」は、項目「Ｃ」を最初の項目から数えて５番目の項目入力枠に移動することを指示する編集コマンドである。「Ｇ：挿入［７］」は、項目「Ｇ」を最初の項目から数えて７番目の項目入力枠に挿入することを指示する編集コマンドである。
【００６８】
このような編集コマンド列は、生産スケジュール編集用データ２１に反映されて、図示するような生産スケジュール仮編集データ２２を生成する。
【００６９】
［項目入力枠が固定されている場合における編集された項目の特定手法］
特定部１６は、図７に示されているように、生産スケジュールマスタデータ２０における項目入力枠と、生産スケジュール仮編集データ２２における項目入力枠とを対比する。そのため、特定部１６は、予め項目入力枠が固定されている生産スケジュールデータにおいて、どの項目が編集されたかを容易に特定することができる。尚、編集された項目の特定処理は、後述するように２度実行される。そのため、基礎となる生産スケジュールマスタデータ２０は、後述するように２種類準備される。
【００７０】
図７においては、特定部１６は、項目「Ｂ」は削除されていること、項目「Ｃ」は最初から５番目の項目に移動されていること、項目「Ｅ」は最初から３番目の項目に移動されていること、項目Ｇは最初から７番目の項目として挿入されていること、が特定できる。尚、特定部１６によって特定された項目を表示装置３５０（図３）により表示すれば、編集者は、自身がどの項目を編集対象としているかを容易に視認することができる。
【００７１】
［有効／無効判定テーブルの概要］
図８は、有効／無効判定テーブルＴ２の概要を示す図である。
判定部１７は、特定部１６により特定された編集対象とされている項目の変更の有効又は無効を有効／無効判定テーブルＴ２を用いて判定する。
【００７２】
有効／無効判定テーブルＴ２は、編集者別テーブルＴ２（＃１）、スケジュール別テーブルＴ２（＃２）、生産ライン別テーブルＴ２（＃３）で構成されており、それぞれ、編集者、スケジュール、生産ラインに応じて優先順位が割り当てられている。
【００７３】
図９は、判定部１７による編集コマンドの有効又は無効の判定処理の概要を示す図である。
【００７４】
［編集コマンドの有効又は無効判定処理］
判定部１７は、生産スケジュールマスタデータ２０中の項目の中で、特定部１６により特定された編集された項目と一致する項目にタグ情報ＴＧが付加されていれば、入力された編集コマンドの有効又は無効を判定する。
【００７５】
図示する生産スケジュールマスタデータ２０は、スケジュール順に沿って、項目「Ａ」、「Ｃ」、「Ｋ」、「Ｄ」、「Ｈ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｉ」、「Ｊ」の順に配列されており、最初に準備された生産スケジュールマスタデータ２０（図４（ａ））とは異なり、項目「Ｂ」が削除されている。また、項目「Ｋ」が項目「Ｃ」の次の位置に挿入されている。項目「Ｈ」が項目「Ｄ」の次の位置に移動している。項目「Ｊ」が項目「Ｉ」の次の位置に移動している。
【００７６】
そして、削除された項目「Ｂ」には編集者「Ａさん」を示すタグ情報ＴＧが付加されている。挿入された項目「Ｋ」には編集者「Ａさん」を示すタグ情報ＴＧが付加されている。移動された項目「Ｈ」には編集者「Ｅさん」を示すタグ情報ＴＧが付加されている。挿入された項目「Ｊ」には編集者「Ｂさん」を示すタグ情報ＴＧが付加されている。
【００７７】
また、生産スケジュールマスタデータ２０は、生産スケジュールを実行すべき生産ライン情報を含んでいる。図示する生産スケジュールマスタデータ２０は、「生産ラインｅ」を含んでいる。
【００７８】
一方、図示する生産スケジュール仮編集データ２２は、スケジュール順に沿って、項目「Ａ」、「Ｊ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」、「Ｉ」の順に配列されており、生産スケジュールマスタデータ２０とは異なり、項目「Ｊ」が項目「Ａ」の次の位置に挿入されようとしている。項目「Ｋ」が削除されようとしている。項目「Ｈ」が項目「Ｈ」の次の位置に移動されようとしている。また、生産スケジュール仮編集データ２２も、生産スケジュールマスタデータ２０と同様に、生産スケジュールを実行すべき生産ライン情報を含んでいる。図示する生産スケジュール仮編集データ２２は、「生産ラインａ」を含んでいる。
【００７９】
判定部１７は、生産スケジュール仮編集データ２２の編集者名を把握している。判定部１７は編集者名をログイン情報等により把握することができる。そのため、判定部１７は、生産スケジュール仮編集データ２２中で特定された編集対象とされている項目の編集者名を把握することができる。
【００８０】
判定部１７は、生産スケジュール仮編集データ２２中で特定された編集対象とされている項目と共通する項目が、生産スケジュールマスタデータ２０中に存在すれば、生産スケジュールマスタデータ２０中で付加されているタグ情報ＴＧにより、生産スケジュールマスタデータ２０における項目の編集者名を特定する。
【００８１】
次に、判定部１７は、生産スケジュール仮編集データ２２の編集者名と、タグ情報ＴＧにより特定した編集者名とに基づいて、いずれの編集者による編集を優先すべきかを判定することにより、生産スケジュール仮編集データ２２における編集コマンドの有効又は無効を判定する。この判定には、編集者別の有効／無効判定テーブルＴ２（＃１）（図８（ａ））を用いる。
【００８２】
また、判定部１７は、生産スケジュール仮編集データ２２における編集コマンドの有効又は無効を判定するために、スケジュール別の有効／無効判定テーブルＴ２（＃２）（図８（ｂ））や、生産ライン別の有効／無効判定テーブルＴ２（＃３）（図８（ｃ））を用いる。
【００８３】
以下、図１０を用いて、編集コマンドの有効又は無効の判定処理の概要を詳述する。図１０は、編集コマンドの有効又は無効の判定処理の概要を示す図である。尚、この判定処理は本発明の一実施形態であり、この例には限定されない。
【００８４】
判定部１７は、編集コマンドの有効又は無効の判定には、編集者別有効／無効判定テーブルＴ２（＃１）、スケジュール別有効／無効判定テーブルＴ２（＃２）、生産ライン別有効／無効判定テーブルＴ２（＃３）を順次参照する。
【００８５】
判定部１７は、生産スケジュールマスタデータ２０及び生産スケジュール仮編集データ２２の概要が図９に示すものであれば、以下の判定処理を行う。
【００８６】
［編集者別判定処理］
判定部１７は、生産スケジュールマスタデータ２０中に付加されたタグ情報ＴＧに示された編集者名と、生産スケジュール仮編集データ２２の編集者名とに基づいた判定処理を行う。以下の編集者別判定処理は、編集者により優先順位により項目の編集の有効又は無効を判定することができる。例えば、複数の生産ラインを統括するような編集者による編集を、個別の生産ラインを管轄する編集者による編集よりも優先的に扱うことができる。そのため、生産現場の全体を見据えて生産スケジュールを組むことができる。
具体的には、
１．「Ｊ：挿入［Ａ］」については、優先順位はＤさんとＢさんとで等しいので判定ができない。
２．「Ｋ：削除」については、優先順位はＤさんよりもＡさんが上なので、Ｄさんにより入力された編集コマンドを無効と判定する。
３．「Ｈ：移動［Ｇ］」については、優先順位はＤさんがＥさんよりも上なので、Ｄさんにより入力された編集コマンドを有効と判定する。
【００８７】
［スケジュール別判定処理］
判定部１７は、編集者別判定処理が不可能だった場合にスケジュール別判定処理を行う。以下のスケジュール別判定処理は、スケジュール時刻に基づいて編集コマンドの有効または無効を判定できる。よって、より生産現場の状況に即した生産スケジュールを組むことができる。
具体的には、
１．「Ｊ：挿入［Ａ］」については、優先順位は生産スケジュール仮編集データ中の順序のほうが、生産スケジュールマスタデータ中の順序よりも上なので、有効と判定する。
２．「Ｋ：削除」については、優先順位は、生産スケジュール仮編集データ中の順序と生産スケジュールマスタデータ中の順序とが同じなので、判定ができない。
３．「Ｈ：移動［Ｇ］」については、優先順位は生産スケジュール仮編集データ中の順序のほうが、生産スケジュールマスタデータ中の順序よりも下なので、無効と判定する。
【００８８】
［生産ライン別判定処理］
判定部１７は、編集者別判定処理とスケジュール別判定処理が不可能だった場合に生産ライン別判定処理を行う。
具体的には、
１．「Ｊ：挿入［Ａ］」、「Ｋ：削除」、「Ｈ：移動［Ｇ］」全てについては、優先順位は生産ラインａのほうが生産ラインｅよりも上なので、有効と判定する。
【００８９】
尚、編集者別、スケジュール別、生産ライン別と順次判定していっても、有効又は無効と判定ができない場合には、編集コマンドを無効と判断すればよい。以上、詳述したように、判定部１７は、編集コマンドの有効又は無効の判定を、編集者別、スケジュール別、生産ライン別の順番に行ったが、本発明はこの例には限られず、編集者別に判断された有効又は無効と、スケジュール別に判断された有効又は無効と、生産ライン別に判断された有効又は無効との組合せにより行ってもよい。例えば、編集者別、スケジュール別、生産ライン別というそれぞれの基準のうち、２以上の基準で有効と判断された場合のみに、編集コマンドを有効とすればよい。
【００９０】
［編集コマンド修正処理］
図１１は、有効と判定された編集コマンドの修正処理の概要を示す図である。生産スケジュール編集用データ２１が、項目「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」の順序で配列されており、これに反映させるべき編集コマンドが「Ｆ：挿入［Ｂ］」と「Ｇ：挿入［Ｆ］」であるとする。尚、これらの編集コマンドがそのまま生産スケジュール編集用データ２１に対して反映されることはないが、説明のため、これらの編集コマンドをそのまま反映させて生成した生産スケジュール仮編集データ２２を生産スケジュール仮編集データ（１）とする。
【００９１】
上述した有効又は無効の判定処理により、「Ｆ：挿入［Ｂ］」が無効と判定され、「Ｇ：挿入［Ｆ］」が有効と判定されたとする。その場合、「Ｇ：挿入［Ｆ］」は、項目「Ｇ」を項目「Ｆ」の次の位置に挿入する編集コマンドであるので、「Ｆ：挿入［Ｂ］」という編集コマンドが反映されないと、項目「Ｇ」をどの項目の次に挿入するかが判定できなくなる。
【００９２】
更新部１８は、判定部１７による判定結果を生産スケジュール編集用データ２１に反映させる前に、どの項目の次に挿入するか判定できなくなった項目「Ｇ」を、編集されていない項目「Ｂ」の次に挿入する指示を与える必要がある。そのため、更新部１８は、「Ｇ：挿入［Ｆ］」を「Ｇ：挿入［Ｂ］」に修正する。
【００９３】
このように更新部１８が、編集コマンドを必要に応じて修正するので、他の編集コマンドが生産スケジュール編集用データ２１に反映されなくなっても、生産スケジュールマスタデータ２０を正しく更新することができる。
【００９４】
［生産スケジュールマスタデータ更新］
図１２は、生産スケジュールマスタデータ更新の概要を示す図である。更新部１８は、無効とされた編集コマンドを削除する一方、有効とされた編集コマンドを反映させて、生産スケジュール仮編集データ２２を生成する。尚、有効とされた編集コマンドを、先述したように、必要に応じて修正する。
【００９５】
更新部１８は、生成された生産スケジュール仮編集データ２２を生産スケジュールマスタデータ２０に更新する。更新する際には、生産スケジュール編集用データ２１の編集者名を示すタグ情報ＴＧを付加する。
【００９６】
このように、更新する際に、生産スケジュール編集用データ２１の編集者名を示すタグ情報ＴＧを付加するので、後で他の編集者が更新された生産スケジュールマスタデータ２０を編集する際に、先述したように、タグ情報ＴＧを用いた編集コマンドの有効又は無効の判定処理が行われる。そのため、同一の項目の編集が競合することを防止できる。
【００９７】
尚、有効とされた編集コマンドのみが反映されて生成された生産スケジュール仮編集データを更新する前に、表示装置３５０がその生産スケジュール仮編集データを表示して、その内容で良いかどうかの確認を編集者に対して取るようにしてもよい。編集者はその内容で不服ならば編集操作をやり直すことになる。
【００９８】
［生産スケジュール編集処理のフローチャート］
図１３は、本実施形態に係る生産スケジュール編集処理のフローチャートである。この処理は、編集用端末１のプログラムによって行われる。
【００９９】
Ｓ１：受取部１３は、生産スケジュールデータ管理サーバ２と通信を行うことにより、生産スケジュールマスタデータ２０を受け取る。そして、受け取った生産スケジュールマスタデータ２０を記憶装置４２０（図３）の所定の記憶領域に記憶させる。
【０１００】
Ｓ２：複製部１４は、生産スケジュールマスタデータ２０を複製することにより、生産スケジュール編集用データ２１を生成する。そして、生成した生産スケジュール編集用データ２１を記憶装置４２０（図３）の所定の記憶領域に記憶させる。尚、生産スケジュール編集用データ２１の内容は、生産スケジュールマスタデータ２０の内容と同一である。
【０１０１】
Ｓ３：編集操作部１５は、生産スケジュール編集用データ２１に対する編集操作を受け付ける。編集者は、マウスやキーボード等を用いて編集操作を行う。
【０１０２】
Ｓ４：編集操作部１５は、入力された編集コマンドに基づいて生産スケジュール仮編集データを生成する。
【０１０３】
Ｓ５：特定部１６は、生産スケジュールマスタデータ２０と生産スケジュール仮編集データ２２とを対比することにより、生産スケジュールマスタデータ２０に対して、生産スケジュール仮編集データ２２中でどの項目が編集対象とされているかを特定する。このような編集対象の特定は後述するステップＳ７においても行われるので、図中ではステップ名は便宜上「編集コマンドの特定（１）」とされている。
【０１０４】
Ｓ６：受取部１３は、生産スケジュールデータ管理サーバ２より、再度、生産スケジュールマスタデータ２０を受け取り、記憶装置４２０の所定の記憶領域に記憶させる。後述するステップＳ７における編集コマンドの特定において用いるためである。
【０１０５】
Ｓ７：特定部１６は、再度、生産スケジュールマスタデータ２０と生産スケジュール仮編集データ２２とを対比することにより、生産スケジュール仮編集データ２２においてどの項目が編集対象とされているかを特定する。この特定処理は、先述したステップＳ５における特定処理「編集コマンドの特定（１）」とは、後述するように異なる処理であるため、便宜上、「編集コマンドの特定（２）」とされている。
【０１０６】
特定部１６は、ステップＳ７における特定処理を、最新の生産スケジュールマスタデータ２０に対して編集者がどの項目を編集対象としようとしているかを特定するために行う。ステップＳ１において受け取った時点の生産スケジュールマスタデータ２０は、他の編集者により既に編集されている可能性があるからである。
【０１０７】
Ｓ８：判定部１７は、ステップＳ６において受け取った生産スケジュールマスタデータ２０と、ステップＳ４において生成された生産スケジュール仮編集データ２２とに基づいて、編集コマンドの有効又は無効を判定する。
【０１０８】
Ｓ９，Ｓ１０：更新部１８は、ステップＳ８において有効とされた編集コマンドのみを反映した生産スケジュール仮編集データを生成し、生産スケジュールマスタデータ２０に更新する。更新部１８は、更新されたデータを、生産スケジュールデータ管理サーバ２と通信を行って送信する。
【０１０９】
尚、更新前に生産スケジュール仮編集データ２２を、更新部１８が表示装置３５０（図３）に表示してもよい。こうすれば、その時点で編集者が認証操作を行うことができる。編集者が認証操作を行えば、生産スケジュール仮編集データ２２が生産スケジュールマスタデータ２０に更新され、編集者がキャンセル操作を行えば、再度、ステップＳ３における編集操作を行う。
【図面の簡単な説明】
【０１１０】
【図１】本実施形態に係る生産スケジュール編集システムの全体構成を示す図である。
【図２】本実施形態に係る編集用端末の機能構成を示す図である。
【図３】本実施形態に係る編集用端末のハードウェア構成を示す図である。
【図４】生産スケジュールデータの概要を示す図である。
【図５】項目入力枠が固定されていない場合における編集コマンド列を示す図である。
【図６】編集された項目を特定するために用いられる特定用テーブルを示す図である。
【図７】項目入力枠が固定されている場合における編集コマンド列を示す図である。
【図８】有効／無効判定テーブルの概要を示す図である。
【図９】判定部による編集コマンドの有効又は無効の判定処理の概要を示す図である。
【図１０】編集コマンドの有効又は無効の判定処理の概要を示す図である。
【図１１】有効と判定された編集コマンドの修正処理の概要を示す図である。
【図１２】生産スケジュールマスタデータ更新の概要を示す図である。
【図１３】本実施形態に係る生産スケジュール編集処理のフローチャートである。
【符号の説明】
【０１１１】
１  編集用端末
２  生産スケジュールデータ管理サーバ
１３  受取部
１４  複製部
１５  編集操作部
１６  特定部
１７  判定部
１８  更新部
２０  生産スケジュールマスタデータ
２１  生産スケジュール編集用データ
２２  生産スケジュール仮編集データ
３５０  表示装置
４２０  記憶装置
Ｍ  升目
Ｍ１２  項目配列升目
Ｍ１３  基準升目
Ｎ  通信ネットワーク
Ｐ１  基準点
Ｐ２  頂点（基準点とは碁盤上において対向線上の頂点）
Ｔ１  特定用テーブル
ＴＧ  タグ
【図１】
0005164068.tif 000002
【図２】
0005164068.tif 000003
【図３】
0005164068.tif 000004
【図４】
0005164068.tif 000005
【図５】
0005164068.tif 000006
【図６】
0005164068.tif 000007
【図７】
0005164068.tif 000008
【図８】
0005164068.tif 000009
【図９】
0005164068.tif 000010
【図１０】
0005164068.tif 000011
【図１１】
0005164068.tif 000012
【図１２】
0005164068.tif 000013
【図１３】
0005164068.tif 000014