KrisLibrary
1.0.0
|
A newton's-method style solver for a NLP. More...
#include <NewtonSolver.h>
Public Member Functions | |
NewtonSolver (NonlinearProgram &nlp) | |
void | Init () |
Call to initialize the solver after setting the initial point x. | |
ConvergenceResult | Solve (int &maxIters) |
Use newton's method to solve the NLP using the given number of iters. | |
ConvergenceResult | LineSearch (Real &alpha) |
Real | Merit (const Vector &x, const Vector &a) const |
Public Attributes | |
NonlinearProgram & | origProblem |
state - x is the variable, a is the lagrange multipliers | |
InequalityBarrierNLP * | barrierProblem |
NonlinearProgram * | problem |
Vector | x |
Vector | a |
Vector | dx |
Vector | da |
Vector | bmin |
user settings | |
Vector | bmax |
Real | tolf |
Real | tolx |
int | verbose |
std::vector< Vector > * | S |
Matrix | H |
temp | |
Matrix | Hinv |
Matrix | A |
Matrix | AHA |
Matrix | mtemp |
Vector | res1 |
Vector | res2 |
Vector | vtemp |
A newton's-method style solver for a NLP.
NOTE: Not tested very thoroughly.
TODO: bound constraints bmin,bmax TODO: make this work for inequality constraints d(x) <= 0
ConvergenceResult NewtonSolver::LineSearch | ( | Real & | alpha | ) |
Performs a line search in direction (dx,da). returns MaxItersReached on normal exit