#include <Mathematics/PLDPSolverHerdt.hh>
Public Member Functions | |
| PLDPSolverHerdt (unsigned int CardU, double *iPu, double *Px, double *Pu, double *iLQ) | |
| Constructor. More... | |
| ~PLDPSolverHerdt () | |
| Destructor. More... | |
| int | SolveProblem (std::deque< PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t > &QueueOfLConstraintInequalitiesFreeFeet, std::deque< PatternGeneratorJRL::SupportFeet_t > &QueueOfSupportFeet, double *CstPartOfTheCostFunction, unsigned int NbOfConstraints, double *LinearPartOfConstraints, double *CstPartOfConstraints, double *XkYk, double *X, unsigned int NumberOfRemovedConstraints, unsigned int NbRemovedFootCstr, bool StartingSequence, unsigned int NumberSteps, bool CurrentStateChanged, double time) |
| Solve the optimization problem. More... | |
Protected Member Functions | |
| void | InitializeSolver (unsigned int NumberSteps) |
| void | AllocateMemoryForSolver (unsigned int NumberSteps) |
| double | ComputeAlpha (vector< unsigned int > &NewActivatedConstraints, unsigned int NumberSteps) |
| void | WriteCurrentZMPSolution (string filename, double *XkYk) |
Initial solution methods related | |
| int | ComputeInitialSolution (std::deque< PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t > &QueueOfLConstraintInequalitiesFreeFeet, std::deque< PatternGeneratorJRL::SupportFeet_t > &QueueOfSupportFeet, unsigned int NumberSteps, double *XkYk) |
| int | PrecomputeiPuPx (unsigned int NumberSteps) |
Projected descent direction methods related | |
| int | ComputeProjectedDescentDirection (unsigned int NumberSteps) |
| Compute Projected descent direction. More... | |
| int | ForwardSubstitution () |
| Forward substitution. First Phase EE^t v2 = v1 <-> LL^t v2 = v1 Now solving L y = v1. More... | |
| int | BackwardSubstitution () |
| Compute v2 q (14b) in Dimitrov 2009. Second phase a Now solving LL^t v2 = v1 <-> L y = v1 with L^t v2 = y y solved with first phase. So now we are looking for v2. More... | |
This class implements a two stage strategy to solve the following optimal problem:
| PLDPSolverHerdt::PLDPSolverHerdt | ( | unsigned int | CardU, |
| double * | iPu, | ||
| double * | Px, | ||
| double * | Pu, | ||
| double * | iLQ | ||
| ) |
Constructor.
| PLDPSolverHerdt::~PLDPSolverHerdt | ( | ) |
Destructor.
|
protected |
Allocate memory for solver.
|
protected |
|
protected |
Detecting violated constraints
|
protected |
|
protected |
Compute Projected descent direction.
|
protected |
|
protected |
Initialize the internal variables of the class.
|
protected |
| int PLDPSolverHerdt::SolveProblem | ( | std::deque< PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t > & | QueueOfLConstraintInequalitiesFreeFeet, |
| std::deque< PatternGeneratorJRL::SupportFeet_t > & | QueueOfSupportFeet, | ||
| double * | CstPartOfTheCostFunction, | ||
| unsigned int | NbOfConstraints, | ||
| double * | LinearPartOfConstraints, | ||
| double * | CstPartOfConstraints, | ||
| double * | XkYk, | ||
| double * | X, | ||
| unsigned int | NumberOfRemovedConstraints, | ||
| unsigned int | NbRemovedFootCstr, | ||
| bool | StartingSequence, | ||
| unsigned int | NumberSteps, | ||
| bool | CurrentStateChanged, | ||
| double | time | ||
| ) |