Trees | Indices | Help |
|
---|
|
A line search algorithm from More and Thuente.
This file is part of the minfx optimisation library.
|
|||
|
|||
|
|||
|
|
|||
__package__ =
|
Imports: deepcopy, sqrt, dot, sys, cubic_int, cubic_ext, quadratic_fafbga, quadratic_gagb, cubic, quadratic, secant
|
A line search algorithm from More and Thuente. More, J. J., and Thuente, D. J. 1994, Line search algorithms with guaranteed sufficient decrease. ACM Trans. Math. Softw. 20, 286-307. Internal variablesa0, the null sequence data structure containing the following keys:
a, the sequence data structure containing the following keys:
Ik, the interval data structure containing the following keys:
Instead of using the modified function: psi(a) = phi(a) - phi(0) - a.phi'(0), the function: psi(a) = phi(a) - a.phi'(0), was used as the phi(0) component has no effect on the results. |
Trial value selection and interval updating. Trial value selectionfl, fu, ft, gl, gu, and gt are the function and gradient values at the interval end points al and au, and at the trial point at. ac is the minimiser of the cubic that interpolates fl, ft, gl, and gt. aq is the minimiser of the quadratic that interpolates fl, ft, and gl. as is the minimiser of the quadratic that interpolates fl, gl, and gt. The trial value selection is divided into four cases. Case 1: ft > fl. In this case compute ac and aq, and set: / ac, if |ac - al| < |aq - al|, at+ = < \ 1/2(aq + ac), otherwise. Case 2: ft <= fl and gt.gl < 0. In this case compute ac and as, and set: / ac, if |ac - at| >= |as - at|, at+ = < \ as, otherwise. Case 3: ft <= fl and gt.gl >= 0, and |gt| <= |gl|. In this case at+ is chosen by extrapolating the function values at al and at, so the trial value at+ lies outside th interval with at and al as endpoints. Compute ac and as.
Case 4: ft <= fl and gt.gl >= 0, and |gt| > |gl|. In this case choose at+ as the minimiser of the cubic that interpolates fu, ft, gu, and gt. Interval updatingGiven a trial value at in I, the endpoints al+ and au+ of the updated interval I+ are determined as follows:
|
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Mar 17 15:11:26 2014 | http://epydoc.sourceforge.net |