nlssol_sqp

Sequential Quadratic Program for nonlinear least squares

Topics

sequential_quadratic_programming, nonlinear_least_squares

Specification

  • Alias: None

  • Arguments: None

Child Keywords:

Required/Optional

Description of Group

Dakota Keyword

Dakota Keyword Description

Optional

verify_level

Verify the quality of analytic gradients

Optional

function_precision

Specify the maximum precision of the analysis code responses

Optional

linesearch_tolerance

Choose how accurately the algorithm will compute the minimum in a line search

Optional

convergence_tolerance

Stopping criterion based on objective function convergence

Optional

max_iterations

Number of iterations allowed for optimizers and adaptive UQ methods

Optional

constraint_tolerance

Maximum allowable constraint violation still considered feasible

Optional

speculative

Compute speculative gradients

Optional

max_function_evaluations

Number of function evaluations allowed for optimizers

Optional

scaling

Turn on scaling for variables, responses, and constraints

Optional

model_pointer

Identifier for model block to be used by a method

Description

NLSSOL supports unconstrained, bound-constrained, and generally-constrained least-squares calibration problems. It exploits the structure of a least squares objective function through the periodic use of Gauss-Newton Hessian approximations to accelerate the SQP algorithm.

NLSSOL requires a separate software license and therefore may not be available in all versions of Dakota. :dakkw:`method-nl2sol` or :dakkw:`method-optpp_g_newton` may be suitable alternatives.

Stopping Criteria

The method independent controls for max_iterations and max_function_evaluations limit the number of major SQP iterations and the number of function evaluations that can be performed during an NPSOL optimization. The convergence_tolerance control defines NPSOL’s internal optimality tolerance which is used in evaluating if an iterate satisfies the first-order Kuhn-Tucker conditions for a minimum. The magnitude of convergence_tolerance approximately specifies the number of significant digits of accuracy desired in the final objective function (e.g., convergence_tolerance = 1.e-6 will result in approximately six digits of accuracy in the final objective function). The constraint_tolerance control defines how tightly the constraint functions are satisfied at convergence. The default value is dependent upon the machine precision of the platform in use, but is typically on the order of 1.e-8 for double precision computations. Extremely small values for constraint_tolerance may not be attainable.

Expected HDF5 Output

If Dakota was built with HDF5 support and run with the hdf5 keyword, this method writes the following results to HDF5: