COPASI API  4.16.103
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CRandomSearch Class Reference

#include <CRandomSearch.h>

Inheritance diagram for CRandomSearch:
Inheritance graph
[legend]
Collaboration diagram for CRandomSearch:
Collaboration graph
[legend]

Public Member Functions

 CRandomSearch (const CRandomSearch &src)
 
virtual bool optimise ()
 
virtual ~CRandomSearch ()
 
- Public Member Functions inherited from COptMethod
 COptMethod (const COptMethod &src, const CCopasiContainer *pParent=NULL)
 
bool isBounded (void)
 
virtual bool isValidProblem (const CCopasiProblem *pProblem)
 
void setProblem (COptProblem *problem)
 
virtual ~COptMethod ()
 
- Public Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src, const CCopasiContainer *pParent=NULL)
 
const CCopasiMethod::SubTypegetSubType () const
 
const CCopasiTask::TypegetType () const
 
virtual void load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH)
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
virtual bool setCallBack (CProcessReport *pCallBack)
 
virtual ~CCopasiMethod ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value)
 
void addParameter (CCopasiParameter *pParameter)
 
CCopasiParameterGroupassertGroup (const std::string &name)
 
template<class CType >
CCopasiParameterassertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
 
index_iterator beginIndex () const
 
name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &objectType="ParameterGroup")
 
void clear ()
 
virtual bool elevateChildren ()
 
index_iterator endIndex () const
 
name_iterator endName () const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (const size_t &index) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterfacegetObject (const CCopasiObjectName &cn) const
 
CCopasiParametergetParameter (const std::string &name)
 
const CCopasiParametergetParameter (const std::string &name) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
const CCopasiParameter::ValuegetValue (const std::string &name) const
 
const CCopasiParameter::ValuegetValue (const size_t &index) const
 
CCopasiParameter::ValuegetValue (const std::string &name)
 
CCopasiParameter::ValuegetValue (const size_t &index)
 
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
 
bool removeParameter (const std::string &name)
 
bool removeParameter (const size_t &index)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
size_t size () const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter")
 
virtual CCopasiObjectName getCN () const
 
virtual const std::string & getKey () const
 
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
 
const CCopasiParameter::TypegetType () const
 
const ValuegetValue () const
 
ValuegetValue ()
 
virtual voidgetValuePointer () const
 
CCopasiObjectgetValueReference () const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const CCopasiObjectName &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CCopasiContainer
virtual bool add (CCopasiObject *pObject, const bool &adopt=true)
 
 CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container)
 
 CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL)
 
virtual std::string getChildObjectUnits (const CCopasiObject *pObject) const
 
virtual const objectMapgetObjects () const
 
virtual std::string getUnits () const
 
virtual const CCopasiObjectgetValueObject () const
 
virtual bool remove (CCopasiObject *pObject)
 
virtual ~CCopasiContainer ()
 
- Public Member Functions inherited from CCopasiObject
void addDirectDependency (const CCopasiObject *pObject)
 
 CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL)
 
void clearDirectDependencies ()
 
void clearRefresh ()
 
bool dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const
 
void getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const
 
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () const
 
bool hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const
 
bool hasUpdateMethod () const
 
bool isArray () const
 
bool isContainer () const
 
bool isDataModel () const
 
bool isMatrix () const
 
bool isNameVector () const
 
bool isNonUniqueName () const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const
 
bool isReference () const
 
bool isRoot () const
 
bool isSeparator () const
 
bool isStaticString () const
 
bool isValueBool () const
 
bool isValueDbl () const
 
bool isValueInt () const
 
bool isValueInt64 () const
 
bool isValueString () const
 
bool isVector () const
 
virtual bool mustBeDeleted (const DataObjectSet &deletedObjects) const
 
void removeDirectDependency (const CCopasiObject *pObject)
 
void setDirectDependencies (const DataObjectSet &directDependencies)
 
bool setObjectName (const std::string &name)
 
virtual bool setObjectParent (const CCopasiContainer *pParent)
 
void setObjectValue (const C_FLOAT64 &value)
 
void setObjectValue (const C_INT32 &value)
 
void setObjectValue (const bool &value)
 
template<class CType >
void setRefresh (CType *pType, void(CType::*method)(void))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const bool &))
 
virtual ~CCopasiObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
virtual ~CObjectInterface ()
 

Private Member Functions

 CRandomSearch ()
 
bool evaluate (const CVector< C_FLOAT64 > &individual)
 
size_t fittest ()
 
virtual bool initialize ()
 
void initObjects ()
 

Private Attributes

C_FLOAT64 mBestValue
 
unsigned C_INT32 mCurrentIteration
 
CVector< C_FLOAT64mIndividual
 
unsigned C_INT32 mIterations
 
CRandommpRandom
 
C_FLOAT64 mValue
 
size_t mVariableSize
 

Friends

COptMethodCOptMethod::createMethod (CCopasiMethod::SubType subType)
 

Additional Inherited Members

- Public Types inherited from CCopasiMethod
enum  SubType {
  unset = 0, RandomSearch, RandomSearchMaster, SimulatedAnnealing,
  CoranaWalk, DifferentialEvolution, ScatterSearch, GeneticAlgorithm,
  EvolutionaryProgram, SteepestDescent, HybridGASA, GeneticAlgorithmSR,
  HookeJeeves, LevenbergMarquardt, NelderMead, SRES,
  Statistics, ParticleSwarm, Praxis, TruncatedNewton,
  Newton, deterministic, LSODAR, directMethod,
  stochastic, tauLeap, adaptiveSA, hybrid,
  hybridLSODA, hybridODE45, DsaLsodar, tssILDM,
  tssILDMModified, tssCSP, mcaMethodReder, scanMethod,
  lyapWolf, sensMethod, EFMAlgorithm, EFMBitPatternTreeAlgorithm,
  EFMBitPatternAlgorithm, Householder, crossSectionMethod, linearNoiseApproximation
}
 
- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
 
typedef
CCopasiContainer::objectMap::iterator 
name_iterator
 
typedef std::vector
< CCopasiParameter * > 
parameterGroup
 
- Public Types inherited from CCopasiParameter
enum  Type {
  DOUBLE = 0, UDOUBLE, INT, UINT,
  BOOL, GROUP, STRING, CN,
  KEY, FILE, EXPRESSION, INVALID
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 
- Static Public Member Functions inherited from COptMethod
static COptMethodcreateMethod (CCopasiMethod::SubType subType=CCopasiMethod::RandomSearch)
 
- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
 
static void setRenameHandler (CRenameHandler *rh)
 
- Static Public Attributes inherited from CCopasiMethod
static const std::string SubTypeName []
 
static const char * XMLSubType []
 
- Static Public Attributes inherited from CCopasiParameter
static const std::string TypeName []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 
- Protected Types inherited from CCopasiObject
enum  Flag {
  Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8,
  Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80,
  ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800,
  Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000,
  Root = 0x10000, Gui = 0x20000
}
 
- Protected Member Functions inherited from COptMethod
virtual bool cleanup ()
 
 COptMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
void initObjects ()
 
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
 
- Protected Attributes inherited from COptMethod
const bool mBounds
 
const std::vector< COptItem * > * mpOptContraints
 
const std::vector< COptItem * > * mpOptItem
 
COptProblemmpOptProblem
 
COptTaskmpParentTask
 
const std::vector
< UpdateMethod * > * 
mpSetCalculateVariable
 
- Protected Attributes inherited from CCopasiMethod
CProcessReportmpCallBack
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
size_t mSize
 
Value mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 36 of file CRandomSearch.h.

Constructor & Destructor Documentation

CRandomSearch::CRandomSearch ( )
private

Default Constructor

Definition at line 48 of file CRandomSearch.cpp.

References CCopasiParameterGroup::addParameter(), C_INT32, initObjects(), CRandom::mt19937, and CCopasiParameter::UINT.

48  :
50 {
51  addParameter("Number of Iterations", CCopasiParameter::UINT, (unsigned C_INT32) 100000);
52  addParameter("Random Number Generator", CCopasiParameter::UINT, (unsigned C_INT32) CRandom::mt19937);
53  addParameter("Seed", CCopasiParameter::UINT, (unsigned C_INT32) 0);
54 
55  initObjects();
56 }
#define C_INT32
Definition: copasi.h:90
bool addParameter(const CCopasiParameter &parameter)
CRandomSearch::CRandomSearch ( const CRandomSearch src)

Copy Constructor

Parameters
constCRandomSearch & src

Definition at line 58 of file CRandomSearch.cpp.

References initObjects().

58  :
59  COptMethod(src)
60 {initObjects();}
CRandomSearch::~CRandomSearch ( )
virtual

Destructor

Definition at line 65 of file CRandomSearch.cpp.

References COptMethod::cleanup().

66 {//*** added similar to coptga
67  cleanup();
68 }
virtual bool cleanup()
Definition: COptMethod.cpp:215

Member Function Documentation

bool CRandomSearch::evaluate ( const CVector< C_FLOAT64 > &  individual)
private

Evaluate the fitness of one individual

Parameters
constCVector< C_FLOAT64 > & individual
Returns
bool continue

Definition at line 208 of file CRandomSearch.cpp.

References COptProblem::calculate(), COptProblem::checkFunctionalConstraints(), COptProblem::getCalculateValue(), COptMethod::mpOptProblem, and mValue.

Referenced by optimise().

209 {
210  bool Continue = true;
211 
212  // We do not need to check whether the parametric constraints are fulfilled
213  // since the parameters are created within the bounds.
214 
215  // evaluate the fitness
216  Continue = mpOptProblem->calculate();
217 
218  // check wheter the functional constraints are fulfilled
220  mValue = std::numeric_limits<C_FLOAT64>::infinity();
221  else
223 
224  return Continue;
225 }
COptProblem * mpOptProblem
Definition: COptMethod.h:56
virtual bool calculate()
C_FLOAT64 mValue
Definition: CRandomSearch.h:89
virtual bool checkFunctionalConstraints()
const C_FLOAT64 & getCalculateValue() const
size_t CRandomSearch::fittest ( )
private

Find the best individual at this generation

Returns
size_t fittest
bool CRandomSearch::initialize ( )
privatevirtual

Initialize arrays and pointer.

Returns
bool success

Optimizer Function Returns: true if properly initialized should return a boolean

Reimplemented from COptMethod.

Definition at line 80 of file CRandomSearch.cpp.

References COptMethod::cleanup(), CRandom::createGenerator(), CCopasiParameter::getValue(), COptMethod::initialize(), mBestValue, mIndividual, mIterations, COptMethod::mpOptItem, mpRandom, mVariableSize, CCopasiParameter::Value::pUINT, and CVector< CType >::resize().

Referenced by optimise().

81 {
82  cleanup();
83 
84  if (!COptMethod::initialize()) return false;
85 
86  mIterations = * getValue("Number of Iterations").pUINT;
87  mpRandom = CRandom::createGenerator(* (CRandom::Type *) getValue("Random Number Generator").pUINT,
88  * getValue("Seed").pUINT);
89 
90  mBestValue = std::numeric_limits<C_FLOAT64>::infinity();
91 
92  mVariableSize = mpOptItem->size();
94 
95  return true;
96 }
CVector< C_FLOAT64 > mIndividual
Definition: CRandomSearch.h:84
virtual bool initialize()
Definition: COptMethod.cpp:189
void resize(size_t size, const bool &copy=false)
Definition: CVector.h:301
virtual bool cleanup()
Definition: COptMethod.cpp:215
size_t mVariableSize
Definition: CRandomSearch.h:99
static CRandom * createGenerator(CRandom::Type type=CRandom::mt19937, unsigned C_INT32 seed=0)
Definition: CRandom.cpp:49
CRandom * mpRandom
Definition: CRandomSearch.h:94
const Value & getValue() const
unsigned C_INT32 * pUINT
const std::vector< COptItem * > * mpOptItem
Definition: COptMethod.h:70
C_FLOAT64 mBestValue
unsigned C_INT32 mIterations
Definition: CRandomSearch.h:74
void CRandomSearch::initObjects ( )
private

Initialize contained objects.

Definition at line 70 of file CRandomSearch.cpp.

References CCopasiContainer::addObjectReference(), mCurrentIteration, and CCopasiObject::ValueInt.

Referenced by CRandomSearch().

71 {
73 }
unsigned C_INT32 mCurrentIteration
Definition: CRandomSearch.h:79
CCopasiObject * addObjectReference(const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
bool CRandomSearch::optimise ( void  )
virtual

Execute the optimization algorithm calling simulation routine when needed. It is noted that this procedure can give feedback of its progress by the callback function set with SetCallback.

Optimizer Function Returns: nothing should return a boolean

Reimplemented from COptMethod.

Definition at line 104 of file CRandomSearch.cpp.

References C_FLOAT64, C_INT32, COptItem::checkConstraint(), COptItem::checkLowerBound(), COptItem::checkUpperBound(), COutputInterface::DURING, evaluate(), COptItem::getLowerBoundValue(), COptItem::getRandomValue(), COptItem::getStartValue(), COptItem::getUpperBoundValue(), initialize(), mBestValue, mCurrentIteration, min, mIndividual, mIterations, COptMethod::mpOptProblem, COptMethod::mpParentTask, mpRandom, mValue, mVariableSize, CCopasiTask::output(), and COptProblem::setSolution().

105 {
106  bool Continue = true;
107 
108  if (!initialize()) return false;
109 
110  unsigned C_INT32 j;
111 
112  // current value is the initial guess
113  for (j = 0; j < mVariableSize; j++)
114  {
115  C_FLOAT64 & mut = mIndividual[j];
116  COptItem & OptItem = *(*mpOptItem)[j];
117 
118  mut = OptItem.getStartValue();
119 
120  // force it to be within the bounds
121  switch (OptItem.checkConstraint(mut))
122  {
123  case - 1:
124  mut = *OptItem.getLowerBoundValue();
125  break;
126 
127  case 1:
128  mut = *OptItem.getUpperBoundValue();
129  break;
130  }
131 
132  // We need to set the value here so that further checks take
133  // account of the value.
134  (*(*mpSetCalculateVariable)[j])(mut);
135  }
136 
137  Continue = evaluate(mIndividual);
138  mBestValue = mValue;
140 
141  // We found a new best value lets report it.
142  //if (mpReport) mpReport->printBody();
144 
146  {
147  for (j = 0; j < mVariableSize && Continue; j++)
148  {
149  // CALCULATE lower and upper bounds
150  COptItem & OptItem = *(*mpOptItem)[j];
151  C_FLOAT64 & mut = mIndividual[j];
152 
153  mut = OptItem.getRandomValue(mpRandom);
154 
155  // force it to be within the bounds
156  switch (OptItem.checkConstraint(mut))
157  {
158  case - 1:
159  mut = *OptItem.getLowerBoundValue();
160 
161  if (!OptItem.checkLowerBound(mut)) // Inequality
162  {
163  if (mut == 0.0)
165  else
166  mut += mut * std::numeric_limits< C_FLOAT64 >::epsilon();
167  }
168 
169  break;
170 
171  case 1:
172  mut = *OptItem.getUpperBoundValue();
173 
174  if (!OptItem.checkUpperBound(mut)) // Inequality
175  {
176  if (mut == 0.0)
178  else
179  mut -= mut * std::numeric_limits< C_FLOAT64 >::epsilon();
180  }
181 
182  break;
183  }
184 
185  // We need to set the value here so that further checks take
186  // account of the value.
187  (*(*mpSetCalculateVariable)[j])(mut);
188  }
189 
190  Continue = evaluate(mIndividual);
191 
192  // COMPARE
193  if (mValue < mBestValue)
194  {
195  mBestValue = mValue;
197 
198  // We found a new best value lets report it.
199  //if (mpReport) mpReport->printBody();
201  }
202  }
203 
204  return true;
205 }
CVector< C_FLOAT64 > mIndividual
Definition: CRandomSearch.h:84
virtual C_INT32 checkConstraint() const
Definition: COptItem.cpp:401
COptTask * mpParentTask
Definition: COptMethod.h:58
bool checkLowerBound(const C_FLOAT64 &value) const
Definition: COptItem.cpp:435
COptProblem * mpOptProblem
Definition: COptMethod.h:56
virtual void output(const COutputInterface::Activity &activity)
#define C_INT32
Definition: copasi.h:90
bool checkUpperBound(const C_FLOAT64 &value) const
Definition: COptItem.cpp:438
unsigned C_INT32 mCurrentIteration
Definition: CRandomSearch.h:79
size_t mVariableSize
Definition: CRandomSearch.h:99
CRandom * mpRandom
Definition: CRandomSearch.h:94
virtual bool initialize()
const C_FLOAT64 * getLowerBoundValue() const
Definition: COptItem.h:191
C_FLOAT64 mValue
Definition: CRandomSearch.h:89
virtual bool setSolution(const C_FLOAT64 &value, const CVector< C_FLOAT64 > &variables)
const C_FLOAT64 & getStartValue() const
Definition: COptItem.cpp:199
#define C_FLOAT64
Definition: copasi.h:92
const C_FLOAT64 * getUpperBoundValue() const
Definition: COptItem.h:198
C_FLOAT64 mBestValue
C_FLOAT64 getRandomValue(CRandom *pRandom=NULL)
Definition: COptItem.cpp:230
#define min(a, b)
Definition: f2c.h:175
unsigned C_INT32 mIterations
Definition: CRandomSearch.h:74
bool evaluate(const CVector< C_FLOAT64 > &individual)

Friends And Related Function Documentation

Member Data Documentation

C_FLOAT64 CRandomSearch::mBestValue
private

The best value found so far.

Definition at line 104 of file CRandomSearch.h.

Referenced by initialize(), and optimise().

unsigned C_INT32 CRandomSearch::mCurrentIteration
private

The current iteration

Definition at line 79 of file CRandomSearch.h.

Referenced by initObjects(), and optimise().

CVector<C_FLOAT64> CRandomSearch::mIndividual
private

a vector of the number of individuals.

Definition at line 84 of file CRandomSearch.h.

Referenced by initialize(), and optimise().

unsigned C_INT32 CRandomSearch::mIterations
private

number of iterations

Definition at line 74 of file CRandomSearch.h.

Referenced by initialize(), and optimise().

CRandom* CRandomSearch::mpRandom
private

a pointer to the randomnumber generator.

Definition at line 94 of file CRandomSearch.h.

Referenced by initialize(), and optimise().

C_FLOAT64 CRandomSearch::mValue
private

array of values of objective function f/ individuals

Definition at line 89 of file CRandomSearch.h.

Referenced by evaluate(), and optimise().

size_t CRandomSearch::mVariableSize
private

*** Perhaps this is actually not needed ****number of parameters

Definition at line 99 of file CRandomSearch.h.

Referenced by initialize(), and optimise().


The documentation for this class was generated from the following files: