.. _method-nlpql_sqp:

"""""""""
nlpql_sqp
"""""""""


NLPQL Sequential Quadratic Program



**Topics**


package_nlpql, sequential_quadratic_programming, local_optimization_methods


.. toctree::
   :hidden:
   :maxdepth: 1

   method-nlpql_sqp-id_method
   method-nlpql_sqp-output
   method-nlpql_sqp-final_solutions
   method-nlpql_sqp-max_iterations
   method-nlpql_sqp-convergence_tolerance
   method-nlpql_sqp-max_function_evaluations
   method-nlpql_sqp-scaling
   method-nlpql_sqp-model_pointer


**Specification**

- *Alias:* None

- *Arguments:* None


**Child Keywords:**

+-------------------------+--------------------+------------------------------+-----------------------------------------------+
| Required/Optional       | Description of     | Dakota Keyword               | Dakota Keyword Description                    |
|                         | Group              |                              |                                               |
+=========================+====================+==============================+===============================================+
| Optional                                     | `id_method`__                | Name the method block; helpful when there are |
|                                              |                              | multiple                                      |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `output`__                   | Control how much method information is        |
|                                              |                              | written to the screen and output file         |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `final_solutions`__          | Number of designs returned as the best        |
|                                              |                              | solutions                                     |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `max_iterations`__           | Number of iterations allowed for optimizers   |
|                                              |                              | and adaptive UQ methods                       |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `convergence_tolerance`__    | Stopping criterion based on objective         |
|                                              |                              | function or statistics convergence            |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| 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                                        |
+----------------------------------------------+------------------------------+-----------------------------------------------+

.. __: method-nlpql_sqp-id_method.html
__ method-nlpql_sqp-output.html
__ method-nlpql_sqp-final_solutions.html
__ method-nlpql_sqp-max_iterations.html
__ method-nlpql_sqp-convergence_tolerance.html
__ method-nlpql_sqp-max_function_evaluations.html
__ method-nlpql_sqp-scaling.html
__ method-nlpql_sqp-model_pointer.html



**Description**


NLPQL implementation of sequential quadratic programming.  The
particular SQP implementation in ``nlpql_sqp`` uses a variant with
distributed and non-monotone line search.  Thus, this variant is
designed to be more robust in the presence of inaccurate or noisy
gradients common in many engineering applications.

*NLPQL requires a separate software license and therefore may not
be available in all versions of Dakota.  CONMIN or OPT++ methods may
be suitable alternatives.*

The method independent controls for maximum iterations and output
verbosity are mapped to NLPQL controls MAXIT and IPRINT, respectively.
The maximum number of function evaluations is enforced within the
NLPQLPOptimizer class.

*Expected HDF5 Output*

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


- :ref:`hdf5_results-best_params`
- :ref:`hdf5_results-best_obj_fncs` (when :dakkw:`responses-objective_functions`) are specified)
- :ref:`hdf5_results-best_constraints`
- :ref:`hdf5_results-calibration` (when :dakkw:`responses-calibration_terms` are specified)


