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

rdSQP Class Reference

This class provides methods for finding the optimal controls of a redundant system by applying sequential quadratic programming techniques. More...

#include <rdSQP.h>

List of all members.

Public Member Functions

virtual ~rdSQP ()
 Destructor.

 rdSQP (rdOptimizationTarget *aTarget)
 Construct an rdSQP instance based on an optimization target.

void setMaxIterations (int aMaxIter)
 Set the maximum number of iterations.

int getMaxIterations ()
 Get the maximum number of iterations.

void setConvergenceCriterion (double aMaxIter)
 Set the convergence criterion.

double getConvergenceCriterion ()
 Get the convergence criterion.

void setMaxEvaluations (int aMaxEval)
 Set the maximum number of function evaluations.

int getMaxEvaluations ()
 Get the maximum number of function evaluations.

void setLineConvergenceCriterion (double aMaxIter)
 Set the convergence criterion for the line search.

double getLineConvergenceCriterion ()
 Get the convergence criterion for the line search.

void setMinAlpha (double aMin)
 Set the minimum alpha.

double getMinAlpha ()
 Get the minimum alpha.

void setMaxAlpha (double aMax)
 Set the maximum alpha.

double getMaxAlpha ()
 Get the maximum alpha.

int computeOptimalControls (const double *xstart, double *x)
 Compute a set of optimal controls, given the current state of the optimization target.

void computeSearchDirection (int *status, double *x, double *p, double *dpdx, double *c, double *dcdx, double *alpha, double *dxda, double *mu)
 Compute a search direction which when followed will result in a reduction of the performance criterion while satisfying the constraints.

int lineSearch (double *x, double *dx, double *mu, double *xnew)
 Search in direction dx for a minimum.


Static Public Member Functions

void Delete (void *aPtr)
 Delete.

int CentralDifferences (rdOptimizationTarget *aTarget, double *dx, double *x, double *dpdx, double *dcdx)
 Compute derivatives of performance and constraints with respect to the controls by central differences.


Private Attributes

rdOptimizationTarget_target
int _nx
double * _xtmp
double * _dx
int _status
int _nc
int _nceq
double _p
double * _c
double * _cw
double * _dpdx
double * _dcdx
double * _dxda
int _nwd
int _nwi
double * _wd
int * _wi
int _statusOpt
int _maxIter
double _epsOpt
double _convergence
int _statusLine
int _mfc
double _epsLine
double _fact [4]
double _minAlpha
double _maxAlpha
double _firstAlpha
double _alpha [4]


Detailed Description

This class provides methods for finding the optimal controls of a redundant system by applying sequential quadratic programming techniques.


Member Function Documentation

int rdSQP::CentralDifferences rdOptimizationTarget aTarget,
double *  dx,
double *  x,
double *  dpdx,
double *  dcdx
[static]
 

Compute derivatives of performance and constraints with respect to the controls by central differences.

Note that the dimension of dcdx is dcdx[nc][nx+1] so that this matrix can be sent directly into paramopt.

Parameters:
dx An array of control perturbation values.
x Values of the controls at time t.
dpdx The derivatives of the performance criterion.
Returns:
-1 if an error is encountered, 0 otherwize.

int rdSQP::computeOptimalControls const double *  xstart,
double *  x
 

Compute a set of optimal controls, given the current state of the optimization target.

Parameters:
x Values of the controls at time t.
xopt Optimal values of the controls.
Returns:
-1 if an error is encountered, 0 otherwize.

void rdSQP::computeSearchDirection int *  status,
double *  x,
double *  p,
double *  dpdx,
double *  c,
double *  dcdx,
double *  alpha,
double *  dxda,
double *  mu
 

Compute a search direction which when followed will result in a reduction of the performance criterion while satisfying the constraints.

Parameters:
dx An array of control perturbation values.
x Values of the controls at time t.
dpdx The derivatives of the performance criterion.
Returns:
-1 if an error is encountered, 0 otherwize.


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