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... | |
Namespaces | |
namespace | QPSchurPack |
Compute the minimum absolute value of the given | |
Lagrange multipliers.
A small Lagrange multiplier indicates degeneracy. | |
ConstrainedOptPack::value_type | min_abs (const DVectorSlice &mu) |
Minimum |mu(i)|. | |
ConstrainedOptPack::value_type | min_abs (const SpVectorSlice &mu) |
Minimum |mu(i)|. | |
Enumerations | |
enum | EBounds |
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 . | |
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. | |
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. | |
std::string | toString (const QPSolverStats::ESolutionType &solution_type) |
value_type ConstrainedOptPack::min_abs | ( | const DVectorSlice & | mu | ) |
value_type ConstrainedOptPack::min_abs | ( | const SpVectorSlice & | mu | ) |
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 34 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 32 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 36 of file ConstrainedOptPack_vector_change_stats.cpp.