| idol
    A C++ Framework for Optimization | 


| Public Member Functions | |
| 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) const | 
| virtual void | set_subtree_depth (unsigned int t_depth) | 
| unsigned int | subtree_depth () const | 
| virtual void | add_callback (BranchAndBoundCallback< NodeInfoT > *t_cb) | 
| void | submit_heuristic_solution (NodeInfoT *t_info) | 
| void | submit_lower_bound (double t_lower_bound) | 
| 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 | 
| SolutionStatus | get_status () const override | 
| SolutionReason | get_reason () const override | 
| double | get_best_obj () const override | 
| double | get_best_bound () const override | 
| double | get_relative_gap () const override | 
| double | get_absolute_gap () const override | 
| Protected Member Functions | |
| 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 | 
Definition at line 30 of file Optimizers_BranchAndBound.h.
| 
 | explicit | 
Definition at line 424 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 877 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 174 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 884 of file Optimizers_BranchAndBound.h.
| 
 | virtual | 
Definition at line 414 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 669 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 848 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 139 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 141 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 419 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 404 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 825 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 442 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 462 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 195 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 552 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 842 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 343 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 335 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 255 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 250 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 359 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 351 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 215 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 143 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 543 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 473 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 500 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 145 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 181 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 223 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 238 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 129 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 125 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 127 of file Optimizers_BranchAndBound.h.
| 
 | inlineoverride | 
Definition at line 111 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 786 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 133 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 131 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 863 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 167 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 870 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 135 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 137 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 812 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 764 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotectedvirtual | 
Reimplemented from idol::Algorithm.
Definition at line 897 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotectedvirtual | 
Reimplemented from idol::Algorithm.
Definition at line 891 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotectedvirtual | 
Reimplemented from idol::Algorithm.
Definition at line 903 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 243 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotectedvirtual | 
Reimplemented from idol::Algorithm.
Definition at line 909 of file Optimizers_BranchAndBound.h.
| 
 | inlinevirtual | 
Definition at line 115 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::solve | ( | TreeNode & | t_node, | 
| unsigned int | t_relaxation_id | ||
| ) | const | 
Definition at line 639 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_heuristic_solution | ( | NodeInfoT * | t_info | ) | 
Definition at line 383 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_lower_bound | ( | double | t_lower_bound | ) | 
Definition at line 369 of file Optimizers_BranchAndBound.h.
| 
 | inline | 
Definition at line 117 of file Optimizers_BranchAndBound.h.
| 
 | override | 
Definition at line 189 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 856 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 295 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 288 of file Optimizers_BranchAndBound.h.
| 
 | protected | 
Definition at line 772 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 281 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 260 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 274 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 330 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 267 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 309 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 323 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 302 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 316 of file Optimizers_BranchAndBound.h.
| 
 | overrideprotected | 
Definition at line 820 of file Optimizers_BranchAndBound.h.