アフィンスケーリング法は線形計画問題の実行可能領域 の(端点を辿る単体法 と違って、)内部を厳密に移動する内点法 の一種である。
アフィンスケーリング法 (アフィンスケーリングほう、アフィン変換法 、アフィンへんかんほう、英 : affine scaling )とは、数理最適化 において線形計画問題 を解くためのアルゴリズム である。これは内点法 であり、1967年ソヴィエト連邦 の数学者 I.I.ディキンによって編み出され、1980年代にアメリカ合衆国 で再発見された解法である。
歴史
アフィンスケーリング法は1967年、Doklady Akademii Nauk SSSR にロシア科学アカデミー、エネルギーシステム研究所[ 注釈 1] の I.I.ディキンによって提案、1974年に収束性を証明されて以降再度の発見 (英語版 ) を辿ることとなる[ 1] 。ディキンの業績は線形計画問題に対する初の実用的多項式時間アルゴリズムであるカーマーカー法 が1984年に編み出されるまでほとんど知られることがなかった。このカーマーカー法の目新しさと計算複雑性によってカーマーカー法の高度な技法をより単純な技法で実現するための研究に多くの研究者が興味を持ち始めた。
以降、カーマーカー法の類似の解法がいくつかのグループによって独立に提案された。IBM の E.R.Barnes[ 2] 、AT&T のロバート・ヴァンダーベイ (英語版 ) らのグループ[ 3] 、その他いくつかのチームがカーマーカー法の射影変換 をアフィン変換 に置き換えた内点法を提案した。これらの提案から数年が経ってから、彼らによって提案されたアフィンスケーリング法が実際にはディキンの研究の再発見に過ぎなかったことが判明した[ 1] [ 4] 。再発見を通じて Barnes およびヴァンダーベイらのみがアフィンスケーリング法の収束性について示すことができた。またカーマーカーもアフィンスケーリング法を編み出していたが、カーマーカー法と同様の収束性をもつ解法であると誤った認識をしていたとされている[ 5] :346 。
アルゴリズム
アフィンスケーリング法は二つの段階から構成されており、一段階目で実行可能 点を求めて、二段階目は実行可能領域の内部を厳密に通って真の最適解を求める。
二つの段階ともに線形計画問題の等式標準形について考える:
min
{\displaystyle \min }
c
⊤
x
{\displaystyle c^{\top }x}
s
.
t
.
{\displaystyle \mathrm {s.t.} }
A
x
=
b
{\displaystyle Ax=b}
x
≥
0
{\displaystyle x\geq 0}
アフィンスケーリング法は実行可能領域の内部の点を生成する反復法 である。特徴として一回の反復で元の問題をスケーリングした問題においてアフィンスケーリング 方向を求めて、元の問題へ戻る。現在の反復点が実行可能領域の境界に近い内点である場合でもアフィン変換によって十分なステップをとることができる[ 5] :337 。
具体的には、アフィンスケーリング法の肝となる反復手順について説明する。ここでA 、b 、c が与えられたとする。初期解は x 0 > 0 とし実行可能(Ax 0 = b )であるとする。許容誤差を ε 、ステップサイズを β とする。このとき反復手順は[ 1] :111 :
xk を対角成分に並べた対角行列 を Dk とする。
双対 変数ベクトルを求める:
w
k
=
(
A
D
k
2
A
T
)
−
1
A
D
k
2
c
{\displaystyle w^{k}=(AD_{k}^{2}A^{\operatorname {T} })^{-1}AD_{k}^{2}c}
双対問題の制約に対応するスラック変数 (英語版 ) の値を知るために被約費用ベクトルを求める:
r
k
=
c
−
A
T
w
k
{\displaystyle r^{k}=c-A^{\operatorname {T} }w^{k}}
もし
r
k
>
0
{\displaystyle r^{k}>0}
かつ
1
T
D
k
r
k
<
ε
{\displaystyle \mathbf {1} ^{\operatorname {T} }D_{k}r^{k}<\varepsilon }
ならば、現在解 xk は ε 近似最適解である。
もし
−
D
k
r
k
≥
0
{\displaystyle -D_{k}r^{k}\geq 0}
ならば、問題は非有界である。
更新する:
x
k
+
1
=
x
k
−
β
D
k
2
r
k
‖
D
k
r
k
‖
{\displaystyle x^{k+1}=x^{k}-\beta {\frac {D_{k}^{2}r^{k}}{\|D_{k}r^{k}\|}}}
初期化
一段階目では元の問題の初期解を求めるために追加の変数 u を導入して人工問題を作成する。初期解 x 0 を任意の成分が厳密に正の値をとるものとする。ただしこれは元の問題の実行可能解である必要はない。x 0 の実行可能性は以下の式によって判定することができる:
v
=
b
−
A
x
0
{\displaystyle v=b-Ax^{0}}
.
もし v = 0 であるならば、これはすなわち右辺が元の問題の制約と一致することから x 0 は実行可能である。そうでなければ、以下の人工問題を解く。
min
{\displaystyle \min }
u
{\displaystyle u}
s
.
t
.
{\displaystyle \mathrm {s.t.} }
A
x
+
u
v
=
b
{\displaystyle Ax+uv=b}
x
≥
0
{\displaystyle x\geq 0}
u
≥
0
{\displaystyle u\geq 0}
この人工問題は以下の値が実行可能内点解であることが容易に分かるので、後は上記で説明した反復法によって最適解を求める[ 注釈 2] :
(
x
0
1
)
{\displaystyle {\begin{pmatrix}x^{0}\\1\end{pmatrix}}}
人工問題の最適解を以下のように置く:
(
x
∗
u
∗
)
{\displaystyle {\begin{pmatrix}x^{*}\\u^{*}\end{pmatrix}}}
.
もし u * = 0 であるならば、元の問題の(厳密には実行可能内点解ではないが)実行可能解である。 もし u * > 0 であるならば、元の問題は実行不可能である[ 5] :343 。
分析
アフィンスケーリング法は実装が容易である代わりに収束性の分析が容易でないとされている。アフィンスケーリング法の収束性はステップサイズ β によって決まる。ステップサイズが β ≤ 2 / 3 のとき、ヴァンダーベイのアフィンスケーリング法は収束することが知られている。一方、ステップサイズが β > 0.995 のときはある問題に対して最適値でない値に収束することが知られている[ 5] :342 。他のアフィンスケーリング法についてもステップサイズ β > 2 / 3 のときに規模の小さな問題に対しても複雑な挙動 を示すことが知られている[ 6] [ 7] 。
脚注
注釈
^ 当時はソ連アカデミー研究所、シベリアエネルギー研究所
^ 人工問題の構造によりいくつかの式はより簡約化される[ 5] :344 。
出典
^ a b c Vanderbei, R. J.; Lagarias, J. C. (1990). “I. I. Dikin's convergence result for the affine-scaling algorithm”. Mathematical developments arising from linear programming (Brunswick, ME, 1988) . Contemporary Mathematics. Vol. 114. Providence, RI: American Mathematical Society. pp. 109– 119. doi :10.1090/conm/114/1097868 . ISBN 978-0-8218-5121-0 . MR 1097868 .
^ Barnes, Earl R. (1986). “A variation on Karmarkar's algorithm for solving linear programming problems”. Mathematical Programming 36 (2): 174–182. doi :10.1007/BF02592024 .
^ Vanderbei, Robert J.; Meketon, Marc S.; Freedman, Barry A. (1986). “A Modification of Karmarkar's Linear Programming Algorithm” . Algorithmica 1 (1–4): 395–407. doi :10.1007/BF01840454 . https://www.princeton.edu/~rvdb/tex/myPapers/VanderbeiMeketonFreedman.pdf .
^ Bayer, D. A.; Lagarias, J. C. (1989). “The nonlinear geometry of linear programming I: Affine and projective scaling trajectories” . Transactions of the American Mathematical Society 314 (2): 499. doi :10.1090/S0002-9947-1989-1005525-6 . https://www.ams.org/journals/tran/1989-314-02/S0002-9947-1989-1005525-6/S0002-9947-1989-1005525-6.pdf .
^ a b c d e Vanderbei, Robert J. (2001). Linear Programming: Foundations and Extensions . Springer Verlag. pp. 333–347
^ Bruin, H.; Fokkink, R.J.; Gu, G.; Roos, C. (2014). “On the chaotic behavior of the primal–dual affine–scaling algorithm for linear optimization” . Chaos 24 (4): 043132. arXiv :1409.6108 . Bibcode : 2014Chaos..24d3132B . doi :10.1063/1.4902900 . PMID 25554052 . https://www.mat.univie.ac.at/~bruin/papers/chaosopt.pdf .
^ Castillo, Ileana; Barnes, Earl R. (2006). “Chaotic Behavior of the Affine Scaling Algorithm for Linear Programming”. SIAM J. Optim. 11 (3): 781–795. doi :10.1137/S1052623496314070 .
参考文献
外部リンク