Heuristics::IntegerMaster

Warning

This heuristic can only be used with a BranchAndBound<NodeVarInfo> optimizer in which nodes are solved by DantzigWolfeDecomposition.

template<class NodeInfoT = idol::DefaultNodeInfo>
class IntegerMaster : public idol::BranchAndBoundCallbackFactory<idol::DefaultNodeInfo>

Public Functions

IntegerMaster() = default
IntegerMaster(IntegerMaster&&) noexcept = default
IntegerMaster &operator=(const IntegerMaster&) = delete
IntegerMaster &operator=(IntegerMaster&&) noexcept = default
virtual BranchAndBoundCallback<NodeInfoT> *operator()() override
virtual BranchAndBoundCallbackFactory<NodeInfoT> *clone() const override
IntegerMaster &with_optimizer(const OptimizerFactory &t_optimizer)
IntegerMaster &with_integer_columns(bool t_value)
IntegerMaster &with_time_limit(double t_time_limit)
IntegerMaster &with_iteration_limit(unsigned int t_iteration_limit)
IntegerMaster &with_max_depth(unsigned int t_max_depth)
IntegerMaster &with_frequency(unsigned int t_frequency)
class Strategy : public idol::BranchAndBoundCallback<NodeInfoT>

Public Functions

explicit Strategy(const OptimizerFactory &t_optimizer)
inline bool with_integer_columns() const
inline void set_integer_columns(bool t_value)
inline void set_time_limit(double t_time_limit)
inline void set_iteration_limit(unsigned int t_iteration_limit)
inline void set_max_depth(unsigned int t_max_depth)
inline void set_frequency(unsigned int t_frequency)