直線探索
次の勾配法の例は、第4ステップで直線探索を用いている。
反復カウンターを k = 0 {\displaystyle \displaystyle k=0} とする。最小値の初期推定値を x 0 {\displaystyle \mathbf {x} _{0}} とする。
以下を反復する:
降下方向 p k {\displaystyle \mathbf {p} _{k}} を計算する。
h ( α ) = f ( x k + α p k ) {\displaystyle h(\alpha )=f(\mathbf {x} _{k}+\alpha \mathbf {p} _{k})} を α ∈ R + {\displaystyle \alpha \in \mathbb {R} _{+}} 上で最小化するような α k {\displaystyle \displaystyle \alpha _{k}} を決定する。
x k + 1 = x k + α k p k {\displaystyle \mathbf {x} _{k+1}=\mathbf {x} _{k}+\alpha _{k}\mathbf {p} _{k}} 、 k = k + 1 {\displaystyle \displaystyle k=k+1} と更新する。
‖ ∇ f ( x k ) ‖ {\displaystyle \|\nabla f(\mathbf {x} _{k})\|} が十分小さくなるまで続ける。
第4ステップにおいては、 h ′ ( α k ) = 0 {\displaystyle h'(\alpha _{k})=0} を解いて h の厳密な最小値を求める方法と、十分な減少が得られればよいとして大まかに最小化する方法がある。前者の例としては共役勾配法がある。後者は数多くの方法があるが、例えばバックトラック法やWolfe条件を用いた方法がある。
他の最適化法と同様に、直線探索は局所最小値を脱出するために焼きなまし法と組み合わせることができる。