Skip to content

Commit 3afac82

Browse files
committed
small fixes
Signed-off-by: Nicolas L. Guidotti <nguidotti@nvidia.com>
1 parent 91234bd commit 3afac82

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

cpp/src/branch_and_bound/branch_and_bound.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,7 +1506,7 @@ dual_status_t branch_and_bound_t<i_t, f_t>::solve_node_lp(
15061506
branch_and_bound_worker_t<i_t, f_t>* worker,
15071507
branch_and_bound_stats_t<i_t, f_t>& stats,
15081508
logger_t& log,
1509-
i_t iter_limit)
1509+
int64_t iter_limit)
15101510
{
15111511
raft::common::nvtx::range scope("BB::solve_node");
15121512
#ifdef DEBUG_BRANCHING
@@ -2212,6 +2212,7 @@ void branch_and_bound_t<i_t, f_t>::solve_submip(diving_worker_t<i_t, f_t>* worke
22122212
submip_settings.strong_branching_simplex_iteration_limit = 50;
22132213
submip_settings.submip_settings.level = submip_level;
22142214
submip_settings.log.log = false;
2215+
submip_settings.benchmark_info_ptr = nullptr;
22152216

22162217
#ifdef DEBUG_SUBMIP
22172218
submip_settings.log.log_prefix = std::format("{}{}", settings_.log.log_prefix, worker->worker_id);
@@ -2314,7 +2315,12 @@ void branch_and_bound_t<i_t, f_t>::solve_submip(diving_worker_t<i_t, f_t>* worke
23142315
std::vector<f_t> presolved_incumbent;
23152316
presolver.crush_primal_solution(submip_problem, current_incumbent, presolved_incumbent);
23162317
submip_bnb.set_initial_guess(presolved_incumbent);
2317-
submip_bnb.set_initial_upper_bound(upper_bound_.load());
2318+
2319+
const f_t user_upper = compute_user_objective(original_lp_, upper_bound_.load());
2320+
const f_t submip_cutoff =
2321+
user_upper / submip_bnb.original_lp_.obj_scale - submip_bnb.original_lp_.obj_constant;
2322+
submip_bnb.set_initial_upper_bound(submip_cutoff);
2323+
23182324
submip_bnb.set_initial_pseudocost(pc_, presolver.get_reduced_to_original_map());
23192325

23202326
if (submip_halt_callback_) {

cpp/src/branch_and_bound/branch_and_bound.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ class branch_and_bound_t {
392392
branch_and_bound_worker_t<i_t, f_t>* worker,
393393
branch_and_bound_stats_t<i_t, f_t>& stats,
394394
simplex::logger_t& log,
395-
i_t iter_limit = std::numeric_limits<i_t>::max());
395+
int64_t iter_limit = std::numeric_limits<int64_t>::max());
396396

397397
// Apply symmetry-based bound reductions (orbital fixing and, when
398398
// settings_.symmetry == 2, lexical reduction) to the current node.

0 commit comments

Comments
 (0)