22#ifndef __OPAL_SAMPLER_H__
23#define __OPAL_SAMPLER_H__
48#include <boost/smart_ptr.hpp>
64 std::vector<double> hypervolRef,
78 Sampler(
const std::map< std::string,
79 std::shared_ptr<SamplingMethod>
95 bool onMessage(MPI_Status status,
size_t length);
107 std::map<std::string,
108 std::shared_ptr<SamplingMethod>
std::map< std::string, DVar_t > DVarContainer_t
boost::shared_ptr< CmdArguments > CmdArguments_t
std::map< std::string, Expressions::Expr_t * > Named_t
type of an expressions with a name
SampleIndividual Individual_t
std::map< size_t, boost::shared_ptr< Individual_t > > jobmapping_m
mapping from unique job ID to individual
bool onMessage(MPI_Status status, size_t length)
std::vector< SampleIndividual > SolutionState_t
type used in solution state exchange with other optimizers
void postPoll()
executed after handling (if any) new request
void setupPoll()
executed before starting polling loop
void dispatch_forward_solves()
std::list< Individual_t > individualsToDump_m
Expressions::Named_t objectives_m
objectives
virtual void initialize()
Initialization and start algorithm.
std::size_t jsonDumpFreq_m
Dumps id, design variables and bound.
Comm::Bundle_t comms_
communicator bundle for the optimizer
std::map< std::string, std::shared_ptr< SamplingMethod > > sampleMethods_m
DVarContainer_t dvars_m
design variables
std::queue< boost::shared_ptr< Individual_t > > individuals_m
void dumpIndividualsToJSON()
CmdArguments_t args_
command line arguments specified by the user
int act_sample_m
current generation
void onStop()
enable implementation to react to STOP tag
void addIndividualToJSON(const boost::shared_ptr< Individual_t > &ind)
Sampler(Expressions::Named_t objectives, Expressions::Named_t constraints, DVarContainer_t dvars, size_t dim, Comm::Bundle_t comms, CmdArguments_t args, std::vector< double > hypervolRef, int nrWorkerGroups)
void createNewIndividual()
void prePoll()
executed before checking for new request
bounds_t dVarBounds_m
bounds on each specified gene
bundles all communicators for a specific role/pid
std::vector< std::pair< double, double > > bounds_t
type of bounds for design variables