Skip to content

Commit

Permalink
Update onedimensional::optimize
Browse files Browse the repository at this point in the history
  • Loading branch information
fontanf committed Apr 6, 2024
1 parent 836aff7 commit 8cf86d6
Show file tree
Hide file tree
Showing 6 changed files with 475 additions and 378 deletions.
8 changes: 5 additions & 3 deletions packingsolver/boxstacks/optimize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ const packingsolver::boxstacks::Output packingsolver::boxstacks::optimize(
SequentialOneDimensionalRectangleParameters sor_parameters = parameters.sequential_onedimensional_rectangle_parameters;
sor_parameters.verbosity_level = 0;
sor_parameters.timer = parameters.timer;
sor_parameters.onedimensional_parameters.sequential = (parameters.number_of_threads == 1);
sor_parameters.onedimensional_parameters.linear_programming_solver = parameters.linear_programming_solver;
//sor_parameters.info.set_verbosity_level(2);

Expand Down Expand Up @@ -166,7 +165,7 @@ const packingsolver::boxstacks::Output packingsolver::boxstacks::optimize(
<< " " << tssibs_output.maximum_size_of_the_queue;
algorithm_formatter.update_solution(solution, ss.str());
};
if (parameters.number_of_threads != 1 && branching_schemes.size() > 1) {
if (parameters.optimization_mode != OptimizationMode::NotAnytimeSequential) {
threads.push_back(std::thread(
treesearchsolver::iterative_beam_search_2<BranchingScheme>,
std::ref(branching_schemes[i]),
Expand Down Expand Up @@ -207,7 +206,10 @@ const packingsolver::boxstacks::Output packingsolver::boxstacks::optimize(
OptimizeParameters kp_parameters;
kp_parameters.verbosity_level = 0;
kp_parameters.timer = parameters.timer;
kp_parameters.number_of_threads = parameters.number_of_threads;
kp_parameters.optimization_mode
= (parameters.optimization_mode == OptimizationMode::NotAnytimeSequential)?
OptimizationMode::NotAnytimeSequential:
OptimizationMode::NotAnytime;
kp_parameters.linear_programming_solver = parameters.linear_programming_solver;
kp_parameters.tree_search_queue_size = parameters.sequential_value_correction_queue_size;
kp_parameters.sequential_onedimensional_rectangle_parameters.rectangle_queue_size = parameters.sequential_value_correction_queue_size;
Expand Down
4 changes: 2 additions & 2 deletions packingsolver/boxstacks/optimize.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ namespace boxstacks

struct OptimizeParameters: packingsolver::Parameters<Instance, Solution>
{
/** Number of threads. */
Counter number_of_threads = 0;
/** Optimization mode. */
OptimizationMode optimization_mode = OptimizationMode::Anytime;


/** Parameters of the sequential_onedimensional_rectangle algorithm. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1337,7 +1337,10 @@ const SequentialOneDimensionalRectangleOutput boxstacks::sequential_onedimension
onedimensional::OptimizeParameters onedim_parameters = parameters.onedimensional_parameters;
onedim_parameters.verbosity_level = 0;
onedim_parameters.timer = parameters.timer;
onedim_parameters.anytime = false;
onedim_parameters.optimization_mode
= (parameters.sequential)?
OptimizationMode::NotAnytimeSequential:
OptimizationMode::NotAnytime;
auto onedim_begin = std::chrono::steady_clock::now();
auto onedim_output = onedimensional::optimize(
onedim_instance,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ struct SequentialOneDimensionalRectangleOutput: packingsolver::Output<Instance,

struct SequentialOneDimensionalRectangleParameters: packingsolver::Parameters<Instance, Solution>
{
bool sequential = true;

/** Parameters for the onedimensional sub-problem. */
onedimensional::OptimizeParameters onedimensional_parameters;

Expand Down
Loading

0 comments on commit 8cf86d6

Please sign in to comment.