Definition at line 34 of file Optimizers_BranchAndBound.h.
Public Methods | |
| BranchAndBound (const Model &t_model, const OptimizerFactory &t_node_optimizer, const BranchingRuleFactory< NodeInfoT > &t_branching_rule_factory, const NodeSelectionRuleFactory< NodeInfoT > &t_node_selection_rule_factory, AbstractBranchAndBoundCallbackI< NodeInfoT > *t_callback, const Logs::BranchAndBound::Factory< NodeInfoT > &t_logger_factory) | |
| std::string | name () const override |
| void | solve (TreeNode &t_node, unsigned int t_relaxation_id) |
| virtual void | set_subtree_depth (unsigned int t_depth) |
| unsigned int | subtree_depth () const |
| virtual void | add_callback (BranchAndBoundCallback< NodeInfoT > *t_cb) |
| virtual void | add_presolver (const Presolvers::AbstractPresolver &t_presolver) |
| void | submit_heuristic_solution (NodeInfoT *t_info) |
| void | submit_lower_bound (double t_lower_bound) |
| bool | add_lazy_cut (const TempCtr &t_cut) |
| bool | add_user_cut (const TempCtr &t_cut) |
| unsigned int | n_created_nodes () const |
| unsigned int | n_solved_nodes () const |
| unsigned int | n_active_nodes () const |
| const Model & | relaxation () const |
| Model & | relaxation () |
| double | root_node_best_bound () const |
| double | root_node_best_obj () const |
| BranchingRule< NodeInfoT > & | branching_rule () |
| const BranchingRule< NodeInfoT > & | branching_rule () const |
| bool | has_incumbent () const |
| const TreeNode & | incumbent () const |
| 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 |
| unsigned int | get_n_solutions () const override |
| unsigned int | get_solution_index () const override |
| void | set_solution_index (unsigned int t_index) override |
| void | terminate () override |
| void | set_relaxation_optimizer_factory (const OptimizerFactory &t_factory) |
| void | set_root_node_info (const NodeInfoT &t_node_info) |
| const OptimizerFactory & | get_relaxation_optimizer_factory () const |
| double | get_best_obj () const override |
| SolutionStatus | get_status () const override |
| SolutionReason | get_reason () const override |
| double | get_best_bound () const override |
| double | get_relative_gap () const override |
| double | get_absolute_gap () const override |
Protected Methods | |
| const Model & | working_model () const |
| void | build () override |
| void | hook_before_optimize () override |
| void | hook_optimize () override |
| void | hook_after_optimize () override |
| void | add (const Var &t_var) override |
| void | add (const Ctr &t_ctr) override |
| void | add (const QCtr &t_ctr) override |
| void | remove (const Var &t_var) override |
| void | remove (const Ctr &t_ctr) override |
| void | remove (const QCtr &t_ctr) override |
| void | update () override |
| void | write (const std::string &t_name) override |
| void | detect_integer_objective () |
| void | create_relaxations () |
| Node< NodeInfoT > | create_root_node () |
| void | explore (TreeNode &t_node, unsigned int t_relaxation_id, SetOfActiveNodes &t_active_nodes, unsigned int t_step) |
| void | analyze (const TreeNode &t_node, unsigned int t_relaxation_id, bool *t_explore_children_flag, bool *t_reoptimize_flag) |
| Node< NodeInfoT > | select_node_for_branching (SetOfActiveNodes &t_active_nodes) |
| std::vector< TreeNode > | create_child_nodes (const TreeNode &t_node) |
| void | backtrack (SetOfActiveNodes &t_actives_nodes, SetOfActiveNodes &t_sub_active_nodes) |
| void | set_as_incumbent (const TreeNode &t_node) |
| bool | gap_is_closed () const |
| void | prune_nodes_by_bound (SetOfActiveNodes &t_active_nodes) |
| void | update_lower_bound (const SetOfActiveNodes &t_active_nodes) |
| bool | is_valid (const TreeNode &t_node) const |
| void | log_node_after_solve (const Node< NodeInfoT > &t_node) |
| void | log_after_termination () |
| SideEffectRegistry | call_callbacks (CallbackEvent t_event, const TreeNode &t_node, unsigned int t_relaxation_id) |
| 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 |
| void | set_status (SolutionStatus t_status) override |
| void | set_reason (SolutionReason t_reason) override |
| void | set_best_bound (double t_value) override |
| void | set_best_obj (double t_value) override |
|
explicit |
Definition at line 509 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 989 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 207 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 996 of file Optimizers_BranchAndBound.h.
|
virtual |
Definition at line 494 of file Optimizers_BranchAndBound.h.
| bool idol::Optimizers::BranchAndBound< NodeInfoT >::add_lazy_cut | ( | const TempCtr & | t_cut | ) |
Definition at line 442 of file Optimizers_BranchAndBound.h.
|
virtual |
Definition at line 499 of file Optimizers_BranchAndBound.h.
| bool idol::Optimizers::BranchAndBound< NodeInfoT >::add_user_cut | ( | const TempCtr & | t_cut | ) |
Definition at line 449 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 774 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 960 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 164 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 166 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 504 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 479 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 937 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 526 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 546 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 253 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 653 of file Optimizers_BranchAndBound.h.
|
nodiscardprotected |
Definition at line 954 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 245 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 402 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 394 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 314 of file Optimizers_BranchAndBound.h.
|
nodiscard |
Definition at line 239 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 309 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 418 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 410 of file Optimizers_BranchAndBound.h.
|
nodiscardoverride |
Definition at line 273 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 168 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 644 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 565 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 586 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 170 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 214 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 281 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 296 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 154 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 150 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 152 of file Optimizers_BranchAndBound.h.
|
inlinenodiscardoverride |
Definition at line 128 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 898 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 158 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 156 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 975 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 200 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 982 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 160 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 162 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 924 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 876 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 1010 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 1003 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 1017 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::set_relaxation_optimizer_factory | ( | const OptimizerFactory & | t_factory | ) |
Definition at line 227 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::set_root_node_info | ( | const NodeInfoT & | t_node_info | ) |
Definition at line 235 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 301 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 1023 of file Optimizers_BranchAndBound.h.
|
inlinevirtual |
Definition at line 132 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::solve | ( | TreeNode & | t_node, |
| unsigned int | t_relaxation_id ) |
Definition at line 740 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_heuristic_solution | ( | NodeInfoT * | t_info | ) |
Definition at line 454 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_lower_bound | ( | double | t_lower_bound | ) |
Definition at line 428 of file Optimizers_BranchAndBound.h.
|
inlinenodiscard |
Definition at line 134 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 222 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 968 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 354 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 347 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 884 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 340 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 319 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 333 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 389 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 326 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 368 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 382 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 361 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 375 of file Optimizers_BranchAndBound.h.
|
inlinenodiscardprotected |
Definition at line 71 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 932 of file Optimizers_BranchAndBound.h.