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

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
IG.Num.OptimizerBase Class Referenceabstract
Inheritance diagram for IG.Num.OptimizerBase:
[legend]
Collaboration diagram for IG.Num.OptimizerBase:
[legend]

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

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

int IG.Num.OptimizerBase.NumParameters
| get protected set

Number of parameters.

int IG.Num.OptimizerBase.NumObjectives
| get protected set

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

int IG.Num.OptimizerBase.NumConstraints
| get protected set

Number of constraints.

int IG.Num.OptimizerBase.NumEqualityConstraints
| get protected set

Number of equality constraints.

IAnalysis IG.Num.OptimizerBase.Analysis
| get set

Definition of the direct problem (direct analysis).

IVector IG.Num.OptimizerBase.InitialGuess
| get set

Gets or sets initial guess used in optimization.

IVector IG.Num.OptimizerBase.InitialStep
| get set

Gets or sets initial step used in optimization.

double IG.Num.OptimizerBase.Tolerance
| get set

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

int IG.Num.OptimizerBase.MaxIterations
| get set

Gets or sets maximal number of iterations.

int IG.Num.OptimizerBase.MaxAnalyses
| get set

Gets or sets maximal number of analyses.

bool IG.Num.OptimizerBase.Calculated
| get protected set

virtual IAnalysisResults IG.Num.OptimizerBase.Results
| get protected set

Optimization results.

virtual bool IG.Num.OptimizerBase.KeepCurrentGuess
| get set

Whether current guess is kept or not.

virtual IAnalysisResults IG.Num.OptimizerBase.CurrentGuess
| get protected set

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

virtual bool IG.Num.OptimizerBase.KeepBestGuess
| get set

Whether best results are kept or not.

virtual IAnalysisResults IG.Num.OptimizerBase.BestGuess
| get protected set

The best results so far.

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

- igbase/optimization/Optimizer.cs