(57)【特許請求の範囲】
【請求項１】
複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成装置であって、
前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも１つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定手段と、
前記作業における制約が関数で表現された制約式を設定する制約式設定手段と、
前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出手段と、を有し、
前記最適解導出手段は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、
前記目的関数は、前記最適解導出手段により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする作業計画作成装置。
【請求項２】
前記ペナルティ項は、前記前回最適解の要素のうち、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素が、前記今回最適解の要素として選択されない場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であることを特徴とする請求項１に記載の作業計画作成装置。
【請求項３】
前記ペナルティ項は、前記前回最適解の要素のうち、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素と異なる要素が、前記今回最適解の要素として選択された場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であることを特徴とする請求項１に記載の作業計画作成装置。
【請求項４】
前記目的関数から前記ペナルティ項を除いた場合の目的関数の値の、最適解の変更に伴う最小感度は、前記ペナルティ項としてとり得る最大の値よりも大きいことを特徴とする請求項２または３に記載の作業計画作成装置。
【請求項５】
前記目的関数は、前記評価指標項および当該評価指標項に対する重み係数の乗算値と、前記ペナルティ項および当該ペナルティ項に対する重み係数の乗算値との和で表現され、
前記目的関数から前記ペナルティ項を除いた場合の目的関数の値の、最適解の変更に伴う最小感度が、前記ペナルティ項としてとり得る最大の値よりも大きくなるように、前記ペナルティ項に対する重み係数と、前記評価指標項に対する重み係数との関係が定められていることを特徴とする請求項４に記載の作業計画作成装置。
【請求項６】
前記複数の対象物から、実作業において作業の結果が確定している対象物である確定対象物を判定する確定対象物判定手段をさらに有し、
前記決定変数の、前記確定対象物に係る部分については、前記実作業における作業の結果に対応する値に固定し、前記最適化問題を解く対象から外すことを特徴とする請求項２〜５の何れか１項に記載の作業計画作成装置。
【請求項７】
前記複数の対象物のそれぞれについての、前記作業の予定および属性を含む計画対象物リストを取得する計画対象物リスト取得手段と、
前記計画対象物リスト取得手段により取得された前記計画対象物リストと、前記作業における制約を示す所定の条件とに基づいて、各ノードに前記対象物が属する樹形図を作成し、当該作成した樹形図に基づいて、実現することが可能な複数の前記対象物の組み合わせを、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素である実現可能解として抽出する実現可能解抽出手段と、をさらに有し、
前記最適化問題は、集合分割問題であり、
前記決定変数は、前記実現可能解を前記最適解の要素として採用するか否かを表す0-1変数であり、
前記実現可能解抽出手段は、前記確定対象物が属するノードを、前記実作業の結果に対応するノードに固定すると共に、当該ノードと異なるノードに、当該確定対象物が属さないようにすることを特徴とする請求項６に記載の作業計画作成装置。
【請求項８】
前記実現可能解抽出手段は、前記確定対象物が根ノードに属するようにすることを特徴とする請求項７に記載の作業計画作成装置。
【請求項９】
前記制約式は、いずれの前記対象物も、複数の位置に配置されてはならず、且つ、いずれかの１つの位置に配置されなければならないことを数式で表現したものであることを特徴とする請求項７または８に記載の作業計画作成装置。
【請求項１０】
前記実現可能解抽出手段は、前記抽出した実現可能解のうち、前記最適解導出手段により導出された前記前回最適解の要素と同じ要素をさらに抽出することを特徴とする請求項７〜９の何れか１項に記載の作業計画作成装置。
【請求項１１】
前記作業計画は、鋼材置場において搬送機器を用いて複数の鋼材を複数の山に分けて山積みする際の各鋼材が属する山と各山における各鋼材の位置とを含む山立て計画であることを特徴とする請求項７〜１０の何れか１項に記載の作業計画作成装置。
【請求項１２】
前記対象物は、前記所定の機器を用いて、複数の山の何れかの山に山積みされるものであり、
前記樹形図は、前記山の最下段に配置される対象物が根ノードに属する樹形図であって、下段に配置される対象物が属するノードを、その１つ上段に配置される対象物の親ノードとする樹形図であり、
前記実現可能解抽出手段は、前記計画対象物リストに基づいて、前記根ノードから順に、前記所定の条件を満たす前記対象物を前記ノードに配置することにより前記樹形図を作成することを特徴とする請求項１１に記載の作業計画作成装置。
【請求項１３】
請求項１〜１２の何れか１項に記載の作業計画作成装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業計画作成装置、およびプログラムに関し、特に、状態が時々刻々と変化し得る対象物に対する作業計画を作成するために用いて好適なものである。
【背景技術】
【０００２】
時々刻々と変化するプロセス状態に対応するために、リアルタイムに作業指示を出力する必要がある作業プロセスにおいては、作業制約、プロセス拘束条件、および作業指標等をモデル化（数式化）し、数理計画法やヒューリスティックなアルゴリズムによる最適計算を行うことにより最適な作業指示（作業方針や運転方法）を導出することが行われる。この場合、一定周期あるいは特定の事象の生起等をトリガーとした不定期に、その時点での最新のプロセス情報を基に最適計算を再実行し、その最適計算の結果をその時点での作業指示として出力する。このようにすることにより、時々刻々と変化する作業予定の変更や外乱等に対応する作業計画を作成することができる。リアルタイムに最適計算を繰り返し実行するシステムでは、計算の度に生じる外部条件の変化が解に的確に反映され、解の内、外部条件の変化に影響がある部分が更新され、そうでない部分は以前に計算された解が継承されることが望まれる。
【０００３】
このように、リアルタイムに最適計算を繰り返し実行し、それぞれの実行タイミングにおける最適計算の計算結果により作業指示を決定するシステムにおいては、毎回の最適計算の結果が一貫性を持っていること（それぞれの最適計算における最適解を安定させること）が不可欠である。
リアルタイムで行われる最適計算の結果に一貫性を持たせる方法として、現状の作業では、最適計算を行うシステムにおいても、作業開始前に最適計算を一度実施し、作業開始後には、作業予定の変更のあったところ（例えば、ヤードにおける鋼材の配置を決める場合にはヤードへの到着予定が変更となった鋼材のみ）を限定的（局所的）に変更するという方法を用いている。すなわち、リアルタイムに最適計算を行うのでなく、バッチ最適計算によりバッチ最適解を導出し、人またはスケジュール修正ルールによる部分介入、若しくはルールベースに基づいて、バッチ最適解を修正する方法がとられている。スケジュール修正ルール（断片知識の集合）による再スケジュール方法については、特許文献１に開示されている。また、ルールベースシステムによる再スケジューリングを行う技術が特許文献２、３に開示されている。
【０００４】
このような方法（局所的なバッチ最適解の変更を行う方法）では、計算条件の変化があった場合であっても、作業予定の変更部分のみを変更すれば、その変化後の計算条件下における最適解が得られる場合もあり得る。しかしながら、一般には、作業予定の変更により、最適解を変更すべき範囲が玉突きで作業予定の変更部分以外にも及ぶことが十分あり得る。したがって、作業予定の変更部分のみの変更では、計算条件の変化の下で最適解が得られる保証がなく、実質的に最適作業が維持できていない問題がある。
【０００５】
従って本来は、リアルタイムに（例えば一定周期に）、その時々の計算条件の変化を反映させ改めて最適計算を実行し、その最適計算の解を利用することが考えられる。この考え方に基づく方法として、特許文献４に記載の方法がある。特許文献４には、発生が予想される作業予定の変動が生じた場合に解く必要が生じる再スケジューリング問題を作成して解を導出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平２−１８１００１号公報
【特許文献２】特開平６−４４２５８号公報
【特許文献３】特開平６−２０３０３７号公報
【特許文献４】特開２０１０−２５７３８３号公報
【特許文献５】特開２０１１−１０５４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献４に記載の方法は、予め想定される作業予定の変更を念頭に置いたものである。したがって、最適計算の際に考慮できる作業予定の変更が極めて限定されるという問題がある。さらに、再スケジューリング問題の作成方法が必ずしも系統的でなく、適用できる作業計画が限定されるという問題がある。
【０００８】
また、作業予定の変更がなくとも、作業の進行に伴いプロセス状態は常に変化することから、最適計算における初期状態が変化することになる。しかしながら、特許文献４に記載の方法では、このことについての考慮がなされていない。従って、特許文献４に記載の方法では、一貫性のある最適解が得られず最適計算の度に異なる最適解が得られる事態が起こり得るという問題がある。
【０００９】
尚、時間経過により作業が進行することによるプロセス状態の推移以外に計算条件の変化がなくとも、最適計算における初期状態の推移のみで最適解が変化するということは、「最適性原理（最適解を持つ問題の部分問題の最適解は元の最適解の部分解である）」に反しない。通常の最適化問題、取り分け実プロセスにおける最適化問題では、最適解が唯一であることは極めて稀であり、複数の最適解（最適解空間（集合））を持つのが一般的であるからである。すなわち、初期条件の変化の下で常に同一の最適解が算出されることはほとんど期待できず、普通は、最適計算の度に最適解空間（集合）の中から異なる解が選択されることになり、解の変動が避けられない。
【００１０】
したがって、作業開始後の予定変更等の様々な外乱が生じる環境下においても、その外乱の情報をリアルタイムに取り込み、それを基に最適計算を実行し、様々な外乱の影響を反映させつつも常に最適解の一貫性を失わないリアルタイム最適解計算手法の導入を行うことが期待される。
【００１１】
本発明は、以上のような問題点に鑑みてなされたものであり、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解が得られるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の作業計画作成装置は、複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成装置であって、前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも１つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定手段と、前記作業における制約が関数で表現された制約式を設定する制約式設定手段と、前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出手段と、を有し、前記最適解導出手段は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、前記目的関数は、前記最適解導出手段により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする。
【００１４】
本発明のプログラムは、前記操業計画作成装置の各手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、前回の最適解と今回の最適解とが異なる場合に目的関数の値に対しペナルティを課すためのペナルティ項を目的関数に含めるようにした。したがって、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】ヤードの一般的なレイアウトの一例を示す図である。
【図２】作業計画作成装置の機能的な構成の一例を示す図である。
【図３】初期時刻における山立て対象スラブグループリストの一例を示す図である。
【図４】初期時刻における最適山リストの一例を示す図である。
【図５】初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、スラブグループに変更がない場合の山立て対象スラブグループリストの一例を示す図である。
【図６】実現可能山を抽出する際の処理の第１の例を概念的に説明する図である。
【図７】実現可能山を抽出する際の処理の第２の例を概念的に説明する図である。
【図８】本実施形態の手法によって得られた、初期時刻から２０時刻が経過したタイミングにおける最適山リストの一例を示す図である。
【図９】比較例の手法によって得られた、初期時刻から２０時刻が経過したタイミングにおける最適山リストの一例を示す図である。
【図１０】初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの到着順に変更があった場合の山立て対象スラブグループリストの一例を示す図である。
【図１１】初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの属性に変更があった場合の山立て対象スラブグループリストの一例を示す図である。
【図１２】初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着したスラブグループの位置に変更があった場合の山立て対象スラブグループリストの一例を示す図である。
【図１３】作業計画作成装置の処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本発明の一実施形態を説明する。本実施形態では、作業計画が、鋼材置場において搬送機器を用いて複数の鋼材を複数の山に分けて山積みする際の各鋼材が属する山と各山における各鋼材の位置（積段）とを含む山立て計画である場合を例に挙げて説明する。
【００１８】
（ヤードにおける作業）
まず、鋼材置場の一例であるヤードにおける作業の一例を説明する。
製鉄プロセスにおいて、例えば製鋼工程から次工程の圧延工程へ鋼材を搬送する際、鋼材は、一旦ヤードと呼ばれる一時保管場所（鋼材置場）に置かれた後、次工程である圧延工程の処理時刻に合わせてヤードから搬出される。そのヤードのレイアウトの一例を図１に示す。ヤードとは、図１に示すように、上流工程より払い出されたスラブなどの鋼材を、下流工程に供給するためのバッファーエリアとして、縦横に区画された置場１０１〜１０４である。縦方向（クレーン１Ａ、１Ｂ、２Ａ、２Ｂの移動可能方向）の分割区分を"棟"、横方向の分割区分を"列"と称することが多く、搬送指令を作成する際は"棟"及び"列"を指定することにより、どこへ鋼材を搬送するかを示す。
【００１９】
図１に示す例では、まず、前工程である製鋼工程の連鋳機１１０から搬出された鋼材は、パイラー１１１を経由して受入テーブルＸでヤードまで運ばれ、クレーン１Ａ、１Ｂ、２Ａ、２Ｂにより、区画された置場１０１〜１０４の何れかに搬送され、山積みして置かれる。そして、後工程である圧延工程の製造スケジュールに合わせ、再びクレーン１Ａ、１Ｂ、２Ａ、２Ｂにより払出テーブルＺに載せられ、圧延工程へと搬送される。
【００２０】
一般に、ヤードにおいて鋼材は、前記の様に山積みされた状態で置かれる。これは、限られたヤード面積を有効に活用するためである。一方、鋼材を積上げる際、次工程へ供給し易いよう、次工程における処理順番に鋼材が上から積まれている必要がある。ここで、鋼材を複数の山に分けることを山分けと呼び、山分けをしながら、各山に鋼材を積み上げることを山立てと呼ぶ。
【００２１】
（作業計画作成装置）
図２は、本実施形態の作業計画作成装置２００の機能的な構成の一例を示す図である。作業計画作成装置２００のハードウェアは、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、および各種のインターフェースを備えた情報処理装置、ＰＬＣ（Programmable Logic Controller）、またはＡＳＩＣ（Application Specific Integrated Circuit）等の専用のハードウェアを用いることにより実現することができる。
【００２２】
＜計画対象物リスト取得部２０１＞
計画対象物リスト取得部２０１は、山立て計画の対象物の一例であるスラブのリストである山立て対象スラブグループリスト（スラブの到着予定リスト）を取得する。尚、山立て対象スラブグループリストは、一定周期に取得されてもよいし、特定の事象の生起等をトリガーとして不定期に取得されてもよい。
計画対象物リスト取得部２０１は、例えば、ＣＰＵが、通信インターフェースで受信した山立て対象スラブグループリスト３００、５００のデータをＨＤＤやＲＡＭに記憶することにより実現される。
【００２３】
図３は、山立て計画の作成を最初に行う際に取得される山立て対象スラブグループリスト３００の一例を示す図である。本実施形態では、複数のスラブの単位で、当該複数のスラブがヤードに同時刻に到着する場合を例に挙げて説明する。以下の説明では、この複数のスラブを必要に応じて「スラブグループ」と称する。
山立て対象スラブグループリスト３００、５００は、例えば、鋼材全般に関するデータベースを備える鋼材管理装置から作業計画作成装置２００に送信される。
【００２４】
図３において、ＳＬＧｒ．ＩＤは、各スラブグループの識別番号である。
到着時刻は、各スラブグループのヤードへの到着時刻または到着予定時刻である。ここでは、山立て計画の作成の開始時刻を「０（ゼロ）」とする。ＳＬＧｒ．ＩＤが「０（ゼロ）」のスラブグループの到着時刻が「０（ゼロ）」である。したがって、山立て計画の作成の開始時に、ＳＬＧｒ．ＩＤが「０（ゼロ）」のスラブグループのスラブがヤードに到着したところとなる。よって、図３に示す山立て対象スラブグループリスト３００における各スラブグループの到着時刻は全て到着予定時刻である。また、山立て計画の作成の開始時には、ヤードには何もないものとする。尚、以下の説明では、山立て計画の作成の開始時刻を必要に応じて「初期時刻」と称する。
【００２５】
払出順は、各スラブグループの圧延工程への搬送順である。払出順の値が小さいスラブグループであるほど、早く圧延工程へ搬送する必要がある。
鋼材数は、各スラブグループを構成するスラブ（鋼材）の数である。
最大幅・最小幅は、それぞれ、各スラブグループを構成するスラブの最大幅・最小幅である。
最大長・最小長は、それぞれ、各スラブグループを構成するスラブの最大長・最小長である。
【００２６】
図４は、本実施形態の手法で最適計算を行うことにより得られた、初期時刻における結果（最適山リスト４００）の一例を示す図である。
尚、最適計算の手法の詳細については、目的関数設定部２０４、制約式設定部２０５、および最適解導出部２０６の欄において後述する。また、この例では各スラブは、最適計算の結果（最適山リスト４００）の通りにヤードに置かれるものとする（各スラブは、最適計算の結果（最適山リスト４００）と異なるようにスラブに置かれることはないものとする）。
【００２７】
このように、各スラブが、最適計算の結果（最適山リスト４００）の通りにヤードに置かれる場合、後述する図５に示す山立て対象スラブグループリスト５００の（ヤードに到着しているスラブグループの）置場、積段、本／仮、最適山ＩＤ、および最適段は、図４に示す最適山リスト４００から得られる。尚、最適計算結果通りにヤードに置かれない場合は図５に示す山立て対象スラブグループリスト５００の（ヤードに到着しているスラブグループの）置場、積段、および本／仮の値は、実際のヤードにおけるスラブの配置から与えられなければならない。また、最適計算結果通りでなくともオペレータの指示により本山あるいは仮山として置かれた場合は、それを本／仮の値に反映させることもできるものとする（後述する段落［０１４３］〜［０１４５］、図１２を参照）。
【００２８】
図４において、最適山ＩＤは、図４の最適計算結果に基づいた各スラブグループが属する山の識別番号である。
積段は、各スラブグループが積まれている山における当該スラブグループの積段である。ここでは、最下段の積段の値を「１」とし、或る段の１つ上段の積段の値は、当該或る段の積段の値に「１」を加算した値になるものとする。尚、ヤードに置かれていないスラブグループについては、積段の値を「０（ゼロ）」とする。
最適段は、図４の最適計算結果に基づいた各スラブグループの最適山における積段である。ここでは、後述する図５の積段と同様にして最適段の値が決められるものとする。
また、図４において、ＳＬＧｒ．ＩＤ、払出順、および到着時刻は、それぞれ図３を参照しながら説明したものと同じ内容を意味する。
【００２９】
また、図４において、仮置有無は、最適計算において仮置きが発生したか否かを示す。仮置きが発生したスラブグループについては、仮置有無の値として「１」が与えられ、仮置きが発生しなかったスラブグループについては、仮置有無の値として「０（ゼロ）」が与えられるものとする。
尚、最適計算において、初めて仮置きが発生したときにだけ、仮置有無の値として「１」が与えられる。すなわち、仮置有無の値として「１」が与えられたスラブグループについては、その後の最適計算における仮置有無の値としては（仮置きであったとしても）「０（ゼロ）」が与えられる。これは、ここでは仮置き発生の判定を、スラブがヤードに到着した時に行う方法を採っているからで、既に仮置きされたスラブがヤードにある状態を初期状態とするリスケジュール時の最適計算では、スラブのヤードへの到着が済んでいるので、当該スラブが仮置きと判定されることはないからである。
【００３０】
図５は、山立て計画の作成を２回目に行う際に取得される山立て対象スラブグループリスト５００の一例を示す図である。
図５に示す山立て対象スラブグループリスト５００は、各スラブグループの到着予定が、山立て対象スラブグループリスト３００に示されるものから変更されておらず、また、到着予定時刻を経過したスラブグループは、到着予定時刻の通りに到着した場合の山立て対象スラブグループリストの一例を示す。
図５において、ＳＬＧｒ．ＩＤ、到着時刻、払出順、鋼材数、最大幅、最小幅、最大長、最小長、積段、最適山ＩＤ、最適段は、それぞれ図３および図４を参照しながら説明したものと同じ内容を意味する。
【００３１】
図５に示す山立て対象スラブグループリスト５００は、初期時刻から「２０」が経過したタイミングで取得されるものである。したがって、図５に示す山立て対象スラブグループリスト５００の各スラブグループの到着時刻は、図３に示した山立て対象スラブグループリスト３００の各スラブグループの到着時刻から「２０」を減算した値になる。ここで、ＳＬＧｒ．ＩＤが「０（ゼロ）」〜「６」のスラブグループの到着時刻は、負の値である。到着時刻が負の値であることは、スラブがヤードに実際に置かれていることを示す。図５では、ヤードに実際に置かれているスラブグループをグレーで示す。
【００３２】
図５において、置場は、各スラブグループのスラブが実際に置かれているヤードの置場である。尚、ヤードに置かれていないスラブグループについては、置場及び積段の値を「０（ゼロ）」とする。
ここで、「置場」、「積段」とも、図３に示す初期時刻における山立て対象スラブグループリスト３００（スラブグループの到着予定情報）に基づいて計算された図４に示す最適山リスト４００（最適計算結果）に従ってヤードに置かれた結果となっている。
【００３３】
ヤードにおける最終置場にスラブを直接搬送できず、最終置場とは別の場所（仮置場）に一旦仮置きされ、状況が整ったら、仮置場から最終置場に搬送する場合がある。この様に、元の置かれた状態から最終的に置かれる状態へ直接搬送できず、一旦仮置きを要する場合には、この仮置き場への搬送が無駄な搬送となる。したがって、仮置きが発生するスラブの数を減らすことが望ましい。
【００３４】
本／仮は、ヤードに既に到着している各スラブグループを、図４に示す最適山リスト４００（最適計算結果）に従い本山置き或いは仮山置きした結果を示す。ここでは、仮置きが発生したスラブグループについては、本／仮の値として「０（ゼロ）」が与えられ、仮置きが発生しなかった（即ち本山置き）スラブグループについては、本／仮の値として「１」が与えられるものとする。尚、ヤードに置かれていないスラブグループについては、本／仮の値を「０（ゼロ）」とする。
【００３５】
最適山ＩＤは、図４に示す最適山リスト４００（最適計算結果）に基づいた各スラブグループが属する山の識別番号である。
最適段も、図４に示す最適山リスト４００（最適計算結果）に基づいた各スラブグループの最適山における積段である。ここでは、前述した積段と同様にして最適段の値が決められるものとする。
【００３６】
前述したように、初期時刻より２０時刻だけ経過した時点においてヤードに到着しているスラブグループは、ＳＬＧｒ．ＩＤが「０」〜「６」のスラブグループである。
例えば、図４に示す最適山リスト４００（初期時刻における最適計算の結果）によると、ＳＬＧｒ．ＩＤが「０（ゼロ）」のスラブグループのスラブは、最適山ＩＤが「５」の山の６段目に置かれることになる。しかしながら、最適山ＩＤ「５」の山を構成するスラブグループのうち、５段目に置かれるＳＬＧr．ＩＤが「１５」のスラブグループはヤードに到着していない。したがって、ＳＬＧr．ＩＤが「０（ゼロ）」のスラブグループを仮置きする必要がある。よって、図５の山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「０（ゼロ）」のスラブグループの本/仮の値は「０」となる（すなわち仮置きとなる）。また、仮置きのスラブグループの置場として、１０番以降の置場のうち、スラブが置かれていない任意の置場が選択されるものとする。したがって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「０（ゼロ）」のスラブグループの置場は「１５」となり、積段は「１」となり、最適山ＩＤは「５」となり、最適段は「６」となる。
【００３７】
同様に、図４に示す最適山リスト４００によると、ＳＬＧｒ．ＩＤが「２」のスラブグループは、最適山ＩＤが「３」の山の２段目に置かれることになる。しかしながら、最適山ＩＤ「３」の山を構成するスラブグループのうち、１段目に置かれるＳＬＧr．ＩＤが「１１」のスラブグループはヤードに到着していない。したがって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「２」のスラブグループの仮置場は「１３」となり、積段は「１」となり、本／仮の値は「０（ゼロ）」となり、最適山ＩＤは「３」となり、最適段は「２」となる。
【００３８】
また、図４に示す最適山リスト４００によると、ＳＬＧｒ．ＩＤが「６」のスラブグループは、最適山ＩＤが「７」の山の５段目に置かれることになる。しかしながら、最適山ＩＤ「７」の山を構成するその他のスラブグループはヤードに到着していない。したがって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「６」のスラブグループの仮置場は「１７」となり、積段は「１」となり、本／仮の値は「０（ゼロ）」となり、最適山ＩＤは「７」となり、最適段は「５」となる。
【００３９】
一方、図４に示す最適山リスト４００によると、ＳＬＧｒ．ＩＤが「１」のスラブグループは、最適山ＩＤが「５」の山の１段目に置かれることになる。したがって、ＳＬＧｒ．ＩＤが「１」のスラブグループを、直接本置場に置くことができる。ここで、直接本置場に置かれる場合には、最適山ＩＤと同じ番号の置場にスラブを置くものとする。したがって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「１」のスラブグループの置場は「５」となり、積段は「１」となり、本／仮の値は「１」となり、最適山ＩＤは「５」となり、最適段は「１」となる。
【００４０】
また、図４に示す最適山リスト４００によると、ＳＬＧｒ．ＩＤが「３」のスラブグループは、最適山ＩＤが「６」の山の１段目に置かれることになる。したがって、ＳＬＧｒ．ＩＤが「３」のスラブグループを、直接本置場に置くことができる。よって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「３」のスラブグループの置場は「６」となり、積段は「１」となり、本／仮の値は「１」となり、最適山ＩＤは「６」となり、最適段は「１」となる。
【００４１】
ＳＬＧｒ．ＩＤが「３」のスラブグループに続いてヤードに到着するＳＬＧｒ．ＩＤが「４」のスラブグループは、図４に示す最適山リスト４００によると、最適山ＩＤが「６」の山の２段目に置かれることになる。最適山ＩＤが「６」の山の１段目には、ＳＬＧｒ．ＩＤが「３」のスラブグループが既に置かれている。したがって、ＳＬＧｒ．ＩＤが「３」のスラブグループを、直接本置場に置くことができる。よって、図５において、ＳＬＧr．ＩＤが「４」のスラブグループの置場は「６」となり、積段は「２」となり、本／仮の値は「１」となり、最適山ＩＤは「６」となり、最適段は「２」となる。
【００４２】
ＳＬＧｒ．ＩＤが「４」のスラブグループに続いてヤードに到着するＳＬＧｒ．ＩＤが「５」のスラブグループは、図４に示す最適山リスト４００によると、最適山ＩＤが「５」の山の２段目に置かれることになる。最適山ＩＤが「５」の山の１段目には、ＳＬＧｒ．ＩＤが「１」のスラブグループが既に置かれている。したがって、ＳＬＧｒ．ＩＤが「５」のスラブグループを、直接本置場に置くことができる。よって、図５に示す山立て対象スラブグループリスト５００において、ＳＬＧr．ＩＤが「５」のスラブグループの置場は「５」となり、積段は「２」となり、本／仮の値は「１」となり、最適山ＩＤは「５」となり、最適段は「２」となる。
【００４３】
以上のように、初期時刻から２０時刻が経過した時点において、最終山姿と一致しているスラブグループは、置場５に置かれるＳＬＧｒ．ＩＤが「１」、「５」のスラブグループと、置場６に置かれるＳＬＧｒ．ＩＤが「３」、「４」のスラブグループである。
【００４４】
山立て問題では、「仮置きスラブ発生数」と「山の総数」との２つを目的関数とすれば「最適性の原理」を満足する。したがって、リアルタイム最適解安定性を確保するには、最適解が複数存在する場合において、各最適計算時に、時間的状態遷移以外の入力条件の変化がなければ当該複数の最適解のうち常に同一の最適解を選択する機能を有することが必要となる。また、そのように選択された唯一の最適解に沿って最適計算が進行する様、各最適計算のタイミングで、（山立て計画の作成開始時の原問題に対する）部分問題を適切に設定することが必要である。
【００４５】
このように、山姿が定まっていく過程で、或る時点で解く山立て問題は、それ以前に解いた山立て問題の部分問題である。このことが成り立つには、順次ヤードに到着するスラブが、最適計算で得られた最適解の通りの山姿に確実に積み上げられることが必要である。そして、それぞれの最適計算時における山姿の中間状態（最適解）が、それぞれの最適計算時におけるスラブの初期状態を正確に反映していることが必要となる。
【００４６】
具体的には、ヤードに到着完了し、最終山姿（圧延工程に搬送できる状態の山姿）と一致するスラブグループのうち、同一山で上下に隣接するスラブグループを、確定スラブグループとして纏め、搬送対象（最適計算の対象）から除外する。このように、本実施形態では、最終山姿と一致するスラブグループを順次確定スラブグループとすることにより、徐々に問題規模を縮小していく（すなわち、部分問題としていく）。
【００４７】
これを実現するには、各最適計算時点で、ヤードに到着済みのスラブグループのそれぞれが最終山姿と一致しているか否かを判定する機能と、その判定した結果を基にして確定スラブグループを考慮した最適計算を行う機能とが必要になる。本実施形態では、前者の機能が、確定対象物判定部２０２で実現される。また、後者の機能が、後述する実現可能解抽出部２０３、目的関数設定部２０４、制約式設定部２０５、および最適解導出部２０６で実現される。
【００４８】
＜確定対象物判定部２０２＞
本実施形態では、ヤードに到着したスラブは、直前（前回）の最適計算の結果に基づいた山姿でヤードに置かれるものとする。つまり、前述したように、スラブには、直接最終置場に置かれるものと、一旦、仮置場に置かれ、将来到着予定の下積みスラブが到着した後に最終置場に搬送されるものとがある。そして、その判断は、直前（前回）の最適計算により計算された最適解（前回解）によるものとする。したがって、前回解で仮置きが不要として直接本置場に置かれたスラブは、その時点で、最終山姿に一致していると見なすことができる。よって、今回以降の最適計算（リスケジュール）では、後述する実現可能解抽出部２０３により確定対象物以外の選択肢を除外する或いは確定対象物が分離しない様な制約式を付与（後述する変形例２を参照）することで、確定対象物が最適計算結果に表れる様にする。それを行うためには、各最適計算（リスケジュール）を行う際に、最終山姿と一致しているスラブの範囲を明確にする必要がある。また、このように、最終山姿と一致しているスラブを最適計算の対象から徐々に除外していっても、前述した『最適性の原理』が成立することにより、何ら最適性が揺らぐことがない（最終山姿と一致しているスラブを除外せずに計算した結果と等価となる）ことが保証されている。
【００４９】
確定対象物判定部２０２は、前回の最適計算で計算された最適解に基づく最適山姿と、今回の最適計算を行う際にヤードに到着しているスラブの積姿とを比較することにより、計画対象物リスト取得部２０１で取得された山立て対象スラブグループリストに含まれるスラブグループが、最終山姿と一致しているスラブグループであるか否かを判定する。以下の説明では、このようなスラブグループを必要に応じて「確定スラブグループ」と称する。
尚、計画対象物リスト取得部２０１が初期時刻における山立て対象スラブグループリスト３００を取得した際には、ヤードに置かれているスラブはないので、確定対象物判定部２０２による処理は省略される。
【００５０】
確定対象物判定部２０２は、今回の最適計算に使用する山立て対象スラブグループリストとして計画対象物リスト取得部２０１から取得した山立て対象スラブグループリストのＳＬＧｒ．ＩＤと、前回の最適計算の結果（最適山リスト）のＳＬＧｒ．ＩＤとが一致しているか否かを、一致しなくなるまで各山の最下段から順に判定する。
尚、前回の最適計算に使用した山立て対象スラブグループリストが、図３に示した山立て対象スラブグループリスト３００である場合、前回の最適計算の結果は、図４に示した最適山リスト４００であり、今回の最適計算に使用する山立て対象スラブグループリストは、図５に示した山立て対象スラブグループリスト５００である。
【００５１】
より具体的に説明すると、まず、確定対象物判定部２０２は、今回の最適計算に使用する山立て対象スラブグループリスト５００の最適山ＩＤとして未選択の最適山ＩＤを１つ選択する。ただし、最適山を構成するスラブグループが全て未到着の最適山ＩＤは、選択対象外とする。
次に、確定対象物判定部２０２は、前記選択した最適山ＩＤの積段が「１」（すなわち最下段）であるＳＬＧｒ．ＩＤを特定する。
【００５２】
次に、確定対象物判定部２０２は、前回の最適計算の結果（最適山リスト４００）において、前記選択した最適山ＩＤおよび積段（＝「１」）のＳＬＧｒ．ＩＤを特定する。
そして、確定対象物判定部２０２は、今回の最適計算に使用する山立て対象スラブグループリスト５００から特定したＳＬＧｒ．ＩＤと、前回の最適計算の結果（最適山リスト４００）から特定したＳＬＧｒ．ＩＤとが一致する場合、当該ＳＬＧｒ．ＩＤのスラブグループは、最終山姿と一致していると判定する。
【００５３】
次に、確定対象物判定部２０２は、前記選択した最適山ＩＤの積段をインクリメントし（１つ上段を選択し）、当該選択した最適山ＩＤの当該インクリメントした積段におけるＳＬＧｒ．ＩＤが、今回の最適計算に使用する山立て対象スラブグループリスト５００と、前回の最適計算の結果（最適山リスト４００）とで一致するか否かを判定する。
【００５４】
このような判定を、ＳＬＧｒ．ＩＤが、今回の最適計算に使用する山立て対象スラブグループリスト５００と、前回の最適計算の結果（最適山リスト４００）とで一致しなくなるまで、積段をインクリメントしながら行う。これにより、前記選択した最適山ＩＤの山に属するスラブグループのうちヤードに到着しているスラブグループが最終山姿と一致しているか否かを判定することができる。
【００５５】
以上のようにして、確定対象物判定部２０２は、前記選択した最適山ＩＤの山において、最下段から、前記判定により最終山姿と一致するとされた積段の最大値までのスラブグループが、最終山姿と一致しているスラブグループ（確定スラブグループ）であると判定する。また、最適計算結果通りでなくともオペレータの指示により本山として置かれた場合は、それを確定スラブグループとみなすこともできるものとする。
一方、今回の最適計算に使用する山立て対象スラブグループリスト５００から特定したＳＬＧｒ．ＩＤと、前回の最適計算の結果（最適山リスト４００）から特定したＳＬＧｒ．ＩＤとが一致しない場合、確定対象物判定部２０２は、前記選択した最適山ＩＤの前記選択した積段よりも上の積段のスラブグループは、最終山姿と一致していないスラブグループである（確定スラブグループではない）と判定する。
【００５６】
今回の最適計算に使用する山立て対象スラブグループリスト５００のスラブグループのうち、確定スラブグループと判定されなかったスラブグループが、今回の最適計算の対象になり、確定スラブグループは、今回の最適計算の対象から除外される。すなわち、今回の最適計算において、確定スラブグループの最適山ＩＤおよび最適段は、今回の最適計算に使用する山立て対象スラブグループリスト５００の値で固定される。
確定対象物判定部２０２は、以上の判定を、今回の最適計算に使用する山立て対象スラブグループリスト５００のヤード既到着スラブのある全ての最適山ＩＤの山について個別に行う。
【００５７】
図５に示す山立て対象スラブグループリスト５００の例においては、ＳＬＧｒ．ＩＤが「１」、「３」、「４」、「５」のスラブグループが確定スラブグループであると判定される。
【００５８】
ここで、確定スラブグループは、ヤードに到着しているスラブにより構成される山（既存山）の最下段を含む下層部に必ず位置し、最下段を含まない山の中間部のみで確定スラブグループになることはない。また、同一の既存山において、２つ以上の異なる確定スラブグループが存在することもない（最終山姿に一致していないスラブグループを間に挟んで当該スラブグループの上下に確定スラブグループが存在することもない）。
確定対象物判定部２０２は、例えば、ＣＰＵが、ＲＯＭに記憶されたプログラムを実行することにより実現される。
【００５９】
＜実現可能解抽出部２０３＞
［第１の例］
<<最適化対象最小単位の設定>>
実現可能解抽出部２０３は、今回の最適計算の最小単位とするスラブグループを設定する。
まず、確定対象物判定部２０２により確定スラブグループとして判定されなかったスラブグループについては、前回の最適計算で設定されたスラブグループを、今回の最適計算で最小単位とするスラブグループとする。
一方、確定対象物判定部２０２により確定スラブグループとして判定されたスラブグループのうち、最適山ＩＤが同一であり、且つ、積段が連続する複数のスラブグループについては、当該複数のスラブグループを１つのスラブグループに纏め、今回の最適計算で最小単位とするスラブグループとする。
その他の確定スラブグループについては、個々の確定スラブグループを、今回の最適計算で最小単位とするスラブグループとする。
【００６０】
図５に示す山立て対象スラブグループリスト５００の例においては、ＳＬＧｒ．ＩＤが「１」、「５」の２つのスラブグループ（確定スラブグループ）が１つのスラブグループに纏められ、今回の最適計算で最小単位とするスラブグループとなる。また、ＳＬＧｒ．ＩＤが「３」、「４」の２つのスラブグループ（確定スラブグループ）が１つのスラブグループに纏められ、今回の最適計算で最小単位とするスラブグループとなる。その他のスラブグループについては、個々のスラブグループが、今回の最適計算で最小単位とするスラブグループとなる。
【００６１】
<<確定スラブグループの最適計算での取り扱い>>
次に、実現可能解抽出部２０３は、確定スラブグループに対する最適山および積段が最適計算によって変わらないようにすると共に、前述したようにして１つのスラブグループに纏められたスラブグループが分離されないようにする。
本実施形態では、山分け計画に集合分割問題を適用する場合を例に挙げて説明する。すなわち、最適化問題を、実現可能山の集合Ｆから、山分けの対象となるスラブグループの全体集合Ｔを分割する最適な実現可能山の組み合わせ（実現可能山の集合Ｆの部分集合）を求める問題とする。尚、実現可能山は、最適計算で実現することが可能な解の要素である実現可能解と同じ意味を有するが、本実施形態では山分け計画を作業計画の例に挙げて説明する。そこで、本実施形態では、実現可能解を、必要に応じて、より直感的に理解し易い実現可能山と称する。
【００６２】
以上のように山分け計画に集合分割問題を適用する前提として、本実施形態では、実現可能解抽出部２０３は、以下のようにして、実現可能山の集合Ｆを導出する。
図６は、実現可能山を抽出する際の処理の第１の例を概念的に説明する図である。
尚、図６では、表記の都合上、実現可能解抽出部２０３で前述したように最小単位として設定された１つのスラブグループを鋼材と表記する。すなわち、１つのスラブグループとして纏められた複数の確定スラブグループについては、当該複数の確定スラブグループが、最小単位として設定されたスラブグループとなる。その他の確定スラブグループおよび確定スラブグループ以外のスラブグループについては、個々のスラブグループが、最小単位として設定されたスラブグループとなる。
【００６３】
また、ここでは、山の最下段から順次上段に向かって実現可能なスラブグループのみを積み上げる（分岐する）樹形図（分岐木）により実現可能山を抽出する場合を例に挙げて説明する。
このツリー構造の樹形図では、各ノードにスラブグループが属するようにすると共に、最下段のスラブグループが属するノードが根ノードに属するようにする。そして、下段に配置されるスラブグループが属するノードを、その１つ上段に配置されるスラブグループの親ノードとする。
【００６４】
ここで、山分けの対象となるスラブグループの全体集合をＴ＝｛１、２、・・・、Ｎ｝とする。また、以下の説明では、山分けの対象となるスラブグループを必要に応じて「対象スラブグループ」と称し、２つの対象スラブグループのペアを必要に応じて「スラブグループペア」と称する。
確定スラブグループも対象スラブグループに含まれるが、複数の確定スラブグループが１つのスラブグループとして纏められている場合には、当該複数の確定スラブグループにより１つの対象スラブグループが構成されるものとする。
【００６５】
実現可能解抽出部２０３は、全体集合Ｔの要素となる対象スラブグループごとに、山積み制約を満たす対象スラブグループの集合(対象スラブグループの上に配置することが出来るスラブグループの集合)を抽出する。すなわち、実現可能解抽出部２０３は、対象スラブグループを１つ選択し、当該対象スラブグループを含むスラブグループペアが山積み制約を満たすか否かを判定する。当該選択した対象スラブグループに対し、山積み制約を満たすか否かを判定する対象となるスラブグループは、全体集合Ｔの要素となる対象スラブグループのうち、当該選択した対象スラブグループを除く対象スラブグループになる。
実現可能解抽出部２０３は、以上の判定を、全体集合Ｔの要素となる対象スラブグループとしてとり得る全ての対象スラブグループについて行う。
【００６６】
以上の結果、対象スラブグループ１に対して山積み制約を満たす対象スラブグループ（対象スラブグループ１の上に配置することが出来る対象スラブグループ）の上載せ可能集合Ａ1、対象スラブグループ２に対して山積み制約を満たす対象スラブグループ（対象スラブグループ２の上に配置することが出来る対象スラブグループ）の上載せ可能集合Ａ2、・・・、対象スラブグループＮに対して山積み制約を満たす対象スラブグループ（対象スラブグループＮの上に配置することが出来る対象スラブグループ）の上載せ可能集合ＡNが、それぞれ抽出される。
山積み制約は、ヤードの管理方法等により様々な条件が考えられるが、例えば以下のような条件を想定することができる。
（１）払出順条件：払出順が早いスラブグループの方が、払出順が遅いスラブグループよりも必ず山の上側に位置しなければならない。
（２）幅条件：或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも狭いならば無条件で、当該或るスラブグループを、当該直下に位置するスラブグループの上に置ける。或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも広い場合には、両者の幅の差が、作業制約により定まる基準値以下であれば、当該或るスラブグループを、当該下に位置するスラブグループの上に置けるが、それを越えると置けない。
【００６７】
（３）長さ条件：或るスラブグループの最大長が、当該或るスラブグループの下に位置するスラブグループの最小長よりも短いならば無条件で、当該或るスラブグループを、当該下に位置するスラブグループの上に置ける。或るスラブグループの最大長が、当該或るスラブグループの下に位置するスラブグループの最小長よりも長い場合には、両者の長さの差が、作業制約により定まる基準値以下であれば、当該或るスラブグループを、当該直下に位置するスラブグループの上に置けるが、それを越えると置けない。
【００６８】
スラブグループペアで山積み制約をチェックする場合、（２）幅条件については、或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも広い場合に、当該或るスラブグループを、当該或るスラブグループの下に位置するスラブグループの上に置く場合には、両者の幅の差が、作業制約により定まる基準値以下であることを満たすようにする（（２）´）。山を下から作成する場合、（２）´を満たすように積み上げると、結果的に（２）を満たすものとなる。（３）長さ条件についても同様である。
【００６９】
実現可能解抽出部２０３は、最下段に設定した対象スラブグループ（初期ノードとして設定した対象スラブグループ）ｇからは、当該対象スラブグループｇに対して山積み制約を満たす対象スラブグループの集合Ａgが分岐可能（二段目に山積み可能）であり、二段目に山積み可能とした対象スラブグループの集合Ａgに含まれる対象スラブグループのうち着目スラブグループｇ'からは、集合Ａgと着目スラブグループｇ'に対して山積み制約を満たす対象スラブグループの集合Ａg'との積集合（共通部分：intersection）が分岐可能（三段目に山積み可能）であるとし、以降、着目スラブグループを順次上段にずらしながら、着目スラブグループに対して、それまでの積集合と着目スラブグループに対して山積み制約を満たす対象スラブグループの集合との積集合が分岐可能であるとする。
【００７０】
例えば、図６の一番上の分岐について説明する。図６では、表記の都合上、対象スラブグループを鋼材と表記する。
まず、最下段に設定した対象スラブグループａ1（鋼材ａ1）に対しては、上載せ可能集合Ａ1が分岐可能である（図６の分岐１を参照）。次に、二段目において着目スラブグループを対象スラブグループａ2（鋼材ａ2）とすると、（１、２）枝に対しては、上載せ可能集合Ａ1∩Ａ2が分岐可能である（図６の分岐２を参照）。次に、三段目において着目スラブグループを対象スラブグループａ3（鋼材ａ3）とすると、（１、２、３）枝に対しては、上載せ可能集合Ａ1∩Ａ2∩Ａ3が分岐可能である（図６の分岐３を参照）、という具合である。
【００７１】
実現可能解抽出部２０３は、このような分岐を、（ｉ、ｊ、・・・、ｓ）枝に対し上載せ可能集合Ａi∩Ａj・・・∩Ａs＝φ（空集合）になるか、当該枝の山高さが上限値になるまで続ける。その結果、実現可能解抽出部２０３は、空集合になるまでの枝を、或いは、空集合になる前に山高さが上限値を超えた場合は上限値以下の高さになるまでの枝を、実現可能山とする。
【００７２】
例えば、図６の一番上の分岐について説明すると、最下段の対象スラブグループａ1（鋼材ａ1）→二段目の対象スラブグループａ2（鋼材ａ2）→三段目の対象スラブグループａ3（鋼材ａ3）で空集合になったとする。この場合、空集合になるまでの（１、２）枝、（１、２、３）枝が実現可能山として抽出される。すなわち、｛最下段に対象スラブグループａ1（鋼材ａ1）、二段目に対象スラブグループａ2（鋼材ａ2）｝という集合と、｛最下段に対象スラブグループａ1（鋼材ａ1）、二段目に対象スラブグループａ2（鋼材ａ2）、三段目に対象スラブグループａ3（鋼材ａ3）｝という集合とが実現可能山として抽出される。
【００７３】
また、最下段の対象スラブグループａ1（鋼材ａ1）→二段目の対象スラブグループａ2（鋼材ａ2）→三段目の対象スラブグループａ3（鋼材ａ3）→四段目の対象スラブグループａ4（鋼材ａ4）でまだ空集合にならないが、四段目で山高さが上限値を超えたとする。この場合、上限値以下の高さになるまでの、（１、２）枝、（１、２、３）枝が実現可能山として抽出される。
【００７４】
また、本実施形態では、樹形図において、各スラブグループを配置する際に、以下の確定スラブグループ積順条件を満足するようにする。
（４）確定スラブグループ積順条件：確定スラブグループは、最下段のスラブグループが属する根ノードにしか配置されず、且つ、当該根ノード以外には配置されない。
（４）確定スラブグループ積順条件について説明する。
ここでは、確定対象物判定部２０２により確定スラブグループであると判定されたスラブグループを根ノード（図６の最左ノード）に配置する。その際、実現可能解抽出部２０３は、１つのスラブグループとして纏めた複数の確定スラブグループについては、同一の根ノードに配置する。また、実現可能解抽出部２０３は、確定対象物判定部２０２により確定スラブグループであると判定されたスラブグループを、前記配置した根ノード以外のノードに配置しないようにする（すなわち、分岐対象から除外する）。以上のようにすることによって、確定スラブグループは、分岐対象から除外される。したがって、確定スラブグループに対する最適山および積段が最適計算によって変化することと、１つのスラブグループに纏められた複数のスラブグループが分離されることとを防止することができる。
【００７５】
例えば、或る時刻ｔ１において、スラブグループＡ、Ｂは、置場１に下からスラブグループＡ、Ｂの順に積まれており、確定スラブグループであるとする。この場合、次の最適計算に際し、実現可能解抽出部２０３は、スラブグループＡ、Ｂを１つのスラブグループに纏め、図６の根ノード(図６の最左ノード)とすると共に、スラブグループＡ、Ｂを分岐対象から除外する。例えば図６で根ノードの内、鋼材ａ1をこの確定スラブグループとすると、鋼材ａ1を分岐対象から除外することに相当する（鋼材ａ1が確定スラブグループの場合、図６の分岐１、２に鋼材ａ1（スラブグループＡ、Ｂ）が含まれるのは不適切である)。
続いて、その後の時刻ｔ２において、スラブグループＣ、Ｄは、置場１において、スラブグループＢの上に、スラブグループＣ、Ｄの順に積まれており、確定スラブグループであるとする。この場合、次の最適計算に際し、スラブグループＡ、Ｂ、Ｃ、Ｄを確定スラブグループとして固定して１つのスラブグループとして扱い、図６の根ノード（図６の最左ノード）の１要素とする（今度は、スラブグループＡ、Ｂ、Ｃ、Ｄが図６の例えば鋼材ａ1の中身となり、鋼材ａ1は分岐２以降の分岐対象に含まれない）と共に、分岐対象より除外する。具体的には、図６において、樹形図の根ノードであって、いずれのスラブグループも属していない根ノードに、確定スラブグループＡ、Ｂ、Ｃ、Ｄを配置すると共に、樹形図のその他のノードに確定スラブグループＡ、Ｂ、Ｃ、Ｄが配置されないようにする。
【００７６】
確定スラブグループが単独で１つ存在する場合には、当該確定スラブグループを分岐１の１要素とすると共に、分岐対象から除外する。例えば、スラブグループＥは、置場２の最下段に置かれており、確定スラブグループであるとする。この場合、次の最適計算に際し、当該スラブグループＥを、分岐１の１要素とすると共に、分岐対象より除外する。具体的には、図６において、樹形図の根ノードであって、何れのスラブグループも属していない根ノードに、確定スラブグループＥを配置すると共に、樹形図のその他のノードに、確定スラブグループＥが配置されないようにする。
【００７７】
［第２の例］
第１の例では、今回の最適計算で最小単位とするスラブグループを設定し、確定スラブグループを樹形図の根ノードに配置すると共に、当該確定スラブが当該根ノード以外のノードに配置されないようにした。ただし、必ずしもこのようにする必要はなく、確定スラブグループのうちの最下段に位置する確定スラブグループの位置を、樹形図（分岐木）において最下段で固定すると共に、ノードの下段（積み位置では上段）に確定スラブグループへの分岐が存在する場合には、確定スラブグループへの分岐のみを残し、確定スラブグループ以外のスラブグループへの分岐を削除するようにしていれば、第１の例のようにする必要はない。
第２の例では、実現可能解抽出部２０３は、今回の最適計算で最小単位とするスラブグループを設定せず、且つ、（４）確定スラブグループ積順条件を山積み制約に含めずに、例えば、（１）払出順条件、（２）幅条件、および（３）長さ条件を山積み制約として、前述したようにして樹形図を作成し、実現可能山の集合を作成する。
【００７８】
そして、実現可能解抽出部２０３は、作成した樹形図において、確定スラブグループが根ノードに位置しない分岐を削除する。
図７は、実現可能山を抽出する際の処理の第２の例を概念的に説明する図である。図７でも、図６と同様、表記の都合上、実現可能解抽出部２０３で前述したように最小単位として設定された１つのスラブグループを鋼材と表記する。ただし、図６では、最下段のノードについては、１つのスラブグループとして纏められた複数の確定スラブグループが配置されることがあるものとしたが、図７におけるノード（鋼材）には、１つのスラブグループのみが配置されるものとする。
【００７９】
図７において、例えば、確定スラブグループａ1（鋼材ａ1）、確定スラブグループａ2（鋼材ａ2）、および確定スラブグループａ4（鋼材ａ4）が最下段からこの順で積まれるものとして１つのスラブグループに纏められたとする。
この場合、実現可能解抽出部２０３は、最下段に設定した対象スラブグループａ1（鋼材ａ1）に対する上載せ可能集合Ａ1のうち、対象スラブグループａ2以外への分岐（ノード）を削除する（図７では二重取り消し線により分岐（ノード）が削除されたことを示す）。また、実現可能解抽出部２０３は、二段目に設定した対象スラブグループａ2（鋼材ａ2）に対する上載せ可能集合Ａ2のうち、対象スラブグループａ4以外への分岐（ノード）を削除する。尚、実現可能解抽出部２０３は、以上のようにして分岐（ノード）を削除した場合、当該削除した分岐（ノード）よりも枝の末端側の分岐（ノード）についても削除する。
【００８０】
以上のようにして、山分けの対象となるスラブグループの全体集合Ｔから得られる実現可能山の集合のうち、確定スラブグループが最下段に位置しない実現可能山と、確定スラブグループの積順と異なる積順になる実現可能山とを除いた実現可能山の集合Ｆが得られる。
【００８１】
［前回の最適計算の結果と同じ実現可能山ｊの抽出］
そして、実現可能解抽出部２０３は、以上の第１の例または第２の例で説明したようにして得られた実現可能山の集合Ｆの中から、前回の最適計算による最適解｛ｘ［ｊopt_pr］｝に示される実現可能山ｊopt_prと同じ実現可能山ｊを抽出する。実現可能解抽出部２０３は、実現可能山の集合Ｆの中に含まれる実現可能山と、前回の最適計算の結果（最適山リスト）とを比較し、実現山可能山の集合Ｆに含まれる実現可能山が、前回の最適計算の結果（最適山リスト）のいずれかと一致する場合には、その実現可能山のＳＬＧｒ．ＩＤを前回の最適計算による最適解の要素として｛ｊopt_pr｝に登録する。
また、実現可能解抽出部２０３は、以上の第１の例または第２の例で説明したようにして得られた実現可能山の集合Ｆに含まれる実現可能山作成時の仮置き数を、後述する（１）式の右辺第２項の評価値Ｃjとして求める。
実現可能解抽出部２０３は、例えば、ＣＰＵが、ＲＯＭに記憶されたプログラムを実行することにより実現される。
【００８２】
＜目的関数設定部２０４＞
本実施形態では、実現可能山の集合Ｆから、最適な実現可能山の組み合わせ（集合）を求め、当該組み合わせを最適な山分け（最適解）とする。ここでの最適化問題は、実現可能山の集合Ｆから、山分けの対象となるスラブグループの全体集合Ｔを分割する最適な実現可能山の組み合わせ（実現可能山の集合Ｆの部分集合）を求める問題、つまり「集合分割問題」として定式化される。
【００８３】
したがって、ここでの最適化計算の決定変数は、実現可能山の集合Ｆの要素である実現可能山ｊを最適解として採用するか否かを表す変数ｘ［ｊ］である。ここでは、変数ｘ［ｊ］は、その値が「１」である場合には、実現可能山ｊを最適解の要素（最適山の一つ）として採用することを表し、その値が、「０（ゼロ）」である場合には、実現可能山ｊを最適解の要素（最適山の一つ）として採用しないことを表す0-1変数であるものとする。
【００８４】
また、実現可能山ｊは、１からｍまでの変数（ｊ＝１、・・・、ｍ）である。実現可能山ｊの数の最大値ｍは、実現可能山の集合Ｆの要素数である。前述したように、実現可能山の集合Ｆは、山分けの対象となるスラブグループの全体集合Ｔから得られる実現可能山の集合のうち、確定スラブグループが最下段に位置しない実現可能山と、１つのスラブグループとして纏められた複数の確定スラブグループの積順と異なる積順になる実現可能山とを除いたものになる。
本実施形態では、以下の（１）式および（２）式に示す目的関数Ｊを用いる。
【００８５】
【数１】
0006488859.tif 000002
【００８６】
（１）式において、ｋ1、ｋ2、ｋ3は、重み係数である。重み係数ｋ1、ｋ2、ｋ3は、（１）式の右辺の各項の重みを定めるものであり、重み係数ｋ1、ｋ2は、オペレータにより指定される（第３項および重み係数ｋ3の詳細について後述する）。
【００８７】
Ｃjは、実現可能山ｊに対する評価値（コスト）である。（１）式の右辺第１項は、ヤードにおける総山数を表す。一方、（１）式の右辺第２項は、仮置きの総発生数を表す。ここでは、山作成時の搬送機器（クレーン１Ａ、１Ｂ、２Ａ、２Ｂ等）の操作負荷を、仮置きの発生数で評価する。
【００８８】
したがって、（１）式の右辺第２項の評価値Ｃjは、山作成時の仮置き数に対応しており、これが少ないほど搬送機器の操作負荷が少なくなる。本実施形態では、後述する最適化問題を最小化問題とするので、仮置き数Ｃjが小さいほど高評価となる。
目的関数設定部２０４は、実現可能解抽出部２０３により導出された実現可能山の集合Ｆの要素である実現可能山ｊのそれぞれについて、仮置きの発生数を導出し、導出した仮置きの発生数に基づいて、前述した基準に従って、評価値Ｃjを導出する。
【００８９】
（１）式の右辺第３項は、前回の最適計算による最適解の要素ｘ［ｊopt_pr］のうち、今回の最適計算による最適解の要素ｘ［ｊopt］（ｊopt_prは、前回の最適計算により得られる実現可能山ｊであり、ｊoptは、今回の最適計算により得られる実現可能山ｊである）として選択されないものの数が多いほど、低い評価を示す値になるようにする（すなわち、ペナルティを課すようにする）ためのペナルティ項である。本実施形態では、最適化問題を最小化問題とするので、（１）式の右辺第３項は、今回の最適計算による最適解の要素ｘ［ｊopt］のうち、前回の最適計算による最適解の要素ｘ［ｊopt_pr］と同じでないものの数が多いほど、大きな値になる。
【００９０】
ただし、（１）式の右辺第３項の値が、他の評価項目（（１）式の右辺第１項および第２項）に影響しないように、今回の最適計算による最適解の要素ｘ［ｊopt］の全てが、前回の最適計算による最適解の要素ｘ［ｊopt_pr］から変化しても、（１）式の右辺第３項の値が、当該他の評価項目の最小感度よりも小さくなるようにする。このように、（１）式の右辺第３項の値としてとり得る最大値を、他の評価項目の最小感度よりも小さくすることにより、前回の最適計算による最適解｛ｘ［ｊopt_pr］｝（｛ｘ［ｊopt_pr］｝は、前回の最適計算による最適解の要素ｘ［ｊopt_pr］の集合である）より僅かでも目的関数Ｊが改善されるならば、最適解｛ｘ［ｊopt］｝が変更され、全く改善がない場合には、前回の最適計算による最適解｛ｘ［ｊopt_pr］｝が保持されることが期待できる。
尚、以下の説明では、今回の最適計算による最適解の要素ｘ［ｊopt］が、前回の最適計算による最適解の要素ｘ［ｊopt_pr］と同じになることを必要に応じて「最適解の要素の承継」と称する。
【００９１】
このペナルティ項（（１）式の右辺第３項）は、計算条件の変化により、前回の最適計算による最適解｛ｘ［ｊopt_pr］｝を更新した方が、最適解｛ｘ［ｊopt］｝が僅かでも改善されるのであれば、最適解の要素の継承に拘らず、最適解｛ｘ［ｊopt］｝を更新（変更）すべきであるが、そうでないのであれば、前回の最適計算による最適解の要素ｘ［ｊopt_pr］からのずれに対しペナルティを課すことを意味する。
【００９２】
したがって、ペナルティ項（（１）式の右辺第３項）を除いた本来の目的関数の値の最適解の変更に伴う最小感度が、今回の最適計算による最適解の要素ｘ［ｊopt］の全てが、前回の最適計算による最適解の要素ｘ［ｊopt_pr］から変化した場合のペナルティ項の値よりも大きくなるようにする。尚、今回の最適計算による最適解の要素ｘ［ｊopt］の全てが、前回の最適計算による最適解の要素ｘ［ｊopt_pr］から変化した場合は、最適解の要素の承継という意味では最悪の場合になる。
【００９３】
（１）式に示すように、本実施形態では、ペナルティ項（（１）式の右辺第３項）を除いた本来の目的関数を、総山数と仮置き総発生数との重み付き線形和で表す。したがって、重み係数ｋ1、ｋ2をそれぞれ「１０」、「２」とすると（ｋ1＝１０、ｋ2＝２）、この場合の、最小感度（摂動単位）は、仮置き発生数が「１」増えた場合の２（＝ｋ2）となる。したがって、今回の最適計算による最適解の要素ｘ［ｊopt］の全てが、前回の最適計算による最適解の要素ｘ［ｊopt］から変化しても、「２」より小さくなる程度のペナルティ項を、本来の目的関数に追加する。
【００９４】
このような観点から、前述した例では、（１）式の右辺第３項の重み係数ｋ3は、ｎopt・ｋ3＜ｋ2（＜ｋ1）となるようにする。ここで、ｎoptは、前回の最適計算により得られた総山数の内、今回実現可能な山数である。（即ち｛ｊopt_pr｝の要素数）したがって、（２）式に示すようにして重み係数ｋ3が定められる。尚、（２）式においてαは「１」未満の値であり、オペレータにより指定される。
【００９５】
また、（１）式の右辺第３項で総和を求める対象となっている｛ｊopt_pr｝は、今回の最適計算による最適解の要素ｘ［ｊopt］のうち、前回の最適計算による最適解の要素ｘ［ｊopt_pr］に一致する実現可能山ｊoptの集合である。
【００９６】
前回の最適計算による最適解の要素ｘ［ｊopt_pr］として採用された実現可能山ｊopt_prが、今回の最適計算においては実現可能山ｊではない場合、当該前回の最適計算による最適解の要素ｘ［ｊopt_pr］として採用された実現可能山ｊopt_prは、｛ｊopt_pr｝に含まれない（（１）式の右辺第３項のｊ∈｛ｊopt_pr｝を参照）。したがって、前記前回の最適計算による最適解(山)｛ｊopt_pr｝のうち、今回の最適計算においては実現可能山jでない山は、ペナルティ項（（１）式の右辺第３項）における積算の対象から外れることになる。よって、このような場合には、前回の最適計算による最適解の要素ｘ［ｊopt_pr］が、今回の最適解計算による最適解の要素ｘ［ｊopt］として承継されなくても、ペナルティを課さないという点で合理的となっている。
【００９７】
以上のことから、ペナルティ項（（１）式の右辺第３項）の計算では、前回の最適計算による最適解の要素ｘ［ｊopt_pr］の実現可能山ｊopt_prが、今回の最適計算では、山積み制約に違反する山である場合、または、オペレータの介入等により明らかに再現することが難しい山（仮置きを複数回必要とする山等）である場合には、ペナルティ項によるペナルティの対象から予め除外される。
【００９８】
集合分割問題では、制約を充足する山である各実現可能山ｊを、最適な山分けとして採用するか否かを決定変数ｘ［ｊ］により表す。すなわち、実現可能山ｊと決定変数ｘ［ｊ］とが１対１に対応する。したがって、前回の最適計算における最適解｛ｘ［ｊopt_pr］｝による最適山の集合を｛ｊopt_pr｝とすれば、前回の最適計算における最適解の要素ｘ［ｊopt_pr］が、今回の最適解の要素ｘ［ｊopt］として採用されたか否かは、ｘ［ｊopt_pr］が「１」であるか「０（ゼロ）」であるかで判断できる。したがって、前回の最適計算における最適解の要素ｘ［ｊopt_pr］が採用されない場合のペナルティ項を、（１）式の右辺第３項のように極めて簡潔に表現することができる。
【００９９】
目的関数設定部２０４は、重み係数ｋ1、ｋ2、実現可能山ｊの最大値ｍ、変数α、前回の最適計算により得られた総山数ｎopt、および実現可能山ｊとしてとり得る値を、（１）式および（２）式に設定することにより目的関数Ｊを設定する。尚、最初に最適計算を行う場合には、前回の最適計算の結果はないので、（１）式の右辺第３項の値は「０（ゼロ）」になる。
目的関数設定部２０４は、例えば、ＣＰＵが、ＲＯＭに記憶されたプログラムを実行することにより実現される。
【０１００】
＜制約式設定部２０５＞
本実施形態では、最適化問題を集合分割問題としている。したがって、最適化計算での制約式は、「いずれのスラブグループｇも、複数の実現可能山ｊに重複して配置されてはならず、且つ、いずれかの１つの実現可能山ｊに配置されなければならない。」ことが唯一の制約条件となり、以下の（３）式で表すことができる。
【０１０１】
【数２】
0006488859.tif 000003
【０１０２】
（３）式において、Ｓｅｔ＿ｇは、スラブグループｇを含む実現可能山の集合である。また、スラブグループｇは、１、・・・、Ｎ（Ｎは、山分けの対象となるスラブグループの数）である。
【０１０３】
制約式設定部２０５は、スラブグループｇを含む実現可能山の集合Ｓｅｔ＿ｇおよび実現可能山ｊとしてとり得る値を設定することにより、制約式を設定する。
制約式設定部２０５は、例えば、ＣＰＵが、ＲＯＭに記憶されたプログラムを実行することにより実現される。
【０１０４】
＜最適解導出部２０６＞
本実施形態では、最適化問題を最小化問題とする。したがって、最適解導出部２０６は、（３）式の制約式を満足する範囲で、（１）式の目的関数Ｊの値を最小にする変数ｘ［ｊopt］の集合｛ｘ［ｊopt］｝を最適解として導出して記憶する。最適解は、次回の最適解の導出が終了するまで記憶されていればよく、それ以降は削除されるようにしてもよい。尚、個々の変数ｘ［ｊopt］が最適解｛ｘ［ｊopt］｝の要素になる。
【０１０５】
本実施形態における最適化計算は、０-１計画問題として定式化できる。０−１計画問題は、通常、分枝限定法等により変数ｘ［ｊ］の０−１条件（変数ｘ［ｊ］∈｛０，１｝）を緩和した線形計画問題を繰り返し解く必要がある（通常は２n回のオーダの繰り返しが必要になる）。これに対し、本実施形態では、１回または数回の線形計画問題を解くだけで（１、０）の最適解を求めることができる場合があるなど比較的少ない（浅い）分岐により最適解に至ることが期待できる。
【０１０６】
なぜならば、最適化問題を「集合分割問題」として定式化したことにより、制約式の両辺の係数行列を「１」または「０（ゼロ）」とできるため、解空間境界の端点が１−０格子点となるからである。つまり、一般の整数計画問題の最適解は実行可能領域「内部解」であるが、「集合分割問題」の最適解は線形計画問題と同様「頂点解」となることが多いことを利用して高速解法が可能となる。
【０１０７】
尚、前述した図４は、初期時刻における山立て対象スラブグループリスト３００に従って、以上のようにして最適計算を行った結果から得られる最適山リスト４００である。前述したように、最初の最適計算においては、確定対象物判定部２０２の処理はスキップされる（確定スラブグループは存在しない）。また、（１）式の右辺第３項は、「０（ゼロ）」になる。
【０１０８】
ここでは、重み係数ｋ1を「１０」とし、重み係数ｋ2を「２」とした。図４より、山総数は「７」であり（図４の最適山ＩＤの最大値「７」を参照）、仮置きの総発生数は「９」である（図４の仮置有無が「１」の総数を参照）。したがって、この場合の目的関数Ｊの値は、８８（＝１０×７＋２×９）である。
【０１０９】
図４に示す最適山リスト４００の通りに、ヤードに到着したスラブグループ（を構成するスラブ）をヤードに配置する。そして、初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストが、図５に示した山立て対象スラブグループリスト５００として取得される。前述したように、図５に示した山立て対象スラブグループリスト５００では、ＳＬＧｒ．ＩＤが「０（ゼロ）」〜「６」のスラブグループは、ヤードに既に配置されていることが示される。
【０１１０】
この山立て対象スラブグループリスト５００を初期値として、前述のようにして最適計算を行う。このときは、前回の最適計算の結果（最適山リスト４００）が存在する。したがって、確定スラブグループが確定対象物判定部２０２により判定されると共に、（１）式の右辺第３項が設定される。
【０１１１】
図８は、本実施形態の手法で最適計算を行うことにより得られた、初期時刻から２０時刻が経過したタイミングにおける結果（最適山リスト８００）の一例を示す図である。
ここでは、重み係数ｋ1を「１０」とし、重み係数ｋ2を「２」とした。また、重み係数ｋ3は「０．１４（＝ｋ2／７×０．５）」とした（α＝０．５、ｎopt＝７）。
【０１１２】
尚、図８において仮置有無の値が「０（１）」となっているのは、過去（ここでは初期時刻）に仮置きが発生したことを示す（段落［００２９］、図４を参照）。
また、この場合の目的関数Ｊの値は、総山数が「７」であり（図８の最適山ＩＤの最大値「７」を参照）、仮置きの総発生数が「６」であり（図８の仮置有無が「１」の総数を参照）、全ての最適解の要素ｘ［ｊopt］が一致していることから、「８２（＝１０×７＋２×６）」となる。
【０１１３】
図４と図８とを比較すると、最適山ＩＤは異なるものの、全ての最適解の要素ｘ［ｊopt］が一致していることが分かる。
また、図示を省略するが、初期時刻から２０時刻が経過した以降の時刻（初期時刻から７０時刻、１１０時刻、１５０時刻、１７０時刻、１８０時刻）が経過したタイミングにおいても、初期時刻から２０時刻が経過したタイミングと同様に最適計算を行った。すなわち、１つ前のタイミングにおける最適山リストの通りに、ヤードに到着したスラブグループをヤードに配置する。そして、初期時刻から前記の時刻が経過したタイミングにおける山立て対象スラブグループリストを取得する。そして、取得した山立て対象スラブグループリストに従って、前述した本実施形態の手法で最適計算を行うことにより、最適山リストを導出する。その結果、全ての時刻において、全ての最適解の要素ｘ［ｊopt］が図４に示した初期時刻における最適山リスト４００と一致したことを確認した。
【０１１４】
一方、本実施形態の手法との比較を行うために、公知の分岐限定法における初期解に、前回の最適計算における最適解｛ｘ´［ｊopt］｝を設定する手法を比較例として採用した。尚、かかる手法を採用したのは、かかる手法は、最適解の一貫性が保たれるようにするための手法として採用し得ると想定されるからである。
集合分割問題とする場合の分岐限定法における最適計算の変数としては、前回の最適計算で抽出された実行可能山ｊを最適山として採用する場合に「１」、採用しない場合に「０（ゼロ）」とする0-1変数ｘ´［ｊ］が使われる。
【０１１５】
前回の最適計算によりｘ´［ｊopt_pr］＝１となった実行可能山ｊopt_prの集合｛ｊopt_pr｝を最適解として記憶しておく。
今回の最適計算の際に抽出した実行可能山ｊ´の中に、前回の最適計算によりｘ´［ｊopt_pr］＝１となった実行可能山ｊopt_prと同じ山があれば、当該実行可能山ｊ´の0-1変数ｘ´［ｊ］の初期解として「１」を設定する。
一方、今回の最適計算の際に抽出した実行可能山ｊ´の中に、前回の最適計算によりｘ´［ｊopt_pr］＝１となった実行可能山ｊoptと同じ山がなければ、当該実行可能山ｊ´の0-1変数ｘ´［ｊ］の初期解として「０（ゼロ）」を設定する。
尚、分岐限定法は、公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
【０１１６】
図９は、以上の比較例の手法で最適計算を行うことにより得られた、初期時刻から２０時刻が経過したタイミングにおける結果（最適山リスト９００）の一例を示す図である。
図９では、図４に示した最適山リスト４００を、初期時刻から２０時刻が経過したタイミングにおける初期解として分岐限定法により最適計算を行った結果を示す。
まず、ヤードに到着済みで確定しているスラブグループ（ＳＬＧｒ．ＩＤ「１」、「５」と、ＳＬＧｒ．ＩＤ「３」、「４」）は、最適山ＩＤは異なるものの、図４に示した最適山リスト４００と一致する。
次に、図９において、最適山ＩＤが「１」の最適山と、最適山ＩＤが「２」の最適山は、図４に示した最適山リスト４００と一致する。一方、図４における最適山ＩＤが「３」、「５」、「６」、「７」の最適山に相当する最適山は、図９に示す最適山リスト９００にはない。また、図５における最適山ＩＤが「４」の最適山は、図９における最適山ＩＤが「６」の最適山に相当する。
【０１１７】
以上のように、７つの最適山のうち、同じ山は３つであり、４つの最適山は異なる山となっている。したがって、比較例では、最適解が維持されていないことが分かる。
尚、この場合の目的関数Ｊの値は、総山数が「７」であり（図９の最適山ＩＤの最大値「７」を参照）、仮置きの総発生数が「６」であるから（図９の仮置有無が「１」の総数を参照）、「８２（＝１０×７＋２×６）」となり、段落［０１１２］で求めた値と一致しておりいずれも最適値であることが判る。
【０１１８】
また、図示を省略するが、初期時刻から２０時刻が経過した以降の時刻（初期時刻から７０時刻、１１０時刻、１５０時刻、１７０時刻、１８０時刻）が経過したタイミングにおいても、前述した比較例の手法により、最適山リストを導出した。その結果、全ての時刻において、最適解の要素ｘ［ｊopt］の一部が図４に示した初期時刻における最適山リスト４００と異なり、且つ、最適計算を行うタイミング毎に最適解の要素ｘ［ｊopt］が変動したことを確認した。
最適解導出部２０６は、例えば、ＣＰＵが、ＲＯＭに記憶されたプログラムを実行することにより実現される。
【０１１９】
＜最適解出力部２０７＞
最適解出力部２０７は、最適解導出部２０６により最適解｛ｘ［ｊopt］｝が導出されると、当該最適解｛ｘ［ｊopt］｝を示す情報を出力する。例えば、最適解出力部２０７は、初期時刻における最適解｛ｘ［ｊopt］｝が導出されると、図４に示した最適山リスト４００の情報を出力し、その後、初期時刻から２０時刻が経過したタイミングにおける最適解｛ｘ［ｊopt］｝が導出されると、図８に示した最適山リスト８００の情報を出力する。
【０１２０】
出力の形態としては、例えば、コンピュータディスプレイへの表示、作業計画作成装置２００内の記憶媒体や外部の記憶媒体への記憶、および外部装置への送信の少なくとも１つを採用することができる。
また、最適解出力部２０７は、最適解導出部２０６により導出された最適解｛ｘ［ｊopt］｝に基づいて、どの位置のスラブグループを、どの位置に搬送するのかを示す搬送指示信号を生成し、当該搬送指示信号を、搬送装置に送信してもよい。
【０１２１】
最適解出力部２０７は、例えば、ＣＰＵが、最適解｛ｘ［ｊopt］｝を示す情報を、ＨＤＤに記憶したり、通信インターフェースや入出力インターフェースを介して出力したりすることにより実現される。
【０１２２】
（外乱がある場合の例）
図５に示した山立て対象スラブグループリスト５００では、山立て対象スラブグループリスト３００に示される各スラブグループの到着予定に対し、各スラブグループの到着予定に変更がない理想的な条件である場合を例に挙げて説明した。
そこで、本実施形態の手法のより高い有用性を示すために、ここでは、到着予定に変更（到着順の変更、到着予定のスラブの属性の変更等）があっても、本実施形態の手法が、理想的な条件下と同様に、前述した効果を発揮できるか否かを、前述した比較例の手法と比較する。
【０１２３】
尚、ここでも、初期時刻における条件を前述した条件と同じにした。すなわち、初期時刻における山立て対象スラブグループリストは、図３に示した山立て対象スラブグループリスト３００であり、初期時刻における最適山リスト（山立て対象スラブグループリスト３００に従った最適計算の結果）は、図４に示した最適山リスト４００であるものとする。
【０１２４】
ただし、ここでは、初期時刻から２０時刻が経過した時点で、ヤードに到着する予定のスラブグループの到着順、ヤードに到着する予定のスラブグループの属性、ヤードに到着したスラブグループの位置が、初期時刻における山立て対象スラブグループリスト３００および最適山リスト４００から変更されたものとする。
そして、本実施形態の手法であるリアルタイム最適化機能が、以上の変更を適切に判断し、必要な解の修正を行えるかということや、必要以上の解の変更を行っていないかということ等について検証を行った。
ここでは、前述したのと同様に、重み係数ｋ1、ｋ2をそれぞれ「１０」、「２」とした（ｋ1＝１０、ｋ2＝２）。初期時刻における最適山の総数は「７」であるから、前述したのと同様に、重み係数ｋ3を「０．１４（＝ｋ2／７×０．５）」とした（α＝０．５、ｎopt＝７）。
【０１２５】
＜到着順の変更があった場合＞
まず、初期時刻から２０時刻が経過した時点で、ヤードに到着する予定のスラブグループの到着順に変更があった場合について示す。
図１０は、初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの到着順に変更があった場合の山立て対象スラブグループリスト１０００の一例を示す図である。図１０でも、図５と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
【０１２６】
具体的に図１０では、ＳＬＧｒ．ＩＤが「１７」のスラブグループの到着順と、ＳＬＧｒ．ＩＤが「１８」のスラブグループの到着順とが初期時刻（図３）とは逆になる。すなわち、図３に示したように、初期時刻では、ＳＬＧｒ．ＩＤが「１７」のスラブグループの到着時刻（到着予定時刻）は「１０５」、ＳＬＧｒ．ＩＤが「１８」のスラブグループの到着時刻（到着予定時刻）は「１０６」である。この予定の通りに、初期時刻から２０時刻が経過すれば、ＳＬＧｒ．ＩＤが「１７」のスラブグループの到着時刻（到着予定時刻）は「８５」、ＳＬＧｒ．ＩＤが「１８」のスラブグループの到着時刻（到着予定時刻）は「８６」になるはずである。
【０１２７】
ところが、ここでは、この到着予定が変更され、図１０に示すように、初期時刻から２０時刻が経過したタイミングで、ＳＬＧｒ．ＩＤが「１７」のスラブグループの到着時刻（到着予定時刻）が「８６」、ＳＬＧｒ．ＩＤが「１８」のスラブグループの到着時刻（到着予定時刻）が「８５」になったものとする（図１０の下線の部分を参照）。
【０１２８】
このように到着予定が変更されると、ＳＬＧｒ．ＩＤが「１７」の払出順が「１１」、ＳＬＧｒ．ＩＤが「１８」の払出順が「８」であることから、到着順と払出順が逆順になる。したがって、初期時刻における最適山リスト４００の最適山ＩＤが「６」の山を作る際に、山繰り（仮置き数）が増える。したがって、そのままでは、目的関数の値が悪化してしまう。
【０１２９】
尚、前記において、逆順とは、到着順が先（後）のスラブグループの払出順が先（後）であることをいう。例えば、２つのスラブグループがあり、一方のスラブグループのヤードへの到着順が、他のスラブグループよりも先であり、且つ、一方のスラブグループの圧延工程への搬送順（払出順）が、他のスラブグループよりも先であるものとする。この場合、一方のスラブグループが先にヤードに到着し、一方のスラブグループの上に他方のスラブグループが積まれると、一方のスラブグループを他方のスラブグループよりも先に圧延工程へ搬送するために、他方のスラブグループをどけてから一方のスラブグループを圧延工程へ搬送する必要が生じ、山作成時の搬送機器の操作負荷が大きくなる。
【０１３０】
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、２つの最適山が一致し、５つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,28)，(11,2,25,17,7)，(1,5,20,16,15)，(3,4,13,14,18,19)，(7,8,10,6,24,29,0)」
【０１３１】
前記において、１つの括弧（）は、１つの最適山を示し、当該括弧内の数字は、当該括弧で示される最適山のＳＬＧｒ．ＩＤを下段に位置するものほど左になるように「，」で区切って並べて示したものであり、下線は、異なる(初期解から変更された)最適山であることを示す（以上のことは、以下でも同じである）。
【０１３２】
・最適値
目的関数の値（最適値）は「８２（＝１０×７＋２×６）」になった（ｋ1＝１０、ｋ2＝２）。
初期解「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」の20時刻経過時に
おける目的関数の値（最適値）は、到着順予定変更のあったＳＬＧｒ．ＩＤ「１８」の仮置きが増え「８４（＝１０×７＋２×７）」であるので（段落［０１１２］を参照）、目的関数の値（最適値）は、それよりも良い値になり、スラブグループの到着順の変更による目的関数の値（最適値）の悪化は回避された。しかしながら、前述したように、最適解の一貫性はない。
【０１３３】
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、５つの最適山が一致し、２つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,17)，(1,5,20,16,15,0)，(3,4,13,14,18,19)，(7,8,10,24,28)」
【０１３４】
このように、これらの最適解では、ＳＬＧｒ．ＩＤが「１４」のスラブグループとＳＬＧｒ．ＩＤが「１７」のスラブグループとが入れ替わっているところだけが異なる。これは、今回の外乱（ＳＬＧｒ．ＩＤが「１７」のスラブグループの到着順とＳＬＧｒ．ＩＤが「１８」のスラブグループの到着順とが入れ替わったこと）による影響であり、この影響による変更を最小限にとどめた解であると考えられる。
【０１３５】
・最適値
目的関数の値（最適値）は「８２．２８５７（＝１０×７＋２×６＋０．１４３×２）」であった（ｋ1＝１０、ｋ2＝２、ｎopt＝７、α＝５）。
したがって、（１）式の右辺第３項の寄与分は「０．２８５７」である。これを除いた目的関数の値（最適値）は「８２」になり、（１）式の右辺第３項のない目的関数の値（前記<<比較例における検証結果>>における目的関数の値）と一致するので、これも最適解である。したがって、比較例のように最適解を変更させる必要がないことが分かる。このように、本実施形態の手法では、スラブグループの到着順の変更による目的関数の値（最適値）の悪化を回避し、最適性を確保しながらも前回解を出来るだけ継承した解を導出している。
【０１３６】
＜到着予定のスラブグループの属性の変更があった場合＞
次に、初期時刻から２０時刻が経過した時点で、ヤードに到着する予定のスラブグループの属性に変更があった場合について示す。
図１１は、初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの属性に変更があった場合の山立て対象スラブグループリスト１１００の一例を示す図である。図１１でも、図５と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
【０１３７】
具体的に図１１では、ＳＬＧｒ．ＩＤが「２１」のスラブグループと、ＳＬＧｒ．ＩＤが「２２」のスラブグループとの寸法情報が初期時刻（図３）におけるものと異なる。すなわち、初期時刻では、図３に示したように、ＳＬＧｒ．ＩＤが「２１」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「８５０」、「８５０」、「９１９０」、「９１９０」の予定であり、ＳＬＧｒ．ＩＤが「２２」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「８５０」、「８５０」、「６１３０」、「６１３０」の予定であった。これに対し、初期時刻から２０時刻が経過したタイミングでは、図１１に示すように、ＳＬＧｒ．ＩＤが「２１」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「１５５０」、「１５５０」、「１３２６０」、「１３２６０」の予定に変更され、ＳＬＧｒ．ＩＤが「２２」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「１５５０」、「１５５０」、「１１０７０」、「１１０７０」の予定に変更された（図１１の下線の部分を参照）。
【０１３８】
このように払出順（圧延工程への搬送順）が比較的遅いスラブグループの寸法が大きくなるので、山立てがし易くなり、山数をより少なくできる（目的関数の値を改善できる)可能性があることが想定される。
【０１３９】
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、初期時刻では最適山の数が７つであったのが、５つになり、初期時刻における最適山と一致する最適山はなかった。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(23,22,21,12,9,27,26,28)，(11,2,16,17,14,18,19)，(1,5,20,15,0)，(3,4,25,13)，(7,8,10,6,24,29)」
【０１４０】
・最適値
目的関数の値（最適値）は「６６（＝１０×５＋２×８）」であった（ｋ1＝１０、ｋ2＝２）。
初期解の２０時刻経過時における目的関数の値（最適値）は、前述したように「８２（＝１０×７＋２×６）」である（段落［０１１２］を参照）。したがって、目的関数の値は、それよりも大幅に良い値になり、到着予定のスラブグループの寸法の変更による総山数の減少により、目的関数の値（最適値）は改善された。しかしながら、前述したように、最適解の一貫性はない。
【０１４１】
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、３つの最適山が１つの最適山にまとまり、残りの４つの最適山は全て一致した。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(11,2,25,14)，(12,9,27,26,6,29)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(23,22,21,11,2,25,14)，(12,9,27,26,6,29)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
このように、到着予定のスラブグループの寸法の変更により、複数の山を纏めることができるようになり、当該変更により山数を少なくできるという利益をきちんと享受しつつも、それ以外の山は完全に変更なく継承されることが分かる。
【０１４２】
・最適値
目的関数の値（最適値）は、「６６．４２９（＝１０×５＋２×８＋０．１４３×３）」であった（ｋ1＝１０、ｋ2＝２、ｎopt＝７、α＝５）。
したがって、（１）式の右辺第３項の寄与分は「０．４２９」である。これを除いた目的関数の値（最適値）は「６６」になり、（１）式の右辺第３項のない目的関数の値（前記<<比較例における検証結果>>における目的関数の値）と一致するので、これも最適解である。したがって、本実施形態の手法では、スラブグループの属性の変更による目的関数の値（最適値）の悪化を回避し、最適性を確保している。
【０１４３】
＜ヤードに到着済みのスラブグループの位置の変更があった場合＞
次に、ヤードに到着したスラブグループの一部が、オペレータの介入により、初期時刻における最適山リストとは異なる置き方で置かれた場合について示す。
図１２は、初期時刻から２０時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着したスラブグループの位置に変更があった場合の山立て対象スラブグループリスト１２００の一例を示す図である。図１２でも、図５と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
【０１４４】
具体的に図１２では、ＳＬＧｒ．ＩＤが「５」のスラブグループと、ＳＬＧｒ．ＩＤが「６」のスラブグループの山姿（位置）が、図４に示した最適山リスト４００に従う山姿の通りでない。
すなわち、ＳＬＧｒ．ＩＤが「５」のスラブグループの位置は、初期時刻では、図４に示したように、最適山ＩＤが「５」の最適山の２段目であるとされていたが、初期時刻から２０時刻が経過したタイミングにおいて実際に置かれている位置は、図１２に示すように、最適山ＩＤが「５」の最適山の３段目である（図１２の下線の部分を参照）。
【０１４５】
また、ＳＬＧｒ．ＩＤが「６」のスラブグループの位置は、初期時刻では、図４に示したように、最適山ＩＤが「７」の最適山の５段目であるとされていたが、初期時刻から２０時刻が経過したタイミングにおいて実際に置かれている位置は、図１２に示すように、最適山ＩＤが「５」の最適山の３段目である（図１２の下線の部分（置場、積段の値）を参照）。したがって、ＳＬＧｒ．ＩＤが「６」のスラブグループは、初期時刻の段階では、仮置きが必要であるとされていたが（図４の仮置有無の値を参照）、初期時刻から２０時刻が経過したタイミングでは、オペレータが最適山リスト４００とは異なる置き方をしたために、仮置きが不要となり、確定スラブグループになっている（図１２の下線の部分（本／仮の値）を参照）。
【０１４６】
このように、オペレータによる介入があると、最適山ＩＤが「５」および「７」の最適山については、図４に示した最適山リスト４００におけるものと同じ山にすることができなくなる。この場合に、その他の最適山についての異同を検証した。
【０１４７】
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、オペレータの介入の影響を受ける２つの最適山と、オペレータの介入する１つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,28)，(11,2,25,14)，(1,6,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,29)」
【０１４８】
オペレータが介入したＳＬＧｒ．ＩＤが「５」、「６」のスラブグループが関連する最適山ＩＤが「５」、「３」の最適山（初期時刻においては、最適山ＩＤが「５」、「７」の最適山）は、それぞれ、(12,9,27,26,6,29)→(12,9,27,26,28)、(1,5,20,16,15,0)→(1,6,5,20,16,15,0)のように当然変化している。これに加え、最適山ＩＤが「７」の最適山の最上段のスラブグループは、初期時刻においては、ＳＬＧｒ．ＩＤが「２８」のスラブグループであったが、初期時刻から２０時刻が経過したタイミングにおいては、ＳＬＧｒ．ＩＤが「２９」のスラブグループになった。したがって、比較例では、オペレータの介入により直接影響する最適山ＩＤが「５」、「３」の最適山の他、オペレータの介入による直接の影響がない最適山ＩＤが「７」の最適山についても、初期時刻における最適解の要素（前回の最適計算により得られた最適解の要素）と異なることが分かる。
【０１４９】
・最適値
目的関数の値（最適値）は「８２（＝１０×７＋２×６）」であった（ｋ1＝１０、ｋ2＝２）。
【０１５０】
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解（図４）と比較すると、オペレータの介入の影響を受ける２つの最適山のみが変更された。
初期時刻における最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,6,29)，(11,2,25,14)，(1,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
初期時刻から２０時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22)，(23,21)，(12,9,27,26,29)，(11,2,25,14)，(1,6,5,20,16,15,0)，(3,4,13,17,18,19)，(7,8,10,24,28)」
【０１５１】
オペレータが介入したＳＬＧｒ．ＩＤが「５」、「６」のスラブグループが関連する最適山ＩＤが「５」、「３」の最適山（初期時刻においては、最適山ＩＤが「５」、「７」の最適山）以外の最適山ＩＤが「１」、「２」、「４」、「６」、「７」の最適山については、初期時刻における最適山と一致していることが分かる。
【０１５２】
初期時刻における最適山から変更された最適山ＩＤが「５」、「３」の最適山についても、ＳＬＧｒ．ＩＤが「６」のスラブグループは、最適山ＩＤが「３」の５段目に配置する予定であったが、オペレータの介入により、最適山ＩＤが「５」の２段目に装入されるだけであり、それ以外の未介入の部分については全て継承されている。すなわち、オペレータによる介入があった箇所以外は全く変更がない最適解が得られている。
【０１５３】
・最適値
目的関数の値（最適値）は「８２（＝１０×７＋２×６＋０．１４３×０）」であった（ｋ1＝１０、ｋ2＝２、ｎopt＝６、α＝５）。
尚、オペレータによる介入が行われた最適山ＩＤが「５」のスラブグループでは、下層部のＳＬＧｒ．ＩＤが「１」、「６」、「５」が確定スラブグループとして固定される。したがって、これに対応する初期時刻における最適解の要素（図４の最適山ＩＤが「５」の最適山（1,5,20,16,15,0）)と、最適山ＩＤが「５」の最適山に強制的に固定されたＳＬＧｒ．ＩＤが「６」のスラブグループを構成要素としていた初期時刻における最適解の要素（図４の最適山ＩＤが「７」の最適山（12,9,27,26,6,29）)は、今回の最適計算において再現することは不可能であるため、前回の最適計算における最適解の要素｛ｊopt｝には含まれない。したがって、（１）式の右辺第３項の値は「０（ゼロ）」になる。
このように、本実施形態の手法では、オペレータの介入によってヤードに到着済みのスラブの位置が前回の最適計算による最適解と異なる位置になっても、到着予定のスラブグループの属性の変更や、ヤード到着予定のスラブグループの到着順の変更があった場合と同様に、前回の最適計算による最適解の要素を可及的に多く承継することが分かる。
【０１５４】
（フローチャート）
次に、図１３のフローチャートを参照しながら、本実施形態の作業計画作成装置２００の処理の一例を説明する。
まず、ステップＳ１３０１において、計画対象物リスト取得部２０１は、山立て対象スラブグループリストを取得するまで待機する。前述した例では、計画対象物リスト取得部２０１は、初期時刻における山立て対象スラブグループリスト３００を取得した後、２０時刻が経過すると山立て対象スラブグループリスト５００を取得する。尚、ステップＳ１３０２以降の処理は、１つの山立て対象スラブグループリストが取得される度に繰り返し実行される。
【０１５５】
次に、ステップＳ１３０２において、確定対象物判定部２０２は、ステップＳ１３０１で取得された山立て対象スラブグループリストに含まれるスラブグループが、最終山姿と一致しているスラブグループ（確定スラブグループ）であるか否かを判定する。具体的に確定対象物判定部２０２は、ステップＳ１３０１で取得された山立て対象スラブグループリストのＳＬＧｒ．ＩＤと、前回の最適計算の結果（最適山リスト）のＳＬＧｒ．ＩＤとが一致しているか否かを、一致しなくなるまで各山の最下段から順に判定する。尚、最初にステップＳ１３０２を通過する際（前回の最適計算の結果が存在しない場合）には、ステップＳ１３０２における処理はスキップされる。
【０１５６】
次に、ステップＳ１３０３において、実現可能解抽出部２０３は、ステップＳ１３０１取得した山立て対象スラブグループリストから、山積み制約を満たすように、スラブグループをノード、最下段に配置されるスラブグループを根ノード、下段に配置されるスラブグループが属するノードを、その１つ上段に配置されるスラブグループの親ノードとする樹形図を作成する。この際、実現可能解抽出部２０３は、樹形図において、（１つのスラブグループとして纏められた複数の確定スラブグループのうち２段目よりも上に位置する確定スラブグループを除いて）確定スラブグループの位置を最下段で固定すると共に、確定スラブグループの位置が最下段でない分岐を削除する。これにより、確定スラブグループの位置が固定される。
そして、実現可能解抽出部２０３は、作成した樹形図の要素を実現可能山の集合Ｆとして抽出する。また、実現可能解抽出部２０３は、後述する目的関数設定部２０４にて目的関数Ｊを設定するため以下の第１の処理および第２の処理も行う。前記第１の処理として実現可能解抽出部２０３は、抽出された実現可能山と、前回の最適計算の結果（最適山リスト）とを比較し、抽出された実現可能山が、前回の最適計算の結果（最適山リスト）のいずれかと一致する場合は、その実現可能山のＳＬＧｒ．ＩＤを前回の最適計算による最適解の要素として｛ｊopt_pr｝に登録する。前記第２の処理として実現可能解抽出部２０３は、抽出された実現可能山作成時の仮置き数を評価値Ｃjとして求める。
【０１５７】
次に、ステップＳ１３０４において、目的関数設定部２０４は、目的関数Ｊを設定する（（１）式および（２）式を参照）。
次に、ステップＳ１３０５において、制約式設定部２０５は、制約式を設定する（（３）式を参照）。
次に、ステップＳ１３０６において、最適解導出部２０６は、ステップＳ１３０５で設定された制約式を満足する範囲で、ステップＳ１３０４で設定された目的関数Ｊの値を最小にする変数ｘ［ｊopt］の集合｛ｘ［ｊopt］｝を最適解として導出する。
【０１５８】
次に、ステップＳ１３０７において、最適解出力部２０７は、ステップＳ１３０６で導出された最適解｛ｘ［ｊopt］｝を示す情報を出力する。
次に、ステップＳ１３０８において、作業計画作成装置２００は、山立て計画の作成を終了するか否かを判定する。この判定の方法は、特に限定されないが、例えば、作業計画作成装置２００に対するオペレータの操作による指示があったか否か、上位のコンピュータからの指示があったか否か、または予め設定されたタイミングが経過したか否かにより行うことができる。
【０１５９】
この判定の結果、山立て計画の作成を終了しない場合には、前述したステップＳ１３０１に戻り、次のタイミングにおける最適解｛ｘ［ｊopt］｝の導出と出力を前述したようにして行う。
そして、山立て計画の作成を終了すると判定されると、図１３のフローチャートによる処理を終了する。
【０１６０】
（まとめ）
以上のように本実施形態では、前回の最適計算における最適解の要素ｘ［ｊopt_pr］のうち、実現可能山ｊについての要素が、今回の最適計算における最適解の要素ｘ［ｊopt］として再現されない場合に、目的関数Ｊの値に対しペナルティを課すペナルティ項を目的関数Ｊに含める（（１）式の右辺第３項）。
したがって、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解を得ることができる。
【０１６１】
具体的に、本実施形態では、目的関数Ｊを、評価指標（総山数および山作成時の搬送機器の操作負荷）を定式化した項（（１）式の右辺第１項・第２項）とペナルティ項との重み付き線形和で表す。そして、ペナルティ項を、前回の最適計算における最適解の要素ｘ［ｊopt_pr］のうち、今回の最適計算において実現可能山ｊとなる要素が、今回の最適計算における最適解の要素ｘ［ｊopt］として選択されない場合に、目的関数Ｊの値に対しペナルティを課す項とする。そして、ペナルティ項を除いた場合の前記目的関数の値の、最適解の要素ｘ［ｊopt］の変更に伴う最小感度が、ペナルティ項としてとり得る値の最大値よりも大きくなるようにする。
したがって、計算条件の変化により、前回の最適計算における最適解｛ｘ［ｊopt］｝を更新した方が、目的関数の値（最適値）Ｊが僅かでも改善される場合には、前回の最適計算における最適解の要素ｘ［ｊopt_pr］の選択がどのようになされているかに関わらず、今回の最適計算において最適解｛ｘ［ｊopt］｝が更新（変更）され、そうでない場合には、前回の最適計算における最適解｛ｘ［ｊopt_pr］｝からの変更分に対しペナルティを課すことができる。
【０１６２】
また、本実施形態では、実際にヤードに置かれ、実作業が完了したスラブグループを確定スラブグループとして、その他のスラブグループと区別する。そして、確定スラブグループについては、最適計算において変数として扱わずに確定制約として固定し、最適計算の対象から除外する。
具体的には、山立て問題を集合分割問題として解く場合に、樹形図において、確定スラブグループについては、ヤードに置かれている配置と異なる配置にすることを許容しないようにする。
したがって、時間の経過に伴い、作業が進行するにつれて、確定スラブグループが増えることにより、対象となる問題（確定スラブグループが無い場合の元々の問題の部分問題）を徐々に小さくすることができる。
【０１６３】
（変形例）
＜変形例１＞
（１）式の右辺第３項では、今回の最適計算による最適解の要素ｘ［ｊopt］のうち、前回の最適計算による最適解の要素ｘ［ｊopt_pr］と同じものが選択されない数が多いほど、低い評価を示す値になるようにする場合を例に挙げて説明した。
しかしながら、必ずしもこのようにする必要はない。
例えば、（１）式の右辺第３項を、前回の最適計算による最適解の要素ｘ［ｊopt_pr］と異なる要素ｘ［ｊopt］のうち、今回の最適計算による最適解の要素ｘ［ｊopt］として選択された要素の数が多いほど、低い評価を示すようにすることができる。具体的には、（１）式を以下の（４）式にすることができる。
【０１６４】
【数３】
0006488859.tif 000004
【０１６５】
（４）式において、｛ｊopt｝（の上付き−）は、今回の最適計算による最適解の要素ｘ［ｊopt］のうち、前回の最適計算による最適解の要素ｘ［ｊopt］に一致する要素の実行可能山ｊoptの補集合（すなわち、今回の最適計算による最適解の要素ｘ［ｊopt］のうち、前回の最適計算による最適解の要素ｘ［ｊopt_pr］以外の要素の集合）である。
【０１６６】
また、（１）式の右辺第３項を、前回の最適計算による最適解の要素ｘ［ｊopt_pr］と異なる要素ｘ［ｊ］のうち、今回の最適計算による最適解の要素ｘ［ｊopt］として選択された要素の数が多いほど、低い評価を示す値であって、それらの差の絶対値が大きいほど、低い評価を示す値にすることができる。具体的には、（１）式を以下の（５）式にすることができる。
【０１６７】
【数４】
0006488859.tif 000005
【０１６８】
ここで、評価値Ｃ2jは、各実現可能山ｊと、前回の最適計算による最適解の集合｛ｊopt_pr｝の各要素との山姿を比較し、最も近い要素との差が小さいほど、高い評価を示す値になるようにする。本実施形態のように、最適化問題を最小化問題とする場合には、評価が高い場合ほど評価値Ｃ2jを小さくする。例えば、実行可能山ｊに対する評価値Ｃ2jを考える場合、実行可能山ｊと、前回の最適計算による最適解の集合[ｊopt_pr]の各要素とを比較し、前回の最適計算による最適解ｊopt_prを実行可能山ｊに変更する場合の作業負荷を考え、前回の最適計算による最適解の集合｛ｊopt_pr｝の中で最も少ない作業負荷を評価値Ｃ2jとするなどの様に考える。尚、最適化問題を最大化問題とする場合には評価が高い場合ほど評価値Ｃ2jを大きくする。（５）式を用いることで、今回の最適計算による最適解の要素ｘ［ｊopt］と、前回の最適計算による最適解の要素ｘ［ｊopt_pr］との差を評価指標とすることができ、よりきめの細かい評価をすることができる。
また、（５）式を採用する場合には、例えば、以下の（６）式のようにして重み係数ｋ3を定めることにより、（５）式の値を、他の評価項目（（１）式の右辺第１項および第２項）の最小感度よりも小さくすることができる。
【０１６９】
【数５】
0006488859.tif 000006
【０１７０】
＜変形例２＞
本実施形態では、最適化問題を集合分割問題とする場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、特許文献５に記載のように、２つのスラブグループの関係に基づいて最適化問題を定式化してもよい。
このようにする場合には、まず、確定スラブグループの制約は確定スラブグループに含まれる任意の２つのスラブグループの関係を確定制約とする。例えば、２つのスラブグループ（ｉ1，ｉ2）が最適山ＩＤ（＝ｍ1）に上下に連続して置かれている場合に、山仕分け変数ｘ[ｉ1][ｍ1]＝１、ｘ[ｉ2][ｍ1]＝１、積位置関係変数ｙ[ｉ1][ｉ2][ｍ1]＝１とする制約を設定する。山仕分け変数ｘ[ｉ1][ｍ1]は、スラブグループ（＝ｉ1）が最適山ＩＤ（＝ｍ1）に置かれる場合に「１」、そうでない場合に「０（ゼロ）」が与えられる0-1変数である。積位置関係変数ｙ[ｉ1][ｉ2][ｍ1]は、最適山ＩＤ（＝ｍ1）において、２つのスラブグループ（＝ｉ1、ｉ2）が、スラブグループｉ1が下、スラブグループｉ2が上となるように上下に連続して置かれる場合に「１」、そうでない場合に「０（ゼロ）」が与えられる0-1変数である。
【０１７１】
また、２つのスラブグループの関係で表現された最適化問題における前回の最適計算での最適解の要素についても、前回最適山を構成する当該２つのスラブグループの関係が採択されなかった場合に、ペナルティを課すようにすればよい。
さらに、集合分割問題以外の解法は、特許文献５に開示された解法に限定されるものではない。前述したように、確定スラブグループの位置を固定条件（確定スラブグループの位置を変えない条件）として制約条件に反映し、前回の最適計算による最適解の要素と異なる要素が今回の最適計算で得られた場合のペナルティを目的関数に反映させることにより制約条件と目的関数とを設定して最適解を導出する方法に広く一般に適用可能である。
【０１７２】
＜変形例３＞
本実施形態では、（１）式の右辺第１項・第２項において、総山数と、山作成時の搬送機器の操作負荷とを評価する場合を例に挙げて説明した。しかしながら、評価指標は、これらに限定されない。例えば、これらの評価に加えてまたは代えて、ヤードに到着した際のスラブの放熱に関する評価と、ヤードから圧延工程に搬送される際のスラブの放熱に関する評価との少なくとも何れか一方を採用してもよい。ヤードに到着した際のスラブの放熱に関する評価とは、例えば山積みされたスラブは空気に直接触れる表面積の大きい最上段ほど放熱が激しいことから、出来るだけその様な時間が短くなるよう、山の作成開始から完了（完了後は保温設備を閉める）までの時間を少なくすることが要請される。ヤードから圧延工程に搬送される際のスラブの放熱に関する評価も同様に山の分解（払出）開始から完了までの時間が短いことが要請される。その様な山の作成時間、分解時間を評価指標とすることもできる。また、例えば、山作成時の搬送機器の操作負荷を評価指標として採用せず、総山数のみを評価指標としてもよい。
【０１７３】
＜変形例４＞
本実施形態では、仮置きの総発生数で、山作成時の搬送機器の操作負荷を評価する場合を例に挙げて説明した（（１）式の右辺第２項）。しかしながら、必ずしもこのようにして山作成時の搬送機器の操作負荷を評価しなくてもよい。例えば、ヤードへの到着順と圧延工程への搬送順（払出順）とが逆順になるスラブグループの総数で、山作成時の搬送機器の操作負荷を評価してもよい。
【０１７４】
＜変形例５＞
本実施形態では、最適化問題を最小化問題とする場合を例に挙げて説明した。しかしながら、最適化問題を最大化問題としてもよい。このようにした場合、例えば、（１）式の右辺第１項および第３項にそれぞれ（−１）を乗算すると共に、評価が高いほど評価値Ｃjが大きくなるように評価値Ｃjを導出すればよい。
【０１７５】
＜変形例６＞
本実施形態では、山立て計画を作成する場合を例に挙げて説明した。しかしながら、複数の対象物に対する作業を行うための作業計画を作成するものであれば、どのようなものであっても本実施形態の手法を適用することができる。例えば、複数の対象物の処理順を定める作業計画や、複数の対象物の分類先を定める作業計画等に、本実施形態の手法を適用することができる。
【０１７６】
また、目的関数は、採用する作業計画に応じて、作業の良否を評価するための評価指標が関数で表現された項と、前回の最適解と今回の最適解とが異なる場合に、目的関数の値に対しペナルティを課すためのペナルティ項とを含むように定めればよい。さらに、決定変数も、採用する作業計画に応じて、対象物に対する作業の指示に反映される情報を定めればよい。また、制約式についても、採用する作業計画に応じて、作業における制約を数式で表現すればよい。
【０１７７】
例えば、複数の対象物の処理順を定める作業計画の作成に適用する場合、当該処理順や処理時刻を決定変数にすることができる。この場合、例えば、前回の最適解から定まる処理順と今回の最適解から定まる処理順を比較し、任意の二つの対象物の処理順が入れ替わっている回数に対しペナルティを課すように目的関数を設定すれば良い。
【０１７８】
また、複数の対象物の分類先を定める作業計画の作成に適用する場合、当該対象物を当該分類先に割り当てるか否かを決定変数とすることができる。この場合、前回の最適解における当該対象物と当該分類先との割り当て関係と今回の最適解における当該対象物と当該分類先との割り当て関係とを比較しそれが食い違う当該対象物の数に対しペナルティを課すように目的関数を設定すれば良い。
【０１７９】
＜その他の変形例＞
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１８０】
（請求項との関係）
以下に、以上の説明と請求項との関係の一例を示す。ただし、請求項の記載は、以下の内容に限定されるものではない（前述した変形例の記載等を参照）。
＜請求項１＞
目的関数は、例えば、（１）式、（４）式、または（５）式を用いることにより実現される。
評価指標項は、例えば、（１）式、（４）式、または（５）式の右辺第１項・第２項により実現される。
ペナルティ項は、例えば、（１）式の右辺第３項、（４）式の右辺第３項、または（５）式の右辺第３項により実現される。
前回最適解は、例えば、前回の最適計算による最適解｛ｘ［ｊopt_pr］｝により実現され、今回最適解は、例えば、今回の最適計算による最適解｛ｘ［ｊopt］｝により実現される。
＜請求項２＞
ペナルティ項は、例えば、（１）式の右辺第３項により実現される。
＜請求項３＞
ペナルティ項は、例えば、（４）式の右辺第３項または（５）式の右辺第３項により実現される。
＜請求項４、５＞
請求項４、５は、例えば、（１）式および（２）式、または、（５）式および（６）式により実現される。
＜請求項７、１２＞
樹形図は、例えば、図６または図７に示す樹形図により実現される。
決定変数は、例えば、（１）式、（４）式、または（５）式のｘ［ｊ］により実現される。
＜請求項８＞
請求項８における樹形図は、例えば、図６に示す樹形図により実現される。
＜請求項９＞
制約式は、例えば、（３）式により実現される。
【符号の説明】
【０１８１】
２００：作業計画作成装置、２０１：計画対象物リスト取得部、２０２：確定対象物判定部、２０３：実現可能解抽出部、２０４：目的関数設定部、２０５：制約式設定部、２０６：最適解導出部、２０７：最適解出力部、３００・５００・１０００・１１００・１２００：山立て対象スラブグループリスト、４００・８００・９００：最適山リスト
【図１】
0006488859.tif 000007
【図２】
0006488859.tif 000008
【図３】
0006488859.tif 000009
【図４】
0006488859.tif 000010
【図５】
0006488859.tif 000011
【図６】
0006488859.tif 000012
【図７】
0006488859.tif 000013
【図８】
0006488859.tif 000014
【図９】
0006488859.tif 000015
【図１０】
0006488859.tif 000016
【図１１】
0006488859.tif 000017
【図１２】
0006488859.tif 000018
【図１３】
0006488859.tif 000019