ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL Class Referenceabstract

Node base clase for the primal QP solvers QPOPT and QPSOL. More...

#include <ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp>

Inheritance diagram for ConstrainedOptPack::QPSolverRelaxedQPOPTSOL:
Inheritance graph
[legend]

Public Types

enum  EInform
 
- Public Types inherited from ConstrainedOptPack::QPSolverRelaxed
enum  EOutputLevel
 Enumeration for the amount of output to create from solve_qp(). More...
 
enum  ERunTests
 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_intISTATE_t
 
typedef std::vector< f_intIWORK_t
 
typedef std::vector< f_dbl_precWORK_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

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_
 

Detailed Description

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.

Member Typedef Documentation

Member Enumeration Documentation

Constructor & Destructor Documentation

ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::QPSolverRelaxedQPOPTSOL ( )
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::~QPSolverRelaxedQPOPTSOL ( )

Member Function Documentation

const MatrixOp * ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::G ( ) const
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.

value_type ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::use_as_bigM ( ) const
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.

QPSolverStats ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::get_qp_stats ( ) const
virtual
void ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::release_memory ( )
virtual
QPSolverStats::ESolutionType ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::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 
)
protectedvirtual
virtual f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::liwork ( f_int  N,
f_int  NCLIN 
) const
protectedpure virtual

Length of integer workspace.

virtual f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::lrwork ( f_int  N,
f_int  NCLIN 
) const
protectedpure virtual

Length of real workspace.

virtual EInform ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::call_qp_solver ( bool  warm_start)
protectedpure virtual

Solve the QP defined in the protected input data members and set the solution in the protected output data members.

Member Data Documentation

f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::N_
protected
f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::NCLIN_
protected
DMatrix ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::A_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::BL_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::BU_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::CVEC_
protected
ISTATE_t ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::ISTATE_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::X_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::AX_
protected
DVector ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::CLAMDA_
protected
f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::ITER_
protected
f_dbl_prec ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::OBJ_
protected
f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::LIWORK_
protected
IWORK_t ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::IWORK_
protected
f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::LWORK_
protected
WORK_t ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::WORK_
protected

The documentation for this class was generated from the following files: