Package PyDSTool :: Package Toolbox :: Package optimizers :: Package line_search :: Module strong_wolfe_powell_rule :: Class StrongWolfePowellRule
[hide private]
[frames] | no frames]

Class StrongWolfePowellRule

source code

object --+
         |
        StrongWolfePowellRule

The strong Wolfe-Powell rule for a inexact line search

Instance Methods [hide private]
 
__init__(self, alpha=1.0, rho=0.1, sigma=0.4, alpha_min=0.0, alpha_max=1.0, alpha_limit=0.1, **kwargs)
Initializes the search Parameters :
source code
 
__call__(self, origin, function, state, **kwargs)
Tries to find an acceptable candidate
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, alpha=1.0, rho=0.1, sigma=0.4, alpha_min=0.0, alpha_max=1.0, alpha_limit=0.1, **kwargs)
(Constructor)

source code 

Initializes the search Parameters :

  • alpha is the first step size that will be tried (1.)
  • rhos is the rhos acceptation factor (0.1)
  • sigma is the factor for the Wolfe-Powell rule (0.4)
  • alpha_min is the inf limit of the search interval (0.)
  • alpha_max is the max limit of the search interval (1.)
  • alpha_limit is a factor so that the estimated alpha is not near the limts of the tested bracket, leading to a divergence in the algorithm (alpha_limit = 0.1)

Those parameters should be tweaked depending on the function to optimize

Overrides: object.__init__