Blurb::
Description of the model output data returned to Dakota upon evaluation of an interface.
Description::
The ``responses`` specification in a Dakota input file indicates the
types of data that can be returned by an interface when invoked during
Dakota's execution. The specification includes three groups and two
optional keywords.

**The response type group** indicates the type and number of
responses expected by Dakota.  It must be one of three types:


- Optimization: objective and constraint functions
- Calibration: calibration (least squares) terms and constraint functions
- Uncertainty Quantifiation: generic response functions

The response type specified should be consistent with the iterative
technique called for in the method specification.  Certain
general-purpose iterative techniques, such as parameter studies and
design of experiments methods, can be used with any of these response
types.

*The gradient type group* indicates the availability of first
derivatives (gradient vectors) for the response functions.

The gradient specification also links back to the iterative method
used. Gradients commonly are needed when the iterative study involves
gradient-based optimization, local reliability analysis for
uncertainty quantification, or local sensitivity analysis.  They can
optionally be used to build some types of surrogate models.

*The Hessian type group* specifies the availability of second
derivatives (Hessian matrices) for the response functions.

Hessian availability for the response functions is similar to the
gradient availability specifications, with the addition of support for
"quasi-Hessians". The Hessian specification also links back to the
iterative method in use; Hessians commonly would be used in
gradient-based optimization by full Newton methods or in reliability
analysis with second-order limit state approximations or second-order
probability integrations.
Topics::
block
Examples::
Several examples follow. The first example shows an optimization data
set containing an objective function and two nonlinear inequality
constraints. These three functions have analytic gradient availability
and no Hessian availability.


.. code-block::

    responses
      objective_functions = 1
        nonlinear_inequality_constraints = 2
      analytic_gradients
      no_hessians


The next example shows a typical specification for a calibration data
set. The six residual functions will have numerical gradients computed
using the dakota finite differencing routine with central differences
of 0.1% (plus/minus delta relative to current variables value =
.001*value).


.. code-block::

    responses
      calibration_terms = 6
      numerical_gradients
        method_source dakota
        interval_type central
        fd_gradient_step_size = .001
      no_hessians


The last example shows a generic specification that could be used with a
nondeterministic sampling iterator. The three response functions have no
gradient or Hessian availability; therefore, only function values will
be used by the iterator.


.. code-block::

    responses
      response_functions = 3
      no_gradients
      no_hessians


Parameter study and design of experiments iterators are not restricted
in terms of the response data sets which may be catalogued; they may
be used with any of the function specification examples shown above.
Theory::
Responses specify the total data set that is available for use by the
method over the course of iteration. This is distinguished from the
data subset described by an active set vector (see Dakota File Data
Formats in the Users Manual [Adams et al., 2010]) indicating the
particular subset of the response data needed for a particular
function evaluation. Thus, the responses specification is a broad
description of the data to be used during a study whereas the active
set vector indicates the subset currently needed.
Faq::

See_Also::
