Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
逆問題スプリングスクール最適化手法,1)局所的最適化法(勾配法,ニュートン法など)
2)大域的最適化手法(遺伝的アルゴリズム,粒子群最適化法)
2016年3月4日 16:00~16:30
逆問題小委員会
講師:増本清(島根大学)
土木学会応用力学委員会
最適化手法,局所的最適化法(勾配法,Newton 法など)
•非線形逆問題の定式化
•勾配法
• ニュートン法
• ガウスニュートン法(最小二乗法)
• マルカート法
•準ニュートン法
•大規模問題の対応
•大域的最適化:遺伝的アルゴリズム、粒子群最適化 の概要
非線形逆問題の定式化
非線形連立方程式(支配方程式・境界条件等の離散化)
順解析: この式を解いて、x の関数y を求める。
逆解析:状態量の観測値z を与えてx を求める。たとえば、
0),( yxRx:未知数y:状態量
xyy
.min xyz
本講で取り扱う非線形最適化問題
問題A(制約なし非線形最適化問題)
問題B(等式制約条件付き非線形最適化問題)→ 問題Aに変換可能
問題C(最小二乗問題)→ 問題Aの特別な形
min. ),( yxJ 0),( yxR
min. )(xJ
min. W xyzxyzxJT
)(
制約条件:
非線形最適化問題の解法
反復解法(Fig.1)
勾配法
最急降下法
ニュートン法
準ニュートン法
最小二乗法
ガウスニュートン法
マルカート法
その他の手法
遺伝的アルゴリズム
粒子群最適化法
開始
0kの入力
0j
ik
の計算
1 jj
jjj kkk
1
収束?
kの出力
終了
Fig.1 局所最適化アルゴリズムの基本的な流れ図
N
Y
最急降下法(制約なし非線形最適化の方法)
J kx
最急降下法:最も簡単な勾配法(勾配法:∇Jを用いて最適解求める手法)修正ベクトル:
修正ベクトルの方向ベクトルを-∇Jとして算出してから,この方向でα(正の実数)を求める. αを求める作業
は,半直線上の極小点を探索する(直線探索という)もので,他の最適化法でも使用される.直線探索法には様々な方法(黄金分割法,フィボナッチ法,ニュートン法など)がある。(詳細は文献参照のこと)最急降下法は単純だが非線形性の強い問題などでは収束性(速度と安定性)が悪い。
収束性について(数値的反復法の問題)
1.収束率(収束の速さ)
p次収束: 十分大きなkに対して、
1次収束より2次収束の方が収束が速い。最急降下法は1次収束。
2.大域的収束性(収束の安定性)の使い分け①一般の大域的収束性:
収束先が最小点であることが保障。局所極小点ではいけない。
②非線形最適化における大域的収束性:
収束先が最小点または局所最適解。極大点や鞍点ではいけない。
非線形最適化では、②の意味y。
p
kk xcx 1
直線探索について
適当な直線探索により、最急降下法は大域的収束性(②の意味)をもつことがいえる。
直線探索で正確なαを決定しなくとも大域的収束性が成立する。
たとえば、つぎのような弱い条件を満たす方法が知られている。
Armifoの条件(α=0における接線と水平線の間の直線との交わり)
コメント:直線探索に換えて、信頼領域法(文献参照)によっても、大域的収束性が得られる。
k
T
kkkk dJcxJxxJ 1)()( 10 1 c
非線形最適化問題の解法
問題A(制約なし非線形最適化問題)
最適解の必要条件
この非線形(連立)方程式はニュートン法で解くことができる。
min. )(xJ
0)( xJ
ニュートン法:非線形方程式 0)(xf
)()(1
1 kkkk xfxfxx
を解く方法。
更新公式
)()( 1 kkk xfxxf
実際は、連立方程式
11 kkk xxxによりΔxkを求めたのち、次式より更新するとよい。
例題:ニュートン法の計算例(1変数)
x2-2=0をニュートン法で解いてみよう。
①f(x)= x2-2 と置く。
このとき、f ’(x)=2x となりますね。
②初期推定値x0を与える。
たとえば、x0=3としてみよう。
ニュートン法の計算例(つづき)
③x1を更新公式を使って計算する。
x1=x0-f(x0)/f ’(x0)
=x0-(x02-2)/(2x0)
=3-(32-2)/(2×3)
=3-7/6
=11/6
=1.833333・・・
ニュートン法の計算例(つづき)④x1=11/6として、x2を計算してみよう。
同じ形の更新公式を使います。
x2=x1-f (x1)/f ’(x1)
=x1-(x12-2)/(2x1)
=11/6-{(11/6)2-2}/{2×(11/6)}
=11/6-49/132
=193/132
=1.462121212・・・続きの繰り返し計算は各自で試してみましょう。解に近づくほど収束が速いことがわかります。
多変数連立非線形方程式(2変数の例)
0),( yxf
0),(),(
),(),(
oy
y
yxfx
x
yxfyxfyyxxf
テーラー展開
)()( 1 kkk xfxxf
11 kkk xxxによりΔxkを求めたのち、次式より更新する。
0),( yxg
0),(),(
),(),(
oy
y
yxgx
x
yxgyxgyyxxg
),(
),()(
yxg
yxfkxf
非線形最適化問題をニュートン法で解く
0)( xJ
さきほどと同様に
)()( 1
2
kkk JJ xxx
11 kkk xxxによりΔxkを求めたのち、次式より更新する。
2
2
1
2
1
2
2
1
2
2 )(
nn
n
x
J
xx
J
xx
J
x
J
J
x
ただし、
:ヘッセ行列
非線形最適化問題におけるNewton法の特徴
・解の近くで収束が速い。:2次収束
・初期推定値が遠いと収束しない。(大域的に収束しない。→不安定)
・2階微分値(ヘッセ行列)を評価する必要がある。
ニュートン法による非線形最小二乗問題の解法
問題C(最小二乗問題)にニュートン法を適用すると,勾配ベクトルのm番目の要素は,
m
i
i
iiimx
yyzwJ
)(2
となり,ヘッセ行列のm行n列の要素は,
となる。 → yの2階微分値が必要。→ 右辺第2項を無視:ガウスニュートン法
i
ii
nm
i
n
ii
m
imn yz
xx
y
x
yw
x
yJ
22 2
ガウスニュートン法(最小二乗問題の解法)
ニュートン法におけるヘッセ行列の近似行列を、
i n
ii
m
imn
x
yw
x
yG 2
として探索方向ベクトルを求める方法である。yが線形に近いときニュートン法の良い近似となり収束も速い。2階微分値は不要だが、ヤコビ行列を求める必要がある。
マルカート法(最小二乗問題の解法)
ガウスニュートン法において非線形性による不安定を緩和する方法がマルカート法である。
I:単位行列, β≧0β=0のときがGauss-Newton法であり,βを大きくすると最急降下法に近づく.→ 大域的収束性解に近づくにつれてβを小さくしていくことにより,効率のよい収束性を獲得.
IGG
準ニュートン法(非線形最適化法)
ニュートン法のヘッセ行列 のかわりに正方行列Hk(またはその逆行列Hk
-1=Bk)を用いる。Hkを更新公式によりヘッセ行列に近似させる。→ ニュートン法に近い収束性を実現。(超1次収束)
特徴・ の近似行列Hkを1階微分値で構成。・Hkの正定値性を保証することにより大域的に収束。・ヘッセ行列近似のため,セカント条件
ただし、
を使用して多様な更新公式が作られる。近似行列を使うため、直線探索が必要。
)(2
kJ x
)(2
kJ x
kkk sBy )()( 1 kkk xJxJy
kkk xxs 1
準ニュートン公式の例
DFP公式:
k
T
k
T
kk
kk
T
k
k
T
kkkkk
ys
ss
yBy
ByyBBB 1
kkk JJy 1
kkk xxs 1
BFGS公式:
k
T
k
T
kk
k
T
k
kk
T
k
k
T
k
T
kkkk
T
kkkk
ys
ss
ys
yBy
ys
syBBysBB
11
準ニュートン公式の発展形1
SSVM法:直線探索をほとんど省略できる
ただし,
k
T
k
T
kkT
kkkk
T
kk
kk
T
k
k
T
kkkkkk
ys
ssvvyBy
yBy
ByyBBB
1
k
T
k
k
k
T
k
kk
ys
s
wy
wv
k
T
k
k
T
kk
k
T
k
k
T
kkk
wxJ
xJs
wy
ys
)(
)(1
1,0, jj
kkk yBw
さらに、 Bkの記憶容量を節約する方法(文献6)がある。
準ニュートン公式の発展形2
SSVM法におけるBkのメモリ節約法:記憶容量を抑える
ただし,
すると,
ただし,
T
kkk
T
kkk
T
kkkkkk wwvvssBB 321
1
k
T
k
kys
11 k
T
kkkk wy 2
k
t
k
kk
wy
3
1
0
1
0
1
0
k
r
T
rrr
k
r
T
rrr
k
r
T
rrrk wwdvvcssbaIB
1
0
k
l
la
1
1
1k
rl
lrrb
1
1
2k
rl
lrrc
1
1
3k
rl
lrrc
SSVM法におけるBkのメモリ節約法(つづき)
以下のように行列を記憶する必要がなくなる。
1
0
1
0
1
0
k
r
k
r
rk
T
rrrk
T
rr
k
r
rk
T
rrk
kkk
wJwdvJvcsJsbJa
JBd
1
0
1
0
1
0
j
r
j
r
rj
T
rrrj
T
rr
j
r
rj
T
rrjj wywdvyvcsysbayw
代わりに、反復ごとに3個のベクトルを記憶させる。
大域的最適化法:遺伝的アルゴリズム(GA)の概要
出鱈目な初期解群を生成↓
各解の評価(点数付け)↓
評価点に基づく選択淘汰↓
進化オペレーションによる解の変化(突然変異)↓
各解の評価を一定回数繰返し(世代交代)、最終世代の最良解を最終的な解とする。
・突然変異のようなジャンプがあるため、大域的収束が可能
大域的最適化法:粒子群最適化の概要
位置情報と速度情報も持つ粒子の群れが、移動しながら最適解を探索する。生物の群れがお互いに情報交換しながら食料などに向かっていく様子をまねたモデル。
自身の位置をきめるための情報交換・最適な位置にいる粒子情報が全体に伝達。・ローカルベストの粒子情報が近傍に伝達。位置Xおよび速度Vの更新式
X ← X+VV ← wV+c1r1(x’-X)+c2r2(xg-X)
w:慣性定数、c1およびc2:良い粒子に向かう割合r1,r2∊[0,1]、x’:その粒子が発見したこれまでの最良の位置、xg:群全体として発見した最良の位置
大域的最適化法
粒子群最適化および遺伝的アルゴリズムとも、・一部の個体が局所最適から抜け出す仕組みがある。・動かす個体が多数あり、全体として最適値に向かう。
→ 大域的収束の実現。
参考文献1) 嘉納秀明(1987):システムの最適理論と最適化,コロナ社2) 中川徹,小柳義夫(1982):最小二乗法による実験データ解析 - プログラムSALS,
UP応用数学選書7,東京大学出版会.3) 今野 浩,山下 浩(1978):非線形計画法,日科技連.4) 八巻直一,宮田雅智,本郷茂,高橋悟,矢部博,内田智史(1991) :パソコン
FORTRAN版非線形最適化プログラミング,ASNOP研究会編,日刊工業新聞社.5) Oren, S.S. and D.G. Luenberger (1974):Self-scaling variable metric (SSVM)
algorithm, Part1: Criteria and sufficient conditions for scaling and class of algorithms,
Management Science, 20, 845-862.
6) 増本 清(2004):地下水理逆解析における計算機記憶容量節約アルゴリズム,応用力学論文集,7,191-199.
7) 米澤保雄(1993):遺伝的アルゴリズム、森北出版