asynch_pattern_search
Pattern search, derivative free optimization method
Topics
package_hopspack, global_optimization_methods
Specification
Alias: coliny_apps
Arguments: None
Child Keywords:
Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|
Optional |
Initial step size for derivative-free optimizers |
||
Optional |
Amount by which step length is rescaled |
||
Optional |
Step length-based stopping criteria for derivative-free optimizers |
||
Optional |
Stopping criteria based on objective function value |
||
Optional |
Select how Dakota schedules a batch of concurrent function evaluations in a parallel algorithm |
||
Optional |
Balance goals of reducing objective function and satisfying constraints |
||
Optional |
Multiplier for the penalty function |
||
Optional |
Smoothing value for smoothed penalty functions |
||
Optional |
Maximum allowable constraint violation still considered feasible |
||
Optional |
Number of function evaluations allowed for optimizers |
||
Optional |
Turn on scaling for variables, responses, and constraints |
||
Optional |
Identifier for model block to be used by a method |
Description
The asynchronous parallel pattern search (APPS) algorithm [GK06] 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.
Concurrency
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 positivevariable_tolerance
: step length used to determine convergence, must be greater than or equal to 4.4e-16contraction_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\) normmerit_max_smooth
: based on smoothed \(\ell_\infty\) normmerit1
: based on \(\ell_1\) normmerit1_smooth
: based on smoothed \(\ell_1\) normmerit2
: based on \(\ell_2\) normmerit2_smooth
: based on smoothed \(\ell_2\) normmerit2_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 detailsverbose
: display final solution, all input parameters, variable and constraint info, and trial pointsnormal
: display final solution, all input parameters, variable and constraint summaries, and new best pointsquiet
: display final solution and all input parameterssilent
: display final solution
Expected HDF5 Output
If Dakota was built with HDF5 support and run with the environment-results_output-hdf5 keyword, this method writes the following results to HDF5:
hdf5_results-best_obj_fncs (when responses-objective_functions) are specified)
hdf5_results-calibration (when responses-calibration_terms are specified)