NOMAD Source
Version 4.0.0 Beta
|
Class for the mega search and poll of MADS. More...
#include <MegaSearchPoll.hpp>
Public Member Functions | |
MegaSearchPoll (const Step *parentStep) | |
Constructor. More... | |
~MegaSearchPoll () | |
virtual void | start () override |
Generate the trial poins for the search and poll steps. More... | |
virtual bool | run () override |
Start evaluations. More... | |
virtual void | end () override |
const std::shared_ptr < MadsIteration > | getIterForPoint (const EvalPoint &point) const |
![]() | |
Step () | |
Constructor #1 for MainStep (no parent) More... | |
Step (const Step *parentStep, const std::shared_ptr< RunParameters > &runParams=nullptr, const std::shared_ptr< PbParameters > &pbParams=nullptr) | |
Constructor #2 for child step of a parent sharing the same stopReason. More... | |
Step (const Step *parentStep, std::shared_ptr< AllStopReasons > stopReasons, const std::shared_ptr< RunParameters > &runParams=nullptr, const std::shared_ptr< PbParameters > &pbParams=nullptr) | |
Constructor #3: for a child Step with a provided stopReason (such as an algorithm) More... | |
virtual | ~Step () |
Destructor. More... | |
const Step * | getParentStep () const |
Get the parent step. More... | |
virtual const std::string | getName () const |
Get the name of this step. More... | |
void | setName (const std::string &name) |
Set the name of this step. More... | |
std::shared_ptr< AllStopReasons > | getAllStopReasons () const |
void | addCallback (const NOMAD::CallbackType &callbackType, const NOMAD::StepEndCbFunc &stepEndCbFunc) |
Set user callback. More... | |
void | addCallback (const NOMAD::CallbackType &callbackType, const NOMAD::HotRestartCbFunc &hotRestartCbFunc) |
void | AddOutputInfo (const std::string &s, bool isBlockStart, bool isBlockEnd) const |
display output More... | |
void | AddOutputInfo (const std::string &s, OutputLevel outputLevel=OutputLevel::LEVEL_INFO) const |
void | AddOutputError (const std::string &s) const |
void | AddOutputWarning (const std::string &s) const |
void | AddOutputVeryHigh (const std::string &s) const |
void | AddOutputHigh (const std::string &s) const |
void | AddOutputDebug (const std::string &s) const |
void | AddOutputInfo (OutputInfo outputInfo) const |
template<typename T > | |
const Step * | getParentOfType (const bool stopAtAlgo=true) const |
Template function to get the parent of given type. More... | |
bool | isAnAlgorithm () const |
const std::shared_ptr< MeshBase > | getIterationMesh () const |
const std::shared_ptr< EvalPoint > | getIterationFrameCenter () const |
const std::shared_ptr< Barrier > | getMegaIterationBarrier () const |
Point | getSubFixedVariable () const |
virtual void | hotRestartOnUserInterrupt () |
Helper for hot restart functionalities. More... | |
![]() | |
MadsIterationUtils (const Step *parentStep) | |
Constructor. More... | |
![]() | |
IterationUtils (const Step *parentStep) | |
Constructor. More... | |
~IterationUtils () | |
Destructor. More... | |
const SuccessType & | getSuccessType () const |
void | setSuccessType (const SuccessType &success) |
size_t | getTrialPointsCount () const |
EvalPointSet & | getTrialPoints () |
bool | insertTrialPoint (const EvalPoint &evalPoint) |
Insert a trial point. More... | |
void | clearTrialPoints (void) |
Clear trial points. More... | |
virtual void | postProcessing () |
Helper for end() More... | |
virtual void | verifyPointsAreOnMesh () |
Helper for start() More... | |
bool | evalTrialPoints (Step *step) |
Start evaluation of the trial points. More... | |
size_t | getNbEvalPointsThatNeededEval () const |
Get the number of evaluation points in the queue for evaluation. More... | |
virtual void | updatePointsWithFrameCenter () |
Add current frame center as originator of each point in trialPoints. More... | |
Private Member Functions | |
void | init () |
void | generateTrialPoints () override |
Generate new points to evaluate. More... | |
Private Attributes | |
std::map< EvalPoint, std::shared_ptr< MadsIteration > , EvalPointCompare > | _iterForPoint |
Additional Inherited Members | |
![]() | |
static bool | getUserTerminate () |
Interruption call by user. More... | |
static void | setUserTerminate () |
Interruption requested. More... | |
static void | userInterrupt (int signalValue) |
Interruption call by user with a signal value. More... | |
static bool | getUserInterrupt () |
static void | runCallback (NOMAD::CallbackType callbackType, const NOMAD::Step &step, bool &stop) |
Run user callback. More... | |
static void | runCallback (NOMAD::CallbackType callbackType, std::vector< std::string > ¶mLines) |
![]() | |
static void | snapPointToBoundsAndProjectOnMesh (Point &xt, const ArrayOfDouble &lb, const ArrayOfDouble &ub, const std::shared_ptr< Point > frameCenter, const std::shared_ptr< MeshBase > mesh=nullptr) |
Helper for start() More... | |
![]() | |
void | verifyParentNotNull () |
Helper for constructors. More... | |
void | verifyGenerateAllPointsBeforeEval (const std::string &method, const bool expected) const |
Helper for validating steps depending on parameter GENERATE_ALL_POINTS_BEFORE_EVAL. More... | |
void | init () |
Helper for constructors. More... | |
void | defaultStart () |
bool | defaultRun () |
void | defaultEnd () |
void | hotRestartBeginHelper () |
Helpers for hot restart, to be called at the start and end of any override. More... | |
void | hotRestartEndHelper () |
Helpers for hot restart, to be called at the start and end of any override. More... | |
![]() | |
const Step * | _parentStep |
The parent of this step. More... | |
std::string | _name |
The name of this step. More... | |
std::shared_ptr< AllStopReasons > | _stopReasons |
The stop reasons of an algorithm. More... | |
std::shared_ptr< RunParameters > | _runParams |
The run parameters that control a step. More... | |
std::shared_ptr< PbParameters > | _pbParams |
The problem parameters that control a step. More... | |
![]() | |
const Step * | _parentStep |
SuccessType | _success |
Success type of this step. More... | |
Iteration * | _iterAncestor |
MegaIteration * | _megaIterAncestor |
![]() | |
static bool | _userInterrupt |
Interrupt NOMAD if Ctrl-C is pressed. More... | |
static bool | _userTerminate |
Terminate NOMAD if Ctrl-C is pressed again. More... | |
static NOMAD::StepEndCbFunc | _cbIterationEnd |
static NOMAD::StepEndCbFunc | _cbMegaIterationEnd |
static NOMAD::HotRestartCbFunc | _cbHotRestart |
Class for the mega search and poll of MADS.
Calling the start function generates search and poll trial points at the same time before starting evaluation. Calling the run function starts the evaluaions. The postprocessing is performed when calling the end funcion.
Definition at line 15 of file MegaSearchPoll.hpp.
|
inlineexplicit |
Constructor.
parentStep | The parent of this step |
Definition at line 31 of file MegaSearchPoll.hpp.
|
inline |
Definition at line 40 of file MegaSearchPoll.hpp.
|
overridevirtual |
Call for postprocessing: computation of a new hMax and update of the barrier.
Reimplemented from Step.
|
overrideprivatevirtual |
Generate new points to evaluate.
The trial points are produced using poll and search. The duplicates are removed and they are merged all together.
Implements IterationUtils.
const std::shared_ptr<MadsIteration> MegaSearchPoll::getIterForPoint | ( | const EvalPoint & | point | ) | const |
Get which iteration generated a point. This is used by evaluator control interface. Having the iteration, gives access to the mesh and some of its attributes.
|
private |
|
overridevirtual |
Start evaluations.
Reimplemented from Step.
|
overridevirtual |
Generate the trial poins for the search and poll steps.
Calls for ::generateTrialPoints.
Reimplemented from Step.
|
mutableprivate |
Hash table to remember which iteration generated this point. I tried working around it, but in the end it is easier to just remember the iteration. Mutable because it is updated in generateTrialPoints().
Definition at line 24 of file MegaSearchPoll.hpp.