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.
1.4.7