34
Newton’s method Dec. 6, 2019 来嶋 秀治 (Shuji Kijima) システム情報科学研究院 情報学部門 Dept. Informatics, ISEE 数理計画法 (Mathematical Programming) #8 Nonlinear Programming

数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

Newton’s method

Dec. 6, 2019

来嶋秀治 (Shuji Kijima)

システム情報科学研究院情報学部門

Dept. Informatics, ISEE

数理計画法 (Mathematical Programming)

#8 Nonlinear Programming

Page 2: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

KKT条件とLagrange関数

復習

Page 3: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

不等式条件付き最小化とKKT条件3

次の4つをKKT条件(Karush-Kuhn-Tucker condition)という.

• 𝛻𝑓 𝑥 + σ𝑖=1𝑚 𝜆𝑖𝛻𝑔𝑖 𝑥 = 0

• 𝜆𝑖𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

• 𝑔𝑖 𝑥 ≤ 0 𝑖 = 1,… ,𝑚

• 𝜆𝑖 ≥ 0 𝑖 = 1,… ,𝑚

定理(極小解の必要条件)

(ちょっとした条件の下で)極小解𝑥∗において,

KKT条件を満たす𝝀 = 𝜆1, … , 𝜆𝑚 が存在する.

KKTベクトルと呼ぶ.

Kuhn, H. W.; Tucker, A. W. (1951). "Nonlinear programming". Proceedings of 2nd Berkeley Symposium. Berkeley: University of California Press. pp. 481–492. MR 0047303.

W. Karush (1939). "Minima of Functions of Several Variables with Inequalities as Side Constraints". M.Sc. Dissertation. Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois.

1. 𝑔 𝑥 ≤ 0を満たす条件の下、

2. 𝑥が境界 𝑔𝑖 𝑥 = 0にあるとき、

3. −𝛻𝑓と−σ𝑖=1𝑚 𝜆𝑖𝛻𝑔𝑖 𝑥 が釣り合う

min. 𝑓 𝒙 s. t. 𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,2,… ,𝑚

Page 4: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

Lagrange関数とKKT条件4

KKT condition(L形式)

• 𝛻𝒙𝐿 𝒙, 𝝀 = 0,

• 𝛻𝝀𝐿 𝒙, 𝝀 ⊤𝝀 = 0,

• 𝛻𝝀𝐿 𝒙, 𝝀 ≤ 0,

• 𝝀 ≥ 0

(recall) KKT condition

• 𝛻𝑓 𝑥 + σ𝑖=1𝑚 𝜆i𝛻𝑔𝑖 𝑥 = 0,

• σ𝑖=1𝑚 𝜆𝑖𝑔𝑖 𝑥 = 0,

• 𝑔𝑖 𝑥 ≤ 0,

• 𝝀 ≥ 0

Lagrange function

𝐿 𝒙, 𝝀 = 𝑓 𝑥 +

𝑖=1

𝑚

𝜆𝑖𝑔𝑖 𝑥

Page 5: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

Lagrange関数(Lagrange緩和)5

Lagrange function

𝐿 𝒙, 𝝀 = 𝑓 𝑥 +

𝑖=1

𝑚

𝜆𝑖𝑔𝑖 𝑥

命題 (Lagrange緩和)

max𝝀≥𝟎

𝐿 𝒙, 𝝀 = ቊ𝑓 𝒙 𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,… ,𝑚 のとき

+∞ 上記以外の時

証明

• ∀𝑖, 𝑔𝑖 𝒙 ≤ 0のとき,𝐿(𝑥, 𝜆)最大は𝝀 = 𝟎.

• ∃𝑖, 𝑔𝑖 𝑥 > 0のとき,𝜆𝑖 → ∞とすれば𝐿 𝑥, 𝜆 → ∞.

min. 𝑓 𝒙 s. t. 𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,2,… ,𝑚 は

min𝒙

max𝝀≥𝟎

𝐿 𝒙, 𝝀 と等価

Page 6: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

弱双対定理6

補題max𝝀≥𝟎

min𝒙∈ℝ𝑛

𝐿 𝒙, 𝝀 ≤ min𝒙∈ℝ𝑛

max𝝀≥𝟎

𝐿 𝒙, 𝝀

証明.内側から順に示す.

1. ∀𝑥, 𝜆, min𝒙′∈ℝ𝑛

𝐿 𝒙′, 𝝀 ≤ 𝐿 𝒙, 𝝀

Minの定義より.

2. ∀𝑥,max𝝀≥𝟎

min𝒙′∈ℝ𝑛

𝐿 𝒙′, 𝝀 ≤ max𝝀≥𝟎

𝐿 𝒙, 𝝀

max𝝀≥𝟎

min𝒙′∈ℝ𝑛

𝐿 𝒙′, 𝝀 ≤ 𝐿 𝒙, 𝝀∗ ≤ max𝝀≥𝟎

𝐿 𝒙, 𝝀

最初の不等号は1より.ただし𝝀∗は左辺のargmax.

2個目の不等号はmaxの定義より.

3. max𝝀≥𝟎

min𝒙′∈ℝ𝑛

𝐿 𝒙′, 𝝀 ≤ min𝒙∈ℝ𝒏

max𝝀≥𝟎

𝐿 𝒙, 𝝀

2は任意の𝒙で成り立つので.

Page 7: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

“Lagrange双対”7

𝐹 𝑥 = max𝝀≥𝟎

𝐿 𝑥, 𝝀 = ቊ𝑓 𝒙 𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,… ,𝑚 のとき

+∞ 上記以外の時ത𝐹 𝜆 = min

𝑥𝐿 𝑥, 𝜆

とするとmin𝑥

𝐹 𝑥 ≥ max𝜆≥0

ത𝐹 𝜆

主問題

min. 𝑓 𝑥 s. t. 𝑔𝑖 𝑥 ≤ 0

双対問題

max. 𝑓 𝑥∗ + σ𝑖=1𝑚 𝜆𝑖𝑔𝑖 𝑥

∗ s. t. 𝑥∗ = argmin𝑥

𝑓 𝑥 + σ𝑖=1𝑚 𝜆𝑖𝑔𝑖 𝑥 , 𝜆 ≥ 0

Page 8: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

LPのLagrange双対8

min. 𝑐⊤𝑥s. t. 𝐴𝑥 ≥ 𝑏

𝑥 ≥ 0

𝐿 𝒙, 𝒚, 𝒔 = 𝒄⊤𝒙 + 𝒚⊤ 𝒃 − 𝐴𝒙 − 𝒔⊤𝒙= 𝒃⊤𝒚 + 𝒄 − 𝐴⊤𝒚 − 𝒔 ⊤𝒙

ラグランジュ双対問題max𝒚,𝒔≥0

ത𝐹 𝒚, 𝒔 = max𝑦,𝑠≥0

min𝑥∈ℝ𝑛

𝐿 𝑥, 𝑦, 𝑠

= ቐmax𝒚,𝒔≥0

𝑏⊤𝑦 𝒄 − 𝐴⊤𝒚 − 𝒔 = 0のとき

−∞ それ以外

すなわち,ラグランジュ双対問題は𝑚𝑎𝑥. 𝒃⊤𝒚 𝑠. 𝑡. 𝒄 − 𝐴⊤𝒚 − 𝒔 = 𝟎, 𝒚 ≥ 𝟎, 𝒔 ≥ 𝟎

Page 9: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

等式制約

Page 10: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

等式制約の場合のKKT条件10

min. 𝑓 𝒙 s. t. 𝑔𝑖 𝒙 = 0 𝑖 = 1,2,… ,𝑚

min. 𝑓 𝒙s. t. 𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,2, … ,𝑚

−𝑔𝑖 𝒙 ≤ 0 𝑖 = 1,2, … ,𝑚

KKT条件

• 𝛻𝑓 𝑥 + σ𝑖=1𝑚 𝜆𝑖

+ − 𝜆𝑖− 𝛻𝑔𝑖 𝑥 = 0

• 𝜆𝑖+𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

• 𝜆𝑖−𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

• 𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

• 𝜆𝑖+, 𝜆𝑖

− ≥ 0 𝑖 = 1,… ,𝑚

KKT条件(等式制約)

𝛻𝑓 𝑥 +

𝑖=1

𝑚

𝜆𝑖𝛻𝑔𝑖 𝑥 = 0

𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

𝜆𝑖 ≔ 𝜆𝑖+ − 𝜆𝑖

連立方程式を解けばよい!

(ラグランジュの未定乗数法)

Page 11: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

例111

min. 𝑥2 + 𝑦2 + 𝑧2 s. t. 6𝑥 + 3𝑦 + 4𝑧 = 61

等式制約のKKT条件を書き下すと2𝑥2𝑦2𝑧

+ 𝜆634

= 0

となる.これは𝑥 = −3𝜆, 𝑦 = −3

2𝜆, 𝑧 = −2𝜆を表す.

これを制約式に代入すれば,𝜆 = −2が得られる.したがって最適解は 6,3,4 となる.

Recall. KKT条件(等式制約)

𝛻𝑓 𝑥 +

𝑖=1

𝑚

𝜆𝑖𝛻𝑔𝑖 𝑥 = 0

𝑔𝑖 𝑥 = 0 𝑖 = 1,… ,𝑚

Page 12: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン・ラフソン法

(Newton-Raphson method)

連立方程式を解くための手法

Page 13: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法13

Newton法 (1変数)

パラメータ𝜖 (0 < 𝜖 ≪ 1)と初期解𝑥0 ∈ ℝは適当に与える.

For(𝑘 = 0,1,2,…)

Set 𝑥𝑘+1 = 𝑥𝑘 −𝑓 𝑥𝑘

𝑓′ 𝑥𝑘

If 𝑓 𝑥𝑘+1 < 𝜖 then 𝑥𝑘+1を出力して停止.

つまり,−𝑓′ 𝑥𝑘 𝑥𝑘+1 − 𝑥𝑘 + 𝑓 𝑥𝑘 = 0

問. 𝑓 𝑥 = 0を満たす𝑥をひとつ求めよ.

Page 14: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法14

1. 𝑓 𝑥 = 𝑥2 − 2 = 0を解いてみる.

𝑥0 = 2とする.このとき,𝑓 𝑥0 = 2, 𝑓′ 𝑥0 = 2𝑥0 = 4.

𝑥1 = 𝑥0 −𝑓 𝑥0

𝑓′ 𝑥0= 1.5.このとき,𝑓 𝑥1 = 0.25, 𝑓′ 𝑥1 = 3.

𝑥2 = 𝑥1 −𝑓 𝑥1

𝑓′ 𝑥1= 1.41666.このとき,𝑓 𝑥2 ≃ 0.00692, 𝑓′ 𝑥2 = 2.83.

𝑥3 = 𝑥2 −𝑓 𝑥2

𝑓′ 𝑥2= 1.414215.このとき,𝑓 𝑥3 ≃ 0.000004066 ≃ 4.1 × 10−6.

2. 𝑓 𝑥 = 𝑥4 − 2𝑥3 − 3𝑥2 + 4𝑥 + 1を解いてみる

初期点𝑥0 = 4とする.

Page 15: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法(2次元ver.)15連立方程式

ቊ𝑓1 𝑥, 𝑦 = 0

𝑓2 𝑥, 𝑦 = 0

を解くためのアルゴリズム.

Newton法 (2変数)

パラメータ𝜖 (0 < 𝜖 ≪ 1)と初期解 𝑥0, 𝑦0 ∈ ℝ2は適当に与える.

For(𝑘 = 0,1,2, …)

Set 𝑥𝑘+1

𝑦𝑘+1=

𝑥𝑘

𝑦𝑘− 𝐽−1

𝑓1(𝑥𝑘, 𝑦𝑘)

𝑓2 𝑥𝑘, 𝑦𝑘

where 𝐽 =

𝜕𝑓1 𝑥𝑘,𝑦𝑘

𝜕𝑥

𝜕𝑓1 𝑥𝑘,𝑦𝑘

𝜕𝑦

𝜕𝑓2 𝑥𝑘,𝑦𝑘

𝜕𝑥

𝜕𝑓2 𝑥𝑘,𝑦𝑘

𝜕𝑦

If 𝑓 𝑥𝑘+1, 𝑦𝑘+1 < 𝜖 then (𝑥𝑘+1 , 𝑦𝑘+1)を出力して停止.

つまり,変数𝑥𝑘+1, 𝑦𝑘+1に関する線形連立方程式

𝜕𝑓1 𝑥𝑘, 𝑦𝑘

𝜕𝑥

𝜕𝑓1 𝑥𝑘, 𝑦𝑘

𝜕𝑦

𝜕𝑓2 𝑥𝑘, 𝑦𝑘

𝜕𝑥

𝜕𝑓2 𝑥𝑘, 𝑦𝑘

𝜕𝑦

𝑥𝑘+1

𝑦𝑘+1−

𝑥𝑘

𝑦𝑘+

𝑓1 𝑥𝑘

𝑓2 𝑥𝑘= 0

Page 16: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法(𝑛次元ver.)16

𝑓𝑖: ℝ𝑛 → ℝ (𝑖 = 1,… , 𝑛)に対して,

連立方程式𝒇 𝒙 =𝑓1(𝒙)⋮

𝑓𝑛 𝒙= 𝟎を解くためのアルゴリズム.

Newton法 (𝑛変数)

パラメータ𝜖 (0 < 𝜖 ≪ 1)と初期解𝒙0 = 𝑥10, … , 𝑥𝑛

0 ∈ ℝ𝑛は適当に与える.

For(𝑘 = 0,1,2, …)

Set 𝑥1𝑘+1

⋮𝑥𝑛𝑘+1

=𝑥1𝑘

⋮𝑥𝑛𝑘

−𝛻𝑓1 𝒙𝑘

𝛻𝑓𝑛 𝒙𝑘⊤

−1

𝑓1 𝒙𝑘

⋮𝑓𝑛 𝒙𝑘

If 𝑓 𝒙𝑘+1 < 𝜖 then 𝒙𝑘+1を出力して停止.

つまり,変数

−𝛻𝑓1 𝑥𝑘

𝛻𝑓𝑛 𝑥𝑘⊤

𝑥1𝑘+1

⋮𝑥𝑛𝑘+1

−𝑥1𝑘

⋮𝑥𝑛𝑘

+𝑓1(𝒙)⋮

𝑓𝑛 𝒙= 0

Page 17: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法(最適化ver.)

Page 18: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法(最適化 ver.)18

ニュートン法(最適化)

入力: 関数𝑓, 𝛻𝑓, H𝑓, 初期点𝒙.

Step 0: 𝑘 = 0とする.

Step 1: 𝒙𝑘が最適解に十分近ければ終了.

Step 2: ニュートン方向𝒅𝑘 = −H−1𝛻𝑓 𝒙𝑘 を計算する.

ただしH = H𝑓 𝒙𝑘

Step 3: 𝒙𝑘+1 ← 𝒙𝑘 + 𝒅𝑘.

Step 4: 𝑘 ← 𝑘 + 1としてStep 1へ.

Page 19: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法19

実際 𝒈 𝒙 = 𝛻𝑓 𝒙 と置く,つまり, 𝑔 𝑥 =𝑔1 𝑥⋮

𝑔𝑛(𝑥)=

𝜕𝑓 𝑥

𝜕𝑥1

⋮𝜕𝑓 𝑥

𝜕𝑥𝑛

,このとき,

𝛻𝑔1 𝒙𝑘⊤

𝛻𝑔𝑛 𝒙𝑘⊤

=

𝜕𝑔1 𝑥

𝜕𝑥1⋯

𝜕𝑔1 𝑥

𝜕𝑥𝑛⋮

𝜕𝑔𝑛 𝑥

𝜕𝑥1⋯

𝜕𝑔𝑛 𝑥

𝜕𝑥𝑛

=

𝜕𝑓 𝑥

𝜕𝑥12 ⋯

𝜕𝑓 𝑥

𝜕𝑥1𝜕𝑥𝑛⋮

𝜕𝑓 𝑥

𝜕𝑥𝑛𝜕𝑥1⋯

𝜕𝑓 𝑥

𝜕𝑥𝑛2

= H𝑓 𝑥

となり,𝛻𝑓 𝒙 = 𝟎に対するNewton Raphsonであることが確認できる.

Note

ニュートン法(最適化)は,連立方程式 𝛻𝑓 𝑥 =

𝜕𝑓 𝑥

𝜕𝑥1

⋮𝜕𝑓 𝑥

𝜕𝑥𝑛

= 0を解いている.

Page 20: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

凸解析 (convex analysis)

凸集合上の凸関数の極小値=最小値

Page 21: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

凸集合21

集合𝐹 ⊆ ℝ𝑛の任意の2点𝑥, 𝑦, 任意の0 ≤ 𝑡 ≤ 1に対して𝑡𝑥 + 1 − 𝑡 𝑦 ∈ 𝐹

が成り立つとき,𝐹を凸集合(convex set)と呼ぶ.

定理

凸集合と凸集合の交わりは凸集合である.

分離定理

𝐹 ⊆ ℝ𝑛を閉凸集合とし,𝒛 ∈ ℝ𝑛 ∖ 𝐹とする.このとき,次を満たすベクトル𝒂およびスカラー𝜃が存在する.

∀𝒙 ∈ 𝐹, 𝒂⊤𝒛 < 𝜃 < 𝒂⊤𝒙.

Page 22: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

凸関数22

関数𝑓:ℝ𝑛 → ℝが,任意の点𝒙, 𝒙,任意の0 ≤ 𝑡 ≤ 1に対し,

1 − 𝑡 𝑓 𝒙 + 𝑡𝑓 𝒙 ≥ 𝑓 1 − 𝑡 𝒙 + 𝑡𝒙

を満たす時,𝑓を凸関数(convex function)と呼ぶ.

実数値関数𝑓:ℝ𝑛 → ℝが与えられたとき,集合𝒙, 𝑦 ∈ ℝ𝑛 × ℝ 𝑦 ≥ 𝑓(𝒙)

をエピグラフ(epigraph)と呼ぶ.

定理

実数値関数𝑓:ℝ𝑛 → ℝが凸関数であることの必要条文条件は𝑓のエピグラフが凸集合であることである.

Page 23: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

凸関数と1階微分の関係23

定理

開凸集合𝐹上で定義された1回連続微分可能な関数𝑓

が凸関数であることの必要十分条件は,任意の𝑥, 𝑥 ∈ 𝐹に対して

𝑓 𝑥 ≥ 𝑓 𝑥 + 𝛻𝑓 𝑥 ⊤ 𝑥 − 𝑥

が成り立つことである.

Page 24: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

凸関数と2階微分の関係24

定理

開凸集合𝐹上で定義された2回連続微分可能な関数𝑓が凸関数である必要十分条件はすべての𝑥 ∈ 𝐹に対してH𝑓(𝑥)が半正定値であることである.

証明

𝑓が凸関数であると仮定し,定義域内の点𝑥および任意の単位長さのベクトル𝑑をとる.定義域が開集合なので,𝜖 > 0を十分小さくとれば𝑥 + 𝜖𝑑は定義域に含まれる.この時1階微分の定理より

𝑓 𝒙 + 𝜖𝒅 ≥ 𝑓 𝒙 + 𝜖𝛻𝑓 𝒙 ⊤𝒅

が成り立つ.一方,𝑓をテイラー展開すると,

𝑓 𝒙 + 𝜖𝒅 = 𝑓 𝒙 + 𝜖𝛻𝑓 𝒙 ⊤𝒅 +𝜖2

2𝒅⊤H𝑓 𝒙 𝒅 + o 𝜖2

であるので,𝜖2

2𝒅⊤H𝑓 𝒙 𝒅 + o 𝜖2 ≥ 0

である.両辺を2/𝜖2で割り,𝜖 → 0とすれば,𝒅⊤H𝑓 𝒙 𝒅 ≥ 0を得る.逆の証明は易しい.

Page 25: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

大域的最適解25

定理

𝑓は凸関数とし,𝑆は凸集合とする.このとき,

min. 𝑓 𝑥 𝑠. 𝑡. 𝑥 ∈ 𝑆の極小解(local minimum)は

大域的最小解(global minimum)である.

Page 26: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

発展的話題26

問題クラス

凸計画

• 錘計画(conic programming: CP)

• 半正定値計画(semidefinite programming: SDP)

• 2次錘計画(second-order cone programming: SOCP)

• 凸2次計画(convex quadratic programming: QP)

• 線形計画(linear programming: LP)

解法

• ニュートン法

• 内点法

• ヒューリスティクス(局所探索, tabu search, GA,粒子群 etc. )

• 高速自動微分

Page 27: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

狭義凸2次関数

Page 28: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

狭義凸2次関数28

関数𝑓:ℝ𝑛 → ℝは 𝑉 ∈ ℝ𝑛×𝑛, 𝑐 ∈ ℝ𝑛, 𝑐0 ∈ ℝを用いて

𝑓 𝑥 =1

2𝑥⊤𝑉𝑥 + 𝑐⊤𝑥 + 𝑐0

とする.行列𝑉が対称正定値のとき,関数𝑓は狭義凸2次関数(strictly convex quadratic function)と呼ばれる.

田村,村松「最適化法」例3.2.

Page 29: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

最小点29

命題. 狭義凸2次関数𝑓: ℝ𝑛 → ℝは

𝑓 𝒙 =1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0

とする.この時,𝑓の最小点は𝒙∗ = −𝑉−1𝒄である.

田村,村松「最適化法」例3.6.

証明

𝑓を成分を使って書くと

𝑓 𝒙 =1

2

𝑖=1

𝑛

𝑗=1

𝑛

𝑉𝑖𝑗𝑥𝑖𝑥𝑗 +

𝑖=1

𝑛

𝑐𝑖𝑥𝑖 + 𝑐0

である.勾配ベクトルは

𝛻𝑓 𝒙 =

𝑗=1

𝑛

𝑉1𝑗𝑥1𝑥𝑗 + 𝑐1

𝑗=1

𝑛

𝑉𝑛𝑗𝑥𝑛𝑥𝑗 + 𝑐𝑛

= 𝑉𝒙 + 𝒄

となる.𝛻𝑓 𝒙 = 0となるのは𝒙∗ = −𝑉−1𝒄だけである.

2次の最適解の十分条件より題意を得る.

Page 30: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

最急降下30

点𝒙における勾配ベクトルは𝑉𝒙 + 𝒄.

直線探索方向 𝒅 = −𝑉𝒙 − 𝑐とおくと,

𝑓 𝒙 + 𝛼𝒅 =1

2𝒙 + 𝛼𝒅 ⊤𝑉 𝒙 + 𝛼𝒅 + 𝒄⊤ 𝒙 + 𝛼𝒅 + 𝑐0

=1

2𝛼2𝒅⊤𝑉𝒅 − 𝛼 𝒅 2 +

1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0

となり,これは𝛼の2次関数.

最小となるのは𝛼 =𝒅 2

𝒅⊤𝑉𝒅のときである.

田村,村松「最適化法」例3.7.

狭義凸2次関数𝑓: ℝ𝑛 → ℝは

𝑓 𝒙 =1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0

とする.この時,𝑓の最急降下法を考える.

Page 31: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

ニュートン法31田村,村松「最適化法」例3.9.

点𝒙0を初期点とする.

ニュートン方向は𝒅 = −H𝑓 𝒙0 −1𝛻𝑓 𝒙0

= −𝑉−1 𝑉𝒙0 + 𝒄= −𝒙0 − 𝑉−1𝒄

となる.これより,𝒙1 = 𝒙0 + 𝒅

= 𝒙0 − 𝒙0 − 𝑉−1𝒄= −𝑉−1𝒄

これは𝑓の最適解(例3.6参照).

狭義凸2次関数𝑓: ℝ𝑛 → ℝは

𝑓 𝒙 =1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0

とする.この時,𝑓のニュートン法を考える.

つまり,ニュートン法(最適化ver.)は与えられた関数𝑔:ℝ𝑛 → ℝをTaylor展開で2次関数に

近似して,その最小点を探していると見ることもできる.

ニュートン法(方程式ver.)が線形関数に近似

して,その解を求めているのと同じことを言っている.

Page 32: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

制約あり

Page 33: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

未定乗数法33

min.1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0 s. t. 𝐴𝒙 = 𝒃

• 目的関数の勾配ベクトルは𝛻𝑓 𝒙 = 𝑉𝒙 + 𝒄.

未定乗数の条件は

𝑉𝒙 + 𝒄 + 𝐴⊤𝝀 = 0 (1)

𝐴𝒙 = 𝒃 (2)

• (1)式の両辺に𝐴𝑉−1を左からかけ*, (2)式を代入すると,𝒃 + 𝐴𝑉−1𝒄 + 𝐴𝑉−1𝐴⊤𝝀 = 𝟎

𝑉は正定値だから逆行列をもつことに注意

𝐴のランクが𝑚のとき,𝑚 ×𝑚行列𝐴𝑉−1𝐴⊤は正則.

• 方程式を解くと,𝝀 = − 𝐴𝑉−1𝐴⊤ −1 𝒃 + 𝐴𝑉−1𝒄𝒙 = −𝑉−1𝒄 + 𝑉−1𝐴⊤ 𝐴𝑉−1𝐴⊤ −1 𝒃 + 𝐴𝑉−1𝒄

最適解𝒙を得る.

田村,村松「最適化法」例題3.5.

Page 34: 数理計画法 (Mathematical Programming) Dec. 6, 2019 #8 Nonlinear Programmingtcs.inf.kyushu-u.ac.jp/~kijima/MP19/MP19-08J.pdf · 2019-12-05 · Newton’s method Dec. 6, 2019 来嶋秀治(Shuji

Lagrange双対34

𝐿 𝒙, 𝒚, 𝒔 =1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0 + 𝒚⊤ 𝒃 − 𝐴𝒙 − 𝒔⊤𝒙

=1

2𝒙⊤𝑉𝒙 + 𝒄 − 𝐴⊤𝒚 − 𝒔 ⊤𝒙 + 𝑐0 + 𝒃⊤𝒚

となる.これは𝒙に関する狭義凸2次関数だから,例3.6より

min𝑥

𝐿 𝒙, 𝒚, 𝒔 = −1

2𝒄 − 𝐴⊤𝒚 − 𝒔 ⊤𝑉−1 𝒄 − 𝐴⊤𝒚 − 𝒔 + 𝑐0 + 𝒃⊤𝒚

となる.したがって,𝒖 = 𝒄 − 𝐴⊤𝒚 − 𝒔とおけば,双対問題は

max. −1

2𝒖⊤𝑉−1 𝒖 + 𝒃⊤𝒚 + 𝑐0 s. t. 𝒄 − 𝐴⊤𝒚 − 𝒔 = 𝒖, 𝒔 ≥ 𝟎

となる.すなわち,線形制約狭義凸2次計画の双対問題はやはり線形制約狭義凸2次計画となる.

min.1

2𝒙⊤𝑉𝒙 + 𝒄⊤𝒙 + 𝑐0 s. t. 𝐴𝒙 = 𝒃, 𝒙 ≥ 𝟎のLagrange双対を求める.

田村,村松「最適化法」例3.15.