ANNI - solver of a set of non-linear equations.
by Bohuslav Ruzek
12 Jan 2010
(Updated 14 Jan 2010)
ANNI is robust derivative-free, population based solver of a set of non-linear equations.
|
Watch this File
|
| File Information |
| Description |
Let us suppose a set of non-linear equations in the form
F(m) = d
(m,d are vectors, F is a vector function of vector argument). ANNI tries to construct suitable numerical approximation for inverse projection of d to m, i.e. to find numerical form of
G(d) = m.
Such mapping may not exist in general, and therefore ANNI constructs data/model subspaces covered by population of individuals, for which the inverse G hopefully does exist at least locally. Size and shape of the population are determined adaptively by using empirical rules during the inversion. Numerical approximation of G is achieved by (i) linear regression, (ii) linear prediction (“Kriging”) and, (iii) radial basis function network.
ANNI is designed with respect to minimize the number of function evaluations. All computed individuals are stored in the internal data structure and are reused multiple times. Derivatives are not necessary, since in practice they are usually accessible in the form of differences only.
ANNI can be used for problems commonly solved by standard MATLAB function fsolve. ANNI is nearly as efficient as fsolve for simple problems, but it seems to be more robust for difficult problems when fsolve fails. ANNI can search for multiple roots of non-unique problems (fsolve cannot).
Rigorous description of ANNI algorithm is available in the attached pdf document.
|
| MATLAB release |
MATLAB 7.8 (R2009a)
|
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Updates |
| 14 Jan 2010 |
Lines 111,114,117 were slightly corrected which I forgot to do after tuning the final version. The version just before this correction is working as well, but not so efficiently. Sorry for my mistake. |
|
Contact us at files@mathworks.com