(57)【特許請求の範囲】
【請求項１】
鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画方法であって、
実現可能山抽出手段が、山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する実現可能山抽出工程と、
評価関数設定手段が、前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する評価関数設定工程と、
集合分割制約設定手段が、対象鋼材のそれぞれが漏れなく且つ重複することがないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する集合分割制約設定工程と、
最適解算出手段が、前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する最適解算出工程とを有することを特徴とする鋼材の山分け計画方法。
【請求項２】
前記実現可能山抽出手段は、
最下段に設定した対象鋼材ｋからは、該対象鋼材ｋに対して山積み制約を満たす対象鋼材の集合Ａkが分岐可能（二段目に山積み可能）であり、二段目に山積み可能とした対象鋼材の集合Ａkに含まれる対象鋼材のうち着目鋼材ｋ’からは、集合Ａkと着目鋼材ｋ’に対して山積み制約を満たす対象鋼材の集合Ａk'との積集合が分岐可能（三段目に山積み可能）であるとし、以降、着目鋼材を順次上段にずらしながら、着目鋼材に対して、それまでの積集合と着目鋼材に対して山積み制約を満たす対象鋼材の集合との積集合が分岐可能であるとして、
積集合が空集合になるまでの枝を実現可能山とすることを特徴とする請求項１に記載の鋼材の山分け計画方法。
【請求項３】
積集合が空集合になる前に山高さが上限値を超えた場合、上限値以下の高さになるまでの枝を実現可能山とすることを特徴とする請求項２に記載の鋼材の山分け計画方法。
【請求項４】
鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画装置であって、
山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する実現可能山抽出手段と、
前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する評価関数設定手段と、
対象鋼材のそれぞれが漏れなく且つ重複することないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する集合分割制約設定手段と、
前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、
対象鋼材の山分けを決定して山分け計画を出力する最適解算出手段とを備えたことを特徴とする鋼材の山分け計画装置。
【請求項５】
鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画を作成するためのプログラムであって、
山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する処理と、
前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する処理と、
対象鋼材のそれぞれが漏れなく且つ重複することないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する処理と、
前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する処理とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鋼材置き場において複数の鋼材を山分けするのに利用して好適な鋼材の山分け計画方法、装置及びプログラムに関する。
【背景技術】
【０００２】
製鉄プロセスにおいて、例えば製鋼工程から次工程の圧延工程に鋼材（スラブ）を搬送する際、鋼材は一旦ヤードと呼ばれる鋼材置き場に置かれた後、次工程である圧延工程（加熱炉）の処理時刻に合わせてヤードから搬出される。ヤードでは、図４に示すように、複数の鋼材を山分けして、山積みして仮置きされる。
ヤードでは、次工程の加熱炉燃料原単位削減のためできるだけ高い装入温度を保持することが求められる。そのため、昨今ヤード内に保温設備を設置し、その中に鋼材を山積みした状態で保管している。限られた保温設備を有効に活用するため、できるだけ設備限界まで高く積み上げることが必要となる。
一方、鋼材を積上げる際には、次工程に供給し易いよう、次工程処理順番に鋼材が上から積まれていること、積み形状が不安定な逆ピラミッド状とはならないこと等の制約がある。更に、山立てを行う際の作業負荷も見逃せない要素である。したがって、ヤード管制では、前記制約下でできるだけ少ない作業負荷で、できるだけ高い山立てを行う作業計画を策定することが望まれる。
【０００３】
この種の技術として、特許文献１には、対象鋼材を要素とする全体集合に対し、山積み制約を満たす部分集合である実現可能山を全て列挙し、山数及び山繰り負荷を最小化する評価関数の下、集合分割問題として最適な実現可能山の組み合わせを求めることにより山分け計画を行う手法が開示されている。この手法は、厳密解法であることから評価関数として設定した山数及び山繰り負荷に対する最適な山分け計画の作成が期待できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３７６１２号公報
【特許文献２】特開２００４−２７６０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の手法においては、対象鋼材数が２０〜２５程度を超えると、集合分割問題の適用の前処理である実現可能山を列挙する処理に時間を要し、現実的な（操業上許容できる）時間（数分程度）内に処理が完了しない場合がある。
時間を要する第一の理由は、特許文献１において実現可能山を列挙する処理において、「非実現可能山集合Ｕ（山積み制約違反山の集合）内のいずれかの要素を包含する場合には、部分集合Ｐjを山積み制約違反山と判定し、次ステップの「山積み制約判定処理（Ｓ１０３）」をスキップする」との制約違反チェックを減らす工夫はあるものの、実現可否判定のため相当回数、制約を毎回チェックしていることによる。
また、第二の理由は、特許文献１では、理論的に考えられる全ての部分集合１〜２N（Ｎ：対象鋼材数）に対して実現可否の判定を行っているが、現実的には、全ての部分集合１〜２Nのうち実行可能な部分集合は１０％未満程度であることが大部分であることから、９０％以上否となる判定処理に時間を要していることによる。
【０００６】
ここで、特許文献２には、複数の鋼片に１以上の注文を充当して板取計画を作成する際に、設備制約、及び、冗長な組合せを排除するための制約の下で考えられる全ての組合せを分岐限定法により列挙した後、列挙された組合せの中から０−１計画法を用いて、注文枚数の制約の下で、目的の評価関数を最大とする鋼片を選択することによって、最適な板取計画を決定する板取方法が開示されている。
特許文献２の手法によれば、分岐の際に分岐可否を判定し、分岐可能な要素のみ分岐を行うため、実行可能な部分集合のみを比較的効率的に抽出することができる。つまり、特許文献２の手法は、第二の理由に対する対策は取られているといえる。
しかしながら、特許文献２の手法でも、第一の理由、すなわち制約を毎回チェックすることに対する対策は取られていないため、分岐の際に毎回分岐可否の制約をチェックする必要があり、十分に処理時間を短縮できるとは言い難い。
【０００７】
本発明は上記の点に鑑みてなされたものであり、山分け計画に集合分割問題を適用する際の前処理として、分岐の際に毎回山積み制約をチェックすることなく分岐処理を行えるようにし、許容可能な時間内に処理を完了できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の要旨は、以下のとおりである。
［１］鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画方法であって、
実現可能山抽出手段が、山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する実現可能山抽出工程と、
評価関数設定手段が、前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する評価関数設定工程と、
集合分割制約設定手段が、対象鋼材のそれぞれが漏れなく且つ重複することがないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する集合分割制約設定工程と、
最適解算出手段が、前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する最適解算出工程とを有することを特徴とする鋼材の山分け計画方法。
［２］前記実現可能山抽出手段は、
最下段に設定した対象鋼材ｋからは、該対象鋼材ｋに対して山積み制約を満たす対象鋼材の集合Ａkが分岐可能（二段目に山積み可能）であり、二段目に山積み可能とした対象鋼材の集合Ａkに含まれる対象鋼材のうち着目鋼材ｋ’からは、集合Ａkと着目鋼材ｋ’に対して山積み制約を満たす対象鋼材の集合Ａk'との積集合が分岐可能（三段目に山積み可能）であるとし、以降、着目鋼材を順次上段にずらしながら、着目鋼材に対して、それまでの積集合と着目鋼材に対して山積み制約を満たす対象鋼材の集合との積集合が分岐可能であるとして、
積集合が空集合になるまでの枝を実現可能山とすることを特徴とする［１］に記載の鋼材の山分け計画方法。
［３］積集合が空集合になる前に山高さが上限値を超えた場合、上限値以下の高さになるまでの枝を実現可能山とすることを特徴とする［２］に記載の鋼材の山分け計画方法。
［４］鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画装置であって、
山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する実現可能山抽出手段と、
前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する評価関数設定手段と、
対象鋼材のそれぞれが漏れなく且つ重複することないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する集合分割制約設定手段と、
前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する最適解算出手段とを備えたことを特徴とする鋼材の山分け計画装置。
［５］鋼材置き場において複数の鋼材を山分けする鋼材の山分け計画を作成するためのプログラムであって、
山分けの対象となる対象鋼材ごとに、該対象鋼材と同一山に積む場合の山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の積集合を利用して選択した分岐可能鋼材への分岐を行う分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する処理と、
前記抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する処理と、
対象鋼材のそれぞれが漏れなく且つ重複することないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する処理と、
前記設定した集合分割制約に基づいて前記評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する処理とをコンピュータに実行させるためのプログラム。
【発明の効果】
【０００９】
本発明によれば、山分け計画に集合分割問題を適用する際の前処理として、鋼材ペアに対して山積み可否を予め判定しておき、それを利用して集合演算により分岐判定を行うようにしたので、分岐の際に毎回山積み制約をチェックすることなく分岐処理を行うことができ、許容可能な時間内に処理を完了することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る鋼材の山分け計画装置を含むシステム構成を示す図である。
【図２】実現可能山抽出部が実現可能山を抽出する処理の概要を説明するための図である。
【図３】実施形態に係る山分け計画装置による鋼材の山分け計画方法の手順を示すフローチャートである。
【図４】ヤードに鋼材を山積みして保管する状況を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
図１は、本実施形態に係る鋼材の山分け計画装置を含むシステム構成を示す図である。
鋼材管理装置１は、鋼材及び鋼材の属性を管理する。
山分け計画装置２は、鋼材管理装置１より管理される鋼材及び鋼材の属性を受け、実現可能山抽出部３により、山分けの対象となる対象鋼材ごとに、山積み制約を満たす対象鋼材の集合を抽出しておき、これら集合の集合演算を利用した分岐法によって、山積み制約を満たす対象鋼材の集合である実現可能山を抽出する。次に、評価関数設定部５により、抽出した実現可能山を要素とする実現可能山集合について、予め定められた所定の基準で山分けをするための評価関数であって、該実現可能山集合の要素である個々の実現可能山を最適解として採用するか否かを表す決定変数と、個々の実現可能山に対する評価値とを含み、対象鋼材の属性情報に基づいて実現可能山の組合せに対する評価値を表す評価関数を設定する。また、集合分割制約設定部４により、対象鋼材のそれぞれが漏れなく且つ重複することないように、実現可能山集合から実現可能山の組合せを求めるための集合分割制約を設定する。そして、最適解算出部６により、設定した集合分割制約に基づいて評価関数を最適にする、対象鋼材のそれぞれが漏れなく且つ重複することなく含まれた実現可能山の組合せである最適解を算出して、対象鋼材の山分けを決定して山分け計画を出力する。
鋼材管理装置１は、山分け計画装置２から出力される山分け計画を実現するため、クレーン等の搬送装置７に対して搬送指示を出力する。
【００１２】
ここで、図２を参照して、実現可能山抽出部３が実現可能山を抽出する処理の概要を説明する。
特許文献１の手法では、全ての部分集合１〜２Nに対して山積み可否チェックを行っていることにより計算時間を要している点に鑑みると、実現可能見込みのない部分集合のチェックを如何に省くかがポイントとなる。
そこで、最下段から順次上段に向かって実現可能な鋼材のみを積み上げる（分岐する）樹形図により実現可能山を抽出する方法が有効であると考えた。この分岐による実行可能山列挙のポイントは、鋼材ペアに対して山積み可否（同一山とできるか否か）が一意に定まる本問題の特徴的な性質を利用することである。
【００１３】
対象鋼材の全体集合をＴ＝｛１、２、・・・、Ｎ｝とする。
まず、全体集合の要素となる対象鋼材ごとに、山積み制約を満たす対象鋼材の集合を抽出する。すなわち、鋼材ペアで山積み制約をチェックしていき、対象鋼材１に対して山積み制約を満たす対象鋼材の集合Ａ1、対象鋼材２に対して山積み制約を満たす対象鋼材の集合Ａ2、・・・、対象鋼材Ｎに対して山積み制約を満たす対象鋼材の集合ＡNを抽出する。
山積み制約は、ヤードの管理方法等により様々な条件が考えられるが、例えば以下のような条件を想定することができる。
（１）払出順条件：払出順番が早い鋼材の方が必ず山の上側に来なければならない。
（２）幅条件：幅が狭いならば無条件で上に置ける。幅が広い鋼材をそれより狭いものの上に置く際には、両者の幅差がそれより下にある全鋼材の最小鋼材幅で決まる基準値以下なら置けるが、それを越えると置けない。
（３）長さ条件：長さが短いならば無条件で上に置ける。長さの長い鋼材をそれより短いものの上に置く際には、両者の長さ差がそれより下にある全鋼材の最小鋼材長さで決まる基準値以下なら置けるが、それを越えると置けない。
鋼材ペアで山積み制約をチェックする場合、（２）幅条件については、幅が広い鋼材を上に置くときには、両者の幅差が、幅が狭い鋼材の幅で決まる基準値以下であることを満たすようにする（（２）´）。山を下から作成する場合、（２）´を満たすように積み上げると、結果的に（２）を満たすものとなる。（３）長さ条件についても同様である。
【００１４】
次に、最下段に設定した対象鋼材（初期ノードとして設定した対象鋼材）ｋからは、該対象鋼材ｋに対して山積み制約を満たす対象鋼材の集合Ａkが分岐可能（二段目に山積み可能）であり、二段目に山積み可能とした対象鋼材の集合Ａkに含まれる対象鋼材のうち着目鋼材ｋ’からは、集合Ａkと着目鋼材ｋ’に対して山積み制約を満たす対象鋼材の集合Ａk'との積集合（共通部分：intersection）が分岐可能（三段目に山積み可能）であるとし、以降、着目鋼材を順次上段にずらしながら、着目鋼材に対して、それまでの積集合と着目鋼材に対して山積み制約を満たす対象鋼材の集合との積集合が分岐可能であるとする。
例えば図２の一番上の分岐について説明すると、最下段に設定した対象鋼材１に対しては、集合Ａ1が分岐可能である（図２の分岐１）。次に、二段目において着目鋼材を鋼材２とすると、（１、２）枝に対しては、集合Ａ1∩Ａ2が分岐可能である（図２の分岐２）。次に、三段目において着目鋼材を鋼材３とすると、（１、２、３）枝に対しては、集合Ａ1∩Ａ2∩Ａ3が分岐可能である（図２の分岐３）、という具合である。
【００１５】
このような分岐を、（ｉ、ｊ、・・・、ｓ）枝に対し集合Ａi∩Ａj・・・∩Ａs＝φ（空集合）になるか、該枝の山高さが上限値になるまで続ける。その結果、空集合になるまでの枝を、或いは空集合になる前に山高さが上限値を超えた場合は上限値以下の高さになるまでの枝を実現可能山とする。
例えば図２の一番上の分岐について説明すると、最下段の対象鋼材１→二段目の対象鋼材２→三段目の対象鋼材３で空集合になったとする。この場合、空集合になるまでの（１、２）枝、（１、２、３）枝が実現可能山として抽出される。すなわち、｛最下段に対象鋼材１、二段目に対象鋼材２｝という集合と、｛最下段に対象鋼材１、二段目に対象鋼材２、三段目に対象鋼材３｝という集合とが実現可能山として抽出される。
また、最下段の対象鋼材１→二段目の対象鋼材２→三段目の対象鋼材３→四段目の対象鋼材でまだ空集合にならないが、四段目で上限値を超えたとする。この場合、上限値以下の高さになるまでの、（１、２）枝、（１、２、３）枝が実現可能山として抽出される。
【００１６】
次に、図３を参照して、山分け計画装置２による鋼材の山分け計画方法の手順の一例を説明する。
（実現可能山抽出工程）
ステップＳ１０１で、対象鋼材の全体集合Ｔ＝｛１、２、・・・、ｋ、・・・、Ｎ｝を抽出する。ここでは、対象鋼材数はＮとなる。なお、対象鋼材は、一つの鋼材であってもよいし、複数の鋼材を一まとめにしたグループであってもよい。
【００１７】
ステップＳ１０２で、２対象鋼材ｋ1、ｋ2∈Ｔが同一山とできるか否かを山積み制約に基づいて判定し、同一山とできる鋼材ペア（ｋ1：下、ｋ2：上）リストＬpを作成する。
ステップＳ１０３で、同一山とできる鋼材ペア（ｋ1：下、ｋ2：上）リストＬpを使い、対象鋼材ｋ∈Ｔに対し、（ｋ、ｋy）∈Ｌpとなる全てのｋyを抽出し、その集合Ａk＝[ｋy]を求める。すなわち、対象鋼材１に対して山積み制約を満たす対象鋼材の集合Ａ1、対象鋼材２に対して山積み制約を満たす対象鋼材の集合Ａ2、・・・、対象鋼材Ｎに対して山積み制約を満たす対象鋼材の集合ＡNを抽出する。
【００１８】
ステップＳ１０４で、実現可能山集合Ｆを最下段より順次作成する初期設定として、積み段ｑ＝１の実現可能山集合Ｂ1（ｑ＝１）をＴの各要素をそれぞれ要素数１の集合とみなした集合族とする。Ｂqはｑ段で構成される実現可能山集合を表す。合わせて、実現可能山集合ＦにＢ1を登録する。集合Ｂqの要素の順番を表すパラメータｍを初期値０とする。図２の例でいえば、例えば１段目の集合Ｂ1については、鋼材１がｍ＝１、鋼材２がｍ＝２、・・・、鋼材Ｎがｍ＝Ｎとなる。
【００１９】
以下の処理では、積み段ｑを順次増やし、各積み段ｑの実現可能山集合Ｂqを作成しつつ、その要素を同時にＦの要素とすることにより実現可能山集合Ｆを作成する。この際に、前述の図２についての説明のような、１段目の１つの鋼材からｑを１つ増やす方向に分岐し、分岐した鋼材から更にｑを増やす方向に分岐し、というように、特定の鋼材について分岐を進めるのではなく、1段目のＮ個の鋼材全てについて、パラメータｍの小さい順から一通り２段目の分岐を行って積み段２の実現可能山集合Ｂ2を作成し、続けて、集合Ｂ2に含まれる全ての鋼材について、同様にパラメータｍの小さい順から一通り３段目の分岐を行って積み段３の実現可能山集合Ｂ3を作成し、という順序で実現可能山の集合を作成する。
ステップＳ１０５で、集合Ｂqが空集合φである場合、ステップＳ１１６に移行する。空集合φでない場合、ステップＳ１０６に移行する。
ステップＳ１０６で、集合Ｂqの要素の順番を表すパラメータｍをインクリメントする（図２では、一つ下の要素に移ることに対応する）。
ステップＳ１０７で、集合Ｂqにｍ番目要素がない場合、ステップＳ１０８に移行し、ｍ番目要素がある場合、ステップＳ１０９に移行する。
ステップＳ１０８で、積み段ｑをインクリメントする（図２では、一つ右の段に移ることに対応する）とともに、集合Ｂqの要素の順番を表すパラメータｍを初期値０とする。
【００２０】
ステップＳ１０９で、集合Ｂqよりｍ番目ノードｓqm＝（ｋm1、ｋm2、・・・、ｋmq）を選択する。ノードｓqmは、集合Ｂqのｍ番目の要素（ノードに対応する実現可能山）を表す。
ステップＳ１１０で、ノードｓqmに分岐可能な鋼材集合Ｓpを以下のように求める。
Ｓp＝Ａkm1∩Ａkm2・・・∩Ａkmq-1∩Ａkmq
このように計算したＳpを｛ｋp1、ｋp2、・・・、ｋps、・・・、ｋpn｝とする。なお、Ｓpの添え字ｐは「付加」を意味するものであり、パラメータではない。
なお、実際のＳpの計算は、当該ノードを計算する際Ａkm1∩Ａkm2・・・∩Ａkmq-1（＝Ｓとする）が計算されているので、それを記憶しておけばＳ∩Ａkmqを計算すれば良い。これは、［００１４］で記載したように図２の分岐３でＡ1∩Ａ2∩Ａ3を計算しているが、図２の分岐２でＡ1∩Ａ2を計算しており、Ａ1∩Ａ2＝Ｓとすると、分岐３ではＳ∩Ａ3を計算すれば良いことに対応する。
【００２１】
ステップＳ１１１で、集合Ｓpから要素ｋPsを順次選択する。
ステップＳ１１２で、集合Ｓpに要素がある場合、ステップＳ１１３に移行し、ない場合、ステップＳ１０６に移行する。
ステップＳ１１３で、ノードｓqmに集合Ｓpの要素を付加した新たなノードｓqmp＝（ｋm1、ｋm2、・・・、ｋmq、ｋPs）を作る。
ステップＳ１１４で、新たなノードｓqmpで構成される山が、山高さ制約を満たすか否かを判定し、満たす場合、ステップＳ１１５に移行し、満たさない場合、ステップＳ１１１に移行する。
ステップＳ１１５で、ノードｓqmpを集合Ｂq+1の要素として登録する。合わせて、実現可能山集合Ｆの要素としても登録する。その後、ステップＳ１１１に遷移する。
上記処理により生成される集合Ｆが実現可能山集合となる。実現可能山集合Ｆは、部分集合の集合であるので集合族となる。
【００２２】
（評価関数設定工程、最適解算出工程、集合分割制約設定工程）
ステップＳ１１６で、生成された実現可能山集合Ｆの各要素である実現可能山ｉに対して、それぞれの評価値ｃiを定める。この評価値ｃiの決定方法もヤード管理の考え方により様々な評価の仕方があり得るが、例えば以下の基準で、個々の実現可能山に評価を与えることができる。
（評価基準１）山作成負荷が少ないほど、評価を高くする。
（評価基準２）山高さが高いほど評価を高くする。
【００２３】
評価基準２に関しては、自明であるが、評価基準１に関しては、対象鋼材の受入順に基づき、当該実現可能山を生成する際における、クレーン等の搬送機器の操作負荷を、当該山を生成するための鋼材入替え（受入順と積み順との入替え）回数等により定量的に評価するものとする。この際、後述する最適化問題を最小化問題とする場合には、評価が高い場合ほど評価値を小さくし、最大化問題とする場合には評価が高いほど評価値を大きくする。この処理は評価関数設定部５により行われる。
【００２４】
ステップＳ１１７で、実現可能山集合Ｆより、最適実現可能山の組合せ（集合）を求め、最適山分けの答えとする。つまり、ここでの最適化問題は、実現可能山集合（Ｔの集合族）Ｆより、山分け対象鋼材集合Ｔを分割する最適な実現可能山の組合せ（Ｆの部分集合）を求める問題、つまり「集合分割問題」としての定式化が可能となる。
【００２５】
したがって、ここでの最適化計算の決定変数は実現可能山集合Ｆの要素ｉを最適解として採用するか否かを表すｘi（ｉ＝１・・・ｆ：ただし、ｆはＦの要素数。抽出された実現可能山の数に相当する。）となり、当然ｘiは１又は０のいずれかの値となる変数である。ここで１の場合は実現可能山ｉが最適解すなわち最適山の一つとして採用されることを表し、０の場合は採用されないことを表すものとする。
【００２６】
また、この最適化計算での制約式は、この問題が上記のように「集合分割問題」であることから、「任意の鋼材ｋも複数の山に重複使用されてはならず、また、いずれかの山ｉにて使用されねばならない。」ことが唯一の制約条件となり、式（１）で表すことができる。
【００２７】
【数１】
0006390331.tif 000002
【００２８】
そして、本最適化計算での評価関数Ｊは、先ほど準備した評価値ｃiを用いて式（２）となる。
【００２９】
【数２】
0006390331.tif 000003
【００３０】
このように、本最適化計算は、０-１計画問題として定式化できることになる。０-１計画問題は通常分枝限定法等によりｘiの０−１条件（ｘi∈｛０，１｝）を緩和した線形計画問題を繰り返し解く必要があるが、今回のケースでは１回、又は数回線形計画問題を解くだけで（１、０）の最適解を求めることができるケースが多い（通常は２nＯｒｄｅｒの繰り返しが必要）。
なぜならば、「集合分割問題」として定式化したことにより、制約式両辺の係数行列が１又は０とできたため、解空間境界の端点が１-０格子点となることによる。つまり、一般の整数計画問題の最適解は実行可能領域「内部解」であるが、「集合分割問題」の最適解は線形計画問題同様「頂点解」となることが多いことを利用して高速解法が可能となる。
【００３１】
以上述べたように、山分け計画に集合分割問題を適用する際の前処理として、鋼材ペアに対して山積み可否を予め判定しておき、それを利用して集合演算により分岐判定を行う。これにより、特許文献１のように毎回山積み制約をチェックする処理を不要とすることができ、実行可能山の列挙処理を高速に行うことができる。また、実現可能な山積みのみに分岐するので、実現不可能な山が多い場合には探索空間を限定することができる。したがって、許容可能な時間内に処理を完了することができる。
【００３２】
特許文献１にある手法（列挙法と呼ぶ）と、本発明による手法（分岐法と呼ぶ）で、所定の計算環境下で実行可能山の生成時間を比較した結果を表１に示す。実験の条件は、部分集合数に対して実行可能山数が多い場合と、少ない場合とで比較した。
「スラブグループ数」の欄は、対象鋼材グループの数を示す。「従来法：列挙法」の欄は、特許文献１にある手法で実現可能山を抽出するまでの時間を、「今回法：分岐法」の欄は、本発明による手法で実現可能山を抽出するまでの時間を示す。なお、表１中の「＞」は処理を打ち切ったことを表す。「最適解計算」の欄は、最適解を求めるまでの時間を示し、列挙法及び分岐法で変わらない。「実行可能山数」の欄は、実行可能山の数を、「部分集合数」の欄は、部分集合の数を示す。
表１からも明らかなように、分岐法を利用することにより、列挙法と比べて格段に処理時間が早くなっている。条件によっては、列挙法では時間単位の処理時間がかかるのに対して、秒単位で処理が完了している。
【００３３】
【表１】
0006390331.tif 000004
【００３４】
本発明を適用した鋼材の山分け計画装置は、例えばＣＰＵ、ＲＯＭ、ＲＡＭ等を備えたコンピュータ装置により実現することが可能である。
また、本発明は、鋼材の山分け計画機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータがプログラムを読み出して実行することによっても実現可能である。
【符号の説明】
【００３５】
２：山分け計画装置、３：実現可能山抽出部、４：集合分割制約設定部、５：評価関数設定部、６：最適解算出部
【図１】
0006390331.tif 000005
【図２】
0006390331.tif 000006
【図３】
0006390331.tif 000007
【図４】
0006390331.tif 000008