This class represents Evtushenko's algorithm of global optimization based on non-uniform mesh. Article: Yu. Evtushenko. Numerical methods for finding global extreme (case of a non-uniform mesh). U.S.S.R. Comput. Maths. Math. Phys., Vol. 11, N 6, pp. 38-54.
More...
|
| math_GlobOptMin (math_MultipleVarFunction *theFunc, const math_Vector &theLowerBorder, const math_Vector &theUpperBorder, const Standard_Real theC=9, const Standard_Real theDiscretizationTol=1.0e-2, const Standard_Real theSameTol=1.0e-7) |
| Constructor. Perform method is not called from it.
|
|
void | SetGlobalParams (math_MultipleVarFunction *theFunc, const math_Vector &theLowerBorder, const math_Vector &theUpperBorder, const Standard_Real theC=9, const Standard_Real theDiscretizationTol=1.0e-2, const Standard_Real theSameTol=1.0e-7) |
|
void | SetLocalParams (const math_Vector &theLocalA, const math_Vector &theLocalB) |
| Method to reduce bounding box. Perform will use this box.
|
|
void | SetTol (const Standard_Real theDiscretizationTol, const Standard_Real theSameTol) |
| Method to set tolerances.
|
|
void | GetTol (Standard_Real &theDiscretizationTol, Standard_Real &theSameTol) |
| Method to get tolerances.
|
|
void | Perform (const Standard_Boolean isFindSingleSolution=Standard_False) |
|
void | Points (const Standard_Integer theIndex, math_Vector &theSol) |
| Return solution theIndex, 1 <= theIndex <= NbExtrema.
|
|
void | SetContinuity (const Standard_Integer theCont) |
| Set / Get continuity of local borders splits (0 ~ C0, 1 ~ C1, 2 ~ C2).
|
|
Standard_Integer | GetContinuity () const |
|
void | SetFunctionalMinimalValue (const Standard_Real theMinimalValue) |
| Set / Get functional minimal value.
|
|
Standard_Real | GetFunctionalMinimalValue () const |
|
void | SetLipConstState (const Standard_Boolean theFlag) |
| Set / Get Lipchitz constant modification state. True means that the constant is locked and unlocked otherwise.
|
|
Standard_Boolean | GetLipConstState () const |
|
Standard_Boolean | isDone () const |
| Return computation state of the algorithm.
|
|
Standard_Real | GetF () const |
| Get best functional value.
|
|
Standard_Integer | NbExtrema () const |
| Return count of global extremas.
|
|
This class represents Evtushenko's algorithm of global optimization based on non-uniform mesh. Article: Yu. Evtushenko. Numerical methods for finding global extreme (case of a non-uniform mesh). U.S.S.R. Comput. Maths. Math. Phys., Vol. 11, N 6, pp. 38-54.
This method performs search on non-uniform mesh. The search space is a box in R^n space. The default behavior is to find all minimums in that box. Computation of maximums is not supported.
The search box can be split into smaller boxes by discontinuity criteria. This functionality is covered by SetGlobalParams and SetLocalParams API.
It is possible to set continuity of the local boxes. Such option can forcibly change local extrema search. In other words if theFunc can be casted to the function with Hessian but, continuity is set to 1 Gradient based local optimization method will be used, not Hessian based method. This functionality is covered by SetContinuity and GetContinuity API.
It is possible to freeze Lipschitz const to avoid internal modifications on it. This functionality is covered by SetLipConstState and GetLipConstState API.
It is possible to perform single solution search. This functionality is covered by first parameter in Perform method.
It is possible to set / get minimal value of the functional. It works well together with single solution search. This functionality is covered by SetFunctionalMinimalValue and GetFunctionalMinimalValue API.