IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.OptimizerBase Class Referenceabstract
+ Inheritance diagram for IG.Num.OptimizerBase:
+ Collaboration diagram for IG.Num.OptimizerBase:

Public Member Functions

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

Protected Member Functions

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

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. More...
 
virtual IOptimizationData OptimizationData [get, set]
 Gets optimization data used by the current optimizer. This structure contains information about optimization problem and algorithm parameters. More...
 
virtual IOptimizationResults OptimizationResults [get, set]
 Gets optimization results. More...
 
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. More...
 
int NumParameters [get, protected set]
 Number of parameters. More...
 
int NumObjectives [get, protected set]
 Number of objective functions (normally 1 for this type, but can be 0). More...
 
int NumConstraints [get, protected set]
 Number of constraints. More...
 
int NumEqualityConstraints [get, protected set]
 Number of equality constraints. More...
 
IAnalysis Analysis [get, set]
 Definition of the direct problem (direct analysis). More...
 
IVector InitialGuess [get, set]
 Gets or sets initial guess used in optimization. More...
 
IVector InitialStep [get, set]
 Gets or sets initial step used in optimization. More...
 
double Tolerance [get, set]
 Gets or sets the main tolerance (its exact meaning depends on the algorithm in use). More...
 
int MaxIterations [get, set]
 Gets or sets maximal number of iterations. More...
 
int MaxAnalyses [get, set]
 Gets or sets maximal number of analyses. More...
 
bool Calculated [get, protected set]
 
virtual IAnalysisResults Results [get, protected set]
 Optimization results. More...
 
virtual bool KeepCurrentGuess [get, set]
 Whether current guess is kept or not. More...
 
virtual IAnalysisResults CurrentGuess [get, protected set]
 Results of the current guess (usually last analysis that has been performed). More...
 
virtual bool KeepBestGuess [get, set]
 Whether best results are kept or not. More...
 
virtual IAnalysisResults BestGuess [get, protected set]
 The best results so far. More...
 
- Properties inherited from IG.Num.IOptimizer
bool CopyReferences [get, set]
 Indicates whether just references can be copied when setting optimization parameters or results or auxiliary data. If false then deep copy is always be performed. Default is false. More...
 
int NumParameters [get]
 Number of parameters. More...
 
int NumObjectives [get]
 Number of objective functions (normally 1 for this type, but can be 0). More...
 
int NumConstraints [get]
 Number of constraints. More...
 
int NumEqualityConstraints [get]
 Number of equality constraints. More...
 
IAnalysis Analysis [get, set]
 Definition of the direct problem (direct analysis that calculates the response functions). More...
 
IVector InitialGuess [get, set]
 Gets or sets initial guess used in optimization. More...
 
IVector InitialStep [get, set]
 Gets or sets initial step used in optimization. More...
 
double Tolerance [get, set]
 Gets or sets the main tolerance (its exact meaning depends on the algorithm in use). More...
 
int MaxIterations [get, set]
 Gets or sets maximal number of iterations. More...
 
int MaxAnalyses [get, set]
 Gets or sets maximal number of analyses. More...
 
IAnalysisResults Results [get]
 Optimization results. More...
 
bool KeepCurrentGuess [get]
 Whether current guess is kept or not. More...
 
IAnalysisResults CurrentGuess [get]
 Results of the current guess (usually last analysis that has been performed). More...
 
bool KeepBestGuess [get]
 Whether best results are kept or not. More...
 
IAnalysisResults BestGuess [get]
 The best results so far. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Private Attributes

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

Member Function Documentation

virtual void IG.Num.OptimizerBase.SetOptimizationData ( IOptimizationData  data)
inlinevirtual

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)
inlinevirtual

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

Parameters
resultsobject on which results are set.
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 ( )
inlineprotectedvirtual

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

virtual void IG.Num.OptimizerBase.AfterOptimization ( )
inlineprotectedvirtual

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

Member Data Documentation

object IG.Num.OptimizerBase._mainLock = new object()
private
IOptimizationData IG.Num.OptimizerBase._optimizationData
private
IOptimizationResults IG.Num.OptimizerBase._optimizationResults
private
IAnalysis IG.Num.OptimizerBase._analysis
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.

virtual IOptimizationData IG.Num.OptimizerBase.OptimizationData
getset

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
getset

Gets optimization results.

This property has protected internal setter.

virtual bool IG.Num.OptimizerBase.CopyReferences
getset

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 IG.Num.OptimizerBase.NumParameters
getprotected set

Number of parameters.

int IG.Num.OptimizerBase.NumObjectives
getprotected set

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

int IG.Num.OptimizerBase.NumConstraints
getprotected set

Number of constraints.

int IG.Num.OptimizerBase.NumEqualityConstraints
getprotected set

Number of equality constraints.

IAnalysis IG.Num.OptimizerBase.Analysis
getset

Definition of the direct problem (direct analysis).

IVector IG.Num.OptimizerBase.InitialGuess
getset

Gets or sets initial guess used in optimization.

IVector IG.Num.OptimizerBase.InitialStep
getset

Gets or sets initial step used in optimization.

double IG.Num.OptimizerBase.Tolerance
getset

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

int IG.Num.OptimizerBase.MaxIterations
getset

Gets or sets maximal number of iterations.

int IG.Num.OptimizerBase.MaxAnalyses
getset

Gets or sets maximal number of analyses.

bool IG.Num.OptimizerBase.Calculated
getprotected set
virtual IAnalysisResults IG.Num.OptimizerBase.Results
getprotected set

Optimization results.

virtual bool IG.Num.OptimizerBase.KeepCurrentGuess
getset

Whether current guess is kept or not.

virtual IAnalysisResults IG.Num.OptimizerBase.CurrentGuess
getprotected set

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

virtual bool IG.Num.OptimizerBase.KeepBestGuess
getset

Whether best results are kept or not.

virtual IAnalysisResults IG.Num.OptimizerBase.BestGuess
getprotected set

The best results so far.


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