Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

rdOptimizationTarget Class Reference

This class provides an interface specification for optimizing redundant systems. More...

#include <rdOptimizationTarget.h>

Inheritance diagram for rdOptimizationTarget:

quadTarget rdDynamicFilter rdStaticTarget rosenTarget suContactTargetHorizontal suContactTargetRight suContactTargetVertical suDecompositionTarget suDecompTarget suTrackTarget suTrackTargetDynamic List of all members.

Public Member Functions

virtual ~rdOptimizationTarget ()
 Destructor.

 rdOptimizationTarget (int aNX=0)
 Construct an optimization target.

virtual int compute (double *x, double *p, double *c)=0
virtual int computeGradients (double *dx, double *x, double *dpdx, double *dcdx)=0
virtual int computePerformance (double *x, double *p)=0
virtual int computePerformanceGradient (double *x, double *dpdx)=0
virtual int computeConstraint (double *x, int i, double *c)=0
virtual int computeConstraintGradient (double *x, int i, double *dcdx)=0
virtual void setNX (int aNX)
 Set the number of controls.

int getNX ()
 Get the number of controls.

void setDX (double aVal)
 Set the derivative perturbation size for all controls.

void setDX (int aIndex, double aVal)
 Set the derivative perturbation size.

double getDX (int aIndex)
 Get the derivative perturbation size.

double * getDXArray ()
 Get a pointer to the vector of derivative perturbation sizes.

void setNEvaluations (int aN=0)
 Get the number of evaluations.

int getNEvaluations ()
 Get the number of evaluations.

int getNP ()
 Get the number of performance criteria.

int getNC ()
 Get the total number of constraints.

int getNCInequality ()
 Get the total number of inequality constraints.

int getNCInequalityNonlinear ()
 Get the number of nonlinear inequality constraints.

int getNCInequalityLinear ()
 Get the number of linear inequality constraints.

int getNCEquality ()
 Get the total number of equality constraints.

int getNCEqualityNonlinear ()
 Get the number of nonlinear equality constraints.

int getNCEqualityLinear ()
 Get the number of linear equality constraints.

bool isControlIndexValid (int aIndex)
 Is a control index valid?

void validatePerturbationSize (double &aSize)
 Ensure that a derivative perturbation is a valid size.


Static Public Attributes

const double SMALLDX = 1.0e-14
 Smallest allowable perturbation size for computing derivatives.


Protected Attributes

int _nEval
 Number of performance evaluations.

int _nx
 Number of controls.

int _np
 Number of performance criteria.

int _nineqn
 Number of nonlinear inequality constraints.

int _nineq
 Number of inequality constraints.

int _neqn
 Number of nonlinear equality constraints.

int _neq
 Number of equality constraints.

double * _dx
 Perturbation size for computing numerical derivatives.


Private Member Functions

void setNull ()
 Set NULL values for the member variables.


Detailed Description

This class provides an interface specification for optimizing redundant systems.

If a class represents a redundant system for which one would like to find a set of optimal controls, the class should inherit from this class and implement the virtual functions defined here.


Constructor & Destructor Documentation

rdOptimizationTarget::rdOptimizationTarget int  aNX = 0  ) 
 

Construct an optimization target.

Parameters:
aNX The number of controls.


Member Function Documentation

int rdOptimizationTarget::getNX  ) 
 

Get the number of controls.

Returns:
Number of controls.

void rdOptimizationTarget::setNX int  aNX  )  [virtual]
 

Set the number of controls.

The number of controls can be set at any time. However, the perturbation sizes for the controls (i.e., _dx) is destroyed. Therefore, the perturbation sizes must be reset.

Parameters:
aNX Number of controls.
See also:
setDX()


The documentation for this class was generated from the following files:
Generated on Wed Aug 20 02:17:12 2003 for Simulation Software by doxygen1.3