MOOCHO (Single Doxygen Collection)
Version of the Day
|
Node base clase for the primal QP solvers QPOPT and QPSOL. More...
#include <ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp>
Public Types | |
enum | EInform { STRONG_LOCAL_MIN, WEAK_LOCAL_MIN, MAX_ITER_EXCEEDED, OTHER_ERROR } |
Public Types inherited from ConstrainedOptPack::QPSolverRelaxed | |
enum | EOutputLevel { PRINT_NONE = 0, PRINT_BASIC_INFO = 1, PRINT_ITER_SUMMARY = 2, PRINT_ITER_STEPS = 3, PRINT_ITER_ACT_SET = 4, PRINT_ITER_VECTORS = 5, PRINT_EVERY_THING = 6 } |
Enumeration for the amount of output to create from solve_qp() . More... | |
enum | ERunTests { RUN_TESTS, NO_TESTS } |
Enumeration for if to run internal tests or not. More... | |
Public Member Functions | |
QPSolverRelaxedQPOPTSOL () | |
~QPSolverRelaxedQPOPTSOL () | |
virtual const MatrixOp * | G () const |
Return a pointer to the matrix G to be used in the calculation of H*x by QPOPT and QPSOL. More... | |
virtual value_type | use_as_bigM () const |
Return the value of the "big M" used in the relaxation (called by QPHESS functions). More... | |
QPSolverStats | get_qp_stats () const |
void | release_memory () |
Public Member Functions inherited from ConstrainedOptPack::QPSolverRelaxed | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, infinite_bound) | |
Set the scalar that will be used to identigy infinite bounds. More... | |
QPSolverRelaxed () | |
virtual | ~QPSolverRelaxed () |
virtual QPSolverStats::ESolutionType | solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, value_type etaL, const Vector &dL, const Vector &dU, const MatrixOp &E, BLAS_Cpp::Transp trans_E, const Vector &b, const Vector &eL, const Vector &eU, const MatrixOp &F, BLAS_Cpp::Transp trans_F, const Vector &f, value_type *obj_d, value_type *eta, VectorMutable *d, VectorMutable *nu, VectorMutable *mu, VectorMutable *Ed, VectorMutable *lambda, VectorMutable *Fd) |
Solve the QP. More... | |
virtual QPSolverStats::ESolutionType | solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, value_type etaL, const Vector &dL, const Vector &dU, const MatrixOp &E, BLAS_Cpp::Transp trans_E, const Vector &b, const Vector &eL, const Vector &eU, value_type *obj_d, value_type *eta, VectorMutable *d, VectorMutable *nu, VectorMutable *mu, VectorMutable *Ed) |
Solve the QP without general equality constrants. More... | |
virtual QPSolverStats::ESolutionType | solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, value_type etaL, const Vector &dL, const Vector &dU, const MatrixOp &F, BLAS_Cpp::Transp trans_F, const Vector &f, value_type *obj_d, value_type *eta, VectorMutable *d, VectorMutable *nu, VectorMutable *lambda, VectorMutable *Fd) |
Solve the QP without general inequality constrants. More... | |
virtual QPSolverStats::ESolutionType | solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, const Vector &dL, const Vector &dU, value_type *obj_d, VectorMutable *d, VectorMutable *nu) |
Solve the QP without general equality or inequality constrants (no relaxation needed). More... | |
virtual QPSolverStats::ESolutionType | solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, value_type etaL, const Vector *dL, const Vector *dU, const MatrixOp *E, BLAS_Cpp::Transp trans_E, const Vector *b, const Vector *eL, const Vector *eU, const MatrixOp *F, BLAS_Cpp::Transp trans_F, const Vector *f, value_type *obj_d, value_type *eta, VectorMutable *d, VectorMutable *nu, VectorMutable *mu, VectorMutable *Ed, VectorMutable *lambda, VectorMutable *Fd) |
This is a more flexible function where the client can set different constraints to be included. More... | |
Protected Types | |
typedef std::vector< f_int > | ISTATE_t |
typedef std::vector< f_int > | IWORK_t |
typedef std::vector< f_dbl_prec > | WORK_t |
Protected Member Functions | |
QPSolverStats::ESolutionType | imp_solve_qp (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector &g, const MatrixSymOp &G, value_type etaL, const Vector *dL, const Vector *dU, const MatrixOp *E, BLAS_Cpp::Transp trans_E, const Vector *b, const Vector *eL, const Vector *eU, const MatrixOp *F, BLAS_Cpp::Transp trans_F, const Vector *f, value_type *obj_d, value_type *eta, VectorMutable *d, VectorMutable *nu, VectorMutable *mu, VectorMutable *Ed, VectorMutable *lambda, VectorMutable *Fd) |
virtual f_int | liwork (f_int N, f_int NCLIN) const =0 |
Length of integer workspace. More... | |
virtual f_int | lrwork (f_int N, f_int NCLIN) const =0 |
Length of real workspace. More... | |
virtual EInform | call_qp_solver (bool warm_start)=0 |
Solve the QP defined in the protected input data members and set the solution in the protected output data members. More... | |
Protected Member Functions inherited from ConstrainedOptPack::QPSolverRelaxed |
Protected Attributes | |
QPSolverStats | qp_stats_ |
Private Types | |
typedef std::vector< f_int > | ibnds_t |
Private Member Functions | |
QPSolverRelaxedQPOPTSOL (const QPSolverRelaxedQPOPTSOL &) | |
QPSolverRelaxedQPOPTSOL & | operator= (const QPSolverRelaxedQPOPTSOL &) |
Private Attributes | |
size_type | n_inequ_bnds_ |
ibnds_t | i_inequ_bnds_ |
value_type | bigM_ |
value_type | use_as_bigM_ |
const MatrixOp * | G_ |
Public Types | |
typedef FortranTypes::f_int | f_int |
typedef FortranTypes::f_dbl_prec | f_dbl_prec |
typedef FortranTypes::f_logical | f_logical |
Input/Output parameters common to both QPOPT and QPSOL | |
These are access and updated by subclasses that call QPOPT and QPSOL. | |
f_int | N_ |
f_int | NCLIN_ |
DMatrix | A_ |
DVector | BL_ |
DVector | BU_ |
DVector | CVEC_ |
ISTATE_t | ISTATE_ |
DVector | X_ |
DVector | AX_ |
DVector | CLAMDA_ |
f_int | ITER_ |
f_dbl_prec | OBJ_ |
f_int | LIWORK_ |
IWORK_t | IWORK_ |
f_int | LWORK_ |
WORK_t | WORK_ |
Node base clase for the primal QP solvers QPOPT and QPSOL.
In this implementation it is required that G
only support the MatrixOp
interface and is therefore quite flexible in the QPs it can solve.
Definition at line 60 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
typedef FortranTypes::f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::f_int |
Definition at line 69 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
typedef FortranTypes::f_dbl_prec ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::f_dbl_prec |
Definition at line 71 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
typedef FortranTypes::f_logical ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::f_logical |
Definition at line 73 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 123 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 125 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 127 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 205 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
Enumerator | |
---|---|
STRONG_LOCAL_MIN | |
WEAK_LOCAL_MIN | |
MAX_ITER_EXCEEDED | |
OTHER_ERROR |
Definition at line 130 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::QPSolverRelaxedQPOPTSOL | ( | ) |
Definition at line 115 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::~QPSolverRelaxedQPOPTSOL | ( | ) |
Definition at line 122 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
private |
|
virtual |
Return a pointer to the matrix G to be used in the calculation of H*x by QPOPT and QPSOL.
Definition at line 127 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
virtual |
Return the value of the "big M" used in the relaxation (called by QPHESS functions).
Definition at line 132 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
virtual |
Implements ConstrainedOptPack::QPSolverRelaxed.
Definition at line 140 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
virtual |
Implements ConstrainedOptPack::QPSolverRelaxed.
Definition at line 145 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
protectedvirtual |
Implements ConstrainedOptPack::QPSolverRelaxed.
Definition at line 151 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.cpp.
|
protectedpure virtual |
Length of integer workspace.
|
protectedpure virtual |
Length of real workspace.
|
protectedpure virtual |
Solve the QP defined in the protected input data members and set the solution in the protected output data members.
|
private |
|
protected |
Definition at line 142 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 152 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 154 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 156 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 158 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 160 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 162 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 164 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 166 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 168 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 170 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 172 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 174 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 176 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 178 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 180 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
protected |
Definition at line 182 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 210 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 212 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 215 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 216 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.
|
private |
Definition at line 217 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.