Dakota Reference Manual  Version 6.4
Large-Scale Engineering Optimization and Uncertainty Analysis
 All Pages

Pattern search, derivative free optimization method


This keyword is related to the topics:


Alias: coliny_apps

Argument(s): none

Required/Optional Description of Group Dakota Keyword Dakota Keyword Description
Optional initial_delta Initial step size for non-gradient based optimizers
Optional contraction_factor Amount by which step length is rescaled
Optional threshold_delta Stopping criteria based on step length or pattern size
Optional solution_target Stopping criteria based on objective function value
Optional synchronization Select how Dakota schedules function evaluations in a pattern search
Optional merit_function Balance goals of reducing objective function and satisfying constraints
Optional constraint_penalty Multiplier for the penalty function
Optional smoothing_factor Smoothing value for smoothed penalty functions
Optional linear_inequality_constraint_matrix Define coefficients of the linear inequality constraints
Optional linear_inequality_lower_bounds Define lower bounds for the linear inequality constraint
Optional linear_inequality_upper_bounds Define upper bounds for the linear inequality constraint
Optional linear_inequality_scale_types Specify how each linear inequality constraint is scaled
Optional linear_inequality_scales Define the characteristic values to scale linear inequalities
Optional linear_equality_constraint_matrix Define coefficients of the linear equalities
Optional linear_equality_targets Define target values for the linear equality constraints
Optional linear_equality_scale_types Specify how each linear equality constraint is scaled
Optional linear_equality_scales Define the characteristic values to scale linear equalities
Optional constraint_tolerance The maximum allowable value of constraint violation still considered to be feasible
Optional max_function_evaluations Stopping criteria based on number of function evaluations
Optional scaling Turn on scaling for variables, responses, and constraints
Optional model_pointer

Identifier for model block to be used by a method


The asynchronous parallel pattern search (APPS) algorithm [36] is a fully asynchronous pattern search technique in that the search along each offset direction continues without waiting for searches along other directions to finish.

Currently, APPS only supports coordinate bases with a total of 2n function evaluations in the pattern, and these patterns may only contract.


APPS exploits parallelism through the use of Dakota's concurrent function evaluations. The variant of the algorithm that is currently exposed, however, limits the amount of concurrency that can be exploited. In particular, APPS can leverage an evaluation concurrency level of at most twice the number of variables. More options that allow for greater evaluation concurrency may be exposed in future releases.

Algorithm Behavior

  • initial_delta: the initial step length, must be positive
  • threshold_delta: step length used to determine convergence, must be greater than or equal to 4.4e-16
  • contraction_factor: amount by which step length is rescaled after unsuccesful iterates, must be strictly between 0 and 1

Merit Functions

APPS solves nonlinearly constrained problems by solving a sequence of linearly constrained merit function-base subproblems. There are several exact and smoothed exact penalty functions that can be specified with the merit_function control. The options are as follows:

  • merit_max: based on $ \ell_\infty$ norm
  • merit_max_smooth: based on smoothed $ \ell_\infty$ norm
  • merit1: based on $ \ell_1$ norm
  • merit1_smooth: based on smoothed $ \ell_1$ norm
  • merit2: based on $ \ell_2$ norm
  • merit2_smooth: based on smoothed $ \ell_2$ norm
  • merit2_squared: based on $ \ell_2^2$ norm

The user can also specify the following to affect the merit functions:

  • constraint_penalty
  • smoothing_parameter

Method Independent Controls

The only method independent controls that are currently mapped to APPS are:

Note that while APPS treats the constraint tolerance separately for linear and nonlinear constraints, we apply the same value to both if the user specifies constraint_tolerance.

The APPS internal display level is mapped to the Dakota output settings as follows:

  • debug: display final solution, all input parameters, variable and constraint info, trial points, search directions, and execution details
  • verbose: display final solution, all input parameters, variable and constraint info, and trial points
  • normal: display final solution, all input parameters, variable and constraint summaries, and new best points
  • quiet: display final solution and all input parameters
  • silent: display final solution