IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Num::OptimizerBase Class Reference

Inheritance diagram for IG::Num::OptimizerBase:
Collaboration diagram for IG::Num::OptimizerBase:

List of all members.

Public Member Functions

virtual void SetOptimizationData (IOptimizationData data)
 Sets the optimization data where information about optimization problem and algorithm parameters can be obtained.
virtual void SetOptimizationResults (IOptimizationResults results)
 Sets the optimization data where information about optimization problem and algorithm parameters can be obtained.
abstract void Optimize ()
 Performs optimization. This method should be overridden in derived classes.

Protected Member Functions

virtual void BeforeOptimization ()
 Auxiliary housekeeping method that should be called at the beginning of Optimize.
virtual void AfterOptimization ()
 Auxiliary housekeeping method that should be called at the end of Optimize.

Protected Attributes

bool _keepBestGuess = false

Properties

object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.
virtual IOptimizationData OptimizationData [get, set]
 Gets optimization data used by the current optimizer. This structure contains information about optimization problem and algorithm parameters.
virtual IOptimizationResults OptimizationResults [get, set]
 Gets optimization results.
virtual bool CopyReferences [get, set]
 Indicates whether just references can be copied when setting optimization parameters or results. If false then deep copy is always be performed. Default is false.
int NumParameters [get, set]
 Number of parameters.
int NumObjectives [get, set]
 Number of objective functions (normally 1 for this type, but can be 0).
int NumConstraints [get, set]
 Number of constraints.
int NumEqualityConstraints [get, set]
 Number of equality constraints.
IAnalysis Analysis [get, set]
 Definition of the direct problem (direct analysis).
IVector InitialGuess [get, set]
 Gets or sets initial guess used in optimization.
IVector InitialStep [get, set]
 Gets or sets initial step used in optimization.
double Tolerance [get, set]
 Gets or sets the main tolerance (its exact meaning depends on the algorithm in use).
int MaxIterations [get, set]
 Gets or sets maximal number of iterations.
int MaxAnalyses [get, set]
 Gets or sets maximal number of analyses.
bool Calculated [get, set]
virtual IAnalysisResults Results [get, set]
 Optimization results.
virtual bool KeepCurrentGuess [get, set]
 Whether current guess is kept or not.
virtual IAnalysisResults CurrentGuess [get, set]
 Results of the current guess (usually last analysis that has been performed).
virtual bool KeepBestGuess [get, set]
 Whether best results are kept or not.
virtual IAnalysisResults BestGuess [get, set]
 The best results so far.

Private Attributes

object _mainLock = new object()
IOptimizationData _optimizationData
IOptimizationResults _optimizationResults
IAnalysis _analysis

Member Function Documentation

virtual void IG::Num::OptimizerBase::SetOptimizationData ( IOptimizationData  data) [inline, virtual]

Sets the optimization data where information about optimization problem and algorithm parameters can be obtained.

Parameters:
data
virtual void IG::Num::OptimizerBase::SetOptimizationResults ( IOptimizationResults  results) [inline, virtual]

Sets the optimization data where information about optimization problem and algorithm parameters can be obtained.

Parameters:
data
abstract void IG::Num::OptimizerBase::Optimize ( ) [pure virtual]

Performs optimization. This method should be overridden in derived classes.

Methods BeforeOptimization() and AfterOptimization() should be called at the beginning and end of this method.

Implements IG::Num::IOptimizer.

virtual void IG::Num::OptimizerBase::BeforeOptimization ( ) [inline, protected, virtual]

Auxiliary housekeeping method that should be called at the beginning of Optimize.

virtual void IG::Num::OptimizerBase::AfterOptimization ( ) [inline, protected, virtual]

Auxiliary housekeeping method that should be called at the end of Optimize.


Member Data Documentation

object IG::Num::OptimizerBase::_mainLock = new object() [private]
bool IG::Num::OptimizerBase::_keepBestGuess = false [protected]

Property Documentation

object IG::Num::OptimizerBase::Lock [get]

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

Implements IG::Lib::ILockable.

virtual IOptimizationData IG::Num::OptimizerBase::OptimizationData [get, set]

Gets optimization data used by the current optimizer. This structure contains information about optimization problem and algorithm parameters.

Protected internal setter. Setter should be overridden by overriding the SetOptimizationData() method!

virtual IOptimizationResults IG::Num::OptimizerBase::OptimizationResults [get, set]

Gets optimization results.

This property has protected internal setter.

virtual bool IG::Num::OptimizerBase::CopyReferences [get, set]

Indicates whether just references can be copied when setting optimization parameters or results. If false then deep copy is always be performed. Default is false.

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::NumParameters [get, set]

Number of parameters.

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::NumObjectives [get, set]

Number of objective functions (normally 1 for this type, but can be 0).

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::NumConstraints [get, set]

Number of constraints.

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::NumEqualityConstraints [get, set]

Number of equality constraints.

Implements IG::Num::IOptimizer.

IAnalysis IG::Num::OptimizerBase::Analysis [get, set]

Definition of the direct problem (direct analysis).

Implements IG::Num::IOptimizer.

IVector IG::Num::OptimizerBase::InitialGuess [get, set]

Gets or sets initial guess used in optimization.

Implements IG::Num::IOptimizer.

IVector IG::Num::OptimizerBase::InitialStep [get, set]

Gets or sets initial step used in optimization.

Implements IG::Num::IOptimizer.

double IG::Num::OptimizerBase::Tolerance [get, set]

Gets or sets the main tolerance (its exact meaning depends on the algorithm in use).

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::MaxIterations [get, set]

Gets or sets maximal number of iterations.

Implements IG::Num::IOptimizer.

int IG::Num::OptimizerBase::MaxAnalyses [get, set]

Gets or sets maximal number of analyses.

Implements IG::Num::IOptimizer.

bool IG::Num::OptimizerBase::Calculated [get, set]
virtual IAnalysisResults IG::Num::OptimizerBase::Results [get, set]

Optimization results.

Implements IG::Num::IOptimizer.

virtual bool IG::Num::OptimizerBase::KeepCurrentGuess [get, set]

Whether current guess is kept or not.

Implements IG::Num::IOptimizer.

virtual IAnalysisResults IG::Num::OptimizerBase::CurrentGuess [get, set]

Results of the current guess (usually last analysis that has been performed).

Implements IG::Num::IOptimizer.

virtual bool IG::Num::OptimizerBase::KeepBestGuess [get, set]

Whether best results are kept or not.

Implements IG::Num::IOptimizer.

virtual IAnalysisResults IG::Num::OptimizerBase::BestGuess [get, set]

The best results so far.

Implements IG::Num::IOptimizer.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events