MOOCHO (Single Doxygen Collection) Version of the Day
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL Class Reference

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

#include <ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp>

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

List of all members.

Public Types

enum  EInform { STRONG_LOCAL_MIN, WEAK_LOCAL_MIN, MAX_ITER_EXCEEDED, OTHER_ERROR }
  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.
virtual value_type use_as_bigM () const
 Return the value of the "big M" used in the relaxation (called by QPHESS functions).
QPSolverStats get_qp_stats () const
 
void release_memory ()
 

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.
virtual f_int lrwork (f_int N, f_int NCLIN) const =0
 Length of real workspace.
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.

Protected Attributes

QPSolverStats qp_stats_

Private Types

typedef std::vector< f_intibnds_t

Private Member Functions

 QPSolverRelaxedQPOPTSOL (const QPSolverRelaxedQPOPTSOL &)
QPSolverRelaxedQPOPTSOLoperator= (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_
 

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

Enumerator:
STRONG_LOCAL_MIN 
WEAK_LOCAL_MIN 
MAX_ITER_EXCEEDED 
OTHER_ERROR 

Definition at line 130 of file ConstrainedOptPack_QPSolverRelaxedQPOPTSOL.hpp.


Constructor & Destructor Documentation

ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::QPSolverRelaxedQPOPTSOL ( )
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::~QPSolverRelaxedQPOPTSOL ( )
ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::QPSolverRelaxedQPOPTSOL ( const QPSolverRelaxedQPOPTSOL ) [private]

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 
) [protected, virtual]
virtual f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::liwork ( f_int  N,
f_int  NCLIN 
) const [protected, pure virtual]

Length of integer workspace.

virtual f_int ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::lrwork ( f_int  N,
f_int  NCLIN 
) const [protected, pure virtual]

Length of real workspace.

virtual EInform ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::call_qp_solver ( bool  warm_start) [protected, pure virtual]

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

QPSolverRelaxedQPOPTSOL& ConstrainedOptPack::QPSolverRelaxedQPOPTSOL::operator= ( const QPSolverRelaxedQPOPTSOL ) [private]

Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines