Code covered by the BSD License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

### Highlights from ANNI - solver of a set of non-linear equations.

4.5
4.5 | 2 ratings Rate this file 1 Download (last 30 days) File Size: 280 KB File ID: #26350 Version: 1.2

# ANNI - solver of a set of non-linear equations.

### Bohuslav Ruzek (view profile)

12 Jan 2010 (Updated )

ANNI is robust derivative-free, population based solver of a set of non-linear equations.

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   Please login to tag files.
Comments and Ratings (3)
29 Aug 2014 David Lindell

### David Lindell (view profile)

18 Mar 2010 Michal Kvasnicka

### Michal Kvasnicka (view profile)

On Matlab R2010a I always got the following warning message:
>> ANNI('my_m.in');
Warning: Directory access failure: my_fcn.m.
> In path at 110
In addpath at 87
In ANNI>init at 711
In ANNI at 39
fcn0 call: Time for preparing your problem for solution
fcn3 call: Here is the result (exact solution is x1 = -1, x2 = +1)
x1 = -1.0000 x2 = 1.0000
For details look into the file ANNI.log
******************************

There is some trouble with addpath command.

Michal

Comment only
18 Mar 2010 Michal Kvasnicka

### Michal Kvasnicka (view profile)

Hello Bohuslav,

just a few remarks regarding your ANNI solver:

1. in the README file is mentioned file "my_fcn.in" but in your package is file "my_m.in"

2. the example is extremely simple, could you add more complex example with user defined dimension and number of equations to give user chance to evaluate real performance figure?

Michal