coliny_cobyla

Constrained Optimization BY Linear Approximations (COBYLA)

Topics

package_scolib, package_coliny, local_optimization_methods, constrained

Specification

  • Alias: None

  • Arguments: None

Child Keywords:

Required/Optional

Description of Group

Dakota Keyword

Dakota Keyword Description

Optional

initial_delta

Reasonable initial changes to optimization variables

Optional

variable_tolerance

Required or expected accuracy in optimization variables.

Optional

solution_target

Stopping criteria based on objective function value

Optional

seed

Seed of the random number generator

Optional

show_misc_options

Show algorithm parameters not exposed in Dakota input

Optional

misc_options

Set method options not available through Dakota spec

Optional

max_iterations

Number of iterations allowed for optimizers and adaptive UQ methods

Optional

convergence_tolerance

Stopping criterion based on objective function or statistics convergence

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 Constrained Optimization BY Linear Approximations (COBYLA) algorithm is an extension to the Nelder-Mead simplex algorithm for handling general linear/nonlinear constraints and is invoked using the coliny_cobyla group specification. The COBYLA algorithm employs linear approximations to the objective and constraint functions, the approximations being formed by linear interpolation at N+1 points in the space of the variables. We regard these interpolation points as vertices of a simplex. The step length parameter controls the size of the simplex and it is reduced automatically from initial_delta to variable_tolerance. One advantage that COBYLA has over many of its competitors is that it treats each constraint individually when calculating a change to the variables, instead of lumping the constraints together into a single penalty function.

See the page :ref:`topic-package_scolib` for important information regarding all SCOLIB methods

coliny_cobyla is inherently serial.

Stopping Critieria

COBYLA currently only supports termination based on

li max_function_evaluations li solution_target

Other method-independent stopping criteria ( max_iterations and convergence_tolerance) will be ignored if set.

Known Bugs

The implementation of the coliny_cobyla optimization method is such that the best function value is not always returned to Dakota for reporting. The user is advised to look through the Dakota screen output or the tabular output file (if generated) to confirm what the best function value and corresponding parameter values are.

The coliny_cobyla optimization method does not always respect bound constraints when scaling is turned on.

Neither bug will be fixed, as maintaining third-party source code (such as COBYLA) is outside of the Dakota project scope.

Expected HDF5 Output

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