0024979: Optimize Extrema_GenExtCS
authordbp <dbp@opencascade.com>
Tue, 15 Jul 2014 08:11:24 +0000 (12:11 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 17 Jul 2014 10:07:42 +0000 (14:07 +0400)
commit113493b0f19df6fc9e2e814dee89e3111b71d472
tree29d51d051d0e5b85b318e15b161c5e2afcd13e26
parent5a44311151012e177b756dc892824f2584c55890
0024979: Optimize Extrema_GenExtCS

The patch changes the algorithm of choosing the initial approximation for Newton's method. Instead of searching for a point on the fine shifted grid, the algorithm performs initial search for candidate points in the original coarse grid (which is cached in new version). After that particle swarm optimization (PSO) is used to localize the global minimum. This algorithm optimizes a problem by having a population of candidate solutions ("particles"), and moving these particles around in the search-space according to simple mathematical formula over the particle's position and velocity. Each particle's movement is influenced by its local best known position but, is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This strategy has reported good results in solving complex global optimization problems.

Current patch implements initial version of PSO for using in Extrema_GenExtCS class. Typically new approach allows to reduce the number of evaluations by 5-10 times. There are only few cases there the numbers of evaluations are comparable.
src/Extrema/Extrema_GenExtCS.cdl
src/Extrema/Extrema_GenExtCS.cxx
tests/bugs/moddata_3/bug23995