Package minfx :: Module method_of_multipliers :: Class Method_of_multipliers
[hide private]
[frames] | no frames]

Class Method_of_multipliers

source code


Instance Methods [hide private]
 
__init__(self, func, dfunc, d2func, args, x0, min_options, A, b, l, u, c, dc, d2c, lambda0, init_lambda, mu0, epsilon0, gamma0, scale_mu, scale_epsilon, scale_gamma, func_tol, grad_tol, maxiter, inner_maxiter, full_output, print_flag)
Class for Newton minimisation specific functions.
source code
 
func_LA(self, *args)
The augmented Lagrangian function.
source code
 
func_dLA(self, *args)
The augmented Lagrangian gradient.
source code
 
func_d2LA(self, *args)
The quadratic augmented Lagrangian Hessian.
source code
 
func_d2LA_simple(self, *args)
The augmented Lagrangian Hessian.
source code
 
minimise(self)
Method of multipliers algorithm.
source code
 
printout(self)
Function to print out various data structures.
source code

Inherited from base_classes.Min: double_test, func_test, grad_test, hessian_type_and_mod, setup_conv_tests, update

Method Details [hide private]

__init__(self, func, dfunc, d2func, args, x0, min_options, A, b, l, u, c, dc, d2c, lambda0, init_lambda, mu0, epsilon0, gamma0, scale_mu, scale_epsilon, scale_gamma, func_tol, grad_tol, maxiter, inner_maxiter, full_output, print_flag)
(Constructor)

source code 

Class for Newton minimisation specific functions.

Unless you know what you are doing, you should call the function 'method_of_multipliers' rather than using this class.

Overrides: base_classes.Min.__init__

func_LA(self, *args)

source code 

The augmented Lagrangian function.

The equation is:

   L(x, lambda_k; muk) = f(x) + sum(psi(ci(x), lambdai_k; muk))

where:

                   /  -s.t + t^2/(2m)    if t - ms <= 0,
   psi(t, s; m) = <
                   \  -ms^2/2            otherwise.

func_d2LA_simple(self, *args)

source code 

The augmented Lagrangian Hessian.

This function has been simplified by assuming that the constraint Hessian is zero.

minimise(self)

source code 

Method of multipliers algorithm.

Overrides: base_classes.Min.minimise