MOOCHO (Single Doxygen Collection)
Version of the Day
|
Namespaces | |
QPSchurPack | |
Classes | |
class | DecompositionSystem |
This class abstracts a decomposition choice for the quasi-range space Y and null space Z matrices for a linearly independent set of columns of Gc. More... | |
class | DecompositionSystemCoordinate |
Coordinate variable reduction subclass. More... | |
class | DecompositionSystemOrthogonal |
Orthogonal variable reduction subclass. More... | |
class | DecompositionSystemTester |
Testing class for DecompositionSystem interface. More... | |
class | DecompositionSystemTesterSetOptions |
Set options for DecompositionSystemTester from an OptionsFromStream object. More... | |
class | DecompositionSystemVarReduct |
Specialization of DecompositionSystem for variable reduction decompositions. More... | |
class | DecompositionSystemVarReductImp |
Specialization node implementation subclass of DecompositionSystem for variable reduction decompositions. More... | |
class | DecompositionSystemVarReductPerm |
Specialization interface of DecompositonSystem that allows basis permutations. More... | |
class | DecompositionSystemVarReductPermStd |
Concreate subclass of DecompositionSystemVarReductPerm that uses an aggregate DecompostionSystemVarReductImp object. More... | |
class | DirectLineSearch_Strategy |
Abstract strategy interface for 1D line searches {abstract}. More... | |
class | DirectLineSearchArmQuad_Strategy |
Performs a line search using the Armijo condition and uses quadratic interpolation to select each new alpha. More... | |
class | DirectLineSearchArmQuad_StrategySetOptions |
Set options for DirectLineSearchArmQuad_Strategy from a OptionsFromStream object. More... | |
class | MeritFuncCalc |
Abstract iterface for n-D merit functions {abstract}. More... | |
class | MeritFuncCalc1D |
Abstracts a 1D merit function {abstract}. More... | |
class | MeritFuncCalc1DQuadratic |
Adds the ability to compute phi(alpha) at alpha of a given set of vectors. More... | |
class | MeritFuncCalcNLE |
Adds the ability to compute phi(c(x)) at x directly instead of having to compute c first. This class uses an aggregate NLP to perform the computations of c(x). More... | |
class | MeritFuncCalcNLP |
Adds the ability to compute phi(f(x),c(x),h(x)) at x directly instead of having to compute f, c and h first. This class uses an aggregate NLP to perform the computations of f(x) c(x) and h(x). More... | |
class | MeritFuncNLE |
Base class for all merit functions for systems of NonLinear Equations (NLE) {abstract}. More... | |
class | MeritFuncNLESqrResid |
A merit function for the square of the constriant values. More... | |
class | MeritFuncNLP |
Base class for all merit functions for NonLinear Programs (NLP) {abstract}. More... | |
class | MeritFuncNLPDirecDeriv |
This class provides a mix-in interface for allowing subclass merit functions to compute the directional 1D derivative at a base point. More... | |
class | MeritFuncNLPL1 |
The L1 merit function. More... | |
class | MeritFuncNLPModL1 |
The modified L1 merit function using different penatly parameters for each constriant. More... | |
class | MeritFuncPenaltyParam |
This class provides interface for setting and retrieving a penalty parameter that many merit functions use {abstract}. More... | |
class | MeritFuncPenaltyParams |
This class provides interface for setting and retrieving a penalty parameter that many merit functions use {abstract}. More... | |
class | MatrixDecompRangeOrthog |
Matrix subclass for variable reduction orthogonal matrix R = Gc(:,con_decomp)'*Y. More... | |
class | MatrixGenBanded |
Matrix subclass for general (possibly singular) banded matrices. More... | |
class | MatrixHessianRelaxed |
Represents a symmetric Hessian matrix with a relaxation variable added. More... | |
class | MatrixHessianSuperBasic |
Matrix class that represents a hessian matrix where only the super submatrix for the super basic variables need be nonsingular. More... | |
class | MatrixHessianSuperBasicInitDiagonal |
Matrix class that adds the ability to initialize to a diagonal to a MatrixHessainSuperBasic object. More... | |
class | MatrixIdentConcat |
Matrix class for a matrix vertically concatonated with an identity matrix {abstract}. More... | |
class | MatrixIdentConcatStd |
Concrete implementation class for a matrix vertically concatonated with an identity matrix. More... | |
class | MatrixKKTFullSpaceRelaxed |
Implementation of a KKT matrix factorized in the full space. More... | |
class | MatrixSymAddDelBunchKaufman |
This class maintains the factorization of symmetric indefinite matrix using a Bunch & Kaufman factorization. More... | |
class | MatrixSymAddDelUpdateableWithOpNonsingular |
Interface for updating a symmetric matrix and its factorization by adding and deleting rows and columns and preforming operations with it. More... | |
class | MatrixSymHessianRelaxNonSing |
Matrix class for non-singular Hessian matrix augmented with a terms for "Big M" relaxation variables. More... | |
class | MatrixSymIdentitySerial |
Matrix class for a serial scaled identity matrix. More... | |
class | MatrixSymPosDefBandedChol |
Matrix subclass for banded symmetric positive definite matrices and their Cholesky factors. More... | |
class | MatrixSymPosDefInvCholFactor |
Implementation of MatrixOp abstract interface for SymInvCholMatrix. More... | |
class | MatrixSymPosDefLBFGS |
Implementation of limited Memory BFGS matrix for arbitrary vector spaces. More... | |
class | MatrixVarReductImplicit |
Implements D = - inv(C) * N for a variable reduction projection. More... | |
class | VariableBoundsTester |
Tests that a set of variables are within their bounds. More... | |
class | VariableBoundsTesterSetOptions |
Set options for VariableBoundsTester from an OptionsFromStream object. More... | |
class | QPSchur |
Solves a Quadratic Program with a dual QP method using a schur complement factorization. More... | |
class | QPSchurInitKKTSystemHessianFixedFree |
Implementation of initial KKT system using the Hessian for the free variables only. More... | |
class | QPSchurInitKKTSystemHessianFull |
Implementation of initial KKT system for all variables initially free and Ko = G . More... | |
class | QPSchurInitKKTSystemHessianRelaxed |
Implementation of initial KKT system where all original variables are free and all the relaxation variables are fixed. More... | |
class | QPSchurInitKKTSystemHessianSuperBasic |
Implementation of initial KKT system for all variables initially fixed and free where #Ko = B_RR#. More... | |
class | QPSolverRelaxed |
Solves Quadratic Programs (QPs) of several different forms while allowing a relaxation of the constraints. More... | |
class | QPSolverRelaxedQPKWIK |
Solves Quadratic Programming (QP) problem using the primal-dual active-set solver QPKWIK. More... | |
class | QPSolverRelaxedQPOPTSOL |
Node base clase for the primal QP solvers QPOPT and QPSOL. More... | |
class | QPSolverRelaxedQPSchur |
Solves Quadratic Programming (QP) problems using QPSchur. More... | |
class | QPSolverRelaxedQPSchurSetOptions |
Set options for QPSolverRelaxedQPSchur from an OptionsFromStream object. More... | |
class | QPSolverRelaxedTester |
Tests the optimality conditions of the output from a QPSolverRelaxed object. More... | |
class | QPSolverRelaxedTesterSetOptions |
Set options for QPSolverRelaxedTester from an OptionsFromStream object. More... | |
class | QPSolverStats |
Class for storing statistics about a run of a (active set?) QP solver. More... | |
Enumerations | |
enum | EBounds { FREE, UPPER, LOWER, EQUALITY } |
Bounds type. More... | |
Functions | |
value_type | min (value_type v1, value_type v2) |
value_type | max (value_type v1, value_type v2) |
void | initialize_Q_R_Q_X (size_type n_R, size_type n_X, const size_type i_x_free[], const size_type i_x_fixed[], bool test_setup, size_type Q_R_row_i[], size_type Q_R_col_j[], GenPermMatrixSlice *Q_R, size_type Q_X_row_i[], size_type Q_X_col_j[], GenPermMatrixSlice *Q_X) |
Initialize GenPermMatrixSlice mapping matrices for Q_R and Q_X . More... | |
void | print_vector_change_stats (const DVectorSlice &x, const char x_name[], const DVectorSlice &d, const char d_name[], std::ostream &out) |
Compute statistics for change in a vector and output to a stream. More... | |
void | vector_change_stats (const DVectorSlice &x, const DVectorSlice &d, value_type *max_term, size_type *max_k, value_type *min_term, size_type *min_k, value_type *av_term) |
Compute statistics for change in a vector. More... | |
std::string | toString (const QPSolverStats::ESolutionType &solution_type) |
Compute the minimum absolute value of the given | |
A small Lagrange multiplier indicates degeneracy. | |
value_type | min_abs (const DVectorSlice &mu) |
Minimum |mu(i)|. More... | |
value_type | min_abs (const SpVectorSlice &mu) |
Minimum |mu(i)|. More... | |
Bounds type.
Enumerator | |
---|---|
FREE | |
UPPER | |
LOWER | |
EQUALITY |
Definition at line 53 of file ConstrainedOptPack_Types.hpp.
|
inline |
Definition at line 51 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
|
inline |
Definition at line 54 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
ConstrainedOptPack::value_type ConstrainedOptPack::min_abs | ( | const DVectorSlice & | mu | ) |
Minimum |mu(i)|.
Definition at line 55 of file ConstrainedOptPack_ComputeMinMult.cpp.
ConstrainedOptPack::value_type ConstrainedOptPack::min_abs | ( | const SpVectorSlice & | mu | ) |
Minimum |mu(i)|.
Definition at line 66 of file ConstrainedOptPack_ComputeMinMult.cpp.
void ConstrainedOptPack::initialize_Q_R_Q_X | ( | size_type | n_R, |
size_type | n_X, | ||
const size_type | i_x_free[], | ||
const size_type | i_x_fixed[], | ||
bool | test_setup, | ||
size_type | Q_R_row_i[], | ||
size_type | Q_R_col_j[], | ||
GenPermMatrixSlice * | Q_R, | ||
size_type | Q_X_row_i[], | ||
size_type | Q_X_col_j[], | ||
GenPermMatrixSlice * | Q_X | ||
) |
Initialize GenPermMatrixSlice
mapping matrices for Q_R
and Q_X
.
n_R | [in] Number of free variables |
n_X | [in] Number of fixed variables |
i_x_free | [in] array (length n_R) of indices of free variables. If n_R == 0 then i_x_free can be NULL. It is allowed for i_x_free == NULL in which case it is determined to from i_x_fixed[] (if n_X > 0) and i_x_free is assumed to be sorted in assending order. |
i_x_fixed | [in] array (length n_X) of indices of fixed variables. If n_X == 0 then i_x_fixed can be NULL. |
test_setup | [in] If true then i_x_free[] and i_x_fixed[] will be validated and if not okay then an exception will be thown. |
Q_R_row_i | [out] array (length n_R) of row indices for Q_R. If n_R == 0 or i_x_free == NULL and it is known that i_x_fixed[l] > n_R, for l = 0...n_X-1, then Q_R_row_i can be NULL and will not be accessed. If Q_R_row_i != NULL then it will always be set. This array will be sorted in assending order on output if it is set. |
Q_R_col_j | [out] array (length n_R) of column indices for Q_R. Q_R_col_j can be NULL when Q_R_row_i is NULL. If this array turns out to be sorted then Q_R will be set to Q_R->ordered_by() == BY_ROW_AND_COL |
Q_R | [out] GenPermMatixSlice object initialized with Q_R_row_i and Q_R_col_j. If n_R == 0 then Q_R will be initialized to (n_X by 0). If it turns out that i_x_free == NULL and Q_R has the identity matrix as its leading nonzero matrix, then Q_R->is_identity() will be true on output. In any case Q_R->ordered_by() will be BY_ROW or BY_ROW_AND_COL on output. |
Q_X_row_i | [out] array (length n_X) of row indices for Q_X. If n_X == 0 then Q_X_row_i can be NULL and will not be accessed. |
Q_X_col_j | [out] array (length n_X) of column indices for Q_X If n_X == 0 then Q_X_col_j can be NULL and will not be accessed. If this array turns out to be sorted then Q_X will be set to Q_X->ordered_by() == BY_ROW_AND_COL |
Q_X | [out] GenPermMatixSlice object initialized with Q_X_row_i and Q_X_col_j If n_X == 0 then Q_X will be initialized to (n_X by 0.) On output Q_X->ordered_by() will be BY_ROW or BY_ROW_AND_COL. |
Definition at line 47 of file ConstrainedOptPack_initialize_Q_R_Q_X.cpp.
void ConstrainedOptPack::print_vector_change_stats | ( | const DVectorSlice & | x, |
const char | x_name[], | ||
const DVectorSlice & | d, | ||
const char | d_name[], | ||
std::ostream & | out | ||
) |
Compute statistics for change in a vector and output to a stream.
Calls the function vector_change_stats(x,d,max_term,max_k,min_term,min_k ,av_term) then produces the following output to the given stream.
max(|d(i)|/(1+|x(i)|)) => |d(max_k)|/(1+|x(max_k)|) = max_term \ min(|d(i)|/(1+|x(i)|)) => |d(min_k)|/(1+|x(min_k)|) = min_term \ average(|d(i)|/(1+|x(i)|)) = av_term \
Note that above the names x and d are replaced with their input names #x_name# and #d_name# and max_term, max_k etc. are replaced with their computed values.
Definition at line 45 of file ConstrainedOptPack_print_vector_change_stats.cpp.
void ConstrainedOptPack::vector_change_stats | ( | const DVectorSlice & | x, |
const DVectorSlice & | d, | ||
value_type * | max_term, | ||
size_type * | max_k, | ||
value_type * | min_term, | ||
size_type * | min_k, | ||
value_type * | av_term | ||
) |
Compute statistics for change in a vector.
Given two vectors x and d where we wish to generate statistics for the update x+d this function computes the following quantitines:
max( |d(i)|/(1+|x(i)|), i=1...n ) => #max_k# = k, #max_term# = |d(k)|/(1+|x(k)|) <= 1\ min( |d(i)|/(1+|x(i)|), i=1...n ) => #min_k# = k, #min_term# = |d(k)|/(1+|x(k)|)#\ #average( |d(i)|/(1+|x(i)|), i=1...10 )# => #av_term#\
The purpose of generating these satistics is to determine by how much x+d differs from x.
If |d(i)|/|x(i)| < mach_eps with x(i) > 0 then we know that d(i) will be lost when added to x(i) so x(i) + d(i) == x(i).
Definition at line 49 of file ConstrainedOptPack_vector_change_stats.cpp.
|
inline |
Definition at line 146 of file ConstrainedOptPack_QPSolverStats.hpp.