Page 1
1
第 3章
数理計画法の基礎
第 2章では有限次元ベクトル空間上の最適化問題について最小点であれば成り立つ条件 (最小点の必要条件) と最小点であることを保証する条件 (最小点の十分条件) についてみてきた.そこでは,必要条件や十分条件が最適化問題の解法を考える際にどのように使われるのかを解説したのみであった.本章では,実際に最小点をみつける方法 (数値解法) に焦点をあてたい.ここでは,それらの方法の考え方や基礎となる理論を示した後で本書で注目するアルゴリズムを示すことにする. ここで示される内容の多くは第 7章の抽象的最適設計問題でも有効である.第 7章では,関数空間を舞台にして同じアルゴリズムが成り立つことをみることになる.
3.1 問題設定最適設計問題は,第 1章でみてきたように,評価関数 f0, · · · , fm に対して等式制約 (状態方程式) を含む不等式制約問題であるとみなすことができる.そのような問題では,2.8 節でみてきたように,設計変数を x = (ξ,u)
T ∈ Ξ × U のようにかいて,f0 (ξ,u), · · · , fm (ξ,u) を ξ の関数 f0 (ξ), · · · , fm (ξ) とみなし,ξ に対する Frechet
微分が評価できることを確認した.Frechet 微分は随伴変数法で求めることができた.本章では,設計変数 ξ ∈ Ξ を x ∈ X = Rd とかき,f0, · · · , fm を f0, · · · , fm とかき,それらの x に対する Frechet 微分を g0, · · · , gm とかくことにして,等式制約を含まない形式で問題をかくことにしよう.すなわち,次の問題を考えることにする.
問題 3.1 (最適化問題) X = Rd とする.f0, · · · , fm ∈ C1 (X;R) に対して,
minx∈X
{f0 (x) | fi (x) ≤ 0, i ∈ {1, · · · ,m}}
を満たす x を求めよ.
Page 2
2 第 3章 数理計画法の基礎
本章では,3.2 で非線形最適化問題の基本的な考え方である反復法の定義と収束性に関する定義を示す.その後,3.3 から 3.5 において制約なし問題に対する数値解法の基本的な原理についてみていくことにする.不等式制約付きの問題 3.1の数値解法は,それらを踏まえて 3.6 において解説することにする.
3.2 反復法評価関数は微分可能であると仮定して,勾配を用いた数値解法を考えよう.次の方法は,そのときの基本となる考え方である.
定義 3.1 (反復法) 問題 3.1 に対して,ある x0 ∈ X を選び,y ∈ X と ϵ > 0 を決めながら, k ∈ {0, 1, 2, · · · } として,
xk+1 = xk + ϵy
を求めていく方法を反復法という.y ∈ X を探索ベクトル,ϵ をステップサイズという.
特に,規準化された探索ベクトル y ∈ ∂BX (0X , 1) = {y ∈ X | ∥y∥X = 1} を探索方向という.本教材では,通常 y ∈ X を規準化されていない探索ベクトルの意味で用いるが,規準化された探索方向の意味で用いる場合には y ∈ ∂BX (0X , 1) のように明記することにする.なお,反復法に対して,決められた有限回の手順で解を求める方法を直接法という.直接法は,主に線形最適化問題に対して想定される方法なので,本書では省略する.後の議論のために,反復法の特徴や性能を表す用語について定義しておこう.
定義 3.2 (大域的収束性) 初期点が最小点から十分離れていても,最小点に収束する性質があるとき,反復法は大域的収束性をもつという.
定義 3.3 (収束率) x を最小点, {xk}k∈N を反復法で得られた点列とする.このとき,ある正整数 k0 がとれて,任意の k ≥ k0 に対して,rk ∈ (0, 1) として
∥xk+1 − x∥ < rk ∥xk − x∥p .
が成り立つとき,p をそのアルゴリズムの収束次数という.また,{rk}k∈N が 0 に収束するとき,超 p 次収束という.
Page 3
3.3 勾配法 3
g
X
f
y2@BX(0X,1)
X 0
kgk X 0
x
R
図 3.1 勾配 g の定義
3.3 勾配法反復法を使うためには探索ベクトルを求める方法とステップサイズを決める方法を定めなければならない.最初に,探索ベクトルをみつける方法の一つとして,勾配法についてみてみよう.ここでは,1つの評価関数 fi が最小点に向かうような点列 {xk}k∈N を勾配 gi を使って求めることを考えることにする.3.3 から 3.5 までは,制約なしの問題を考えることから,fi, gi を単に f , g のようにかくことにする.ここで示される方法は,問題 3.1 においてすべての不等式制約が無効の場合に使われるだけでなく,3.6 において不等式制約が有効な場合にも利用されることになる.まず,図 3.1 と 3.2 をみながらある試行点 x (g (x) = 0X) から f が減少する方向
yg を求めることを考えよう.ここで,勾配 g (x) は既知とする.g (x) は次のような意味をもつ.図 3.1 の ∂BX (0X , 1) は 0X ∈ X を原点とする半径 1 の近傍集合の境界を表すことにする.なお,本書では,x ∈ X を中心にした半径 δ > 0 の近傍集合{y ∈ X | ∥y − x∥X < δ} を BX (x, δ) とかくことを標準にする.さらに,ある領域に対して ∂ が付けられた場合は,その領域の境界であることを表すことにする.そこで,図 3.1 は,x ∈ X から大きさ 1 の範囲で任意の方向 y ∈ ∂BX (0X , 1) に変動したときに,f の値が変動したときの最大値が勾配の大きさ ∥g∥X′ になることを表して
Page 4
4 第 3章 数理計画法の基礎
X 0
g
X
f
yg
x
R
q
図 3.2 勾配法
いる.実際,f を x の周りで Taylor 展開すれば,
f (z) = f (x) + g (x) · y + o (∥y∥)
とかける.ここで, 任意の ∥y∥X = 1 なる y に対して g (x) · y が最大となる値は,∥g∥X′ に等しいことになる.その値は,定義域を ∂BX (0X , 1) に限定したときの x
における f の接面における値の中で f が最大となるときの f (x) からの f の変動値に等しいことがわかる.したがって,
yg = −g (x) (3.1)
のように選べば,
f (z)− f (x) = −∥∥yg
∥∥2X+ o
(∥∥yg
∥∥)となり,
∥∥yg
∥∥ が十分小さければ,f が減少することになる.この方法を一般化しよう.探索ベクトルを次の問題の解 yg ∈ X としてもとめる方法を勾配法という.
問題 3.2 (勾配法) X = Rd とする.A ∈ Rd×d をある正定値実対称行列 (定義 2.4)
とする.ある x ∈ X における勾配 g ∈ X ′ = Rd が与えられたとき,任意の z ∈ X
に対して
yg ·Az = −g · z (3.2)
Page 5
3.3 勾配法 5
を満たす yg ∈ X を求めよ.
(3.2) は,変分方程式になっているが,
yg = −A−1g (3.3)
と同値である.そこで,(3.1) は A に単位行列 I を使った場合の勾配法であったことになる.問題 3.2 の解 yg が f を減少させることは,次の結果による.
定理 3.1 (勾配法) 問題 3.2 の解 yg は f の x における降下方向である.
(証明) A は正定値実対称行列なので,ある α > 0 が存在して,任意の z ∈ X に対して
z ·Az ≥ α ∥z∥2 , A = AT
が成り立つ.そこで,yg は (3.2) を満たすので,
f(x+ yg
)− f (x) = g · yg + o
(∥∥yg
∥∥) = −yg ·Ayg + o(∥∥yg
∥∥)≤ −α
∥∥yg
∥∥2 + o(∥∥yg
∥∥)が成り立つ. □
さらに,問題 3.2 は,
q(x+ yg
)= min
z∈X
{q (x+ z) =
1
2z ·Az + g · z + f (x)
}(3.4)
を満たす yg ∈ X を求めることとも同値である.図 3.2 にそのときの関数 q を示す.ここで,q は楕円放物面で,その最小点が x+ yg になっている点に注意してほしい.yg の大きさは A の選び方によって決まることになる.さらに,探索ベクトルの降下角を次のように定義しよう.
定義 3.4 (降下角) g ∈ X を x ∈ X における勾配,yg を探索ベクトルとするとき,
cos θ = −g · yg∥∥yg
∥∥ ∥g∥で定義された θ ∈ [0, π] を yg の降下角という.
ここで,正定値実対称行列 A ∈ Rd×d = I (単位行列) のとき,θ = 0 となる.このときの反復法を最急降下法という.
Page 6
6 第 3章 数理計画法の基礎
3.4 ステップサイズの規準3.3 節では勾配 g が与えられたときに,探索ベクトル yg ∈ X をどのように求めるのかをみてきた.次に,ステップサイズを決める方法を考えよう.探索ベクトル yg ∈ X が既知であれば,変数はステップサイズだけである.そこで,ステップサイズを次の問題の解として求める方法が考えられる.この方法を厳密直線探索法という.
問題 3.3 (厳密直線探索法) X = Rd とする.f ∈ C1 (X;R), x ∈ X と yg ∈ X が与えられたとき,
minϵ∈(0,∞)
f(x+ ϵyg
)を満たす ϵ を求めよ.
厳密直線探索法には次のような方法が知られている.
• 黄金分割探索法• セカント法
前者は 1次収束,後者は超 1次収束すること知られている.しかし, x においては探索方向が最急降下方向と一致していても,x+ ϵyg ではその保証はなくなる.したがって,厳密直線探索を正確に行うメリットは少ない.そこで,本書では説明を省略する.最適化問題を 2次最適化問題に限定すれば,最急降下法と厳密直線探索法を組み合わせたときの反復法に対する収束性を評価することができる.2次最適化問題の厳密直線探索法は次のように定義される.
問題 3.4 (2次最適化問題の厳密直線探索法) X = Rd とする.A ∈ Rd×d を正定値実対称行列,b ∈ X を定数ベクトルとして,評価関数を
f (x) =1
2x ·Ax+ b · x (3.5)
とおく.このとき,ある x ∈ X に対して最急降下法により yg ∈ X を求め,問題 3.3
を満たす ϵ を求めよ.
(解答) 最急降下法では yg = −g = − (Ax+ b) とおく.f(x+ ϵyg
)= f (ϵ) とみなせば,
f (ϵ) =1
2
(x+ ϵyg
)·A(x+ ϵyg
)+ b ·
(x+ ϵyg
)
Page 7
3.4 ステップサイズの規準 7
= ϵ21
2yg ·Ayg + ϵyg · g + f (x)
とかける.厳密直線探索法では,
df
dϵ= ϵyg ·Ayg + yg · g = 0
により ϵ を決定する.すなわち
ϵ = −yg · g
yg ·Ayg
=g · gg ·Ag
=g · g
yg ·Ayg
(3.6)
を得る. □
このように問題 3.4 の解 ϵ を求めていくとき,収束性について次の結果を得る.
定理 3.2 (厳密直線探索法を用いた最急降下法の収束性) 問題 3.4 の解 yg ∈ X と ϵ
を用いた反復法によって生成される点列 {xk}k∈N は
∥xk+1 − x∥A ≤∣∣∣∣λd − λ1
λ1 + λd
∣∣∣∣ ∥xk − x∥A
を満たす.ただし,x は最小点,λ1, λd は A の最小および最大固有値,∥x∥A =√x ·Ax とする.
(証明) 問題 3.4 の目的関数は
f (x) =1
2
(x+A−1b
)·A(x+A−1b
)− 1
2b ·A−1b
とかける.したがって,x+A−1b を新たに x に置き直せば,
f (x) =1
2x ·Ax
の最小点を求める問題となる.g = gk = Axk とかくとき,最急降下法より,yk = −gk を得る.さらに,厳密直線探索法の結果, (3.6) より,
xk+1 = xk +gk · gk
gk ·Agk
yk
によって点列が生成される.このとき,
f (xk+1) =1
2
(xk − gk · gk
gk ·Agk
gk
)·A(xk − gk · gk
gk ·Agk
gk
)=
1
2xk ·Axk − 2 (gk · gk) (gk ·Axk)− (gk · gk)
2
2gk ·Agk
=1
2xk ·Axk
(1− (gk · gk)
2
(xk ·Axk) (gk ·Agk)
)
Page 8
8 第 3章 数理計画法の基礎
0 ²
f(x)
f(x+²1y){f(x)=»g(x)¢(²1yg)<0
g(x)¢(²1yg)<0
²1
図 3.3 Armijo の規準
=
(1− (gk · gk)
2(gk ·A−1gk
)(gk ·Agk)
)f (xk)
が成り立つ.ここで,任意の y ∈ X に対して,Kantorovich の不等式
4λ1λd
(λ1 + λd)2 ≤ (y · y)2(
y ·A−1y)(y ·Ay)
が成り立つことを用いれば,
f (xk+1) ≤(1− 4λ1λd
(λ1 + λd)2
)f (xk) =
(λd − λ1
λ1 + λd
)2
f (xk)
となる. □
次に,大域的収束性を保証する条件について考えよう.ϵ の上限を与える条件として次のような Armijo の規準が知られている [1].
定義 3.5 (Armijo の規準) g (x) を f (x) の勾配,yg を探索ベクトル,ξ ∈ (0, 1)
を定数として,
f(x+ ϵyg
)− f (x) ≤ ξg ·
(ϵyg
)(3.7)
を満たすように ϵ > 0 を決める.
Armijo の規準を満たす ϵ の上限値を ϵ1 とすれば,図 3.3 のようになる.(3.7) の左辺は x が ϵyg だけ変動したときに非線形関数 f が実際に減少した値を表している.それに対して右辺の g ·
(ϵyg
)(< 0) は,勾配を使って f の減少を予測した値を表して
いる.ϵ が十分小さければ両者は一致するはずであるが,ϵ がある大きさをもつときには異なってくる.ξ はその許容値を与えている.したがって,Armijo の規準は,勾配
Page 9
3.4 ステップサイズの規準 9
1
2
0 ²²1
g(x)¢(²1yg)<0
f(x)
図 3.4 2次関数に対する Armijo の規準
を使った予測値が f の実際の値からおおきく外れない程度にステップサイズを決めるための条件を与えていることになる.ξ → 0 は条件を緩めることになる.また,ξ の目安として,次の結果が参考になる.f (x) が 2次関数ならば,ξ = 1/2
のときの Armijo の規準の上限値を ϵ1 とするとき,x + ϵ1yg が f の最小点となる(図 3.4).実際,(3.5) の 2次関数に対して
f(x+ ϵ1yg
)− f (x) = g (x) ·
(ϵ1yg
)+
1
2
(ϵ1yg
)·A
(ϵ1yg
)が成り立つ.ここで,x+ ϵ1yg が最小点ならば,g (x) の Taylor 展開について
g(x+ ϵ1yg
)= g (x) +A
(ϵ1yg
)= 0X′
が成り立つ.これらの式より
f(x+ ϵ1yg
)− f (x) =
1
2g (x) ·
(ϵ1yg
)を得るからである.一方,ϵ の下限を与える条件として次のようなWolfe の規準が知られている [8].
定義 3.6 (Wolfe の規準) g (x) ∈ X を勾配,yg を探索ベクトル,µ ∈ (0, 1) をArmijo の規準で用いた ξ ∈ (0, 1) に対して 0 < ξ < µ < 1 を満たす定数として,
µg (x) · yg ≤ g(x+ ϵyg
)· yg (3.8)
を満たように ϵ > 0 を決める.
Wolfe の規準を満たす ϵ の下限値を ϵ0 とすれば,図 3.5 のようになる.(3.8) 左辺の g (x) は,x における勾配を表しているのに対して,右辺の g
(x+ ϵyg
)は x が
Page 10
10 第 3章 数理計画法の基礎
0
¹g(x)¢(²0yg)=g(x+²0y)¢(²0yg)<0
²²0
f(x) g(x)¢(²0yg)<0
図 3.5 Wolfe の規準
ϵyg だけ変動したときに実際に更新された f の勾配を表している.f が減少しながら収束する方向に yg がとられていれば,µ = 1 のとき ϵ ≥ 0 で成り立たつ.しかし,µ < 1 ならば ϵ > 0 を大きくとらなければ (3.8) は成り立たない.このように Wolfe
の規準は f の非線形性による勾配の変化がある程度現れるまでステップサイズを大きくとることを要請する条件になっている.ξ < µ は ϵ0 < ϵ1 の条件を与えている.Armijo の規準と Wolfe の規準を用いれば,大域的収束性について次の結果を得る.
定理 3.3 (大域的収束定理) f は下界を持ち,ある x0 ∈ X の水準集合L = {x ∈ X | f (x) ≤ f (x0)} の近傍で連続微分可能,g (x) はその近傍でLipschitz 連続 (定義 4.13) とする.xk における探索ベクトルを ygk として,cos θk > 0 を満たすとする.ステップサイズ ϵ は Armijo の規準と Wolfe の規準を満たすとする.このとき,勾配法で生成される点列 {xk}k∈N は∑
k∈N
∥g (xk)∥2 cos2 θk < ∞ (3.9)
を満たす.
(証明) Armijo の規準より,{xk}k∈N は水準集合に含まれる.Wolfe の規準より,
(µ− 1) g (xk) · yg ≤ (g (xk+1)− g (xk)) · yg
が成り立つ.一方,g が Lipschitz 連続であることから,ある β > 0 に対して
(g (xk+1)− g (xk)) · yg ≤ β ∥xk+1 − xk∥∥∥yg
∥∥ = ϵβ∥∥yg
∥∥2が成り立つ.これらの式より,
ϵ ≥(g (xk+1)− g (xk)) · yg
β∥∥yg
∥∥2 ≥(µ− 1) g (xk) · yg
β∥∥yg
∥∥2
Page 11
3.4 ステップサイズの規準 11
を得る.この式を Armijo の規準に代入すれば,
f (xk+1) ≤ f (xk) + ξϵg (xk) · yg = f (xk)− ξµ− 1
β
(g (xk) · yg∥∥yg
∥∥)2
= f (xk)− ξµ− 1
β∥g (xk)∥2 cos2 θk
となる.したがって,
f (xm+1) ≤ f (x)− ξµ− 1
β
∑k∈{0,··· ,m}
∥g (xk)∥2 cos2 θk
が成り立つ.f (x) は下に有界であることから,定理の式が成り立つ. □
(3.9) は Zoutendijk 条件とよばれる.定理 3.3 の結果と,無限級数が収束するための必要条件 limk→∞ ∥g (xk)∥2 cos2 θk = 0 を用いて,次の結果を得る.
系 3.1 (大域的収束定理) 定理 3.3 の仮定に加えて,yg は −g (xk) と直角に交わる方向に漸近することがないとき,すなわち cos θk > 0 のとき,
limk→∞
g (xk) = 0X′
が成り立つ.
この結果は,問題設定が適切であれば,勾配法で探索ベクトルを求め,Armijo の規準とWolfe の規準を満たすようにステップサイズをとれば,生成される点列 {xk}k∈N
は大域的収束性をもつことを示している.この節の最後に,勾配法を拡張した方法として共役勾配法を紹介しておこう.
定義 3.7 (共役) A ∈ Rd×d をある正定値実対称行列とする.x,y ∈ X に対してx ·Ay = 0 のとき, x と y は共役であるという.
定義 3.8 (共役勾配法) 問題 3.4 に対して,x0 を適当に選び,yg0 = −g (x0) = −b
とおいて,厳密直線探索法を使いながら,k ∈ {0, 1, 2, · · · } に対して,yg k+1 を ygk
と共役になるように構成していく方法を共役勾配法という.
共役勾配法の一例を示す.x = 0X,yg0 = −g0 = −g (x) = −b として,k ∈{0, 1, 2, · · · } に対して
ϵk =gk · gk
ygk ·Aygk
(3.10)
Page 12
12 第 3章 数理計画法の基礎
²0y0
²1y1
x0
図 3.6 共役勾配法
βk =gk+1 · gk+1
gk · gk
(3.11)
を用いて,
xk+1 = xk + ϵkygk (3.12)
gk+1 = gk + ϵkAygk (3.13)
yg k+1 = −gk+1 + βkygk (3.14)
のように点列を構成すれば,ygk と yg k+1 は共役になる (演習問題 (2)).また,同値な表現として,Fletcher-Reeves 公式
βk =gk · gk
gk−1 · gk−1
や Polak-Ribiere 公式
βk =gk ·
(gk − gk−1
)gk−1 · gk−1
などが知られている.これらの公式は,2次最適化問題 3.4 に対しては同値でも,そうではない非線形最適化問題に gk = g (xk) として適用した場合には,異なる結果となる.
3.5 Newton 法勾配法では勾配 g だけを用いて探索ベクトルを求め,ステップサイズは別の方法で決めていた.ここでは,Hesse 行列 H も使って,ステップサイズも含めた探索ベクトルを求める方法を考えてみよう.その方法は Newton 法とよばれる.Newton 法は,
Page 13
3.5 Newton 法 13
g (x) の Taylor 展開
g(x+ yg
)= g (x) +H (x)yg = 0X′
より探索ベクトル yg ∈ X を求める方法で,次のように定義される.
問題 3.5 (Newton 法) X = Rd とする.f ∈ C2 (X;R), g と H をある x のときの勾配と Hesse 行列とする.任意の z ∈ X に対して
yg ·Hz = −g · z (3.15)
を満たすように yg ∈ X を求めよ.
Newton 法は,定義 3.2 の勾配法において,正定値実対称行列 A を Hesse 行列におきかえて,ϵ = 1 とおいた方法になっている.Newton 法について次の結果を得る.
定理 3.4 (Newton 法) f は最小点 x の近傍で 2 階微分可能,Hesse 行列 H はLipschitz 連続 (定義 4.13),かつ H は正則とする.このとき,最小点に十分近い点を x0 にして,Newton 法で生成された点列 {xk}k∈N は x に 2次収束する.
(証明) 最小点 x の近傍で Hesse 行列 H は Lipschitz 連続,かつ H は正則であることから,ある β > 0 に対して∥∥H (
yg
)−H (x)
∥∥ ≤ β ∥xk − x∥ < ∥H (x)∥ (3.16)
を満たすように最小点に十分近い点 xk = yg をとる.ただし,∥H∥ = maxyg∈BX (0X ,1)
∥∥Hyg
∥∥とする.このとき,
xk+1 − x = yg −H−1g(yg
)− x+H−1g (x)
= H−1 {g (x)− g(yg
)−H
(yg − x
)}(3.17)
が成り立つ.一方,∥∥g (x)− g(yg
)−H
(yg − x
)∥∥=
∥∥∥∥∫ 1
0
(H(x+ t
(yg − x
))−H
)dt(yg − x
)∥∥∥∥≤∥∥yg − x
∥∥ ∫ 1
0
∥∥H (x+ t
(yg − x
))−H
∥∥ dt
≤∥∥yg − x
∥∥ ∫ 1
0
β∥∥yg − x
∥∥ (1− t) dt
=1
2β∥∥yg − x
∥∥2
Page 14
14 第 3章 数理計画法の基礎
x
f(x)
x0 x1x2x
f(x)
x0 x1
(a) 収束しない場合 (b) 最大値に収束する場合
図 3.7 Newton 法
が成り立つ.したがって, (3.16) と (3.17) より
∥xk+1 − x∥ <1
2β∥∥yg − x
∥∥2 ∥H∥−1 <1
2
∥∥yg − x∥∥
が成り立つ. □
Newton 法について,次のことを指摘しておこう.
注意 3.1 (Newton 法) Newton 法は次の性質をもつ.
(1) Newton 法は 2次収束する.(2) しかし,Newton 法は Hesse 行列の計算を必要とする.通常,この計算負荷は
d の増加に伴って d2 に比例しておおきくなる.(3) 評価関数によっては Newton 法では収束しないことがある.また,極大点に収束することがある (図 3.7).
(4) Hesse 行列 H ∈ Rn×n が特異行列になることがある.特異行列でなくても,行列の条件数が大きくなり,逆行列の計算が困難になることがある.
(5) 問題 3.2 の勾配法と問題 3.5 の Newton 法の比較から,勾配法は,Hesse 行列の代わりにある正定値実対称行列を用いた方法になっている.このことから,勾配法は修正 Newton 法とみなすことができる.
Newton 法では Hesse 行列を求める計算が必要であった.Hesse 行列を求めないで,探索ベクトルが Newton 法の探索ベクトルに漸近するような性質を備えた探索ベクトルの計算法も提案されている.それらを準 Newton 法とよぶ.代表的な更新公式は次のとおりであるが,本書ではこれらの詳細を省略する.
• Davidon-Fletcher-Powell 法• Broyden-Fletcher-Goldfalb-Shanno 法• Broyden 法
Page 15
3.6 不等式制約問題の解法 15
3.6 不等式制約問題の解法問題 3.1 に戻って,最小点で不等式制約が有効となる場合を考えよう.不等式制約付きの最適化問題に対する解法を考えるとき,次の 2とおりの方法が考えられる.
(1) 制約関数に重み定数をかけて目的関数に加えることで制約なし問題におきかえる方法
(2) KKT 条件を用いる方法
以下では,これらの方法について解説する.3.6.1 項で紹介する拡大関数法は (1) である.3.6.2 項と 3.6.3 項で示す Newton 法と逐次 2次近似法は (2) に属する.なお,本書では,特に逐次 2次近似法に注目し,そのアルゴリズムを 3.6.4 項に示す.(1) を用いない理由は,拡大関数法の説明を終えた後で記すことにしよう.
3.6.1 拡大関数法まず,制約関数に重み定数をかけて目的関数に加えることで制約なし問題におきかえる方法について考えてみよう.それらの方法は,拡大関数法とよばれ,次のような 2
つの方法がある.それらの方法は,問題 3.1 に対して次のようにかくことができる.
定義 3.9 (障壁法, 内点法) {ρk}k∈N をある正値をとる単調減少数列とする.k ∈{1, 2, · · · } に対して,fi (x0) < 0, i ∈ {1, · · · ,m}, を満たすある x0 から反復法で
fk (x, ρk) = f0 (x)− ρk∑
i∈{1,··· ,m}
log (−fi (x))
の最小点を求め,その点列 {xk}k∈N の収束点を見つける方法を障壁法あるいは内点法という.
定義 3.10 (罰金法, 外点法) {ρk}k∈N をある正値をとる単調増加数列とする.k ∈{1, 2, · · · } に対して
fk (x, ρk) = f0 (x) + ρk∑
i∈{1,··· ,m}
max {0, fi (x)}
の最小点を求め,その点列 {xk}k∈N の収束点を見つける方法を罰金法あるいは外点法という.
Page 16
16 第 3章 数理計画法の基礎
以上の定義からわかるように,拡大関数法では単調減少 (増加) 数列 {ρk}k∈N を適切に選ぶことが必要で,その選び方には工夫がいる.このような方法が有効に機能する場合も少なくないが,本書ではそのような工夫を必要としない方法に注目することにしよう.
3.6.2 Newton 法次に,KKT 条件を用いた方法について考えてみよう.最初に,Lagrange 関数の
Hesse 行列が計算できるような理想的な条件の下で,Newton 法を用いればどのような解法になるのかをみてみよう.問題 3.1 に対する Lagrange 関数を
L (x,λ) = f0 (x) +∑
i∈{1,··· ,m}
λifi (x) (3.18)
とおく.λ = (λ1, · · · , λm)T ∈ Rm は fi (x) ≤ 0, i ∈ {1, · · · ,m},に対する Lagrange
乗数である.問題 3.1 に対する KKT 条件は,
g0 (x) +∑
i∈{1,··· ,m}
λigi (x) = 0X′ , (3.19)
fi (x) ≤ 0 i ∈ {1, · · · ,m} , (3.20)
λifi (x) = 0 i ∈ {1, · · · ,m} , (3.21)
λi ≥ 0 i ∈ {1, · · · ,m} (3.22)
となる.不等式制約問題に対する Newton法は,最小点ではない xにおける L (x,λ)
の勾配
gL = Lx (x,λ) = g0 (x) +∑
i∈{1,··· ,m}
λigi (x) ,
Lλi (x,λ) = fi (x) i ∈ {1, · · · ,m}
と L (x,λ) の Hesse 行列(LxxT (x,λ) LxλT (x,λ)LλxT (x,λ) LλλT (x,λ)
)=
(HL (x,λ) GT (x)
G (x) 0Rm×Rm
)を求め,x+ yg, λ+ µ において KKT 条件
gL
(x+ yg,λ+ µ
)= gL (x,λ) +HL (x,λ)yg +GT (x)µ = 0X′ ,
Page 17
3.6 不等式制約問題の解法 17
fi(x+ yg,λ+ µ
)= fi (x) +
∑i∈{1,··· ,m}
gi (x) · yg (x) ≤ 0 i ∈ {1, · · · ,m} ,
(λi + µi)(fi (x) + gi (x) · yg
)= 0 i ∈ {1, · · · ,m} ,
λi + µi ≥ 0 i ∈ {1, · · · ,m}
を満たすように(yg,µ
)∈ X ×Rm を求める方法であると考える.ただし,GT (x) =
(g1 (x) , · · · , gm (x)) とかいた.ここで,λk+1 = λ+ µ とかけば,上式は,
HL (x,λ)yg + g0 (x) +GT (x)λk+1 = 0X′ , (3.23)
fi + gi (x) · yg ≤ 0 i ∈ {1, · · · ,m} , (3.24)
(λi k+1)(fi (x) + gi (x) · yg
)= 0 i ∈ {1, · · · ,m} , (3.25)
λi k+1 ≥ 0 i ∈ {1, · · · ,m} (3.26)
とかける.さらに,(3.23) から (3.26) は次の問題の KKT 条件と一致する.
問題 3.6 (不等式制約問題に対する Newton 法) 問題 3.1 において,ある (x,λ) のときの fi ≤ 0, i ∈ {1, · · · ,m}, g1, · · · , gm, HL を既知とする.このとき,
minyg∈X
{q(yg
)=
1
2yg ·HL yg + g0 · yg
∣∣∣∣ fi + gi · yg ≤ 0, i ∈ {1, · · · ,m}}
を満たす yg を求めよ.
以上の定義を用いて問題 3.6の解法を考えよう.不等式制約がすべて有効で,fi = 0,
i ∈ {1, · · · ,m}, であるとすれば,(3.23) と (3.25) は(HL GT
G 0Rm×Rm
)(yg
λk+1
)= −
(g0
0Rm
)(3.27)
とかける.g1, · · · , gm が 1次独立,かつ HL が正則ならば,(3.27) は yg と λk+1
について可解となる.そこで,まず (3.27) を解く.もしも,λi k+1 < 0 となる制約があるときは,λi k+1 = 0 として,その制約を取り除いて (3.27) を解き直す.その結果,λk+1 ≥ 0Rm を満たす解
(yg,λk+1
)がみつかったとする.その上で
fi (x) + gi · yg < 0 となる制約に対して λi k+1 = 0 とおく.これらの処理が終了すれば,(3.23) から (3.26) を満たす
(yg,λk+1
)が得られることになる.
制約問題に対する Newton 法について,次のことがいえる.
(1) 注意 3.1 で示した性質がここでも成り立つ.(2) それに対して,後で示す逐次 2次近似法は,Hesse 行列 HL の代わりにある正定値実対称行列を用いる.このことから,逐次 2次近似法は,制約問題に対する修正 Newton 法とみなすことができる.
Page 18
18 第 3章 数理計画法の基礎
3.6.3 逐次 2次近似法不等式制約問題に対する Newton 法において Hesse 行列を正定値実対称行列におきかえることで不等式制約問題に対する勾配法を構成することができる.その方法を逐次 2次近似法という.勾配法は (3.4) のような近似 2次関数に Newton 法を適用した方法である.ここでは,不等式制約を 1次関数で近似して,評価関数を (3.4) のような近似 2次関数で構成した次の問題を考えよう.
問題 3.7 (逐次 2次近似問題) 問題 3.1 において,A ∈ Rd×d をある正定値実対称行列,γ をステップサイズ
∥∥yg
∥∥ を調整する正定数とする.ある x において,fi ≤ 0,
i ∈ {1, · · · ,m}, g0, · · · , gm が与えられたとき,
minyg∈X
{q(yg
)=
γ
2yg ·Ayg + g0 · yg
∣∣∣ fi + gi · yg ≤ 0, i ∈ {1, · · · ,m}}
を満たす yg を求めよ.
問題 3.7 は凸最適化問題である.したがって,KKT 条件を満たす yg は問題 3.7
の最小点となる.そこで,KKT 条件を満たす yg をみつける方法を考えよう.問題 3.7 の Lagrange 関数を
LSQ
(yg,λ
)= q
(yg
)+
∑i∈{1,··· ,m}
λi
(fi (x) + gi · yg
)とおく.ただし,λ = (λ1, · · · , λm)
T ∈ Rm は Lagrange 乗数である.問題 3.7 に対する KKT 条件は
γAyg + g0 +∑
i∈{1,··· ,m}
λigi = 0X′ , (3.28)
fi (x) + gi · yg ≤ 0 i ∈ {1, · · · ,m} , (3.29)
λi
(fi (x) + gi · yg
)= 0 i ∈ {1, · · · ,m} , (3.30)
λi ≥ 0 i ∈ {1, · · · ,m} (3.31)
となる.(3.23) から (3.26) と (3.28) から (3.31) の類似性に注目すれば,(3.27) に対応する方程式を用いて問題 3.7 を解くことができる.このとき,ϵ をステップサイズの指定値とする場合は
∥∥yg
∥∥X
= ϵ となるように γ を調整するものとする.しかし,ここでは別の方法を考えよう.g0, g1, · · · , gm に対して,個別に勾配法を適用する.すなわち,ある正定値実対称行列 A ∈ Rd×d に対して,
γAygi = −gi (3.32)
Page 19
3.6 不等式制約問題の解法 19
を満たすように yg0, · · · , ygm を求める.ここで,λ ∈ Rm を未知数として,
yg = yg0 +∑
i∈{1,··· ,m}
λiygi (3.33)
とおく.このとき,yg は (3.28) を満たす.そこで,(3.29) から (3.31) を満たす yg
を求めよう.(3.29) はg1 · yg1 · · · g1 · ygm...
. . ....
gm · yg1 · · · gm · ygm
λ1
...λm
= −
f1 + g1 · yg0...
fm + gm · yg0
となる.この式を(
gi · ygj
)ij(λj)j = −
(fi + gi · yg0
)i
(3.34)
とかく.g1, · · · , gm が 1 次独立ならば,(3.34) は λ について可解となる.さらに,fi (x) = 0, i ∈ {1, · · · ,m}, ならば,(3.34) を満たす λ は,
∥∥yg
∥∥Xとは独立に,(
gi · ygj
)ij(λj)j = −
(gi · yg0
)i
(3.35)
によって求めることができる.これらの関係を用いて,γ と λ の求め方について考えてみよう. ϵ をステップサイズ
∥∥yg
∥∥Xに対して指定した初期値とする.しかし,初期値 x0 に対して λ を
適切に決定するまでは,∥∥yg
∥∥Xを計算することはできない.そこで,
∥∥yg
∥∥Xに依
存しない方法で λ を決定したい.そのために,(3.35) が使えるように,x0 に対して fi (x) = 0, i ∈ {1, · · · ,m}, が成り立つことを仮定する.もしも,成り立たない場合は,目的関数を無視してすべての制約を満たす解をみつけることを優先させてfi (x) = 0, i ∈ {1, · · · ,m}, を満たすようにすればよい.それができない場合は,問題設定において Slater 制約想定 (定理 2.19) が満たされない問題になっていることが疑われる.本題に戻ろう.fi (x) = 0, i ∈ {1, · · · ,m}, が成り立つとき,γ = 1 とおいて (3.32) で yg0, · · · , ygm を求めたとしても,(3.35) は
∥∥yg
∥∥Xに依存しないこと
から,(3.35) で適切な λ を決定できることになる.その際,fi < 0 なる制約に対しては λi = 0 とおき,fi = 0 なる制約のみに対して (3.35) で λi を求めるようにすれば,x0 における KKT 条件を満たす λ が決定されることになる.λ が決定されれば (3.33) により yg を計算できる.そこで初回には,与えられたステップサイズ ϵ に対して,γ = ϵ/
∥∥yg
∥∥Xとおき,ygi := γygi, i ∈ {0, · · · ,m}, とお
くことで,適切な大きさの yg0, · · · , ygm を求めることができる.なお,本書では,:= を代入を表す記号として用いることにする.
Page 20
20 第 3章 数理計画法の基礎
適切な大きさの yg0, · · · , ygm が得られれば,(3.34) で x + yg における λ を求めることができる.ただし,ここでは,fi + gi · yg0 < 0 となる制約を取り除いて,λi = 0 とおき,残りの制約に対する (3.34) を解くことで (3.28) から (3.31) を満たすλ を得ることができる.また,x+ yg において確実に制約 fi (x) = 0, i ∈ {1, · · · ,m}, が満たされるようにするためには,λ のときの yg を yg (λ) と表すことにして(
gi · ygj
)ij(δλj)j = −
(fi(x+ yg (λ)
))i
(3.36)
によって δλ = (δλ1, · · · , δλm)T を求め,λ := λ+ δλ で更新する方法が考えられる.
詳しくは後のアルゴリズムの中で示すことにする.なお,(3.36) の左辺を x+ yg (λ)
のときの値に更新すれば収束性は高まるが,計算負荷は大きくなる.さらに,大域的収束性を保証するために,定理 3.3 より,Armijo の規準とWolfe の規準を満たすようにステップサイズ
∥∥yg
∥∥X
(すなわち γ) を決定することを考えよう.ここで,λk+1 は x+ yg に対する KKT 条件を満たすと仮定する.このとき,(3.18)
の L (x,λ) に対して,Armijo の規準は ξ ∈ (0, 1) に対して
L(x+ yg,λk+1
)− L (x,λ) ≤ ξ
g0 +∑
i∈{1,··· ,m}
λigi
· yg (3.37)
となる.また,Wolfe の規準は µ, 0 < ξ < µ < 1, に対して
µ
g0 +∑
i∈{1,··· ,m}
λigi
· yg
≤
g0
(x+ yg
)+
∑i∈{1,··· ,m}
λk+1gi
(x+ yg
) · yg (3.38)
で与えられる.
3.6.4 アルゴリズム3.6.3 でみてきたことを踏まえて,逐次 2次近似法によるアルゴリズムの一例を示してみよう.概要を図 3.8 に示す.詳細を以下に示す.
アルゴリズム 3.1 (逐次 2次近似法) 問題 3.1 の最小点を次のようにして求める.
Page 21
3.6 不等式制約問題の解法 21
出力Yes
終了条件
主問題と随伴問題を解く.評価関数と微分を計算する.
初期設定
Lagrange 乗数を求める.
暫定的に設計変数を更新する.主問題と随伴問題を解く.評価関数と微分を計算する.
Yes
No
No設計変数の更新
ステップサイズの条件
評価関数ごとに勾配法で設計変数の変動方向を求める.
図 3.8 逐次 2次近似法のアルゴリズム
(1) 初期値 x0 を fi (x0) ≤ 0, i ∈ {1, · · · ,m}, を満たすように定める.初期ステップサイズ ϵ > 0,収束判定値 ϵ0 > 0 および Armijo と Wolfe の規準値 ξ と µ
(0 < ξ < µ < 1) を定める.γ = 1 および k = 0 とおく.(2) x0 において f0, · · · , fm および g0, · · · , gm を計算する.(3) (3.32) で yg0, · · · , ygm を計算する.
• k = 1 のとき,次の計算を行う.fi < 0 なる制約に対しては λi = 0 とおく.fi = 0 なる制約に対する (3.35) で λi を求める.λ−1 = λ とおく.(3.33) で yg を求める.γ = ϵ/
∥∥yg
∥∥X, ygi := γygi, i ∈ {0, · · · ,m}, と
おく.(4) fi + gi · yg0 < 0 なる制約に対して λi = 0 とおき,fi + gi · yg0 ≥ 0 なる制約に対する (3.34) で λi を求める.• すべての i ∈ {1, · · · ,m} に対して λi ≥ 0 が満たされたとき,次に進む.• そうではないとき,さらに λi < 0なる制約に対して λi = 0とおき,λi ≥ 0
Page 22
22 第 3章 数理計画法の基礎
なる制約に対する (3.34) で λi を求めることをすべての i ∈ {1, · · · ,m}に対して λi ≥ 0 が満たされるまで繰り返す.
(5) (3.33) で yg を求め,xk + yg において f0, · · · , fm を計算する.• λi > 0 の fi に対して fi ≤ 0 ならば,次に進む.• そうではないとき,(∗) λi < 0 なる制約に対して λi = 0, δλi = 0 とおき,λi ≥ 0 なる制約に対する (3.36) で δλi を求め,λ := λ+ δλ とおく.(3.33) で yg を求め,xk + yg において f0, · · · , fm を計算する.すべての i ∈ {1, · · · ,m} に対して fi ≤ 0 が満たされなければ (∗) に戻る.
(6) xk + yg において g0, · · · , gm を計算する.• Armijo の規準 (3.37) が満たされていれば,次に進む.そうではないとき,α < 1 として γ := αγ, ygi := αygi, i ∈ {0, · · · ,m}, とおき,4 に戻る.
• (選択) Wolfe の規準 (3.38) が満たされていれば,次に進む.そうではないとき,β > 1 として γ := βγ, ygi := βygi, i ∈ {0, · · · ,m}, とおき,4
に戻る.(7) xk+1 = xk + yg, λk = λ として,停止条件 |f0 (xk+1)− f0 (xk)| ≤ ϵ0 を評価する.• 停止条件が満たされたとき,計算を終了する.そうではないとき,k := k+1
とおき,3 に戻る.
3.7 第 3章のまとめ有限次元ベクトル空間上の非線形最適化問題における勾配を利用して最小点を求める方法についてみてきた.
(1) 非線形最適化問題の解法には基本的に反復法が使われる.反復法は,探索ベクトルとステップサイズを求めて,近似点を更新していく方法である.
(2) 制約なし最適化問題に対して,評価関数の勾配が求められていれば,探索方向を勾配法で求めることができる.
(3) Armijo の規準と Wolfe の規準を満たすようにステップサイズを決定した反復法は大域的収束性をもつ.
(4) Newton 法の解は 2次収束する.しかし,収束域は一般に狭い.修正 Newton
法は大域的収束性を持つ.勾配法は修正 Newton 法の一つと考えられる.(5) 制約付最適化問題に対しては,制約を満たす探索ベクトルを逐次 2次近似法により求めることができる.
Page 23
3.8 第 3章の演習問題 23
3.8 第 3章の演習問題(1) 制約なし非線形最適化問題を勾配法を用いた反復法で解くためのアルゴリズムを示せ.
(2) 共役勾配法 (定義 3.8) の一例として示された (3.12) から (3.14) までの式で計算される探索ベクトル yg k+1 は ygk と共役になることを確かめよ.
(3) 制約なし非線形最適化問題を Newton 法で解くためのアルゴリズムを示せ.
Page 25
25
参考文献
[1] L. Armijo. Minimization of functions having lipschitz-continuous first partial
derivatives. Pacific J. Math., Vol. 16, pp. 1–3, 1966.
[2] 藤田宏, 今野浩, 田邉國士. 最適化法. 岩波書店, 1994.
[3] G. L. Nemhauser, A. H. G. Rinnooy Kan, and M. J. Todd, editors. 最適化ハンドブック, 監訳: 伊理正夫, 今野浩, 刀根薫. 朝倉書店, 1995.
[4] 田村明久, 村松正和. 最適化法. 共立出版, 2002.
[5] J. F. Bonnan, J. C. Gilbert, C. Lemarechal, and C. A. Sagastizabal. Numerical
optimization : theoretical and practical aspects. McGraw-Hill, 2003.
[6] 矢部博. 工学基礎 : 最適化とその応用. 数理工学社, 2006.
[7] 山川 宏編集委員長. 最適設計ハンドブック : 基礎・戦略・応用. 朝倉書店, 2003.
[8] P. Wolfe. Convergence conditions for ascent methods. SIAM Review, Vol. 11,
pp. 226–235, 1969.