Dakota  Version 6.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
NLSSOLLeastSq Class Reference

Wrapper class for the NLSSOL nonlinear least squares library. More...

Inheritance diagram for NLSSOLLeastSq:
LeastSq SOLBase Minimizer Iterator

Public Member Functions

 NLSSOLLeastSq (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 NLSSOLLeastSq (Model &model)
 alternate constructor More...
 
 ~NLSSOLLeastSq ()
 destructor
 
void core_run ()
 core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post More...
 
- Public Member Functions inherited from SOLBase
 SOLBase ()
 default constructor
 
 SOLBase (Model &model)
 standard constructor
 
 ~SOLBase ()
 destructor
 

Static Private Member Functions

static void least_sq_eval (int &mode, int &m, int &n, int &nrowfj, double *x, double *f, double *gradf, int &nstate)
 Evaluator for NLSSOL: computes the values and first derivatives of the least squares terms (passed by function pointer to NLSSOL).
 

Static Private Attributes

static NLSSOLLeastSqnlssolInstance
 pointer to the active object instance used within the static evaluator functions in order to avoid the need for static data
 

Additional Inherited Members

- Protected Member Functions inherited from LeastSq
 LeastSq ()
 default constructor
 
 LeastSq (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 LeastSq (unsigned short method_name, Model &model)
 alternate "on the fly" constructor
 
 ~LeastSq ()
 destructor
 
void initialize_run ()
 
void post_run (std::ostream &s)
 
void finalize_run ()
 utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More...
 
void print_results (std::ostream &s)
 
void get_confidence_intervals ()
 Calculate confidence intervals on estimated parameters. More...
 
- Protected Member Functions inherited from SOLBase
void allocate_arrays (int num_cv, 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 (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, int max_iter, Real constr_tol, Real conv_tol, const std::string &grad_type, const RealVector &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 inherited from Iterator
static void gnewton_set_recast (const Variables &recast_vars, const ActiveSet &recast_set, ActiveSet &sub_model_set)
 conversion of request vector values for the Gauss-Newton Hessian approximation More...
 
- Static Protected Member Functions inherited from SOLBase
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 inherited from LeastSq
size_t numLeastSqTerms
 number of least squares terms
 
LeastSqprevLSqInstance
 pointer containing previous value of leastSqInstance
 
bool weightFlag
 flag indicating whether weighted least squares is active
 
RealVector confBoundsLower
 lower bounds for confidence intervals on calibration parameters
 
RealVector confBoundsUpper
 upper bounds for confidence intervals on calibration parameters
 
- Protected Attributes inherited from SOLBase
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 inherited from LeastSq
static LeastSqleastSqInstance
 pointer to LeastSq instance used in static member functions
 
- Static Protected Attributes inherited from SOLBase
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

Wrapper class for the NLSSOL nonlinear least squares library.

The NLSSOLLeastSq class provides a wrapper for NLSSOL, a Fortran 77 sequential quadratic programming library from Stanford University marketed by Stanford Business Associates. It uses a function pointer approach for which passed functions must be either global functions or static member functions. Any nonstatic attribute used within static member functions must be either local to that function or accessed through a static pointer.

The user input mappings are as follows: max_function_evaluations is implemented directly in NLSSOLLeastSq's evaluator functions since there is no NLSSOL parameter equivalent, and max_iterations, convergence_tolerance, output verbosity, verify_level, function_precision, and linesearch_tolerance are mapped into NLSSOL's "Major Iteration Limit", "Optimality Tolerance", "Major Print Level" (verbose: Major Print Level = 20; quiet: Major Print Level = 10), "Verify Level", "Function Precision", and "Linesearch Tolerance" parameters, respectively, using NLSSOL's npoptn() subroutine (as wrapped by npoptn2() from the npoptn_wrapper.f file). Refer to [Gill, P.E., Murray, W., Saunders, M.A., and Wright, M.H., 1986] for information on NLSSOL's optional input parameters and the npoptn() subroutine.

Constructor & Destructor Documentation

NLSSOLLeastSq ( ProblemDescDB problem_db,
Model model 
)
NLSSOLLeastSq ( Model model)

Member Function Documentation

void core_run ( )
virtual

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.

Reimplemented from Iterator.

References SOLBase::allocate_arrays(), SOLBase::allocate_workspace(), SOLBase::augment_bounds(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Minimizer::calibrationDataFlag, SOLBase::cLambda, SOLBase::constraint_eval(), SOLBase::constraintJacMatrixF77, SOLBase::constraintState, SOLBase::constrOffset, Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Model::continuous_variables(), Dakota::copy_data(), Dakota::copy_data_partial(), SOLBase::deallocate_arrays(), Minimizer::expData, SOLBase::fnEvalCntr, SOLBase::informResult, ExperimentData::interpolate_flag(), SOLBase::intWorkSpace, SOLBase::intWorkSpaceSize, Iterator::iteratedModel, NLSSOLLeastSq::least_sq_eval(), SOLBase::linConstraintArraySize, SOLBase::linConstraintMatrixF77, Model::linear_eq_constraint_coeffs(), Model::linear_eq_constraint_targets(), Model::linear_ineq_constraint_coeffs(), Model::linear_ineq_constraint_lower_bounds(), Model::linear_ineq_constraint_upper_bounds(), SOLBase::nlnConstraintArraySize, NLSSOLLeastSq::nlssolInstance, Model::nonlinear_eq_constraint_targets(), Model::nonlinear_ineq_constraint_lower_bounds(), Model::nonlinear_ineq_constraint_upper_bounds(), SOLBase::numberIterations, Minimizer::numContinuousVars, LeastSq::numLeastSqTerms, Minimizer::numLinearConstraints, Minimizer::numNonlinearConstraints, Minimizer::numUserPrimaryFns, SOLBase::optLSqInstance, Minimizer::prevMinInstance, SOLBase::realWorkSpace, SOLBase::realWorkSpaceSize, SOLBase::solInstance, and SOLBase::upperFactorHessianF77.


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