ConstrainedOptPack::QPSolverRelaxedQPSchur Class Reference

Solves Quadratic Programming (QP) problems using QPSchur. More...

#include <ConstrainedOptPack_QPSolverRelaxedQPSchur.hpp>

Inheritance diagram for ConstrainedOptPack::QPSolverRelaxedQPSchur:

[legend]
List of all members.

Overridden from QPSolverRelaxed

QPSolverStats get_qp_stats () const
 
void release_memory ()
 

Overridden from QPSolverRelaxed

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)
 

Public Member Functions

 STANDARD_COMPOSITION_MEMBERS (InitKKTSystem, init_kkt_sys) STANDARD_COMPOSITION_MEMBERS(QPSchurPack
 Strategy object that sets up the initial KKT system. Constraints object. Set the maximum number of QP iterations as max_itr = max_qp_iter_frac * n. Set the maximum real run-time in minutes. Policy used to select a violated constraint.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (ELocalOutputLevel, print_level) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set the output level for QPSchur. Set the feasibility tolerance for the bound constriants.
bounds_tol STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, inequality_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set the feasibility tolerance for the general inequality constraints. Set the feasibility tolerance for the general equality constriants.
bounds_tol equality_tol STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, loose_feas_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set a looser feasibility tolerance ( > feas_tol ) Set the tolerence where a scaled Langrange multiplier is considered degenerate.
bounds_tol equality_tol dual_infeas_tol STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, huge_primal_step) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set the tolerence for the size of the step in the primal space that is considered to be a near infinite step. This is used to determine if the KKT system is near singular. Set the tolerence for the size of the step in the dual space that is considered to be a near infinite step. This is used to determine if the constriants are infeasible.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step 
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, bigM) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 <<std member="" comp="">> members for the Big M parameter used in the objective. <<std member="" comp="">> members for the warning tolerance for tests.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol 
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, error_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(size_type
 <<std member="" comp="">> members for the error tolerance for tests. Set the minimum number of refinement iterations to perform when using iterative refinement.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol
iter_refine_min_iter 
STANDARD_MEMBER_COMPOSITION_MEMBERS (size_type, iter_refine_max_iter) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set the maximum number of refinement iterations to perform when using iterative refinement. Set the maxinum scaled tolerance the residual of the optimality conditions must be before terminating iterative refinement.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol
iter_refine_min_iter iter_refine_opt_tol 
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, iter_refine_feas_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(bool
 Set the maxinum scaled tolerance the residual of the feasibility conditions must be before terminating iterative refinement. Set whether iterative refinement is automatically used once the solution is found.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol
iter_refine_min_iter iter_refine_opt_tol
iter_refine_at_solution 
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, pivot_warning_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type
 Set the relative tolerance for pivots in the schur complement under which a waning will be printed (see MatrixSymAddDelUpdateable) for near singular updates. Set the relative tolerance for pivots in the schur complement under which a singularity exception will be thrown (see MatrixSymAddDelUpdateable) for singular updates.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol
iter_refine_min_iter iter_refine_opt_tol
iter_refine_at_solution pivot_singular_tol 
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, pivot_wrong_inertia_tol) STANDARD_MEMBER_COMPOSITION_MEMBERS(bool
 Set the relative tolerance for pivots in the schur complement over which a wrong inertia exception will be throw (see MatrixSymAddDelUpdateable) for updates with the wrong inertia. Set whether equality constriants are to be added to the active set initialy to the schur complement or not.
bounds_tol equality_tol dual_infeas_tol
huge_dual_step warning_tol
iter_refine_min_iter iter_refine_opt_tol
iter_refine_at_solution pivot_singular_tol
add_equalities_initially 
QPSolverRelaxedQPSchur (const init_kkt_sys_ptr_t &init_kkt_sys=Teuchos::null, const constraints_ptr_t &constraints=Teuchos::rcp(new QPSchurPack::ConstraintsRelaxedStd), value_type max_qp_iter_frac=10.0, value_type max_real_runtime=1e+20, QPSchurPack::ConstraintsRelaxedStd::EInequalityPickPolicy inequality_pick_policy=QPSchurPack::ConstraintsRelaxedStd::ADD_BOUNDS_THEN_MOST_VIOLATED_INEQUALITY, ELocalOutputLevel print_level=USE_INPUT_ARG, value_type bounds_tol=-1.0, value_type inequality_tol=-1.0, value_type equality_tol=-1.0, value_type loose_feas_tol=-1.0, value_type dual_infeas_tol=-1.0, value_type huge_primal_step=-1.0, value_type huge_dual_step=-1.0, value_type bigM=1e+10, value_type warning_tol=1e-10, value_type error_tol=1e-5, size_type iter_refine_min_iter=1, size_type iter_refine_max_iter=3, value_type iter_refine_opt_tol=1e-12, value_type iter_refine_feas_tol=1e-12, bool iter_refine_at_solution=true, value_type pivot_warning_tol=1e-8, value_type pivot_singular_tol=1e-11, value_type pivot_wrong_inertia_tol=1e-11, bool add_equalities_initially=true)
 
 ~QPSolverRelaxedQPSchur ()
 

Detailed Description

Solves Quadratic Programming (QP) problems using QPSchur.

This is the only subclass needed for QPSchur. All of the specifics of how the initial KKT system is formed is delegated to a strategy object of type InitKKTSystem (see below).

Definition at line 50 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.hpp.


Constructor & Destructor Documentation

ConstrainedOptPack::QPSolverRelaxedQPSchur::QPSolverRelaxedQPSchur const init_kkt_sys_ptr_t &  init_kkt_sys = Teuchos::null,
const constraints_ptr_t &  constraints = Teuchos::rcp(new QPSchurPack::ConstraintsRelaxedStd),
value_type  max_qp_iter_frac = 10.0,
value_type  max_real_runtime = 1e+20,
QPSchurPack::ConstraintsRelaxedStd::EInequalityPickPolicy  inequality_pick_policy = QPSchurPack::ConstraintsRelaxedStd::ADD_BOUNDS_THEN_MOST_VIOLATED_INEQUALITY,
ELocalOutputLevel  print_level = USE_INPUT_ARG,
value_type  bounds_tol = -1.0,
value_type  inequality_tol = -1.0,
value_type  equality_tol = -1.0,
value_type  loose_feas_tol = -1.0,
value_type  dual_infeas_tol = -1.0,
value_type  huge_primal_step = -1.0,
value_type  huge_dual_step = -1.0,
value_type  bigM = 1e+10,
value_type  warning_tol = 1e-10,
value_type  error_tol = 1e-5,
size_type  iter_refine_min_iter = 1,
size_type  iter_refine_max_iter = 3,
value_type  iter_refine_opt_tol = 1e-12,
value_type  iter_refine_feas_tol = 1e-12,
bool  iter_refine_at_solution = true,
value_type  pivot_warning_tol = 1e-8,
value_type  pivot_singular_tol = 1e-11,
value_type  pivot_wrong_inertia_tol = 1e-11,
bool  add_equalities_initially = true
 

Definition at line 47 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.cpp.

ConstrainedOptPack::QPSolverRelaxedQPSchur::~QPSolverRelaxedQPSchur  ) 
 

Definition at line 102 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.cpp.


Member Function Documentation

ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_COMPOSITION_MEMBERS InitKKTSystem  ,
init_kkt_sys 
[inline]
 

Strategy object that sets up the initial KKT system. Constraints object. Set the maximum number of QP iterations as max_itr = max_qp_iter_frac * n. Set the maximum real run-time in minutes. Policy used to select a violated constraint.

Definition at line 185 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.hpp.

ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS ELocalOutputLevel  ,
print_level 
 

Set the output level for QPSchur. Set the feasibility tolerance for the bound constriants.

bounds_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
inequality_tol 
 

Set the feasibility tolerance for the general inequality constraints. Set the feasibility tolerance for the general equality constriants.

bounds_tol equality_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
loose_feas_tol 
 

Set a looser feasibility tolerance ( > feas_tol ) Set the tolerence where a scaled Langrange multiplier is considered degenerate.

bounds_tol equality_tol dual_infeas_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
huge_primal_step 
 

Set the tolerence for the size of the step in the primal space that is considered to be a near infinite step. This is used to determine if the KKT system is near singular. Set the tolerence for the size of the step in the dual space that is considered to be a near infinite step. This is used to determine if the constriants are infeasible.

bounds_tol equality_tol dual_infeas_tol huge_dual_step ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
bigM 
 

<<std member="" comp="">> members for the Big M parameter used in the objective. <<std member="" comp="">> members for the warning tolerance for tests.

bounds_tol equality_tol dual_infeas_tol huge_dual_step warning_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
error_tol 
 

<<std member="" comp="">> members for the error tolerance for tests. Set the minimum number of refinement iterations to perform when using iterative refinement.

bounds_tol equality_tol dual_infeas_tol huge_dual_step warning_tol iter_refine_min_iter ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS size_type  ,
iter_refine_max_iter 
 

Set the maximum number of refinement iterations to perform when using iterative refinement. Set the maxinum scaled tolerance the residual of the optimality conditions must be before terminating iterative refinement.

bounds_tol equality_tol dual_infeas_tol huge_dual_step warning_tol iter_refine_min_iter iter_refine_opt_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
iter_refine_feas_tol 
 

Set the maxinum scaled tolerance the residual of the feasibility conditions must be before terminating iterative refinement. Set whether iterative refinement is automatically used once the solution is found.

bounds_tol equality_tol dual_infeas_tol huge_dual_step warning_tol iter_refine_min_iter iter_refine_opt_tol iter_refine_at_solution ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
pivot_warning_tol 
 

Set the relative tolerance for pivots in the schur complement under which a waning will be printed (see MatrixSymAddDelUpdateable) for near singular updates. Set the relative tolerance for pivots in the schur complement under which a singularity exception will be thrown (see MatrixSymAddDelUpdateable) for singular updates.

bounds_tol equality_tol dual_infeas_tol huge_dual_step warning_tol iter_refine_min_iter iter_refine_opt_tol iter_refine_at_solution pivot_singular_tol ConstrainedOptPack::QPSolverRelaxedQPSchur::STANDARD_MEMBER_COMPOSITION_MEMBERS value_type  ,
pivot_wrong_inertia_tol 
 

Set the relative tolerance for pivots in the schur complement over which a wrong inertia exception will be throw (see MatrixSymAddDelUpdateable) for updates with the wrong inertia. Set whether equality constriants are to be added to the active set initialy to the schur complement or not.

QPSolverStats ConstrainedOptPack::QPSolverRelaxedQPSchur::get_qp_stats  )  const [virtual]
 

Implements ConstrainedOptPack::QPSolverRelaxed.

Definition at line 110 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.cpp.

void ConstrainedOptPack::QPSolverRelaxedQPSchur::release_memory  )  [virtual]
 

Implements ConstrainedOptPack::QPSolverRelaxed.

Definition at line 115 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.cpp.

QPSolverStats::ESolutionType ConstrainedOptPack::QPSolverRelaxedQPSchur::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]
 

Implements ConstrainedOptPack::QPSolverRelaxed.

Definition at line 121 of file ConstrainedOptPack_QPSolverRelaxedQPSchur.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:34:18 2008 for ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization by doxygen 1.3.9.1