COPASI API  4.40.278
CRealProblem Class Reference

#include <CRealProblem.h>

Inheritance diagram for CRealProblem:
[legend]

Public Member Functions

virtual bool calculate ()
 
 CRealProblem ()
 
 ~CRealProblem ()
 
- Public Member Functions inherited from COptProblem
COptItemaddOptConstraint (const CCommonName &objectCN)
 
COptItemaddOptItem (const CCommonName &objectCN)
 
C_FLOAT64 adjustForIntervals (C_FLOAT64 *pValue, const C_FLOAT64 &min, const C_FLOAT64 &max)
 
bool adjustStartValue (COptItem &optItem)
 
bool adjustStartValuesForIntervals ()
 
virtual bool calculateStatistics (const C_FLOAT64 &factor=1.0e-003, const C_FLOAT64 &resolution=1.0e-009)
 
virtual void calculateValue () override
 
virtual bool checkFunctionalConstraints ()
 
bool checkIntervals ()
 
virtual bool checkParametricConstraints ()
 
 COptProblem (const COptProblem &src, const CDataContainer *pParent)
 
 COptProblem (const CTaskEnum::Task &type=CTaskEnum::Task::optimization, const CDataContainer *pParent=NO_PARENT)
 
virtual bool elevateChildren () override
 
C_FLOAT64 evalMinimizeIntervals (const C_FLOAT64 &value)
 
const unsigned C_INT32geFailedConstraintCounter () const
 
const bool & getCalculateStatistics () const
 
const C_FLOAT64getCalculateValue () const
 
const unsigned C_INT32getConstraintEvaluations () const
 
const std::vector< COptItem * > & getConstraintList () const
 
CVectorCore< C_FLOAT64 * > & getContainerVariables (const bool &algorithmOrder=false) const
 
const sCountergetCounters () const
 
const C_FLOAT64getExecutionTime () const
 
const unsigned C_INT32getFailedEvaluationsExc () const
 
const unsigned C_INT32getFailedEvaluationsNaN () const
 
const unsigned C_INT32getFunctionEvaluations () const
 
const std::string getObjectiveFunction ()
 
COptItemgetOptConstraint (const size_t &index)
 
size_t getOptConstraintSize () const
 
COptItemgetOptItem (const size_t &index)
 
const std::vector< COptItem * > & getOptItemList (const bool &algorithmOrder=false) const
 
size_t getOptItemSize () const
 
const bool & getRandomizeStartValues () const
 
const C_FLOAT64getSolutionValue () const
 
const CVector< C_FLOAT64 > & getSolutionVariables (const bool &algorithmOrder=false) const
 
virtual CCopasiTaskgetSubTask () const override
 
CTaskEnum::Task getSubtaskType () const
 
virtual void * getValuePointer () const override
 
const CVector< C_FLOAT64 > & getVariableGradients () const
 
size_t getVariableSize () const
 
void incrementCounters (const sCounter &increment)
 
virtual bool initialize () override
 
virtual bool initializeSubtaskBeforeOutput ()
 
const bool & maximize () const
 
virtual void print (std::ostream *ostream) const override
 
virtual void printResult (std::ostream *ostream) const override
 
void randomizeStartValues ()
 
void rememberStartValues ()
 
bool removeOptConstraint (const size_t &index)
 
bool removeOptItem (const size_t &index)
 
void reset ()
 
void resetCounters ()
 
virtual bool restore (const bool &updateModel) override
 
void setCalculateStatistics (const bool &calculate)
 
virtual bool setCallBack (CProcessReportLevel callBack) override
 
void setMaximize (const bool &maximize)
 
bool setObjectiveFunction (const std::string &infix)
 
void setParameters (const CVectorCore< C_FLOAT64 > &parameters)
 
void setRandomizeStartValues (const bool &randomize)
 
virtual bool setSolution (const C_FLOAT64 &value, const CVector< C_FLOAT64 > &variables, const bool &algorithmOrder=false)
 
CCommonName setSubtaskType (const CTaskEnum::Task &subtaskType)
 
bool swapOptItem (const size_t &iFrom, const size_t &iTo)
 
virtual ~COptProblem ()
 
- Public Member Functions inherited from CCopasiProblem
 CCopasiProblem (const CCopasiProblem &src, const CDataContainer *pParent)
 
virtual void clearCallBack ()
 
CCopasiProblemcopy () const
 
const CProcessReportLevelgetCallBack () const
 
CMathContainergetMathContainer () const
 
const CTaskEnum::TaskgetType () const
 
void setMathContainer (CMathContainer *pContainer)
 
virtual bool setModel (CModel *model)
 
virtual ~CCopasiProblem ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
void addParameter (CCopasiParameter *pParameter)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
virtual bool applyData (const CData &data, CUndoData::CChangeSet &changes)
 
CCopasiParameterGroupassertGroup (const std::string &name, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
CType * assertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
index_iterator beginIndex () const
 
const_name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CDataContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="ParameterGroup")
 
void clear ()
 
virtual void createUndoData (CUndoData &undoData, const CUndoData::Type &type, const CData &oldData=CData(), const CCore::Framework &framework=CCore::Framework::ParticleNumbers) const
 
index_iterator endIndex () const
 
const_name_iterator endName () const
 
CCopasiParameterGroupgetElementTemplates ()
 
const CCopasiParameterGroupgetElementTemplates () const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (const size_t &index) const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
virtual size_t getIndex (const CDataObject *pObject) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
std::string getKey (const std::string &name) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterfacegetObject (const CCommonName &cn) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (const size_t &index) const
 
CCopasiParametergetParameter (std::string name)
 
const CCopasiParametergetParameter (std::string name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
template<class CType >
CType & getValue (const size_t &index)
 
template<class CType >
const CType & getValue (const size_t &index) const
 
template<class CType >
CType & getValue (const std::string &name)
 
template<class CType >
const CType & getValue (const std::string &name) const
 
bool haveTemplate () const
 
virtual CUndoObjectInterfaceinsert (const CData &data)
 
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
 
virtual bool remove (CDataObject *pObject)
 
bool removeParameter (CCopasiParameter *pParameter)
 
bool removeParameter (const size_t &index)
 
bool removeParameter (const std::string &name)
 
virtual void setUserInterfaceFlag (const UserInterfaceFlag &flag)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
size_t size (const UserInterfaceFlag &require=UserInterfaceFlag::None, const UserInterfaceFlag &exclude=UserInterfaceFlag::None) const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual CData toData () const
 
virtual void updateIndex (const size_t &index, const CUndoObjectInterface *pUndoObject)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CDataContainer *pParent)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="Parameter")
 
virtual CCommonName getCN () const override
 
template<class CType >
const CType & getDefault () const
 
virtual const std::string & getKey () const override
 
virtual std::string getObjectDisplayName () const override
 
const CCopasiParameter::TypegetType () const
 
const UserInterfaceFlaggetUserInterfaceFlag () const
 
template<class CType >
std::vector< std::pair< CType, CType > > & getValidValues ()
 
template<class CType >
const std::vector< std::pair< CType, CType > > & getValidValues () const
 
void * getValidValuesPointer () const
 
template<class CType >
CType & getValue ()
 
template<class CType >
const CType & getValue () const
 
CDataObjectgetValueReference () const
 
bool hasValidValues () const
 
bool isBasic () const
 
bool isDefault () const
 
bool isEditable () const
 
bool isUnsupported () const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const CCommonName &value) const
 
template<class CType >
bool isValidValue (const CType &) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setDefault (const CType &defaultValue)
 
bool setDefault (const std::vector< CCopasiParameter * > &defaultValue)
 
virtual bool setObjectParent (const CDataContainer *pParent) override
 
template<class CType , class Enum >
bool setValidValues (const CEnumAnnotation< CType, Enum > &validValues)
 
template<class CType >
bool setValidValues (const std::vector< std::pair< CType, CType > > &validValues)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CDataContainer
virtual bool add (CDataObject *pObject, const bool &adopt=true)
 
virtual bool appendDeletedDependentData (CUndoData &undoData) const
 
 CDataContainer (const CDataContainer &src, const CDataContainer *pParent)
 
 CDataContainer (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 
virtual std::string getChildObjectUnits (const CDataObject *pObject) const
 
void getDescendants (CDataObject::DataObjectSet &descendants, const bool &recursive=false) const
 
virtual objectMapgetObjects ()
 
virtual const objectMapgetObjects () const
 
virtual const std::string getUnits () const override
 
virtual const CDataObjectgetValueObject () const override
 
void objectRenamed (CDataObject *pObject, const std::string &oldName)
 
virtual ~CDataContainer ()
 
- Public Member Functions inherited from CDataObject
void addIssue (const CIssue &issue)
 
void addReference (const CDataContainer *pReference)
 
 CDataObject (const CDataObject &src, const CDataContainer *pParent=NULL)
 
virtual void destruct () override
 
virtual const CDataObjectgetDataObject () const override
 
CDataContainergetObjectAncestor (const std::string &type) const
 
CDataModelgetObjectDataModel () const
 
const CObjectInterfacegetObjectFromCN (const CCommonName &cn) const
 
const std::string & getObjectName () const
 
CDataContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const CObjectInterface::ObjectSetgetPrerequisites () const override
 
virtual const CValiditygetValidity () const override
 
bool hasFlag (const Flag &flag) const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CCore::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const override
 
bool prerequisitsContains (const DataObjectSet &objects) const
 
void removeIssue (const CIssue &issue)
 
void removeReference (const CDataContainer *pReference)
 
bool setObjectName (const std::string &name)
 
void validityChanged (const CValidity &changedValidity) override
 
void validityRemoved (const CValidity &changedValidity)
 
virtual ~CDataObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
 CObjectInterface (const CObjectInterface &src)
 
virtual ~CObjectInterface ()
 
- Public Member Functions inherited from CUndoObjectInterface
 CUndoObjectInterface ()
 
 CUndoObjectInterface (const CUndoObjectInterface &src)
 
bool generateUuid ()
 
const xg::Guid & getUuid () const
 
bool setUuid (const std::string &uuid)
 
bool setUuid (const xg::Guid &uuid)
 
virtual ~CUndoObjectInterface ()
 

Additional Inherited Members

- Public Types inherited from CCopasiParameterGroup
typedef CDataObjectMap::const_type_iterator< CCopasiParameterconst_name_iterator
 
typedef std::vector< CCopasiParameter * > elements
 
typedef elements::iterator index_iterator
 
typedef CDataObjectMap::type_iterator< CCopasiParametername_iterator
 
- Public Types inherited from CCopasiParameter
enum class  eUserInterfaceFlag { editable , basic , unsupported , __SIZE }
 
enum class  Type {
  DOUBLE = 0 , UDOUBLE , INT , UINT ,
  BOOL , GROUP , STRING , CN ,
  KEY , FILE , EXPRESSION , INVALID ,
  __SIZE
}
 
typedef CFlags< eUserInterfaceFlagUserInterfaceFlag
 
- Public Types inherited from CDataContainer
typedef CDataObjectMap objectMap
 
- Public Types inherited from CDataObject
typedef std::set< const CDataObject * > DataObjectSet
 
enum  Flag {
  Container , Vector , Matrix , NameVector ,
  Reference , ValueBool , ValueInt , ValueInt64 ,
  ValueDbl , NonUniqueName , StaticString , ValueString ,
  Separator , DisplayName , ModelEntity , Array ,
  DataModel , Root , Gui , __SIZE
}
 
- Public Types inherited from CObjectInterface
typedef std::vector< const CDataContainer * > ContainerList
 
typedef std::set< const CObjectInterface * > ObjectSet
 
- Static Public Member Functions inherited from CCopasiParameter
static void allocateValidValues (const Type &type, void *&pValidValues)
 
static void allocateValue (const Type &type, void *&pValue)
 
static void assignValue (const Type &type, void *&pValue, const void *pNewValue)
 
static void deleteValidValues (const Type &type, void *&pValidValues)
 
static void deleteValue (const Type &type, void *&pValue)
 
static CCopasiParameterfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataContainer
static CDataContainerfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataObject
static CDataObjectfromData (const CData &data, CUndoObjectInterface *pParent)
 
static void sanitizeObjectName (std::string &name)
 
- Static Public Member Functions inherited from CObjectInterface
static const CDataObjectDataObject (const CObjectInterface *pInterface)
 
static CObjectInterfaceGetObjectFromCN (const ContainerList &listOfContainer, const CCommonName &objName)
 
- Static Public Member Functions inherited from CUndoObjectInterface
template<class CType >
static CType * fromData (const CData &, CUndoObjectInterface *)
 
- Static Public Attributes inherited from COptProblem
static const CTaskEnum::Task ValidSubtasks []
 
- Static Public Attributes inherited from CCopasiParameter
static const CEnumAnnotation< std::string, TypeTypeName
 
static const CEnumAnnotation< std::string, TypeXMLType
 
- Static Public Attributes inherited from CDataContainer
static const CObjectInterface::ContainerList EmptyList
 
- Protected Member Functions inherited from COptProblem
virtual void updateContainer (const bool &update)
 
- Protected Member Functions inherited from CCopasiProblem
 CCopasiProblem (const CCopasiProblem &src)
 
 CCopasiProblem (const CTaskEnum::Task &type, const CDataContainer *pParent)
 
virtual void signalMathContainerChanged ()
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src)
 
- Protected Member Functions inherited from CDataContainer
template<class CType >
CDataMatrixReference< CType > * addMatrixReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataObjectReference< CType > * addObjectReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataVectorReference< CType > * addVectorReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
 CDataContainer (const CDataContainer &src)
 
void initObjects ()
 
- Protected Member Functions inherited from CDataObject
 CDataObject ()
 
 CDataObject (const std::string &name, const CDataContainer *pParent=static_cast< CDataContainer * >((void *) 0), const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 
- Protected Attributes inherited from COptProblem
std::set< COptItem * > mAdjustedItems
 
C_FLOAT64 mCalculateValue
 
CVector< C_FLOAT64 * > mContainerVariables
 
CVector< C_FLOAT64 * > mContainerVariablesAlgorithm
 
sCounter mCounters
 
size_t mCountInfluencingIntervals
 
CCopasiTimer mCPUTime
 
CVector< C_FLOAT64mGradient
 
bool mHaveStatistics
 
size_t mhCounter
 
size_t mhSolutionValue
 
CCore::CUpdateSequence mInitialRefreshSequence
 
C_FLOAT64 mMinInterval
 
std::map< COptItem *, size_t > mOptItem2Index
 
std::vector< COptItem * > mOptItemAlgorithm
 
CVector< C_FLOAT64mOriginalVariables
 
C_FLOAT64mpAdjust
 
std::vector< COptItem * > * mpConstraintItems
 
CCopasiParameterGroupmpGrpConstraints
 
CCopasiParameterGroupmpGrpItems
 
CMathExpressionmpMathObjectiveExpression
 
CExpressionmpObjectiveExpression
 
std::vector< COptItem * > * mpOptItems
 
bool * mpParmCalculateStatistics
 
bool * mpParmMaximize
 
std::string * mpParmObjectiveExpression
 
bool * mpParmRandomizeStartValues
 
std::string * mpParmSubTaskCN
 
CCopasiTaskmpSubTask
 
CCopasiTaskmpSubTaskSrc
 
C_FLOAT64 mSolutionValue
 
CVector< C_FLOAT64mSolutionVariables
 
CVector< C_FLOAT64mSolutionVariablesAlgorithm
 
bool mStoreResults
 
CCore::CUpdateSequence mUpdateConstraints
 
CCore::CUpdateSequence mUpdateIntervals
 
CCore::CUpdateSequence mUpdateObjectiveFunction
 
C_FLOAT64 mWorstValue
 
- Protected Attributes inherited from CCopasiProblem
CMathContainermpContainer
 
CReportmpReport
 
CProcessReportLevel mProcessReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
void * mpDefault
 
void * mpValidValues
 
void * mpValue
 
CDataObjectmpValueReference
 
UserInterfaceFlag mUserInterfaceFlag
 
- Protected Attributes inherited from CDataContainer
objectMap mObjects
 
- Protected Attributes inherited from CDataObject
ObjectSet mPrerequisits
 
std::set< CDataContainer * > mReferences
 
- Protected Attributes inherited from CObjectInterface
CValidity mValidity
 

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].

Constructor & Destructor Documentation

◆ CRealProblem()

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

◆ ~CRealProblem()

CRealProblem::~CRealProblem ( )

Destructor

Member Function Documentation

◆ calculate()

bool CRealProblem::calculate ( void  )
virtual

calculate function for optimization

Reimplemented from COptProblem.


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