Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
SOLBase Class Reference

Base class for Stanford SOL software. More...

Inheritance diagram for SOLBase:
NLSSOLLeastSq NPSOLOptimizer

List of all members.

Public Member Functions

 SOLBase ()
 default constructor
 SOLBase (Model &model)
 standard constructor
 ~SOLBase ()
 destructor

Protected Member Functions

void allocate_arrays (const int &num_cv, const size_t &num_nln_con, const RealMatrix &lin_ineq_coeffs, const RealMatrix &lin_eq_coeffs)
 Allocates miscellaneous arrays for the SOL algorithms.
void deallocate_arrays ()
 Deallocates memory previously allocated by allocate_arrays().
void allocate_workspace (const int &num_cv, const int &num_nln_con, const int &num_lin_con, const int &num_lsq)
 Allocates real and integer workspaces for the SOL algorithms.
void set_options (bool speculative_flag, bool vendor_num_grad_flag, short output_lev, const int &verify_lev, const Real &fn_prec, const Real &linesrch_tol, const int &max_iter, const Real &constr_tol, const Real &conv_tol, const std::string &grad_type, const Real &fdss)
 Sets SOL method options using calls to npoptn2.
void augment_bounds (RealVector &augmented_l_bnds, RealVector &augmented_u_bnds, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealVector &lin_eq_targets, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_targets)
 augments variable bounds with linear and nonlinear constraint bounds.

Static Protected Member Functions

static void constraint_eval (int &mode, int &ncnln, int &n, int &nrowj, int *needc, double *x, double *c, double *cjac, int &nstate)
 CONFUN in NPSOL manual: computes the values and first derivatives of the nonlinear constraint functions.

Protected Attributes

int realWorkSpaceSize
 size of realWorkSpace
int intWorkSpaceSize
 size of intWorkSpace
RealArray realWorkSpace
 real work space for NPSOL/NLSSOL
IntArray intWorkSpace
 int work space for NPSOL/NLSSOL
int nlnConstraintArraySize
 used for non-zero array sizing (nonlinear constraints)
int linConstraintArraySize
 used for non-zero array sizing (linear constraints)
RealArray cLambda
 CLAMBDA from NPSOL manual: Langrange multipliers.
IntArray constraintState
 ISTATE from NPSOL manual: constraint status.
int informResult
 INFORM from NPSOL manual: optimization status on exit.
int numberIterations
 ITER from NPSOL manual: number of (major) iterations performed.
int boundsArraySize
 length of augmented bounds arrays (variable bounds plus linear and nonlinear constraint bounds)
double * linConstraintMatrixF77
 [A] matrix from NPSOL manual: linear constraint coefficients
double * upperFactorHessianF77
 [R] matrix from NPSOL manual: upper Cholesky factor of the Hessian of the Lagrangian.
double * constraintJacMatrixF77
 [CJAC] matrix from NPSOL manual: nonlinear constraint Jacobian
int fnEvalCntr
 counter for testing against maxFunctionEvals
size_t constrOffset
 used in constraint_eval() to bridge NLSSOLLeastSq::numLeastSqTerms and NPSOLOptimizer::numObjectiveFns

Static Protected Attributes

static SOLBasesolInstance
 pointer to the active object instance used within the static evaluator functions in order to avoid the need for static data
static MinimizeroptLSqInstance
 pointer to the active base class object instance used within the static evaluator functions in order to avoid the need for static data

Detailed Description

Base class for Stanford SOL software.

The SOLBase class provides a common base class for NPSOLOptimizer and NLSSOLLeastSq, both of which are Fortran 77 sequential quadratic programming algorithms from Stanford University marketed by Stanford Business Associates.


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