(57)【特許請求の範囲】
【請求項１】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのシミュレーション装置であって、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、
上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、を備え、
上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とするシミュレーション装置。
【請求項２】
上記変更手段は、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている制約条件情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記制約条件情報を変更し、
上記評価値算出手段は、上記変更手段で上記格納部の制約条件情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
上記遺伝的アルゴリズムにおける世代ごとに、上記評価値算出手段で算出された評価値が規定の値であるか否かを判断し、上記評価値が上記規定の値であると判断したとき、上記スケジューリング処理を終了する処理終了手段を更に備えることを特徴とする請求項１又は２記載のシミュレーション装置。
【請求項４】
上記格納部の重み情報は、対応付けられている制約条件情報に対する重要度合いが高いほど大きな値を示し、
上記評価値算出手段は、違反する要素の重み情報をマイナス値にし、違反しない要素の重み情報をプラス値にし、上記候補解の全ての要素の値を加算して上記候補解の評価値を算出することを特徴とする請求項３記載のシミュレーション装置。
【請求項５】
上記重要度合いは、多段階に規定されていることを特徴とする請求項４記載のシミュレーション装置。
【請求項６】
上記評価値算出手段は、所定値の重み情報が対応付けられている制約条件情報については評価値の算出の対象としないことを特徴とする請求項１記載のシミュレーション装置。
【請求項７】
違反している制約条件情報の数が規定の数になったと判断した場合、上記スケジューリング処理を終了する終了手段を備えることを特徴とする請求項１記載のシミュレーション装置。
【請求項８】
上記評価値算出手段で算出された評価値についての評価結果を出力する出力手段を備えることを特徴とする請求項１記載のシミュレーション装置。
【請求項９】
複数の機器が通信可能に接続されてなるシミュレーションシステムであって、
上記複数の機器のうち少なくとも１つの機器は、請求項１〜８の何れか１項記載のシミュレーション装置の機能を有することを特徴とするシミュレーションシステム。
【請求項１０】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのシミュレーション装置におけるシミュレーション方法であって、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、
上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を備え、
上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とするシミュレーション方法。
【請求項１１】
上記変更ステップでは、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている制約条件情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記制約条件情報を変更し、
上記評価値算出ステップでは、上記変更ステップで上記格納部の制約条件情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする請求項１０記載のシミュレーション方法。
【請求項１２】
上記遺伝的アルゴリズムにおける世代ごとに、上記評価値算出ステップで算出された評価値が規定の値であるか否かを判断し、上記評価値が上記規定の値であると判断したとき、上記スケジューリング処理を終了する処理終了ステップを更に備えることを特徴とする請求項１０又は１１記載のシミュレーション方法。
【請求項１３】
上記格納部の重み情報は、対応付けられている制約条件情報に対する重要度合いが高いほど大きな値を示し、
上記評価値算出ステップでは、違反する要素の重み情報をマイナス値にし、違反しない要素の重み情報をプラス値にし、上記候補解の全ての要素の値を加算して上記候補解の評価値を算出することを特徴とする請求項１２記載のシミュレーション方法。
【請求項１４】
上記重要度合いは、多段階に規定されていることを特徴とする請求項１３記載のシミュレーション方法。
【請求項１５】
上記評価値算出ステップでは、所定値の重み情報が対応付けられている制約条件情報については評価値の算出の対象としないことを特徴とする請求項１０記載のシミュレーション方法。
【請求項１６】
違反している制約条件件情報の数が規定の数になったと判断した場合、上記スケジューリング処理を終了する終了ステップを備えることを特徴とする請求項１０記載のシミュレーション方法。
【請求項１７】
上記評価値算出ステップで算出された評価値についての評価結果を出力する出力ステップを含むことを特徴とする請求項１０記載のシミュレーション方法。
【請求項１８】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータを、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、
上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、して機能させ、
上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１９】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータに、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、
上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を実行させ、
上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項２０】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータを、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、
上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、して機能させ、
上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラム。
【請求項２１】
データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータに、
上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、
上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、
上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、
上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を実行させ、
上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、製鉄業や製薬業等での製造計画、配送業での配送計画、組立加工業での工程管理等のスケジューリングに用いられ、特に、常に環境が変化する中でのスケジューリングに用いて好適なシミュレーション装置、シミュレーションシステム、シミュレーション方法、それを実施するためのプログラムを記録したコンピュータ読取可能な記録媒体、及び当該プログラムに関するものである。
【０００２】
【従来の技術】
従来より、製鉄工場では、図９に示すように、材料スラブＳを加熱によって圧延する工程（以下、「プロセスＡ」と言う）と、圧延後のスラブであるプレートＳａを剪断する工程（以下、「プロセスＢ」と言う）と、剪断によって得られた製品ｓ1，ｓ2，・・・，ｓnを倉庫に保管する工程（以下、「プロセスＣ」と言う）と、倉庫に保管された製品ｓ1，ｓ2，・・・，ｓnを出荷する工程（以下、「プロセスＤ」と言う）とがあり、各プロセス毎の制約を満たし、且つコストが最小になるように注文が組み合わされスケジューリングされる。これらのプロセスによって、注文に応じた製品のための作業が進められる。
【０００３】
尚、本明細書では、説明の簡単のため、材料を「スラブ」、圧延されたスラブを「プレート」、剪断されたプレートを「製品」ともいうが、これらの呼び方に限定されるものではない。
【０００４】
ところで、注文としては様々な種類のものがあり、それらを最適に組み合わせ効率的に製造して出荷することが望ましい。
このため、例えば、車や橋、缶、建造物等の使用用途が異なり、サイズ及び特性が異なった製品ｓ1〜ｓ8の注文を受け、これらの製品ｓ1〜ｓ8を製造して出荷する場合、工場内の生産管理者は、"同じ成分から製造できる製品"、"プロセスＡでの加熱温度が同じである"、"出荷日が同じ"といった条件（制約条件）を考慮した今までの経験等から、最も効率的に作業できるであろう組み合わせ、及び当該組み合わせ内での処理順によって生産計画を立て、これに従ってプロセスＡ〜Ｄに対して作業の指示を出す。
【０００５】
したがって、例えば、
組み合わせ：ｓ1，ｓ2，ｓ5，ｓ3
という組み合わせでの生産計画では、図１０に示すように、先ず、プロセスＡ及びＢにより、スラブＳから製品ｓ1，ｓ2，ｓ5，ｓ3が順次製造される。そして、それらの製品ｓ1，ｓ2，ｓ5，ｓ3は、プロセスＣ及びＤにより、保管され出荷されることになる。
【０００６】
このとき、プロセスＡ〜Ｄのうちのあるプロセスで、機器の故障等の問題が発生した場合、生産管理者は、最初の生産計画での処理順の変更や入れ換え等（以下、「生産計画の変更」とも言う）を行なって、当該問題を対処する。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述したように従来では、プロセスＡ〜Ｄのうちのあるプロセスで問題が生じた場合には、その問題にのみに着目して、生産管理者の経験等により対処していたので、このときの対処方法によっては、逆に次のプロセスでの問題発生の原因となってしまい、結果的には効率の悪い作業となってしまう場合があった。
【０００８】
また、あるプロセスでの問題が発生したときに、生産計画の変更をすばやく且つ最適に行なって、プロセスＡ〜Ｄでの作業を続行できればよいが、これを生産管理者が行なうには限度がある。したがって、問題発生の対処方法として、実際には、次のプロセスを止めることがよく行なわれているのが現状であった。
このため、特に、製鉄業では、プロセスＡ（圧延）及びプロセスＢ（剪断）を加熱によって行なっているので（スラブが加熱された状態で圧延や剪断を行なう）、加熱によるエネルギーコストを考慮すると、できるだけプロセスＡ（圧延）からプロセスＢ（剪断）へと連動して作業を行なうのが理想であるが、問題発生の対処としてプロセスＡやＢが止められてしまうと、その状態でスラブが冷えてしまうため、復帰により作業開始の際には再加熱する必要が出てくる。したがって、この場合には結果的に莫大なコストアップとなっていた。
【０００９】
さらに、あるプロセスで問題が発生したらその問題のみに着目して対処し、その問題により次のプロセスで問題が発生したらその問題のみに着目して対処する、という繰り返しによって、次々に対処のための設備が増えることにより（生産ラインの増設や、スラブを一時保管するための場所の確保等）、工場内の設備が複雑化していた。
【００１０】
したがって、従来では、プロセスＡ〜Ｄの全体から見て最も効率的な作業を行なえる組み合わせを得る必要があると共に、工場内で突発的に発生する様々な問題に対して最適に且つすばやく対処できることが必要であったが、これを実現するようなシステムは存在しなかった。
また、設備制約及び組み合わせの制約条件は、物理的に不可能な絶対的条件以外に、実際には、できるだけ満たすことが望ましい全体的なバランスとトータルコストを考えれば何ヶ所かは違反してもよい制約というものもあったが、それらに対応できるシステムは存在しなかった。
【００１１】
そこで、上記の問題を解決するために、遺伝的アルゴリズム（生物の進化過程をモデルとした解探索方法）により、プロセスＡ〜Ｄの作業を行なう上で最適な組み合わせを得るようにした、次のようなスケジューリング方法が考えられる。
【００１２】
例えば、車や橋、ビル等、それぞれ使用用途が異なる製品ｓ1〜ｓ8の注文を受け、これらの製品ｓ1〜ｓ8をプロセスＡ〜Ｄによって製造して出荷する場合、先ず、製品ｓ1〜ｓ8からランダムに任意のスラブを選択して、
0004870886.tif 000002
の複数の組み合わせ１〜Ｎを発生させる。そして、これらの組み合わせ１〜Ｎで第１世代の固体群を形成する。
【００１３】
第１世代の固体群の組み合わせ１〜Ｎはそれぞれ染色体（遺伝子）に対応し、染色体内の記号順は製品の処理順（プロセスＢでの剪断順等）に対応する。例えば、組み合わせ１では、製品ｓ1，ｓ2，ｓ5，ｓ3をまとめてスラブＳから製造し、そのときの処理順を、ｓ1→ｓ2→ｓ5→ｓ3としている。
【００１４】
次に、第１世代の固体群の各組み合わせに対して評価し、この評価値が高い組み合わせを選択し、さらにこの選択した組み合わせに対して、突然変異（染色体内の記号の値を変化させる）等の操作を加え、第２世代の固体群を形成する。
【００１５】
この過程において、評価値の低い組み合わせは淘汰される。すなわち、第１世代の固体群の各組み合わせに対して評価を行なう際に、最初に予め設定された制約条件（“同じ成分から製造できる製品”、“プロセスＡでの加熱温度が同じである”、“出荷日が同じ”といった条件）を違反する組み合わせについては、淘汰されるべきものとして極端に小さな評価値を与えるようにする。
【００１６】
次に、第２世代の固体群に対して、第１世代の固体群の場合と同様の評価を行って、第３世代の固体群を形成する。
【００１７】
したがって、上述のようにして固体群を順次形成していくことで得られる第ｎ世代の固体群は、プロセスＡ〜Ｄで存在する制約条件を満たす組み合わせから構成されていることになり、最適な製品の組み合わせ（最適解）を得ることができる。
【００１８】
しかしながら、評価項目自体が相反するものであったり、状況に応じて評価の重みが違う等の要因により、全てのプロセスの制約条件を満たし、且つ評価値が最大となるような製品の組み合わせを得ることは非常に困難である。
したがって、上述のような遺伝的アルゴリズムを用いたスケジューリング方法であっても、歩留り（いかに無駄なく作るか）や単重（いかに１つを大きく作るか）という１つ１つの製品の評価を最大にすることのみを計算し、他の全体的な組み合わせに関係する評価項目を無視するか経験則に基づくしかない。
【００１９】
また、上述のような遺伝的アルゴリズムを用いたスケジューリング方法では、評価対象の固体群の中の各組み合わせに対して、突然変異等の操作を加えたり、制約条件を違反した組み合わせを淘汰する構成であるため、最終的に得られる組み合わせは制約条件を満たしたものとなるが、この解がプロセスＡ〜Ｄの全体から見てよい結果であるとは必ずしも言えない。
さらに、上述のような評価を行なって第ｎ世代までの固体群を形成するための処理を実行している間は、予め最初に設定された制約条件（固定の制約条件）を変えることができないため、環境が常に変化している工場内でのそのときの環境に追従した最適な解を得ることができない。
【００２０】
すなわち、全ての制約条件を満たす解が、プロセスＡ〜Ｄの作業を行なう上での最適な解であるとは一慨に言えるものではなく、例えば、プロセスＢにおいて“スラブＳ上での剪断順を製品ｓ5の次に製品ｓ3”という制約条件があった場合、この制約条件を絶対的な条件として見るのではなくある程度無視した方が、プロセスＡ〜Ｄを全体的に見てよい結果が得られる場合がある。換言すればこの場合、“製品ｓ5の次に製品ｓ3”という制約条件のみに着目すると違反しているが、この違反を生かすことにより、他のプロセスでの処理を効率的に行なうことができ、プロセスＡ〜Ｄの全体から見てよい結果が得られる場合がある。
【００２１】
したがって、上記遺伝的アルゴリズムを用いたスケジューリング方法では、制約条件に違反している組み合わせは、それが全体から見て最適解である可能性があるにも関わらず淘汰されるため、プロセスＡ〜Ｄの全体に対しての最適解を得ることができない。
【００２２】
また、実際に工場内では、追加注文や他の客先からの突然の注文等も頻繁に生じており、さらに、その日の気温の変化によってプロセスＡやＢでの加熱温度等も変わってくる。
【００２３】
したがって、上述のような様々な環境の変化に応じて、制約条件の内容も変える必要があるが、上記遺伝的アルゴリズムを用いたスケジューリング方法では、最初に制約条件を設定し、その制約条件で最後まで処理が実行されるため、環境の変化により制約条件を変えたい場合には、新たな制約条件を設定し直して、再度最初から処理実行する必要がある。このため、その分解を得るまでの処理時間がかかってしまう。すなわち、処理途中で制約条件の内容を変えることができないため、そのときの環境に対して最適な解をすばやく得ることができない。
【００２４】
そこで、本発明は、上記の欠点を除去するために成されたもので、処理途中で制約条件を変更可能とし、制約違反を許す構成とすることで、環境の変化に追従した最適解を容易に得ることができる、シミュレーション装置、シミュレーションシステム、シミュレーション方法、それを実施するためのプログラムを記憶したコンピュータ読取可能な記録媒体、及び当該プログラムを提供することを目的とする。
【００２５】
【課題を解決するための手段】
斯かる目的下において、本発明に係るシミュレーション装置は、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのシミュレーション装置であって、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、を備え、上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする。
【００３４】
本発明に係るシミュレーション方法は、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのシミュレーション装置におけるシミュレーション方法であって、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を備え、上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする。
【００４２】
本発明に係るコンピュータ読取可能な記録媒体は、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータを、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、して機能させ、上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラムを記録したことを特徴とする。
【００４３】
本発明に係るコンピュータ読取可能な記録媒体は、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータに、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を実行させ、上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出するプログラムを記録したことを特徴とする。
【００４４】
本発明に係るプログラムは、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータを、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成手段と、上記解生成手段で生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出手段と、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更手段と、して機能させ、上記評価値算出手段は、上記変更手段で上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする。
【００４５】
本発明に係るプログラムは、データを格納する格納部とユーザからの指示を入力する入力部とが接続され、遺伝的アルゴリズムを用いて複数要素の組み合わせ及び／或いは順番のスケジューリング処理を行うためのコンピュータに、上記格納部には、要素の属性情報と、上記要素に関する制約条件情報と、上記制約条件情報に対する重み情報とが対応付けられて格納され、上記遺伝的アルゴリズムにおける世代ごとに、上記複数要素の組み合わせ及び／或いは順番の候補解を生成する解生成ステップと、上記解生成ステップで生成された候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の要素の属性情報の各々について制約条件情報に違反するか否かを判断し、判断した結果と評価式とを用いて上記候補解の評価値を算出する評価値算出ステップと、上記遺伝的アルゴリズムの一の世代における上記スケジューリング処理中に、上記入力部で上記格納部に格納されている重み情報を変更する指示が入力されると、上記指示に従って上記格納部に格納されている上記重み情報を変更する変更ステップと、を実行させ、上記評価値算出ステップでは、上記変更ステップで上記格納部の重み情報が変更された場合、上記一の世代において、上記候補解に含まれる要素に対応付けられた属性情報、制約条件情報、及び重み情報を上記格納部から読み出し、上記候補解の評価値を算出することを特徴とする。
【００４６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００４７】
本発明は、例えば、図１に示すようなシミュレーション装置１００に適用される。
このシミュレーション装置１００は、上記図９に示したようなプロセスＡ（圧延）、プロセスＢ（剪断）、プロセスＣ（倉庫保管）、及びプロセスＤ（出荷）の流れによって注文を受けた製品の製造及び出荷するための作業を行なう、製鉄業の工場で用いられる。
【００４８】
シミュレーション装置１００は、上記図１に示すように、キーボードやマウス等を含む入力部１１０と、ＣＲＴやプリンタ等を含む出力部１２０と、各種データのデータベース１３０とが、装置全体の動作制御を司る生産計画処理部１４０に接続された構成としている。
【００４９】
生産計画処理部１４０は、例えば、ＣＰＵから構成され、ＧＡ（遺伝的アルゴリズム）処理部１４１と、評価演算処理部１４２とを含んでいる。これらのＧＡ処理部１４１及び評価演算処理部１４２は、上記ＣＰＵが、装置内或いは図示していない外部記憶装置等に予め設定された所定の処理プログラムを読み出して実行することで実現される。
【００５０】
ここで、本実施の形態におけるシミュレーション装置１００は、ＧＡ処理部１４１でのＧＡ処理によって得られる第ｎ世代の固体群に含まれる組み合わせのそれぞれに対して、評価演算処理部１４２により評価を行なう際、制約条件の違反を許し、制約条件を違反している組み合わせについてはマイナス評価を行なうようになされている。
また、ここでの制約条件は、固定された条件ではなく、シミュレーション装置１００での処理（シミュレーション処理）の実行途中で、入力部１１０から任意に変更可能なようになされている。
【００５１】
上述のような構成が、本実施の形態での最も特徴とする構成としている。以下、この構成について具体的に説明する。
【００５２】
まず、ここでは、車や橋等の使用用途の異なる製品ｓ1〜ｓ8の注文を受け、これらの製品ｓ1〜ｓ8をプロセスＡ〜Ｄによって効率的に製造及び出荷するために、全体から見て最適な製品の組み合わせをシミュレーション装置１００によって得るものとする。
【００５３】
［入力部１１０］
入力部１１０からは、例えば、図２に示すような、製品ｓ1〜ｓ8のそれぞれの属性情報（初期値、以下、「製品属性情報」とも言う）が、本システムでの処理実行前に予め入力される。
【００５４】
ここでの製品属性情報としては、
プロセスＡ（圧延）：
・鋼種情報（スラブの鋼種）
・硬さ情報
・厚さ情報
・圧延温度情報（圧延時の加熱温度）
プロセスＢ（剪断）：
・長さ情報
・幅情報
プロセスＣ（倉庫保管）：
・倉庫Ｎｏ．情報（保管する倉庫Ｎｏ．、どの製品と同じ倉庫に保管するか、或いはどの製品と同じ倉庫に保管してはいけない等の情報も含む）
・位置Ｎｏ．情報（倉庫の中での保管する位置、どの製品の隣に保管するか、或いはどの製品の隣に保管してはいけないか等の情報も含む）
プロセスＤ（出荷）：
・出荷先情報
・納期情報
・出荷量情報
といった情報を含んでいる。
【００５５】
上述のような製品属性情報の入力方法としては、工場の生産管理者がキーボード等を用いて手入力する方法、或いは予め製品属性情報が格納された記憶媒体の当該製品属性情報を読み込ませる方法等がある。
【００５６】
また、入力部１１０では、上記図２の製品属性情報の他、後述する制約条件の内容を変更するための入力操作や、処理実行等の各種指示のための操作も行なわれる。
【００５７】
［データベース１３０］
データベース１３０には、例えば、図３に示すような、プロセスＡ〜Ｄに存在する制約条件情報が予め格納されており、各制約条件情報は、上記図２の各製品属性情報に対応したものとしている。
【００５８】
特に、ここでの制約条件情報にはそれぞれ対応して"重み"情報ｗｘが付加されており、この重み情報ｗｘは、入力部１１０から任意に変更可能になされている（以下、この変更を「評価方法の変更」とも言う）。この重み情報ｗｘは、他段階の値で設定可能であり、その値が大きくなるに従って、対応する制約条件が、希望条件→必要条件→絶対条件、というように守るべき制約の重要度合いが大きくなることを示す。
【００５９】
また、制約条件情報の内容（例えば、硬さ情報の値等）についても、入力部１１０から任意に変更可能になされている（以下、この変更を「制約ルールの変更」とも言う）。
【００６０】
さらに、評価方法及び制約ルールの変更は、シミュレーション処理実行の途中に行なうことが可能になされている。
【００６１】
したがって、シミュレーション処理実行の途中であっても、工場内で生じる様々な環境の変化に応じて、そのときの環境に適した評価方法及び制約ルールを設定し、その設定で、シミュレーション処理を実行させることができる。
【００６２】
上述のような制約条件情報のデータベース１３０への格納方法としては、工場の生産管理者から入力部１１０のキーボード等を用いて入力された情報を制約条件情報としてデータベース１３０へ格納する方法、或いは予め制約条件情報が格納された記憶媒体の当該制約条件情報をデータベース１３０へ読み込ませる方法等がある。
【００６３】
［生産計画処理部１４０］
図４は、生産計画処理部１４０での処理を示したフローチャートである。以下、この図４を用いて、生産計画処理部１４０について説明する。
尚、上記図４のフローチャートに従った処理プログラムは、生産計画処理部１４０で実行される処理プログラムの一部であり、この処理プログラムの実行によって、以下に説明するようなＧＡ処理部１４１及び評価演算処理１４２が実現される。
【００６４】
ステップＳ２０１：
本ステップ処理の実行前に予め、入力部１１０から上記図２に示したような製品属性情報が入力される。また、データベース１３０には、上記図３に示したような制約条件情報が格納されている。
そこで、ＧＡ処理部１４１は、次のようなＧＡ処理を実行する。
【００６５】
先ず、図５に示すように、製品ｓ１〜ｓ８の組み合わせ及びその処理順（製品の並び）を示すスケジュール情報（染色体）ｃｈ（ｘ）を複数発生させて（Ｎ個発生、ｘ＝１〜Ｎ）、これらをスケジュール群（解候補の集合）とする。
【００６６】
ここでのスケジュール情報ｃｈ（ｘ）内の記号列αi（ｉ＝１〜４）は、製品の組み合わせ及び処理順を示す。すなわち、スケジュール情報ｃｈ（ｘ）内の記号列αiは、あるプレートＳｘから製造する製品の組み合わせを示し、さらに“α1→α2→α3→α4”の順で処理することを示す。
例えば、スケジュール情報ｃｈ（１）では、図６に示すように、あるプレートＳａに対して製品ｓ6，ｓ2，ｓ5，ｓ1の剪断の割り当てを行い、製品ｓ6（α1）→ｓ2（α2）→ｓ5（α3）→ｓ1（α4）を順次製造することを示す。
【００６７】
このときの各スケジュール情報ｃｈ（１）〜ｃｈ（Ｎ）における記号列の記号αi（製品α1〜α4の組み合わせを示す記号）及びその順序（処理順）は、乱数等を用いてランダムに決定してもよいし、現在の工場内の状況に基づいて入力部１１０から入力された情報（生産管理者等が決定した複数パターンの処理順情報等）から決定するようにしてもよい。
【００６８】
そして、上記図５に示したケジュール群の中から、上記図２に示したような製品ｓ1〜ｓ8の製品属性情報、上記図３に示したような制約条件情報、及びその重み情報に基づいた、あるスケジュール情報ｃｈ（ｘ）を選択する。
例えば、“組合”についての制約条件情報が、“製品ｓ2と製品ｓ4とを同じ組み合わせで処理する”であり、その重み情報ｗ１２の値が大きい場合、製品ｓ2と製品ｓ4を組み合わせて処理することが可能なスケジュール情報ｃｈ（ｘ）を探し出してそれを選択する。
【００６９】
上述のようなＧＡ処理によって最終的に得られたスケジュール情報ｃｈ（ｘ）は、評価演算処理部１４２に与えられる。
【００７０】
ステップＳ２０２：
評価演算処理部１４２は、ＧＡ処理部１４１にて得られたスケジュール情報ｃｈ（ｘ）に対する評価値ｅ（ｘ）（総合評価値）を求める。
【００７１】
例えば、評価演算の対象がスケジュール情報ｃｈ（１）（＝αi：ｓ6，ｓ2，ｓ5，ｓ1）であった場合、この場合の評価値ｅ（１）は、
0004870886.tif 000003
なる演算によって求められる。
【００７２】
上記演算式での“ｋj-i”は、製品αiが、ｊ番目の制約条件情報を満たしているか否か（制約違反しているか否か）によって決定される係数を示す。
【００７３】
例えば、製品ｓ6が、プロセスＡの“鋼種”の制約条件である"プレートＳａ"を満たしている場合、ｋ1-6＝１（プラス評価）に設定する。
一方、満たしていない場合（制約違反の場合）、ｋ1-6＝−１（マイナス評価）に設定する。これにより、重み情報ｗ１の値が大きくなるに伴って、マイナス評価が大きくなる。
【００７４】
したがって、制約条件が必須（絶対）であればあるほど、その分重み情報ｗｊには大きな値が設定されているため、絶対度が大きな制約条件を違反した場合には、それに相当した大きなマイナス評価が与えられることになる。
【００７５】
以上のことにより、スケジュール情報ｃｈ（ｘ）に対する評価値ｅ（ｘ）は、スケジュール情報ｃｈ（ｘ）を構成する組み合わせの製品総数を“ｎ”（ここでは、ｎ＝４）、制約条件の総数を“Ｎ”（ここでは、Ｎ＝１３）として、
【００７６】
【数１】
0004870886.tif 000004
【００７７】
なる式（１）によって表される。
【００７８】
上述のようにして得られた評価結果は、詳細は後述する出力部１２０にて表示出力等される。
【００７９】
ステップＳ２０３：
評価演算処理部１４２での処理が終了すると、生産計画処理部１４０は、入力部１１０から評価方法の変更の指示があったか否かを判別する。
【００８０】
ここでの“評価方法の変更”とは、上述したように“重み情報ｗｘの値の変更”であり、例えば、プロセスＡでの“硬さ”の制約条件の重みｗ１の値を変更することを言う。
これにより、例えば、生産管理者は、現在の工場内の状況において何を重視するかを判断し、その判断に従って、各制約条件の重みを変えることができる。また、今まで重視していた制約条件を無視したい場合にはその重みの値を“０”に設定すればよい（制約条件の削除）。或いは逆に、今まで無視してた制約条件（重みが“０”）を新たに追加したい場合には、その重みに任意の値（現在の工場内の状況に応じた値等）を設定すればよい（制約条件の追加）。
【００８１】
ステップＳ２０３での判別の結果、評価方法の変更の指示があった場合、ステップＳ２０２に戻り、その変更指示に基づいた評価演算処理を実行する。
例えば、評価演算処理部１４２は、その変更指示に基づいて、例えば、データベース１３０に格納されている制約条件情報の重み情報ｗｘを更新して新たな制約条件情報を生成する。このとき、更新前の制約条件情報は、そのままデータベース１３０に残すようにしてもよい。そして、評価演算処理部１４２は、その新たな制約条件情報に基づいて、上述したような評価演算処理を実行する。
【００８２】
ステップＳ２０４：
一方、ステップＳ２０３での判別の結果、評価方法の変更の指示がなかった場合、生産計画処理部１４０は、入力部１１０から制約ルールの変更の指示があったか否かを判別する。
【００８３】
ここでの“評価ルールの変更”とは、上述したように“制約条件情報の内容の変更”であり、例えば、プロセスＡでの“硬さ”の制約条件の値を“７０”から“９０”に変更すること等を言う。
これにより、例えば、新たな製品の注文が入ってきたとき、生産管理者は、その製品に合った制約条件の値を新たに設定することができる。
【００８４】
ステップＳ２０４の判別の結果、制約ルールの変更の指示があった場合には次のステップＳ２０５へと進み、そうでない場合には後述するステップＳ２０７へと進む。
【００８５】
ステップＳ２０５，Ｓ２０６：
ステップＳ２０４での判別の結果、制約ルールの変更の指示があった場合、生産計画処理部１４０は、その変更指示による制約条件情報の内容で、評価項目の変更や評価の重みを変更して決定する。
その後、ステップＳ２０２に戻り、上記の変更内容に基づいた評価演算処理を実行する。
【００８６】
ステップＳ２０７：
ステップＳ２０４での判別の結果、制約ルールの変更の指示がなかった場合、生産計画処理部１４０は、このまま処理を続行する状態であるか否かを判別する。
【００８７】
具体的には例えば、ここでは、違反している制約条件の数がある数となった場合や、評価値がある値となった場合、或いは世代数がある世代となった場合に、処理終了とすることを設定でき、この設定は、入力部１１０や、詳細は後述する出力部１２０にて表示出力される画面上から行なえるようになされている。
したがって、生産計画処理部１４０は、上記の設定情報によって、このまま処理を続行する状態であるか否かを判別する。
この判別の結果、処理終了の指示があった場合には本処理終了し、そうでない場合にはステップＳ２０１に戻って以降の処理ステップを繰り返し実行する。
【００８８】
［出力部１２０］
出力部１２０は、上述したような生産計画処理部１４０によって次々に得られる評価結果を出力する。ここでは、出力形態の一例として、ＣＲＴによる表示出力を用いる。
【００８９】
出力部１２０では、例えば、図７に示すような評価結果画面３００が表示出力される。
この評価結果画面３００は、評価演算処理部１４２により得られたスケジュール情報ｃｈ（ｘ）に対する評価結果が表示出力される評価結果表示部３１０（１），３１０（２），・・・，３１０（ｎ）と、評価演算処理部１４２にて現在処理対象となっているスケジュール情報ｃｈ（ｘ）でのプレートＳｘ上での各製品の処理状況が表示出力される処理過程表示部３２０と、一時的な処理ストップや処理スタート等を指示するための各種操作ボタンが設けられた操作ボタン部３３０とを含んでいる。
【００９０】
評価結果表示部３１０（１），３１０（２），・・・，３１０（ｎ）には、評価演算処理部１４２にて評価結果が得られる毎に、すなわち上記図４のステップＳ２０２の評価演算処理実行毎に、その評価結果が第１回評価結果（第１世代の評価結果）、第２回評価結果（第２世代の評価結果）、・・・、第ｎ回評価結果（第ｎ世代の評価結果）として出力される。
【００９１】
評価結果表示部３１０（１），３１０（２），・・・，３１０（ｎ）はそれぞれ同様の構成としており、例えば、評価結果表示部３１０（１）は、評価値表示部３１１（１）と、「制約条件」項目３１２（１）と、「スケジュール情報」項目３１３（１）とを含んでいる。
【００９２】
評価値表示部３１１（１）には、上述した式（１）によって得られた評価値（総合評価値）が表示される。ここでは、当該総合評価値と共に、各プロセスＡ〜Ｄ、組合、処理順毎の評価値をも表示するようにしている。このときの各評価値については、上記式（１）を用いて、各プロセスＡ〜Ｄ、組合、処理順のそれぞれに対して上述したような演算処理を行なえば求めることができる。
【００９３】
「制約条件」項目３１２（１）は、このときの制約条件情報を参照及び変更するための項目である。「制約条件」項目３１２（１）を入力部１１０のマウス等を用いてクリックすれば、このときの上記図３に示したような制約条件情報が表示され、その表示上で、入力部１１０のキーボード等により必要に応じて制約条件の内容の変更（制約ルールの変更）や、重みの更新（評価方法の変更）を行なえるようになされている。
【００９４】
「スケジュール情報」項目３１３（１）は、このときのスケジュール情報ｃｈ（ｘ）の内容を参照するための項目である。「スケジュール情報」項目３１３（１）を入力部１１０のマウス等を用いてクリックすれば、このときのスケジュール情報ｃｈ（ｘ）の内容（どのような製品の組合せで、どのような処理順であるか等）が表示される。
【００９５】
上述のような評価結果表示部３１０（１），３１０（２），・・・，３１０（ｎ）において、現在処理実行の対象となっているスケジュール情報ｃｈ（ｘ）に対応する評価結果表示部３１０（ｘ）については、例えば、特定の色で囲まれて表示される等、他の評価結果表示部と容易に識別できるようになされている（上記図６では斜線で示す）。
【００９６】
処理過程表示部３２０には、現在処理対象となっているスケジュール情報ｃｈ（ｘ）（ＧＡ処理により得られた結果）では、どのプレートＳｘに対して、どのような製品が、どのような処理順で処理されるか等がイメージ表示される。
例えば、スケジュール情報ｃｈ（１）が現在処理対象となっている場合、スケジュール情報ｃｈ（１）では、上記図６に示したように、製品ｓ6，ｓ2，ｓ5，ｓ1の組合せ及び処理順であるため、この組合せ及び処理順でのプレートＳａ上での処理状況がイメージ表示される。
【００９７】
操作ボタン部３３０は、幅順指定ボタン３３１、温度指定ボタン３３２、ユーザ指定ボタン３３３、ストップボタン３３４、スタートボタン３３５、及びオートボタン３３６を含んでいる。
【００９８】
幅順指定ボタン３３１、温度指定ボタン３３２、及びユーザ指定ボタン３３３は、処理過程表示部３２０に表示される各製品を、幅順や、温度、ユーザ毎に識別できるように表示を指定するためのボタンである。
【００９９】
例えば、入力部１１０のマウス等により幅順指定ボタン３３１を押下すれば、処理過程表示部３２０には、各製品が幅順で表示される。
また、温度指定ボタン３３２を押下すれば、処理過程表示部３２０には、各製品が温度パターンで色分けされて表示される。
また、ユーザ指定ボタン３３３を押下すれば、処理過程表示部３２０には、各製品がそのユーザ（注文先）別に表示される。
【０１００】
ストップボタン３３４は、上述した評価方法や制約ルールの変更を行なうために処理を一時的にストップさせるためのボタンであり、スタートボタン３３５は、その一時的にストップさせた処理を再開させるためのボタンである。
【０１０１】
オートボタン３３６は、違反している制約条件の数がある数となった場合や、評価値がある値となった場合、或いは世代数がある世代となった場合に自動的に処理終了することを指示するためのボタンである。
【０１０２】
例えば、オートボタン３３６を押下すれば、処理終了させる上記の条件（終了条件）を入力可能な画面が表示され、この画面上で所望する終了条件を設定すれば、処理実行中にその終了条件となったときに、本処理終了となる。
【０１０３】
尚、オートボタン３３６により、自動的な処理終了を実行する（ＯＮ）、或いは実行しない（ＯＦＦ）を設定できるようにし、オートボタン３３６がＯＮに設定されていた場合に、予め入力部１１０から設定されている終了条件となったときに自動的に処理終了するようにしてもよい。
【０１０４】
上述したように、本実施の形態では、それぞれの制約条件に重みを付け、それらの制約条件のうちのある制約条件を違反している組み合わせを淘汰する代わりに、違反している制約条件の重みに相当するマイナス評価を与える、すなわち違反自身も評価することで、違反のある組み合わせを淘汰せずに残すように構成したので、実際にはある制約条件の違反を許した方が全体的に見てよい結果が得られる場合に、そのよい結果が得られる可能性のある組み合わせ（違反のある組み合わせ）を残すことができ、したがって、プロセスＡ〜Ｄの全体から見てよい結果が得られる組み合わせを得ることができる。
【０１０５】
また、制約条件の重みの値や、制約条件の内容を、処理途中であっても変更可能なように構成したので、その日の温度変化、或いはあるプロセスでの機器の故障等、突発的に発生する様々な環境の変化に応じて、最適な制約条件及びその重みを処理途中で設定することができるため、問題が発生している部分のみではなく全体から見て最適な組み合わせをすばやく得ることができる。
【０１０６】
また、制約条件の重みを“０”に設定することで、制約条件の削除を可能とすると共に、重みが“０”である制約条件の当該重みに対して状況に応じた値を設定することで、制約条件の追加も可能なように構成したので、突然の追加注文等にも対応することができる。
【０１０７】
したがって、本実施の形態によれば、部分的にではなく全体的に見て最適な組み合わせを得ることができると共に、その組み合わせを得るための制約条件及び重みを、処理実行途中であっても環境の変化に追従して変更することができる。このため、ある問題の発生のためにあるプロセスを止める等という対処方法をとる必要がなくなり、プロセスＡ〜Ｄによる作業をスムーズに行なうことができ、これは利益向上の効果につながる。
【０１０８】
尚、本実施の形態での制約条件としては、上記図３に示したような条件に限らず、次のような制約条件も考えられる。
【０１０９】
（制約条件例１）
例えば、図８に示すようなプレートＳｂから各製品を得る場合、“幅１８００ｍｍの次に幅１５００ｍｍ〜２１００ｍｍの製品を処理する”という制約条件１が考えられる。
この場合、ＧＡ処理により得られたスケジュール情報ｃｈ（ｘ）が、幅１８００ｍｍの次に、幅１４００ｍｍの製品を製造する処理順であったとすると、制約条件１の違反となるが、このときのスケジュール情報ｃｈ（ｘ）は淘汰されずに、制約条件１に付加されている重みに相当するマイナス評価が与えられる。
【０１１０】
（制約条件例２）
“製品ｓ1の次に製品ｓ2を処理するが、この間に他の製品（ダミー製品）入れる”という制約条件２や、さらに、“ダミー製品の個数を３つまでとする”という制約条件３も考えられる。このような制約条件２，３を入れることによって、他の組み合わせが最適となり、結果的に全体として最適な組み合わせ（高い評価）が得られる場合がある。
【０１１１】
（制約条件例３）
“温度１０００°〜１２００°の間では、プレートＳａから製品ｓ1を製造してはいけない”という制約条件４も考えられる。
【０１１２】
また、本実施の形態では、本発明を製鉄業でのスケジューリングに用いるとしたが、これに限られることはなく、例えば、製薬業での製造計画、配送業での配送計画、組立加工業での工程管理等にも適用可能であり、特に、環境が常に変化している中での各プロセスのスケジューリングに有効である。
【０１１３】
また、本発明の目的は、上述した実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記録媒体は本発明を構成することとなる。
プログラムコードを供給するための記録媒体としては、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、本実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
【発明の効果】
以上説明したように本発明では、遺伝的アルゴリズムによって得られた組み合わせに対する評価を求める際、違反している制約条件についても評価（マイナス評価）するように構成したので、例えば、実際にはある制約条件の違反を許した方が全体的に見てよい結果が得られる場合に、そのよい結果が得られる可能性のある組み合わせ（違反のある組み合わせ）を残すことができるため、全体的に見てよい結果が得られる組み合わせを得ることができる。
【０１１５】
また、制約条件の重みや、制約条件の内容を、処理途中であっても変更可能なように構成すれば、例えば、本発明をある商品を製造する工場内のシステムに適用した場合、工場内の温度変化や、あるプロセスでの機器の故障等、突発的に発生する様々な工場内の環境の変化に応じて、最適な制約条件及びその重みを処理途中で設定することができるため、問題が発生している部分のみではなく全体から見て最適な組み合わせをすばやく得ることができる。
【０１１６】
また、制約条件の重みが所定値であった場合には、当該制約条件を無視して評価を求めるように構成すれば、制約条件の削除や追加を自在に行なうことができるため、例えば．突然の追加注文等にも対応することができる。
【０１１７】
したがって、本発明によれば、部分的にではなく全体的に見て最適な組み合わせを得ることができると共に、その組み合わせを得るための制約条件及び重みを、処理実行途中であっても環境の変化に追従して変更することができる。このため、ある問題の発生のためにあるプロセスを止める等という従来行なわれていたような対処方法をとる必要がなくなり、全てのプロセスによる作業をスムーズに行なうことができ、これは利益向上の効果にもつながる。
【図面の簡単な説明】
【図１】本発明を適用したシミュレーション装置の構成を示すブロック図である。
【図２】上記シミュレーション装置に設定される各スラブの属性情報を説明するための図である。
【図３】上記シミュレーション装置に設定される制約条件情報を説明するための図である。
【図４】上記シミュレーション装置でのＧＡ処理及び評価演算処理を含む全体処理を説明するためのフローチャートである。
【図５】上記ＧＡ処理によって得られるスケジュール群の一例を説明するための図である。
【図６】上記スケジュール群に含まれるスケジュール情報を説明するための図である。
【図７】上記シミュレーション装置で表示出力される画面の一例を説明するための図である。
【図８】上記制約条件の他の例を説明するための図である。
【図９】製鉄工場内での各プロセスを説明するための図である。
【図１０】従来のスケジューリングにより得られる組み合わせ結果を説明するための図である。
【符号の説明】
１００  シミュレーション装置
１１０  入力部
１２０  出力部
１３０  データベース
１４０  生産計画処理部
１４１  ＧＡ処理部
１４２  評価演算処理部
【図１】
0004870886.tif 000005
【図２】
0004870886.tif 000006
【図３】
0004870886.tif 000007
【図４】
0004870886.tif 000008
【図５】
0004870886.tif 000009
【図６】
0004870886.tif 000010
【図７】
0004870886.tif 000011
【図８】
0004870886.tif 000012
【図９】
0004870886.tif 000013
【図１０】
0004870886.tif 000014