ncsu_direct
DIviding RECTangles method
Topics
global_optimization_methods
Specification
Alias: None
Arguments: None
Child Keywords:
Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|
Optional |
Specifies a globally optimal value toward which the optimizer should track |
||
Optional |
Stopping Criterion based on shortest edge of hyperrectangle |
||
Optional |
Stopping criterion based on volume of search space |
||
Optional |
Stopping criterion based on objective function or statistics convergence |
||
Optional |
Number of iterations allowed for optimizers and adaptive UQ methods |
||
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
North Carolina State University (NCSU) has an implementation of the
DIRECT algorithm (DIviding RECTangles algorithm that is outlined in
the SCOLIB method section above). This version is documented in
[Gab01] We have found that the NCSU DIRECT
implementation works better and is more robust for some problems than
coliny_direct
. Currently, we maintain both versions of DIRECT in
Dakota; in the future, we may deprecate one.
The NCSU DIRECT method is selected with ncsu_direct
. We have tried
to maintain consistency between the keywords in SCOLIB and NCSU
implementation of DIRECT, but the algorithms have different
parameters, so the keywords sometimes have slightly different meaning.
Stopping Criteria
The algorithm stops based on:
max_iterations
- number of iterationsmax_function_evaluations
- number of function evaluations
This method will always strictly respect the number of iterations, but may slightly exceed the number of function evaluations, as it will always explore all sub-rectangles at the current level.
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 Objective Functions (when
objective_functions
) are specified)Calibration (when
calibration_terms
are specified)