argmin/solver/linesearch/mod.rs
1// Copyright 2018-2020 argmin developers
2//
3// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
4// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
5// http://opensource.org/licenses/MIT>, at your option. This file may not be
6// copied, modified, or distributed except according to those terms.
7
8//! Line search methods
9//!
10//! * [Backtracking line search](backtracking/struct.BacktrackingLineSearch.html)
11//! * [More-Thuente line search](morethuente/struct.MoreThuenteLineSearch.html)
12//! * [Hager-Zhang line search](hagerzhang/struct.HagerZhangLineSearch.html)
13//!
14//! # References:
15//!
16//! [0] Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization.
17//! Springer. ISBN 0-387-30303-0.
18//!
19//! [1] Jorge J. More and David J. Thuente. "Line search algorithms with guaranteed sufficient
20//! decrease." ACM Trans. Math. Softw. 20, 3 (September 1994), 286-307.
21//! DOI: https://doi.org/10.1145/192115.192132
22//!
23//! [2] William W. Hager and Hongchao Zhang. "A new conjugate gradient method with guaranteed
24//! descent and an efficient line search." SIAM J. Optim. 16(1), 2006, 170-192.
25//! DOI: https://doi.org/10.1137/030601880
26
27/// Backtracking line search algorithm
28pub mod backtracking;
29/// Acceptance conditions
30pub mod condition;
31/// Hager-Zhang line search algorithm
32pub mod hagerzhang;
33/// More-Thuente line search algorithm
34pub mod morethuente;
35
36pub use self::backtracking::*;
37pub use self::condition::*;
38pub use self::hagerzhang::*;
39pub use self::morethuente::*;