Skip to content

An everest-optimizers plugin for ropt

The ropt-eo package extends the ropt module by providing a plugin that integrates optimization algorithms from the everest-optimizers package. ropt itself is a robust optimization framework designed for both continuous and discrete optimization workflows and is extensible through its plugin architecture. Installing ropt-eo makes its algorithms directly available within ropt.

Reference

ropt_eo.everest_optimizers.EverestOptimizers

Bases: Backend

OPT++ optimization backend for ropt.

This class provides an interface to several optimization algorithms from the OPT++ library, enabling their use within ropt.

This backend cannot run concurrently in-process

OPT++ always creates an output file under a fixed name in the current working directory, which everest-optimizers deletes again once the run has started. Two runs at once in the same process therefore create and delete the same file, and each one's output_file is a path they share. To use this backend alongside anything else, prefix the method with external/ and it runs in a process of its own, through the external backend.

To select an optimizer, set the method field within the optimizer section of the EnOptContext configuration object to the desired algorithm's name. Most methods support the general options defined in the EnOptContext object. For algorithm-specific options, use the options dictionary within the optimizer section.

Below are the supported options:

Common Options:

debug, output_file, search_method, search_pattern_size, max_step, gradient_multiplier, max_iterations, max_function_evaluations, convergence_tolerance, gradient_tolerance

Method-specific Options:

Method Options
q_newton
bcq_newton
q_nips merit_function, mu, centering_parameter, steplength_to_boundary, constraint_tolerance