variable_tolerance

Step length-based stopping criteria for derivative-free optimizers

Specification

  • Alias: None

  • Arguments: REAL

  • Default: 1.0e-4 (COBYLA), 1.0e-5 (PS), 1.0e-6 (SW)

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:

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:

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

method
  mesh_adaptive_search
    variable_tolerance = 0.01
    seed = 1234