Inheritance diagram for MySimAnFunc:
Public Member Functions | |
MySimAnFunc (std::vector< double > &allDist) | |
virtual | ~MySimAnFunc () |
unsigned int | Route (unsigned int i) const |
const unsigned int * | Route () const |
unsigned int * | Route () |
virtual MySimAnFunc * | Clone () const |
std::vector< double > & | AllDist () |
virtual double | Energy () const |
virtual double | Distance (const GSLSimAnFunc &f) const |
virtual void | Step (const GSLRandomEngine &r, double) |
virtual void | Print () |
virtual MySimAnFunc & | FastCopy (const GSLSimAnFunc &f) |
double | Distance (int i, int j) const |
void | PrintRoute () |
void | SetRoute (unsigned int *r) |
Private Types | |
typedef SMatrix< double, N_CITIES, N_CITIES, MatRepSym< double, N_CITIES > > | Matrix |
Private Member Functions | |
void | calculate_distance_matrix () |
Private Attributes | |
unsigned int | fRoute [N_CITIES] |
Matrix | fDistanceMatrix |
std::vector< double > * | fDist |
Definition at line 102 of file simanTSP.cxx.
typedef SMatrix<double,N_CITIES,N_CITIES, MatRepSym<double,N_CITIES> > MySimAnFunc::Matrix [private] |
Definition at line 203 of file simanTSP.cxx.
MySimAnFunc::MySimAnFunc | ( | std::vector< double > & | allDist | ) | [inline] |
Definition at line 106 of file simanTSP.cxx.
References calculate_distance_matrix(), fDist, fRoute, i, and N_CITIES.
Referenced by Clone().
virtual MySimAnFunc::~MySimAnFunc | ( | ) | [inline, virtual] |
Definition at line 118 of file simanTSP.cxx.
unsigned int MySimAnFunc::Route | ( | unsigned int | i | ) | const [inline] |
const unsigned int* MySimAnFunc::Route | ( | ) | const [inline] |
unsigned int* MySimAnFunc::Route | ( | ) | [inline] |
virtual MySimAnFunc* MySimAnFunc::Clone | ( | ) | const [inline, virtual] |
clone method. Needs to be re-implemented by the derived classes for deep copying
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 125 of file simanTSP.cxx.
References MySimAnFunc().
std::vector<double>& MySimAnFunc::AllDist | ( | ) | [inline] |
virtual double MySimAnFunc::Energy | ( | ) | const [inline, virtual] |
evaluate the energy ( objective function value) re-implement by derived classes if needed to be modified
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 129 of file simanTSP.cxx.
References fDistanceMatrix, fRoute, i, and N_CITIES.
Referenced by Print().
virtual double MySimAnFunc::Distance | ( | const GSLSimAnFunc & | f | ) | const [inline, virtual] |
calculate the distance (metric) between this one and another configuration Presently a cartesian metric is used. re-implement by derived classes if needed to be modified
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 144 of file simanTSP.cxx.
References d, f2, fRoute, i, and N_CITIES.
Referenced by PrintRoute().
virtual void MySimAnFunc::Step | ( | const GSLRandomEngine & | r, | |
double | ||||
) | [inline, virtual] |
change the x[i] value using a random value urndm generated between [0,1] up to a maximum value maxstep re-implement by derived classes if needed to be modified
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 154 of file simanTSP.cxx.
virtual void MySimAnFunc::Print | ( | ) | [inline, virtual] |
print the position in the standard output ostream GSL prints in addition n iteration, n function calls, temperature and energy re-implement by derived classes if necessary
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 174 of file simanTSP.cxx.
virtual MySimAnFunc& MySimAnFunc::FastCopy | ( | const GSLSimAnFunc & | f | ) | [inline, virtual] |
fast copy method called by GSL simuated annealing internally copy only the things which have been changed must be re-implemented by derived classes if needed
Reimplemented from ROOT::Math::GSLSimAnFunc.
Definition at line 184 of file simanTSP.cxx.
double MySimAnFunc::Distance | ( | int | i, | |
int | j | |||
) | const [inline] |
void MySimAnFunc::PrintRoute | ( | ) |
Definition at line 229 of file simanTSP.cxx.
References cities, Distance(), i, j, k, N_CITIES, name, and Route().
void MySimAnFunc::SetRoute | ( | unsigned int * | r | ) | [inline] |
void MySimAnFunc::calculate_distance_matrix | ( | ) | [private] |
Definition at line 212 of file simanTSP.cxx.
References cities, city_distance(), ROOT::Math::gv_detail::dist(), fDistanceMatrix, i, j, and N_CITIES.
Referenced by MySimAnFunc().
unsigned int MySimAnFunc::fRoute[N_CITIES] [private] |
Definition at line 202 of file simanTSP.cxx.
Referenced by Distance(), Energy(), FastCopy(), MySimAnFunc(), Print(), Route(), SetRoute(), and Step().
Matrix MySimAnFunc::fDistanceMatrix [private] |
Definition at line 204 of file simanTSP.cxx.
Referenced by calculate_distance_matrix(), Distance(), and Energy().
std::vector<double>* MySimAnFunc::fDist [private] |