idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::Optimizers::Gurobi Class Reference
Inheritance diagram for idol::Optimizers::Gurobi:
Inheritance graph
Collaboration diagram for idol::Optimizers::Gurobi:
Collaboration graph

Public Member Functions

 Gurobi (const Model &t_model, bool t_continuous_relaxation, GRBEnv &t_env)
 
 Gurobi (const Model &t_model, bool t_continuous_relaxation)
 
GRBEnv & env ()
 
const GRBEnv & env () const
 
GRBModel & model ()
 
const GRBModel & model () const
 
std::string name () const override
 
void set_param_time_limit (double t_time_limit) override
 
void set_param_threads (unsigned int t_thread_limit) override
 
void set_param_best_obj_stop (double t_best_obj_stop) override
 
void set_param_best_bound_stop (double t_best_bound_stop) override
 
void set_param_presolve (bool t_value) override
 
void set_param_infeasible_or_unbounded_info (bool t_value) override
 
void add_callback (Callback *t_ptr_to_callback)
 
void set_lazy_cut (bool t_value)
 
void set_max_n_solution_in_pool (unsigned int t_value)
 
void set_param_logs (bool t_value) override
 
void set_param (GRB_IntParam t_param, int t_value)
 
void set_param (GRB_DoubleParam t_param, double t_value)
 
void set_tol_mip_relative_gap (double t_relative_gap_tolerance) override
 
void set_tol_mip_absolute_gap (double t_absolute_gap_tolerance) override
 
void set_tol_feasibility (double t_tol_feasibility) override
 
void set_tol_optimality (double t_tol_optimality) override
 
void set_tol_integer (double t_tol_integer) override
 
GRBVar & operator[] (const Var &t_var)
 
const GRBVar & operator[] (const Var &t_var) const
 
GRBConstr & operator[] (const Ctr &t_ctr)
 
const GRBConstr & operator[] (const Ctr &t_ctr) const
 

Static Public Member Functions

static Model read_from_file (Env &t_env, const std::string &t_filename)
 

Protected Member Functions

void hook_build () override
 
void hook_optimize () override
 
void hook_write (const std::string &t_name) override
 
GRBVar hook_add (const Var &t_var, bool t_add_column) override
 
GRBConstr hook_add (const Ctr &t_ctr) override
 
GRBQConstr hook_add (const QCtr &t_ctr) override
 
GRBSOS hook_add (const SOSCtr &t_ctr) override
 
void hook_update (const Var &t_var) override
 
void hook_update (const Ctr &t_ctr) override
 
void hook_update_objective_sense () override
 
void hook_update_matrix (const Ctr &t_ctr, const Var &t_var, double t_constant) override
 
void hook_update_objective () override
 
void hook_update_rhs () override
 
void hook_update () override
 
void hook_remove (const Var &t_var) override
 
void hook_remove (const Ctr &t_ctr) override
 
void hook_remove (const QCtr &t_ctr) override
 
void hook_remove (const SOSCtr &t_ctr) override
 
void update_objective_constant ()
 
SolutionStatus get_status () const override
 
SolutionReason get_reason () const override
 
double get_best_obj () const override
 
double get_best_bound () const override
 
double get_var_primal (const Var &t_var) const override
 
double get_var_reduced_cost (const Var &t_var) const override
 
double get_var_ray (const Var &t_var) const override
 
double get_ctr_dual (const Ctr &t_ctr) const override
 
double get_ctr_farkas (const Ctr &t_ctr) const override
 
double get_relative_gap () const override
 
double get_absolute_gap () const override
 
unsigned int get_n_solutions () const override
 
unsigned int get_solution_index () const override
 
void set_solution_index (unsigned int t_index) override
 
void build () final
 
void write (const std::string &t_name) final
 
void add (const Var &t_var) final
 
void add (const Ctr &t_ctr) final
 
void add (const QCtr &t_ctr) final
 
void add (const SOSCtr &t_ctr) final
 
void update () final
 
void remove (const Var &t_var) final
 
void remove (const Ctr &t_ctr) final
 
void remove (const QCtr &t_ctr) final
 
void remove (const SOSCtr &t_ctr) final
 
bool has_lazy (const Var &t_var) const
 
bool has_lazy (const Ctr &t_ctr) const
 
bool has_lazy (const QCtr &t_qctr) const
 
auto & lazy (const Var &t_var)
 
const auto & lazy (const Var &t_var) const
 
auto & lazy (const Ctr &t_ctr)
 
const auto & lazy (const Ctr &t_ctr) const
 
auto & lazy (const QCtr &t_ctr)
 
const auto & lazy (const QCtr &t_ctr) const
 
auto & lazy (const SOSCtr &t_ctr)
 
const auto & lazy (const SOSCtr &t_ctr) const
 
auto & lazy_vars ()
 
const auto & lazy_vars () const
 
auto & lazy_ctrs ()
 
const auto & lazy_ctrs () const
 
auto & lazy_qctrs ()
 
const auto & lazy_qctrs () const
 
auto & lazy_sosctrs ()
 
const auto & lazy_sosctrs () const
 
void set_objective_to_be_updated ()
 
bool is_objective_to_be_updated () const
 
void set_objective_as_updated ()
 
void set_rhs_to_be_updated ()
 
bool is_rhs_to_be_updated () const
 
void set_rhs_as_updated ()
 
void update_obj_sense () override
 
void update_obj () override
 
void update_rhs () override
 
void update_obj_constant () override
 
void update_mat_coeff (const Ctr &t_ctr, const Var &t_var) override
 
void update_ctr_type (const Ctr &t_ctr) override
 
void update_ctr_rhs (const Ctr &t_ctr) override
 
void update_var_type (const Var &t_var) override
 
void update_var_lb (const Var &t_var) override
 
void update_var_ub (const Var &t_var) override
 
void update_var_obj (const Var &t_var) override
 

Friends

class ::idol::GurobiCallbackI
 

Detailed Description

Definition at line 21 of file Optimizers_Gurobi.h.

Constructor & Destructor Documentation

◆ Gurobi()

idol::Optimizers::Gurobi::Gurobi ( const Model t_model,
bool  t_continuous_relaxation 
)
inlineexplicit

Definition at line 80 of file Optimizers_Gurobi.h.

Member Function Documentation

◆ add() [1/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::add ( const Ctr t_ctr)
finalprotectedinherited

Definition at line 93 of file OptimizerWithLazyUpdates.h.

◆ add() [2/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::add ( const QCtr t_ctr)
finalprotectedinherited

Definition at line 96 of file OptimizerWithLazyUpdates.h.

◆ add() [3/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::add ( const SOSCtr t_ctr)
finalprotectedinherited

Definition at line 99 of file OptimizerWithLazyUpdates.h.

◆ add() [4/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::add ( const Var t_var)
finalprotectedinherited

Definition at line 90 of file OptimizerWithLazyUpdates.h.

◆ build()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::build ( )
finalprotectedinherited

Definition at line 84 of file OptimizerWithLazyUpdates.h.

◆ env() [1/2]

GRBEnv & idol::Optimizers::Gurobi::env ( )
inline

Definition at line 82 of file Optimizers_Gurobi.h.

◆ env() [2/2]

const GRBEnv & idol::Optimizers::Gurobi::env ( ) const
inline

Definition at line 84 of file Optimizers_Gurobi.h.

◆ has_lazy() [1/3]

bool idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::has_lazy ( const Ctr t_ctr) const
inlineprotectedinherited

Definition at line 131 of file OptimizerWithLazyUpdates.h.

◆ has_lazy() [2/3]

bool idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::has_lazy ( const QCtr t_qctr) const
inlineprotectedinherited

Definition at line 136 of file OptimizerWithLazyUpdates.h.

◆ has_lazy() [3/3]

bool idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::has_lazy ( const Var t_var) const
inlineprotectedinherited

Definition at line 126 of file OptimizerWithLazyUpdates.h.

◆ hook_add() [1/4]

GRBConstr idol::Optimizers::Gurobi::hook_add ( const Ctr t_ctr)
overrideprotectedvirtual

◆ hook_add() [2/4]

GRBQConstr idol::Optimizers::Gurobi::hook_add ( const QCtr t_ctr)
overrideprotectedvirtual

◆ hook_add() [3/4]

GRBSOS idol::Optimizers::Gurobi::hook_add ( const SOSCtr t_ctr)
overrideprotectedvirtual

◆ hook_add() [4/4]

GRBVar idol::Optimizers::Gurobi::hook_add ( const Var t_var,
bool  t_add_column 
)
overrideprotectedvirtual

◆ hook_build()

void idol::Optimizers::Gurobi::hook_build ( )
overrideprotectedvirtual

◆ hook_remove() [1/4]

void idol::Optimizers::Gurobi::hook_remove ( const Ctr t_ctr)
overrideprotectedvirtual

◆ hook_remove() [2/4]

void idol::Optimizers::Gurobi::hook_remove ( const QCtr t_ctr)
overrideprotectedvirtual

◆ hook_remove() [3/4]

void idol::Optimizers::Gurobi::hook_remove ( const SOSCtr t_ctr)
overrideprotectedvirtual

◆ hook_remove() [4/4]

void idol::Optimizers::Gurobi::hook_remove ( const Var t_var)
overrideprotectedvirtual

◆ hook_update() [1/3]

void idol::Optimizers::Gurobi::hook_update ( )
overrideprotectedvirtual

◆ hook_update() [2/3]

void idol::Optimizers::Gurobi::hook_update ( const Ctr t_ctr)
overrideprotectedvirtual

◆ hook_update() [3/3]

void idol::Optimizers::Gurobi::hook_update ( const Var t_var)
overrideprotectedvirtual

◆ hook_update_matrix()

void idol::Optimizers::Gurobi::hook_update_matrix ( const Ctr t_ctr,
const Var t_var,
double  t_constant 
)
overrideprotectedvirtual

◆ hook_update_objective()

void idol::Optimizers::Gurobi::hook_update_objective ( )
overrideprotectedvirtual

◆ hook_update_objective_sense()

void idol::Optimizers::Gurobi::hook_update_objective_sense ( )
overrideprotectedvirtual

◆ hook_update_rhs()

void idol::Optimizers::Gurobi::hook_update_rhs ( )
overrideprotectedvirtual

◆ hook_write()

void idol::Optimizers::Gurobi::hook_write ( const std::string &  t_name)
overrideprotectedvirtual

◆ is_objective_to_be_updated()

bool idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::is_objective_to_be_updated ( ) const
inlineprotectedinherited

Definition at line 166 of file OptimizerWithLazyUpdates.h.

◆ is_rhs_to_be_updated()

bool idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::is_rhs_to_be_updated ( ) const
inlineprotectedinherited

Definition at line 170 of file OptimizerWithLazyUpdates.h.

◆ lazy() [1/8]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const Ctr t_ctr)
inlineprotectedinherited

Definition at line 144 of file OptimizerWithLazyUpdates.h.

◆ lazy() [2/8]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const Ctr t_ctr) const
inlineprotectedinherited

Definition at line 145 of file OptimizerWithLazyUpdates.h.

◆ lazy() [3/8]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const QCtr t_ctr)
inlineprotectedinherited

Definition at line 147 of file OptimizerWithLazyUpdates.h.

◆ lazy() [4/8]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const QCtr t_ctr) const
inlineprotectedinherited

Definition at line 148 of file OptimizerWithLazyUpdates.h.

◆ lazy() [5/8]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const SOSCtr t_ctr)
inlineprotectedinherited

Definition at line 150 of file OptimizerWithLazyUpdates.h.

◆ lazy() [6/8]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const SOSCtr t_ctr) const
inlineprotectedinherited

Definition at line 151 of file OptimizerWithLazyUpdates.h.

◆ lazy() [7/8]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const Var t_var)
inlineprotectedinherited

Definition at line 141 of file OptimizerWithLazyUpdates.h.

◆ lazy() [8/8]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy ( const Var t_var) const
inlineprotectedinherited

Definition at line 142 of file OptimizerWithLazyUpdates.h.

◆ lazy_ctrs() [1/2]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_ctrs ( )
inlineprotectedinherited

Definition at line 156 of file OptimizerWithLazyUpdates.h.

◆ lazy_ctrs() [2/2]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_ctrs ( ) const
inlineprotectedinherited

Definition at line 157 of file OptimizerWithLazyUpdates.h.

◆ lazy_qctrs() [1/2]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_qctrs ( )
inlineprotectedinherited

Definition at line 159 of file OptimizerWithLazyUpdates.h.

◆ lazy_qctrs() [2/2]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_qctrs ( ) const
inlineprotectedinherited

Definition at line 160 of file OptimizerWithLazyUpdates.h.

◆ lazy_sosctrs() [1/2]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_sosctrs ( )
inlineprotectedinherited

Definition at line 162 of file OptimizerWithLazyUpdates.h.

◆ lazy_sosctrs() [2/2]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_sosctrs ( ) const
inlineprotectedinherited

Definition at line 163 of file OptimizerWithLazyUpdates.h.

◆ lazy_vars() [1/2]

auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_vars ( )
inlineprotectedinherited

Definition at line 153 of file OptimizerWithLazyUpdates.h.

◆ lazy_vars() [2/2]

const auto & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::lazy_vars ( ) const
inlineprotectedinherited

Definition at line 154 of file OptimizerWithLazyUpdates.h.

◆ model() [1/2]

GRBModel & idol::Optimizers::Gurobi::model ( )
inline

Definition at line 86 of file Optimizers_Gurobi.h.

◆ model() [2/2]

const GRBModel & idol::Optimizers::Gurobi::model ( ) const
inline

Definition at line 88 of file Optimizers_Gurobi.h.

◆ name()

std::string idol::Optimizers::Gurobi::name ( ) const
inlineoverride

Definition at line 90 of file Optimizers_Gurobi.h.

◆ operator[]() [1/4]

GRBConstr & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::operator[] ( const Ctr t_ctr)
inlineinherited

Definition at line 188 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [2/4]

const GRBConstr & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::operator[] ( const Ctr t_ctr) const
inlineinherited

Definition at line 189 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [3/4]

GRBVar & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::operator[] ( const Var t_var)
inlineinherited

Definition at line 185 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [4/4]

const GRBVar & idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::operator[] ( const Var t_var) const
inlineinherited

Definition at line 186 of file OptimizerWithLazyUpdates.h.

◆ remove() [1/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::remove ( const Ctr t_ctr)
finalprotectedinherited

Definition at line 117 of file OptimizerWithLazyUpdates.h.

◆ remove() [2/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::remove ( const QCtr t_ctr)
finalprotectedinherited

Definition at line 120 of file OptimizerWithLazyUpdates.h.

◆ remove() [3/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::remove ( const SOSCtr t_ctr)
finalprotectedinherited

Definition at line 123 of file OptimizerWithLazyUpdates.h.

◆ remove() [4/4]

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::remove ( const Var t_var)
finalprotectedinherited

Definition at line 114 of file OptimizerWithLazyUpdates.h.

◆ set_objective_as_updated()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::set_objective_as_updated ( )
inlineprotectedinherited

Definition at line 167 of file OptimizerWithLazyUpdates.h.

◆ set_objective_to_be_updated()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::set_objective_to_be_updated ( )
inlineprotectedinherited

Definition at line 165 of file OptimizerWithLazyUpdates.h.

◆ set_rhs_as_updated()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::set_rhs_as_updated ( )
inlineprotectedinherited

Definition at line 171 of file OptimizerWithLazyUpdates.h.

◆ set_rhs_to_be_updated()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::set_rhs_to_be_updated ( )
inlineprotectedinherited

Definition at line 169 of file OptimizerWithLazyUpdates.h.

◆ update()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update ( )
finalprotectedinherited

Definition at line 105 of file OptimizerWithLazyUpdates.h.

◆ update_ctr_rhs()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_ctr_rhs ( const Ctr t_ctr)
overrideprotectedinherited

Definition at line 179 of file OptimizerWithLazyUpdates.h.

◆ update_ctr_type()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_ctr_type ( const Ctr t_ctr)
overrideprotectedinherited

Definition at line 178 of file OptimizerWithLazyUpdates.h.

◆ update_mat_coeff()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_mat_coeff ( const Ctr t_ctr,
const Var t_var 
)
overrideprotectedinherited

Definition at line 177 of file OptimizerWithLazyUpdates.h.

◆ update_obj()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_obj ( )
overrideprotectedinherited

Definition at line 174 of file OptimizerWithLazyUpdates.h.

◆ update_obj_constant()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_obj_constant ( )
overrideprotectedinherited

Definition at line 176 of file OptimizerWithLazyUpdates.h.

◆ update_obj_sense()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_obj_sense ( )
overrideprotectedinherited

Definition at line 173 of file OptimizerWithLazyUpdates.h.

◆ update_rhs()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_rhs ( )
overrideprotectedinherited

Definition at line 175 of file OptimizerWithLazyUpdates.h.

◆ update_var_lb()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_var_lb ( const Var t_var)
overrideprotectedinherited

Definition at line 181 of file OptimizerWithLazyUpdates.h.

◆ update_var_obj()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_var_obj ( const Var t_var)
overrideprotectedinherited

Definition at line 183 of file OptimizerWithLazyUpdates.h.

◆ update_var_type()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_var_type ( const Var t_var)
overrideprotectedinherited

Definition at line 180 of file OptimizerWithLazyUpdates.h.

◆ update_var_ub()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::update_var_ub ( const Var t_var)
overrideprotectedinherited

Definition at line 182 of file OptimizerWithLazyUpdates.h.

◆ write()

void idol::OptimizerWithLazyUpdates< GRBVar , GRBConstr , GRBQConstr , GRBSOS >::write ( const std::string &  t_name)
finalprotectedinherited

Definition at line 87 of file OptimizerWithLazyUpdates.h.

Friends And Related Symbol Documentation

◆ ::idol::GurobiCallbackI

friend class ::idol::GurobiCallbackI
friend

Definition at line 22 of file Optimizers_Gurobi.h.