DART  6.7.3
dart::optimizer::GradientDescentSolver::UniqueProperties Struct Reference

#include <GradientDescentSolver.hpp>

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

Public Member Functions

 UniqueProperties (double _stepMultiplier=0.1, std::size_t _maxAttempts=1, std::size_t _perturbationStep=0, double _maxPerturbationFactor=1.0, double _maxRandomizationStep=1e10, double _defaultConstraintWeight=1.0, Eigen::VectorXd _eqConstraintWeights=Eigen::VectorXd(), Eigen::VectorXd _ineqConstraintWeights=Eigen::VectorXd())
 

Public Attributes

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

◆ UniqueProperties()

dart::optimizer::GradientDescentSolver::UniqueProperties::UniqueProperties ( double  _stepMultiplier = 0.1,
std::size_t  _maxAttempts = 1,
std::size_t  _perturbationStep = 0,
double  _maxPerturbationFactor = 1.0,
double  _maxRandomizationStep = 1e10,
double  _defaultConstraintWeight = 1.0,
Eigen::VectorXd  _eqConstraintWeights = Eigen::VectorXd(),
Eigen::VectorXd  _ineqConstraintWeights = Eigen::VectorXd() 
)

Member Data Documentation

◆ mDefaultConstraintWeight

double dart::optimizer::GradientDescentSolver::UniqueProperties::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.

◆ mEqConstraintWeights

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

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

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.

◆ mMaxAttempts

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

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

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

The largest permittable change in value when randomizing a configuration.

◆ mPerturbationStep

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

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

Set this to 0 to never apply randomized perturbations.

◆ mStepSize

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

Value of the fixed step size.