A Tutorial On Meta-Heuristics For Optimization
A Tutorial On Meta-Heuristics For Optimization
1 Introduction
Optimization problems arise from almost every field ranging from
academic research to industrial application. In addition to other (ar-
guably more conventional) optimization techniques, meta-heuristics,
such as genetic algorithms, particle swarm optimization and ant
colony systems, have received increasing attention in recent years
for their interesting characteristics and their success in solving prob-
lems in a number of realms. In this tutorial, we discuss these meta-
heuristics from a practicer’s point of view. After a brief explanation
of the underlying philosophy and a discussion of the algorithms, de-
tailed implementations in C are given, followed by some implemen-
tation notes and possible alternatives.
The discussion is not intended to be a comprehensive review of re-
lated topics, but a compact guide for implementation, with which
readers can put these meta-heuristics to work and experience their
power in timely fashion. The C programming language was adopted
because of its portability and availability. The coding style is delib-
erately made as accessible as possible, so that interesting readers can
easily transfer the code into any other programming language as pre-
ferred1 .
2 Genetic Algorithms
Based on long-term observation, Darwin asserted his theory of nat-
ural evolution. In the natural world, creatures compete with each
other for limited resources. Those individuals that survive in the
competition have the opportunity to reproduce and generate descen-
dants. In so doing, any exchange of genes may result in superior or
inferior descendants with the process of natural selection eventually
filtering out inferior individuals and retain those adapted best to their
environment.
1
The code segments can be downloaded from
http://kdm.first.flinders.edu.au/IDM/.
Inspired by Darwin’s theory of evolution, Holland (Holland 1975,
Goldberg 1989) introduced the genetic algorithm as a powerful com-
putational model for optimization. Genetic algorithms work on a
population of potential solutions, in the form of chromosomes, and
try to locate a best solution through the process of artificial evolu-
tion, which consist of repeated artificial genetic operations, namely
evaluation, selection, crossover and mutation.
2
, − 5 ≤ x, y < 5 (2)
(x + 2) + (y − 2)2 + 1
2
ELWVIRU[ ELWVIRU\
Figure 2. A binary coding scheme for F1
Step 1 Initialization
Each bit of all N chromosomes in the population is randomly set
to 0 or 1. This operation in effect spreads chromosomes randomly
into the problem domains. Whenever possible, it is suggested to
incorporate any a priori knowledge of the search space into the
initialization process to endow the genetic algorithm with a better
starting point.
Step 2 Evaluation
Each chromosome is decoded and evaluated according to the
given object function. The fitness value, fi , reflects the degree of
success chromosome ci can achieve in its environment.
~xi = D(ci )
fi = F (~xi ) (4)
Step 3 Selection
Chromosomes are stochastically picked to form the population for
the next generation based on their fitness values. The selection is
done by roulette wheel selection with replacement as the follow-
ing:
f SF
P r(ci be selected) = PN i SF (5)
j=1 fj
Step 4 Crossover
Pairs of chromosomes in the newly generated population are sub-
ject to a crossover (or swap) operation with probability PC , called
Crossover Rate. The crossover operator generates new chromo-
somes by exchanging genetic material of pair of chromosomes
across randomly selected sites, as depicted in Figure 3. Similar
to the process of natural breeding, the newly generated chromo-
somes can be better or worse than their parents. They will be
tested in the subsequent selection process, and only those which
are an improvement will thrive.
101
VLWHFURVVRYHU
VLWHFURVVRYHU
Step 5 Mutation
After the crossover operation, each bit of all chromosomes are
subjected to mutation with probability PM , called the Mutation
Rate. Mutation flips bit values and introduces new genetic mater-
ial into the gene pool. This operation is essential to avoid the en-
tire population converging to a single instance of a chromosome,
since crossover becomes ineffective in such situations. In most
applications, the mutation rate should be kept low and acts as a
background operator to prevent genetic algorithms from random
walking.
Step 1 Initialization
Initial pheromone intensities on all edges are set to τ0 .
105
( 1
L
, if (r, s) ∈ route made by ant k;
∆τk (r, s) = k
0, otherwise.
A close inspection on the ant system reveals that the heavy com-
putation required may make it prohibitive in certain applications.
Ant Colony Systems was introduced by Dorigo et al. (Dorigo and
Gambardella 1997) to remedy this difficulty. Ant colony systems dif-
fer from the simpler ant system in the following ways:
Exploitation Mode:
109
• Count only the shortest route in global updating. As all ants com-
plete their circuits, the shortest route found in the current episode
is used in the global updating rule:
τ (r, s) ←− (1 − α) · τ (r, s) + α∆τ (r, s) (11)
(
(Lgb )−1 , if (r, s) ∈ global best route;
∆τ (r, s) =
0, otherwise.
In some respects, the ant system has implemented the idea of emer-
gent computation – a global solution emerges as distributed agents
performing local transactions, which is the working paradigm of
real ants. The success of ant systems in combinatorial optimization
makes it a promising tool for dealing with a large set of problems in
the N P -complete class (Papadimitriou and Steiglitz 1982). In addi-
tion, the work of Wang and Wu (Wang and Wu 2001) has extended
the applicability of ant systems further into continuous search space.
Chu et al. (2003) have proposed a parallel ant colony system, in
which groups of ant colonies explore the search space independently
and exchange their experiences at certain time intervals.
Step 1 Initialization
The velocity and position of all particles are randomly set to
within pre-specified or legal range.
Step 2 Velocity Updating
At each iteration, the velocity of all particles are updated accord-
ing to the following rule:
where p~i and ~νi are the position and velocity of particle i, respec-
tively; p~i,best and ~gbest is the position with the ‘best’ object value
found so far by particle i and the entire population, respectively;
ω is a parameter controlling the dynamics of flying; R1 and R2
are random variables from the range [0, 1]; c1 and c2 are factors
used to control the related weighting of corresponding terms.
The inclusion of random variables endows the particle swarm op-
timization with the ability of stochastic searching. The weight-
111
ing factors, c1 and c2 , compromises the inevitable tradeoff be-
tween exploration and exploitation. After the updating, ~νi should
be checked and clamped to pre-specified range to avoid violent
random walking.
Step 3 Position Updating
Assuming a unit time interval between successive iterations, the
positions of all particles are updated according to the following
rule:
p~i ←− p~i + ~νi (13)
After updating, p~i should be checked and coerced to the legal
range to ensure legal solutions.
Step 4 Memory Updating
Update p~i,best and ~gbest when condition is meet.
p~i,best ←− p~i if f (~pi ) > f (~pi,best ),
~gbest ←− p~i if f (~pi ) > f (~gbest ) (14)
where f (~x) is the object function subject to maximization.
Step 5 Termination Checking
The algorithm repeats Steps 2 to 4 until certain termination
conditions are met, such as pre-defined number of iterations
or a failure to make progress for certain number of iterations.
Once terminated, the algorithm reports the ~gbest and f (~gbest ) as its
solution.
In the tests above, both learning factors, c1 and c2 , are set to a value of
2, and a variable inertia weight w is used according to the suggestion
from Shi and Eberhart (1999). Figure 9 reports the progress of parti-
cle swarm optimization on the test function F2 (x, y) for the first 300
iterations. At the end of 1000 iterations, F2 (−420.97, −420.96) =
837.97 is located, which is close to the global optimum.
Numerous variants had been introduced since the first particle swarm
113
DWKLWHUDWLRQ EWKLWHUDWLRQ
FWKLWHUDWLRQ GWKLWHUDWLRQ
Figure
10. The distribution of particles at different iterations
115
References
Abramson, D. and Abela, J. (1991), “A parallel genetic algorithm for
solving the school timetabling problem,” Technical report, Divi-
sion of Information Technology, CSIRO.
Willis, M.-J., Hiden, H. G., Marenbach, P., McKay, B., and Mon-
tague, G.A. (1997), “Genetic programming: an introduction and
survey of applications,” Proceedings of the Second International
Conference on Genetic Algorithms in Engineering Systems: Inno-
vations and Applications (GALESIA’97), pp. 314-319.
3URJUDP$QLPSOHPHQWDWLRQRIJHQHWLFDOJRULWKPLQ
&ODQJXDJH
LQFOXGHVWGLRK!
LQFOXGHVWGOLEK!
LQFOXGHPDWKK!
GHILQH0*
0D[LPDO1XPEHURI*HQHUDWLRQV
GHILQH1
3RSXODWLRQ6L]H
GHILQH&/
1XPEHURIELWVLQHDFK
FKURPRVRPH
GHILQH6)
6HOHFWLRQ)DFWRU
GHILQH&5
&URVVRYHU5DWH
GHILQH05
0XWDWLRQ5DWH
0DFURIRUUDQGRPQXPEHUEHWZHHQDQG
GHILQH5$1'IORDWUDQGIORDW5$1'B0$;
LQWF>1@>&/@
3RSXODWLRQRI&KURPRVRPHV
IORDWI>1@
)LWQHVV9DOXHRI&KURPRVRPHV
LQWEHVWBF>&/@
%HVW&KURPRVRPH
IORDWEHVWBI
%HVW)LWQHVV9DOXH
'HFRGH&KURPRVRPH
YRLGGHFRGHLQWFKURPRVRPH>&/@IORDW
[IORDW
\
^
LQWM
'HFRGHWKHORZHUELWVIRUYDULDEOH[
[
IRUM M&/M
[
[
FKURPRVRPH>M@
[
[SRZ
'HFRGHWKHXSSHUELWVIRUYDULDEOH\
\
IRUM &/M&/M
119
\
\
FKURPRVRPH>M@
\
\SRZ
`
2EMHFW)XQFWLRQ
IORDWREMHFWIORDW[IORDW\
^
UHWXUQ[
[\
\
[
[\
\[
[\
\
`
YRLGPDLQYRLG
^
LQWLN
,QGH[IRU&KURPRVRPH
LQWM
,QGH[IRU*HQHUDWLRQ
LQWJHQ
,QGH[IRU*HQHUDWLRQ
IORDW[\
,QGHSHQGHQW9DULDEOHV
LQWVLWH
0XWDWLRQ6LWH
IORDWWPSI
LQWWPSL
LQWWPSF>1@>&/@
7HPSRUDU\3RSXODWLRQ
IORDWS>1@
6HOHFWLRQ3UREDELOLW\
6HWUDQGRPVHHG
VUDQG
,QLWLDOL]H3RSXODWLRQ
EHVWBI H
IRUL L1L
^
5DQGRPO\VHWHDFKJHQHWR
RU
IRUM M&/M
LI5$1'
F>L@>M@
HOVH
F>L@>M@
`
5HSHDW*HQHWLF$OJRULWKPF\FOHIRU0*WLPHV
IRUJHQ JHQ0*JHQ
^
(YDOXDWLRQ
IRUL L1L
^
GHFRGHF>L@ [ \
I>L@ REMHFW[\
8SGDWHEHVWVROXWLRQ
LII>L@!EHVWBI
^
EHVWBI I>L@
IRUM M&/M
EHVWBF>M@ F>L@>M@
`
`
6HOHFWLRQ
(YDOXDWH6HOHFWLRQ3UREDELOLW\
WPSI
IRUL L1L
^
S>L@ SRZI>L@6)
WPSI WPSIS>L@
`
IRUL L1L
S>L@ S>L@WPSI
5HWDLQWKHEHVW&KURPRVRPHIRXQGVRIDU
IRUM M&/M
WPSF>@>M@ EHVWBF>M@
5RXOHWWHZKHHOVHOHFWLRQZLWKUHSODFHPHQW
IRUL L1L
^
WPSI 5$1'
IRUN WPSI!S>N@N
WPSI WPSIS>N@
121
&KURPRVRPHNLVVHOHFWHG
IRUM M&/M
WPSF>L@>M@ F>N@>M@
`
&RS\WHPSRUDU\SRSXODWLRQWRSRSXODWLRQ
IRUL L1L
IRUM M&/M
F>L@>M@ WPSF>L@>M@
VLWH&URVVRYHU
IRUL L1L L
LI5$1'&5
^
VLWH 5$1'
&/
IRUM MVLWHM
^
WPSL F>L@>M@
F>L@>M@ F>L@>M@
F>L@>M@ WPSL
`
`
0XWDWLRQ
IRUL L1L
IRUM M&/M
LI5$1'05
)OLSMWKJHQH
F>L@>M@ F>L@>M@
5HSRUW3URJUHVV
SULQWII?QEHVWBI
`
5HSRUW6ROXWLRQ
GHFRGHEHVWBF [ \
SULQWI)II I?Q[\REMHFW[\
`
3URJUDP $Q LPSOHPHQWDWLRQ RI DQW V\VWHP LQ & ODQJXDJH
LQFOXGHVWGLRK!
LQFOXGHVWGOLEK!
LQFOXGHPDWKK!
GHILQH0DS PDSW[W
ILOHQDPHRIFLW\PD
S
GHILQH1XPEHU2I&LW\
QXPEHURIFLWLHV
GHILQH1XPEHU2I$QW
QXPEHURIDQWV
GHILQHDOSKD
SKHURPRQHGHFD\IDFW
RU
GHILQHEHWD
WUDGHRIIIDFWRU
EHWZHHQSKHURPRQHDQGGLVWDQFH
GHILQHWDX
LQLWLDOLQWHQVLW\RI
SKHURPRQH
GHILQH(SLVRGH/LPLW
OLPLWRIHSLVRGH
GHILQH5RXWHURXWHW[W
ILOHQDPHIRUURXWH
PDS
5$1'0DFURIRUUDQGRPQXPEHUEHWZHHQDQG
GHILQH5$1'IORDWUDQGIORDW5$1'B0$;
W\SHGHIVWUXFW^
IORDW[
[FRRUGLQDWH
IORDW\
\FRRUGLQDWH
`&LW\7\SH
W\SHGHIVWUXFW^
LQW URXWH>1XPEHU2I&LW\@
YLVLWLQJVHTXHQFHRIFLWLHV
IORDWOHQJWK
OHQJWKRIURXWH
`5RXWH7\SH
&LW\7\SHFLW\>1XPEHU2I&LW\@
FLW\DUUD\
IORDWGHOWD>1XPEHU2I&LW\@>1XPEHU2I&LW\@
GLVWDQFHPDWUL[
IORDWHWD>1XPEHU2I&LW\@>1XPEHU2I&LW\@
123
ZHLJKWHGYLVLELOLW\PDWUL[
IORDWWDX>1XPEHU2I&LW\@>1XPEHU2I&LW\@
SKHURPRQHLQWHQVLW\PDWUL[
5RXWH7\SH%HVW5RXWH
VKRUWHVWURXWH
5RXWH7\SHDQW>1XPEHU2I$QW@
DQWDUUD\
IORDWS>1XPEHU2I&LW\@
SDWKWDNLQJSURED
ELOLW\DUUD\
LQWYLVLWHG>1XPEHU2I&LW\@
DUUD\IRUYLVLWLQJ
VWDWXV
IORDWGHOWDBWDX>1XPEHU2I&LW\@>1XPEHU2I&LW\@
VXPRIFKDQJHLQWDX
YRLGPDLQYRLG
^
),/(
PDSISU
ILOHSRLQWHUIRUFLW\PDS
LQWUV
LQGLFHVIRUFLWLHV
LQWN
LQGH[IRUDQW
LQWHSLVRGH
LQGH[IRUDQWV\VWHPF\FOH
LQWVWHS
LQGH[IRUURXWLQJVWHS
IORDWWPS
WHPSRUDU\YDULDEOH
),/(
URXWHISU
ILOHSRLQWHUIRUURXWHPDS
6HWUDQGRPVHHG
VUDQG
5HDGFLW\PDS
PDSISU IRSHQ0DSU
IRUU U1XPEHU2I&LW\U
IVFDQIPDSISUII FLW\>U@[ FLW\>U@
\
IFORVHPDSISU
(YDOXDWHGLVWDQFHPDWUL[
IRUU U1XPEHU2I&LW\U
IRUV V1XPEHU2I&LW\V
GHOWD>U@>V@ VTUWFLW\>U@[FLW\>V@[
FLW\>U@[FLW\>V@[FLW\>U@\FLW\>V@\
FLW\>
U@\FLW\>V@\
(YDOXDWHZHLJKWHGYLVLELOLW\PDWUL[
IRUU U1XPEHU2I&LW\U
IRUV V1XPEHU2I&LW\V
LIU V
HWD>U@>V@ SRZGHOWD>U@>V@
EHWD
HOVH
HWD>U@>V@
,QLWLDOL]HSKHURPRQHRQHGJHV
IRUU U1XPEHU2I&LW\U
IRUV V1XPEHU2I&LW\V
WDX>U@>V@ WDX
,QLWLDOL]HEHVWURXWH
%HVW5RXWHURXWH>@
%HVW5RXWHOHQJWK
IRUU U1XPEHU2I&LW\U
^
%HVW5RXWHURXWH>U@ U
%HVW5RXWHOHQJWK GHOWD>U@>U@
`
%HVW5RXWHOHQJWK GHOWD>1XPEHU2I&LW\@>@
5HSHDWDQWV\VWHPF\FOHIRU(SLVRGH/LPLWWLPHV
IRUHSLVRGH HSLVRGH(SLVRGH/LPLWHSLVRGH
^
,QLWLDOL]HDQWV
VWDUWLQJFLW\
IRUN N1XPEHU2I$QWN
DQW>N@URXWH>@ 5$1'
1XPEHU2I&LW\
125
/HWDOODQWVSURFHHGIRU1XPEHU2I&LW\VWHSV
IRUVWHS VWHS1XPEHU2I&LW\VWHS
^
IRUN N1XPEHU2I$QWN
^
(YDOXDWHSDWKWDNLQJSUREDELOLW\
DUUD\IRUDQWNDWFXUUHQWWLPHVWHS
U DQW>N@URXWH>VWHS@
&OHDUYLVLWHGOLVWRIDQWN
IRUV V1XPEHU2I&LW\V
YLVLWHG>V@
0DUNYLVLWHGFLWLHVRIDQWN
IRUV VVWHSV
YLVLWHG>DQW>N@URXWH>V@@
WPS
IRUV V1XPEHU2I&LW\V
LIYLVLWHG>V@
S>V@
HOVH
^
S>V@ WDX>U@>V@
HWD>U@
>V@
WPS S>V@
`
IRUV V1XPEHU2I&LW\V
S>V@ WPS
3UREDELOLVWLFDOO\SLFNXSQH[W
HGJHE\URXOHWWHZKHHOVHOHFWLRQ
WPS 5$1'
IRUV WPS!S>V@V
WPS S>V@
DQW>N@URXWH>VWHS@ V
`
`
8SGDWHSKHURPRQHLQWHQVLW\
5HVHWPDWUL[IRUVXPRIFKDQJHLQWDX
IRUU U1XPEHU2I&LW\U
IRUV V1XPEHU2I&LW\V
GHOWDBWDX>U@>V@
IRUN N1XPEHU2I$QWN
^
(YDOXDWHURXWHOHQJWK
DQW>N@OHQJWK
IRUU U1XPEHU2I&LW\U
DQW>N@OHQJWK GHOWD>DQW>N@
URXWH>U@@
>DQW>N@URXWH>U@@
DQW>N@OHQJWK GHOWD>DQW>N@URXWH
>1XPEHU2I&LW\@@>DQW>N@URXWH>@@
(YDOXDWHFRQWULEXWHGGHOWDBWDX
IRUU U1XPEHU2I&LW\U
GHOWDBWDX>DQW>N@URXWH>U@@>DQW>N@
URXWH>U@@ DQW>N@OHQJWK
GHOWDBWDX>DQW>N@URXWH>1XPEHU2I&LW\
@@>DQW>N@
URXWH>@@ DQW>N@OHQJWK
8SGDWHEHVWURXWH
LIDQW>N@OHQJWK%HVW5RXWHOHQJWK
^
%HVW5RXWHOHQJWK DQW>N@OHQJWK
IRUU U1XPEHU2I&LW\U
%HVW5RXWHURXWH>U@ DQW>N@
URXWH>U@
`
`
8SGDWHSKHURPRQHPDWUL[
IRUU U1XPEHU2I&LW\U
IRUV V1XPEHU2I&LW\V
127
WDX>U@>V@ DOSKD
WDX>U@>V@
GHOWDBWDX>U@>V@
SULQWIGI?QHSLVRGH%HVW5RXWHOHQJWK
`
:ULWHURXWHPDS
URXWHISU IRSHQ5RXWHZ
IRUU U1XPEHU2I&LW\U
ISULQWIURXWHISUII?QFLW\>%HVW5RXWH
URXWH>U@@[FLW\>%HVW5RXWHURXWH>U@@\
IFORVHURXWHISU
`
6DPSOH GDWD PDSW[W IRU 3URJUDP
3URJUDP$QLPSOHPHQWDWLRQRISDUWLFOHVZDUPRSWLPL
]DWLRQLQ&ODQJXDJH
LQFOXGHVWGLRK!
LQFOXGHVWGOLEK!
LQFOXGHPDWKK!
GHILQH,WHUDWLRQ/LPLW
0D[LPDO1XPEHURI,
WHUDWLRQ
GHILQH3RSXODWLRQ6L]H
3RSXODWLRQ6L]H
1XPEHURI3DUWLFOHV
GHILQH'LPHQVLRQ
'LPHQVLRQRI6HDUFK
6SDFH
GHILQHZ8
8SSHU%RXQGRI,QHU
WLD:HLJKW
GHILQHZ/
/RZHU%RXQGRI,QHU
WLD:HLJKW
GHILQHF
$FFHOHUDWLRQ)DFWRU
GHILQHF
$FFHOHUDWLRQ)DFWRU
GHILQH9PD[
0D[LPDO9HORFLW\
GHILQH5$1'IORDWUDQGIORDW5$1'B
0$;
W\SHGHIVWUXFW^
IORDW[>'LPHQVLRQ@
3RVLWLRQ
IORDWY>'LPHQVLRQ@
9HORFLW\
IORDWILWQHVV
)LWQHVV
IORDWEHVWB[>'LPHQVLRQ@
,QGLYLGXDO%HVW
6ROXWLRQ
IORDWEHVWBILWQHVV
,QGLYLGXDO%HVW
)LWQHVV
`3DUWLFOH7\SH
129
3DUWLFOH7\SH S>3RSXODWLRQ6L]H@
3DUWLFOH
$UUD\
IORDW JEHVWB[>'LPHQVLRQ@
*OREDO
%HVW6ROXWLRQ
IORDW JEHVWBILWQHVV
*OREDO
%HVW)LWQHVV
6FKZHIHO)XQFWLRQ
IORDW6FKZHIHOIORDW[>'LPHQVLRQ@
^
LQWL
IORDWWPS
WPS
IRUL L'LPHQVLRQL
WPS
[>L@
VLQVTUWIDEV[>L@
UHWXUQWPS
`
YRLGPDLQYRLG
^
LQWL
,QGH[IRU3DUWLFOH
LQWG
,QGH[IRU'LPHQVLRQ
IORDWZ
,QHUWLD:HLJKW
LQWVWHS
,QGH[IRU362F\FOH
6HWUDQGRPVHHG
VUDQG
,QLWLDOL]HSDUWLFOHV
JEHVWBILWQHVV H
IRUL L3RSXODWLRQ6L]HL
^
IRUG G'LPHQVLRQG
^
S>L@[>G@ S>L@EHVWB[>G@ 5$1'
S>L@Y>G@ 5$1'
`
S>L@ILWQHVV S>L@EHVWBILWQHVV 6FKZHIHOS>L@
[
8SGDWHJEHVW
LIS>L@EHVWBILWQHVV!JEHVWBILWQHVV
^
IRUG G'LPHQVLRQG
JEHVWB[>G@ S>L@EHVWB[>G@
JEHVWBILWQHVV S>L@EHVWBILWQHVV
`
`
5HSHDW362F\FOHIRU,QWHUDWLRQ/LPLWWLPHV
IRUVWHS VWHS,WHUDWLRQ/LPLWVWHS
^
Z Z8Z8Z/
IORDWVWHSIORDW,WHUDWLRQ/LPLW
IRUL L3RSXODWLRQ6L]HL
^
IRUG G'LPHQVLRQG
^
S>L@Y>G@ Z
S>L@Y>G@F
5$1'
S>L@
EHVWB[>G@S>L@[>G@F
5$1'
JEHVWB[>G@S>L@[>G@
LIS>L@Y>G@!9PD[S>L@Y>G@ 9PD[
LIS>L@Y>G@9PD[S>L@Y>G@ 9PD[
S>L@[>G@ S>L@[>G@S>L@Y>G@
LIS>L@[>G@!S>L@[>G@
LIS>L@[>G@S>L@[>G@
`
S>L@ILWQHVV 6FKZHIHOS>L@[
8SGDWHSEHVW
LIS>L@ILWQHVV!S>L@EHVWBILWQHVV
^
IRUG G'LPHQVLRQG
S>L@EHVWB[>G@ S>L@[>G@
S>L@EHVWBILWQHVV S>L@ILWQHVV
131
8SGDWHJEHVW
LIS>L@EHVWBILWQHVV!JEHVWBILWQHVV
^
IRUG G'LPHQVLRQG
JEHVWB[>G@ S>L@EHVWB[>G@
JEHVWBILWQHVV S>L@EHVWB
ILWQHVV
`
`
`
SULQWII?QJEHVWBILWQHVV
`
`