Dakota Reference Manual: mesh_adaptive_search

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
mesh_adaptive_search

Finds optimal variable values using adaptive mesh-based search

## Specification

Alias: none

Argument(s): none

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional | initial_delta | Initial step size for derivative-free optimizers
| Optional | variable_tolerance | Step length-based stopping criteria for derivative-free optimizers
| Optional | function_precision | Specify the maximum precision of the analysis code responses
| Optional | seed | Seed of the random number generator
| Optional | history_file | Name of file where mesh adaptive search records all evaluation points.
| Optional | display_format | Information to be reported from mesh adaptive search's internal records.
| Optional | variable_neighborhood_search | Percentage of evaluations to do to escape local minima.
| Optional | neighbor_order | Number of dimensions in which to perturb categorical variables.
| Optional | display_all_evaluations | Shows mesh adaptive search's internally held list of all evaluations
| Optional | use_surrogate | Surrogate model usage mode for mesh adaptive search
| Optional | max_iterations | Number of iterations allowed for optimizers and adaptive UQ methods
| 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

## Description

The mesh adaptive direct search algorithm[7] is a derivative-free generalized pattern search in which the set of points evaluated becomes increasingly dense, leading to good convergence properties. It can handle unconstrained problems as well as those with bound constraints and general nonlinear constraints. Furthermore, it can handle continuous, discrete, and categorical variables.

Default Behavior

By default, `mesh_adaptive_search` operates on design variables. The types of variables can be expanded through the use of the `active` keyword in the variables block in the Dakota input file. Categorical variables, however, must be limited to design variables.

Expected Outputs

The best objective function value achieved and associated parameter and constraint values can be found at the end of the Dakota output. The method's internally summarized iteration history will appear in the screen output by default, with the option to control the method's output through Dakota's output level. It also generates a history file containing a list of all function evaluations done.

Expected HDF5 Output

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

- Best Parameters
- Best Objective Functions (when objective_functions) are specified)
- Best Nonlinear Constraints
- Calibration (when calibration_terms are specified)

Additional Discussion

The mesh adaptive direct search method is made available in Dakota through the NOMAD software[1], available to the public under the GNU LGPL from http://www.gerad.ca/nomad.

## Examples

The following is an example of a Dakota input file that makes use of `mesh_adaptive_search` to optimize the textbook function.

    method,
            mesh_adaptive_search
            seed = 1234

    variables,
            continuous_design = 3
              initial_point   -1.0    1.5   2.0
              upper_bounds    10.0   10.0  10.0
              lower_bounds   -10.0  -10.0 -10.0
              descriptors      'x1'  'x2'  'x3'

    interface,
           direct
              analysis_driver = 'text_book'

    responses,
            objective_functions = 1
            no_gradients
            no_hessians

The best function value and associated parameters are found at the end of the Dakota output.

    <<<<< Function evaluation summary: 674 total (674 new, 0 duplicate)
    <<<<< Best parameters          =
                          1.0000000000e+00 x1
                          1.0000000000e+00 x2
                          1.0000000000e+00 x3
    <<<<< Best objective function  =
                          1.0735377280e-52
    <<<<< Best data captured at function evaluation 658

A NOMAD-generated iteration summary is also printed to the screen.

    MADS run {

        BBE OBJ

           1    17.0625000000
           2    1.0625000000
          13    0.0625000000
          24    0.0002441406
          41    0.0000314713
          43    0.0000028610
          54    0.0000000037
          83    0.0000000000
         105    0.0000000000
         112    0.0000000000
         114    0.0000000000
         135    0.0000000000
         142    0.0000000000
         153    0.0000000000
         159    0.0000000000
         171    0.0000000000
         193    0.0000000000
         200    0.0000000000
         207    0.0000000000
         223    0.0000000000
         229    0.0000000000
         250    0.0000000000
         266    0.0000000000
         282    0.0000000000
         288    0.0000000000
         314    0.0000000000
         320    0.0000000000
         321    0.0000000000
         327    0.0000000000
         354    0.0000000000
         361    0.0000000000
         372    0.0000000000
         373    0.0000000000
         389    0.0000000000
         400    0.0000000000
         417    0.0000000000
         444    0.0000000000
         459    0.0000000000
         461    0.0000000000
         488    0.0000000000
         492    0.0000000000
         494    0.0000000000
         501    0.0000000000
         518    0.0000000000
         530    0.0000000000
         537    0.0000000000
         564    0.0000000000
         566    0.0000000000
         583    0.0000000000
         590    0.0000000000
         592    0.0000000000
         604    0.0000000000
         606    0.0000000000
         629    0.0000000000
         636    0.0000000000
         658    0.0000000000
         674    0.0000000000

    } end of run (mesh size reached NOMAD precision)

    blackbox evaluations                     : 674
    best feasible solution                   : ( 1 1 1 ) h=0 f=1.073537728e-52