Settings for the dynamically-loaded Gurobi solver backend.
More...
#include <GurobiSettings.hpp>
|
| std::unique_ptr< SolverSettings > | clone () const override |
| | Polymorphic copy. Must be overridden by every concrete subclass.
|
| |
| | GurobiSettings () |
| | Construct a new Gurobi Settings object.
|
| |
| std::string | print () const |
| | displays the parameters that have been explicitly set
|
| |
| 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::optional< int > | Cuts |
| | global cut aggressiveness: -1..3
|
| |
| std::map< std::string, double > | dbl_params |
| |
| std::optional< double > | FeasibilityTol |
| | constraint feasibility tolerance
|
| |
| std::optional< double > | Heuristics |
| | MIP heuristics effort (0..1)
|
| |
| std::map< std::string, int > | int_params |
| |
| std::optional< double > | IntFeasTol |
| | integer feasibility tolerance
|
| |
| std::optional< std::string > | LogFile |
| |
| std::optional< int > | LogToConsole |
| |
| std::optional< double > | MemLimit |
| | memory limit in GB
|
| |
| std::optional< int > | Method |
| | root-node algorithm: -1 auto, 0..5
|
| |
| std::optional< int > | MIPFocus |
| | 0 default, 1 feasibility, 2 optimality, 3 bound
|
| |
| std::optional< double > | MIPGap |
| | relative MIP optimality gap
|
| |
| std::optional< double > | MIPGapAbs |
| | absolute MIP optimality gap
|
| |
| std::optional< int > | NumericFocus |
| | 0..3 numerical-care knob
|
| |
| std::optional< double > | OptimalityTol |
| | dual feasibility tolerance
|
| |
| std::optional< int > | OutputFlag |
| | 0 silent, 1 verbose (Gurobi default 1)
|
| |
| std::optional< double > | PoolGap |
| |
| std::optional< double > | PoolGapAbs |
| |
| std::optional< int > | PoolSearchMode |
| |
| std::optional< int > | PoolSolutions |
| |
| std::optional< int > | Presolve |
| | -1 auto, 0 off, 1 conservative, 2 aggressive
|
| |
| std::optional< int > | Seed |
| | random seed
|
| |
| std::optional< int > | SolutionLimit |
| | stop after this many MIP solutions
|
| |
| std::map< std::string, std::string > | str_params |
| |
| std::optional< int > | Threads |
| | worker thread count; 0 = auto
|
| |
| std::optional< double > | TimeLimit |
| | wall-clock time limit in seconds
|
| |
| std::optional< double > | WorkLimit |
| | deterministic work limit
|
| |
Settings for the dynamically-loaded Gurobi solver backend.
Pass an instance to a ZonoOpt optimization method to route through Gurobi.
◆ GurobiSettings()
| ZonoOpt::GurobiSettings::GurobiSettings |
( |
| ) |
|
|
inline |
Construct a new Gurobi Settings object.
- Exceptions
-
| std::runtime_error | if the Gurobi shared library cannot be dynamically loaded |
◆ clone()
| std::unique_ptr< SolverSettings > ZonoOpt::GurobiSettings::clone |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ print()
| std::string ZonoOpt::GurobiSettings::print |
( |
| ) |
const |
|
inline |
displays the parameters that have been explicitly set
◆ solver_name()
| std::string ZonoOpt::GurobiSettings::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::GurobiSettings::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.
◆ Cuts
| std::optional<int> ZonoOpt::GurobiSettings::Cuts |
global cut aggressiveness: -1..3
◆ dbl_params
| std::map<std::string, double> ZonoOpt::GurobiSettings::dbl_params |
◆ FeasibilityTol
| std::optional<double> ZonoOpt::GurobiSettings::FeasibilityTol |
constraint feasibility tolerance
◆ Heuristics
| std::optional<double> ZonoOpt::GurobiSettings::Heuristics |
MIP heuristics effort (0..1)
◆ int_params
| std::map<std::string, int> ZonoOpt::GurobiSettings::int_params |
◆ IntFeasTol
| std::optional<double> ZonoOpt::GurobiSettings::IntFeasTol |
integer feasibility tolerance
◆ LogFile
| std::optional<std::string> ZonoOpt::GurobiSettings::LogFile |
◆ LogToConsole
| std::optional<int> ZonoOpt::GurobiSettings::LogToConsole |
◆ MemLimit
| std::optional<double> ZonoOpt::GurobiSettings::MemLimit |
◆ Method
| std::optional<int> ZonoOpt::GurobiSettings::Method |
root-node algorithm: -1 auto, 0..5
◆ MIPFocus
| std::optional<int> ZonoOpt::GurobiSettings::MIPFocus |
0 default, 1 feasibility, 2 optimality, 3 bound
◆ MIPGap
| std::optional<double> ZonoOpt::GurobiSettings::MIPGap |
relative MIP optimality gap
◆ MIPGapAbs
| std::optional<double> ZonoOpt::GurobiSettings::MIPGapAbs |
absolute MIP optimality gap
◆ NumericFocus
| std::optional<int> ZonoOpt::GurobiSettings::NumericFocus |
◆ OptimalityTol
| std::optional<double> ZonoOpt::GurobiSettings::OptimalityTol |
dual feasibility tolerance
◆ OutputFlag
| std::optional<int> ZonoOpt::GurobiSettings::OutputFlag |
0 silent, 1 verbose (Gurobi default 1)
◆ PoolGap
| std::optional<double> ZonoOpt::GurobiSettings::PoolGap |
◆ PoolGapAbs
| std::optional<double> ZonoOpt::GurobiSettings::PoolGapAbs |
◆ PoolSearchMode
| std::optional<int> ZonoOpt::GurobiSettings::PoolSearchMode |
◆ PoolSolutions
| std::optional<int> ZonoOpt::GurobiSettings::PoolSolutions |
◆ Presolve
| std::optional<int> ZonoOpt::GurobiSettings::Presolve |
-1 auto, 0 off, 1 conservative, 2 aggressive
◆ Seed
| std::optional<int> ZonoOpt::GurobiSettings::Seed |
◆ SolutionLimit
| std::optional<int> ZonoOpt::GurobiSettings::SolutionLimit |
stop after this many MIP solutions
◆ str_params
| std::map<std::string, std::string> ZonoOpt::GurobiSettings::str_params |
◆ Threads
| std::optional<int> ZonoOpt::GurobiSettings::Threads |
worker thread count; 0 = auto
◆ TimeLimit
| std::optional<double> ZonoOpt::GurobiSettings::TimeLimit |
wall-clock time limit in seconds
◆ WorkLimit
| std::optional<double> ZonoOpt::GurobiSettings::WorkLimit |
The documentation for this struct was generated from the following file: