Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An introduction to unconstrained non-linear programming

An introduction to unconstrained non-linear programming

非線形計画問題は,おもに非線形関数で表された目的関数や制約条件を含む連続最適化問題であり,適用範囲が非常に広い一方で,多様な非線形計画問題を効率的に解く汎用的なアルゴリズムを開発することは難しい.今回は,効率的に解ける非線形計画問題の特徴を説明した後に,制約なし非線形計画問題の最適性の条件および代表的なアルゴリズムを紹介する.

Shunji Umetani

May 22, 2023
Tweet

More Decks by Shunji Umetani

Other Decks in Research

Transcript

  1. 制約なし⾮線形計画問題
    ⼤阪⼤学 ⼤学院情報科学研究科
    梅⾕ 俊治
    2023年5⽉23⽇

    View Slide

  2. 制約なし⾮線形計画問題
    • が⼤域最適解︓任意の に対して
    • が局所最適解︓任意の に対して
    • ⽬的関数 が凸関数ならば,局所最適解は⼤域最適解である.
    • 現在の解 から だけ進んだ先の⽬的関数値は
    のように, を変数とする線形関数もしくは2次関数に近似できる.
    2
    *⽬的関数 は2回連続的微分可能とする.
    制約なし⾮線形計画問題*
    凸関数 ⾮凸関数(多峰性関数)
    の近傍
    勾配 とヘッセ⾏列 が重要

    View Slide

  3. 凸集合と凸関数
    • 集合 に含まれる任意の2点 を結ぶ線分が集合 に含まれる
    とき,集合 を凸集合と呼ぶ.
    • 任意の2点 を結ぶ線分が関数 の上側に
    あるとき,関数 を凸関数と呼ぶ.
    3
    凸集合 ⾮凸集合
    凸関数 ⾮凸関数

    View Slide

  4. 凸集合と凸関数の性質
    • 集合 が凸集合ならば も凸集合である.
    • 関数 を凸集合 上で定義された凸関数とする.このとき,
    任意の に対して は 上の凸関数である.
    • 関数 を凸集合 上で定義された凸関数とする.このとき,
    関数 は 上の凸関数である.
    • 上で定義された関数 が凸関数ならば,集合
    は凸集合である.
    • 凸計画問題では任意の局所最適解は⼤域最適解である.
    4
    凸計画問題
    凸関数
    凸関数
    線形関数
    凸集合

    View Slide

  5. 勾配とヘッセ⾏列
    • 関数 の勾配
    → 勾配は法線(等⾼線に対して垂直)⽅向となる.
    • 関数 のヘッセ⾏列 は 次対称⾏列
    5

    View Slide

  6. 凸関数の性質
    • 関数 が凸関数 ⇔ 任意の に対して
    1)
    2)
    → 関数 が点 を通る接線の上側にある.
    • 2次関数 が凸関数
    ⇔ ⾏列 が半正定値*
    より
    なので 2) と⾏列 の半正定値性は同値である.
    6
    * 次正⽅⾏列 が任意の に対して を満たす.
    1変数関数 なら

    View Slide

  7. 凸関数とヘッセ⾏列
    • 関数 は凸関数 ⇔ 任意の に対して が半正定値*
    点 から⽅向 に沿って だけ移動した先は
    関数 は凸関数なので
    が成り⽴つ.これらの式から
    が成り⽴つ.ここで, のとき は0に収束するので,
    が成り⽴つ.
    7
    1変数関数なら
    必要条件
    テイラー展開
    *関数 に対して が成り⽴つとき と表す.ランダウのo-記法と呼ぶ.
    ランダウのo-記法の定義*

    View Slide

  8. 凸関数とヘッセ⾏列
    • 関数 は凸関数 ⇔ 任意の に対して が半正定値*
    テイラーの定理より
    を満たす点 が存在する.
    任意の に対してヘッセ⾏列 は半正定値なので
    が成り⽴つ.したがって,
    より関数 は凸関数.
    8
    1変数関数なら
    ⼗分条件

    View Slide

  9. ⾏列の半正定値性
    • 次対称⾏列 が半正定値
    ⇔ 任意の に対して
    ⇔ ⾏列 の全ての固有値が⾮負
    • ⾏列 は固有値 に対応する固有ベクトル
    からなる直交⾏列 を⽤いて
    と対⾓化できる.ここで, とおくと
    となり, が全て⾮負なら⾏列 は半正定値.
    • 前ページの関数 のヘッセ⾏列 の固有⽅程式
    より固有値 が得られるので,ヘッセ⾏列 は正定値. 9

    View Slide

  10. 最適性の1次の必要条件
    • 点 が局所最適解ならば (停留点)
    点 からある⽅向 に沿って⼗分に⼩さい
    だけ移動した点を考える.⽬的関数 は微分可能なので
    局所最適解 は を満たし
    ここで, のとき は0に収束するので
    この不等式は任意の⽅向 に成り⽴つので
    10
    1変数関数なら
    極⼤点や鞍点も
    を満たす

    View Slide

  11. 最適性の2次の必要条件
    • 点 が局所最適解ならばヘッセ⾏列 は半正定値である.
    点 からある⽅向 に沿って⼗分に⼩さい
    だけ移動した点を考える.⽬的関数 は2回微分可能なので
    局所最適解 は と を満たすので
    ここで, のとき は0に収束するので
    この不等式は任意の⽅向 に成り⽴つので,ヘッセ
    ⾏列 は半正定値.
    11
    1変数関数なら

    View Slide

  12. 最適性の2次の⼗分条件
    • 点 が停留点でヘッセ⾏列 が正定値ならば局所最適解.
    停留点 からある⽅向 に沿って だけ移動
    した点を考える.⽬的関数 は2回微分可能なので
    停留点 は を満たすので
    ここで, で とすると は
    0に収束するので,⼗分に⼩さい に対して
    この不等式は任意の⽅向 に成り⽴つので,停留点
    は局所最適解.
    12
    1次の必要条件を仮定

    View Slide

  13. 最適性の2次の必要条件と⼗分条件
    • 2次の必要条件を満たしても局所最適解とは限らない.
    • 2次の⼗分条件を満たさない局所最適解が存在する.
    13
    ⽬的関数 f1
    ⽬的関数 f2
    停留点
    停留点で半正定値
    局所最適解
    局所最適解
    ではない
    ⽬的関数値が
    ⼩さくなる

    View Slide

  14. 最急降下法
    • 反復法︓探索⽅向 とステップ幅 を決定し次の点を求める
    ⼿続きを繰り返し,停留点 に収束する点列 を⽣成する.
    • 各反復では を満たす探索⽅向 を求めたい.
    ⽬的関数は と近似できるので
    を満たす探索⽅向 に移動する(降下⽅向).
    • 勾配 の逆⽅向すなわち最急降下⽅向
    に設定すると より常に降下⽅向.
    14
    と が鈍⾓をなす

    View Slide

  15. 直線探索
    • ステップ幅 を変数とする関数 を最⼩化する
    1変数の最適化問題を解く(直線探索).
    • アルミホの条件︓ある定数 に対して
    を満たす の値を求める(2分探索などを使う).
    • ウルフの条件︓アルミホの条件では⼩さすぎる が選ばれる可能性
    があるので傾きに対する制約を追加する.
    15
    Ξϧϛϗ৚݅Λຬͨ͢ൣғ

    View Slide

  16. 最急降下法の実⾏例
    16

    View Slide

  17. ニュートン法
    • もともとは⾮線形連⽴⽅程式に対する反復法の⼀つ
    • テイラー近似より
    ただし,
    右辺を0とおいて を求めると
    この を⽤いて と反復計算する.
    • を満たす停留点 を求めるには︖
    テイラー近似より
    右辺を0とおいて を求めると
    この を⽤いて と反復計算する.
    17

    View Slide

  18. ニュートン法
    • ⽬的関数 をテイラー近似すると
    ここで, を変数とする以下の2次関数を最⼩化する問題を考える.
    この問題の1次の必要条件は
    • ニュートン法の問題点
    ü ヘッセ⾏列 が正定値とは限らず を満たせない.
    ü ヘッセ⾏列 が正則とは限らず逆⾏列が計算できない.
    ü ヘッセ⾏列 が効率的に計算できないことがある.
    18
    を2次関数で近似して
    最⼩点を求める⼿続きを繰り返す

    View Slide

  19. ニュートン法の実⾏例
    19

    View Slide

  20. 準ニュートン法
    • ヘッセ⾏列 の代わりに近似⾏列 を⽣成する.
    • 探索⽅向は
    • 直線探索によりステップ幅 を求めて とする.
    • 各反復ではBFGS公式を⽤いて から を求める.
    ü は正定値対称⾏列.
    ü はセカント条件を満たす.
    この条件はヘッセ⾏列 の近似による.
    20

    View Slide

  21. 準ニュートン法の実⾏例
    21

    View Slide

  22. 反復法の収束性
    • ⼤域収束性︓初期点 によらず常に停留点 に収束する点列
    を⽣成する.
    → 最急降下法は⼤域収束する.ニュートン法は⼤域収束しない.
    • 局所収束性︓停留点 の⼗分近くにおける収束の速さ.
    1次収束︓ある定数 と整数 に対して
    22
    収束⽐
    最急降下法
    収束⽐が⼩さい場合 収束⽐が⼤きい場合

    View Slide

  23. 反復法の収束性
    • ⼤域収束性︓初期点 によらず常に停留点 に収束する点列
    を⽣成する.
    → 最急降下法は⼤域収束する.ニュートン法は⼤域収束しない.
    • 局所収束性︓停留点 の⼗分近くにおける収束の速さ.
    1次収束︓ある定数 と整数 に対して
    超1次収束︓どのように⼩さな でも上式が成り⽴つ.すなわち
    2次収束︓ある定数 と整数 に対して
    23
    収束⽐
    最急降下法
    準ニュートン法
    ニュートン法

    View Slide

  24. 参考⽂献
    • 茨⽊俊秀,最適化の数学,共⽴出版,2011.
    • ⽮部博,⼯学基礎 最適化とその応⽤,数理⼯学社,2006.
    • 福島雅夫,新版 数理計画⼊⾨,朝倉書店,2011.
    • ⽥村明久,村松正和,最適化法,共⽴出版,2002.
    • 寒野善博,⼟⾕隆,最適化と変分法,丸善出版,2014.
    • ⼭下信雄,⾮線形計画法,朝倉書店,2015.
    • 福島雅夫,⾮線形最適化の基礎,朝倉書店,2001.
    • ⽥中謙輔,凸解析と最適化理論,牧野書店,1994.
    • ⾦森敬⽂,鈴⽊⼤慈,⽵内⼀郎,佐藤⼀誠,機械学習のための連続
    最適化,講談社,2016.
    24

    View Slide

  25. 参考⽂献
    • D.G.Luenberger, Y.Ye, Linear and Nonlinear Programming (4th
    ed), Springer, 2016.
    • S.Boyd, L.Vandenberghe, Convex Optimization, Cambridge
    University Press, 2004.
    • J. Nocedal, S.J.Wright, Numerical Optimization (2nd ed),
    Springer, 2006.
    • D.P.Bertsekas, Nonlinear Programming (3rd ed), Athena
    Scientific, 2016.
    • M.S.Bazaraa, H.D.Sherali, C.M.Shetty, Nonlinear
    Programming: Theory and Algorithms (3rd ed), John Wiley &
    Sons, Ltd., 2006.
    25

    View Slide