|
ZonoOpt 2.4.0
|
Abstract base for all solver settings. More...
#include <SolverDataStructures.hpp>

Public Member Functions | |
| virtual std::unique_ptr< SolverSettings > | clone () const =0 |
| Polymorphic copy. Must be overridden by every concrete subclass. | |
| virtual std::string | solver_name () const =0 |
| Return name of the solver backend selected by this settings type, e.g., "ZonoOpt", "Gurobi", "SCIP". | |
| virtual void | verify_available () const |
| Verify the solver backend selected by this settings type is usable. | |
| virtual | ~SolverSettings ()=default |
Abstract base for all solver settings.
The dynamic type of the SolverSettings instance passed to ZonoOpt's optimization routines selects which solver backend is used:
Derived classes implement clone() so the program-wide default settings can hold a polymorphic copy (see get_default_solver_settings / set_default_solver_settings).
|
virtualdefault |
|
pure virtual |
Polymorphic copy. Must be overridden by every concrete subclass.
Implemented in ZonoOpt::GurobiSettings, ZonoOpt::SCIPSettings, and ZonoOpt::OptSettings.
|
pure virtual |
Return name of the solver backend selected by this settings type, e.g., "ZonoOpt", "Gurobi", "SCIP".
Implemented in ZonoOpt::GurobiSettings, ZonoOpt::SCIPSettings, and ZonoOpt::OptSettings.
|
inlinevirtual |
Verify the solver backend selected by this settings type is usable.
Called by set_default_solver_settings(); should throw std::runtime_error if the backend cannot be initialized (e.g., GurobiSettings throws if the Gurobi library cannot be dynamically loaded). Default implementation is a no-op, appropriate for the internal solver which is always available.
| std::runtime_error | if the backend cannot be initialized (subclass implementations only; the default no-op does not throw). |
Reimplemented in ZonoOpt::GurobiSettings, and ZonoOpt::SCIPSettings.