A Nomad plugin for ropt
The ropt-nomad package extends the
ropt module by providing a plugin that
integrates the MADS optimization algorithm from the
Nomad toolkit. ropt itself is a
robust optimization framework designed for both continuous and discrete
optimization workflows and is extensible through its plugin architecture.
Installing ropt-nomad makes MADS directly available within ropt.
Usage
An optimization by ropt using the plugin works mostly as any other
optimization run. However, there are a few things to consider:
- Gradients are not used, any specifications relating to gradient calculations
in
roptare ignored. - The
toleranceoptimization parameter, which can be specified in the optimization section is ignored. - Only inequality constraints are supported by
NOMAD. - Linear and non-linear constraints are both supported. Linear constraints are not supported directly, but are internally converted to non-linear constraints.
- Some additional
Nomadoptions can be passed as a list of strings via theoptionsfield in the optimizer configuration. Refer to the documentation of theNomadOptimizerclass for supported options.
Reference
ropt_nomad.nomad.NomadOptimizer
Bases: Optimizer
Nomad optimization backend for ropt.
This class provides an interface to the MADS optimization algorithm from
Nomad,
enabling their its within ropt.
To select the MADS optimizer, set the method field within the
optimizer section of the
EnOptConfig configuration object to
mads. Most general options defined in the
EnOptConfig object are supported. For
algorithm-specific options, use the options dictionary within the
optimizer section.
The table below lists the MADS-specific options that are supported. Click
on the method name to consult the
Nomad
keyword documentation:
| Method | Method Options |
|---|---|
| mads | BB_OUTPUT_TYPE, BB_MAX_BLOCK_SIZE, MAX_BB_EVAL, MAX_EVAL, SEED, LH_SEARCH, DISPLAY_ALL_EVAL, DISPLAY_DEGREE, DISPLAY_STATS |