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;