41 void solve(
const std::vector<int>& cube)
override;
45 void setSolverInterrupt()
override;
47 void unsetSolverInterrupt()
override;
49 void waitInterrupt()
override;
52 void restoreModelDist(std::vector<int>& model);
54 void computeNodeGroup(
int worldSize,
int myRank);
56 std::atomic<bool> strategyEnding;
61 std::string solversPortfolio;
62 std::unordered_map<PRSGroups, uint> sizePerGroup;
63 unsigned rankInMyGroup;
69 std::vector<std::shared_ptr<PreprocessorInterface>> preprocessors;
70 std::mutex preprocLock;
71 std::condition_variable preprocSignal;
77 std::vector<std::shared_ptr<SharingStrategy>> strategies;
78 std::vector<std::unique_ptr<Sharer>> sharers;