representation of VLBI multi scheduling tool
More...
#include <MultiScheduling.h>
|
| MultiScheduling (std::unordered_map< std::string, std::vector< std::string >> sta_group, std::unordered_map< std::string, std::vector< std::string >> src_group, std::unordered_map< std::string, std::vector< std::string >> bls_group) |
| constructor More...
|
|
void | setStart (const std::vector< boost::posix_time::ptime > &start) |
| set session start times More...
|
|
void | addParameters (const std::string &name) |
| add new boolean parameter More...
|
|
void | addParameters (const std::string &name, const std::vector< double > &values) |
| add new value based parameter More...
|
|
void | addParameters (const std::string &name, const std::string &member, const std::vector< double > &values) |
| add new value and member based parameter More...
|
|
std::vector< Parameters > | createMultiScheduleParameters (unsigned int maxNr) |
| create vector of all possible multi scheduling parameter combinations More...
|
|
boost::property_tree::ptree | createPropertyTree () const |
| create property tree used for parameter.xml file More...
|
|
| VieVS_Object (unsigned long id) |
| constructor More...
|
|
const unsigned long | getId () const |
| get object id More...
|
|
bool | hasValidId () const |
| check if id is valid More...
|
|
bool | hasId (unsigned long id) const |
| check if object has specific id More...
|
|
void | setId (unsigned long id) |
| set object id More...
|
|
std::string | printId () const |
| object id string More...
|
|
|
void | addParameter (std::vector< Parameters > &allPara, unsigned long &n_before, const std::string &name, bool pick_random=false) |
| add boolean parameters More...
|
|
void | addParameter (std::vector< Parameters > &allPara, unsigned long &n_before, const std::string &name, const std::vector< double > &value, bool pick_random=false) |
| add value based parameters More...
|
|
void | addParameter (std::vector< Parameters > &allPara, unsigned long &n_before, const std::string &name, const std::string &member, const std::vector< double > &value, bool pick_random=false) |
| add value and member based parameters More...
|
|
std::vector< Parameters > | createMultiScheduleParameters_gridwise (unsigned int maxNr) |
| create vector of all possible multi scheduling parameter combinations (gridwise selection) More...
|
|
std::vector< Parameters > | createMultiScheduleParameters_random (unsigned int maxNr) |
| create vector of all possible multi scheduling parameter combinations (random selection) More...
|
|
|
template<typename T > |
static std::vector< T > | collect (T Parameters::*f, std::vector< Parameters > const &v) |
| collecs all entries of a fiven field of a vector of parameters More...
|
|
representation of VLBI multi scheduling tool
- Author
- Matthias Schartner
- Date
- 03.09.2017
MultiScheduling::MultiScheduling |
( |
std::unordered_map< std::string, std::vector< std::string >> |
sta_group, |
|
|
std::unordered_map< std::string, std::vector< std::string >> |
src_group, |
|
|
std::unordered_map< std::string, std::vector< std::string >> |
bls_group |
|
) |
| |
constructor
- Author
- Matthias Schartner
- Parameters
-
sta_group | station groups |
src_group | source groups |
bls_group | baseline groups |
void VieVS::MultiScheduling::addParameter |
( |
std::vector< Parameters > & |
allPara, |
|
|
unsigned long & |
n_before, |
|
|
const std::string & |
name, |
|
|
bool |
pick_random = false |
|
) |
| |
|
private |
add boolean parameters
- Author
- Matthias Schartner
- Parameters
-
allPara | list of all parameters |
n_before | number of blocks |
name | parameter name |
pick_random | enable random values of multi-scheduling parameters |
void VieVS::MultiScheduling::addParameter |
( |
std::vector< Parameters > & |
allPara, |
|
|
unsigned long & |
n_before, |
|
|
const std::string & |
name, |
|
|
const std::vector< double > & |
value, |
|
|
bool |
pick_random = false |
|
) |
| |
|
private |
add value based parameters
- Author
- Matthias Schartner
- Parameters
-
allPara | list of all parameters |
n_before | number of blocks |
name | parameter name |
value | number of values |
pick_random | enable random values of multi-scheduling parameters |
void VieVS::MultiScheduling::addParameter |
( |
std::vector< Parameters > & |
allPara, |
|
|
unsigned long & |
n_before, |
|
|
const std::string & |
name, |
|
|
const std::string & |
member, |
|
|
const std::vector< double > & |
value, |
|
|
bool |
pick_random = false |
|
) |
| |
|
private |
add value and member based parameters
- Author
- Matthias Schartner
- Parameters
-
allPara | list of all parameters |
n_before | number of blocks |
name | parameter name |
member | member name |
value | number of values |
pick_random | enable random values of multi-scheduling parameters |
void MultiScheduling::addParameters |
( |
const std::string & |
name | ) |
|
add new boolean parameter
- Author
- Matthias Schartner
- Parameters
-
void MultiScheduling::addParameters |
( |
const std::string & |
name, |
|
|
const std::vector< double > & |
values |
|
) |
| |
add new value based parameter
- Author
- Matthias Schartner
- Parameters
-
name | parameter name |
values | parameter values |
void MultiScheduling::addParameters |
( |
const std::string & |
name, |
|
|
const std::string & |
member, |
|
|
const std::vector< double > & |
values |
|
) |
| |
add new value and member based parameter
- Author
- Matthias Schartner
- Parameters
-
name | parameter name |
member | parameter member |
values | parameter values |
template<typename T >
static std::vector<T> VieVS::MultiScheduling::collect |
( |
T Parameters::* |
f, |
|
|
std::vector< Parameters > const & |
v |
|
) |
| |
|
inlinestaticprivate |
collecs all entries of a fiven field of a vector of parameters
- Author
- Matthias Schartner
- Template Parameters
-
- Parameters
-
f | field |
v | vector of parameters |
- Returns
- vector of field entries (type T)
create vector of all possible multi scheduling parameter combinations
- Author
- Matthias Schartner
- Parameters
-
maxNr | maximum number of parameters |
- Returns
- all possible multi scheduling parameter combinations
create vector of all possible multi scheduling parameter combinations (gridwise selection)
- Author
- Matthias Schartner
- Parameters
-
maxNr | maximum number of parameters |
- Returns
- all possible multi scheduling parameter combinations
create vector of all possible multi scheduling parameter combinations (random selection)
- Author
- Matthias Schartner
- Parameters
-
maxNr | maximum number of parameters |
- Returns
- all possible multi scheduling parameter combinations
boost::property_tree::ptree MultiScheduling::createPropertyTree |
( |
| ) |
const |
create property tree used for parameter.xml file
- Author
- Matthias Schartner
- Returns
- property tree for multiSched block
vector< MultiScheduling::Parameters > MultiScheduling::evolution_step |
( |
int |
gen, |
|
|
const std::vector< Parameters > & |
old_pop, |
|
|
const std::map< int, double > & |
scores, |
|
|
const boost::property_tree::ptree & |
tree |
|
) |
| |
|
static |
generate new population of multi-scheduling parameters
- Author
- Matthias Schartner
- Parameters
-
gen | generation number |
old_pop | old populatoin of parameters |
scores | score of each parameter |
tree | xml property tree |
- Returns
- new population of parameters
static void VieVS::MultiScheduling::pick_random_values |
( |
bool |
flag | ) |
|
|
inlinestatic |
set pick random values
- Author
- Matthias Schartner
- Parameters
-
static void VieVS::MultiScheduling::setConstants |
( |
unsigned long |
nsta, |
|
|
unsigned long |
nsrc |
|
) |
| |
|
inlinestatic |
constructor
- Author
- Matthias Schartner
- Parameters
-
nsta | number of stations |
nsrc | number of sources |
static void VieVS::MultiScheduling::setSeed |
( |
unsigned int |
seed | ) |
|
|
inlinestatic |
set seed for RNG generator
- Author
- Matthias Schartner
- Parameters
-
void VieVS::MultiScheduling::setStart |
( |
const std::vector< boost::posix_time::ptime > & |
start | ) |
|
|
inline |
set session start times
- Author
- Matthias Schartner
- Parameters
-
std::unordered_map<std::string, std::vector<std::string> > VieVS::MultiScheduling::baselineGroups_ |
|
private |
std::vector<std::pair<std::string, std::pair<std::string, std::vector<double> > > > VieVS::MultiScheduling::doubleArgumentNumeric |
|
private |
value and member based parameters
unsigned long MultiScheduling::nextId = 0 |
|
staticprivate |
unsigned long MultiScheduling::nsrc_ = 0 |
|
staticprivate |
unsigned long MultiScheduling::nsta_ = 0 |
|
staticprivate |
bool MultiScheduling::pick_random = false |
|
staticprivate |
std::default_random_engine MultiScheduling::random_engine_ = std::default_random_engine() |
|
staticprivate |
random number generator engine
std::vector<std::string> VieVS::MultiScheduling::singleArgumentLogical |
|
private |
std::vector<std::pair<std::string, std::vector<double> > > VieVS::MultiScheduling::singleArgumentNumeric |
|
private |
std::unordered_map<std::string, std::vector<std::string> > VieVS::MultiScheduling::sourceGroups_ |
|
private |
std::vector<boost::posix_time::ptime> VieVS::MultiScheduling::start_ |
|
private |
std::unordered_map<std::string, std::vector<std::string> > VieVS::MultiScheduling::stationGroups_ |
|
private |
The documentation for this class was generated from the following files: