42 #ifndef QP_SOLVER_RELAXED_QPOPTSOL_H
43 #define QP_SOLVER_RELAXED_QPOPTSOL_H
47 #include "ConstrainedOptPack_QPSolverRelaxed.hpp"
48 #include "DenseLinAlgPack_DVectorClass.hpp"
49 #include "DenseLinAlgPack_DMatrixClass.hpp"
52 namespace ConstrainedOptPack {
69 typedef FortranTypes::f_int
f_int;
84 virtual const MatrixOp*
G()
const;
106 ,
const Vector& g,
const MatrixSymOp&
G
108 ,
const Vector* dL,
const Vector* dU
110 ,
const Vector* eL,
const Vector* eU
113 ,value_type* eta, VectorMutable* d
115 ,VectorMutable* mu, VectorMutable* Ed
116 ,VectorMutable* lambda, VectorMutable* Fd
205 typedef std::vector<f_int> ibnds_t;
212 ibnds_t i_inequ_bnds_;
216 value_type use_as_bigM_;
230 #endif // QP_SOLVER_RELAXED_QPOPTSOL_H
virtual f_int lrwork(f_int N, f_int NCLIN) const =0
Length of real workspace.
ERunTests
Enumeration for if to run internal tests or not.
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...
virtual f_int liwork(f_int N, f_int NCLIN) const =0
Length of integer workspace.
Solves Quadratic Programs (QPs) of several different forms while allowing a relaxation of the constra...
QPSolverRelaxedQPOPTSOL()
QPSolverStats get_qp_stats() const
std::vector< f_int > ISTATE_t
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...
~QPSolverRelaxedQPOPTSOL()
Node base clase for the primal QP solvers QPOPT and QPSOL.
Class for storing statistics about a run of a (active set?) QP solver.
EOutputLevel
Enumeration for the amount of output to create from solve_qp().
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)
FortranTypes::f_dbl_prec f_dbl_prec
virtual value_type use_as_bigM() const
Return the value of the "big M" used in the relaxation (called by QPHESS functions).
std::vector< f_int > IWORK_t
FortranTypes::f_logical f_logical
std::vector< f_dbl_prec > WORK_t
FortranTypes::f_int f_int
ESolutionType
Enumeration for the type of point returned from solve_qp(...).