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

- Main Page
- Namespaces
- Classes
- Files
- Directories

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

Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes

# IG::Num::OptimizerBase Class Reference

Inheritance diagram for IG::Num::OptimizerBase:
[legend]
Collaboration diagram for IG::Num::OptimizerBase:
[legend]

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

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.

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:

- Optimizer.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events