idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT > Class Template Referenceabstract
Inheritance diagram for idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >:
Inheritance graph
Collaboration diagram for idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >:
Collaboration graph

Public Member Functions

VarImplT & operator[] (const Var &t_var)
 
const VarImplT & operator[] (const Var &t_var) const
 
CtrImplT & operator[] (const Ctr &t_ctr)
 
const CtrImplT & operator[] (const Ctr &t_ctr) const
 

Protected Member Functions

 OptimizerWithLazyUpdates (const Model &t_parent)
 
void build () final
 
virtual void hook_build ()=0
 
void write (const std::string &t_name) final
 
virtual void hook_write (const std::string &t_name)=0
 
void add (const Var &t_var) final
 
virtual VarImplT hook_add (const Var &t_var, bool t_add_column)=0
 
void add (const Ctr &t_ctr) final
 
virtual CtrImplT hook_add (const Ctr &t_ctr)=0
 
void add (const QCtr &t_ctr) final
 
virtual QCtrImplT hook_add (const QCtr &t_ctr)=0
 
void add (const SOSCtr &t_ctr) final
 
virtual SOSCtrImplT hook_add (const SOSCtr &t_ctr)=0
 
virtual void hook_update_objective_sense ()=0
 
virtual void hook_update_matrix (const Ctr &t_ctr, const Var &t_var, double t_constant)=0
 
void update () final
 
virtual void hook_update ()=0
 
virtual void hook_update (const Var &t_var)=0
 
virtual void hook_update (const Ctr &t_ctr)=0
 
virtual void hook_update_objective ()=0
 
virtual void hook_update_rhs ()=0
 
void remove (const Var &t_var) final
 
virtual void hook_remove (const Var &t_var)=0
 
void remove (const Ctr &t_ctr) final
 
virtual void hook_remove (const Ctr &t_ctr)=0
 
void remove (const QCtr &t_ctr) final
 
virtual void hook_remove (const QCtr &t_ctr)=0
 
void remove (const SOSCtr &t_ctr) final
 
virtual void hook_remove (const SOSCtr &t_ctr)=0
 
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
 

Detailed Description

template<class VarImplT, class CtrImplT, class QCtrImplT, class SOSCtrImplT>
class idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >

Definition at line 53 of file OptimizerWithLazyUpdates.h.

Constructor & Destructor Documentation

◆ OptimizerWithLazyUpdates()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::OptimizerWithLazyUpdates ( const Model t_parent)
explicitprotected

Definition at line 249 of file OptimizerWithLazyUpdates.h.

Member Function Documentation

◆ add() [1/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::add ( const Ctr t_ctr)
finalprotected

Definition at line 431 of file OptimizerWithLazyUpdates.h.

◆ add() [2/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::add ( const QCtr t_ctr)
finalprotected

Definition at line 443 of file OptimizerWithLazyUpdates.h.

◆ add() [3/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::add ( const SOSCtr t_ctr)
finalprotected

Definition at line 456 of file OptimizerWithLazyUpdates.h.

◆ add() [4/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::add ( const Var t_var)
finalprotected

Definition at line 469 of file OptimizerWithLazyUpdates.h.

◆ build()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::build ( )
finalprotected

Definition at line 254 of file OptimizerWithLazyUpdates.h.

◆ has_lazy() [1/3]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
bool idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::has_lazy ( const Ctr t_ctr) const
inlineprotected

Definition at line 131 of file OptimizerWithLazyUpdates.h.

◆ has_lazy() [2/3]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
bool idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::has_lazy ( const QCtr t_qctr) const
inlineprotected

Definition at line 136 of file OptimizerWithLazyUpdates.h.

◆ has_lazy() [3/3]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
bool idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::has_lazy ( const Var t_var) const
inlineprotected

Definition at line 126 of file OptimizerWithLazyUpdates.h.

◆ is_objective_to_be_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
bool idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::is_objective_to_be_updated ( ) const
inlineprotected

Definition at line 166 of file OptimizerWithLazyUpdates.h.

◆ is_rhs_to_be_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
bool idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::is_rhs_to_be_updated ( ) const
inlineprotected

Definition at line 170 of file OptimizerWithLazyUpdates.h.

◆ lazy() [1/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const Ctr t_ctr)
inlineprotected

Definition at line 144 of file OptimizerWithLazyUpdates.h.

◆ lazy() [2/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const Ctr t_ctr) const
inlineprotected

Definition at line 145 of file OptimizerWithLazyUpdates.h.

◆ lazy() [3/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const QCtr t_ctr)
inlineprotected

Definition at line 147 of file OptimizerWithLazyUpdates.h.

◆ lazy() [4/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const QCtr t_ctr) const
inlineprotected

Definition at line 148 of file OptimizerWithLazyUpdates.h.

◆ lazy() [5/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const SOSCtr t_ctr)
inlineprotected

Definition at line 150 of file OptimizerWithLazyUpdates.h.

◆ lazy() [6/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const SOSCtr t_ctr) const
inlineprotected

Definition at line 151 of file OptimizerWithLazyUpdates.h.

◆ lazy() [7/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const Var t_var)
inlineprotected

Definition at line 141 of file OptimizerWithLazyUpdates.h.

◆ lazy() [8/8]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy ( const Var t_var) const
inlineprotected

Definition at line 142 of file OptimizerWithLazyUpdates.h.

◆ lazy_ctrs() [1/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_ctrs ( )
inlineprotected

Definition at line 156 of file OptimizerWithLazyUpdates.h.

◆ lazy_ctrs() [2/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_ctrs ( ) const
inlineprotected

Definition at line 157 of file OptimizerWithLazyUpdates.h.

◆ lazy_qctrs() [1/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_qctrs ( )
inlineprotected

Definition at line 159 of file OptimizerWithLazyUpdates.h.

◆ lazy_qctrs() [2/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_qctrs ( ) const
inlineprotected

Definition at line 160 of file OptimizerWithLazyUpdates.h.

◆ lazy_sosctrs() [1/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_sosctrs ( )
inlineprotected

Definition at line 162 of file OptimizerWithLazyUpdates.h.

◆ lazy_sosctrs() [2/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_sosctrs ( ) const
inlineprotected

Definition at line 163 of file OptimizerWithLazyUpdates.h.

◆ lazy_vars() [1/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_vars ( )
inlineprotected

Definition at line 153 of file OptimizerWithLazyUpdates.h.

◆ lazy_vars() [2/2]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const auto & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::lazy_vars ( ) const
inlineprotected

Definition at line 154 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [1/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
CtrImplT & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::operator[] ( const Ctr t_ctr)
inline

Definition at line 188 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [2/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const CtrImplT & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::operator[] ( const Ctr t_ctr) const
inline

Definition at line 189 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [3/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
VarImplT & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::operator[] ( const Var t_var)
inline

Definition at line 185 of file OptimizerWithLazyUpdates.h.

◆ operator[]() [4/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
const VarImplT & idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::operator[] ( const Var t_var) const
inline

Definition at line 186 of file OptimizerWithLazyUpdates.h.

◆ remove() [1/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::remove ( const Ctr t_ctr)
finalprotected

Definition at line 496 of file OptimizerWithLazyUpdates.h.

◆ remove() [2/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::remove ( const QCtr t_ctr)
finalprotected

Definition at line 511 of file OptimizerWithLazyUpdates.h.

◆ remove() [3/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::remove ( const SOSCtr t_ctr)
finalprotected

Definition at line 526 of file OptimizerWithLazyUpdates.h.

◆ remove() [4/4]

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::remove ( const Var t_var)
finalprotected

Definition at line 481 of file OptimizerWithLazyUpdates.h.

◆ set_objective_as_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::set_objective_as_updated ( )
inlineprotected

Definition at line 167 of file OptimizerWithLazyUpdates.h.

◆ set_objective_to_be_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::set_objective_to_be_updated ( )
inlineprotected

Definition at line 165 of file OptimizerWithLazyUpdates.h.

◆ set_rhs_as_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::set_rhs_as_updated ( )
inlineprotected

Definition at line 171 of file OptimizerWithLazyUpdates.h.

◆ set_rhs_to_be_updated()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::set_rhs_to_be_updated ( )
inlineprotected

Definition at line 169 of file OptimizerWithLazyUpdates.h.

◆ update()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update ( )
finalprotected

Definition at line 291 of file OptimizerWithLazyUpdates.h.

◆ update_ctr_rhs()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_ctr_rhs ( const Ctr t_ctr)
overrideprotected

Definition at line 213 of file OptimizerWithLazyUpdates.h.

◆ update_ctr_type()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_ctr_type ( const Ctr t_ctr)
overrideprotected

Definition at line 218 of file OptimizerWithLazyUpdates.h.

◆ update_mat_coeff()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_mat_coeff ( const Ctr t_ctr,
const Var t_var 
)
overrideprotected

Definition at line 223 of file OptimizerWithLazyUpdates.h.

◆ update_obj()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_obj ( )
overrideprotected

Definition at line 233 of file OptimizerWithLazyUpdates.h.

◆ update_obj_constant()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_obj_constant ( )
overrideprotected

Definition at line 228 of file OptimizerWithLazyUpdates.h.

◆ update_obj_sense()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_obj_sense ( )
overrideprotected

Definition at line 238 of file OptimizerWithLazyUpdates.h.

◆ update_rhs()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_rhs ( )
overrideprotected

Definition at line 244 of file OptimizerWithLazyUpdates.h.

◆ update_var_lb()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_var_lb ( const Var t_var)
overrideprotected

Definition at line 203 of file OptimizerWithLazyUpdates.h.

◆ update_var_obj()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_var_obj ( const Var t_var)
overrideprotected

Definition at line 198 of file OptimizerWithLazyUpdates.h.

◆ update_var_type()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_var_type ( const Var t_var)
overrideprotected

Definition at line 208 of file OptimizerWithLazyUpdates.h.

◆ update_var_ub()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::update_var_ub ( const Var t_var)
overrideprotected

Definition at line 193 of file OptimizerWithLazyUpdates.h.

◆ write()

template<class VarImplT , class CtrImplT , class QCtrImplT , class SOSCtrImplT >
void idol::OptimizerWithLazyUpdates< VarImplT, CtrImplT, QCtrImplT, SOSCtrImplT >::write ( const std::string &  t_name)
finalprotected

Definition at line 285 of file OptimizerWithLazyUpdates.h.