Skip to content

Commit 1506913

Browse files
committed
Return SCIPvarGetProbindex in Branching ActionSet
1 parent a7c0879 commit 1506913

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

libecole/src/dynamics/branching.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ std::optional<xt::xtensor<std::size_t, 1>> action_set(scip::Model const& model,
2020
}
2121
auto const branch_cands = pseudo ? model.pseudo_branch_cands() : model.lp_branch_cands();
2222
auto branch_cols = xt::xtensor<std::size_t, 1>::from_shape({branch_cands.size()});
23-
auto const var_to_idx = [](auto const var) { return SCIPcolGetLPPos(SCIPvarGetCol(var)); };
23+
auto const var_to_idx = [](auto const var) { return SCIPvarGetProbindex(var); };
2424
std::transform(branch_cands.begin(), branch_cands.end(), branch_cols.begin(), var_to_idx);
2525

2626
assert(branch_cols.size() > 0);
@@ -38,13 +38,12 @@ auto BranchingDynamics::reset_dynamics(scip::Model& model) -> std::tuple<bool, A
3838
}
3939

4040
auto BranchingDynamics::step_dynamics(scip::Model& model, std::size_t const& var_idx) -> std::tuple<bool, ActionSet> {
41-
auto const lp_cols = model.lp_columns();
42-
if (var_idx >= lp_cols.size()) {
41+
auto const vars = model.variables();
42+
if (var_idx >= vars.size()) {
4343
throw std::invalid_argument{
44-
fmt::format("Branching candidate index {} larger than the number of columns ({}).", var_idx, lp_cols.size())};
44+
fmt::format("Branching candidate index {} larger than the number of variables ({}).", var_idx, vars.size())};
4545
}
46-
auto* const var = SCIPcolGetVar(lp_cols[var_idx]);
47-
scip::call(SCIPbranchVar, model.get_scip_ptr(), var, nullptr, nullptr, nullptr);
46+
scip::call(SCIPbranchVar, model.get_scip_ptr(), vars[var_idx], nullptr, nullptr, nullptr);
4847
model.solve_iter_branch(SCIP_BRANCHED);
4948

5049
if (model.solve_iter_is_done()) {

0 commit comments

Comments
 (0)