非線形計画問題は,おもに非線形関数で表された目的関数や制約条件を含む連続最適化問題であり,適用範囲が非常に広い一方で,多様な非線形計画問題を効率的に解く汎用的なアルゴリズムを開発することは難しい.今回は,効率的に解ける非線形計画問題の特徴を説明した後に,制約なし非線形計画問題の最適性の条件および代表的なアルゴリズムを紹介する.
制約なし⾮線形計画問題⼤阪⼤学 ⼤学院情報科学研究科梅⾕ 俊治2023年5⽉23⽇
View Slide
制約なし⾮線形計画問題• が⼤域最適解︓任意の に対して• が局所最適解︓任意の に対して• ⽬的関数 が凸関数ならば,局所最適解は⼤域最適解である.• 現在の解 から だけ進んだ先の⽬的関数値はのように, を変数とする線形関数もしくは2次関数に近似できる.2*⽬的関数 は2回連続的微分可能とする.制約なし⾮線形計画問題*凸関数 ⾮凸関数(多峰性関数)の近傍勾配 とヘッセ⾏列 が重要
凸集合と凸関数• 集合 に含まれる任意の2点 を結ぶ線分が集合 に含まれるとき,集合 を凸集合と呼ぶ.• 任意の2点 を結ぶ線分が関数 の上側にあるとき,関数 を凸関数と呼ぶ.3凸集合 ⾮凸集合凸関数 ⾮凸関数
凸集合と凸関数の性質• 集合 が凸集合ならば も凸集合である.• 関数 を凸集合 上で定義された凸関数とする.このとき,任意の に対して は 上の凸関数である.• 関数 を凸集合 上で定義された凸関数とする.このとき,関数 は 上の凸関数である.• 上で定義された関数 が凸関数ならば,集合は凸集合である.• 凸計画問題では任意の局所最適解は⼤域最適解である.4凸計画問題凸関数凸関数線形関数凸集合
勾配とヘッセ⾏列• 関数 の勾配→ 勾配は法線(等⾼線に対して垂直)⽅向となる.• 関数 のヘッセ⾏列 は 次対称⾏列5
凸関数の性質• 関数 が凸関数 ⇔ 任意の に対して1)2)→ 関数 が点 を通る接線の上側にある.• 2次関数 が凸関数⇔ ⾏列 が半正定値*よりなので 2) と⾏列 の半正定値性は同値である.6* 次正⽅⾏列 が任意の に対して を満たす.1変数関数 なら
凸関数とヘッセ⾏列• 関数 は凸関数 ⇔ 任意の に対して が半正定値*点 から⽅向 に沿って だけ移動した先は関数 は凸関数なのでが成り⽴つ.これらの式からが成り⽴つ.ここで, のとき は0に収束するので,が成り⽴つ.71変数関数なら必要条件テイラー展開*関数 に対して が成り⽴つとき と表す.ランダウのo-記法と呼ぶ.ランダウのo-記法の定義*
凸関数とヘッセ⾏列• 関数 は凸関数 ⇔ 任意の に対して が半正定値*テイラーの定理よりを満たす点 が存在する.任意の に対してヘッセ⾏列 は半正定値なのでが成り⽴つ.したがって,より関数 は凸関数.81変数関数なら⼗分条件
⾏列の半正定値性• 次対称⾏列 が半正定値⇔ 任意の に対して⇔ ⾏列 の全ての固有値が⾮負• ⾏列 は固有値 に対応する固有ベクトルからなる直交⾏列 を⽤いてと対⾓化できる.ここで, とおくととなり, が全て⾮負なら⾏列 は半正定値.• 前ページの関数 のヘッセ⾏列 の固有⽅程式より固有値 が得られるので,ヘッセ⾏列 は正定値. 9
最適性の1次の必要条件• 点 が局所最適解ならば (停留点)点 からある⽅向 に沿って⼗分に⼩さいだけ移動した点を考える.⽬的関数 は微分可能なので局所最適解 は を満たしここで, のとき は0に収束するのでこの不等式は任意の⽅向 に成り⽴つので101変数関数なら極⼤点や鞍点もを満たす
最適性の2次の必要条件• 点 が局所最適解ならばヘッセ⾏列 は半正定値である.点 からある⽅向 に沿って⼗分に⼩さいだけ移動した点を考える.⽬的関数 は2回微分可能なので局所最適解 は と を満たすのでここで, のとき は0に収束するのでこの不等式は任意の⽅向 に成り⽴つので,ヘッセ⾏列 は半正定値.111変数関数なら
最適性の2次の⼗分条件• 点 が停留点でヘッセ⾏列 が正定値ならば局所最適解.停留点 からある⽅向 に沿って だけ移動した点を考える.⽬的関数 は2回微分可能なので停留点 は を満たすのでここで, で とすると は0に収束するので,⼗分に⼩さい に対してこの不等式は任意の⽅向 に成り⽴つので,停留点は局所最適解.121次の必要条件を仮定
最適性の2次の必要条件と⼗分条件• 2次の必要条件を満たしても局所最適解とは限らない.• 2次の⼗分条件を満たさない局所最適解が存在する.13⽬的関数 f1⽬的関数 f2停留点停留点で半正定値局所最適解局所最適解ではない⽬的関数値が⼩さくなる
最急降下法• 反復法︓探索⽅向 とステップ幅 を決定し次の点を求める⼿続きを繰り返し,停留点 に収束する点列 を⽣成する.• 各反復では を満たす探索⽅向 を求めたい.⽬的関数は と近似できるのでを満たす探索⽅向 に移動する(降下⽅向).• 勾配 の逆⽅向すなわち最急降下⽅向に設定すると より常に降下⽅向.14と が鈍⾓をなす
直線探索• ステップ幅 を変数とする関数 を最⼩化する1変数の最適化問題を解く(直線探索).• アルミホの条件︓ある定数 に対してを満たす の値を求める(2分探索などを使う).• ウルフの条件︓アルミホの条件では⼩さすぎる が選ばれる可能性があるので傾きに対する制約を追加する.15Ξϧϛϗ݅Λຬͨ͢ൣғഒ
最急降下法の実⾏例16
ニュートン法• もともとは⾮線形連⽴⽅程式に対する反復法の⼀つ• テイラー近似よりただし,右辺を0とおいて を求めるとこの を⽤いて と反復計算する.• を満たす停留点 を求めるには︖テイラー近似より右辺を0とおいて を求めるとこの を⽤いて と反復計算する.17
ニュートン法• ⽬的関数 をテイラー近似するとここで, を変数とする以下の2次関数を最⼩化する問題を考える.この問題の1次の必要条件は• ニュートン法の問題点ü ヘッセ⾏列 が正定値とは限らず を満たせない.ü ヘッセ⾏列 が正則とは限らず逆⾏列が計算できない.ü ヘッセ⾏列 が効率的に計算できないことがある.18を2次関数で近似して最⼩点を求める⼿続きを繰り返す
ニュートン法の実⾏例19
準ニュートン法• ヘッセ⾏列 の代わりに近似⾏列 を⽣成する.• 探索⽅向は• 直線探索によりステップ幅 を求めて とする.• 各反復ではBFGS公式を⽤いて から を求める.ü は正定値対称⾏列.ü はセカント条件を満たす.この条件はヘッセ⾏列 の近似による.20
準ニュートン法の実⾏例21
反復法の収束性• ⼤域収束性︓初期点 によらず常に停留点 に収束する点列を⽣成する.→ 最急降下法は⼤域収束する.ニュートン法は⼤域収束しない.• 局所収束性︓停留点 の⼗分近くにおける収束の速さ.1次収束︓ある定数 と整数 に対して22収束⽐最急降下法収束⽐が⼩さい場合 収束⽐が⼤きい場合
反復法の収束性• ⼤域収束性︓初期点 によらず常に停留点 に収束する点列を⽣成する.→ 最急降下法は⼤域収束する.ニュートン法は⼤域収束しない.• 局所収束性︓停留点 の⼗分近くにおける収束の速さ.1次収束︓ある定数 と整数 に対して超1次収束︓どのように⼩さな でも上式が成り⽴つ.すなわち2次収束︓ある定数 と整数 に対して23収束⽐最急降下法準ニュートン法ニュートン法
参考⽂献• 茨⽊俊秀,最適化の数学,共⽴出版,2011.• ⽮部博,⼯学基礎 最適化とその応⽤,数理⼯学社,2006.• 福島雅夫,新版 数理計画⼊⾨,朝倉書店,2011.• ⽥村明久,村松正和,最適化法,共⽴出版,2002.• 寒野善博,⼟⾕隆,最適化と変分法,丸善出版,2014.• ⼭下信雄,⾮線形計画法,朝倉書店,2015.• 福島雅夫,⾮線形最適化の基礎,朝倉書店,2001.• ⽥中謙輔,凸解析と最適化理論,牧野書店,1994.• ⾦森敬⽂,鈴⽊⼤慈,⽵内⼀郎,佐藤⼀誠,機械学習のための連続最適化,講談社,2016.24
参考⽂献• D.G.Luenberger, Y.Ye, Linear and Nonlinear Programming (4thed), Springer, 2016.• S.Boyd, L.Vandenberghe, Convex Optimization, CambridgeUniversity Press, 2004.• J. Nocedal, S.J.Wright, Numerical Optimization (2nd ed),Springer, 2006.• D.P.Bertsekas, Nonlinear Programming (3rd ed), AthenaScientific, 2016.• M.S.Bazaraa, H.D.Sherali, C.M.Shetty, NonlinearProgramming: Theory and Algorithms (3rd ed), John Wiley &Sons, Ltd., 2006.25