DART  6.10.1
dart::optimizer::GradientDescentSolver::Properties Struct Reference

#include <GradientDescentSolver.hpp>

Inheritance diagram for dart::optimizer::GradientDescentSolver::Properties:
dart::optimizer::Solver::Properties dart::optimizer::GradientDescentSolver::UniqueProperties

Public Member Functions

 Properties (const Solver::Properties &_solverProperties=Solver::Properties(), const UniqueProperties &_descentProperties=UniqueProperties())
 

Public Attributes

std::shared_ptr< ProblemmProblem
 Nonlinear optimization Problem to be solved. More...
 
double mTolerance
 The relative tolerance on the optimization parameters. More...
 
std::size_t mNumMaxIterations
 The maximum number of iterations that the solver should use. More...
 
std::size_t mIterationsPerPrint
 How many iterations between printing the Solver's progress to the terminal. More...
 
std::ostream * mOutStream
 Stream for printing the Solver's progress. Default is std::cout. More...
 
bool mPrintFinalResult
 Set to true if the final result should be printed to the terminal. More...
 
std::string mResultFile
 Publish the results of the optimization to a file. More...
 
double mStepSize
 Value of the fixed step size. More...
 
std::size_t mMaxAttempts
 Number of attempts to make before quitting. More...
 
std::size_t mPerturbationStep
 The number of steps between random perturbations being applied to the configuration. More...
 
double mMaxPerturbationFactor
 The random perturbation works as follows: A random point in the domain of the Problem is selected, and then a random step size between 0 and mMaxPerturbationFactor is selected. More...
 
double mMaxRandomizationStep
 The largest permittable change in value when randomizing a configuration. More...
 
double mDefaultConstraintWeight
 This is the weight that will be applied to any constraints that do not have a corresponding weight specified by mEqConstraintWeights or by mIneqConstraintWeights. More...
 
Eigen::VectorXd mEqConstraintWeights
 Vector of weights that should be applied to the equality constraints. More...
 
Eigen::VectorXd mIneqConstraintWeights
 Vector of weights that should be applied to the inequality constraints. More...
 

Constructor & Destructor Documentation

◆ Properties()

dart::optimizer::GradientDescentSolver::Properties::Properties ( const Solver::Properties _solverProperties = Solver::Properties(),
const UniqueProperties _descentProperties = UniqueProperties() 
)

Member Data Documentation

◆ mDefaultConstraintWeight

double dart::optimizer::GradientDescentSolver::UniqueProperties::mDefaultConstraintWeight
inherited

This is the weight that will be applied to any constraints that do not have a corresponding weight specified by mEqConstraintWeights or by mIneqConstraintWeights.

◆ mEqConstraintWeights

Eigen::VectorXd dart::optimizer::GradientDescentSolver::UniqueProperties::mEqConstraintWeights
inherited

Vector of weights that should be applied to the equality constraints.

If there are fewer components in this vector than there are equality constraints in the Problem, then the remaining equality constraints will be assigned a weight of mDefaultConstraintWeight.

◆ mIneqConstraintWeights

Eigen::VectorXd dart::optimizer::GradientDescentSolver::UniqueProperties::mIneqConstraintWeights
inherited

Vector of weights that should be applied to the inequality constraints.

If there are fewer components in this vector than there are inequality constraints in the Problem, then the remaining inequality constraints will be assigned a weight of mDefaultConstraintWeight.

◆ mIterationsPerPrint

std::size_t dart::optimizer::Solver::Properties::mIterationsPerPrint
inherited

How many iterations between printing the Solver's progress to the terminal.

Use 0 for no printing.

◆ mMaxAttempts

std::size_t dart::optimizer::GradientDescentSolver::UniqueProperties::mMaxAttempts
inherited

Number of attempts to make before quitting.

Each attempt will start from the next seed provided by the problem. Once there are no more seeds, random starting configurations will be used.

Set this to 0 to keep trying until a solution is found (the program will need to be interrupted in order to stop if no solution is being found).

◆ mMaxPerturbationFactor

double dart::optimizer::GradientDescentSolver::UniqueProperties::mMaxPerturbationFactor
inherited

The random perturbation works as follows: A random point in the domain of the Problem is selected, and then a random step size between 0 and mMaxPerturbationFactor is selected.

The configuration will take a step of that random step size towards the random point.

A maximum value of 1.0 is recommended for mMaxPerturbationFactor. A smaller value will result in smaller randomized perturbations. A value significantly larger than 1.0 could bias the configuration towards the boundary of the Problem domain.

◆ mMaxRandomizationStep

double dart::optimizer::GradientDescentSolver::UniqueProperties::mMaxRandomizationStep
inherited

The largest permittable change in value when randomizing a configuration.

◆ mNumMaxIterations

std::size_t dart::optimizer::Solver::Properties::mNumMaxIterations
inherited

The maximum number of iterations that the solver should use.

Use 0 for infinite iterations.

◆ mOutStream

std::ostream* dart::optimizer::Solver::Properties::mOutStream
inherited

Stream for printing the Solver's progress. Default is std::cout.

◆ mPerturbationStep

std::size_t dart::optimizer::GradientDescentSolver::UniqueProperties::mPerturbationStep
inherited

The number of steps between random perturbations being applied to the configuration.

Set this to 0 to never apply randomized perturbations.

◆ mPrintFinalResult

bool dart::optimizer::Solver::Properties::mPrintFinalResult
inherited

Set to true if the final result should be printed to the terminal.

◆ mProblem

std::shared_ptr<Problem> dart::optimizer::Solver::Properties::mProblem
inherited

Nonlinear optimization Problem to be solved.

◆ mResultFile

std::string dart::optimizer::Solver::Properties::mResultFile
inherited

Publish the results of the optimization to a file.

Leave this string empty to avoid publishing anything.

◆ mStepSize

double dart::optimizer::GradientDescentSolver::UniqueProperties::mStepSize
inherited

Value of the fixed step size.

◆ mTolerance

double dart::optimizer::Solver::Properties::mTolerance
inherited

The relative tolerance on the optimization parameters.

For example, the distance between the last parameters and the current parameters to be considered converged.