|
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 |
| 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 |
| 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 448 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 912 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 181 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 919 of file Optimizers_BranchAndBound.h.
|
virtual |
Definition at line 438 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 703 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 883 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 140 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 142 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 443 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 428 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 860 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 466 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 486 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 219 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 584 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 877 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 367 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 359 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 279 of file Optimizers_BranchAndBound.h.
| const idol::OptimizerFactory & idol::Optimizers::BranchAndBound< NodeInfoT >::get_relaxation_optimizer_factory | ( | ) | const |
Definition at line 213 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 274 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 383 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 375 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 239 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 144 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 575 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 505 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 532 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 146 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 188 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 247 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 262 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 130 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 126 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 128 of file Optimizers_BranchAndBound.h.
|
inlineoverride |
Definition at line 112 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 821 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 134 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 132 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 898 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 174 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 905 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 136 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 138 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 847 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 799 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 933 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 926 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 940 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::set_relaxation_optimizer_factory | ( | const OptimizerFactory & | t_factory | ) |
Definition at line 201 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::set_root_node_info | ( | const NodeInfoT & | t_node_info | ) |
Definition at line 209 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 267 of file Optimizers_BranchAndBound.h.
|
overrideprotectedvirtual |
Reimplemented from idol::Algorithm.
Definition at line 946 of file Optimizers_BranchAndBound.h.
|
inlinevirtual |
Definition at line 116 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::solve | ( | TreeNode & | t_node, |
| unsigned int | t_relaxation_id | ||
| ) | const |
Definition at line 671 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_heuristic_solution | ( | NodeInfoT * | t_info | ) |
Definition at line 407 of file Optimizers_BranchAndBound.h.
| void idol::Optimizers::BranchAndBound< NodeInfoT >::submit_lower_bound | ( | double | t_lower_bound | ) |
Definition at line 393 of file Optimizers_BranchAndBound.h.
|
inline |
Definition at line 118 of file Optimizers_BranchAndBound.h.
|
override |
Definition at line 196 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 891 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 319 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 312 of file Optimizers_BranchAndBound.h.
|
protected |
Definition at line 807 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 305 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 284 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 298 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 354 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 291 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 333 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 347 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 326 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 340 of file Optimizers_BranchAndBound.h.
|
overrideprotected |
Definition at line 855 of file Optimizers_BranchAndBound.h.