LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
|
Virtual base class for search task. More...
#include <Search.h>
Inherits NetBuilder::Task::Task.
Public Types | |
typedef OBSERVER< NC > | Observer |
Observer of the search. | |
typedef boost::signals2::signal< void(const Search< NC, ET, OBSERVER > &)> | OnNetSelected |
Signal emitted when a net has been selected. | |
typedef boost::signals2::signal< void(const Search< NC, ET, OBSERVER > &)> | OnFailedSearch |
Signal emitted when the search has failed. |
Public Member Functions | |
virtual | ~Search ()=default |
Virtual default destructor. | |
virtual void | execute () override=0 |
Executes the search. | |
virtual void | reset () override |
Resets the search. | |
Search (Dimension dimension, typename NetConstructionTraits< NC >::SizeParameter sizeParameter, int verbose=0, bool earlyAbortion=false) | |
Constructor. | |
Search (Dimension dimension, std::unique_ptr< DigitalNet< NC > > baseNet, int verbose=0, bool earlyAbortion=false) | |
Constructor. | |
Search (Search &&)=default | |
Default move constructor. | |
Dimension | dimension () const |
Returns the dimension of the searched net. | |
unsigned int | nRows () const |
Returns the number of rows of the searched generating matrices. | |
unsigned int | nCols () const |
Returns the number of columns of the searched generating matrices. | |
const DigitalNet< NC > & | bestNet () const |
Returns the best net found by the search. | |
Real | bestMeritValue () const |
Returns the best merit found by the search. | |
bool | hasFoundNet () const |
virtual std::string | outputNet (OutputStyle outputStyle, unsigned int interlacingFactor) const override |
Returns the best net found by the search task. | |
virtual std::string | format () const override |
Returns information about the task. | |
virtual Real | outputMeritValue () const override |
Returns the best merit value found by the search task. | |
Observer & | observer () |
Returns a reference to the minimum-element observer. | |
const Observer & | observer () const |
Returns a const qualified reference the minimum-element observer. | |
OnNetSelected & | onNetSelected () |
Net-selected signal. | |
const OnNetSelected & | onNetSelected () const |
Net-selected signal. | |
OnFailedSearch & | onFailedSearch () |
Failed search signal. | |
const OnFailedSearch & | onFailedSearch () const |
Failed search signal. | |
virtual const FigureOfMerit::FigureOfMerit & | figureOfMerit () const =0 |
Returns a const qualified reference to the figure of merit. | |
const NetConstructionTraits< NC >::SizeParameter & | sizeParameter () const |
Returns a const qualified reference to the size parameter of the search. |
Protected Member Functions | |
void | selectBestNet (const DigitalNet< NC > &net, Real merit) |
Selects a new best net and emits an OnNetSelected signal. |
Protected Attributes | |
std::unique_ptr< OnNetSelected > | m_onNetSelected |
std::unique_ptr< OnFailedSearch > | m_onFailedSearch |
Dimension | m_dimension |
NetConstructionTraits< NC >::SizeParameter | m_sizeParameter |
unsigned int | m_nRows |
unsigned int | m_nCols |
DigitalNet< NC > | m_bestNet |
Real | m_bestMerit |
std::unique_ptr< Observer > | m_observer |
int | m_verbose |
bool | m_earlyAbortion |
Virtual base class for search task.
NC | Net construction type (eg. SOBOL, POLYNOMIAL, LMS, EXPLICIT, ...). |
ET | Embedding type (UNILEVEL or MULTILEVEL) |
OBSERVER | Template template parameter whose template parameter is a net construction type (eg. SOBOL, POLYNOMIAL, LMS, EXPLICIT, ...). Should mimick the MinimumObserver class template. |
|
inline |
Constructor.
dimension | Dimension of the searched net. |
sizeParameter | Size parameter of the searched net. |
verbose | Verbosity level. |
earlyAbortion | Early-abortion switch. If true, the computations will be stopped if the net is worse than the best one so far. |
References dimension(), nCols(), nRows(), and sizeParameter().
Referenced by Search().
|
inline |
Constructor.
dimension | Dimension of the searched net. |
baseNet | Net from which to start the search. |
verbose | Verbosity level. |
earlyAbortion | Early-abortion switch. If true, the computations will be stopped if the net is worse than the best one so far. |
References dimension(), nCols(), nRows(), and sizeParameter().
|
default |
|
inline |
|
overridepure virtual |
Executes the search.
Implements NetBuilder::Task::Task.
Implemented in NetBuilder::Task::CBCSearch< NC, ET, EXPLORER, OBSERVER >, NetBuilder::Task::ExhaustiveSearch< NC, ET, OBSERVER >, and NetBuilder::Task::RandomSearch< NC, ET, OBSERVER >.
|
pure virtual |
Returns a const qualified reference to the figure of merit.
Implemented in NetBuilder::Task::CBCSearch< NC, ET, EXPLORER, OBSERVER >, NetBuilder::Task::ExhaustiveSearch< NC, ET, OBSERVER >, and NetBuilder::Task::RandomSearch< NC, ET, OBSERVER >.
|
inlineoverridevirtual |
Returns information about the task.
Implements NetBuilder::Task::Task.
Reimplemented in NetBuilder::Task::CBCSearch< NC, ET, EXPLORER, OBSERVER >, NetBuilder::Task::ExhaustiveSearch< NC, ET, OBSERVER >, and NetBuilder::Task::RandomSearch< NC, ET, OBSERVER >.
References dimension(), nCols(), and nRows().
|
inline |
Failed search signal.
Emitted when no net has been selected by the search algorithm.
|
inline |
Failed search signal.
Emitted when no net has been selected by the search algorithm.
|
inline |
Net-selected signal.
Emitted when a net has been selected by the search algorithm.
Referenced by selectBestNet().
|
inline |
Net-selected signal.
Emitted when a net has been selected by the search algorithm.
|
inlineoverridevirtual |
Returns the best merit value found by the search task.
Implements NetBuilder::Task::Task.
References bestMeritValue().
|
inlineoverridevirtual |
Returns the best net found by the search task.
Implements NetBuilder::Task::Task.
References bestNet().
|
inlineoverridevirtual |
Resets the search.
Implements NetBuilder::Task::Task.
Reimplemented in NetBuilder::Task::CBCSearch< NC, ET, EXPLORER, OBSERVER >, and NetBuilder::Task::RandomSearch< NC, ET, OBSERVER >.
Referenced by NetBuilder::Task::CBCSearch< NC, ET, EXPLORER, OBSERVER >::reset(), and NetBuilder::Task::RandomSearch< NC, ET, OBSERVER >::reset().