(57)【特許請求の範囲】
【請求項１】
製品の処理順序を計画した製造スケジュールの操業制約チェック装置であって、
チェック対象とする製品または製品群の特定情報と、演算子を用いた規制内容項目と該規制内容項目の値との関係または該関係の組み合わせによって表現された規制内容と、該規制内容を適用する規制範囲とを対応付けた制約条件を設定する設定手段と、
前記規制内容の構文解析を行って前記規制内容を表す構文木を作成する作成手段と、
前記特定情報によって特定される前記チェック対象の製品または製品群を基準として前記処理順序が前記規制範囲に属する製品または製品群について、前記構文木を用いて前記規制内容を満たすか否かを判定する判定手段と、
を備えることを特徴とする操業制約チェック装置。
【請求項２】
前記判定手段による判定結果を集約して、所定回数以上前記規制内容を満たさないと判定された制約条件の情報を通知する警報手段を備えることを特徴とする請求項１に記載の操業制約チェック装置。
【請求項３】
前記演算子および／または前記規制内容項目の値の変更操作に従って前記制約条件を更新する更新手段を備えることを特徴とする請求項１または２に記載の操業制約チェック装置。
【請求項４】
前記判定手段による判定結果を表示出力する出力手段と、
前記出力手段により表示出力された判定結果に対応付けられた制約条件を選択指定可能な選択手段と、を備え、
前記更新手段は、前記選択手段により選択指定された制約条件を更新する
ことを特徴とする請求項３に記載の操業制約チェック装置。
【請求項５】
前記判定手段による判定結果を集約し、所定回数以上前記規制内容を満たさないと判定された制約条件の情報を前記更新手段に通知する自動更新手段を備えることを特徴とする請求項３または４に記載の操業制約チェック装置。
【請求項６】
製品の処理順序を計画した製造スケジュールの操業制約チェック方法であって、
チェック対象とする製品または製品群の特定情報と、演算子を用いた規制内容項目と該規制内容項目の値との関係または該関係の組み合わせによって表現された規制内容と、該規制内容を適用する規制範囲とを対応付けた制約条件を設定する設定工程と、
前記規制内容の構文解析を行って前記規制内容を表す構文木を作成する作成工程と、
前記特定情報によって特定される前記チェック対象の製品または製品群を基準として前記処理順序が前記規制範囲に属する製品または製品群について、前記構文木を用いて前記規制内容を満たすか否かを判定する判定工程と、
を含むことを特徴とする操業制約チェック方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品の処理順序を計画した製造スケジュールの操業制約チェック装置および操業制約チェック方法に関するものである。
【背景技術】
【０００２】
従来から、最適化ソルバを用いたスケジューリング問題の解法が研究されており、例えば鉄鋼製品等の製品の製造スケジュールを計画するスケジューリング業務に適用されている。例えば、オペレーションズリサーチという学問分野で提案されている手法では、製造上の制約条件を数式で表現し、製造コスト等の評価関数値を最小化することで最適な製品の処理順序を決定している。また、一般に、スケジューリング問題等の組み合わせ最適化問題は、ＮＰ困難と呼ばれるクラスの問題に属しており、最適解の導出に多大な時間を要する場合がある。このため、遺伝的アルゴリズム（ＧＡ）やタブサーチ（ＴＳ）等のメタヒューリスティクスと呼ばれる手法を用いた近似解法によって処理の高速化を図ったものも知られている。
【０００３】
また、実際のスケジューリング業務においては、得られた解が最善の解ではない場合、例えば、その解に従った製造設備の操業が困難な場合もあるため、オペレータの納得が得られない事態も生じ得る。このため、例えば、オペレータの操作に従って解を部分的に作成し直すことができるようにした対話型のスケジューラも知られている（例えば特許文献１，２を参照）。
【０００４】
一方で、コンピュータ言語や自然言語等の対象言語の解析手法の１つとして、従来から、言語要素（文節）の関係によって対象言語を表した構文木を作成することで対象言語の意味を解析する構文解析と呼ばれる技術が知られており、コンパイラやインタプリタ、自然言語処理等で用いられている。例えば、特許文献３には、構文解析技術を利用して自然言語文からアプリケーション言語表現の構造を生成する手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−９３１１号公報
【特許文献２】特開２００９−９３１２号公報
【特許文献３】特開平６−２２２９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
製造設備の安全な操業を実現するためには、計画した製造スケジュールが上記した製造上の制約条件を満たすものであることが必要不可欠である。このため、製造スケジュールの計画は、その製品の処理順序が実際に制約条件を満たすか否かをチェックしつつ行う必要がある。ここで、このチェックをオペレータが行うこととすると、チェック漏れ等の人為的ミスの発生が懸念されるため、コンピュータによるチェック機能が求められている。
【０００７】
ところで、制約条件は、不変のものではなく頻繁に変更される上、その種類も様々である。このため、チェック機能のロジックに制約条件を直接埋め込んでしまうと、制約条件の変更作業が困難でメンテナンス性を著しく損なう。また、単なる数値テーブルでは、多様な制約条件を表現するのは困難である。したがって、制約条件を柔軟に解析する仕組みの構築は、チェック機能を長く使い続けるために非常に重要である。
【０００８】
本発明は、上記に鑑みてなされたものであって、制約条件を柔軟に解析し、製品の処理順序を計画するスケジューリング業務に要する負荷を軽減することができる操業制約チェック装置および操業制約チェック方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明にかかる操業制約チェック装置は、製品の処理順序を計画した製造スケジュールの操業制約チェック装置であって、チェック対象とする製品または製品群の特定情報と、演算子を用いた規制内容項目と該規制内容項目の値との関係または該関係の組み合わせによって表現された規制内容と、該規制内容を適用する規制範囲とを対応付けた制約条件を設定する設定手段と、前記規制内容の構文解析を行って前記規制内容を表す構文木を作成する作成手段と、前記特定情報によって特定される前記チェック対象の製品または製品群を基準として前記処理順序が前記規制範囲に属する製品または製品群について、前記構文木を用いて前記規制内容を満たすか否かを判定する判定手段と、を備えることを特徴とする。
【００１０】
また、本発明にかかる操業制約チェック装置は、上記の発明において、前記判定手段による判定結果を集約して、所定回数以上前記規制内容を満たさないと判定された制約条件の情報を通知する警報手段を備えることを特徴とする。
【００１１】
また、本発明にかかる操業制約チェック装置は、上記の発明において、前記演算子および／または前記規制内容項目の値の変更操作に従って前記制約条件を更新する更新手段を備えることを特徴とする。
【００１２】
また、本発明にかかる操業制約チェック装置は、上記の発明において、前記判定手段による判定結果を表示出力する出力手段と、前記出力手段により表示出力された判定結果に対応付けられた制約条件を選択指定可能な選択手段と、を備え、前記更新手段は、前記選択手段により選択指定された制約条件を更新することを特徴とする。
【００１３】
また、本発明にかかる操業制約チェック装置は、上記の発明において、前記判定手段による判定結果を集約し、所定回数以上前記規制内容を満たさないと判定された制約条件の情報を前記更新手段に通知する自動更新手段を備えることを特徴とする。
【００１４】
また、本発明にかかる操業制約チェック方法は、製品の処理順序を計画した製造スケジュールの操業制約チェック方法であって、チェック対象とする製品または製品群の特定情報と、演算子を用いた規制内容項目と該規制内容項目の値との関係または該関係の組み合わせによって表現された規制内容と、該規制内容を適用する規制範囲とを対応付けた制約条件を設定する設定工程と、前記規制内容の構文解析を行って前記規制内容を表す構文木を作成する作成工程と、前記特定情報によって特定される前記チェック対象の製品または製品群を基準として前記処理順序が前記規制範囲に属する製品または製品群について、前記構文木を用いて前記規制内容を満たすか否かを判定する判定工程と、を含むことを特徴とする。
【発明の効果】
【００１５】
本発明の操業制約チェック装置および操業制約チェック方法では、チェック対象とする製品または製品群の特定情報と、当該規制内容に応じた演算子を用いた規制内容項目とこの規制内容項目の値との関係またはこの関係の組み合わせによって表現された規制内容と、この規制内容を適用する規制範囲とを対応付けて制約条件を設定することとした。そして、規制内容を構文解析することで構文木を作成し、その規制範囲に属する製品または製品群が規制内容を満たすか否かを構文木を用いて判定することとした。これによれば、制約条件を柔軟に解析して製造スケジュールとして計画される製品の処理順序が制約条件を満たすか否かをチェックすることができ、製品の処理順序を計画するスケジューリング業務に要する負荷を軽減することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施の形態の操業制約チェック装置の機能構成の一例を示すブロック図である。
【図２】図２は、圧延制約マスターのデータ構成例を示す図である。
【図３】図３は、操業制約チェック処理の処理手順を示すフローチャートである。
【図４】図４は、制約条件判定処理の詳細な処理手順を示すフローチャートである。
【図５】図５は、構文木の一例を示す図である。
【図６】図６は、製造スケジュールを構成する１つのサイクルを示す図である。
【図７】図７は、規制内容判定処理の処理内容を説明する図である。
【図８】図８は、規制内容判定処理の処理内容を説明する他の図である。
【図９】図９は、制約条件更新処理の処理手順を示すフローチャートである。
【図１０】図１０は、既存の制約条件を修正する場合の具体例を示す図である。
【図１１】図１１は、新たに追加する制約条件が定義済みの項目や演算子によって表現できる場合の具体例を示す図である。
【図１２】図１２は、新たに追加する制約条件が定義済みの項目や演算子によって表現できない場合の具体例を示す図である。
【図１３】図１３は、本実施の形態の操業制約チェック装置の変形例の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の操業制約チェック装置および操業制約チェック方法を実施するための形態について、鉄鋼製品の製造プロセスの１つである熱間圧延プロセスを例にとって説明する。なお、この実施の形態によって本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１８】
熱間圧延プロセスは、圧延機において実施され、この圧延機の圧延ロールによってスラブと呼ばれる鋼板製品（以下、「圧延材」と呼ぶ。）をその仕様に応じた目的の厚さに引き伸ばす工程である。圧延ロールは、圧延材との接触によって磨耗し、表面状態が劣化するため、定期的に交換される。この熱間圧延プロセスにおける製造スケジュールは、圧延ロールを交換することなく熱間圧延プロセスを継続できる間を１サイクルとし、このサイクル毎の圧延材の処理順序として計画される。
【００１９】
ここで、熱間圧延プロセスにおける圧延材の処理（圧延）には、様々な制約条件がある。例えば、上記したように圧延ロールの表面状態は漸次劣化するため、要求される品質が高いものは圧延ロールが新しいうちに処理する必要がある。また、圧延ロールは、処理した圧延材の幅（仕上げ幅）に応じて段差状に磨耗する。この圧延ロールの変形が品質に影響しないようにするため、仕上げ幅の広い圧延材の後に仕上げ幅の狭い圧延材を処理する必要がある。その他にも、例えば、連続した処理を許容する／許容しない、あるいは制限する圧延材の種類（材種）、厚さ、幅（スラブ幅）、仕上げ幅、仕上げ厚、実施する特殊作業の種類といった圧延材の属性や、連続した処理を許容する／許容しない、あるいは制限するサイクルを規制した制約条件等、様々な制約条件が存在する。
【００２０】
したがって、熱間圧延プロセスにおける製造スケジュールでは、処理する圧延材の属性や各サイクルのサイクル名、サイクル種別等をもとに、そのサイクル毎の圧延材の処理順序またはサイクルの処理順序が前述の制約条件を満たすように計画されるが、この製造スケジュールの計画に際しては、上記したように、計画した処理順序が実際に制約条件を満たすか否かをチェックする必要がある。本実施の形態では、満たすべき制約条件が存在する圧延材またはサイクルの特定情報（チェック対象特定情報）と対応付けて該当する制約条件を設定しておく。そして、本実施の形態の操業制約チェック装置は、チェック対象特定情報によって特定される圧延材またはサイクルをチェック対象とし、個々のチェック対象がその制約条件を満たすか否かを判定することで、熱間圧延プロセスにおける製造スケジュールが全体として制約条件を満たしているか否かのチェックを行う。
【００２１】
なお、熱間圧延プロセスにおける製造スケジュールは、公知のスケジューラを用いて事前に計画される。また、スケジューラは、製造スケジュールを自動的に計画するものであってもよいし、例えば特許文献１や特許文献２に開示されているような、適宜ユーザ操作を受け付けながら製造スケジュールを作成する対話型のスケジューラであってもよい。
【００２２】
図１は、本実施の形態の操業制約チェック装置１の機能構成の一例を示すブロック図である。図１に示すように、操業制約チェック装置１は、例えばワークステーションやパソコン等の汎用コンピュータを用いて実現され、入力部１１と、表示部１３と、記憶部１５と、各部を制御する制御部１７とを含む。
【００２３】
入力部１１は、例えばキーボードやマウス、タッチパネル、各種スイッチ等の各種入力装置によって実現されるものであり、操作入力に応じた入力信号を制御部１７に出力する。表示部１３は、ＬＣＤやＥＬディスプレイ、ＣＲＴディスプレイ等の表示装置によって実現されるものであり、制御部１７から入力される表示信号をもとに各種画面を表示する。
【００２４】
記憶部１５は、更新記憶可能なフラッシュメモリ等のＲＯＭやＲＡＭといった各種ＩＣメモリ、内蔵あるいはデータ通信端子で接続されたハードディスク、ＣＤ−ＲＯＭ等の情報記憶媒体およびその読取装置等によって実現されるものである。この記憶部１５には、操業制約チェック装置１を動作させ、この操業制約チェック装置１が備える種々の機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め保存され、あるいは処理の都度一時的に保存される。例えば、記憶部１５には、圧延制約マスター１５１と、サイクル枠情報１５３と、サイクル明細情報１５５とが格納される。
【００２５】
圧延制約マスター１５１は、熱間圧延プロセスにおける圧延材の処理に関する制約条件を記憶する。図２は、圧延制約マスター１５１のデータ構成例を示す図である。図２に示すように、圧延制約マスター１５１は、チェック対象特定情報と対応付けて、対応する規制内容を適用する規制範囲と、対応する規制内容の規制種別と、該当する規制内容とが設定されたデータテーブルである。この圧延制約マスター１５１において、少なくとも規制内容は、例えば、等号、不等号または等号付き不等号（＝，＜，＞，≦，≧）等の関係演算子を用いて規制内容項目とその値との関係を示した演算式（以下、「単位演算式」と呼ぶ。）や、論理演算子（ＡＮＤ，ＯＲ，ＮＯＴ）等を用いた単位演算式の組み合わせ等によって表現される。なお、規制内容を表現するのに用いる演算子は例示した関係演算子や論理演算子に限定されるものではなく、規制内容は、適宜必要な演算子を用いた単位演算式やその組み合わせによって表現されたものであればよい。また、チェック対象特定情報や規制範囲、規制種別についても、適当な演算子を用いて対象特定項目や規制範囲項目、規制種別項目とその値との関係を示した単位演算式、あるいはその組み合わせによって表現されたものを適宜含む。この制約条件、具体的にはチェック対象特定情報、規制範囲、規制種別および規制内容を表現する対象特定項目、規制範囲項目、規制内容項目、規制種別項目等の各項目および演算子、実際にはこの演算子を用いた演算を実際に行うための関数は、事前に定義した上で用いる。
【００２６】
例えば、レコードＲ１１は、“チェック対象材番号”＝ＣＩＤ＿１０１によって特定される圧延材に対する制約条件であり、規制種別が「限定」であるので、対応する規制範囲の圧延材を、対応する規制内容を満たす圧延材に限定する。すなわち、チェック対象材番号として「ＣＩＤ＿１０１」が割り当てられたチェック対象の圧延材は、このチェック対象の直前の１本目〜２本目に処理される２本の圧延材の仕上げ厚が２．０ｍｍ以上で、かつ、幅殺し量が５０ｍｍ以下である場合に制約を満たし、それ以外の場合制約違反となる。ここで、幅殺し量は、下記式（１）によって定義される。
幅殺し量＝スラブ幅−仕上げ幅（圧延後のスラブ幅）  ・・・（１）
【００２７】
また、レコードＲ１３は、“材種”＝ａａによって特定される圧延材に対する制約条件であり、規制種別が「不可」であるので、対応する規制範囲の圧延材として、対応する規制内容に該当する圧延材を不可とする。すなわち、材種が「ａａ」であるチェック対象の圧延材は、同一サイクル内においてチェック対象よりも前方の圧延材の材種が「ｂｂ」または「ｃｃ」の場合、制約違反となる。
【００２８】
また、レコードＲ１５は、“チェック対象材番号”＝ＣＩＤ＿２０１によって特定される圧延材に対する制約条件であり、該当するチェック対象の圧延材は、その直前の１本目に処理される圧延材との仕上げ厚差が±１ｍｍの範囲内であり、かつ、仕上げ幅差が±１００ｍｍの範囲内の場合に制約を満たし、それ以外の場合制約違反となる。
【００２９】
サイクル枠情報１５３は、例えば、製造スケジュールを構成する各サイクルのサイクル名と対応付けて、該当するサイクルの処理順序、該当するサイクルのサイクル種別等が設定される。また、この他、サイクル間の圧延機の休止情報、トラブル情報等が設定される。
【００３０】
サイクル明細情報１５５は、製造スケジュールを構成するサイクル毎に、該当するサイクル内の圧延材に固有に割り当てられた圧延材番号と対応付けて、該当する圧延材のサイクル内での処理順序、該当する圧延材の属性（例えば材種や厚さ、スラブ幅、仕上げ幅、仕上げ厚、実施する特殊作業の種類）、該当する圧延材に割り当てられたチェック対象材番号等が設定される。なお、チェック対象材番号は、全ての圧延材番号に対して必ず設定されるものではなく、該当する圧延材が満たすべき制約条件に応じて、圧延制約マスター１５１においてその制約条件と対応付けられたチェック対象材番号が適宜設定される。また、設定されるチェック対象材番号は１つに限らず、満たすべき制約条件に応じたものが適宜複数設定される。
【００３１】
制御部１７は、ＣＰＵ等で実現され、入力部１１から入力される入力信号、記憶部１５に保存されるプログラムやデータ等をもとに、操業制約チェック装置１を構成する各部への指示やデータの転送等を行って操業制約チェック装置１の動作を制御する。この制御部１７は、作成手段としての構文解析処理部１７１と、判定手段としての制約条件判定処理部１７３と、設定手段および更新手段としての制約条件登録処理部１７５とを含む。
【００３２】
構文解析処理部１７１は、圧延制約マスター１５１にチェック対象の制約条件として記憶されている規制内容の構文解析処理を行い、構文木を作成する。制約条件判定処理部１７３は、構文解析処理部１７１が作成した構文木を用い、チェック対象が制約条件を満たすか否かを判定する。制約条件登録処理部１７５は、ユーザ操作に従い、新たな制約条件を圧延制約マスター１５１に登録し、あるいは圧延制約マスター１５１に登録されている既存の制約条件を修正する。
【００３３】
次に、操業制約チェック装置１が行う具体的な処理手順について説明する。図３は、操業制約チェック装置１が行う操業制約チェック処理の処理手順を示すフローチャートである。また、後述する図９は、制約条件更新処理の処理手順を示すフローチャートである。操業制約チェック装置１は、図３の処理手順に従って操業制約チェック処理を行い、図９の処理手順に従って制約条件更新処理を行うことで操業制約チェック方法を実施する。なお、ここで説明する処理は、操業制約チェック処理および制約条件更新処理を実現するためのプログラムを操業制約チェック装置１の記憶部１５に保存しておき、操業制約チェック装置１がこのプログラムを読み出して実行することで実現できる。また、この操業制約チェック処理は、例えば、入力部１１を介して計画済みの製造スケジュールとともにユーザにより制約条件のチェック指示操作が入力された時点で開始される。
【００３４】
先ず、操業制約チェック処理について説明する。この操業制約チェック処理では、図３に示すように、先ず、製造スケジュールを構成する各サイクルを順次対象サイクルとし、全てのサイクルについてループＡの処理を実行する（ステップａ１〜ステップａ１５）。このループＡでは、先ず、制御部１７が、対象サイクルがチェック対象か否かを判定する。具体的には、制御部１７の構文解析処理部１７１が、後述する図４のステップｂ５と同様の要領で構文解析処理を行い、圧延制約マスター１５１に設定されている全てのチェック対象特定情報について順番に構文木を作成する。そして、制御部１７が、作成した構文木を用いて対象サイクルがチェック対象特定情報に該当するサイクルか否かを判定していく。
【００３５】
そして、チェック対象特定情報に該当すると判定した場合に対象サイクルをチェック対象と判定し（ステップａ３：Ｙｅｓ）、そのチェック対象特定情報が設定された制約条件を用いた制約条件判定処理を行う（ステップａ５）。なお、このとき、対象サイクルが複数のチェック対象特定情報に該当する場合には、各制約条件のそれぞれについてステップａ５の制約条件判定処理を行う。一方、制御部１７は、対象サイクルが圧延制約マスター１５１に設定されているチェック対象特定情報のいずれにも該当しない場合には、対象サイクルがチェック対象ではないと判定する（ステップａ３：Ｎｏ）。
【００３６】
以上のようにして対象サイクルについて制約条件判定処理を行ったならば、続いて、対象サイクル内の圧延材を処理順序が先頭のものから順番に処理対象とし、処理対象の圧延材についてループＢの処理を実行する（ステップａ７〜ステップａ１３）。
【００３７】
このループＢでは、制御部１７は、先ず、処理対象の圧延材がチェック対象材か否かを判定する。ここでの処理は、ステップａ３と同様に、先ず、制御部１７の構文解析処理部１７１が構文解析処理を行い、圧延制約マスター１５１に設定されている全てのチェック対象特定情報について順番に構文木を作成する。そして、制御部１７が、作成した構文木を用いて処理対象の圧延材がチェック対象特定情報に該当する圧延材か否かを順番に判定していく。
【００３８】
そして、チェック対象特定情報に該当すると判定した場合に処理対象の圧延材をチェック対象と判定し（ステップａ９：Ｙｅｓ）、そのチェック対象特定情報が設定された制約条件を用いた制約条件判定処理を行う（ステップａ１１）。なお、このとき、処理対象の圧延材が複数のチェック対象特定情報に該当する場合には、各制約条件のそれぞれについてステップａ１１の制約条件判定処理を行う。一方、制御部１７は、処理対象の圧延材が圧延制約マスター１５１に設定されているチェック対象特定情報のいずれにも該当しない場合には、処理対象の圧延材がチェック対象ではないと判定する（ステップａ９：Ｎｏ）。
【００３９】
ここで、ステップａ５およびステップａ１１の制約条件判定処理について説明する。図４は、制約条件判定処理の詳細な処理手順を示すフローチャートである。この制約条件判定処理では、図４に示すように、先ず、制御部１７は、圧延制約マスター１５１から前段の図３のステップａ３またはステップａ９で該当すると判定したチェック対象特定情報の制約条件を読み出す（ステップｂ１）。続いて、制御部１７は、ステップｂ１で読み出した制約条件から、規制範囲、規制種別および規制内容をそれぞれ抽出する（ステップｂ３）。例えば、チェック対象材番号として「ＣＩＤ＿１０１」が割り当てられた圧延材について制約条件判定処理を行う場合、図２に示すレコードＲ１１の規制範囲「直前：１〜２」、規制種別「限定」、および規制内容「“仕上げ厚”≧２．０ｍｍ  ＡＮＤ  “幅殺し量”≦５０ｍｍ」を抽出する。
【００４０】
続いて、制御部１７は、ステップｂ３で抽出した規制範囲内のサイクルまたは圧延材を特定する（ステップｂ４）。このとき、抽出した規制範囲が、関係演算子を用いた単位演算式やその組み合わせによって表現されている場合には、制御部１７の構文解析処理部１７１が後述するステップｂ５と同様の要領で構文解析処理を行い、構文木を作成する。そして、制御部１７が、作成した構文木を用いて規制範囲に属するサイクルまたは圧延材を特定する。
【００４１】
続いて、構文解析処理部１７１が公知の構文解析処理を行い、ステップｂ３で抽出した規制内容の構文木を作成する（ステップｂ５）。この構文解析処理では、規制内容が１つの単位演算式で構成されている場合には、単位演算式を構成する関係演算子を親ノードとし、この親ノードとした関係演算子によって関係が示される規制内容項目とその値とをそれぞれ子ノードとして、子ノードのそれぞれを親ノードと連結することで単位演算式を表す構造木を作成する。規制内容が論理演算子を含み、複数の単位演算式で構成されている場合には、先ず、論理演算子の前後で規制内容を分解することで単位演算式を抽出し、抽出した単位演算式を表す部分木をそれぞれ作成する。その後、作成した各部分木の上層に論理演算子のノードをさらに追加し、構文木を作成する。
【００４２】
図５は、図２に示すレコードＲ１１の規制内容「“仕上げ厚”≧２．０ｍｍ  ＡＮＤ  “幅殺し量”≦５０ｍｍ」の構文木Ｔ２を示す図である。この構文木Ｔ２の作成手順を簡単に説明すると、先ず、論理演算子「ＡＮＤ」の前後で規制内容を分解する。次いで、前側の単位式「“仕上げ厚”≧２．０ｍｍ」をもとに、等号付き不等号「≧」を親ノードＮ２２とし、規制内容項目である「仕上げ厚」とその値である「２．０」とを子ノードＮ２１１，Ｎ２１２として部分木Ｔ２１を作成する。同様に、「ＡＮＤ」の後ろ側の単位式「“幅殺し量”≦５０ｍｍ」をもとに、等号付き不等号「≦」を親ノードＮ２４とし、規制内容項目である「幅殺し量」とその値である「５０」とを子ノードＮ２３１，Ｎ２３２として部分木Ｔ２２を作成する。そして、論理演算子「ＡＮＤ」のノードＮ２５を部分木Ｔ２１，Ｔ２２の上層に追加し、各部分木Ｔ２１，Ｔ２２の親ノードＮ２２，Ｎ２４との間をそれぞれ連結して構文木Ｔ２を得る。本実施の形態では、後段の処理において、この構文木Ｔ２を用いてチェック対象が制約条件を満たすか否かの判定結果Ｒ２を出力する。
【００４３】
すなわち、以上のようにして構文木を作成したならば、図４に示すように、続いて制約条件判定処理部１７３が、ステップｂ４で特定した規制範囲内のサイクルまたは圧延材を制約適用対象とし、制約適用対象毎にループＣの処理を実行する（ステップｂ７〜ステップｂ１１）。
【００４４】
図６は、製造スケジュールを構成する１つのサイクルＳを示す図である。上記したように、製造スケジュールを構成する各サイクルＳは、同じ圧延ロールで処理される圧延材の処理順序を計画したものであり、サイクルＳ内には、幅や厚さの異なる複数の圧延材Ｏが混在する。ここで、図３のループＢでは、サイクルＳ内の圧延材Ｏがチェック対象か否かを先頭から順番に判定していくが、この処理において、圧延材Ｏ３１をチェック対象と判定したとする。そして、図４のステップｂ３で抽出した規制範囲が図２に示すレコードＲ１１の規制範囲「直前：１〜２」であったとする。この場合には、ステップｂ４で特定される規制範囲内の圧延材は、図６に示すチェック対象の圧延材Ｏ３１の直前の２本の圧延材Ｏ３２，Ｏ３３となり、図４に示すループＣの処理は、これら圧延材Ｏ３２，Ｏ３３を順次制約適用対象として各圧延材Ｏ３２，Ｏ３３についてそれぞれ行われる。
【００４５】
すなわち、図４に示すように、ループＣでは、制約条件判定処理部１７３は、ステップｂ３で抽出した規制種別に従い、ステップｂ５で作成した構造木を用いて制約適用対象が規制内容を満たすか否かを判定する（規制内容判定処理；ステップｂ９）。
【００４６】
図７および図８は、図５に示した構文木Ｔ２を用いた規制内容判定処理の具体的な処理内容を説明する図である。本実施の形態では、構文木Ｔ２は、図７（ａ）に示すように、予め記憶部１５に確保されるデータバッファに各ノードＮ２１１，Ｎ２１２，Ｎ２２，Ｎ２３１，Ｎ２３２，Ｎ２４，Ｎ２５のデータを格納しておくことで保持される。
【００４７】
このデータバッファへの格納は、構文木が部分木を含む場合には、部分木毎に、子ノードのデータから順番に行われる。すなわち、図７（ａ）の例では、データバッファのデータバッファ位置＝１によって示される格納領域Ｅ４１に図５に示す部分木Ｔ２１の子ノードＮ２１１のデータ「仕上げ厚」が格納され、データバッファ位置＝２によって示される格納領域Ｅ４２に子ノードＮ２１２のデータ「２．０」が格納される。そして、その後ろのデータバッファ位置＝３によって示される格納領域Ｅ４３に親ノードＮ２２のデータ「≧」が格納される。同様にして、さらに後ろのデータバッファ位置＝４，５によって示される格納領域Ｅ４４，Ｅ４５に、図５の部分木Ｔ２２の子ノードＮ２３１，Ｎ２３２のデータ「幅殺し量」「５０」が格納され、その後ろのデータバッファ位置＝６によって示される格納領域Ｅ４６に親ノードＮ２４のデータ「≦」が格納される。そして、最後尾のデータバッファ位置＝７によって示される格納領域Ｅ４７に、最上層のノードＮ２５のデータ「ＡＮＤ」が格納される。
【００４８】
ここで、図７（ａ）の格納領域Ｅ４１，Ｅ４４のデータ「仕上げ厚」「幅殺し量」は規制内容項目である。規制内容判定処理では、先ず、制約適用対象の該当する規制内容項目の値を取得する。「仕上げ厚」については、その圧延材の仕上げ厚の値をサイクル明細情報１５５から読み出して取得する。「幅殺し量」については、スラブ幅および仕上げ幅の各値をサイクル明細情報１５５から読み出し、上記した式（１）に従って幅殺し量の値を算出することで取得する。そして、取得した各値を、該当する規制内容項目の格納領域Ｅ４１，Ｅ４４に書き込んで更新する。例えば、制約適用対象の圧延材の仕上げ厚が２．３ｍｍ、幅殺し量が１５ｍｍである場合には、図７（ｂ）に示すように、格納領域Ｅ４１を「２．３」、格納領域Ｅ４４を「１５」にそれぞれ更新する。
【００４９】
次いで、先頭のデータバッファ位置＝１の格納領域Ｅ４１から順番にデータを読み出し、記憶部１５に別途確保される計算バッファに書き込みながら構文木を構成する関係演算子や論理演算子が指示する演算を行う。すなわち、図８（ａ）に示すように、先ず、データバッファ位置＝１のデータ「２．３」を計算バッファの先頭の格納領域Ｅ５１に書き込み、データバッファ位置＝２のデータ「２．０」を２番目の格納領域Ｅ５２に書き込む。そして、計算バッファに書き込んだデータが関係演算子の場合には、直前の２つの格納領域のデータが数値データであれば、これら２つの数値データについて関係演算子を用いた演算を行う。この演算は、該当する関係演算子について事前に定義される関数に２つの数値データをパラメータとして与えることで実現できる。図８（ａ）の例では、格納領域Ｅ５１，Ｅ５２のデータ「２．３」「２．０」は数値データであるので、データバッファ位置＝３のデータ「≧」を３番目の格納領域Ｅ５３に書き込んだ時点で、格納領域Ｅ５１，Ｅ５２のデータ「２．３」「２．０」に対して関係演算子「≧」を用いた演算を行う。ここで、この関係演算子「≧」についての関数は、前側のデータが後ろ側のデータ以上か否かの結果（ｔｒｕｅ／ｆａｌｓｅ）を出力する関数として定義される。以上のようにして演算を行ったならば、今回の演算に用いたデータをクリアして結果データを計算バッファに書き込む。具体的には、図８（ｂ）に示すように、格納領域Ｅ５１〜Ｅ５３をクリアして結果データ「ｔｒｕｅ」を計算バッファの先頭の格納領域Ｅ５１に書き込む。
【００５０】
その後は、同様に次の関係演算子を格納するまでデータバッファのデータを順次読み出して計算バッファに書き込んでいく。すなわち、データバッファ位置＝４，５，６のデータ「１５」「５０」「≦」を計算バッファの２番目以降の格納領域Ｅ５２，Ｅ５３，Ｅ５４に順次書き込む。そして、格納領域Ｅ５２，Ｅ５３のデータ「１５」「５０」に対して格納領域Ｅ５４に書き込んだ関係演算子「≦」を用いた演算を行う。この関係演算子「≦」についての関数は、前側のデータが後ろ側のデータ以下か否かの結果（ｔｒｕｅ／ｆａｌｓｅ）を出力する関数として定義される。その後、図８（ｃ）に示すように、格納領域Ｅ５２〜Ｅ５４をクリアして結果データ「ｔｒｕｅ」を計算バッファの２番目の格納領域Ｅ５２に書き込む。
【００５１】
また、計算バッファに書き込んだデータが論理演算子の場合には、直前の２つの格納領域のデータが結果データ（ｔｒｕｅ／ｆａｌｓｅ）であれば、これら２つの結果データについて論理演算子を用いた演算を行う。例えば、論理演算子が「ＡＮＤ」であれば２つの結果データの論理積を算出し、論理演算子が「ＯＲ」であれば２つの結果データの論理和を算出し、論理演算子が「ＮＯＴ」であれば２つの結果データの論理否定を算出する。図８（ｃ）の例では、格納領域Ｅ５１，Ｅ５２のデータ「ｔｒｕｅ」「ｔｒｕｅ」が結果データであるので、データバッファ位置＝７のデータ「ＡＮＤ」を３番目の格納領域Ｅ５３に書き込んだ時点で、格納領域Ｅ５１，Ｅ５２のデータ「ｔｒｕｅ」「ｔｒｕｅ」の論理積を算出する。以上のようにして演算を行ったならば、今回の演算に用いたデータをクリアして結果データを計算バッファに書き込む。具体的には、図８（ｄ）に示すように、格納領域Ｅ５１〜Ｅ５３をクリアして結果データ「ｔｒｕｅ」を計算バッファの先頭の格納領域Ｅ５１に書き込む。
【００５２】
最終的に、以上の処理をデータバッファの最後尾まで行った時点で計算バッファに格納されている結果データ、本例では「ｔｒｕｅ」が、規制内容判定処理の判定結果となる。
【００５３】
以上のように、規制内容判定処理を行ったならば、図４に示すように、処理対象の制約適用対象についてのループＣの処理を終える。そして、全ての制約適用対象についてループＣの処理を実行したならば、制約条件判定処理部１７３は、チェック対象が制約条件を満たすか否かを判定する（ステップｂ１３）。具体的には、制約条件判定処理部１７３は、制約適用対象毎に行った全ての規制内容判定処理の判定結果が「ｔｒｕｅ」であれば、チェック対象が制約条件を満たすと判定する。一方、制約適用対象毎に行った規制内容判定処理の判定結果が１つでも「ｆａｌｓｅ」の場合は、チェック対象が制約条件を満たさないと判定する。その後、図３のステップａ５またはステップａ１１にリターンする。
【００５４】
そして、図３において、対象サイクル内の全ての圧延材についてループＢの処理を実行したならば、対象サイクルについてのループＡの処理を終える。そして、製造スケジュールを構成する全てのサイクルを対象サイクルとしてループＡの処理を実行したならば、制御部１７は、制約条件の判定結果を表示部１３に表示する処理を行う（ステップａ１７）。例えば、サイクル毎に各サイクル内の圧延材を処理順序に従った順番で一覧表示するとともに、チェック対象としたサイクルおよび圧延材に対する制約条件の判定結果（ｔｒｕｅ／ｆａｌｓｅ）の表示を行う。なお、この判定結果の表示形態はどのようなものであってもよく、例えば、判定結果が「ｆａｌｓｅ」であるサイクルおよび圧延材を一覧中で識別可能に表示するものであってもよいし、各サイクルおよびそのサイクル内の圧延材の処理順序が制約条件を満たすか否かの判定結果を表示するものであってもよい。すなわち、チェック対象とされた全てのサイクルおよび圧延材に対する制約条件の判定結果が全て「ｔｒｕｅ」の場合に製造スケジュールが制約条件を満たし、１つでも「ｆａｌｓｅ」の場合に製造スケジュールが制約条件を満たさないとする判定結果を表示するようにしてもよい。また、このとき、「ｆａｌｓｅ」であるサイクルや圧延材について、満たさないと判定した制約条件の内容を併せて表示するようにしてもよい。これによれば、制約条件を満たすためにどのようなサイクルや圧延材を処理すればよいのかをユーザに対して提示することが可能となる。
【００５５】
次に、制約条件更新処理について説明する。この制約条件更新処理は、例えば、入力部１１を介してユーザによる制約条件の更新指示操作が入力された時点で行われる。この更新指示操作が入力された場合には、制約条件登録処理部１７５が、図９に示す制約条件更新処理に先立ち、修正対象の制約条件の選択操作およびその変更内容の入力操作や、制約条件の新規追加指示操作およびその追加内容の入力操作を受け付ける入力画面を表示部１３に表示する処理を行う。
【００５６】
そして、制約条件更新処理では、図９に示すように、制約条件登録処理部１７５は、先ず、ユーザが既存の制約条件を選択し、その変更内容を入力した場合には、既存の制約条件を修正すると判定する（ステップｃ１：Ｙｅｓ）。この場合には、選択された修正対象の制約条件を入力された変更内容に従って変更し、圧延制約マスター１５１を更新する（ステップｃ３）。
【００５７】
図１０は、既存の制約条件を修正する場合の具体例を示す図であり、図１０中の上段において修正前の既存の制約条件を示し、下段において修正後の制約条件を示している。この図１０に示す修正前の既存の制約条件は、厚さが２．４ｍｍで、かつ材種が軟鋼である圧延材をチェック対象とし、このチェック対象の圧延材より前に処理される１３本の圧延材についてその仕上げ厚およびチェック対象との仕上げ幅差を３段階で限定したものである。なお、図１０に示す規制内容は、１つのチェック対象特定情報に対応する範囲を指定するブロック記号Ｂ６１，Ｂ６３を含む。
【００５８】
ここで、操業時において、このチェック対象の圧延材に対する制約条件として定められた規制範囲および規制内容が緩和されたとする。具体的には、規制範囲がチェック対象の圧延材より前に処理される１０本に緩和され、仕上げ厚が大きい側の幅つなぎが緩和されたとする。この場合には、修正後の制約条件を定めるのに用いる項目や演算子に変更はないため、ユーザ操作に従って必要な項目の値を変更して圧延制約マスター１５１を更新することで、制約条件を最新のものにすることができる。ユーザにとっては、修正対象の制約条件を選択し、変更が必要な項目の値を入力するだけでよい。
【００５９】
一方、図９に示すように、制約条件登録処理部１７５は、ユーザが制約条件の新規追加を指示し、その追加内容を入力した場合には、新たに制約条件を追加すると判定する（ステップｃ５：Ｙｅｓ）。この場合には、制約条件登録処理部１７５は、追加する制約条件が、定義済みの対象特定項目、規制範囲項目、規制内容項目、規制種別項目等の各項目や、その関数が既に定義されている演算子によって表現することが可能か否かを判定する。ここでの判定は、ユーザ操作に従って行う。すなわち、制約条件登録処理部１７５は、追加内容の入力操作としてユーザが定義済みの項目や演算子を選択し、選択した項目の値を入力した場合には、追加する制約条件が定義済みの項目や演算子によって表現できると判定する（ステップｃ７：Ｙｅｓ）。この場合には、ステップｃ１１に移行し、制約条件登録処理部１７５は、入力された追加内容に従って新たな制約条件のレコードを追加し、圧延制約マスター１５１を更新する。
【００６０】
図１１は、新たに制約条件を追加する場合であって、追加する制約条件が定義済みの項目や演算子によって表現できる場合の具体例を示す図である。例えば、あるサイクルについて前後のサイクルとの関係を定めた制約条件が新たに追加されたとする。具体的には、あるサイクルに対し、処理順序がその直前または直後となった場合に警告を出力するサイクルと、その直前または直後の処理を不可とするサイクルとが新たに制約条件として定められたとする。ここで、この制約条件を表現するのに必要な項目や演算子が全て定義済みであったとする。この場合には、項目や演算子を新たに定義する必要はないため、例えば、その制約条件が追加されたサイクルのサイクル名をチェック対象特定情報とする。また、規制範囲、規制種別、および規制内容を表現するのに必要な項目およびその値と、これらの関係を示す演算子とをユーザ操作に従って設定し、これらを対応付けたレコードを追加して圧延制約マスター１５１を更新することで、制約条件を最新のものにすることができる。ユーザにとっては、定義済みの項目や演算子の中から規制範囲、規制種別、および規制内容をそれぞれ表現するのに必要なものを選択し、その値を入力するだけでよい。
【００６１】
これに対し、追加内容の入力操作としてユーザが未定義の項目や演算子を入力した場合には、図９に示すように、制約条件登録処理部１７５は、追加する制約条件が定義済みの項目や演算子によって表現できないと判定する（ステップｃ７：Ｎｏ）。この場合には、制約条件登録処理部１７５は、未定義の項目や未定義の演算子についての関数を定義し（ステップｃ９）、その後ステップｃ１１に移行して、入力された追加内容に従って新たな制約条件のレコードを追加し、圧延制約マスター１５１を更新する。
【００６２】
図１２は、新たに制約条件を追加する場合であって、追加する制約条件が定義済みの項目や演算子によって表現できない場合の具体例を示す図である。例えば、ある圧延材について、前方スラブ幅累計が５０ｍの範囲内での処理を不可とする材種が制約条件として新たに定められたとする。ここで、現時点で「前方スラブ幅累計」が制約条件を表す項目として未定義であったとする。この場合には、この「前方スラブ幅累計」を、チェック対象の直前に処理される圧延材から順番にそのスラブ幅を累計した値として定義する。その後、例えば、その圧延材にチェック対象材番号（図１２では「ＣＩＤ＿３０１」）を割り当ててサイクル明細情報１５５に設定するとともに、割り当てたチェック対象材番号をチェック対象特定情報とする。また、規制範囲、規制種別、および規制内容を表現するのに必要な項目およびその値と、これらの関係を示す演算子とをユーザ操作に従って設定し、これらを対応付けたレコードを追加して圧延制約マスター１５１を更新することで、制約条件を最新のものにすることができる。
【００６３】
なお、制約条件更新処理は、前述した操業条件チェック処理の判定結果をトリガにしてもよい。例えば、表示部１３に表示された判定結果が「ｆａｌｓｅ」のもののうちの１つをユーザが選択する入力操作を行うと、制約条件登録処理部１７５は、制約条件更新処理を開始させ、選択された制約条件を修正すると判定し（上記ステップｃ１，Ｙｅｓ）、後続の処理に移行させるようにする。このようにすれば、制約条件更新処理がより簡易になり効率が上がる。また、必要な制約条件の更新の漏れを防止できる。したがって、操業制約チェック装置１のメンテナンスを簡易かつ確実に行うことができる。
【００６４】
（変形例）
図１３は、本実施の形態の操業制約チェック装置１の変形例の機能構成を示すブロック図である。図１３に示す変形例の操業制約チェック装置１００は、記憶部１５に判定結果ＤＢ１５７が格納される点のみが図１の操業制約チェック装置１と異なる。この判定結果ＤＢ１５７には、上記ステップａ１７の処理で表示部１３に表示された本実施の形態の操業制約チェック処理の判定結果が適当な形式で保存される。
【００６５】
保存された操業制約チェック処理の判定結果は、判定結果ＤＢ１５７から取り出して活用できる。例えば、制御部１７は、取り出した判定結果を集約し、判定結果が「ｆａｌｓｅ」である回数が所定の閾値以上である制約条件について、ユーザに注意を促す旨の通知を出力することができる。この通知の出力形態も様々な形態を採用可能である。例えば、制御部１７は、製造スケジュールの作成開始前や作成中に、判定結果が「ｆａｌｓｅ」である回数が多い順に制約条件の一覧を表示させたり、上位の所定数の制約条件を表示させたりするとよい。その場合には、製造スケジュールを作成するユーザの技術向上や作業時間の短縮を期待できる。また、制御部１７は、判定結果を製造スケジュールを作成したユーザの識別子と対応づけて判定結果ＤＢ１５７に保存しておき、該当のユーザが製造スケジュールを作成する際などに、「ｆａｌｓｅ」である回数が多い制約条件を通知してもよい。その場合には、該当のユーザに的確に「ｆａｌｓｅ」である回数が多い制約条件が通知されるので、さらに製造スケジュールの作成の効率化が可能となる。
【００６６】
さらに、判定結果ＤＢ１５７に保存された判定結果に基づいて、判定結果が「ｆａｌｓｅ」である回数が所定の閾値を上回った場合に、自動的に制約条件更新処理が開始されるようにしてもよい。例えば、過去の操業の実績データに対応する製造スケジュールについての操業制約チェック処理の判定結果を判定結果ＤＢ１５７に保存しておく。そして、ユーザが入力部１１を介して操業の実情に合わなくなった制約条件を更新（緩和）する旨の指示入力を行なった場合に、制御部１７は、判定結果ＤＢ１５７から取り出した判定結果を集約し、判定結果が「ｆａｌｓｅ」である回数が所定の閾値以上の制約条件について、制約条件更新処理を開始させるようにする。そして、制約条件登録処理部１７５は、制約条件を修正すると判定し（上記ステップｃ１，Ｙｅｓ）、後続の処理に移行させる。このような処理によれば、操業の実情に合わなくなった制約条件の更新（緩和）の漏れを防止できる。したがって、操業制約チェック装置１００のメンテナンスを簡易かつ確実に行うことができる。
【００６７】
以上説明したように、本実施の形態では、少なくとも規制内容を、規制内容項目とその値との関係を演算子を用いて示した単位演算式やその組み合わせによって表現することとした。そして、規制内容の構文木を作成し、構文木を構成する演算子が指示する演算を行うことでその規制範囲内のサイクルまたは圧延材が規制内容を満たすか否かを判定し、満たすべき制約条件が存在するサイクルや圧延材のそれぞれが該当する制約条件を満たすか否かを判定することとした。したがって、本実施の形態によれば、制約条件を柔軟に解析し、製造スケジュールとして計画される製品の処理順序が制約条件を満たすか否かを確実にチェックすることができる。
【００６８】
そして、ユーザにとっては、既存の制約条件の修正や、新たな制約条件の追加が必要な場合であっても、その制約条件を定めるのに必要な項目や演算子を適宜定義しつつ、その項目の値や演算子を指定することで制約条件の修正・追加が可能である。実際に、上記したように、制約条件は不変のものではなく頻繁に変更される上、その種類も様々であるが、本実施の形態によれば、チェック機能のロジックを構築し直すといった作業をすることなく容易に制約条件を修正し、あるいは新たに追加することができる。したがって、既存の制約条件の修正や、新たな制約条件の追加が必要な場合のメンテナンス性の向上が図れ、製品の処理順序を計画するスケジューリング業務に要する負荷を軽減することが可能となる。結果、スケジューリング業務に要する時間の短縮が図れ、チェック漏れ等の人為的ミスの発生を防止できる。
【００６９】
なお、本実施の形態では、熱間圧延プロセスにおける製造スケジュールの制約条件をチェックする場合について説明したが、その他の製造工程における製品の処理順序を計画した製造スケジュールが制約条件を満たすか否かのチェックにも同様に適用できる。また、鉄鋼製品の製造プロセスに限らず、各種製品の製造プロセスにおける製品の処理順序を計画した製造スケジュールが制約条件を満たすか否かのチェックに同様に適用が可能である。
【産業上の利用可能性】
【００７０】
以上のように、本発明の操業制約チェック装置および操業制約チェック方法は、制約条件を柔軟に解析し、製品の処理順序を計画するスケジューリング業務に要する負荷を軽減するのに適している。
【符号の説明】
【００７１】
１，１００    操業制約チェック装置
１１    入力部
１３    表示部
１５    記憶部
１５１    圧延制約マスター
１５３    サイクル枠情報
１５５    サイクル明細情報
１５７    判定結果ＤＢ
１７    制御部
１７１    構文解析処理部
１７３    制約条件判定処理部
１７５    制約条件登録処理部
【図１】
0005874329.tif 000002
【図２】
0005874329.tif 000003
【図３】
0005874329.tif 000004
【図４】
0005874329.tif 000005
【図５】
0005874329.tif 000006
【図６】
0005874329.tif 000007
【図７】
0005874329.tif 000008
【図８】
0005874329.tif 000009
【図９】
0005874329.tif 000010
【図１０】
0005874329.tif 000011
【図１１】
0005874329.tif 000012
【図１２】
0005874329.tif 000013
【図１３】
0005874329.tif 000014