|
golib
0.5
|
Newton optimisation with linear equality constraints. More...
#include <gonewton.h>
Public Types | |
| typedef goMath::Vector< type_ > | vector_type |
| typedef goMath::Matrix< type_ > | matrix_type |
| typedef goMath::OptFunction< matrix_type, vector_type > | function_type |
Public Types inherited from goMath::NewtonOpt< type_ > | |
| typedef goMath::Vector< type_ > | vector_type |
| typedef goMath::Matrix< type_ > | matrix_type |
| typedef goMath::OptFunction< matrix_type, vector_type > | function_type |
Public Member Functions | |
| NewtonOptEq (goAutoPtr< function_type > f, goAutoPtr< matrix_type > A=0, goAutoPtr< vector_type > b=0) | |
| Constructor. More... | |
| void | setEq (goAutoPtr< matrix_type > A, goAutoPtr< vector_type > b) |
Set the equality constraints . More... | |
| virtual void | solveDirect (vector_type &x) |
| Solve without line search. More... | |
| virtual void | solveLineSearch (vector_type &x) |
| virtual void | cleanup () |
| Frees temporary memory. | |
| void | initKKT (goSize_t sz) |
| Initialise the KKT system. More... | |
| virtual void | step (vector_type &x, vector_type &ret) |
| Calculate the newton step. More... | |
| void | setInfeasible (bool i) |
| Set infeasibile start point flag. More... | |
| bool | infeasible () const |
| Returns the infeasibile start point flag. More... | |
Public Member Functions inherited from goMath::NewtonOpt< type_ > | |
| NewtonOpt (goAutoPtr< function_type > f) | |
| Constructor. More... | |
| void | setF (goAutoPtr< function_type > f) |
| Sets the function to be minimised. More... | |
| virtual type_ | newtonDecrement (vector_type &x) |
Protected Attributes | |
| goAutoPtr< matrix_type > | myA |
| goAutoPtr< vector_type > | myB |
| matrix_type | myKKT_A |
| vector_type | myKKT_x |
| vector_type | myKKT_b |
| bool | myInfeasible |
Protected Attributes inherited from goMath::NewtonOpt< type_ > | |
| goAutoPtr< function_type > | myF |
| matrix_type | myHessian |
| LineSearch< function_type, vector_type > | myLineSearch |
Newton optimisation with linear equality constraints.
This is the infeasible start Newton method to solve
The Newton step is here calculated by solving
with H(F) the Hessian matrix of F.
|
inline |
|
inline |
Returns the infeasibile start point flag.
If true, the initial point may be infeasible.
|
inline |
Initialise the KKT system.
sets the equality constraint matrix A in the matrix
. The hessian H(F) must be filled by the step() method. If necessary, resizes the right hand side vector
of the system
| sz | Dimension of x. |
|
inline |
|
inline |
Set infeasibile start point flag.
| i | If true, the initial point is assumed infeasible. |
|
inlinevirtual |
Solve without line search.
Solves directly without line search. The initial point may be infeasible.
| x | Initial point |
Reimplemented from goMath::NewtonOpt< type_ >.
|
inlinevirtual |
Calculate the newton step.
| x | Point at which to calculate |
| ret | Contains the Newton step on return |
Reimplemented from goMath::NewtonOpt< type_ >.