Skip to content

Commit f4082fe

Browse files
authored
Short run fine tuning (#444)
This PR incorporates earlier logging of feasible solutions and reduces some excessive time limits in the initial solving phase to improve results on short timeframes. Authors: - Alice Boucher (https://github.com/aliceb-nv) Approvers: - Rajesh Gandham (https://github.com/rg20) URL: #444
1 parent 9f241a1 commit f4082fe

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

cpp/src/mip/diversity/diversity_config.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ namespace cuopt::linear_programming::detail {
2121

2222
struct diversity_config_t {
2323
double time_ratio_on_init_lp = 0.1;
24-
double max_time_on_lp = 30;
24+
double max_time_on_lp = 15.0;
2525
double time_ratio_of_probing_cache = 0.04;
26-
double max_time_on_probing = 60;
26+
double max_time_on_probing = 15.0;
2727
size_t max_iterations_without_improvement = 15;
2828
int max_var_diff = 256;
2929
size_t max_solutions = 32;

cpp/src/mip/diversity/population.cu

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,10 @@ void population_t<i_t, f_t>::add_external_solution(const std::vector<f_t>& solut
172172
solution_origin_to_string(origin),
173173
external_solution_queue.size(),
174174
problem_ptr->get_user_obj_from_solver_obj(objective));
175+
if (objective < best_feasible_objective) {
176+
CUOPT_LOG_DEBUG("Found new best solution %g in external queue",
177+
problem_ptr->get_user_obj_from_solver_obj(objective));
178+
}
175179
if (external_solution_queue.size() >= 5) { early_exit_primal_generation = true; }
176180
}
177181

cpp/src/mip/local_search/local_search.cu

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,6 @@ void local_search_t<i_t, f_t>::start_cpufj_scratch_threads(population_t<i_t, f_t
176176
counter++;
177177
};
178178

179-
// default weights
180-
cudaDeviceSynchronize();
181-
182179
for (auto& cpu_fj : scratch_cpu_fj) {
183180
cpu_fj.start_cpu_solver();
184181
}

0 commit comments

Comments
 (0)