輸送問題に対する 主双対内点法 小崎 敏寛 2011 7/21 22 RIMS2011 1 目的:輸送問題を数値的に解く →主双対内点法の適用 • • • • • 線形計画問題に対する主双対内点法 輸送問題の定式化 輸送問題に対する内点法 内点法の解から整数解を得る手法 結論と今後の課題 2011 7/21 22 RIMS2011 2 1-1標準形の線形計画問題 主問題(P) min cT x s.t. A x b x 0 変数 xはn次元 双対問題(D) max bT y s.t. AT y z c 変数 yは m次元 z0 Ax b 最適条件 変数 zはn次元 AT y z c x0 z0 Xz 0 2011 7/21 22 RIMS2011 3 1-2 フィージブル内点法 Ax b AT y z c x0 z0 センターパス みたす 強くみたす wk wk+1 Xz e w ( x, y , z ) 最適解 各μにつき近似解を得て,μ↓0とすれば, 等式不等式系が最適条件に近づくので,最適解が得られるはず 主問題と双対問題を同時に考えるので主双対内点法 理論で使われる 2011 7/21 22 RIMS2011 4 1-3 インフィージブル内点法1 w ( x, y , z ) w :ニュートン方向 Ax b Ax wk AT y z c AT y z Zx Xz e Xz xT z ただし [0,1], n w k 1 w k cw wk+1 ただし c 0.99995, [0,1] 最適解 実行可能領域の外から最適解に近づく 数値的に最適解を得られる 2011 7/21 22 RIMS2011 5 1-4 インフィージブル内点法2 • 計算時間の大半は次の方程式を解くのにか かる AXZ-1ATΔy=AXZ-1(c-ATy-z)-γμAZ-1e+b Δz=-ATΔy+c-ATy-z Δx=-XZ-1Δz+γμZ-1e-x eは要素が全て1のベクトル X:=diag(x) Z:=diag(z) 2011 7/21 22 RIMS2011 6 1-5 インフィージブル内点法3 • ステップサイズα+ min{ 1, max{ : x x 0, z z 0}} • 非負であるようにステップサイズをきめる 2011 7/21 22 RIMS2011 7 2-1 輸送問題1 min a1 供給 シンク a2 b2 工場 a3 cij M=3 N=2 ij xij (i , j ) b1 ソース c s.t. x11 x12 a1 x21 x22 需要 a2 x31 x32 a3 消費地 x11 x21 x12 x31 x22 b1 x32 b2 xij 0 • 仮定: ai b j i j • 仮定:全てのiとjの間にアークが存在する • 制約が一つ冗長なので一番下の制約を取り除く 2011 7/21 22 RIMS2011 8 2-2 輸送問題2 min c ij xij (i , j ) s.t. x11 x12 a1 x21 x22 a2 x31 x32 a3 x11 x21 x31 b1 xij 0 • MN変数M+N-1制約の 線形計画問題 • 実行可能解 c11 x11 c21 x21 c31 x31 b1 c12 x12 a1 c22 x22 a2 c32 x32 a3 b2 xij ai b j /( ai ) が存在する i 2011 7/21 22 RIMS2011 9 2-3 輸送問題と他の問題の関係 (割当問題) (輸送問題) (多品種輸送問題) 輸送問題で,M=Nとして,ai , bj =1として, 変数を0-1に限定. 多品種輸送問題で品種を一つにしたもの. 2011 7/21 22 RIMS2011 10 2-4 輸送問題に対する内点法 の既存研究 • 変数に対する非負制約だけでなく,上限制約 のある定式化 ←実行可能解が存在しないことがある • ニュートン方向の計算に共役勾配法を使用 a1=3 u11=1 u12=1 2011 7/21 22 RIMS2011 11 3-1 輸送問題のニュートン方向 ij xij / zij • AXZ-1AT : (ij ) を の一番右の列を M 取り除いた行列 = N-1 コレスキー分解 O((M+N-1)3) M 計算量はO(MN) N-1 密だとすると O(m2n)=O((M+N-1)2MN) 2011 7/21 22 RIMS2011 12 3-2 ステップサイズの決定(LP) ステップサイズの決め方に問題がある 正値性をみたしていれば, ニュートン方向には できるだけ進んだ方がよいと考える Infeasibilityはステップサイズが1以下 なら大きいほど改善する min{ 1, max{ : x x 0} x2 Δx1 x α 座標ごとに計算する i min{ 1, max{ i : xi i xi 0} 2011 7/21 22 RIMS2011 Δx Δx2 x1 13 3-3 ステップサイズと残差の関係 Zx Xz e Xsより xTz ( x x)T ( z z ) γxTz n xT z (1 (1 )) 2 xi zi i 1 考えない A( x x) bより A( x x) Ax ( Ax b) α Ax b α 2011 7/21 22 RIMS2011 14 3-4MATLABでの実装で注意したこと • diagを使用しない →sparse(1:M*N,1:M*N,x./z) • ステップサイズの計算の時に,先に領域を確 保しておく 2011 7/21 22 RIMS2011 15 3-5 数値実験結果 自作の内点法 linprog(lipsol) 反復数 時間(秒) 反復数 時間(秒) 時間(秒) 4 7.80×10-2 4 0.0160 0.0310 50 6 3.10×10-2 5 0.125 4.53 100 6 0.686 5 0.500 62.0 500 4 8.42 6 23.8 × M=N 10 2011 7/21 22 RIMS2011 simplex 16 4 整数解の求解 • 以降では供給ベクトル,需要ベクトルは整数 ベクトルと仮定する. • 内点法では,問題が退化している場合は,基 底解に収束するとはかぎらない. →整数解が得られない • 単体法では計算時間がかかる. 2011 7/21 22 RIMS2011 17 5-1 解の性質 • 1 センターパスの極限は強相補解 • 2 理論上の内点法で生成される点列は強相 補解に収束する[Güler and Ye1993] • 3 実際の内点法で生成される点列は強相補 解に収束するのか? 2011 7/21 22 RIMS2011 18 5-2 解の性質2 • M=N=3の輸送問題 • x*+z* x*z* 0.0129 0.0210 0.3315 0.3644 0.6556 0.6137 0.3315 0.3644 0.6667 0.3757 1.0018 0.4014 0.6556 0.6137 1.0018 0.4014 1.3426 0.3193 ×10-9 強相補解が得られている 2011 7/21 22 RIMS2011 19 5-3 退化の種類 (主)退化(primal degeneracy) 主変数xの基底変数で値が0のものが存在 双対退化(dual degeneracy) [Gülerら1991] 双対変数zの非基底変数で0のものが存在 →対応する主変数xの非基底変数で正のもの が存在 superbasic variable[Maros 2003] (主変数xで)非基底変数で正の値をとるもの 2011 7/21 22 RIMS2011 20 5-4 内点法で得られた解 • 輸送問題(M=N=3) x*= 0.0086 0.3321 0.6592 0.3321 0.6667 1.0012 0.6592 1.0012 1.3395 z*= 0.8630 0.5803 0.4941 0.5803 0.2975 ×10-6 0.2114 0.4941 0.2114 0.1253 2011 7/21 22 RIMS2011 x*=Θ(1) z*=Θ(μ*) 21 6-1 整数解の求解 • 主双対内点法の解から基底解を得るアルゴリズム (Megiddo 1988, Gülerら1991 ) 添え字1をx>0の座標,添え字2をxとzが0の座標,添え 字3をz>0の座標とする.A=[A1 A2 A3], x=[x1 x2 x3], c=[c1 c2 c3]とする. • A1t=0をみたす非ゼロのtを求める.c1Tt=0がなりた つ(近似的に). • x1の非負性を保つように,レシオテストをする. • 0になったajをA1からA2に移す. • A1の列ベクトルが独立になれば終了.A1xB=bを解き xBを得れば整数解が得られる. 2011 7/21 22 RIMS2011 22 6-2 数値実験結果 • 輸送問題(M=N=9) 81変数の線形計画問題 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 4 0 0 2 0 0 0 1 0 0 0 5 0 0 0 0 0 0 0 6 0 0 0 0 0 0 2 3 0 2 0 2 0 0 2 4 0 0 0 2011 7/21 22 RIMS2011 1 0 3 4 0 0 0 0 1 行列形式の解x* 23 7 結論と今後の課題 • 輸送問題の係数行列の疎性を利用した計算 と(線形計画問題に対する)ステップサイズの 決定により効率的に最適解を得られた. • より大きな輸送問題に対して,整数解を得る アルゴリズムを考え,実装する. 2011 7/21 22 RIMS2011 24 参考文献 最近のサーベイ • L. T. Guardia and G. B. Lima, Interior Point Methods for Linear Multicommodity Flow Problems, 2nd International Conference on Engineering Optimization, 2010. 内点法の収束 • O. Güler and Y. Ye, Convergence behavior of interior-point algorithms, Mathematical Programming, Volume 60, Numbers 1-3, 215-228, 1993. 基底解の求解 • N. Megiddo, On finding primal- and dual-optimal bases, Research Report RJ 6328, IBM Almaden Research Center, San Jose, California, 1988. • O. Güler, D. den Hertog, C. Roos, T. Terlaky and T.Tsuchiya, Degeneracy in interior point methods for linear programming, Report 91-102, 1991. Superbasic variable • I. Maros, Computational Techniques of the Simplex Method, Kluwer Academic Pub, 2003. MATLABの本 • 上坂吉則,MATLABプログラミング入門,牧野書店,2006. 2011 7/21 22 RIMS2011 25 • Δy(の近似)を求めるのに,直接法でなく反復 法を使う. • SOR法(Successive Over-Relaxation,逐次 加速緩和法)を適用するが,3倍時間がか かったので諦めた. 2011 7/21 22 RIMS2011 26 ステップサイズの決定(提案) (SOCP,SDP) (1)変数が二次錐の直積で表されている場合 pi min{ 1, max{ i : xi i xi 0} i (2)SDPで変数がブロック対角の場合 各ブロックごとにステップサイズを決定する pi min{ 1, max{ i : xi i xi 0} 2011 7/21 22 RIMS2011 27
© Copyright 2024 ExpyDoc