COPASI API
4.16.103
|
#include <COptMethodTruncatedNewton.h>
Public Member Functions | |
COptMethodTruncatedNewton (const COptMethodTruncatedNewton &src, const CCopasiContainer *pParent=NULL) | |
virtual bool | optimise () |
virtual | ~COptMethodTruncatedNewton () |
![]() | |
COptMethod (const COptMethod &src, const CCopasiContainer *pParent=NULL) | |
bool | isBounded (void) |
virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
void | setProblem (COptProblem *problem) |
virtual | ~COptMethod () |
![]() | |
CCopasiMethod (const CCopasiMethod &src, const CCopasiContainer *pParent=NULL) | |
const CCopasiMethod::SubType & | getSubType () const |
const CCopasiTask::Type & | getType () 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 () |
![]() | |
bool | addGroup (const std::string &name) |
bool | addParameter (const CCopasiParameter ¶meter) |
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) |
CCopasiParameterGroup * | assertGroup (const std::string &name) |
template<class CType > | |
CCopasiParameter * | assertParameter (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 |
CCopasiParameterGroup * | getGroup (const std::string &name) |
const CCopasiParameterGroup * | getGroup (const std::string &name) const |
CCopasiParameterGroup * | getGroup (const size_t &index) |
const CCopasiParameterGroup * | getGroup (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 CObjectInterface * | getObject (const CCopasiObjectName &cn) const |
CCopasiParameter * | getParameter (const std::string &name) |
const CCopasiParameter * | getParameter (const std::string &name) const |
CCopasiParameter * | getParameter (const size_t &index) |
const CCopasiParameter * | getParameter (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::Value & | getValue (const std::string &name) const |
const CCopasiParameter::Value & | getValue (const size_t &index) const |
CCopasiParameter::Value & | getValue (const std::string &name) |
CCopasiParameter::Value & | getValue (const size_t &index) |
CCopasiParameterGroup & | operator= (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 () |
![]() | |
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::Type & | getType () const |
const Value & | getValue () const |
Value & | getValue () |
virtual void * | getValuePointer () const |
CCopasiObject * | getValueReference () 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 |
CCopasiParameter & | operator= (const CCopasiParameter &rhs) |
template<class CType > | |
bool | setValue (const CType &value) |
bool | setValue (const std::vector< CCopasiParameter * > &value) |
virtual | ~CCopasiParameter () |
![]() | |
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 objectMap & | getObjects () const |
virtual std::string | getUnits () const |
virtual const CCopasiObject * | getValueObject () const |
virtual bool | remove (CCopasiObject *pObject) |
virtual | ~CCopasiContainer () |
![]() | |
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 DataObjectSet & | getDirectDependencies (const DataObjectSet &context=DataObjectSet()) const |
CCopasiContainer * | getObjectAncestor (const std::string &type) const |
CCopasiDataModel * | getObjectDataModel () |
const CCopasiDataModel * | getObjectDataModel () const |
const std::string & | getObjectName () const |
CCopasiContainer * | getObjectParent () const |
const std::string & | getObjectType () const |
virtual const CObjectInterface::ObjectSet & | getPrerequisites () const |
virtual Refresh * | getRefresh () const |
UpdateMethod * | getUpdateMethod () 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 () |
![]() | |
CObjectInterface () | |
virtual | ~CObjectInterface () |
Private Member Functions | |
virtual bool | cleanup () |
COptMethodTruncatedNewton (const CCopasiContainer *pParent=NULL) | |
const C_FLOAT64 & | evaluate () |
bool | evaluateFunction (C_INT *n, C_FLOAT64 *x, C_FLOAT64 *f) |
virtual bool | initialize () |
void | initObjects () |
C_INT | sFun (C_INT *, C_FLOAT64 *, C_FLOAT64 *, C_FLOAT64 *) |
Private Attributes | |
CVector< C_FLOAT64 > | mBest |
C_FLOAT64 | mBestValue |
bool | mContinue |
CVector< C_FLOAT64 > | mCurrent |
C_FLOAT64 | mEvaluationValue |
CVector< C_FLOAT64 > | mGradient |
unsigned C_INT32 | mhIteration |
unsigned C_INT32 | mIteration |
CTruncatedNewton * | mpCTruncatedNewton |
FTruncatedNewton * | mpTruncatedNewton |
C_INT | mVariableSize |
Friends | |
COptMethod * | COptMethod::createMethod (CCopasiMethod::SubType subType) |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
typedef parameterGroup::iterator | index_iterator |
typedef CCopasiContainer::objectMap::iterator | name_iterator |
typedef std::vector < CCopasiParameter * > | parameterGroup |
![]() | |
enum | Type { DOUBLE = 0, UDOUBLE, INT, UINT, BOOL, GROUP, STRING, CN, KEY, FILE, EXPRESSION, INVALID } |
![]() | |
typedef std::multimap < std::string, CCopasiObject * > | objectMap |
![]() | |
typedef std::set< const CCopasiObject * > | DataObjectSet |
typedef std::vector< Refresh * > | DataUpdateSequence |
![]() | |
typedef std::set< const CObjectInterface * > | ObjectSet |
typedef std::vector < CObjectInterface * > | UpdateSequence |
![]() | |
static COptMethod * | createMethod (CCopasiMethod::SubType subType=CCopasiMethod::RandomSearch) |
![]() | |
static std::vector< Refresh * > | buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet()) |
static void | setRenameHandler (CRenameHandler *rh) |
![]() | |
static const std::string | SubTypeName [] |
static const char * | XMLSubType [] |
![]() | |
static const std::string | TypeName [] |
static const char * | XMLType [] |
![]() | |
static const std::vector < CCopasiContainer * > | EmptyList |
![]() | |
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 } |
![]() | |
COptMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiParameterGroup () | |
![]() | |
template<class CType > | |
CCopasiObject * | addMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
void | initObjects () |
![]() | |
CCopasiObject () | |
CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0) | |
![]() | |
const bool | mBounds |
const std::vector< COptItem * > * | mpOptContraints |
const std::vector< COptItem * > * | mpOptItem |
COptProblem * | mpOptProblem |
COptTask * | mpParentTask |
const std::vector < UpdateMethod * > * | mpSetCalculateVariable |
![]() | |
CProcessReport * | mpCallBack |
![]() | |
std::string | mKey |
CCopasiObject * | mpValueReference |
size_t | mSize |
Value | mValue |
![]() | |
objectMap | mObjects |
![]() | |
static CRenameHandler * | smpRenameHandler = NULL |
Definition at line 34 of file COptMethodTruncatedNewton.h.
COptMethodTruncatedNewton::COptMethodTruncatedNewton | ( | const COptMethodTruncatedNewton & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy Constructor
const | COptMethodTruncatedNewton & src |
const | CCopasiContainer * pParent (default: NULL) |
Definition at line 39 of file COptMethodTruncatedNewton.cpp.
References initObjects().
|
virtual |
Destructor
Definition at line 46 of file COptMethodTruncatedNewton.cpp.
References cleanup(), mpCTruncatedNewton, mpTruncatedNewton, and pdelete.
|
private |
Default Constructor
const | CCopasiContainer * pParent (default: NULL) |
Definition at line 33 of file COptMethodTruncatedNewton.cpp.
References initObjects().
|
privatevirtual |
Cleanup arrays and pointers.
Reimplemented from COptMethod.
Definition at line 256 of file COptMethodTruncatedNewton.cpp.
Referenced by initialize(), and ~COptMethodTruncatedNewton().
|
private |
Evaluate the objective function
Definition at line 313 of file COptMethodTruncatedNewton.cpp.
References COptProblem::calculate(), COptProblem::checkFunctionalConstraints(), COptProblem::checkParametricConstraints(), COptProblem::getCalculateValue(), mBestValue, mContinue, mEvaluationValue, and COptMethod::mpOptProblem.
Referenced by optimise(), and sFun().
|
private |
objective function evaluation for specified parameters
|
privatevirtual |
Initialize arrays and pointer.
Reimplemented from COptMethod.
Definition at line 239 of file COptMethodTruncatedNewton.cpp.
References C_INT, cleanup(), COptMethod::initialize(), mBest, mBestValue, mContinue, mCurrent, mGradient, COptMethod::mpOptItem, mVariableSize, and CVector< CType >::resize().
Referenced by optimise().
|
private |
Initialize contained objects.
Definition at line 53 of file COptMethodTruncatedNewton.cpp.
References CCopasiContainer::addObjectReference(), mIteration, and CCopasiObject::ValueInt.
Referenced by COptMethodTruncatedNewton().
|
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. @ return success;
Reimplemented from COptMethod.
Definition at line 58 of file COptMethodTruncatedNewton.cpp.
References CVectorCore< CType >::array(), C_FLOAT64, C_INT, COptItem::checkConstraint(), COutputInterface::DURING, evaluate(), fatalError, COptItem::getLowerBoundValue(), COptItem::getStartValue(), COptItem::getUpperBoundValue(), initialize(), max, mBest, mBestValue, mContinue, mCurrent, mEvaluationValue, mGradient, mpCTruncatedNewton, COptMethod::mpOptProblem, COptMethod::mpParentTask, mpTruncatedNewton, mVariableSize, CCopasiTask::output(), COptProblem::setSolution(), and CTruncatedNewton::tnbc_().
|
private |
callback function for evaluation of objective function and its gradient
Definition at line 263 of file COptMethodTruncatedNewton.cpp.
References C_INT, COutputInterface::DURING, evaluate(), mBest, mBestValue, mContinue, mEvaluationValue, COptMethod::mpOptProblem, COptMethod::mpParentTask, COptMethod::mpSetCalculateVariable, CCopasiTask::output(), and COptProblem::setSolution().
|
friend |
The last individual
Definition at line 118 of file COptMethodTruncatedNewton.h.
Referenced by initialize(), optimise(), and sFun().
|
private |
The best value found so far
Definition at line 123 of file COptMethodTruncatedNewton.h.
Referenced by evaluate(), initialize(), optimise(), and sFun().
|
private |
Flag indicating whether the computation shall continue
Definition at line 133 of file COptMethodTruncatedNewton.h.
Referenced by evaluate(), initialize(), optimise(), and sFun().
The current solution guess
Definition at line 108 of file COptMethodTruncatedNewton.h.
Referenced by initialize(), and optimise().
|
private |
The result of a function evaluation
Definition at line 128 of file COptMethodTruncatedNewton.h.
Referenced by evaluate(), optimise(), and sFun().
The gradient
Definition at line 113 of file COptMethodTruncatedNewton.h.
Referenced by initialize(), and optimise().
|
private |
Handle to the process report item "Current Iteration"
Definition at line 98 of file COptMethodTruncatedNewton.h.
|
private |
The tolerance The number of iterations
Definition at line 93 of file COptMethodTruncatedNewton.h.
Referenced by initObjects().
|
private |
CTruncatedNewton function.
Definition at line 143 of file COptMethodTruncatedNewton.h.
Referenced by optimise(), and ~COptMethodTruncatedNewton().
|
private |
Functor pointing to the Truncated Newton method.
Definition at line 138 of file COptMethodTruncatedNewton.h.
Referenced by optimise(), and ~COptMethodTruncatedNewton().
|
private |
number of parameters
Definition at line 103 of file COptMethodTruncatedNewton.h.
Referenced by initialize(), and optimise().