DART
6.7.3
|
#include <GradientDescentSolver.hpp>
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... | |
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() |
||
) |
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.
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.
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.
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).
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.
double dart::optimizer::GradientDescentSolver::UniqueProperties::mMaxRandomizationStep |
The largest permittable change in value when randomizing a configuration.
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.
double dart::optimizer::GradientDescentSolver::UniqueProperties::mStepSize |
Value of the fixed step size.