Skip to content

Commit 68e07bb

Browse files
committed
fix build
1 parent a5122ad commit 68e07bb

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

cpp/src/mip_heuristics/solve.cu

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,11 @@ template <typename f_t>
5757
static void invoke_solution_callbacks(
5858
const std::vector<internals::base_solution_callback_t*>& mip_callbacks,
5959
f_t objective,
60-
std::vector<f_t>& assignment)
60+
std::vector<f_t>& assignment,
61+
f_t bound)
6162
{
6263
std::vector<f_t> obj_vec = {objective};
63-
std::vector<f_t> bound_vec = {std::numeric_limits<f_t>::infinity()};
64+
std::vector<f_t> bound_vec = {bound};
6465
for (auto callback : mip_callbacks) {
6566
if (callback != nullptr &&
6667
callback->get_type() == internals::base_solution_callback_type::GET_SOLUTION) {
@@ -313,16 +314,18 @@ mip_solution_t<i_t, f_t> solve_mip(optimization_problem_t<i_t, f_t>& op_problem,
313314

314315
bool run_early_fj = run_presolve && settings.determinism_mode != CUOPT_MODE_DETERMINISTIC &&
315316
op_problem.get_n_integers() > 0;
317+
f_t no_bound = problem.presolve_data.objective_scaling_factor >= 0 ? (f_t)-1e20 : (f_t)1e20;
316318
if (run_early_fj) {
317319
auto early_fj_callback = [&early_best_objective,
318320
&early_callback_mutex,
319-
mip_callbacks = settings.get_mip_callbacks()](
320-
f_t objective, const std::vector<f_t>& assignment) {
321+
mip_callbacks = settings.get_mip_callbacks(),
322+
no_bound](
323+
f_t solver_obj, f_t user_obj, const std::vector<f_t>& assignment) {
321324
std::lock_guard<std::mutex> lock(early_callback_mutex);
322-
if (objective >= early_best_objective.load()) { return; }
323-
early_best_objective.store(objective);
325+
if (solver_obj >= early_best_objective.load()) { return; }
326+
early_best_objective.store(solver_obj);
324327
auto user_assignment = assignment;
325-
invoke_solution_callbacks(mip_callbacks, objective, user_assignment);
328+
invoke_solution_callbacks(mip_callbacks, user_obj, user_assignment, no_bound);
326329
};
327330

328331
// Start early CPUFJ on original problem (will restart on presolved problem after Papilo)

0 commit comments

Comments
 (0)