An Implementation of WorkingStrategy that mimics the strategy used in the PRS-Distributed solver from ISC24.
More...
#include <PortfolioPRS.hpp>
|
void | restoreModelDist (std::vector< int > &model) |
|
void | computeNodeGroup (int worldSize, int myRank) |
|
|
std::atomic< bool > | strategyEnding |
|
PRSGroups | nodeGroup |
|
std::string | solversPortfolio |
|
std::unordered_map< PRSGroups, uint > | sizePerGroup |
|
unsigned | rankInMyGroup |
|
int | right_neighbor |
|
int | left_neighbor |
|
std::vector< std::shared_ptr< PreprocessorInterface > > | preprocessors |
|
std::mutex | preprocLock |
|
std::condition_variable | preprocSignal |
|
std::vector< std::shared_ptr< SharingStrategy > > | strategies |
|
std::vector< std::unique_ptr< Sharer > > | sharers |
|
WorkingStrategy * | parent |
|
std::vector< WorkingStrategy * > | slaves |
|
An Implementation of WorkingStrategy that mimics the strategy used in the PRS-Distributed solver from ISC24.
(Distributed only portfolio) (https://github.com/shaowei-cai-group/PRS-sc24) This strategy uses the different factories SolverFactory and SharingStrategyFactory in order to instantiate the different needed components. Not all solvers are supported by this strategy, and the sharing strategies are hard coded.
◆ join()
◆ setSolverInterrupt()
void PortfolioPRS::setSolverInterrupt |
( |
| ) |
|
|
overridevirtual |
◆ solve()
void PortfolioPRS::solve |
( |
const std::vector< int > & | cube | ) |
|
|
overridevirtual |
◆ unsetSolverInterrupt()
void PortfolioPRS::unsetSolverInterrupt |
( |
| ) |
|
|
overridevirtual |
◆ waitInterrupt()
void PortfolioPRS::waitInterrupt |
( |
| ) |
|
|
overridevirtual |
The documentation for this class was generated from the following file: