humoto
|
QP solver.
Solves hierarchy as an optimization problem of the following form: minimize 1/2* x' H x + x' g subject to lb <= x <= ub lbA <= A x <= ubA where 'x' is solution, 'H' – Hessian matrix, 'g' – gradient vector, 'lb' and 'ub' vectors of simple lower and upper bounds, 'Ax' – matrix of general constraints with bounds 'lbA' and 'ubA'.
#include <solver.h>
Public Member Functions | |
Solver () | |
Default constructor (with default parameters) More... | |
Solver (const SolverParameters ¶meters) | |
Set parameters. More... | |
~Solver () | |
Destructor. More... | |
void | log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="qpoases") const |
Log a QP problem. More... | |
void | setParameters (const SolverParameters ¶meters) |
Construct solver with specified parameters. More... | |
void | solve (humoto::Solution &solution, const humoto::OptimizationProblem &hierarchy) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (humoto::Solution &solution, const humoto::OptimizationProblem &hierarchy, const SolverParameters ¶meters) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (humoto::Solution &solution, const humoto::OptimizationProblem &hierarchy, const humoto::Solution &solution_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (Solution &solution, ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy, const ActiveSet &active_set_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (Solution &solution, const humoto::OptimizationProblem &hierarchy, const ActiveSet &active_set_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (humoto::Solution &solution, humoto::ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (Solution &solution, ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy, const humoto::Solution &solution_guess, const ActiveSet &active_set_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (Solution &solution, const humoto::OptimizationProblem &hierarchy, const humoto::Solution &solution_guess, const ActiveSet &active_set_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
void | solve (humoto::Solution &solution, humoto::ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy, const humoto::Solution &solution_guess) |
Solve an optimization problem (using previously specified parameters) More... | |
Protected Member Functions | |
virtual void | checkInputs (const humoto::OptimizationProblem &hierarchy) const |
void | checkResults (const humoto::Solution &solution) const |
Check return status and crash if it indicates a failure and crashing is enabled. More... | |
Protected Attributes | |
SolverParameters | parameters_ |
Private Member Functions | |
void | getActiveSet (humoto::ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy) |
Get active set. More... | |
void | initialize (const humoto::OptimizationProblem &hierarchy, const humoto::SolutionStructure &sol_structure) |
Initialize solver. More... | |
void | reset () |
Reset solver. More... | |
void | setActiveSet (const humoto::ActiveSet &active_set, const humoto::OptimizationProblem &hierarchy) |
Set active set guess. More... | |
void | setSolutionGuess (const humoto::Solution &solution_guess) |
Set solution guess. More... | |
void | solveHierarchy (humoto::Solution &solution, const humoto::OptimizationProblem &hierarchy) |
Solve the hierarchy. More... | |
Private Attributes | |
bool | active_set_guess_provided_ |
If set the active set is returned. More... | |
std::size_t | number_of_constraints_ |
Nonzero if constraints are specified. More... | |
qpOASES::QProblem * | qp_ |
humoto::QPProblem_ILU_ALU | qp_problem_ |
Eigen::VectorXd | qpoases_active_set_bounds_ |
Eigen::VectorXd | qpoases_active_set_constraints_ |
const double * | solution_guess_ |
Guess of the solution. More... | |
qpOASES::Bounds | qpoases_active_set_guess_bounds_ |
The active set guess for qpOASES. More... | |
qpOASES::Constraints | qpoases_active_set_guess_constraints_ |
|
inline |
|
inlineexplicit |
|
inlineprotectedvirtualinherited |
Reimplemented from humoto::Solver< SolverParameters >.
|
inlineprotectedinherited |
|
inlineprivatevirtual |
Get active set.
[out] | active_set | |
[in] | hierarchy |
Implements humoto::SolverGuessActiveSetMixin< Solver< SolverParameters > >.
|
inlineprivatevirtual |
Initialize solver.
[in] | hierarchy | hierarchy |
[in] | sol_structure | solution structure |
Implements humoto::Solver< SolverParameters >.
|
inline |
|
inlineprivatevirtual |
Reset solver.
Reimplemented from humoto::Solver< SolverParameters >.
|
inlineprivatevirtual |
Set active set guess.
[in] | hierarchy | |
[in] | active_set |
Implements humoto::SolverGuessActiveSetMixin< Solver< SolverParameters > >.
|
inlineinherited |
|
inlineprivatevirtual |
Set solution guess.
[in] | solution_guess |
Implements humoto::SolverGuessSolutionMixin< SolverGuessActiveSetMixin< Solver< SolverParameters > > >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprivatevirtual |
Solve the hierarchy.
[out] | solution | solution |
[in] | hierarchy | hierarchy |
Implements humoto::Solver< SolverParameters >.
|
private |
|
private |
|
protectedinherited |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |