19 enum class Decision { One = 1, Zero = 0, Undefined = -1 };
20 enum class Status { NotSolved, SolvedBranchable, SolvedNonBranchable };
25 double lower_bound_, upper_bound_, partition_val_;
37 const std::vector< std::shared_ptr<Var> >& binary_variables);
43 void initializeRootNode();
44 int selectNodeToExplore();
45 double getProblemLowerBound();
46 int optimilityCheck(
int node_id);
47 void createBranches(
int node_id);
48 void updateNodeBounds(
int node_id);
49 void selectPartitionVariable(
int& partition_id,
double& partition_val);
50 void updateProblemData(
const Eigen::Ref<const Eigen::VectorXi>& bool_node_id);
61 std::vector<node> nodes_;
62 Eigen::VectorXi binvars_ids_;
63 Eigen::VectorXi binvars_vec_id_;
64 Eigen::MatrixXi binvars_mat_id_;
65 int nbin_vars_, iteration_, node_id_;
66 double prob_upper_bound_, prob_lower_bound_;
Helper class to define an optimization vector, including primal and dual variables, and variables to render the optimization problem homogeneous.
Definition: Cone.hpp:322
Definition: BnBSolver.hpp:22
Main class that implements an Interior Point Solver for Second-Order Cones.
Definition: IPSolver.hpp:31
Helper class that contains information about the status of the optimization problem.
Definition: CvxInfoPrinter.hpp:35
ECOS - Embedded Conic Solver.
Definition: BnBSolver.hpp:28