JP7099315B2 - 山分け計画作成装置、山分け計画作成方法、およびプログラム - Google Patents
山分け計画作成装置、山分け計画作成方法、およびプログラム Download PDFInfo
- Publication number
- JP7099315B2 JP7099315B2 JP2018247434A JP2018247434A JP7099315B2 JP 7099315 B2 JP7099315 B2 JP 7099315B2 JP 2018247434 A JP2018247434 A JP 2018247434A JP 2018247434 A JP2018247434 A JP 2018247434A JP 7099315 B2 JP7099315 B2 JP 7099315B2
- Authority
- JP
- Japan
- Prior art keywords
- dual
- mountain
- feasible
- solution
- mountains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- General Factory Administration (AREA)
Description
特許文献2に記載の技術では、対象鋼材を重複することなく且つ漏れなく含む実現可能山の最適な組み合わせを求める問題を原問題とする。また、原問題の線形緩和問題を主問題とした場合の双対問題の最適解である双対解(後述する暫定双対解に相当)と、山積み制約とを用いて、実現可能山の集合に追加する候補山(列)を、原問題の最適解を構成する実現可能山の候補として求める問題を列生成子問題とする。これら双対解の導出と、列生成子問題の求解(候補山(列)の導出)とを収束要件が満足するまで繰り返し実行し、当該収束要件を満足したときに得られている実現可能山の集合に基づいて、原問題の最適解を導出する。ここで、収束要件は、実現可能山の列コストが当該実現可能山に対する双対コスト以下であるという要件である。
(第1の実施形態)
まず、第1の実施形態を説明する。
<原問題P>
まず、本実施形態で解くべき問題である原問題Pについて説明する。本実施形態では、原問題Pを集合分割問題とする。集合分割問題は、全体集合Nの任意の部分集合Sjが、その列コスト(当該列の原問題評価値)cjを持つという前提で、以下の(1)式に示すように、全体集合Nの要素iを、重複なく且つ漏れなく部分集合m1,m2,・・・,mkに分割する問題である。このとき、部分集合m1,m2,・・・,mkに対する列コストc1,c2,・・・,ckの総和が最小となるようにする。以下の(1)式は、全体集合Nの要素iを重複なく且つ漏れなく部分集合m1,m2,・・・,mkに分割することを表す。
原問題Pの決定変数x[j]は、実現可能山mjを採用する場合に「1」、そうでない場合に「0(ゼロ)」となる0-1変数である。
<制約式>
原問題Pの制約式は、鋼材i∈Nのそれぞれについて、当該鋼材iを含む集合族(部分集合mjの集合)Mj(i)⊆Cの中から、一つの部分集合mjだけが選択されなければならないことを表す制約式であり、以下の(2)式で表される。
尚、鋼材iは、1つの鋼材であっても、1つの搬送機器(クレーン1A、1B、2A、2B)で搬送することができる鋼材の纏まり(搬送ロット)であってもよい。搬送ロットを決定する方法は、例えば、特許文献3に記載されているので、ここでは、その詳細な説明を省略する。
原問題Pの目的関数は、列コストcjの総和が最小になるように実現可能山mjを選択することを目的とする関数であり、以下の(3)式で表される。
次に、双対問題Dについて説明する。
前述した原問題P(集合分割問題)の線形緩和問題を主問題とした場合の双対問題Dを以下のように定式化する。原問題P自体は0-1整数計画問題であるが、双対問題Dは線形計画問題になる。0-1整数計画問題である原問題Pの線形緩和問題を主問題とした場合の双対問題Dは、主問題と双対問題との関係から、以下のように定式化できる。
本実施形態では、双対変数p[i]を双対問題Dの決定変数とする。
双対変数p[i]は、鋼材i毎に定められる連続変数(-∞<p[i]<∞)である。双対変数p[i]の数は、n個(鋼材情報に含まれる鋼材iの数)である。
双対問題Dの制約式は、前述した(5)式で表される。ここで、行列Aは、双対最適解(双対問題Dの最適解)を導出する際に生成されている実現可能山mjの集合Cに対応する。
(5)式を要素毎に表記すると、双対問題Dの制約式は、以下の(8)式で表される。尚、(8)式の左辺(Σp[i]・mj[i](=Pj))は双対コストである。(8)式に示すように、双対コストPjは、鋼材iに対する双対変数p[i]の値と、行列Aの列jの値であって、該鋼材iに対応する行iにおける値(「0」または「1」)との積の、山立て対象の鋼材iについての総和で表される。
(5)式の条件下では、(6)式および(7)式より以下の(9)式が成り立つので、(7)式のΣp[i]は、cxの下限値となる((3-1)式に示したようにc、xはベクトルである)。できるだけ大きいΣp[i]を求めれば、原問題Pの目的関数Jのより良い下限値が得られることになる。従って、双対問題Dの目的関数Jは最大化問題となり、以下の(10)式のようになる。
特許文献2に記載の技術で用いる列生成法では、原問題Pを求解するために必要な列群の導出(列生成子問題の求解)と、双対問題Dの最適解(暫定双対解p[i])の導出とを数百回程度繰り返すことにより、暫定双対解を改善しつつ、列(実現可能山mj)の抽出を行う。しかしながら、本発明者らは、双対問題Dの最適解(暫定双対解p[i])の導出と、原問題Pを求解するために必要な列群の抽出とを数百回程度も繰り返さなくても、以下のようにすれば、双対問題Dを求解するために必要な列群を効率的に抽出することを見出した。即ち、列(実現可能山mj)の列挙数が指定数Leに達するまで、列(実現可能山mj)を選択列挙し、選択列挙数が指定数Leに達すれば、一旦選択列挙を中断し、それまでに列挙された列(実現可能山mj)に対する暫定双対解を導出し、導出した暫定双対解p[i]を用いて列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)のみを残し(精製)、先に中断したところから列挙を再開する。再開後は、前記導出した暫定双対解を用いて、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)のみを抽出する。このようにして抽出される列(実現可能山mj)が指定数Leになっていなければ、指定数Leになるまで、列(実現可能山mj)の選択列挙を行う。そして、指定数Leに達すれば選択列挙を中断し、先に精製した列(実現可能山mj)と選択列挙した列(実現可能山mj)とに対する双対問題Dを解いて暫定双対解を導出し、導出した暫定双対解p[i]を用いて列主双対ギャップz[j]が0以下になる列(実現可能山mj)を、それらの列(実現可能山mj)から改めて精製する。そして、先に選択列挙を中断したところから、先に導出した暫定双対解p[i]を用いて選択列挙を再開する。このような、列(実現可能山mj)の列挙あるいは選択列挙と、列(実現可能山mj)の精製とを、列(実現可能山mj)の列挙が完了するまで繰り返す。このようにして抽出された列(実現可能山mj)に対する双対問題Dを解いて双対最適解を導出し、導出した双対最適解を用いて、列主双対ギャップz[j]が閾値TH以下になる列(実現可能山mj)を選択列挙する。以上のようにすれば、より効率的に原問題Pを求解するために必要な列群(原問題Pの最適解を構成する可能性のある列群)を高速に抽出することができる。というのも、本実施形態では、双対問題Dの求解と、原問題Pを求解するために必要な列群の抽出と、を繰り返すことは前提としておらず、仮に繰り返したとしても数回程度で済むからである。このように言える根拠としては、本実施形態では、従来技術である列生成法のように列生成子問題を解く代わりに、後述する列挙法と組み合わせて列を選択列挙しており、一つの暫定双対解に基づいて多数の列を選択列挙できるためである。そして、このようにして得られた列群に対して、双対最適解を求め、それを使って改めて先ほどとは異なる閾値を使って選択列挙した列群に対して、集合分割問題を解くことにより得られた部分問題の最適解(実現可能山mj)を、原問題Pの最適解とする。
次に、山分け計画作成装置100の一例について説明する。図1は、山分け計画作成装置100の機能的な構成の一例を示す図である。山分け計画作成装置100のハードウェアは、例えば、CPU、ROM、RAM、HDD、および各種のインターフェースを備える情報処理装置や、専用のハードウェアを用いることにより実現される。
[鋼材情報取得部110]
鋼材情報取得部110は、山分け計画の作成対象となる鋼材i∈Nのそれぞれの情報を取得する。以下の説明では、この情報を必要に応じて鋼材情報と称する。鋼材情報には、例えば、鋼材のID(識別情報)と、当該鋼材のサイズ(幅、長さ)と、当該鋼材のヤードへの到着順と、当該鋼材の次工程への払出順とが含まれる。尚、到着順および払出順は、鋼材情報に含まれる鋼材の中での相対的な順序である。
双対問題求解部120は、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)を列挙し、列挙した列(実現可能山mj)に対する暫定双対解を導出することを繰り返して双対最適解を導出する。
以下、双対問題求解部120が有する機能の一例を説明する。なお、上記の様に、計算対象となる列を制限する必要があるのは、総列数が数千万以上の規模を持ち、そのままでは計算が困難な場合で、総列数が数百万規模程度までの問題規模であれば、このような抽出処理を行う必要はない。
暫定選択列挙部121は、鋼材情報取得部110により取得された鋼材情報と、列主双対ギャップz[j]に対する閾値TH1(=0)と、列(実現可能山mj)の列挙数の上限値である指定数Leとを入力する。暫定選択列挙部121は、これらの情報に基づいて、列(実現可能山mj)の列挙と、暫定双対解p[i]の導出と、列双対ギャップの導出と、双対問題計算用列群Cに含める列(実現可能山mj)の抽出とを行う。
このツリー構造の樹形図では、各ノードに鋼材が属するようにすると共に、最下段の鋼材が属するノードが根ノードに属するようにする。そして、下段に配置される鋼材が属するノードを、その1つ上段に配置される鋼材の親ノードとする。
全体集合Nの要素となる対象鋼材i1~inごとに、山積み制約を満たす対象鋼材の集合(対象鋼材の上に配置することが出来る鋼材の集合U(i))を、鋼材の2項関係を利用して効率的に求める。この方法の一例を以下に示す。
まず、列(実現可能山mj)の列挙の際に使用する山積み制約を説明する。山積み制約は、ヤードの管理方法等により様々な条件が考えられるが、例えば以下のような条件を想定することができる。
(1)払出順条件:払出順が早い鋼材の方が、払出順が遅い鋼材よりも必ず山の上側に位置しなければならない。
(2)幅条件:或る鋼材の幅が、当該或る鋼材の下に位置する鋼材の最小幅よりも狭いならば無条件で、当該或る鋼材を、当該直下に位置する鋼材の上に置ける。或る鋼材の幅が、当該或る鋼材の下に位置する鋼材の最小幅よりも広い場合には、両者の幅の差が、作業制約により定まる基準値以下であれば、当該或る鋼材を、当該下に位置する鋼材の上に置けるが、それを越えると置けない。
図2では、全体集合Nに、対象鋼材i1~inが含まれるものとする。
まず、対象鋼材i1~inが、それぞれ別の最下段(根ノード)に配置される。
最下段に設定した対象鋼材i1に対しては、上載せ可能集合U(i1)が分枝可能である(図2の分岐1を参照)。次に、二段目において着目鋼材を対象鋼材i2とすると、(1、2)枝に対しては、上載せ可能集合U(i1)∩U(i2)が分岐可能である(図2の分枝2を参照)。次に、三段目において着目鋼材を対象鋼材i3とすると、(1、2、3)枝に対しては、上載せ可能集合U(i1)∩U(i2)∩U(i3)が分枝可能である(図2の分枝3を参照)。
本実施形態では、同一の積段(ノード)に配置された対象鋼材の全てについて、山積み制約を満たす鋼材ペア(上積可能集合)を選別した後に、当該積段の1つ上の積段(ノード)に配置された対象鋼材の全てについて、山積み制約を満たす鋼材ペア(上積可能集合)を選別することを繰り返し行うものとする。
本実施形態では、暫定選択列挙部121は、以上のようにして列(実現可能山Sj)を列挙する。
従って、分枝過程における実現可能山(鋼材部分集合)Sjを次回の分枝対象として残すべきか否かは、以下のようにして表すことができる。即ち、実現可能山Sjに上積み可能な鋼材U(Sj)を当該実現可能山Sjに上積みすることにより構築可能な実現可能山Sjpの集合SJPの双対変数p[i]の和の最大値がcj-TH1を超えなければ、当該実現可能山Sjを分岐対象から排除できる。この条件は、以下の(15-1)式のように表すことができる。
ここで、(15-1)式の右辺は、実現可能山Sjに上積みすることにより構築可能な実現可能山の集合SJPの中で、双対問題の評価が最も良い値(双対最適値が最大値)であることを意味している。これは、実現可能山Sjの双対最適値に、実現可能山Sjに上積み可能な鋼材集合U(Sj)に属する鋼材iの中から、暫定双対解p[i]が大きい順に、山高さ制限の許容内で、暫定双対解p[i]を加えた値である。
2回目以降の列(実現可能山mj)の選択列挙においては、1回目の列挙とは異なり、後述する暫定双対解導出部122により既に導出された暫定双対解がある。したがって、暫定選択列挙部121は、それを利用して(13)式により列主双対ギャップz[j]を導出し、列主双対ギャップz[j]が「0」以下となる列(実現可能山mj)を選択的に列挙する。
前述したように、暫定選択列挙部121により指定数Leに達するまでに列挙が完了した場合に、その時点で暫定選択列挙部121により列挙された列(実現可能山mj)が双対問題計算用列群Cとなる。また、後述する精製部123により精製された列(実現可能山mj)Ceの数と、暫定選択列挙部121により選択列挙された列(実現可能山mj)の数との和が指定数Leになるまで暫定選択列挙部121により再び選択列挙された列主双対ギャップz[j]が閾値TH1(=0)以下になる列(実現可能山mj)が、双対問題計算用列群Cとなる。暫定双対解導出部122は、例えば、CPLEX(登録商標)等の公知のソルバーを用いて線形計画法による最適化計算を行うことにより、双対問題計算用列群Cに対し、(8)式の制約式を満足する範囲で(10)式の目的関数Jの値を最大にする双対変数p[i]を暫定双対解p[i]として導出する。このように本実施形態では、暫定双対解p[i]は、暫定双対解導出部122により導出される双対解(所定の条件を満たしていない段階(本実施形態では、列挙法による列の列挙が完了していない段階)で導出される双対解((8)式の制約式を満足する範囲で(10)式の目的関数Jの値を最大にする双対変数p[i]))である。
精製部123は、暫定双対解導出部122により導出された最新の暫定双対解p[i]を用いて、暫定選択列挙部121により得られた双対問題計算用列群Cに含まれる列(実現可能山mj)のそれぞれについて列主双対ギャップz[j]を導出する。精製部123は、暫定選択列挙部121により得られた双対問題計算用列群Cに含まれる列(実現可能山mj)のうち、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)Ceを抽出(選択)し、それ以外の列を削除(精製)する。
暫定選択列挙部121による列(実現可能山mj)の列挙が完了した時点(処理対象の積段数S(Sは最下段を1とする積段数である)の実現可能山mjが空集合φになった時点)における双対問題計算用列群Cに対し、(8)式の制約式を満足する範囲で(10)式の目的関数Jの値を最大にする双対変数p[i]を双対最適解popt[i]として導出する。また、双対最適解導出部124は、双対最適解popt[i]が得られたときの(10)式の目的関数Jの値を双対最適値VDoptとして導出する。このように本実施形態では、双対最適解popt[i]は、双対最適解導出部124により導出される双対解(所定の条件を満たした段階(本実施形態では、列挙法による列の列挙が完了した段階)で導出される双対解((8)式の制約式を満足する範囲で(10)式の目的関数Jの値を最大にする双対変数p[i]))である。
選択列挙部130は、鋼材情報取得部110により取得された鋼材情報と、列主双対ギャップz[j]に対する閾値TH2(>0)を入力する。選択列挙部130は、暫定選択列挙部121同様、列(実現可能山mj)を選択列挙する。ただし、暫定選択列挙部121との違いは、暫定選択列挙部121での抽出条件が、列主双対ギャップz[j]が閾値TH1(=0)以下になる列(実現可能山mj)であるのに対し、選択列挙部130での抽出条件は、列主双対ギャップz[j]が閾値TH1を上回る閾値TH2(>0)以下になる列(実現可能山mj)である((13)式および(14)式のTH1をTH2に置き換える。閾値TH2は、後述する(16)式のように設定される。また、暫定選択列挙部121では、列挙数が指定数Leになると列挙を中断したが、選択列挙部130では、そのような中断はなく、一気通貫で選択列挙する。本実施形態では、特許文献1に記載の方法で列(実現可能山mj)を列挙する方法を例に挙げて説明する。特許文献1に記載の方法は、[[暫定選択列挙部121]]の項で説明した通りである。
最適解導出部140は、選択列挙部130により導出された原問題計算用列群CTHを用いて、CPLEX(登録商標)等の公知のソルバーを用いて0-1整数計画法による最適化計算を行うことにより、(2)式の制約式を満足する範囲で(4)式の目的関数Jの値を最小にする決定変数x[j]を最適解{x[jopt]}として導出する。
出力部150は、最適解導出部140により導出された最適解{x[jopt]}を示す情報を山分け計画の情報として出力する。出力部150は、実現可能山のIDと、当該IDの実現可能山に属する鋼材のIDとを含む情報を山分け計画の情報とすることができる。鋼材のIDは、鋼材情報に含まれるIDである。また、出力部150は、鋼材情報に含まれる鋼材のサイズと、山積み制約とに基づいて、実現可能山に属する鋼材の当該実現可能山における積順を導出し、当該積順の情報を山分け計画の情報に含めてもよい。
出力の形態としては、例えば、コンピュータディスプレイへの表示、山分け計画作成装置100内の記憶媒体や外部の記憶媒体への記憶、および外部装置への送信の少なくとも1つを採用することができる。
また、出力部150は、山分け計画の情報と、鋼材情報に含まれる鋼材のヤードへの到着順と、ヤードの置き場における搬送機器(クレーン)の情報とに基づいて、どのタイミングでどの搬送機器によりどの鋼材をどの場所に搬送するのかを特定し、特定した内容に基づいて、搬送機器に対する動作指令を行うことができる。この場合には、出力部150は、山分け計画の情報を出力しなくてもよい。
次に、図3-1~図3-2のフローチャートを参照しながら、本実施形態の山分け計画作成装置100による山分け計画作成方法の一例を説明する。
まず、ステップS301において、鋼材情報取得部110は、鋼材情報を取得する。
次に、ステップS302において、暫定選択列挙部121は、ステップS301で取得された鋼材情報に基づいて、鋼材情報に含まれる鋼材から得られる鋼材ペアから禁止対の集合Fを導出する((11)式を参照)。
次に、ステップS303において、暫定選択列挙部121は、ステップS302により導出された禁止対の集合Fに基づいて、ステップS301で取得された鋼材情報に含まれる各鋼材iに対する上載せ可能集合U(i)(i∈N)を導出する((12)式を参照)。
一方、現在の積段数Sにおける列(実現可能山mj)の集合BSがφ(空集合)でない場合(ステップS306でNOの場合)、処理はステップS307に進む。1回目の列挙が終わった段階では、現在の積段数S(S=1、最下段)における列(実現可能山mj)の集合BSがφ(空集合)ではないので、現在の積段数Sにおける列(実現可能山mj)の集合BSがφ(空集合)ではない(ステップS306でNO)と判定される。処理がステップS307に進むと、暫定選択列挙部121は、山変数kの値に「1」を加算する。
次に、ステップS311において、暫定選択列挙部121は、ステップS310で選択した実現可能山Sjkから分枝可能な鋼材集合U(Sjk)を、ステップS303で導出した各鋼材iに対する上載せ可能集合U(i)を使って、U(Sjk)=U(ik1)∩U(ik2)・・・∩U(ikS)として導出する。図3-1の説明では、このようにして導出される鋼材集合U(Sjk)を、{iP1,iP2,・・・iPn}とする。
一方、ステップS311で導出した鋼材集合U(Sjk)の要素を全て選択していない場合(ステップS312でNOの場合)、処理はステップS313に進む。処理がステップS313に進むと、暫定選択列挙部121は、ステップS311で導出した鋼材集合U(Sjk)の要素(鋼材(iP1,iP2,・・・,iPn))のうち未選択の要素を1つ選択する。図3-1の説明では、ここで選択される要素(鋼材)をiPrとする。
次に、ステップS315において、暫定選択列挙部121は、ステップS314で作成した実現可能山SjPrが高さ制限を満たす(上限値以下)か否かを判定する。この判定の結果、ステップS314で作成した実現可能山SjPrが高さ制限を満たさない場合(ステップS315でNOの場合)、処理はステップS312に戻る。そして、ステップS311で導出した鋼材集合U(Sjk)の次の要素に対する処理が開始する。
次に、ステップS317において、暫定選択列挙部121は、(15-1)式または(15-2)式を用いて、ステップS314で作成した実現可能山SjPrを分枝対象に含めるか否かを判定する。この判定の結果、ステップS314で作成した実現可能山SjPrを分枝対象に含めない場合(ステップS317でNOの場合)、処理はステップS312に戻る。そして、ステップS311で導出した鋼材集合U(Sjk)の次の要素に対する処理が開始する。ここでも、ステップS322に到達する前の最初の処理では、暫定双対解p[i]がないので、ステップS317の判定処理は省略され、実現可能山SjPrを無条件に分枝対象BS+1に含める。
次に、ステップS319において、暫定選択列挙部121は、ステップS316で導出した列主双対ギャップz[j]が閾値TH1(=0)以下であるか否かを判定する。この判定の結果、ステップS316で導出した列主双対ギャップz[j]が閾値TH1(=0)以下でない場合(ステップS319でNOの場合)、処理はステップS312に戻る。そして、ステップS311で導出した鋼材集合U(Sjk)の次の要素に対する処理が開始する。
次に、ステップS321において、暫定選択列挙部121は、双対問題計算用列群Cに含まれる実現可能山Sjの数(|C|)の数が指定数Leを上回るか否かを判定する。この判定の結果、双対問題計算用列群Cに含まれる実現可能山Sjの数(|C|)の数が指定数Leを上回らない場合(ステップS321でNOの場合)、処理はステップS312に戻る。そして、ステップS311で導出した鋼材集合U(Sjk)の次の要素に対する処理が開始する。
次に、ステップS323において、精製部123は、ステップS322で導出された暫定双対解p[i]を用いて、現在の双対問題計算用列群Cに含まれる列(実現可能山mj)のそれぞれについて列主双対ギャップz[j]を導出する。精製部123は、暫定選択列挙部121により得られた双対問題計算用列群Cに含まれる列(実現可能山mj)のうち、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)Ceを抽出(選択)し、それ以外の列を削除する。このようにして、精製部123は、双対問題計算用列群Cを更新する。ここでの精製部123による処理により、実現可能山Sjの数(|C|)の数が指定数Leから、|Ce|に削減される。実際の山分け問題での計算例では、例えば、Le=5,000,000に設定した場合、最初の精製部123の処理により5,000,000から|Ce|は数百程度となり、列挙再開後に、列挙数が再び、指定数Leに達することなく、数百から数千程度の最終列挙数で列挙が完了することが判っている。つまり、本実施形態によれば、列挙数が最初に指定数Leに達した際に算出した暫定双対解p[i]により、列挙法と組み合わせることにより、実質最初に算出した暫定双対解p[i]により、双対最適解popt[i]を得るために必要な列群を求めることができており、列生成法に比べ極めて効率の良い手法といえる。
次に、ステップS343において、出力部150は、ステップS342で導出された最適解{x[jopt]}を示す情報を山分け計画の情報として出力する。これにより、図3-2のフローチャートによる処理が終了する。
以上のように本実施形態では、ステップS310、S311で公知の列挙法により、指定数Leまで列(実現可能山mj)を列挙し、ステップS316で現在の双対問題計算用列群Cに含まれる列(実現可能山mj)のそれぞれについて列主双対ギャップz[j]を、前回のステップS322で導出された暫定双対解p[i]を用いて導出し、ステップS320で双対問題計算用列群Cに含まれる列(実現可能山mj)のうち、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)Ceを精製し、それ以外の列を削除する。そして、以上の列(実現可能山mj)Ceの選択列挙を再開することを、ステップS306(およびS312)で、公知の列挙法による全ての列(実現可能山mj)Ceの列挙が完了すると判定されるまで繰り返す。従って、列主双対ギャップz[j]が「0」以下になる列(実現可能山mj)Ceの抽出の初期の段階で大幅に列(実現可能山mj)を削減することができる。そして、列(実現可能山mj)Ceの選択列挙の再開後は、暫定双対解p[i]を用いて選択列挙されるので実現可能山Sjの数(|C|)の数が指定数Leになることが抑制される。従って、前述した繰り返しの計算の回数が少なくなる。よって、従来のように列生成子問題による列の生成とそれまでに生成された列による双対問題の求解との繰り返しを行う場合に比べ、繰り返しの計算を削減することができる。
次に、第2の実施形態を説明する。第1の実施形態では、選択列挙部130により導出された原問題計算用列群CTHを対象として、制約式として(2)式のみを用いた集合分割問題を解く場合を例に挙げて説明した。これに対し、本実施形態では、集合分割問題を解く際の解空間を限定する手法について説明する。このように本実施形態と第1の実施形態とは、原問題計算用列群CTHを得た後の処理が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1~図3に付した符号と同一の符号を付す等して詳細な説明を省略する。
図4は、山分け計画作成装置400の機能的な構成の一例を示す図である。山分け計画作成装置400のハードウェアは、第1の実施形態の山分け計画作成装置100と同じハードウェアで実現することができる。
図4に示すように、山分け計画作成装置400は、鋼材情報取得部110と、双対問題求解部120と、選択列挙部130と、最適解導出部440と、出力部150とを有する。
鋼材情報取得部110、双対問題求解部120、選択列挙部130、および出力部150は、第1の実施形態で説明したものと同じである。双対問題求解部120により、双対最適解popt[i]および双対最適値VDoptが得られ、選択列挙部130により、原問題計算用列群CTHが得られる。
原問題計算用列群CTHは、暫定選択列挙部121による列(実現可能山mj)の列挙が完了した時点(処理対象の積段数Sの実現可能山mjが空集合φになった時点(ステップS327でYESと判定された時点))における列(実現可能山mj)の集合である。
最適解導出部440は、最適解導出部140に対応するものである。以下、最適解導出部440が有する機能の一例を説明する。
[[量子化部441]]
双対問題求解部120により導出される双対最適解popt[i]は、(8-1)式の連立方程式の解とみなすことができる。また、(8-1)式の係数に当たるmj[i](i∈N,mj∈C)、cjは、「0」以上の整数である。従って、双対最適解popt[i]、「0」以上の整数の四則演算により得られる。よって、双対問題求解部120により導出される双対最適解popt[i](i∈N)は、有理数である。
分類部442は、選択列挙部130により得られた原問題計算用列群CTHに含まれる列(実現可能山mj)を、量子化部441により導出された、量子化した列主双対ギャップq[j]に基づいて分類する。本実施形態では、分類部442は、量子化した列主双対ギャップq[j]の値として同じ値を持つ列(実現可能山mj)を同じ列グループとする。量子化した列主双対ギャップq[j]の値が小さい列グループほど、選択の優先順位が高い列グループとする。
選別部443は、分類部442で得られた列グループを、選択の優先順位が高いものから順番に量子条件を満たすまで選択して選択済みの列グループに追加する。そして、選別部443は、量子条件を満たすときまでに選択されている列グループ(列(実現可能山mj)の組み合わせ)のパターンとして1つまたは複数のパターンを選択する。
ここで、図5を参照しながら量子条件について説明する。
弱双対定理によれば、(最小化問題である)原問題Pを線形緩和した主問題の目的関数Jの値は常に双対問題Dの目的関数Jの値以上になるが、最適解に限り両者は一致する。しかしながら、原問題Pが整数計画問題(IP)であり、双対問題Dが線形計画問題(LP)の場合には、最適解が得られても、原問題Pの目的関数Jの最適値と双対問題Dの目的関数Jの最適値は必ずしも一致せず、原問題Pの目的関数Jの最適値は、双対問題Dの目的関数Jの最適値以上(原問題Pの目的関数Jの最適値≧双対問題Dの目的関数Jの最適値)となる。その差が主双対ギャップ即ち誤差Gd(≧0)として生じる。このような誤差Gdが生じるのは、整数計画問題(IP)のみに課される制約式(x[j]∈{0,1})が存在するためである(2)式を参照)。
尚、図5に示す例では、最小公倍数dlcmは「30」である。従って、n=0の場合の主双対ギャップGd(=Gd_opt)を量子化すると「27(=0.9×30)」になる。量子化部441は、このようにして主双対ギャップGd(=Gd_opt)についても量子化する。
選別部443は、以上の量子条件を満たす列(実現可能山mj)の組み合わせとして、1つまたは複数の組み合わせを選別する。選別部443の処理の一例を説明する。以下の説明では、量子化した列主双対ギャップq[j]を、必要に応じて、量子化列主双対ギャップq[j]と称する。
まず、選別部443は、量子化列主双対ギャップq[j]の抽出上限値qgapを設定する。抽出上限値qgapの初期値は、例えば「0」である。
次に、選別部443は、分類部442により得られた列グループから、抽出上限値qgapの量子化列主双対ギャップq[j]に対応する列グループを選別結果に追加する。
また、Gq_gapは、以下の(21-1)式~(21-3)式で与えられる。
抽出上限値qgapの現在値qkを初期値(例えば「0」)から順に大きくして、選別対象の列(実現可能山mj)群の範囲を順次拡張し、(18)式を満足する列(実現可能山mj)の組み合わせが存在する場合は、原問題Pの部分問題P(Cq)の最適解を求解し、存在しない場合は、抽出上限値qgapを分類部442において次の値に拡張することを繰り返す過程で最初に得られる当該部分問題P(Cq)の最適解は、原問題Pの最適解になる。このことは、以下の定理Iにより得られる。
『閾値THがn+fD(fD=ceil(VDopt)-VDopt、n:0(ゼロ)以上の整数)のとき、列主双対ギャップz[j]が当該閾値TH以下の列jによる列群CTHにより得られた部分問題P(n+fD)の最適値J(n+fD)optがceil(VDopt)+n+1以下なら、当該最適値J(n+fD)optは、原問題Pの最適値Joptである』
ここで、ceil(x)は、天井関数(実数xに対してx以上の最小の整数を対応付ける関数)である。
閾値THをn+fDとして得られた部分問題P(TH)の最適値J(n+fD)optがceil(VDopt)+n+1であるとし、これが原問題Pの最適値ではないとする。即ち、原問題Pの最適値Joptは、ceil(VDopt)+n以下であり、それを得るために最適解の構成要素となり得る列を抽出するための閾値THを、n+fDよりも拡張する(大きくする)必要があると仮定する。
次に、抽出上限値qgapの現在値qkが「27(TH=dlcm・(ceil(VDopt)-VDopt))」のときには、定理Iの前提条件が成り立つ。従って、抽出上限値qgapの現在値qkが「27」の時点では(VDopt=37.1)、(21-2)式より、まず、Gq_gap=27として求解した原問題Pの部分問題P(Cq)の最適値が「38(=ceil(VDopt))」とならない場合、Gq_gap=57として求解した部分問題P(Cq)の最適値が「39(=ceil(VDopt)+1)」であれば、これは、定理Iのn=0のケースに該当するので、この際の部分問題P(Cq)の最適解は、原問題Pの最適解であると判断できる。
次に、抽出上限値qgapの現在値qkが「28」のときには、(21-3)式よりGq_gap=57なので、この時点(qk=28)では、部分問題P(Cq)の最適値が「39」(以下)でなければ、補足定理Iより、原問題Pの最適解とは判定できない。
原問題Pの部分問題P(Cq)の最適値J(Cq)の下限値(下界値)は、抽出上限値qgapを前記のように「0」から逐次拡張していく場合、その現在値qkが、定理Iの前提条件であるqk=n+fDの際、部分問題P(Cq)の最適値が、ceil(VDopt)+n+1以下でない場合、抽出上限値qgapをqkの次に拡張したqk+1の際には、部分問題P(Cq)の最適値は、(定理Iの証明と同様の議論で)ceil(VDopt)+n+1未満にはなり得ず、ceil(VDopt)+n+1であれば、最適値と判定できる。即ち、抽出上限値qgapがn+fDを超え、n+1+fDまでは、部分問題P(Cq)の目的関数下限値はceil(VDopt)+n+1となり、その時に限り、原問題の最適値と判定できる。この様に、抽出上限値qgapを0から逐次拡張し、拡張した列群に対する部分問題P(Cq)を順次求解していく際の、部分問題P(Cq)の目的関数下限制約を以下の(25-1)式または(25-2)式のように定めることができる。つまり、抽出上限値qgapの現在値qkが、以下の(25-1)式のif条件を満たす場合、原問題Pの部分問題P(Cq)を求解する際、その目的関数J(Cq)に対し、下限値ceil(VDopt)を設定でき、求解結果が、下限値ceil(VDopt)と一致する場合には、その部分問題P(Cq)の解をを原問題Pの最適値と判断できる。同様に、抽出上限値qgapの現在値qkが、以下の(25-2)式のif条件を満たす場合、部分問題P(Cq)を求解する際、その目的関数J(Cq)に対し、下限値ceil(VDopt)+(n+1))を設定でき、求解結果が、それと一致する場合には、当該最適値J(Cq)を原問題Pの最適値と判断できる。
(28)式により、選別部443により量子条件を満たすと判定された列(実現可能山mj)の組み合わせを必ず1つ選ばなければならないことが規定される。
以上のようにして求解部444により最適解{x[jopt]}が導出されると、出力部150は、当該最適解{x[jopt]}を示す情報を山分け計画の情報として出力する。
次に、図6のフローチャートを参照しながら、本実施形態の山分け計画作成装置400による山分け計画作成方法の一例を説明する。図6のフローチャートは、図3-2のステップS342に代えて行われるものである。本実施形態の山分け計画作成装置400による山分け計画作成方法のその他の部分は、図3-1および図3-2に示したフローチャートと同じである。
次に、ステップS602において、量子化部441は、ステップS341で抽出された原問題計算用列群CTHに含まれる列(実現可能山mj)のそれぞれの列主双対ギャップz[j](=cj-popt[i]・mj)に最小公倍数dlcmを掛けた値を、量子化列主双対ギャップq[j]として導出する。
次に、ステップS604において、選別部443は、量子化列主双対ギャップq[j]の抽出上限値qgapを初期化する。抽出上限値qgapの初期値は、ステップS603において、分類部442により、CTHを量子化列主双対ギャップq[j]毎に分類した際の最も小さい量子化列主双対ギャップq[j]の値に設定する。これは、通常例えば「0」である。
次に、ステップS606において、選別部443は、ステップS605で拡張された列(実現可能山mj)の中に、量子条件を満たす列(実現可能山mj)の組み合わせ((20)式を満たすrl(=(r1,r2,・・・,rk))が存在するか否かを判定する。このとき、選別部443は、図3-1のステップS324で導出された双対最適値VDoptと、ステップS604または後述するステップS607で設定された抽出上限値qgapと、ステップS601で導出された最小公倍数dlcmとに基づいて(21-1)式~(21-3)式の何れの条件に該当するかを判定し((21-1)式~(21-3)式のif文を参照)、該当する条件に対応する式を用いて、主双対ギャップの最適値Gq_gap((20)式におけるGq_gap)を導出する((21-1)式~(21-3)式のthen以下を参照)。この判定の結果、量子条件を満たす列(実現可能山mj)の組み合わせが存在しない場合(ステップS605でNOの場合)、処理はステップS607に進む。処理がステップS607に進むと、選別部443は、抽出上限値qgapを大きくする。そして、処理はステップS605に戻り、量子条件を満たす列(実現可能山mj)の組み合わせが存在するまで、ステップS605~S607の処理が繰り返し実行される。
以上のようにして最適解{x[jopt]}が導出された(ステップS609でYES)と判定されると、図6のフローチャートによる処理が終了し、図3-2のステップS343の処理が実行される。
以上のように本実施形態では、ステップS602で、原問題計算用列群CTHに含まれる列(実現可能山mj)のそれぞれの列主双対ギャップz[j]に、双対最適解popt[i]を既約分数で表記した場合の分母の最小公倍数dlcmを掛けた値を、量子化列主双対ギャップq[j]として導出する。そして、ステップS603で、原問題計算用列群CTHに含まれる列(実現可能山mj)を量子化列主双対ギャップq[j]毎に分類する。その後、ステップS607で、量子化列主双対ギャップq[j]の単位で、原問題計算用列群CTHにおける選別対象の列(実現可能山mj)を拡張しながら、ステップS605、S606で、量子条件を満たす列(実現可能山mj)の組み合わせを探索する。そして、ステップS608で、量子条件を満たす列(実現可能山mj)の組み合わせを用いて、集合分割問題(の部分問題)を解く。したがって、量子条件を満たす実現可能山の組み合わせを厳選してから、ステップS608で最適解を導出することができ、処理を高速化することができる。また、原問題が整数計画問題であることにより生じる誤差をなくすことができる。
次に、実施例を説明する。
本実施例では、以下の計算環境で計算を行った。
プロセッサ:Intel(登録商標)Xeon(登録商標)CPU E5-2687W@3.1GHz(2プロセッサ)
実装メモリ(RAM):128GB
OS:Windows7(登録商標) Professional 64ビットオペレーションシステム
最適計算ソフト:ILOG CPLEX(登録商標) Cplex11.0 Concert25
また、何れの実施例においても鋼材の数を60とし、少なくとも1つの鋼材の属性が異なる17ケースのそれぞれについて山分け計画を作成した。また、(4)式の重み係数k1、k2をそれぞれ5.0、1.0(k1=5.0、k2=1.0)とした。
第1の実施例では、第1の実施形態の手法と、特許文献1に記載の手法とを比較する。図7に、第1の実施例における山分け計画の作成結果を示す。
図7において、データ特徴の欄のIDは、山分け計画の作成対象となる鋼材群の識別情報である。前述したように各鋼材群に含まれる鋼材の数は60である。最適値は、山分け計画の作成対象となる鋼材群に対する目的関数((4)式)の最適値(本来の最小値)である。実現可能山数は、実現可能山の総数である。実現可能山数の欄でM.Oと示されているのは、メモリの容量の不足により、実現可能山を列挙できなかったことを示す。尚、ここでは、5分で計算を打ち切った。
山数は、山分け計画として得られた山の数である。仮置数は、山立ての際に発生する仮置きの数である。目的関数値は、第1の実施形態の手法における目的関数((4)式)の最小値である。誤差は、最適値と目的関数値との差の最適値に対する割合を百分率で表記した値(={(最適値-目的関数値)÷最適値}×100)である。計算時間は、山分け計画を作成するのに要した計算時間(秒)である。
第2の実施例では、第1の実施形態の手法と、第2の実施形態の手法とを比較する。図8に、第2の実施例における山分け計画の作成結果を示す。
発明例1は、第1の実施形態の手法による結果であることを示す。発明例2は、第2の実施形態の手法による結果であることを示す。比較例は、特許文献1に記載の手法による結果であることを示す。列抽出時間は、双対問題求解部120および選択列挙部130による処理(ステップS301~S341)に要した計算時間である。求解時間は、最適解導出部140、440による処理(ステップS342またはステップS601~S609)に要した計算時間である。列抽出時間と求解時間との和が計算時間になる。図8のその他の項目は、図7と同じである。
<変形例1>
第1、第2の実施形態では、原問題Pが最小化問題である場合を例に挙げて説明した。しかしながら、原問題Pは、最大化問題であってもよい。この場合、原問題Pの目的関数は、列コストcjの総和が最大になるように実現可能山mjを選択することを目的とする関数であり、(3)式に代えて以下の(3´)式が用いられる。また、双対問題Dの制約式、目的関数として、(8)式、(10)式に代えて、それぞれ以下の(8´)式、(10´)式が用いられる。即ち、双対問題Dでは、(8´)式の制約式を満足する範囲で(10´)式の目的関数Jの値を最小にする双対変数p[i]を、双対問題Dの最適解として導出する。そして、列主双対ギャップとして、実現可能山mjに対する双対コストPjから、当該実現可能山mjの列コストcjを減算した値(=Σp[i]・mj[i]-cj)を用いる。尚、実現可能山mjの列コストcjも最大化問題に合わせて定式化される。
〔定理II〕
『閾値THがn+fD(fD=VDopt-floor(VDopt)、n:0(ゼロ)以上の整数)のとき、列主双対ギャップz[j]が当該閾値TH以下の列jによる原問題計算用列群CTHにより得られた部分問題P(n+fD)の最適値J(n+fD)optがfloor(VDopt)-n-1以上なら、当該最適値J(n+fD)optは、原問題Pの最適値Joptである』
ここで、floor(x)は、床関数(実数xに対してx以下の最大の整数を対応付ける関数)である。
閾値THをn+fDとして得られた部分問題P(TH)の最適値J(n+fD)optがfloor(JD)-n-1であるとし、これが原問題Pの最適値でないとする。即ち、原問題Pの最適値Joptは、floor(VDopt)-n以上であり、それを得るため最適解の構成要素となり得る列を抽出するための閾値THを、n+fDより拡張する(大きくする)必要があると仮定する。
本実施形態では、鋼材を1つ1つ移動(搬送)する場合を例に挙げて説明した。しかしながら、鋼材の移動(搬送)が、鋼材グループの単位で行われる場合でも本実施形態の手法を適用することができる。鋼材グループとは、搬送機器(主にクレーン)にて搬送する際に、分割されることのない(最小単位となる)一枚以上の鋼材の纏まりを指す。このようにする場合、幅条件を満たすのは、例えば、或る鋼材グループの最大幅が、当該或る鋼材グループの下に位置する鋼材グループの最小幅よりも狭い場合と、或る鋼材グループの最大幅が、当該或る鋼材グループの下に位置する鋼材グループの最小幅よりも広く、且つ、両者の幅の差が作業制約により定まる基準値以下である場合である。また、長さ条件を満たすのは、例えば、或る鋼材グループの最大長が、当該或る鋼材グループの下に位置する鋼材グループの最小長よりも短い場合と、或る鋼材グループの最大長が、当該或る鋼材グループの下に位置する鋼材グループの最小長よりも長く、且つ、両者の長さの差が作業制約により定まる基準値以下である場合である。また、例えば、(1つの)鋼材グループiに含まれる鋼材の数wiを用いて鋼材の数を表現することができる。
本実施形態では、対象材が鋼材である場合(鋼材を搬送の対象とする場合)を例に挙げて説明した。しかしながら、必ずしも鋼材を対象材にする必要はない。例えば、鋼材の代わりに、アルミニウム、チタン、又は銅等の金属材を製造する金属製造プロセスに本実施形態を適用することができる。この場合、前述した説明において「鋼材」を「アルミニウム材」等の「金属材」に置き換えることができる。
また、工程間の置場として、2つの製造工程間の置場を対象とし、金属材として、半製品を対象としてもよいし、工程間の置場として、製造工程と出荷工程の間の置場を対象とし、金属材として、最終製品を対象としてもよい。この際に、複数の金属材をコンテナに収容して輸送、配置する場合には、金属材が収容されたコンテナを1つの鋼材として取り扱ってもよい。さらに、工程間の置場としては、金属製造プロセスにおける置場に限定されるものでなく、一般的な工程間の物流、搬送を対象としてもよい。物流分野では内容物に限定されずコンテナの搬送、配置でも適用できる。
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以下に、請求項の記載と実施形態の記載との対応関係の一例を説明する。尚、請求項の記載が実施形態の記載に限定されないことは前述した通りである。
<請求項1、4、6、7>
第1の閾値は、例えば、閾値TH1(=0)を用いることにより実現される。
所定の条件が成立することは、例えば、ステップS306でYESと判定されることにより実現される。
前記所定の条件が成立した時点で抽出された前記実現可能山を対象として、前記双対問題の最適解である双対最適解を導出することは、例えば、ステップS324で双対最適解popt[i]を導出することに対応する。
双対問題求解手段は、例えば、双対問題求解部120を用いることにより実現される。
第2の閾値は、例えば、閾値TH2(>0)を用いることにより実現される。
所定の条件が成立することは、例えば、ステップS327でYESと判定されることにより実現される。
選択列挙手段は、例えば、選択列挙部130を用いることにより実現される。
前記選択列挙手段により選択列挙された前記実現可能山は、例えば、原問題計算用列群CTHを用いることにより実現される
最適解導出手段は、例えば、最適解導出部140、440を用いることにより実現される。
前記実現可能山に対する前記原問題の評価値は、例えば、列コストcjを用いることにより実現される。
当該実現可能山に対する前記双対問題の評価値は、例えば、双対コストΣp[i]・mj[i]を用いることにより実現される。
<請求項2>
一部の前記実現可能山を列挙し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第1の閾値とを比較した結果に基づいて、当該実現可能山を抽出して、実現可能山群に含めることを繰り返すことは、例えば、ステップS306~S321を繰り返すことにより実現される。
前記実現可能山群に含まれる前記実現可能山の数が指定数を上回ると、当該実現可能山群に含まれる前記実現可能山を対象とする前記双対問題の最適解である前記暫定双対解を導出し、当該暫定双対解を用いて導出される当該実現可能山に対する列主双対ギャップと第1の閾値とを比較した結果に基づいて、前記実現可能山群に含まれる前記実現可能山を更新することは、例えば、ステップS321~S323の処理を実行することにより実現される。
<請求項3>
前記双対問題求解手段は、前記実現可能山に対する前記原問題の評価値と、前記第1の閾値と、当該実現可能山に上積み可能な前記対象材を当該実現可能山に上積みすることにより構築される前記実現可能山を対象とする前記双対問題の評価値とに基づいて、当該実現可能山に前記対象材を上積みすることにより構築される前記実現可能山を選択列挙の対象とするか否かを判定することは、例えば、(15-1)式または(15-2)式を満たすか否かを判定すること(ステップS317の判定)により実現される。
前記選択列挙手段は、前記実現可能山に対する前記原問題の評価値と、前記第2の閾値と、当該実現可能山に上積み可能な前記対象材を当該実現可能山に上積みすることにより構築される前記実現可能山を対象とする前記双対問題の評価値とに基づいて、当該実現可能山に前記対象材を上積みすることにより構築される前記実現可能山を列挙の対象とするか否かを判定することは、例えば、TH1をTH2に書き換えた(15-1)式または(15-2)式を満たすか否かを判定すること(ステップS338の判定)により実現される。
<請求項5>
前記第2の閾値は、前記双対最適解に対応する前記双対問題の評価値である双対最適値に基づいて定められることは、例えば、(16)式により閾値TH2が定められることにより実現される。
<請求項8>
最適解導出手段は、例えば、最適解導出部440を用いることにより実現される。
量子化手段は、例えば、量子化部441を用いることにより実現される。
選別手段は、例えば、選別部443を用いることにより実現される。
求解手段は、例えば、求解部444を用いることにより実現される。
前記選択列挙手段により抽出された前記実現可能山に対する前記原問題の評価値と、当該実現可能山に対する前記双対問題の評価値との差である列主双対ギャップは、例えば、列主双対ギャップz[j]を用いることにより実現される。
前記原問題の評価値の最適値と前記双対問題の評価値の最適値との差である最適解における主双対ギャップは、例えば、取り得る値がceil(VDopt)-VDopt+n(n=0,1,2,・・・)である双対ギャップGdの最小値(双対ギャップの最適値Gd_opt)を用いることにより実現される。
量子化された前記列主双対ギャップの和が、量子化された最適解における前記主双対ギャップと最適解において一致するという条件である量子条件は、例えば、(19)式を用いることにより実現される。
<請求項9>
分類手段は、例えば、分類部442を用いることにより実現される。
<請求項10>
前記選別手段は、最適解における前記主双対ギャップとしてとり得る値が小さいものから順に、前記量子条件で規定される、最適解における前記主双対ギャップの最適値を設定することは、例えば、最初に(21-2)式のif文が成立するまでは、(21-1)式によりGq_gapが定められ、(21-2)式のif文が成立すると、(21-2)式によりGq_gapが定められ、その後は、(21-2)式のif文が成立した場合は(21-2)式によりGq_gapが定められ、そうでない場合は(21-3)式によりGq_gapが定められることにより実現される。
<請求項11>
前記量子化手段により量子化された前記列主双対ギャップの上限値であって、当該選別手段による選別対象の前記実現可能山に対する前記列主双対ギャップの上限値は、(量子化列主双対ギャップq[j]の)抽出上限値qgap(の現在値qk)を用いることにより実現される。
前記量子条件で規定される、最適解における前記主双対ギャップを、前記双対最適解に対応する前記双対問題の評価値である双対最適値に基づいて、前記上限値に応じた値に設定することは、例えば、抽出上限値qgap(の現在値qk)に応じて(21-1)式~(21-3)式の何れかが選択され、選択された(21-1)式、(21-2)式、または(21-3)式によって、主双対ギャップの最適値Gq_gapが設定されることにより実現される。前記双対最適解に対応する前記双対問題の評価値である双対最適値は、例えば、双対最適値VDoptを用いることにより実現される。
<請求項12>
当該求解手段により求解される解として採用される前記実現可能山の総和と、前記選別手段により選別された前記実現可能山の組み合わせの1つにおける当該実現可能山の総和とが等しいことを示す第1の制約条件は、例えば、(26)式~(27)式を用いることにより実現される。
前記選別手段により選別された前記実現可能山の組み合わせを1つだけ必ず採用することを示す第2の制約条件は、例えば、(28)式を用いることにより実現される。
<請求項13>
最小公倍数は、例えば、最小公倍数dlcmを用いることにより実現される。
<請求項14~17>
第3の制約条件は、例えば、(25-1)式~(25-2)式を用いることにより実現される。
Claims (21)
- 所定の山積み制約を満たすように対象材を積んだ山である実現可能山の組み合わせを、山分け対象の複数の対象材を重複することなく且つ漏れなく含むように求める整数計画問題を原問題とし、前記原問題の線形緩和問題を主問題とした場合の双対問題の最適解である双対最適解を用いて、前記山分け対象の複数の対象材を山分けするための山分け計画を作成する山分け計画作成装置であって、
一部の前記実現可能山を列挙し、当該列挙した実現可能山のそれぞれに対する列主双対ギャップを導出し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第1の閾値とを比較した結果に基づいて、前記双対問題の求解に用いる実現可能山を抽出することを、所定の条件が成立するまで繰り返し、前記所定の条件が成立した時点で抽出された前記実現可能山を対象として、前記双対問題の最適解である前記双対最適解を導出する双対問題求解手段と、
一部の前記実現可能山を列挙し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第2の閾値とを比較した結果に基づいて、前記原問題の求解に用いる実現可能山を選択列挙することを、所定の条件が成立するまで繰り返す選択列挙手段と、
前記選択列挙手段により選択列挙された前記実現可能山から、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の集合を導出することを、集合分割問題を解くことにより行う最適解導出手段と、を有し、
前記列主双対ギャップは、前記実現可能山に対する前記原問題の評価値と、当該実現可能山に対する前記双対問題の評価値との差であり、
前記双対問題求解手段は、抽出済みの前記実現可能山を対象とする前記双対問題の暫定的な最適解である暫定双対解を用いて前記列主双対ギャップを導出し、
前記選択列挙手段は、前記双対最適解を用いて前記列主双対ギャップを導出することを特徴とする山分け計画作成装置。 - 前記双対問題求解手段は、一部の前記実現可能山を列挙し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第1の閾値とを比較した結果に基づいて、当該実現可能山を抽出して、実現可能山群に含めることを繰り返し、前記実現可能山群に含まれる前記実現可能山の数が指定数を上回ると、当該実現可能山群に含まれる前記実現可能山を対象とする前記双対問題の最適解である前記暫定双対解を導出し、当該暫定双対解を用いて導出される当該実現可能山に対する列主双対ギャップと前記第1の閾値とを比較した結果に基づいて、前記実現可能山群に含まれる前記実現可能山を更新することを、前記所定の条件が成立するまで繰り返し、前記所定の条件が成立した時点で前記実現可能山群に含まれる前記実現可能山を対象とする前記双対問題の最適解を前記双対最適解として導出することを特徴とする請求項1に記載の山分け計画作成装置。
- 前記双対問題求解手段は、前記実現可能山に対する前記原問題の評価値と、前記第1の閾値と、当該実現可能山に上積み可能な前記対象材を当該実現可能山に上積みすることにより構築される前記実現可能山を対象とする前記双対問題の評価値とに基づいて、当該実現可能山に前記対象材を上積みすることにより構築される前記実現可能山を列挙の対象とするか否かを判定し、
前記選択列挙手段は、前記実現可能山に対する前記原問題の評価値と、前記第2の閾値と、当該実現可能山に上積み可能な前記対象材を当該実現可能山に上積みすることにより構築される前記実現可能山を対象とする前記双対問題の評価値とに基づいて、当該実現可能山に前記対象材を上積みすることにより構築される前記実現可能山を選択列挙の対象とするか否かを判定し、
前記選択列挙の対象となる前記実現可能山が選択列挙され、前記選択列挙の対象とならない前記実現可能山は選択列挙されないようにすることを特徴とする請求項1または2に記載の山分け計画作成装置。 - 前記第1の閾値は、0であり、
前記第2の閾値は、0を上回る値であることを特徴とする請求項1~3の何れか1項に記載の山分け計画作成装置。 - 前記第2の閾値は、前記双対最適解に対応する前記双対問題の評価値である双対最適値に基づいて定められることを特徴とする請求項4に記載の山分け計画作成装置。
- 前記所定の条件は、前記実現可能山を列挙する処理において列挙する前記実現可能山がなくなることであることを特徴とする請求項1~5の何れか1項に記載の山分け計画作成装置。
- 前記選択列挙は、相対的に下段に配置される前記対象材に対し前記山積み制約を満たす前記対象材を、相対的に下段に配置される前記対象材の上に配置することができる前記対象材として特定することを、最下段から順番に行うにより実行されることを特徴とする請求項1~6の何れか1項に記載の山分け計画作成装置。
- 前記最適解導出手段は、前記選択列挙手段により選択列挙された前記実現可能山に対する前記原問題の評価値と、当該実現可能山に対する前記双対問題の評価値との差である列主双対ギャップを量子化すると共に、前記原問題の評価値の予想される最適値と前記双対問題の評価値の最適値との差である最適解における主双対ギャップを量子化する量子化手段と、
前記量子化手段により量子化された前記列主双対ギャップの中から、量子条件を満たすように選択された、量子化された前記列主双対ギャップに基づいて、前記実現可能山の組み合わせを選別する選別手段と、
前記選別手段により選別された、前記実現可能山の組み合わせから、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の集合を導出することを、集合分割問題を解くことにより行う求解手段と、を更に有し、
前記量子条件は、前記量子化手段により量子化された前記列主双対ギャップの解を構成する列に対する和が、前記量子化手段により量子化された最適解における前記主双対ギャップと最適解において一致するという条件であることを特徴とする請求項1~7の何れか1項に記載の山分け計画作成装置。 - 前記最適解導出手段は、前記量子化手段により量子化された前記列主双対ギャップが同じになる前記実現可能山が同じグループに属するように、前記選択列挙手段により選択列挙された前記実現可能山を分類する分類手段を更に有し、
前記選別手段は、前記分類手段により分類された前記実現可能山の単位で、前記実現可能山の組み合わせを選別することを特徴とする請求項8に記載の山分け計画作成装置。 - 前記選別手段は、最適解における前記主双対ギャップとしてとり得る値が小さいものから順に、前記量子条件で規定される、最適解における前記主双対ギャップを設定することを特徴とする請求項8または9に記載の山分け計画作成装置。
- 前記選別手段は、前記量子化手段により量子化された前記列主双対ギャップの上限値であって、当該選別手段による選別対象の前記実現可能山に対する前記列主双対ギャップの上限値を小さい値から順に設定し、前記量子条件で規定される、最適解における前記主双対ギャップを、前記双対最適解に対応する前記双対問題の評価値である双対最適値に基づいて、前記上限値に応じた値に設定することを特徴とする請求項8~10の何れか1項に記載の山分け計画作成装置。
- 前記求解手段は、当該求解手段により求解される解として採用される前記実現可能山の総和と、前記選別手段により選別された前記実現可能山の組み合わせの1つにおける当該実現可能山の総和とが等しいことを示す第1の制約条件と、前記選別手段により選別された前記実現可能山の組み合わせを1つだけ必ず採用することを示す第2の制約条件とを満足するように、前記選別手段により選別された前記実現可能山の組み合わせから、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の集合を導出することを、集合分割問題を解くことにより行うことを特徴とする請求項8~11の何れか1項に記載の山分け計画作成装置。
- 前記量子化手段は、前記列主双対ギャップに、前記双対問題求解手段により導出された前記双対最適解を既約分数で表現した場合の分母の最小公倍数を掛けることにより、前記列主双対ギャップを量子化すると共に、最適解における前記主双対ギャップに前記最小公倍数を掛けることにより、最適解における前記双対ギャップを量子化することを特徴とする請求項8~12の何れか1項に記載の山分け計画作成装置。
- 前記最適解導出手段は、前記原問題の評価値の取り得る範囲を示す第3の制約条件を満足するように、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の集合を導出することを、集合分割問題を解くことにより行うことを特徴とする請求項1~13の何れか1項に記載の山分け計画作成装置。
- 前記第3の制約条件は、前記原問題の評価値の取り得る範囲が、前記双対最適解に対応する前記双対問題の評価値である双対最適値に応じて定まることを示す制約条件であることを特徴とする請求項14に記載の山分け計画作成装置。
- 前記原問題は、複数の前記実現可能山のそれぞれについて、当該実現可能山を解として採用するか否かにより定まる2値変数を決定変数として、当該実現可能山に対する前記対象材の山立てについての評価値であるコストと、前記決定変数を含む目的関数の値が最小または最大になる前記決定変数を求めることにより、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の最適な組み合わせを求める問題であり、
前記第3の制約条件は、前記目的関数の取り得る範囲を示す制約条件であることを特徴とする請求項14または15に記載の山分け計画作成装置。 - 前記原問題は、前記目的関数の値が最小になる前記決定変数を求めることにより、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の最適な組み合わせを求める問題であり、
前記第3の制約条件は、前記目的関数の値の下限値を示す制約条件であることを特徴とする請求項16に記載の山分け計画作成装置。 - 前記原問題は、複数の前記実現可能山のそれぞれについて、当該実現可能山を解として採用するか否かにより定まる2値変数を決定変数として、当該実現可能山に対する前記対象材の山立てについての評価値であるコストと、前記決定変数を含む目的関数の値が最小または最大になる前記決定変数を求めることにより、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の最適な組み合わせを求める問題であることを特徴とする請求項1~17の何れか1項に記載の山分け計画作成装置。
- 前記山分け計画は、鉄鋼プロセスにおける工程間の置場として鋼材を配置するヤードに搬入される複数の鋼材を、所定の山積み制約を満たすように山積みして、次工程に払い出す最終的な山姿となった複数の払出山に山分けするための計画であることを特徴とする請求項1~18の何れか1項に記載の山分け計画作成装置。
- 所定の山積み制約を満たすように対象材を積んだ山である実現可能山の組み合わせを、山分け対象の複数の対象材を重複することなく且つ漏れなく含むように求める整数計画問題を原問題とし、前記原問題の線形緩和問題を主問題とした場合の双対問題の最適解である双対最適解を用いて、前記山分け対象の複数の対象材を山分けするための山分け計画を作成する山分け計画作成方法であって、
一部の前記実現可能山を列挙し、当該列挙した実現可能山のそれぞれに対する列主双対ギャップを導出し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第1の閾値とを比較した結果に基づいて、前記双対問題の求解に用いる実現可能山を抽出することを、所定の条件が成立するまで繰り返し、前記所定の条件が成立した時点で抽出された前記実現可能山を対象として、前記双対問題の最適解である前記双対最適解を導出する双対問題求解工程と、
一部の前記実現可能山を列挙し、当該列挙した実現可能山から、当該実現可能山に対する列主双対ギャップと第2の閾値とを比較した結果に基づいて、前記原問題の求解に用いる実現可能山を選択列挙することを、所定の条件が成立するまで繰り返す選択列挙工程と、
前記選択列挙工程により選択列挙された前記実現可能山から、前記複数の対象材を重複することなく且つ漏れなく含む前記実現可能山の集合を導出することを、集合分割問題を解くことにより行う最適解導出工程と、を有し、
前記列主双対ギャップは、前記実現可能山に対する前記原問題の評価値と、当該実現可能山に対する前記双対問題の評価値との差であり、
前記双対問題求解工程は、抽出済みの前記実現可能山を対象とする前記双対問題の暫定的な最適解である暫定双対解を用いて前記列主双対ギャップを導出し、
前記選択列挙工程は、前記双対最適解を用いて前記列主双対ギャップを導出することを特徴とする山分け計画作成方法。 - 請求項1~19の何れか1項に記載の山分け計画作成装置の各手段としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018247434A JP7099315B2 (ja) | 2018-12-28 | 2018-12-28 | 山分け計画作成装置、山分け計画作成方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018247434A JP7099315B2 (ja) | 2018-12-28 | 2018-12-28 | 山分け計画作成装置、山分け計画作成方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020107211A JP2020107211A (ja) | 2020-07-09 |
JP7099315B2 true JP7099315B2 (ja) | 2022-07-12 |
Family
ID=71449158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018247434A Active JP7099315B2 (ja) | 2018-12-28 | 2018-12-28 | 山分け計画作成装置、山分け計画作成方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7099315B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4887341B2 (ja) | 2008-09-30 | 2012-02-29 | 国立大学法人 東京大学 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP6390331B2 (ja) | 2014-10-14 | 2018-09-19 | 新日鐵住金株式会社 | 鋼材の山分け計画方法、装置及びプログラム |
JP6838353B2 (ja) | 2016-10-31 | 2021-03-03 | 日本製鉄株式会社 | 鋼材の山分け計画作成装置、鋼材の山分け計画作成方法、およびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9618912B2 (en) * | 2013-05-17 | 2017-04-11 | Mitsubishi Electric Research Laboratories, Inc. | MPC controller using parallel quadratic programming |
-
2018
- 2018-12-28 JP JP2018247434A patent/JP7099315B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4887341B2 (ja) | 2008-09-30 | 2012-02-29 | 国立大学法人 東京大学 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP6390331B2 (ja) | 2014-10-14 | 2018-09-19 | 新日鐵住金株式会社 | 鋼材の山分け計画方法、装置及びプログラム |
JP6838353B2 (ja) | 2016-10-31 | 2021-03-03 | 日本製鉄株式会社 | 鋼材の山分け計画作成装置、鋼材の山分け計画作成方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020107211A (ja) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kachitvichyanukul et al. | Two solution representations for solving multi-depot vehicle routing problem with multiple pickup and delivery requests via PSO | |
JP6838353B2 (ja) | 鋼材の山分け計画作成装置、鋼材の山分け計画作成方法、およびプログラム | |
Avci et al. | A multi-start iterated local search algorithm for the generalized quadratic multiple knapsack problem | |
Varnamkhasti | Overview of the algorithms for solving the multidimensional knapsack problems | |
Boysen et al. | The parallel stack loading problem to minimize blockages | |
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
Zhang et al. | Tree search procedures for the blocks relocation problem with batch moves | |
CN112100233B (zh) | 基于禁忌搜索算法的航班时刻衔接方法及系统 | |
Casado et al. | Grouping products for the optimization of production processes: A case in the steel manufacturing industry | |
Keshavarz et al. | Efficient upper and lower bounding methods for flowshop sequence-dependent group scheduling problems | |
Raggl et al. | Solving a real world steel stacking problem | |
JP7099315B2 (ja) | 山分け計画作成装置、山分け計画作成方法、およびプログラム | |
US11625451B2 (en) | Local search with global view for large scale combinatorial optimization | |
JP7099314B2 (ja) | 山分け計画作成装置、山分け計画作成方法、およびプログラム | |
JP6954218B2 (ja) | 鋼材の山分け計画作成装置、鋼材の山分け計画作成方法、およびプログラム | |
CN110648103A (zh) | 用于选择仓库中的货品的方法、装置、介质和计算设备 | |
JP6540360B2 (ja) | 鋼材の山分け計画立案装置、鋼材の山分け計画立案方法、およびプログラム | |
Li et al. | Integrated optimization of finished product logistics in iron and steel industry using a multi-objective variable neighborhood search | |
CN104933110A (zh) | 一种基于MapReduce的数据预取方法 | |
JP7035836B2 (ja) | ヤード管理装置、ヤード管理方法、およびプログラム | |
Li et al. | A parallel genetic algorithm with GPU accelerated for large-scale MDVRP in emergency logistics | |
Fu et al. | A new approach for solving single machine total weighted tardiness (SMTWT) problem | |
JP7024580B2 (ja) | 山分け計画作成装置、山分け計画作成方法、およびプログラム | |
Ismail et al. | Genetic algorithm and Tabu search for vehicle routing problems with stochastic demand | |
Zhang et al. | A tabu search algorithm based on density peak clustering to solve vrptw |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220531 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220613 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7099315 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |