Settings for the dynamically-loaded SCIP solver backend.
More...
#include <SCIPSettings.hpp>
|
| std::unique_ptr< SolverSettings > | clone () const override |
| | Polymorphic copy. Must be overridden by every concrete subclass.
|
| |
| std::string | print () const |
| |
| | SCIPSettings () |
| | Construct a new SCIPSettings object.
|
| |
| std::string | solver_name () const override |
| | Return name of the solver backend selected by this settings type, e.g., "ZonoOpt", "Gurobi", "SCIP".
|
| |
| void | verify_available () const override |
| | Verify the solver backend selected by this settings type is usable.
|
| |
| virtual | ~SolverSettings ()=default |
| |
|
| std::map< std::string, bool > | bool_params |
| |
| std::map< std::string, char > | char_params |
| |
| std::optional< double > | FeasibilityTol |
| | feasibility tolerance ("numerics/feastol")
|
| |
| std::map< std::string, int > | int_params |
| |
| std::map< std::string, long long > | longint_params |
| |
| std::optional< double > | MemLimit |
| | memory limit in MB ("limits/memory")
|
| |
| std::optional< double > | MIPGap |
| | relative MIP optimality gap ("limits/gap")
|
| |
| std::optional< double > | MIPGapAbs |
| | absolute MIP optimality gap ("limits/absgap")
|
| |
| std::optional< int > | NodeLimit |
| | max B&B nodes ("limits/totalnodes" → applied to "limits/nodes")
|
| |
| std::map< std::string, double > | real_params |
| |
| std::optional< int > | Seed |
| | random seed shift ("randomization/randomseedshift")
|
| |
| std::optional< int > | SolutionLimit |
| | stop after this many MIP solutions ("limits/solutions")
|
| |
| std::map< std::string, std::string > | str_params |
| |
| std::optional< int > | Threads |
| | worker threads ("parallel/maxnthreads"); SCIP default is sequential unless built with parallel
|
| |
| std::optional< double > | TimeLimit |
| | wall-clock time limit in seconds ("limits/time")
|
| |
| std::optional< int > | VerbLevel |
| | SCIP verbosity 0..5 ("display/verblevel"); 0 = silent. SCIP default is 4.
|
| |
Settings for the dynamically-loaded SCIP solver backend.
Pass an instance to a ZonoOpt optimization method to route through SCIP.
Notes:
- SCIP's objective is linear by definition. Quadratic objectives are modeled via an epigraph reformulation (auxiliary variable + quadratic constraint), transparent to the caller.
◆ SCIPSettings()
| ZonoOpt::SCIPSettings::SCIPSettings |
( |
| ) |
|
|
inline |
Construct a new SCIPSettings object.
- Exceptions
-
| std::runtime_error | if the SCIP shared library cannot be dynamically loaded |
◆ clone()
| std::unique_ptr< SolverSettings > ZonoOpt::SCIPSettings::clone |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ print()
| std::string ZonoOpt::SCIPSettings::print |
( |
| ) |
const |
|
inline |
◆ solver_name()
| std::string ZonoOpt::SCIPSettings::solver_name |
( |
| ) |
const |
|
inlineoverridevirtual |
Return name of the solver backend selected by this settings type, e.g., "ZonoOpt", "Gurobi", "SCIP".
- Returns
- std::string
Implements ZonoOpt::SolverSettings.
◆ verify_available()
| void ZonoOpt::SCIPSettings::verify_available |
( |
| ) |
const |
|
inlineoverridevirtual |
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.
- Exceptions
-
| std::runtime_error | if the backend cannot be initialized (subclass implementations only; the default no-op does not throw). |
Reimplemented from ZonoOpt::SolverSettings.
◆ bool_params
| std::map<std::string, bool> ZonoOpt::SCIPSettings::bool_params |
◆ char_params
| std::map<std::string, char> ZonoOpt::SCIPSettings::char_params |
◆ FeasibilityTol
| std::optional<double> ZonoOpt::SCIPSettings::FeasibilityTol |
feasibility tolerance ("numerics/feastol")
◆ int_params
| std::map<std::string, int> ZonoOpt::SCIPSettings::int_params |
◆ longint_params
| std::map<std::string, long long> ZonoOpt::SCIPSettings::longint_params |
◆ MemLimit
| std::optional<double> ZonoOpt::SCIPSettings::MemLimit |
memory limit in MB ("limits/memory")
◆ MIPGap
| std::optional<double> ZonoOpt::SCIPSettings::MIPGap |
relative MIP optimality gap ("limits/gap")
◆ MIPGapAbs
| std::optional<double> ZonoOpt::SCIPSettings::MIPGapAbs |
absolute MIP optimality gap ("limits/absgap")
◆ NodeLimit
| std::optional<int> ZonoOpt::SCIPSettings::NodeLimit |
max B&B nodes ("limits/totalnodes" → applied to "limits/nodes")
◆ real_params
| std::map<std::string, double> ZonoOpt::SCIPSettings::real_params |
◆ Seed
| std::optional<int> ZonoOpt::SCIPSettings::Seed |
random seed shift ("randomization/randomseedshift")
◆ SolutionLimit
| std::optional<int> ZonoOpt::SCIPSettings::SolutionLimit |
stop after this many MIP solutions ("limits/solutions")
◆ str_params
| std::map<std::string, std::string> ZonoOpt::SCIPSettings::str_params |
◆ Threads
| std::optional<int> ZonoOpt::SCIPSettings::Threads |
worker threads ("parallel/maxnthreads"); SCIP default is sequential unless built with parallel
◆ TimeLimit
| std::optional<double> ZonoOpt::SCIPSettings::TimeLimit |
wall-clock time limit in seconds ("limits/time")
◆ VerbLevel
| std::optional<int> ZonoOpt::SCIPSettings::VerbLevel |
SCIP verbosity 0..5 ("display/verblevel"); 0 = silent. SCIP default is 4.
The documentation for this struct was generated from the following file: