Optimizers::DantzigWolfeDecomposition

class DantzigWolfeDecomposition : public idol::Algorithm

Public Functions

DantzigWolfeDecomposition(const Model &t_model, idol::DantzigWolfe::Formulation &&t_formulation, const OptimizerFactory &t_master_optimizer_factory, const DantzigWolfe::DualPriceSmoothingStabilization &t_stabilization, unsigned int t_max_parallel_pricing, bool t_use_hard_branching, bool t_remove_infeasible_columns, std::vector<DantzigWolfe::SubProblem> &&t_sub_problem_specifications, std::optional<DantzigWolfe::SubProblem> t_default_sub_problem_spec, const DantzigWolfe::InfeasibilityStrategyFactory &t_strategy, const Logs::DantzigWolfe::Factory &t_logger_factory)
virtual std::string name() const override
inline const DantzigWolfe::Formulation &formulation() const
inline DantzigWolfe::Formulation &formulation()
virtual SolutionStatus get_status() const override
virtual SolutionReason get_reason() const override
virtual double get_best_obj() const override
virtual double get_best_bound() const override
virtual double get_relative_gap() const override
virtual double get_absolute_gap() const override
inline virtual const ::idol::Model &parent() const
inline bool get_param_logs() const
inline virtual void set_param_logs(bool t_value)
inline double get_param_time_limit() const
inline virtual void set_param_time_limit(double t_time_limit)
inline unsigned int get_param_thread_limit() const
inline virtual void set_param_threads(unsigned int t_threads)
double get_param_best_obj_stop() const
inline virtual void set_param_best_obj_stop(double t_best_obj_stop)
double get_param_best_bound_stop() const
inline virtual void set_param_best_bound_stop(double t_best_bound_stop)
inline double get_tol_mip_relative_gap() const
inline virtual void set_tol_mip_relative_gap(double t_tol_mip_relative_gap)
inline double get_tol_mip_absolute_gap() const
inline virtual void set_tol_mip_absolute_gap(double t_mip_tol_absolute_gap)
inline double get_tol_feasibility() const
inline virtual void set_tol_feasibility(double t_tol_feasibility)
inline double get_tol_optimality() const
inline virtual void set_tol_optimality(double t_tol_optimality)
inline double get_tol_integer() const
inline virtual void set_tol_integer(double t_tol_integer)
inline unsigned int get_param_iteration_limit() const
inline void set_param_iteration_limit(unsigned int t_iteration_limit)
inline bool get_param_presolve() const
inline virtual void set_param_presolve(bool t_value)
inline bool get_param_infeasible_or_unbounded_info() const
inline virtual void set_param_infeasible_or_unbounded_info(bool t_value)
inline const Timer &time() const
double get_remaining_time() const
inline bool is_terminated() const
virtual void terminate()
template<class T>
inline T &as()
template<class T>
inline const T &as() const
template<class T>
inline bool is() const
class ColumnGeneration

Public Functions

ColumnGeneration(DantzigWolfeDecomposition &t_parent, bool t_use_farkas_for_infeasibility, double t_best_bound_stop)
inline const DantzigWolfeDecomposition &parent() const
inline DantzigWolfeDecomposition &parent()
inline SolutionStatus status() const
inline SolutionReason reason() const
inline double best_obj() const
inline double best_bound() const
inline const Solution::Primal &primal_solution() const
inline void set_best_bound_stop(double t_best_bound_stop)
void execute()