Expose line search parameters in Solver::Options.

Change-Id: Ifc52980976e7bac73c8164d80518a5a19db1b79d
This commit is contained in:
Sameer Agarwal
2013-06-30 14:33:23 -07:00
parent 1c70ae9aa6
commit 09244015e3
8 changed files with 153 additions and 36 deletions
+36
View File
@@ -819,6 +819,42 @@ elimination group [LiSaad]_.
rank. The best choice usually requires some problem specific
experimentation.
.. member:: LineSearchIterpolationType Solver::Options::line_search_interpolation_type
Default: ``CUBIC``
Degree of the polynomial used to approximate the objective
function. Valid values are ``BISECTION``, ``QUADRATIC`` and
``CUBIC``.
.. member:: double Solver::Options::min_line_search_step_size
If during the line search, the step size falls below this value, it
is truncated to zero.
.. member:: double Solver::Options::armijo_sufficient_decrease
Solving the line search problem exactly is computationally
prohibitive. Fortunately, line search based optimization algorithms
can still guarantee convergence if instead of an exact solution,
the line search algorithm returns a solution which decreases the
value of the objective function sufficiently. More precisely, we
are looking for a step size s.t.
.. math:: f(\text{step_size}) \le f(0) + \text{sufficient_decrease} * [f'(0) * \text{step_size}]
.. member:: double Solver::Options::min_armijo_relative_step_size_change
In each iteration of the Armijo line search,
.. math:: \text{new_step_size} \ge \text{min_relative_step_size_change} * \text{step_size}
.. member:: double Solver::Options::max_armijo_relative_step_size_change
In each iteration of the Armijo line search,
.. math:: \text{new_step_size} \le \text{max_relative_step_size_change} * \text{step_size}
.. member:: TrustRegionStrategyType Solver::Options::trust_region_strategy_type
Default: ``LEVENBERG_MARQUARDT``