3#include "utils/Parameters.hpp"
4#include "working/WorkingStrategy.hpp"
6#include "solvers/CDCL/SolverCdclInterface.hpp"
7#include "solvers/LocalSearch/LocalSearchInterface.hpp"
9#include "sharing/Sharer.hpp"
11#include "sharing/GlobalStrategies/GlobalSharingStrategy.hpp"
12#include "sharing/SharingStrategy.hpp"
14#include <condition_variable>
30 void solve(
const std::vector<int>& cube)
override;
34 void setSolverInterrupt()
override;
36 void unsetSolverInterrupt()
override;
38 void waitInterrupt()
override;
41 std::atomic<bool> strategyEnding;
45 std::vector<std::shared_ptr<SolverCdclInterface>> cdclSolvers;
46 std::vector<std::shared_ptr<LocalSearchInterface>> localSolvers;
51 std::vector<std::shared_ptr<SharingStrategy>> localStrategies;
52 std::vector<std::shared_ptr<GlobalSharingStrategy>> globalStrategies;
53 std::vector<std::unique_ptr<Sharer>> sharers;
A Simple Implementation of WorkingStrategy for the portfolio parallel strategy This strategy uses the...
Definition PortfolioSimple.hpp:24
Base Interface for Working Strategies.
Definition WorkingStrategy.hpp:18
SatResult
Enumeration for SAT solver results.
Definition SolverInterface.hpp:39