.. _method-optpp_g_newton-search_method:

"""""""""""""
search_method
"""""""""""""


Select a search method for Newton-based optimizers


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

   method-optpp_g_newton-search_method-value_based_line_search
   method-optpp_g_newton-search_method-gradient_based_line_search
   method-optpp_g_newton-search_method-trust_region
   method-optpp_g_newton-search_method-tr_pds


**Specification**

- *Alias:* None

- *Arguments:* None


**Child Keywords:**

+-------------------------+--------------------+--------------------------------+-----------------------------------------------+
| Required/Optional       | Description of     | Dakota Keyword                 | Dakota Keyword Description                    |
|                         | Group              |                                |                                               |
+=========================+====================+================================+===============================================+
| Required (Choose One)   | Line Search Method | `value_based_line_search`__    | Use only function values for line search      |
|                         |                    +--------------------------------+-----------------------------------------------+
|                         |                    | `gradient_based_line_search`__ | Set the search method to use the gradient     |
|                         |                    +--------------------------------+-----------------------------------------------+
|                         |                    | `trust_region`__               | Use trust region as the globalization         |
|                         |                    |                                | strategy.                                     |
|                         |                    +--------------------------------+-----------------------------------------------+
|                         |                    | `tr_pds`__                     | Use direct search as the local search in a    |
|                         |                    |                                | trust region method                           |
+-------------------------+--------------------+--------------------------------+-----------------------------------------------+

.. __: method-optpp_g_newton-search_method-value_based_line_search.html
__ method-optpp_g_newton-search_method-gradient_based_line_search.html
__ method-optpp_g_newton-search_method-trust_region.html
__ method-optpp_g_newton-search_method-tr_pds.html



**Description**


The ``search_method`` control is defined for all Newton-based
optimizers and is used to select between ``trust_region``,
``gradient_based_line_search``, and ``value_based_line_search`` methods.
The ``gradient_based_line_search`` option uses the line search method
proposed by :cite:p:`More1994`. This option
satisfies sufficient decrease and curvature conditions; whereas,
``value_base_line_search`` only satisfies the sufficient decrease
condition. At each line search iteration, the
``gradient_based_line_search`` method computes the function and gradient
at the trial point. Consequently, given expensive function
evaluations, the ``value_based_line_search`` method is preferred to the
``gradient_based_line_search`` method. Each of these Newton methods
additionally supports the ``tr_pds`` selection for unconstrained
problems. This option performs a robust trust region search using
pattern search techniques. Use of a line search is the default for
bound-constrained and generally-constrained problems, and use of a
``trust_region`` search method is the default for unconstrained problems.