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
ropt
are ignored. - The
tolerance
optimization 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
Nomad
options can be passed as a list of strings via theoptions
field in the optimizer configuration. Refer to the documentation of theNomadOptimizer
class 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 |