@@ -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
4040auto 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