Dakota  Version
Explore and Predict with Confidence
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
SOLBase Class Referenceabstract

Base class for Stanford SOL software. More...

Inheritance diagram for SOLBase:
NLSSOLLeastSq

Public Member Functions

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

Protected Member Functions

void check_sub_iterator_conflict (Model &model)
 check for clash with nested use of Fortran code
 
void allocate_linear_arrays (int num_cv, const RealMatrix &lin_ineq_coeffs, const RealMatrix &lin_eq_coeffs)
 Allocates F77 linear constraint arrays for the SOL algorithms.
 
void allocate_nonlinear_arrays (int num_cv, size_t num_nln_con)
 Allocates F77 nonlinear constraint arrays for the SOL algorithms.
 
void size_bounds_array (size_t new_bnds_size)
 Updates arrays dependent on combined bounds size.
 
void allocate_arrays (int num_cv, size_t num_nln_con, const RealMatrix &lin_ineq_coeffs, const RealMatrix &lin_eq_coeffs)
 Allocates F77 arrays for the SOL algorithms.
 
void replace_linear_arrays (size_t num_cv, size_t num_nln_con, const RealMatrix &lin_ineq_coeffs, const RealMatrix &lin_eq_coeffs)
 update linear constraint arrays
 
void replace_nonlinear_arrays (int num_cv, size_t num_lin_con, size_t num_nln_con)
 update nonlinear constraint arrays
 
void deallocate_arrays ()
 Deallocates memory previously allocated by allocate_arrays().
 
void allocate_workspace (int num_cv, int num_nln_con, int num_lin_con, 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, int verify_lev, Real fn_prec, Real linesrch_tol, size_t max_iter, Real constr_tol, Real conv_tol, const std::string &grad_type, const RealVector &fdss)
 Sets SOL method options using calls to npoptn2 / nloptn2.
 
virtual void send_sol_option (std::string sol_option)=0
 Resize and send option to NPSOL (npoptn) or NLSSOL (nloptn) via derived implementation.
 
void augment_bounds (RealVector &aggregate_l_bnds, RealVector &aggregate_u_bnds, const Model &model)
 augments variable bounds with linear and nonlinear constraint bounds.
 
void augment_bounds (RealVector &aggregate_l_bnds, RealVector &aggregate_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.
 
void replace_variable_bounds (size_t num_lin_con, size_t num_nln_con, RealVector &aggregate_l_bnds, RealVector &aggregate_u_bnds, const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds)
 replace variable bounds within aggregate arrays
 
void replace_linear_bounds (size_t num_cv, size_t num_nln_con, RealVector &aggregate_l_bnds, RealVector &aggregate_u_bnds, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealVector &lin_eq_targets)
 replace linear bounds within aggregate arrays
 
void replace_nonlinear_bounds (size_t num_cv, size_t num_lin_con, RealVector &aggregate_l_bnds, RealVector &aggregate_u_bnds, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_targets)
 replace nonlinear bounds within aggregate arrays
 

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 aggregated 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: