From 2c8f0e1316dca98496a8f2bdc426953e9e2083dd Mon Sep 17 00:00:00 2001 From: anovoselcev Date: Mon, 2 Oct 2023 07:55:21 -0400 Subject: [PATCH] add support for multithread BAB --- src/solvers/gecode/procedures/localprocedures.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/solvers/gecode/procedures/localprocedures.cpp b/src/solvers/gecode/procedures/localprocedures.cpp index 2d78686d..b3985dde 100644 --- a/src/solvers/gecode/procedures/localprocedures.cpp +++ b/src/solvers/gecode/procedures/localprocedures.cpp @@ -99,8 +99,19 @@ solve_generic_portfolio(LocalModel * base, GIST_OPTIONS * lo, int iteration) { localOptions.threads = n; } + SEBs sebs; + + for (unsigned int i = 0; i < strategies; ++i){ + Search::Option o; + unsigned int threads = base->options->portfolio_threads() / strategies; + if (threads == 0) threads = 1; + o.threads = threads; + o.stop = localStop; + sebs << bab(o); + } + // Local portfolio meta-engine - PBS e(l, localOptions); + PBS e(l, sebs, localOptions); // Solve the local problem for the given search strategy bool found_local_solution = false;