Finite Element Model Updating Using Fish School
Search Optimization Method
Boulkabeit I *, Mthembu L * Marwala T * and De Lima Neto, F †
*The

Centre For Intelligent System Modelling (CISM), Electrical and Electronics Engineering Department, University of
Johannesburg, PO Box 524, Auckland Park 2006, South Africa, e-mail: iboulkaibet@student.uj.ac.za
†
Polytechnic School of Pernambuco, University of Pernambuco, Recife, Brazil, e-mail: fbln@ecomp.poli.br

Abstract—A recent nature inspired optimization algorithm, Fish
School Search (FSS) is applied to the finite element model (FEM)
updating problem. This method is tested on a GARTEUR SMAG19 aeroplane structure. The results of this algorithm are
compared with two other metaheuristic algorithms; Genetic
Algorithm (GA) and Particle Swarm Optimization (PSO). It is
observed that on average, the FSS and PSO algorithms give more
accurate results than the GA. A minor modification to the FSS is
proposed. This modification improves the performance of FSS on
the FEM updating problem which has a constrained search
space.
Keywords: Finite Element Model (FEM); Fish School Search
(FSS);Genetic Algorithm (GA); Particle Swarm Optimization
(PSO)

1.

INTRODUCTION

A finite element model (FEM) is a numerical method used to
provide approximate solutions to the analysis of complex
engineering systems [1, 2, 20]. In mechanical engineering, the
FEM method is often used for computing displacements,
stresses and strains in structures under different input
conditions. In electrical engineering it might be used to model
systems that experience electromagnetic fields. However,
FEMs only produce accurate solutions to simple engineering
problems. In complex systems, FEM results are different from
those obtained from physical experiments [3, 4, 20]. These
differences can be the result of; the approximations made in
the geometric construction the system model and/or the
description of some system parameters e.g. joints. Therefore
the initial FE model needs to be automatically and intelligently
updated so as to match the measured experimental data.
There are currently two main approaches to FEM updating;
direct and indirect methods [1, 6]. In the direct method the
measured data are directly equated to the FEM output. This
naturally constrains the updating to FE system matrices (mass,
stiffness etc) only. In the indirect (or iterative) approach the
FEM outputs are not constrained to equal the measured data
thus allowing both the system matrices and the model output
to be variable. The updating problem is then how to minimise
the difference between the measured data and the FEM output,
given these “free” variables i.e. this is a classic optimization
problem.

Another way of looking at this model updating problem is that
we know what the model results should be, the problem is to
identify the system that generate the results. So FEM updating
can also be seen as a system identification problem which is
made more difficult by the often large number of uncertain
parameters.
Furthermore in FEM unlike in artificial models, the problem
under consideration is a real physical system. Thus the
updated parameters have physical meaning. This places
significant limits on possible uncertain-parameter update
values. This is one of the main criticisms of direct updating
methods discussed above [1].
In the recent years, nature inspired optimization techniques,
commonly referred to as metaheuristic, have shown promising
results in systems identification research [5]. Many
optimization methods such as Simulated annealing (SA),
Genetic algorithm (GA) and Particle Swarm optimization
(PSO) have been used for FEM updating [6, 7, 8]. In this
paper we compare the performance of the recently introduced
Fish School Search (FSS) algorithm [10] to the performance
of the former algorithms on the FEM updating problem.
2.

EVOLUTION SEARCH

2.1 Introduction
All nature-inspired search algorithms are population based
and have the same structure [9]. They all have a population of
individuals which move around the problem space searching
for the solution to the problem. The dimension of the search
space is normally defined by the number of uncertain
function/problem parameters. All the individuals are potential
solutions to the problem at hand. The following generally
occurs for the individuals during the search process in all the
above algorithms:




Individuals are randomly initiated, in the beginning
there is no bias to any particular point in the search
space;
Individuals interact to varying degrees at a local
(exploitation) and global (exploration) level;
Individuals are all evaluated during the search
process;



There is a level of randomness at all stages of the
search process.

The novelty between algorithms is mainly how the potential
solutions search/move (or update) in the problem space and
how they interact (and or communicate) to each other.
The next section briefly describes the different algorithms
compared in this paper. In section three the modeled structure
is described and in section four the simulation results are
presented. Section five concludes the paper.
2.2 Particle Swarm Optimization (PSO)
PSO was introduced by Kennedy and Eberhart [7]. It is
based on the foraging behavior of a flock of birds (particles).
As a standard in all PSO algorithms [6, 7, 8] each individual (i)
is composed of three vectors: its position in the search space
(size d) is given by xi  ( xi1 , xi2 , xi3 ,.....xid ) , the best position it
has

found

pi  ( pi , pi , pi ,..... pi )
1

2

3

d

and

its

velocity

v i  ( v i , v i , v i ,..... v i ) . The position and the velocity are
initialized randomly in the search space.
1

2

3

d

The particles move around the search space by updating
their velocity and position vectors. For the current context each
position on the search space is a candidate solution to the FEM
updating problem. The velocity can be updated using various
equations; in this paper we use the PSO version with the inertia
weight not the constriction factor [7].
The velocity update equation for particle i is given by:
v i  wv
d

d
i

 c 1 r1 ( p i  x i )  c 2 r2 ( p g  x i )
d

d

d

d

(1)

where w is the inertia weight introduced to adjust the
influence of the previous velocities on the optimization
process. A large inertia weight value helps in global
exploration, while a small one helps in searching within
nearby areas. The inertia weight used in this paper is given by:
w 

max ter  iter

(2)

max iter

The position vector is then updated using
xi  xi  vi
d

d

d

(3)

(detailed in §3) the problem space d =8.
In GAs an
individual’s make-up ( x i ) is described by the chromosome
vector itself. Unlike in PSO and FSS where there is a defining
equation for how an individual moves through the search
space, in GAs that notion is achieved by selection,
reproduction and mutation between and of individuals. This
allows the algorithm to gradually converge to better solutions
over generations.
2.4 Fish School Search (FSS)
This method was inspired from the behavior of a school of
fish and was first thought by Bastos Filho and Lima-Neto in
2007, subsequently proposed in 2008 [10].
Similar to PSO and GA, the search process in FSS is
carried out by a population of individuals, i.e. fish, which have
a certain level of local and global behavior. The problem space
is said to have food (possible solutions) scattered in different
concentrations of the aquarium (i.e. search space) and the fish
are considered to ‘feed’ at these different positions as they
search.
In FSS, searching is referred to as swimming. This action is
achieved via three effectors; individual movement, collectiveinfluence movement and school performance (called collectivevolitive) movement. The initial individual position is random.
Thereafter the movement is given by:
x i ( t )  x i ( t  1 )  rand (  1,1 ) step

(4)

The larger this value is the more successful the fish has
been in searching for food. The weight value is constrained to
vary between 1 and w scale . All fish are initialized with a weight
of half w scale . The weight of each individual in the population is
updated using Equation 5:
w i ( t )  w i ( t  1) 

f [ x i ( t )]  f [ x i ( t  1 )]

where

f

(5)

f [ x i ( t )]  f [ x i ( t  1 )] |}

max{|

c 2 are the local and global influence factors respectively.

Perhaps, the Genetic Algorithm (GA) is one of the first
metaheuristic (of the nature inspired algorithms) used for
optimization [6, 9, 22]. The idea stems from the way biological
genes (more specifically chromosomes) of parents are
combined to produce better and better off-springs over
generations.

( t  1)

where rand is a random number uniformly generated in the
interval [-1,1] and step ind is an individual step size. The step
size decreases linearly during the search process so as to
exploit later positions in the search process. Before movement
to any particular point is taken the fish evaluates whether the
food in that direction is better than at its current position. The
fish then feeds. Individuals in FSS ‘store’ their previous
performance information via their weight w i (t ) .

The r1 and r 2 are independent random numbers and c 1 and

2.3 Genetic Algorithm

ind

is the finite element model and

f (xi )

computes the

fitness of each fish in the school. After the individual
movements a weighted average of all the fish is calculated.
This biases the future movement of fish towards those fish that
had a successful previous movement. The resultant fish
movement is calculated using:
N

In the current context a potential solution to the FEM updating
problem is modeled as a vector of chromosomes. Each
chromosome is an uncertain parameter of the function to be
optimized. Again for the current FEM updating structure


x i ( t )  x i ( t  1) 

 x ind { f [ x i ( t )]  f [ x i ( t  1 )] }

i 1
N

 { f [x
i 1

i

( t )]  f [ x i ( t  1 )]}

(6)

where  x ind is the individual displacement of the fish and N
is the number of fish in the school. This is the collective –
influence effector. The fish complete the swim movement with
the collective - volitive adjustment step. This step takes into
account how the whole school is performing so far. This step
requires the calculation of the average weighted school
position called the barycenter at time t:
N


B (t ) 

x i (t ) w i (t )

i 1

(7)

N



x i (t )

i 1

The final fish position will depend on whether the weight of
the school has increased or decreased, this is given by
Equations 8 and 9 respectively. The Equation 8 will be
evaluated in the case that the weight has been increased.
However, the Equation 9 will be used when the weight
decreases:
x i ( t )  x i ( t  1 )  step

vol

rand

x i ( t )  x i ( t  1 )  step

vol

rand

{ x i ( t  1 )  B ( t  1 )}

(8)

dist ({ x i ( t  1 ), B ( t  1 )}
{ x i ( t  1 )  B ( t  1 )}

3.

MODELLED STRUCTURE AND FE MODEL

All the finite element modeling was simulated using
version 6.2 of the Structural Dynamics Toolbox (SDT®) under
MATLAB® environment. In this paper, a GARTEUR SMAG19 aeroplane structure is used to investigate the
optimization capability of the four algorithms. The GARTEUR
SM-AG19 structure was used as a benchmark study by 12
members of the GARTEUR Structures and Materials Action
Group 19 [13, 14, 19]. One of the aims of the study was to
compare the different computational model updating
procedures on a single common test structure [12, 13, 15, 16,
19, 18]. The benchmark study also allowed participants to test
a single representative structure using their own test equipment.
The experimental test data used in our analysis is data obtained
by the University of Manchester (U MAN) .
The above aeroplane has a length of 1.5 m and a width of
3m. The depth of the fuselage is 15cm with a thickness of
5cm. Figure 1 shows the FE model of the aeroplane. In our
models all element materials are considered standard isotropic.
The model elements are Euler–Bernoulli. The measured
natural frequency (Hz) data is: 6.51, 16.37, 33.44, 33.97,
36.17, 49.41, 50.2, 55.61, 64.04, 69.39.

(9)

dist ({ x i ( t  1 ), B ( t  1 )}

The parameter rand is a random number uniformly generated
in the interval [0,1].The step vol is used to control the
displacement from or to the barycenter and it is decreased
linearly as the search proceeds. The dist ( x , y ) is the Euclidian
distance between x and y.
This final positioning based on the average school weight
increasing or decreasing effectively implements the space
exploitation or exploration concept respectively. The fish
exploit a particular area of space if the school collectively
gains weight (i.e. school radius reduce) or otherwise explores
other areas by expanding away from the barycenter if the
school looses weight.
2.5 Fish School Search biased (FSSb)
The original FSS algorithm is slightly modified by giving
more influence to results that seems to be more promising. This
was done by simply altering the feeding of fish. A variable ,
which allows for selective allocation of more weight to better
search results is introduced to Equation 5. Obviously, this
parameter is problem specific. The new equation is then:
w i ( t )  w i ( t  1)  

f [ x i ( t )]  f [ x i ( t  1 )]
max{|

Figure 1 FEM Garteur Structure

The
(

parameters to be updated are the right wing
), the left wing (
), Vertical tail
) and the overall structure’s density ). The search
space is thus x d  8 .
The initial position vector, x i (t ) , for all algorithms is given by E
=[

,

Table 1 The initial vector position for all algorithms
Parameter

(10)

f [ x i ( t )]  f [ x i ( t  1 )] |}

(
2700

8.3

8.3

8.3

4.0

Parameter

where

(
4.0

{

]

(11)

8.3

I.

4. SIMULATION RESULTS
The weight is bounded by:
In all simulations the number of iterations is set to 500.

4.1 PSO Settings
In the PSO algorithm, the population number is set to 20, and
constants
are set to be 2. The particle position and
velocity elements are bounded as shown in Table 2
Table 2 Particle position and velocity bounds
Max_position

Min_position

Max_velocity
10

Min_velocity
-10

w scale

.

Each algorithm is executed 30 times where the average
solutions of these runs are presented in Table 5 and 6. Table 5
presents the initial value (the mean material or geometric
values) of the update vector , as well as the updated values
obtained by each method. The updated parameters obtained by
GA, PSO, FSS and FSSb techniques are close to the mean
values i.e. they are physically realistic for the given structure.
In general, the updated vector obtained from GA, PSO and
FSS algorithms are different from each other and this because
of the way that each algorithm functions to generate the
solution. The FSS and FSSb have very close update vector
where involving the global and the local best position slightly
affected the updated vector . PSO and FSS techniques give
updated vectors that are more similar to each to those obtained
by the GA algorithm.
Table 5 Initial and updated parameter values
Initial
E

vector,
GA Method
2573.7

vector,
PSO
Method
2682.7

vector,
FSS
Method

vector,
FSSb
Method

4.2 GA settings
Table 3 shows the parameter setting used in the GA algorithm.
Table 3 GA parameter settings
Population (N)
Mutation rate (mutr)
Selection Rate (selcr)

20
0.2
0.5

As in the PSO algorithm the chromosomes in the genetic
algorithm are bounded by the values shown in Table 2.
4.3 FSS settings
In FSS algorithm the fish population is 20. The population
positions are bounded according to table 2. The
and
are a percentage of the search space amplitude and are
bounded by two vector parameters according to Table 4:
Table 4 FSS parameter settings

30

-30

.
Table 6 shows the output errors of the different optimization
algorithms. In general, the results show that the updated FEM
natural frequencies are better than the initial FEM for all
methods (see the total (T) error in Table 6). The error between
the second measured natural frequency and that of the initial
model was 6.303%. With the GA method this error was
reduced to 0.915% and by implementing the PSO it was
reduced to 0.763%, and when the FSS and FSSb are
implemented, the error reduced to 0.727% and 0.651%
respectively. The same comment can be made for the third,
fourth, seventh, eighth, ninth and the tenth natural frequencies.
The PSO, FSS and FSSb give results that are better than the
GA algorithm. On the other hand, GA converges faster to a
local minimum, see figure 2. FSS and FSSb converge within
the first 15 iterations. PSO, FSS and FSSb algorithms have
almost the same asymptotic point (around 70 to 75 iterations).
There is no significant difference between the total errors
obtained for the PSO, FSS and FSSb [21].

Table 6 Natural Frequencies and Errors when GA, PSO, FSS and FSSb methods are used to update the FEM
Mode

Measured
Frequency
(Hz)

Initial
FEM
Frequency
(Hz)

Error
(%)

Frequencies
GA Method
(Hz)

Error
(%)

Frequencies
PSO
Method
(Hz)

Error
(%)

Frequencies
FSS
Method
(Hz)

Error
(%)

Frequencies
FSSb
Method
(Hz)

Error
(%)

1

6.51

5.726

12.047

6.247

4.037

6.237

4.195

6.232

4.266

6.224

4.396

2

16.37

15.338

6.303

16.22

0.915

16.495

0.763

16.489

0.727

16. 77

0.651

3

33.44

32.457

2.939

33.086

1.057

33.306

0.399

33.278

0.486

33.350

0.269

4

33.97

35.323

3.984

34.949

2.882

34.154

0.542

34.127

0.461

34.222

0.742

5

36.17

36.020

0.414

36.284

0.316

35.908

0.724

35.896

0.759

35.925

0.678

6

49.41

44.992

8.941

49.05

0.728

48.839

1.156

48.799

1.237

48.730

1.377

7

50.20

54.685

8.934

53.964

7.499

52.938

5.455

52.903

5.384

52.834

5.248

8

55.61

55.753

0.257

54.603

1.811

55.512

0.176

55.574

0.065

55.603

0.012

9

64.04

60.021

6.276

63.695

0.538

64.16

0.187

64.130

0.140

64.068

0.043

10

69.39

68.745

0.929

70.326

1.349

68.922

0.675

68.868

0.752

68.768

0.859

T error
%

______

______

51.024

______

21.132

______

14.272

______

14.277

______

14.275

The modified FSS algorithm, FSSb, outrank PSO on six out of
the 10 modes. For example the error of the second mode was
reduced to 0.763 % by the PSO algorithm while the FSSb
method reduced it to 0.651 %. The same comment can be made
for the third, fifth, seventh, eighth and ninth natural
frequencies. Figure 3 shows a magnified plot of the cost
function at higher iteration counts.

Figure 2 FEM cost function vs. iterations

It is difficult to make a decisive conclusion from Table 6 and
Figure 2 when comparing the FSS, FSSb and PSO algorithms.
The difference between the algorithm results is on the different
natural modes. The FSS algorithm has smaller errors than PSO
in five of the modes and PSO has smaller errors than FSS for a
different set of five modes. On average the total error between
these algorithms is similar as shown in figure 2.

Figure 3 Magnified FEM cost function vs. iterations

Figure 3 also shows that the total error of the PSO algorithm is
slightly better than both FSS and FSSb algorithms, even though
as commented it does not converge as fast. The monification
proposed in FSSb seemed to slightly improve results over

“vanilla” FSS. The algorithm errors do not improve after the
magnified region.
5. CONCLUSION

[7]

[8]

In this paper the finite element model updating problem is
addressed using a recently proposed nature inspired
optimization algorithm. Three of these metaheuristic methods;
the genetic algorithm (GA), particle swarm optimization
(PSO) and fish school search (FSS) algorithms are tested on
the updating of the GARTEUR SM-AG19 FEM structure. A
slight modification to the recent FSS algorithm is proposed
and tested; we called it FSSb (‘b’ for bias).

[9]

The simulation results show that the FSS, FSSb and the PSO
algorithms give more accurate results than those obtained by
the GA algorithm. On the other hand, the GA algorithm has a
faster convergence rate than the former although it
prematurely converges. The modification on FSS algorithm
improves the results of the FEM over the PSO algorithm.
However, the PSO algorithm gives slightly better total error
than those obtained by both FSS and FSSb algorithms.

[12]

[10]

[11]

[13]

[14]

[15]

Further work will consider the differences between the above
methods and the density based FSS algorithm (dFSS) [21].
Our preliminary analysis reveals that the FSSb algorithm may
be more suited for applications that have a discretized search
space, such as in FEM. But this has to be further verified in
other domains.

[16]

[17]
[18]

REFERENCES
[1]

Friswell M.I, Mottershead J.E, Finite element model updating in
structural dynamics, Kluwer Academic Publishers: Boston, 1995.

[2]

Leonard J.W, Khouri B.R, System identification using a standard
finite element program, Engineering Structures 7 (3) (1985), 190-197.

[3]

Levin M.I, Lieven N.A.J, Dynamic finite element model updating
using simulated annealing and Genetic Algorithms, Mechanical
Systems and Signal Processing 12 (1) (1998) 91–120.
Marwala T, Finite element model updating using wavelet data and
Genetic Algorithm, Journal of Aircraft, 39 (4) (2002) 709-711.

[19]
[20]

[21]

[4]

[5]

[6]

Panigrahi S.K, Chakraverty S, Mishra B.K. Vibration based damage
detection in a uniform strength beam using genetic algorithm,
Meccanica, Springer, 44, (2009), 697 – 710.
Marwala T, Finite element model updating using computational
intelligence techniques: Applications to structural dynamics, 2010
Heidelberg: Springer ISBN 978-1-84996-322-0.

[22]

Kennedy J, Eberhart R, Particle swarm optimization, In Proceedings
of the International Conference on Neural Networks IV (1995) 19421948 IEEE.
Bratton D, Kennedy J, Defining a standard for Particle Swarm
Optimimzation. Proceedings of the 2007 IEEE Swarm Intelligence
Symposium (SIS 2007).
Goldberg, D.E, Genetic Algorithms in search, optimization and
machine learning, Reading, MA: Addison Wesley, 1989 ISBN:
0201157675.
C. J. A. B Filho., F. B. de Lima Neto, A. J. C. C.. Lins, A. I. S.
Nascimento., and M. P. Lima, , "A novel search algorithm based on
fish school behavior," Systems, Man and Cybernetics, SMC 2008.
IEEE International Conference on, 2008, pp. 2646-2651.
Link M, Friswell MI, Generation of validated structural dynamic
models - Results of a benchmark study utilizing the GARTEUR SMAG19 Testbed, Mechanical Systems and Signal Processing, COST
Action Special Issue, 17(1) January 2003, 9-20.
Mottershead J.E, Friswell M.I, Model updating in structural dynamics
- A Survey, Journal of Sound and Vibration, 167 (2) (1993) 347-375.
Carvallo J, Datta B.N, Gupta A, Lagadapati M, A direct method for
model updating with incomplete measured data and without
spurious modes, Mechanical Systems and Signal Processing 21 (7)
2715-2731.
Datta B.N, Finite element model updating, eigenstructure
assignment and eigenvalue embedding techniques for vibrating
systems, Mechanical Systems and Signal Processing 16 (2002), 83-96.
Adhikari S, Friswell M.I, Distributed parameter model updating
using the Karhunen-Loeve expansion, Mechanical Systems and Signal
Processing 24(2) (2010) 325-339.
Horibe T, Takahashi K, Crack Identification in beam using Genetic
Algorithm and three dimensional P-FEM, Journal of Solid Mechanics
and Materials Engineering 1 (7) (2007) 886-894.
Hirotugu A, A new look at the statistical model identification, IEEE
Transactions on Automatic Control 19 (6) (1974), 716–723.
Leonard J.W, Khouri B.R, System identification using a standard
finite element program, Engineering Structures 7 (3) (1985), 190197.
Guyon I, Elisseeff A, An introduction to variable and feature
selection, Journal of Machine Learning Research 3 (2003), 1157-1182.
Boulkaibet I., Marwala T., Mthembu L., Friswell M. I. and Adhikari S.:
Sampling Techniques in Bayesian Finite Element Model Updating,
Proceedings of the Society for Experimental Mechanics, Vol. 29 pp. 7583, 2012.
Madeiro S. S., Lima Neto F. B., Filho C.J.A.B, and Figueiredo E. M. N
, ”Density as the segregation mechanism in fish school search for
multimodal optimization problems”, Advances in Swarm Intelligence.
ICSI 2011. Int’l Conference on, vol. 2, 2011, pp. 563-572.
Holland, J. H.: Adaptation in Natural and Artificial Systems. Ann
Arbor: University of Michigan Press, 1975.

