COPASI API  4.16.103
Public Member Functions | List of all members
CRealProblem Class Reference

#include <CRealProblem.h>

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

Public Member Functions

virtual bool calculate ()
 
 CRealProblem ()
 
 ~CRealProblem ()
 
- Public Member Functions inherited from COptProblem
COptItemaddOptItem (const CCopasiObjectName &objectCN)
 
virtual bool calculateStatistics (const C_FLOAT64 &factor=1.0e-003, const C_FLOAT64 &resolution=1.0e-009)
 
virtual bool checkFunctionalConstraints ()
 
virtual bool checkParametricConstraints ()
 
 COptProblem (const CCopasiTask::Type &type=CCopasiTask::optimization, const CCopasiContainer *pParent=NULL)
 
 COptProblem (const COptProblem &src, const CCopasiContainer *pParent=NULL)
 
virtual bool elevateChildren ()
 
const bool & getCalculateStatistics () const
 
const C_FLOAT64getCalculateValue () const
 
const std::vector
< UpdateMethod * > & 
getCalculateVariableUpdateMethods () const
 
const std::vector< COptItem * > & getConstraintList () const
 
const C_FLOAT64getExecutionTime () const
 
const unsigned C_INT32getFunctionEvaluations () const
 
const std::string getObjectiveFunction ()
 
COptItemgetOptItem (const size_t &index)
 
const std::vector< COptItem * > & getOptItemList () const
 
size_t getOptItemSize () const
 
const bool & getRandomizeStartValues () const
 
const C_FLOAT64getSolutionValue () const
 
const CVector< C_FLOAT64 > & getSolutionVariables () const
 
CCopasiTask::Type getSubtaskType () const
 
const CVector< C_FLOAT64 > & getVariableGradients () const
 
size_t getVariableSize () const
 
void incrementEvaluations (unsigned C_INT32 increment)
 
virtual bool initialize ()
 
virtual bool initializeSubtaskBeforeOutput ()
 
const bool & maximize () const
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
void randomizeStartValues ()
 
void rememberStartValues ()
 
bool removeOptItem (const size_t &index)
 
void reset ()
 
void resetEvaluations ()
 
virtual bool restore (const bool &updateModel)
 
void restoreModel (const bool &updateModel)
 
void setCalculateStatistics (const bool &calculate)
 
virtual bool setCallBack (CProcessReport *pCallBack)
 
void setMaximize (const bool &maximize)
 
virtual bool setModel (CModel *pModel)
 
bool setObjectiveFunction (const std::string &infix)
 
void setRandomizeStartValues (const bool &randomize)
 
virtual bool setSolution (const C_FLOAT64 &value, const CVector< C_FLOAT64 > &variables)
 
bool setSubtaskType (const CCopasiTask::Type &subtaskType)
 
bool swapOptItem (const size_t &iFrom, const size_t &iTo)
 
virtual ~COptProblem ()
 
- Public Member Functions inherited from CCopasiProblem
 CCopasiProblem (const CCopasiProblem &src, const CCopasiContainer *pParent=NULL)
 
CModelgetModel () const
 
const CCopasiTask::TypegetType () const
 
virtual ~CCopasiProblem ()
 
- 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 ()
 
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 ()
 

Additional Inherited Members

- 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 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 COptProblem
static const unsigned int ValidSubtasks []
 
- 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 CCopasiProblem
 CCopasiProblem (const CCopasiTask::Type &type, 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 COptProblem
C_FLOAT64 mCalculateValue
 
unsigned C_INT32 mConstraintCounter
 
unsigned C_INT32 mCounter
 
CCopasiTimer mCPUTime
 
unsigned C_INT32 mFailedConstraintCounter
 
unsigned C_INT32 mFailedCounter
 
CVector< C_FLOAT64mGradient
 
bool mHaveStatistics
 
size_t mhCounter
 
size_t mhSolutionValue
 
std::vector< Refresh * > mInitialRefreshMethods
 
CVector< C_FLOAT64mOriginalVariables
 
std::vector< COptItem * > * mpConstraintItems
 
CCopasiParameterGroupmpGrpConstraints
 
CCopasiParameterGroupmpGrpItems
 
CExpressionmpObjectiveExpression
 
std::vector< COptItem * > * mpOptItems
 
bool * mpParmCalculateStatistics
 
bool * mpParmMaximize
 
std::string * mpParmObjectiveExpression
 
bool * mpParmRandomizeStartValues
 
std::string * mpParmSubtaskCN
 
CCopasiTaskmpSubtask
 
std::vector< Refresh * > mRefreshConstraints
 
std::vector< Refresh * > mRefreshMethods
 
C_FLOAT64 mSolutionValue
 
CVector< C_FLOAT64mSolutionVariables
 
bool mStoreResults
 
std::vector< UpdateMethod * > mUpdateMethods
 
C_FLOAT64 mWorstValue
 
- Protected Attributes inherited from CCopasiProblem
CProcessReportmpCallBack
 
CModelmpModel
 
CReportmpReport
 
- 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

File name: CRealProblem.h

Programmer: Yongqun He Contact email: yohe@.nosp@m.vt.e.nosp@m.du Purpose: This is the header file of the CRealProblem class. It specifies the optimization problem with its own members and functions. It's used by COptAlgorithm class and COptimization class It's a subclass of COptProblem

The specific purpose here is to use it to demonstrate that the system works fine. It is for my independent study project. – Yongqun He

The function I use here is a N-Dimensional Test Function: f(x) = (1/2)Sum(j=1, n)(Xj^4 - 16Xj^2 + 5Xj) where, x = [X1, X2, ... , Xj, ..., Xn] Number of global minima = 1; Global minimum found by TRUST is: [-2.90354, -2.90354, ..., -2.90354].

Definition at line 49 of file CRealProblem.h.

Constructor & Destructor Documentation

CRealProblem::CRealProblem ( )

Default constructor

File name: CRealProblem.cpp

Programmer: Yongqun He Contact email: yohe@.nosp@m.vt.e.nosp@m.du functions. It's used by COptAlgorithm class and COptimization class

Definition at line 32 of file CRealProblem.cpp.

32  : COptProblem()
33 {}
COptProblem(const CCopasiTask::Type &type=CCopasiTask::optimization, const CCopasiContainer *pParent=NULL)
Definition: COptProblem.cpp:67
CRealProblem::~CRealProblem ( )

Destructor

Definition at line 36 of file CRealProblem.cpp.

37 {}

Member Function Documentation

bool CRealProblem::calculate ( void  )
virtual

calculate function for optimization

Reimplemented from COptProblem.

Definition at line 47 of file CRealProblem.cpp.

References max.

Referenced by CGA::evaluate().

48 {
49  int j;
50 
51  double fitness;
52  double fitness0;
53 
54  // :TODO: broken
55  int parameterNum; // = getCalculateVariables().size();
56  double * parameterValues; // = getCalculateVariables().array();
57 
58  //YOHE: this is the mathematics function used only for testing purpose
59  // evaluate the fitness
60 
61  try
62  {
63  fitness0 = 0;
64 
65  for (j = 0; j < parameterNum; j++)
66  {
67  fitness = fitness0 + pow(parameterValues[j], 4.0) - 16.0 * pow(parameterValues[j], 2.0)
68  + 5.0 * parameterValues[j];
69  fitness0 = fitness;
70  }
71 
72  fitness = fitness0 / 2.0;
73  }
74  catch (int)
75  {
77  }
78 
79  // :TODO: we need to set the result vector return fitness;
80  return true;
81 }
#define max(a, b)
Definition: f2c.h:176

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