humoto
|
Constraints abstract interface class.
Definition at line 376 of file constraints_base.h.
#include <constraints_base.h>
Public Member Functions | |
virtual void | addATAandATb (Eigen::MatrixXd &H, Eigen::VectorXd &g) const |
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g. More... | |
virtual void | checkConsistency () const =0 |
Check consistency of the constraints. More... | |
virtual void | computeViolations (ViolationsConstraints &violations, const Location &location, const Solution &solution) const =0 |
Compute violations given a solution vector. More... | |
virtual void | copyBodyTo (Eigen::MatrixXd &A, const Location &location) const =0 |
Copy body to the given matrix. More... | |
virtual void | copyBoundsTo (Eigen::VectorXd &lb, Eigen::VectorXd &ub, const Location &location) const =0 |
Copy bounds to given vectors. More... | |
virtual void | copyNegativeBodyTo (Eigen::MatrixXd &A, const Location &location) const =0 |
Copy negated body to the given matrix. More... | |
virtual std::size_t | copyTo (ContainerILU &container, const std::size_t constraints_offset) const |
Set constraints. More... | |
virtual std::size_t | copyTo (ContainerAL &container, const std::size_t constraints_offset) const |
Copy constraints to a container. More... | |
virtual std::size_t | copyTo (ContainerAB &container, const std::size_t constraints_offset) const |
Copy constraints to a container. More... | |
virtual std::size_t | copyTo (ContainerALU &container, const std::size_t constraints_offset) const |
Copy constraints to a container. More... | |
virtual void | determineActiveSet (ActiveSetConstraints &active_set, const Location &location, const Solution &solution) const =0 |
Determine active set given a solution vector. More... | |
virtual void | getATAandATb (Eigen::MatrixXd &H, Eigen::VectorXd &g) const |
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g. More... | |
Location | getCopyLocation (const std::size_t number_of_constraints, const std::size_t constraints_offset, const std::size_t number_of_variables) const |
Computes location of the copied constraints in a container and verifies their consistency. More... | |
virtual std::size_t | getNumberOfConstraints () const =0 |
Returns number of constraints in the task. More... | |
std::size_t | getNumberOfVariables () const |
Returns number of variables in the task. More... | |
virtual ConstraintType::Type | getType () const =0 |
Returns type of the constraints. More... | |
bool | isEquality () const |
Check properties of the constriaints. More... | |
bool | isSimple () const |
Check properties of the constriaints. More... | |
bool | isTwoSidedInequality () const |
Check properties of the constriaints. More... | |
void | log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="constraints") const |
Log data. More... | |
Protected Member Functions | |
ConstraintsBase () | |
~ConstraintsBase () | |
Protected destructor: prevent destruction of the child classes through a base pointer. More... | |
virtual void | logBody (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="constraints") const =0 |
Log body. More... | |
virtual void | logBounds (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="constraints") const =0 |
Log bounds. More... | |
void | reset (const std::size_t number_of_constraints=0, const std::size_t number_of_variables=0, const bool initialize_matrices=false) |
Initialize constraints. More... | |
virtual void | resetBody (const std::size_t number_of_constraints=0, const bool initialize_matrices=false)=0 |
Reset body of constraints (matrix A or I) More... | |
virtual void | resetBounds (const std::size_t number_of_constraints=0, const bool initialize_matrices=false)=0 |
Reset bounds of constraints (b, lb, ub) More... | |
void | setNumberOfVariables (const std::size_t number_of_variables) |
Set number of variables. More... | |
Protected Attributes | |
std::size_t | number_of_variables_ |
|
inlineprotected |
Protected destructor: prevent destruction of the child classes through a base pointer.
Definition at line 383 of file constraints_base.h.
|
inlineprotected |
Definition at line 386 of file constraints_base.h.
|
inlinevirtual |
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
[in,out] | H | left lower triangular part of the result. |
[in,out] | g | result |
Reimplemented in humoto::constraints::ConstraintsIB0< TaskBase >, humoto::constraints::ConstraintsIB< TaskBase >, humoto::constraints::ConstraintsGIB0< TaskBase >, humoto::constraints::ConstraintsGIB< TaskBase >, humoto::constraints::ConstraintsASB0< TaskBase >, humoto::constraints::ConstraintsASB< TaskBase >, humoto::constraints::ConstraintsAB0< TaskBase >, and humoto::constraints::ConstraintsAB< TaskBase >.
Definition at line 443 of file constraints_base.h.
|
pure virtual |
Check consistency of the constraints.
Implemented in humoto::constraints::ConstraintsIB0< TaskBase >, humoto::constraints::ConstraintsIB< TaskBase >, humoto::constraints::ConstraintsIU< TaskBase >, humoto::constraints::ConstraintsIL< TaskBase >, humoto::constraints::ConstraintsILU< TaskBase >, humoto::constraints::ConstraintsGIB0< TaskBase >, humoto::constraints::ConstraintsGIB< TaskBase >, humoto::constraints::ConstraintsGIU< TaskBase >, humoto::constraints::ConstraintsGIL< TaskBase >, humoto::constraints::ConstraintsGILU< TaskBase >, humoto::constraints::ConstraintsASB0< TaskBase >, humoto::constraints::ConstraintsASB< TaskBase >, humoto::constraints::ConstraintsASU< TaskBase >, humoto::constraints::ConstraintsASL< TaskBase >, humoto::constraints::ConstraintsASLU< TaskBase >, humoto::constraints::ConstraintsAB0< TaskBase >, humoto::constraints::ConstraintsAB< TaskBase >, humoto::constraints::ConstraintsAU< TaskBase >, humoto::constraints::ConstraintsAL< TaskBase >, and humoto::constraints::ConstraintsALU< TaskBase >.
|
pure virtual |
Compute violations given a solution vector.
[in,out] | violations | violations |
[in] | location | location of the constraints in the active set |
[in] | solution | solution vector |
Implemented in humoto::constraints::ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsB0Mixin< TaskBase > > > >, humoto::constraints::ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsB0Mixin< TaskBase > > > >, humoto::constraints::ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsB0Mixin< TaskBase > > > >, humoto::constraints::ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsB0Mixin< TaskBase > > > >, humoto::constraints::ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsBMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsBMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsBMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyASMixin< BoundsUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyGIMixin< BoundsUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyAMixin< BoundsUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyASMixin< BoundsLMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyAMixin< BoundsLMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyGIMixin< BoundsLMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > >, humoto::constraints::ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > >, and humoto::constraints::ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > >.
|
pure virtual |
Copy body to the given matrix.
[in] | A | |
[in] | location | offset and length |
Implemented in humoto::constraints::BodyGIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< TaskBase > >, and humoto::constraints::BodyAMixin< BoundsUMixin< TaskBase > >.
|
pure virtual |
Copy bounds to given vectors.
[in] | lb | |
[in] | ub | |
[in] | location | offset and length |
Implemented in humoto::constraints::BoundsLUMixin< TaskBase >, humoto::constraints::BoundsUMixin< TaskBase >, humoto::constraints::BoundsLMixin< TaskBase >, humoto::constraints::BoundsLMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BoundsBMixin< TaskBase >, and humoto::constraints::BoundsB0Mixin< TaskBase >.
|
pure virtual |
Copy negated body to the given matrix.
[in] | A | |
[in] | location | offset and length |
Implemented in humoto::constraints::BodyGIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< TaskBase > >, and humoto::constraints::BodyAMixin< BoundsUMixin< TaskBase > >.
|
inlinevirtual |
Set constraints.
[in,out] | container | new constraints |
[in] | constraints_offset | first row offset |
Reimplemented in humoto::constraints::CopySimpleToILUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsBMixin< TaskBase > > > > > >, humoto::constraints::CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > >, humoto::constraints::CopySimpleToILUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > > > >, humoto::constraints::CopySimpleToILUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > > > >, and humoto::constraints::CopySimpleToILUMixin< CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsB0Mixin< TaskBase > > > > > >.
Definition at line 457 of file constraints_base.h.
|
inlinevirtual |
Copy constraints to a container.
[in,out] | container | |
[in] | constraints_offset | first row offset |
Reimplemented in humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyAMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyASMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyGIMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyAMixin< BoundsLMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyASMixin< BoundsLMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyGIMixin< BoundsLMixin< TaskBase > > > > > >, and humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > >.
Definition at line 472 of file constraints_base.h.
|
inlinevirtual |
Copy constraints to a container.
[in,out] | container | |
[in] | constraints_offset | first row offset |
Reimplemented in humoto::constraints::CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsBMixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsBMixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsB0Mixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsBMixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsB0Mixin< TaskBase > > > > >, humoto::constraints::CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsB0Mixin< TaskBase > > > > >, and humoto::constraints::CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsB0Mixin< TaskBase > > > > >.
Definition at line 487 of file constraints_base.h.
|
inlinevirtual |
Copy constraints to a container.
[in,out] | container | |
[in] | constraints_offset | first row offset |
Reimplemented in humoto::constraints::CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyASMixin< BoundsUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsBMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyGIMixin< BoundsUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyAMixin< BoundsLMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyAMixin< BoundsB0Mixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyAMixin< BoundsUMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< CopySimpleToILUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsBMixin< TaskBase > > > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsB0Mixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyASMixin< BoundsLMixin< TaskBase > > > > >, humoto::constraints::CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< CopySimpleToILUMixin< CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyIMixin< BoundsB0Mixin< TaskBase > > > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyGIMixin< BoundsBMixin< TaskBase > > > > > >, humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationB0Mixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsB0Mixin< TaskBase > > > > > >, and humoto::constraints::CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyGIMixin< BoundsLMixin< TaskBase > > > > >.
Definition at line 502 of file constraints_base.h.
|
pure virtual |
Determine active set given a solution vector.
[in,out] | active_set | active set |
[in] | location | location of the constraints in the active set |
[in] | solution | solution vector |
Implemented in humoto::constraints::ActiveSetDeterminationBMixin< BodyAMixin< BoundsBMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyAMixin< BoundsB0Mixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyGIMixin< BoundsB0Mixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyIMixin< BoundsBMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyASMixin< BoundsB0Mixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyIMixin< BoundsB0Mixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationBMixin< BodyGIMixin< BoundsBMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationUMixin< BodyASMixin< BoundsUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationUMixin< BodyGIMixin< BoundsUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationUMixin< BodyAMixin< BoundsUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLMixin< BodyASMixin< BoundsLMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLMixin< BodyGIMixin< BoundsLMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLMixin< BodyAMixin< BoundsLMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > >, humoto::constraints::ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > >, and humoto::constraints::ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > >.
|
inlinevirtual |
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
[in,out] | H | left lower triangular part of the result. |
[in,out] | g | result |
Reimplemented in humoto::constraints::ConstraintsIB0< TaskBase >, humoto::constraints::ConstraintsIB< TaskBase >, humoto::constraints::ConstraintsGIB0< TaskBase >, humoto::constraints::ConstraintsGIB< TaskBase >, humoto::constraints::ConstraintsASB0< TaskBase >, humoto::constraints::ConstraintsASB< TaskBase >, humoto::constraints::ConstraintsAB0< TaskBase >, and humoto::constraints::ConstraintsAB< TaskBase >.
Definition at line 436 of file constraints_base.h.
|
inlineinherited |
Computes location of the copied constraints in a container and verifies their consistency.
[in] | number_of_constraints | number of added constraints |
[in] | constraints_offset | offset in the container |
[in] | number_of_variables | number of variables in the container |
Definition at line 262 of file constraints_base.h.
|
pure virtualinherited |
Returns number of constraints in the task.
Implemented in humoto::constraints::BodyIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsUMixin< TaskBase > >, and humoto::constraints::BodyAMixin< BoundsBMixin< ContainerBase > >.
|
inlineinherited |
Returns number of variables in the task.
Definition at line 215 of file constraints_base.h.
|
pure virtual |
Returns type of the constraints.
Implemented in humoto::constraints::ConstraintsIB0< TaskBase >, humoto::constraints::ConstraintsIB< TaskBase >, humoto::constraints::ConstraintsIU< TaskBase >, humoto::constraints::ConstraintsIL< TaskBase >, humoto::constraints::ConstraintsILU< TaskBase >, humoto::constraints::ConstraintsGIB0< TaskBase >, humoto::constraints::ConstraintsGIB< TaskBase >, humoto::constraints::ConstraintsGIU< TaskBase >, humoto::constraints::ConstraintsGIL< TaskBase >, humoto::constraints::ConstraintsGILU< TaskBase >, humoto::constraints::ConstraintsASB0< TaskBase >, humoto::constraints::ConstraintsASB< TaskBase >, humoto::constraints::ConstraintsASU< TaskBase >, humoto::constraints::ConstraintsASL< TaskBase >, humoto::constraints::ConstraintsASLU< TaskBase >, humoto::constraints::ConstraintsAB0< TaskBase >, humoto::constraints::ConstraintsAB< TaskBase >, humoto::constraints::ConstraintsAU< TaskBase >, humoto::constraints::ConstraintsAL< TaskBase >, and humoto::constraints::ConstraintsALU< TaskBase >.
|
inline |
Check properties of the constriaints.
Definition at line 523 of file constraints_base.h.
|
inline |
Check properties of the constriaints.
Definition at line 529 of file constraints_base.h.
|
inline |
Check properties of the constriaints.
Definition at line 535 of file constraints_base.h.
|
inlineinherited |
Log data.
[in,out] | logger | logger |
[in] | parent | parent |
[in] | name | name |
Definition at line 238 of file constraints_base.h.
|
protectedpure virtualinherited |
Log body.
[in,out] | logger | logger |
[in] | parent | parent |
[in] | name | name |
Implemented in humoto::constraints::BodyGIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsUMixin< TaskBase > >, and humoto::constraints::BodyAMixin< BoundsBMixin< ContainerBase > >.
|
protectedpure virtualinherited |
Log bounds.
[in,out] | logger | logger |
[in] | parent | parent |
[in] | name | name |
Implemented in humoto::constraints::BoundsLUMixin< TaskBase >, humoto::constraints::BoundsLUMixin< ContainerBase >, humoto::constraints::BoundsUMixin< TaskBase >, humoto::constraints::BoundsUMixin< ContainerBase >, humoto::constraints::BoundsLMixin< TaskBase >, humoto::constraints::BoundsLMixin< BoundsUMixin< ContainerBase > >, humoto::constraints::BoundsLMixin< ContainerBase >, humoto::constraints::BoundsLMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BoundsBMixin< TaskBase >, humoto::constraints::BoundsBMixin< ContainerBase >, and humoto::constraints::BoundsB0Mixin< TaskBase >.
|
inlineprotectedinherited |
Initialize constraints.
[in] | number_of_constraints | number of constraints |
[in] | number_of_variables | number of variables |
[in] | initialize_matrices | initialize matrices using defaults |
Definition at line 175 of file constraints_base.h.
|
protectedpure virtualinherited |
Reset body of constraints (matrix A or I)
[in] | number_of_constraints | number of constraints |
[in] | initialize_matrices | initialize matrices using defaults |
Implemented in humoto::constraints::BodyGIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyGIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyIMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyIMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyASMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsBMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsB0Mixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLUMixin< ContainerBase > >, humoto::constraints::BodyAMixin< BoundsLMixin< TaskBase > >, humoto::constraints::BodyAMixin< BoundsUMixin< TaskBase > >, and humoto::constraints::BodyAMixin< BoundsBMixin< ContainerBase > >.
|
protectedpure virtualinherited |
Reset bounds of constraints (b, lb, ub)
[in] | number_of_constraints | number of constraints |
[in] | initialize_matrices | initialize matrices using defaults |
Implemented in humoto::constraints::BoundsLUMixin< TaskBase >, humoto::constraints::BoundsLUMixin< ContainerBase >, humoto::constraints::BoundsUMixin< TaskBase >, humoto::constraints::BoundsUMixin< ContainerBase >, humoto::constraints::BoundsLMixin< TaskBase >, humoto::constraints::BoundsLMixin< BoundsUMixin< ContainerBase > >, humoto::constraints::BoundsLMixin< ContainerBase >, humoto::constraints::BoundsLMixin< BoundsUMixin< TaskBase > >, humoto::constraints::BoundsBMixin< TaskBase >, humoto::constraints::BoundsBMixin< ContainerBase >, and humoto::constraints::BoundsB0Mixin< TaskBase >.
|
inlineprotectedinherited |
Set number of variables.
[in] | number_of_variables | number of variables |
Definition at line 142 of file constraints_base.h.
|
protectedinherited |
Definition at line 120 of file constraints_base.h.