1
2
3
4
5 """
6 Module containing the line searchers
7
8 Line Searches :
9 - SimpleLineSearch
10 - takes a simple step
11 - HyperbolicLineSearch
12 - takes a step of length 1/(1+iterations)
13 - DampedLineSearch
14 - searches for a candidate by dividing the step by 2 each time
15 - BacktrackingSearch
16 - finds a candidate according to the Armijo rule
17
18 - WolfePowellRule
19 - finds a candidate according to the standard Wolfe-Powell rules
20 - StrongWolfePowellRule
21 - finds a candidate according to the strong Wolfe-Powell rules
22 - GoldsteinRule
23 - finds a candidate according to the Goldstein rules
24
25 - GoldenSectionSearch
26 - uses the golden section method for exact line search
27 - FibonacciSectionSearch
28 - uses the Fibonacci section method for exact line search
29 - QuadraticInterpolationSearch
30 - uses the quadratic interpolation method with computation of the gradient at the origin for exact line search
31
32 - AdaptiveLastStepModifier
33 - modifies the last step length depending on the last direction and gradient and current gradient and direction
34 - FixedLastStepModifier
35 - modified the last step length with a fixed factor
36 """
37
38 from simple_line_search import *
39 from hyperbolic_line_search import *
40 from damped_line_search import *
41 from backtracking_search import *
42
43 from wolfe_powell_rule import *
44 from strong_wolfe_powell_rule import *
45 from goldstein_rule import *
46
47 from golden_section import *
48 from fibonacci_section import *
49 from quadratic_interpolation import *
50 from cubic_interpolation import *
51
52 from adaptive_last_step_modifier import *
53 from fixed_last_step_modifier import *
54
55 from scaled_line_search import *
56
57 line_search__all__ = ['SimpleLineSearch', 'HyperbolicLineSearch', 'DampedLineSearch', 'BacktrackingSearch',
58 'WolfePowellRule', 'StrongWolfePowellRule', 'GoldsteinRule',
59 'GoldenSectionSearch', 'FibonacciSectionSearch', 'QuadraticInterpolationSearch', 'CubicInterpolationSearch',
60 'AdaptiveLastStepModifier', 'FixedLastStepModifier', 'ScaledLineSearch']
61 __all__ = line_search__all__
62