• 検索結果がありません。

nakata/nakata.html p.1/20

N/A
N/A
Protected

Academic year: 2021

シェア "nakata/nakata.html p.1/20"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

対称錐計画問題に対する主双対内点法

  

中田 和秀

東京工業大学 社会理工学研究科

(2)

1-(a).

対称錐計画問題とは

Faybusovich(1997)

“Linear systems in Jordan algebras

and primal-dual interior-point algorithms”

特徴 B 目的関数は線形 B 条件は線形制約と対称錐制約 (非負制約, 2次錐制約, 半正定値制約など) B 線形計画・2次錐計画・半正定値計画を含む B 主双対内点法により,多項式時間で最適解が求まる B Euclid 的 Jordan 代数と深い関係

(3)

Euclid

Jordan

代数とは

有限次元線形空間 V Euclid 的 Jordan 代数 : V 2 → V ∀x, y ∈ V, ∀α, β ∈ < B x ◦ y = y ◦ x B (αx1 + βx2) ◦ y = αx1 ◦ y + βx2 ◦ y B x ◦ ((x ◦ x) ◦ y) = (x ◦ x) ◦ (x ◦ y) B x ◦ x + y ◦ y = 0 =⇒ x = y = 0

(4)

Euclid

Jordan

代数とは

有限次元線形空間 V Euclid 的 Jordan 代数 : V 2 → V ∀x, y ∈ V, ∀α, β ∈ < B x ◦ y = y ◦ x B (αx1 + βx2) ◦ y = αx1 ◦ y + βx2 ◦ y B x ◦ ((x ◦ x) ◦ y) = (x ◦ x) ◦ (x ◦ y) B x ◦ x + y ◦ y = 0 =⇒ x = y = 0 線形計画 (LP) の場合 V = <n, 0 B B B B B B x1 x2 . . . 1 C C C C C C ◦ 0 B B B B B B y1 y2 . . . 1 C C C C C C ≡ 0 B B B B B B x1y1 x2y2 . . . 1 C C C C C C

(5)

Euclid

Jordan

代数とは

有限次元線形空間 V Euclid 的 Jordan 代数 : V 2 → V ∀x, y ∈ V, ∀α, β ∈ < B x ◦ y = y ◦ x B (αx1 + βx2) ◦ y = αx1 ◦ y + βx2 ◦ y B x ◦ ((x ◦ x) ◦ y) = (x ◦ x) ◦ (x ◦ y) B x ◦ x + y ◦ y = 0 =⇒ x = y = 0 2次錐計画 (SOCP) の場合 V = <n ≡ (0 @ x0 x1 1 A ˛ ˛ ˛ ˛ ˛ x0 ∈ <, x1 ∈ <n−1 )

(6)

Euclid

Jordan

代数とは

有限次元線形空間 V Euclid 的 Jordan 代数 : V 2 → V ∀x, y ∈ V, ∀α, β ∈ < B x ◦ y = y ◦ x B (αx1 + βx2) ◦ y = αx1 ◦ y + βx2 ◦ y B x ◦ ((x ◦ x) ◦ y) = (x ◦ x) ◦ (x ◦ y) B x ◦ x + y ◦ y = 0 =⇒ x = y = 0 半正定値計画 (SDP) の場合 V = Sn ≡ {X ∈ <n×n | X = XT }, X ◦ Y ≡ (XY + Y X)/2

(7)

基本的な性質

B 単位元: e x ◦ e = x, e ◦ y = y B 逆元: x−1 x ◦ x−1 = x−1 ◦ x = e B べき乗に対する結合法則 xαxβ = xα+β B 固有値分解: x = r X k=1 λkck ただし、c2k = ck, ci ◦ cj = 0, r X k=1 ck = e r

(8)

対称錐

対称錐

K ≡ {x

2

∈ V | x ∈ V }

性質 B K∗ ≡ {x ∈ V | ∀y ∈ K, hx, yi ≥ 0} = K 自己双対 B x ∈ K ⇔ λ(x) ≥ 0 非負固有値 B x, y ∈ K, hx, yi = 0 ⇔ x ◦ y = 0 B 直線を含まない閉凸錐 B x − y ∈ K ⇔ x K y 半順序関係 B ∀x, y ∈ int(K), ∃g ∈ GL(V ), gK = K, gx = y 等質空間

(9)

対称錐計画問題

主問題 双対問題 maximize hc, xi minimize hb, yi subject to Ax = b, subject to z = A∗y − c, x K 0. z K 0. 変数: x ∈ V, y ∈ <m, z ∈ V 定数: c ∈ V , b ∈ <m A : V → <m 線形写像 A∗ : <m → V A の随伴オペレータ hAx, yi = hx, A∗yi K: 対称錐

(10)

対称錐計画問題

主問題 双対問題 maximize hc, xi minimize hb, yi subject to Ax = b, subject to z = A∗y − c, x K 0. z K 0. 変数: x ∈ V, y ∈ <m, z ∈ V V 対称錐 K LP <n {(x1, x2, · · · , xn)T ∈ <n | xi ≥ 0} SOCP <n {(x0, x1)T ∈ <n | x0 ≥ kx1k} SDP Sn {X ∈ Sn | Xが半正定値 }

(11)

最適解と中心パス

最適解の必要十分条件          Ax = b · · · 主問題の実行可能性 z = A∗y − c · · · 双対問題の実行可能性 x ◦ z = 0 · · · · 相補性条件 x, z K 0 · · · · 対称錐条件 中心パス          z = A∗y − c (x, y, z) Ax = b ∈ V × <m × V x ◦ z = µe, ∃µ > 0 x, z K 0          B µ → 0 のとき最適解に収束

(12)

最適解と中心パス

最適解の必要十分条件          Ax = b · · · 主問題の実行可能性 z = A∗y − c · · · 双対問題の実行可能性 x ◦ z = 0 · · · · 相補性条件 x, z K 0 · · · · 対称錐条件 中心パス          z = A∗y − c (x, y, z) Ax = b ∈ V × <m × V x ◦ z = µe, ∃µ > 0 x, z K 0          B µ → 0 のとき最適解に収束

(13)

1-(b).

主双対内点法

(14)

1-(b).

主双対内点法

中心パス

(15)

1-(b).

主双対内点法

中心パス

最適解

(16)

1-(b).

主双対内点法

中心パス

最適解

(17)

1-(b).

主双対内点法

中心パス

最適解

反復点 探索方向

(18)

1-(b).

主双対内点法

中心パス 最適解 反復点 探索方向 ステップサイズ

(19)

1-(b).

主双対内点法

中心パス 最適解 反復点 探索方向 ステップサイズ

(20)

1-(b).

主双対内点法

中心パス 最適解 反復点 探索方向 ステップサイズ

(21)

1-(b).

主双対内点法

中心パス 最適解 反復点 探索方向 ステップサイズ

(22)

Euclid

Jordan

代数の行列表現

双線形なので LxLy が存在 B x ◦ y = Lxy = Lyx d dxx ◦ y = d dxLyx = Ly 2次表現 B Px ≡ 2L2 x − Lx2 B Q x,y ≡ LxLy + LyLx − Lx◦y P −x1 = P x−1 P Pxy = P xP yPx (P y)−1 = P −1y−1 Q = P L P

(23)

探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0   

(24)

探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0        Newton 方向 現在の反復点:(x, y, z), 探索方向:(dx, dy, dz) ∇F (x, y, z)(dx, dy, dz) = −F (x, y, z)

(25)

探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0        Newton 方向 現在の反復点:(x, y, z), 探索方向:(dx, dy, dz) Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z L dx + L dz = r ≡ µe − x ◦ z

(26)

計算時間の削減

Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z Lzdx + Lxdz = rc ≡ µe − x ◦ z コンパクト計算 1. B := AL−z 1LxA ∗ 2. s := −rp + AL −1 z (rc + Lxrd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := L−z 1(rc − Lxdz) 問題点: L1 z の計算がボトルネック

(27)

計算時間の削減

Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z Lzdx + Lxdz = rc ≡ µe − x ◦ z コンパクト計算 1. B := AL−z 1LxA ∗ 2. s := −rp + AL −1 z (rc + Lxrd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := L−1(r − L dz) 問題点: L1 z の計算がボトルネック

(28)

計算時間の削減

Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z Lzdx + Lxdz = rc ≡ µe − x ◦ z コンパクト計算 1. B := AL−z 1LxA ∗ 2. s := −rp + AL −1 z (rc + Lxrd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := L−z 1(rc − Lxdz) 問題点: −1 の計算がボトルネック

(29)

別の探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0    ~ w w   方程式の解は同じ Fg(x, y, z) =    Ax − b A∗y − c − z P gx P −g 1z − µe    =    0 0 0   

F

g

に対する

Newton

方向を計算する

(30)

別の探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0    ~ w w   方程式の解は同じ Fg(x, y, z) =    Ax − b A∗y − c − z P gx P −g 1z − µe    =    0 0 0    P x = 2g ◦ (g ◦ x) − (g ◦ g) ◦ x

F

g

に対する

Newton

方向を計算する

(31)

別の探索方向

中心パス上のあるターゲットを表す方程式 F (x, y, z) =    Ax − b A∗y − c − z x ◦ z − µe    =    0 0 0    ~ w w   方程式の解は同じ Fg(x, y, z) =    Ax − b A∗y − c − z P gx P −g 1z − µe    =    0 0 0   

(32)

別の探索方向

F に対する Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z Lzdx + Lxdz = rc ≡ µe − x ◦ z ~ w w  Fg に対する Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z LP−1 g zP gdx + LPgxP −1 g dz = rc ≡ µe − P gx ◦ P −1 g z

(33)

別の探索方向

F に対する Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z Lzdx + Lxdz = rc ≡ µe − x ◦ z ~ w w  Fg に対する Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z LP−1 g zP gdx + LPgxP −1 g dz = rc ≡ µe − P gx ◦ P −1 g z

(34)

別の探索方向

コンパクト計算 1. B := AP −g 1L −1 P−1 g zLPgxP −1 g A ∗ 2. s := −rp + AP −1 g L −1 P−1 g z(rc + LPgxP −1 g rd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := P −g 1L−1 P−1 g z(rc − LPgxP −1 g dz) B L−1 P−1 g z が消えるような g ∈ K を持ってくると良い B HKM 方向では  g := z1/2 P−g 1L−1 P−1 g zLPgxP −1 g = Qx,z−1 B NT 方向では  P −g 1z = P gx P−g 1L−1 P−1 g zLPgxP −1 g = P −2 g

(35)

別の探索方向

コンパクト計算 1. B := AP −g 1L −1 P−1 g zLPgxP −1 g A ∗ 2. s := −rp + AP −1 g L −1 P−1 g z(rc + LPgxP −1 g rd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := P −g 1L−1 P−1 g z(rc − LPgxP −1 g dz) B L−1 P−1 g z が消えるような g ∈ K を持ってくると良い B HKM 方向では  g := z1/2 P−g 1L−1 P−1 g zLPgxP −1 g = Qx,z−1 B NT 方向では  P −g 1z = P gx P−g 1L−1 P−1 g zLPgxP −1 g = P −2 g

(36)

別の探索方向

コンパクト計算 1. B := AP −g 1L −1 P−1 g zLPgxP −1 g A ∗ 2. s := −rp + AP −1 g L −1 P−1 g z(rc + LPgxP −1 g rd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := P −g 1L−1 P−1 g z(rc − LPgxP −1 g dz) B L−1 P−1 g z が消えるような g ∈ K を持ってくると良い B HKM 方向では  g := z1/2 P−g 1L−1 P−1 g zLPgxP −1 g = Qx,z−1 B NT 方向では  P −g 1z = P gx

(37)

HKM

方向

Newton 方程式 Adx = rp ≡ b − Ax A∗dy − dz = rd ≡ c − A ∗ y + z P z1/2dx + P z1/2Q x,z−1dz = rc ≡ µe − P z1/2x コンパクト計算 1. B := AQx,z−1A ∗ 2. s := −rp + A(P −1 z1/2rc + Qx,z−1rd) 3. 線形方程式 Bdy = s 4. dz := A∗dy − rd 5. dx := P −1 r − Q dz

(38)

ステップサイズ

x + αdx ∈ K を満たす最大の α は? x + αdx ∈ K ⇐⇒ P x1/2(e + αP −1 x1/2dx) ∈ K ⇐⇒ e + αP −x11/2dx ∈ K ⇐⇒ λk(e + αP −1 x1/2dx) ≥ 0 ⇐⇒ 1 + αλk(P −1 x1/2dx) ≥ 0 λ := λmin(P −1 x1/2dx) として、 α =    −1 λ (λ < 0) ∞ (λ ≥ 0)

(39)

LP

の場合

線形空間 <n = {(x i) | xi ∈ < (i = 1, 2, · · · , n)} Euclid 的 Jordan 代数 (xi) ◦ (yi) = (xiyi) 単位元 e e = (1) x の逆元 (xi)−1 = (1/xi) 対称錐 K = {(xi) ∈ <n | x i ≥ 0} 非負領域 Lx L(xi) = diag(xi) P x P (xi) = diag(x2i )

Qx,y Q(xi),(yi) = diag(xiyi)

固有値分解 (xi) = n X k=1 xkek 内積 hx, yi h(xi), (yi)i = xT y

(40)

SOCP

の場合

線形空間 <n = (  x0 x1   x0 ∈ <, x1 ∈ <n−1 ) Euclid 的 Jordan 代数 x0 x1 ! ◦ y0 y1 ! = x0y0 + x T 1 y1 x0y1 + y0x1 ! 単位元 e 1 0 ! x の逆元 J x xTJ x 対称錐 K = {x | x0 pxT 1 x1} 2次錐領域 ただし、J = 0 @ 1 0T 1 A

(41)

SOCP

の場合

Lx x0 x T 1 x1 x0I ! P x 2xxT − (xT J x)J Qx,y xyT + yxT − (xT J y)J 固有値分解   x0 x1   = (x0 + p xT1 x1)   1 2 x1 2√xT 1 x1   + (x0 − p xT1 x1)   1 2 −x1 2√xT 1 x1   内積 hx, yi 2xT y

(42)

SDP

の場合

線形空間 Sn = {X ∈ <n×n | X = XT

}

Euclid 的 Jordan 代数 X ◦ Y = (XY + Y X)/2

単位元 e I x の逆元 X の逆元 = X−1 対称錐 K = {X ∈ Sn | X は半正定値 } Lx (I ⊗ X + X ⊗ I)/2 P x X ⊗ X Qx,y (X ⊗ Y + Y ⊗ X)/2 固有値分解 X = n X k=1 λkvkvTk 内積 hx, yi n X i,j=1 XijYij

参照

関連したドキュメント

Max-flow min-cut theorem and faster algorithms in a circular disk failure model, INFOCOM 2014...

水平方向設計震度 機器重量 重力加速度 据付面から重心までの距離 転倒支点から機器重心までの距離 (X軸側)

  ア 雨戸無し面格子無し    イ 雨戸無し面格子有り    ウ 雨戸有り鏡板無し 

[r]

基本的金融サービスへのアクセスに問題が生じている状態を、英語では financial exclusion 、その解消を financial

学期 指導計画(学習内容) 小学校との連携 評価の観点 評価基準 主な評価方法 主な判定基準. (おおむね満足できる

番号 主な意見 対応方法等..

論点 概要 見直しの方向性(案) ご意見等.