.. _method-asynch_pattern_search-variable_tolerance:

""""""""""""""""""
variable_tolerance
""""""""""""""""""


Step length-based stopping criteria for derivative-free optimizers


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



**Specification**

- *Alias:* None

- *Arguments:* REAL

- *Default:* 0.01


**Description**


The ``variable_tolerance`` keyword defines the minimum step length allowed
by the optimizer and is used to determine convergence.  It is
applicable to ``asynch_pattern_search``, ``coliny_cobyla``,
``coliny_pattern_search``, ``coliny_solis_wets``, and
``mesh_adaptive_search``.

*Default Behavior*

The default value varies according to method as follows:


- ``asynch_pattern_search``:  1.0e-2
- ``coliny_cobyla``:  1.0e-4
- ``coliny_pattern_search``:  1.0e-5
- ``coliny_solis_wets``:  1.0e-6
- ``mesh_adaptive_search``:  1.0e-6

*Usage Tips*

It is recommended that ``variable_tolerance`` be set to a value for which
changes of that scale in parameter values cause negligible changes in
the objective function.



**Examples**


Three example method input blocks appear below.

For ``asynch_pattern_search``:

.. code-block::

    method
      asynch_pattern_search
        contraction_factor = 0.25
        variable_tolerance = 1.e-4
        solution_target = 1.e-6
        max_function_evaluations 500
        constraint_tolerance    1.e-6


For ``coliny_pattern_search``:

.. code-block::

    method
      coliny_pattern_search
        initial_delta = .2
        variable_tolerance = 1.e-4
        max_iterations 100
        solution_accuracy = 1.e-6
        seed = 1234
        max_function_evaluations = 1000


For ``mesh_adaptive_search``

.. code-block::

    method
      mesh_adaptive_search
        variable_tolerance = 0.01
        seed = 1234




