Trees | Indices | Help |
|
---|
|
Method of multipliers or augmented Lagrangian method optimization constraint algorithm.
This file is part of the minfx optimisation library.
|
|||
Method_of_multipliers |
|
|||
|
|
|||
__package__ =
|
Imports: dot, float64, inf, outer, sqrt, zeros, match, print_iter, Min, Constraint_linear
|
The method of multipliers, also known as the augmented Lagrangian method. Page 515 from 'Numerical Optimization' by Jorge Nocedal and Stephen J. Wright, 1999, 2nd ed. The algorithm is:
Three types of inequality constraint are supported. These are linear, bound, and general constraints and must be setup as follows. The vector x is the vector of model parameters. Don't use bound constraints yet as this code is incomplete! Equality constraints are currently unimplemented. Linear constraintsThese are defined as: A.x >= b where:
E.g. if 0 <= q <= 1, q >= 1 - 2r, and 0 <= r, then: | 1 0 | | 0 | | | | | |-1 0 | | q | | -1 | | | . | | >= | | | 1 2 | | r | | 1 | | | | | | 0 1 | | 2 | To use linear constraints both the matrix A and vector b need to be supplied. Bound constraintsBound constraints are defined as: l <= x <= u, where l and u are the vectors of lower and upper bounds respectively. E.g. if 0 <= q <= 1, r >= 0, s <= 3, then: | 0 | | q | | 1 | | 0 | <= | r | <= | inf | |-inf | | s | | 3 | To use bound constraints both vectors l and u need to be supplied. General constraintsThese are defined as: ci(x) >= 0, where ci(x) are the constraint functions. To use general constrains the functions c, dc, and d2c need to be supplied. The function c is the constraint function which should return the vector of constraint values. The function dc is the constraint gradient function which should return the matrix of constraint gradients. The function d2c is the constraint Hessian function which should return the 3D matrix of constraint Hessians. Initial valuesThese are the default initial values: mu0 = 1e-5 epsilon0 = 1e-2 gamma0 = 1e-2 scale_mu = 0.5 scale_epsilon = 1e-2 scale_gamma = 1e-2 |
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Aug 26 11:41:05 2020 | http://epydoc.sourceforge.net |