| MULTIBODY SIMULATION SOFTWARE - API documentation |
#include <CHsolvmin.h>


Public Member Functions | |
| ChOptimizer () | |
| virtual void | Copy (ChOptimizer *source) |
| virtual void | SetObjective (ChFx *mformula) |
| virtual ChFx * | GetObjective () |
| virtual void | SetObjectiveGrad (ChFx *mformula) |
| virtual ChFx * | GetObjectiveGrad () |
| virtual void | SetNumOfVars (int mv) |
| virtual int | GetNumOfVars () |
| double * | GetXv () |
| double * | GetXv_sup () |
| double * | GetXv_inf () |
| void | SetXv (double *mx) |
| void | SetXv_sup (double *mx) |
| void | SetXv_inf (double *mx) |
| double | Eval_fx (double x[]) |
| double | Eval_fx (const ChMatrix<> *x) |
| void | Eval_grad (double x[], double gr[]) |
| void | Eval_grad (const ChMatrix<> *x, ChMatrix<> *gr) |
| virtual int | PreOptimize () |
| virtual int | DoOptimize () |
| virtual int | PostOptimize () |
| virtual int | Optimize () |
| void | DoBreakCheck () |
Public Attributes | |
| bool | minimize |
| double | grad_step |
| double | opt_fx |
| char | err_message [200] |
| int | error_code |
| long | fx_evaluations |
| long | grad_evaluations |
| int(* | break_funct )() |
| int | break_cycles |
| int | user_break |
| int | break_cyclecounter |
Protected Attributes | |
| ChFx * | afunction |
| ChFx * | afunctionGrad |
| int | C_vars |
| double * | xv |
| double * | xv_sup |
| double * | xv_inf |
Base class for multi-variable optimization.
| chrono::ChOptimizer::ChOptimizer | ( | ) |
Ch_optimizer Base optimization engine member functions
| void chrono::ChOptimizer::DoBreakCheck | ( | ) |
Each break_cycles number of times this fx is called, the function break_funct() is evaluated (if any) and if positive, the variable user_break becomes true.
| double chrono::ChOptimizer::Eval_fx | ( | double | x[] | ) |
Returns the value of the functional, for given state of variables and with the given "database" multibody system. Here evaluates the string "function".
| void chrono::ChOptimizer::Eval_grad | ( | double | x[], |
| double | gr[] | ||
| ) |
Computes the gradient of objective function, for given state of variables. The gradient is stored into gr vector.
| int chrono::ChOptimizer::Optimize | ( | ) | [virtual] |
Does the three steps in sequence PreOptimize, DoOptimize, PostOptimize. The derived classes shouldn't need the definition of this method, because they just have to implement the DoOptimize.
| int chrono::ChOptimizer::PreOptimize | ( | ) | [virtual] |
Performs the optimization of the ChSystem pointed by "database" (or whatever object which can evaluate the string "function" and the "optvarlist") using the current parameters. Returns false if some error occured.
| virtual void chrono::ChOptimizer::SetNumOfVars | ( | int | mv | ) | [virtual] |
Set the number of optimization variables. Note: this must be set properly as the number of variables used in the objective function!
Reimplemented in chrono::ChOptimizerHybrid.
| virtual void chrono::ChOptimizer::SetObjectiveGrad | ( | ChFx * | mformula | ) | [virtual] |
Sets the objective function gradient (not mandatory, because if not set, the default bacward differentiation is used).
Reimplemented in chrono::ChOptimizerHybrid.
CHRONO::ENGINE