Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/simulation/g4simulation/g4main/EcoMug.h>
Public Member Functions | |
EMMaximization (const EMRandom &random, int genMethod) | |
void | SetParameters (double minP, double maxP, double minTheta, double maxTheta) |
void | SetParameters (double minP, double maxP, double minTheta, double maxTheta, double minPhi, double maxPhi) |
void | SetFunction (std::function< double(double, double)> func) |
double | SkyFunc (double p, double theta) |
double | CylFunc (double p, double theta) |
double | HSFunc (double p, double theta, double phi, double theta0) |
double | Evaluate (std::vector< double > &v) |
void | Evaluate () |
void | Init () |
void | UpdateParameters (size_t t) |
void | Move () |
double | Maximize () |
Static Public Member Functions | |
static double | DefaultJ (double p, double theta) |
Private Attributes | |
EMRandom | mRandom |
size_t | mPopSize |
size_t | mNIter |
int | mGenMethod |
double | m_a |
double | m_a2 |
std::vector< std::vector < double > > | mRanges |
std::vector< std::vector < double > > | mPopulation |
double | mBestCost |
std::vector< double > | mBestSolution |
std::function< double(double, double)> | mFunc |
Class for maximization based on "Whale Optimization Algorithm" doi:10.1016/j.advengsoft.2016.01.008
Definition at line 97 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 97 of file EcoMug.h
|
inline |
|
inline |
Definition at line 192 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 192 of file EcoMug.h
References i, mBestCost, mBestSolution, mPopSize, mPopulation, and value.
Referenced by Maximize().
|
inline |
Definition at line 207 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 207 of file EcoMug.h
References Acts::Test::dim, EMRandom::GenerateRandomDouble(), i, j, mPopSize, mPopulation, mRandom, and mRanges.
Referenced by Maximize().
|
inline |
Definition at line 272 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 272 of file EcoMug.h
References Evaluate(), Init(), mBestCost, mNIter, Move(), and UpdateParameters().
Referenced by EcoMug::ComputeMaximum(), and EcoMug::ComputeMaximumCustomJ().
|
inline |
Definition at line 229 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 229 of file EcoMug.h
References A, KFPMath::b, C, distance(), EMRandom::GenerateRandomDouble(), i, j, m_a, m_a2, mBestSolution, mPopulation, mRandom, mRanges, merge_hashes::p, r1, r2, and Acts::Test::tmp().
Referenced by Maximize().
|
inline |
Definition at line 134 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 134 of file EcoMug.h
References mRanges.
Referenced by EcoMug::ComputeMaximum(), and EcoMug::ComputeMaximumCustomJ().
|
inline |
|
private |
|
private |
|
private |
Definition at line 108 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 108 of file EcoMug.h
Referenced by Evaluate(), and Maximize().
|
private |
Definition at line 110 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 110 of file EcoMug.h
Referenced by CylFunc(), EMMaximization(), HSFunc(), SetFunction(), and SkyFunc().
|
private |
Definition at line 103 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 103 of file EcoMug.h
Referenced by Evaluate().
|
private |
Definition at line 102 of file EcoMug.h.
View newest version in sPHENIX GitHub at line 102 of file EcoMug.h
Referenced by Maximize(), and UpdateParameters().
|
private |
|
private |
|
private |
|
private |