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 Member Functions | List of all members
ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed Class Reference

Implementation of initial KKT system where all original variables are free and all the relaxation variables are fixed. More...

#include <ConstrainedOptPack_QPSchurInitKKTSystemHessianRelaxed.hpp>

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

Public Member Functions

void initialize_kkt_system (const DVectorSlice &g, const MatrixOp &G, value_type etaL, const SpVectorSlice &dL, const SpVectorSlice &dU, const MatrixOp *F, BLAS_Cpp::Transp trans_F, const DVectorSlice *f, const DVectorSlice &d, const SpVectorSlice &nu, size_type *n_R, i_x_free_t *i_x_free, i_x_fixed_t *i_x_fixed, bnd_fixed_t *bnd_fixed, j_f_decomp_t *j_f_decomp, DVector *b_X, Ko_ptr_t *Ko, DVector *fo) const
 Initialize the KKT system where the original variables are initiallly free and all the relaxation variables are fixed and their are no constraints in Ko. More...
 
- Public Member Functions inherited from ConstrainedOptPack::QPSchurInitKKTSystemHessianFull
void initialize_kkt_system (const Vector &g, const MatrixOp &G, value_type etaL, const Vector *dL, const Vector *dU, const MatrixOp *F, BLAS_Cpp::Transp trans_F, const Vector *f, const Vector *d, const Vector *nu, size_type *n_R, i_x_free_t *i_x_free, i_x_fixed_t *i_x_fixed, bnd_fixed_t *bnd_fixed, j_f_decomp_t *j_f_decomp, DVector *b_X, Ko_ptr_t *Ko, DVector *fo) const
 Initialize the KKT system where all variables (except the relaxation variable) are initially free and no constraints are in Ko. More...
 
- Public Member Functions inherited from ConstrainedOptPack::QPSolverRelaxedQPSchur::InitKKTSystem
virtual ~InitKKTSystem ()
 

Additional Inherited Members

- Public Types inherited from ConstrainedOptPack::QPSolverRelaxedQPSchur::InitKKTSystem
typedef std::vector< size_typei_x_free_t
 
typedef std::vector< size_typei_x_fixed_t
 
typedef std::vector< EBounds > bnd_fixed_t
 
typedef std::vector< size_typej_f_decomp_t
 
typedef Teuchos::RCP< const
MatrixSymOpNonsing > 
Ko_ptr_t
 

Detailed Description

Implementation of initial KKT system where all original variables are free and all the relaxation variables are fixed.

In this implementation, #G# should support the {MatrixSymHessianRelaxNonSing} interface. Otherwise, it will try the {MatrixSymWithOpFactorized} interface using the base implementation of {QPSchurInitKKTSystemHessianFull}.

Definition at line 57 of file ConstrainedOptPack_QPSchurInitKKTSystemHessianRelaxed.hpp.

Member Function Documentation

void ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed::initialize_kkt_system ( const DVectorSlice &  g,
const MatrixOp &  G,
value_type  etaL,
const SpVectorSlice &  dL,
const SpVectorSlice &  dU,
const MatrixOp *  F,
BLAS_Cpp::Transp  trans_F,
const DVectorSlice *  f,
const DVectorSlice &  d,
const SpVectorSlice &  nu,
size_type n_R,
i_x_free_t i_x_free,
i_x_fixed_t i_x_fixed,
bnd_fixed_t bnd_fixed,
j_f_decomp_t j_f_decomp,
DVector *  b_X,
Ko_ptr_t Ko,
DVector *  fo 
) const

Initialize the KKT system where the original variables are initiallly free and all the relaxation variables are fixed and their are no constraints in Ko.

The Hessian for the QP without the relaxation #G# is represented as a {MatrixSymHessianRelaxNonSing} object and is: {verbatim} G = [ G_orig ] [ M ] {verbatim} If #G# does not support the interface #MatrixSymHessianRelaxNonSing# then the function #QPSchurInitKKTSystemHessianFull::initialize_kkt_system(...)# will be called.

Given the above parts of #G#, define: #[no,no] = size(G.G)# and #[nr,nr] = size(G.M)#. Then initial KKT system is defined as:

#n_R = no#\ #i_x_free.size() == 0# and #i_x_free is implicitly identity#\ #i_x_fixed[l-1] = no + l, l = 1...nr#\ #i_x_fixed[nr] = no+nr+1#\ #bnd_fixed[l-1] = LOWER, l = 1...nr#\ #bnd_fixed[nr] = LOWER#\ #j_f_decomp[] = empty#\ #b_X[l-1] = dL(no+l), l = 1...nr#\ #b_X[nr] = etaL#\ #Ko = G.G#\ #fo = - g(1:no)#\\


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