第3章非線形計画法の基礎 - 名大の授業 (nu...
TRANSCRIPT
. . . . . .
第 3章非線形計画法の基礎
畔上秀幸
名古屋大学情報科学研究科複雑系科学専攻
February 25, 2009
. . . . . .
§1 はじめに
目標有限次元ベクトル空間の非線形最適化問題の勾配を利用して最適解を求めるアルゴリズムについて理解する.
制約なし最適化問題に対して,勾配が評価できていれば,勾配法で設計変数の変動方向を決めることができる.ステップサイズは Armijoの規準とWolfeの規準を満たすように決定することで,大域的収束性が保障される.Newton法は 2次収束するが,一般に収束域が狭い.修正 Newton法は大域的収束性を持つ.制約付最適化問題は Lagrange乗数形式に修正 Newton法を適用した逐次 2次計画法(SQP法)により,制約を満たす設計変数の変動を決めることができる.
. . . . . .
§2非線形計画法の一般形
第 1章で定義した,制約なし問題を考えよう.
.
問題 2.1 (制約なし問題)
.
.
.
空ではない部分集合 S ⊂ Rn (n ∈ N)上で連続微分可能な非線形関数f (x) : Rn 3 x 7→ f ∈ Rが与えられたとき,次のような x? ∈ Sを求めよ.
f (x?) = minx∈S⊂Rn
f (x) �
目的関数あるいは制約関数の一部が非線形な最適化問題の解を求めるアルゴリズムを非線形計画法 (nonlinear programming)という.非線形計画法では,初期値 x0 ∈ Sから始めて,k = 0,1,2, · · · として,探索方向 hk ∈ Rnとステップサイズ εk > 0
(εk ∈ R
)を求めて,次式によって設
計変数を更新していくアルゴリズムが用いられる.
xk+1 = xk + εkhk
. . . . . .
アルゴリズムの収束性
最適解 x? ∈ Sから離れていても収束することを大域的収束性という.
最適解 x? ∈ Sと xk (k = 0,1,2, · · · )について次式を満たすとき,∥∥∥xk+1 − x?∥∥∥ < rk
∥∥∥xk − x?∥∥∥p
pを収束次数 (convergence order)という.また,{rk
}kが 0に収束
するとき,超 p次収束という.
. . . . . .
§3制約なし問題
問題 2.1に対して,勾配法を次のように定義する.
.
定義 3.1 (勾配法)
.
.
.
ある正定値対称行列 Hk ∈ Rn×nとする.すなわち,H は次の条件を満たす.
∃α > 0 : x · Hkx ≥ α ‖x‖2 ∀x ∈ Rn
問題 2.1の xk ∈ Sにおける勾配 ∇ f(xk
)∈ Rnとする.このとき,探索
方向 hk ∈ Rnを次式で決定する方法を勾配法 (gradient method)という.
hk = −(Hk
)−1∇ f(xk
)or
hk · Hky = −∇ f(xk
)· y ∀y ∈ Rn � (3.1)
. . . . . .
.
定理 3.1 (勾配法)
.
.
.
問題 2.1における関数 f (x)の xk ∈ Sにおける勾配 ∇ f(xk
)∈ Rnを既知
とする.ある正定値対称行列 H ∈ Rn×nを用いて,式 (3.1)を満たすhk ∈ Rnは関数 f (x)の xkにおける降下方向である.�
証明 次の関係が成り立つ.
f(xk + εhk
)− f
(xk
)= ε∇ f
(xk
)· hk + o(ε) = −εhk · Hhk + o(ε)
≤ −αε∥∥∥hk
∥∥∥2+ o(ε)
. . . . . .
.
定義 3.2 (降下方向)
.
.
.
問題 2.1の xk ∈ Sにおける勾配 ∇ f(xk
)∈ Rnとする.このとき次式の
θ ∈ [−π, π] を降下方向という.
cosθ = −∇ f
(xk
)· hk∥∥∥hk
∥∥∥ ∥∥∥∇ f(xk
)∥∥∥ � (3.2)
.
定義 3.3 (最急降下法)
.
.
.
定義 3.1の勾配法において,正定値対称行列 H ∈ Rn×n = I (I は単位行列)のとき,最急降下法という.すなわち,探索方向 hk ∈ Rnを次式で決定する.
hk = −∇ f(xk
)or
hk · y = −∇ f(xk
)· y ∀y ∈ Rn �
. . . . . .
Armijo の規準ステップサイズの上限条件として,Armijoの規準が知られている.
.
定義 3.4 (Armijoの規準)
.
.
.
問題 2.1の xk ∈ Sにおける勾配を ∇ f(xk
)∈ Rn,探索方向を hk ∈ Rn
とする次式を満たす α > 0に対して 0 < ε < αとなるように ε ∈ Rを決定する方法を Armijoの規準 (Armijo criterion)という.ただし,ξ ∈ (0,1)とする.
f(xk + εhk
)− f
(xk
)≤ ξ∇ f
(xk
)·(αhk
)�
f(xk) f(xk+αhk)−f(xk)
²α
∇f(xk)∙(αhk)
0
. . . . . .
特に, f (x)が 2次関数のとき,ξ = 1/2を用いたときの ε の上限 αが最小解 x? = xk + αhkとなる.実際, αに対して次式が成り立つ.
∇ f(xk + αhk
)= ∇ f
(xk
)+ ∇∇T f
(xk
) (αhk
)= 0
∴ f(xk + αhk
)− f
(xk
)= ∇ f
(xk
)·(αhk
)+
12
(αhk
)· ∇∇T f
(xk
) (αhk
)=
12∇ f
(xk
)·(αhk
)= ξ∇ f
(xk
)·(αhk
)
f(xk)∇f(xk)∙(αhk)
1
2
0 ²α
. . . . . .
Wolfe の規準ステップサイズの下限条件として,Wolfeの規準が知られている.
.
定義 3.5 (Wolfeの規準)
.
.
.
問題 2.1の xk ∈ Sにおける勾配を ∇ f(xk
)∈ Rn,探索方向を hk ∈ Rn
とする.次式を満たす α > 0に対して α < ε となるように ε ∈ Rを決定する方法をWolfeの規準 (Wolfe criterion)という.ただし,Armijoの規準で用いた ξ ∈ (0,1)に対して, ξ ∈ (0,1) 0< ξ < µ < 1とする.
µ∇ f(xk
)·(αhk
)≤ ∇ f
(xk + εhk
)·(αhk
)� (3.3)
f(xk)
∇f(xk)∙(αhk)
0
∇f(xk+αhk)∙(αhk)
²α
. . . . . .
大域的収束定理
.
定理 3.2 (大域的収束定理)
.
.
.
問題 2.1の f (x)が下界を持ち,水準集合 L ={x ∈ Rn| f (x) ≤ f (x0)
}の
近傍 U で連続微分可能,∇ f (x)が U で Lipschitz連続のとき,探索方向hkが降下方向であり,ステップサイズ ε が Armijoの規準とWolfeの規準を満たすならば,反復公式で生成される近似解の点列
{xk
}kに対して
次式が成り立つ.ただし,θkは式 (3.2)で定義する.
∞∑k=1
∥∥∥∥∇ f(xk
)∥∥∥∥2cos2 θk < ∞ � (3.4)
証明 文献 [1]定理 4.1参照
. . . . . .
もしも,探索方向 hkが最急降下方向 −∇ f(xk
)と直角に交わる方向に
漸近することがないならば,次の関係が成り立つ.
cosθk > 0 and∞∑
k=1
∥∥∥∥∇ f(xk
)∥∥∥∥2cos2 θk < ∞
⇒ limk→∞∇ f
(xk
)= 0
. . . . . .
Newton 法
次の関係を使って Newton法を定義する.
∇ f(xk + hk
)= ∇ f
(xk
)+ ∇∇T f
(xk
)hk = 0
.
定義 3.6 (Newton法)
.
.
.
問題 2.1の xk ∈ Sにおける勾配を ∇ f(xk
)∈ Rn, Hesse行列を
H(xk
)= ∇∇T f
(xk
)∈ Rn×nとする.このとき,探索方向 hk ∈ Rnを次式
で決定し,ステップサイズ ε = 1とする方法を Newton法 (Newtonmethod)という.
hk = −H−1(xk
)∇ f
(xk
)or
hk · H(xk
)y = −∇ f
(xk
)· y ∀y ∈ Rn � (3.5)
. . . . . .
.
定理 3.3 (Newton法)
.
.
.
問題 2.1における関数 f (x)が 2回連続微分可能で, Hesse行列H(x) = ∇∇T f (x) ∈ Rn×nが最適解 a ∈ Sで正則, aの近傍 xで Lipschiz連続 (∃C ≥ 0 : ‖H(a) − H(x)‖ ≤ C ‖a− x‖)のとき,aに十分近い初期値から出発して, Newton法で生成された点列
{xk
}kは aに 2次収束する.
�
証明 文献 [1]定理 4.2参照
.
注意 3.1 (Newton法)
.
.
.
Newton法は,一般に収束域が狭く,初期値の選び方によって発散したり,極大点に収束する可能性がある.
Hesse行列 ∇∇T f (x) ∈ Rn×nが特異行列や悪条件になることもある.
式 (3.1)と (3.5)の比較から,勾配法は,Hesse行列の代わりにある正定値対称行列を用いた方法になっている.このことから,勾配法は,修正 Newton法とみなすことができる. �
. . . . . .
参考:準 Newton 法,共役方向法
.
定義 3.7 (準 Newton法)
.
.
.
探索ベクトルが Newton法の探索ベクトルに漸近する解法を総称して準Newton法 (quasi-Newton method)という.
BFGS (Broyden-Fletcher-Goldfalb-Shanno)公式
DFP (Davidon-Fletcher-Powell)公式
.
定義 3.8 (共役方向法)
.
.
.
正定値対称行列 Aに対して,ベクトル x, yが x · Ay = 0のとき, x, yは共役であるという.A = ∇∇T f
(xk
)として,探索方向 hkを,例えば次
式で計算する方法を,共役方向法 (conjugate direction method)と呼ぶ.
hk = −∇ f(xk
)+ αk−1hk−1
α0 = 1, αk =∇ f
(xk
)·(∇ f
(xk
)− ∇ f
(xk−1
))∥∥∥∇ f
(xk−1
)∥∥∥2(k ≥ 1)
. . . . . .
§4制約付問題
第 1章で定義した,不等式制約付問題を考えよう.
.
問題 4.1 (不等式制約問題)
.
.
.
連続微分可能な非線形関数 f : Rn 7→ Rと g(l) : Rn 7→ R (l = 1,2, · · · ,m),g =
(g(l)
)l∈ Rmが与えられたとき,次のような x? ∈ Rnを求めよ.
f (x?) = minx∈Rn{ f (x) | g(x) ≤ 0} �
. . . . . .
参考:拡大関数法
.
定義 4.1 (拡大関数法)
.
.
.
制約付最適化問題を制約なしの問題に置き換えて解く方法を拡大関数法という.次の定義は例である.
障壁関数法 (barrier function method),内点法 (inner point method)
Pk(x, ρk
)= f (x) − ρk max
0,m∑
l=1
log(−g(l) (x)
)ただし,
{ρk
}kは適当に選んだ単調減少数列とする.
罰金関数法 (penalty function method),外点法 (outer point method)
Pk(x, ρk
)= f (x) + ρk
m∑l=1
max{0,g(l) (x)
}ただし,
{ρk
}kは適当に選んだ ∞に発散する単調増加数列とする.
. . . . . .
Lagrange 問題の Newton 法
.
定義 4.2 (Lagrange問題の Newton法)
.
.
.
問題 4.1の xk ∈ Sにおける Lagrange乗数形式 L(xk, λ
)を次式で定義す
る.ただし,g(x) ={g(l)(x)
}l∈ Rm, λ =
{λ(l)
}l∈ Rmと表す.
L(xk, λ
)= f
(xk
)+ λ · g
(xk
)L(x, λ)の xに対する勾配を ∇L(x, λ) ∈ Rn, Hesse行列をHL (x, λ) = ∇∇TL(x, λ) ∈ Rn×nと表す.このとき,移動後にすべての制
約がアクティブ g(xk
)+
(∇gT
(xk
))Th = 0であると仮定して,探索方向
hk ∈ Rnを次式で決定し, ε = 1とする方法を Lagrange問題の Newton法 (Newton method)と呼ぶ. HL
(xk, λ
)∇gT
(xk
)(∇gT
(xk
))T0
(hk
λ
)= −
∇ f(xk
)g(xk
) � (4.1)
. . . . . .
.
注意 4.1 (Lagrange問題の Newton法)
.
.
.
問題 4.1における関数 f (x), g (x)が 2回連続微分可能,最適解(a,µ) ∈ S × Rmにおいて Hesse行列 HL (x, λ)が正則,かつ制約の正則条件 (第 1章定義 3.2)が成り立ち,最適解の近傍 (x, λ)でLipschiz連続のとき,(a,µ)に十分近い初期値から出発して,Lagrange問題の Newton法で生成された点列
{(xk, λ
)}kは (a,µ)に
2次収束する.
式 (4.1)の解 λにおいて,アクティブな制約の添字集合IA(xk+1) =
{l ∈ {1,2, · · · ,m}
∣∣∣ λ(l) ≥ 0}の制約を残して,式 (4.1)を解
き直すことで,問題 4.1の制約を満たす移動ベクトル hkを求めることができる.
注意 3.1の性質がここでも成り立つ.�
. . . . . .
逐次 2次計画法
.
問題 4.2 (逐次 2次計画問題)
.
.
.
問題 4.1の xk ∈ Sにおける f(xk
), ∇gT
(xk
)とする.また,ある正定値
対称行列を Hk ∈ Rn×nとする.このとき,次の問題の最適解 εs ∈ Rnを求めよ.
Q (εs) = minεh∈Rn
{Q (εh) =
12εh ·
(1ε
Hk
)(εh) + ∇ f
(xk
)· (εh)
}s.t. g
(xk
)+
(∇gT
(xk
))T(εh) ≤ 0 �
.
定義 4.3 (逐次 2次計画法)
.
.
.
問題 4.1に対して,問題 4.2の解 εsを移動ベクトル εhk ∈ Rnをして,反復公式で近似解の点列
{xk
}kを求める方法を逐次 2次計画法
(sequential quadratic programming)あるいは SQP法と呼ぶ.ただし,ε は Q (εh)に関して,Armijoの規準とWolfeの規準を満たすように決定する.�
. . . . . .
.
注意 4.2 (逐次 2次計画法)
.
.
.
問題 4.3において,すべての制約がアクティブg(xk
)+
(∇gT
(xk
))T(εh) = 0であると仮定すれば, εs= εhkは,式
(4.1)に対応する次式を満たす. 1εHk ∇gT
(xk
)(∇gT
(xk
))T0
(εhk
λ
)= −
∇ f(xk
)g(xk
) (4.2)
式 (4.1)との違いは,Hkが Hesse行列ではなく正定値対称行列であることと, ε が ArmijoとWolfeの規準を満たすように決定できることである.これらのことは大域的収束性を保証する.
問題 4.1における関数 f (x), g (x)が連続微分可能,xk ∈ Sにおいて制約の正則条件 (第 1章定義 3.2)が満たされれば,式 (4.2)は(εhk, λ
)について解くことができる.
. . . . . .
.
.
もしも,目的関数 f (x)と制約関数 g(l) (x) (l = 1,2, · · · ,m)に対して,制約なし問題に対する Hkを用いた勾配法により,それぞれの降下方向h(0)k, h(l)k (l = 1,2, · · · ,m)が既知となっていれば,次式が成り立つ.
hk = h(0)k +
m∑l=1
λ(l)h(l)k (4.3)
h(0)k = −(Hk
)−1∇ f(xk
), h(l)k = −
(Hk
)−1∇g(l)(xk
)(4.4)
この関係を式 (4.2)に代入すれば,第 1式は満たされ,第 2式は次式となる.
∇g(1)(xk
)·(εh(1)k
)· · · ∇g(1)
(xk
)·(εh(m)k
)...
. . ....
∇g(m)(xk
)·(εh(1)k
)· · · ∇g(m)
(xk
)·(εh(m)k
)λ(1)
...λ(m)
= −
g(1)
(xk
)+ ∇g(1)
(xk
)·(εh(0)k
)...
g(m)(xk
)+ ∇g(m)
(xk
)·(εh(0)k
) (4.5)
この式は,λ ∈ Rmを決定する連立 1次方程式となる.
. . . . . .
問題 4.3において,制約 g(xk
)+
(∇gT
(xk
))T(εh) ≤ 0に対する KKT
条件(第 1章定義 3.4)は,式 (4.2)の第 2式を書き換えて,次式となる.
g(xk
)+
(∇g(1)T
(xk
))Tεh(0)k +
m∑l=1
λ(l)εh(l)k
≤ 0 (4.6)
λ ·g
(xk
)+
(∇g(1)T
(xk
))Tεh(0)k +
m∑l=1
λ(1)εh(l)k
= 0 (4.7)
λ ≥ 0 (4.8)
したがって,式 (4.5)で λを解いて,式 (4.6)から (4.8)を満たすアクティブな制約の添字集合 IA(xk+1)の制約を残して,式 (4.5)を解き直すことで,問題 4.1の制約を満たす移動ベクトル εhkを求めることができる.�
. . . . . .
逐次 2次計画法のアルゴリズム例
.
.
.
アルゴリズム 4.1 (逐次 2次計画問題)
.
.
.
.
.
.
1 k = 0とする.x0 ∈ S, ε を定める.
.
.
.
2 f(xk
), g
(xk
)を計算し,収束判定する.
収束条件を満たしたとき,計算を終了する.収束条件を満たさないとき,∇ f
(xk
), ∇gT
(xk
)を計算する.
.
.
.
3 ある正定値対称行列 Hk ∈ Rn×nを定めて,式 (3.1)で hk = h(l)kとみなしてh(l)k (l = 0,1,2, · · · ,m)を計算する.
.
.
.
4 式 (4.5)で λを計算する.式 (4.6)から (4.8)を満たすとき,次に進む.式 (4.6)から (4.8)を満たさないとき,式 (4.6)から (4.8)が満たされるまで,アクティブな制約の添字集合 IA(xk+1)の制約を残して,式 (4.5)を解き直す.
.
.
.
5 式 (4.3)の hkを用いて, Armijoの規準と,必要に応じて,Wolfeの規準をチェックする.
式 (3.3)と (3.4)において, f(xk
)を L
(xk, λ
)に置き換えた関係が成立すれば,
次に進む.ただし,ξ, µ ∈ (0,1) (ξ < µ)は定めておく.Armijoの規準が成立しなければ,ε を ε/2に置き換え,Wolfeの規準が成立しなければ Armijoの規準を満たす範囲で ε を更新して,4に戻る.
.
.
.
6 k+ 1を kと置き換えて,2に戻る.
. . . . . .
§5 まとめ
有限次元ベクトル空間の非線形最適化問題の勾配を利用して最適解を求めるアルゴリズムについて確認した.
制約なし最適化問題に対して,勾配が評価できていれば,勾配法で設計変数の変動方向を決めることができる.
ステップサイズは Armijoの規準とWolfeの規準を満たすように決定することで,大域的収束性が保障される.
Newton法は 2次収束するが,一般に収束域が狭い.修正 Newton法は大域的収束性を持つ.
制約付最適化問題は Lagrange乗数形式に修正 Newton法を適用した逐次 2次計画法(SQP法)により,制約を満たす設計変数の変動を決めることができる.
. . . . . .
参考文献
[1] 藤田宏,今野浩,田邉國士.最適化法.岩波書店.
[2] 矢部博.工学基礎 : 最適化とその応用.数理工学社.
[3] 田村明久,村松正和.最適化法.共立出版, 2002.
[4] G.L. Nemhauser, A.H.G. Rinnooy Kan, and M.J. Todd, editors.
[5] 山川宏編集委員長.最適設計ハンドブック : 基礎・戦略・応用.朝倉書店, 2003.
[6] L. Armijo.Minimization of functions having lipschitz-continuous first partialderivatives.Pacific Journal of Mathematics, Vol. 16, pp. 1–3, 1966.