Simbody
Public Member Functions

SimTK::OptimizerSystem Class Reference

Abstract class which defines an objective/cost function which is optimized by and Optimizer object. More...

#include <Optimizer.h>

List of all members.

Public Member Functions

 OptimizerSystem ()
 OptimizerSystem (int nParameters)
virtual ~OptimizerSystem ()
virtual int objectiveFunc (const Vector &parameters, const bool new_parameters, Real &f) const
 Objective/cost function which is to be optimized; return 0 when successful.
virtual int gradientFunc (const Vector &parameters, const bool new_parameters, Vector &gradient) const
 Computes the gradient of the objective function; return 0 when successful.
virtual int constraintFunc (const Vector &parameters, const bool new_parameters, Vector &constraints) const
 Computes the value of the constraints; return 0 when successful.
virtual int constraintJacobian (const Vector &parameters, const bool new_parameters, Matrix &jac) const
 Computes Jacobian of the constraints; return 0 when successful.
virtual int hessian (const Vector &parameters, const bool new_parameters, Vector &gradient) const
 Computes Hessian of the objective function; return 0 when successful.
void setNumParameters (const int nParameters)
 Sets the number of parameters in the objective function.
void setNumEqualityConstraints (const int n)
 Sets the number of equality constraints.
void setNumInequalityConstraints (const int n)
 Sets the number of inequality constraints.
void setNumLinearEqualityConstraints (const int n)
 Sets the number of lineaer equality constraints.
void setNumLinearInequalityConstraints (const int n)
 Sets the number of lineaer inequality constraints.
void setParameterLimits (const Vector &lower, const Vector &upper)
 Set the upper and lower bounds on the paramters.
int getNumParameters () const
 Returns the number of parameters, that is, the number of variables that the Optimizer may adjust while searching for a solution.
int getNumConstraints () const
 Returns the total number of constraints.
int getNumEqualityConstraints () const
 Returns the number of equality constraints.
int getNumInequalityConstraints () const
 Returns the number of inequality constraints.
int getNumLinearEqualityConstraints () const
 Returns the number of linear equality constraints.
int getNumNonlinearEqualityConstraints () const
 Returns the number of nonlinear equality constraints.
int getNumLinearInequalityConstraints () const
 Returns the number of linear inequality constraints.
int getNumNonlinearInequalityConstraints () const
 Returns the number of linear inequality constraints.
bool getHasLimits () const
 Returns true if there are limits on the parameters.
void getParameterLimits (double **lower, double **upper) const
 Returns the limits on the allowed values of each parameter, as an array of lower bounds and an array of upper bounds, with assumed lengths matching the number of parameters.

Detailed Description

Abstract class which defines an objective/cost function which is optimized by and Optimizer object.

The OptimizerSystem also defines any constraints which must be satisfied.


Constructor & Destructor Documentation

SimTK::OptimizerSystem::OptimizerSystem ( ) [inline]
SimTK::OptimizerSystem::OptimizerSystem ( int  nParameters) [inline, explicit]
virtual SimTK::OptimizerSystem::~OptimizerSystem ( ) [inline, virtual]

Member Function Documentation

virtual int SimTK::OptimizerSystem::objectiveFunc ( const Vector parameters,
const bool  new_parameters,
Real &  f 
) const [inline, virtual]

Objective/cost function which is to be optimized; return 0 when successful.

This method must be supplied by concrete class.

virtual int SimTK::OptimizerSystem::gradientFunc ( const Vector parameters,
const bool  new_parameters,
Vector gradient 
) const [inline, virtual]

Computes the gradient of the objective function; return 0 when successful.

This method does not have to be supplied if a numerical gradient is used.

virtual int SimTK::OptimizerSystem::constraintFunc ( const Vector parameters,
const bool  new_parameters,
Vector constraints 
) const [inline, virtual]

Computes the value of the constraints; return 0 when successful.

This method must be supplied if the objective function has constraints.

virtual int SimTK::OptimizerSystem::constraintJacobian ( const Vector parameters,
const bool  new_parameters,
Matrix jac 
) const [inline, virtual]

Computes Jacobian of the constraints; return 0 when successful.

This method does not have to be supplied if a numerical jacobian is used.

virtual int SimTK::OptimizerSystem::hessian ( const Vector parameters,
const bool  new_parameters,
Vector gradient 
) const [inline, virtual]

Computes Hessian of the objective function; return 0 when successful.

This method does not have to be supplied if limited memory is used.

void SimTK::OptimizerSystem::setNumParameters ( const int  nParameters) [inline]

Sets the number of parameters in the objective function.

void SimTK::OptimizerSystem::setNumEqualityConstraints ( const int  n) [inline]

Sets the number of equality constraints.

void SimTK::OptimizerSystem::setNumInequalityConstraints ( const int  n) [inline]

Sets the number of inequality constraints.

void SimTK::OptimizerSystem::setNumLinearEqualityConstraints ( const int  n) [inline]

Sets the number of lineaer equality constraints.

void SimTK::OptimizerSystem::setNumLinearInequalityConstraints ( const int  n) [inline]

Sets the number of lineaer inequality constraints.

void SimTK::OptimizerSystem::setParameterLimits ( const Vector lower,
const Vector upper 
) [inline]

Set the upper and lower bounds on the paramters.

int SimTK::OptimizerSystem::getNumParameters ( ) const [inline]

Returns the number of parameters, that is, the number of variables that the Optimizer may adjust while searching for a solution.

int SimTK::OptimizerSystem::getNumConstraints ( ) const [inline]

Returns the total number of constraints.

int SimTK::OptimizerSystem::getNumEqualityConstraints ( ) const [inline]

Returns the number of equality constraints.

int SimTK::OptimizerSystem::getNumInequalityConstraints ( ) const [inline]

Returns the number of inequality constraints.

int SimTK::OptimizerSystem::getNumLinearEqualityConstraints ( ) const [inline]

Returns the number of linear equality constraints.

int SimTK::OptimizerSystem::getNumNonlinearEqualityConstraints ( ) const [inline]

Returns the number of nonlinear equality constraints.

int SimTK::OptimizerSystem::getNumLinearInequalityConstraints ( ) const [inline]

Returns the number of linear inequality constraints.

int SimTK::OptimizerSystem::getNumNonlinearInequalityConstraints ( ) const [inline]

Returns the number of linear inequality constraints.

bool SimTK::OptimizerSystem::getHasLimits ( ) const [inline]

Returns true if there are limits on the parameters.

void SimTK::OptimizerSystem::getParameterLimits ( double **  lower,
double **  upper 
) const [inline]

Returns the limits on the allowed values of each parameter, as an array of lower bounds and an array of upper bounds, with assumed lengths matching the number of parameters.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines