Upload
thiagoblin
View
28
Download
0
Embed Size (px)
DESCRIPTION
tutorial do brkga, um algoritmo de busca baseado no algoritmo genético, porém totalmente aleatório.
Citation preview
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
1/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
T
utorial given at CLAIO/SBPO 2012
Rio e !aneiro" Bra#il September 2012
Bia$e ranom%&e' geneti(
algorit)m$* A tutorial
+auri(io G, C, Re$eneAT-T Lab$ Re$ear()
.lor)am Par&" e !er$e'
mg(rre$ear(),att,(om
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
2/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
AT-T S)annon Laborator'.lor)am Par&" e !er$e'
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
3/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Summar'* a' 1
3 Ba$i( (on(ept$ o4 (ombinatorial an (ontinuou$ global optimi#ation3 Ba$i( (on(ept$ o4 geneti( algorit)m$
3 Ranom%&e' geneti( algorit)m o4 Bean 516678
3 Bia$e ranom%&e' geneti( algorit)m$ 5BRKGA8
9 :n(oing / e(oing
9 Initial population
9 :volutionar' me()ani$m$
9 Problem inepenent / problem epenent (omponent$
9 +ulti%$tart $trateg'
9 Re$tart $trateg'
9 +ulti%population $trateg'
9 Spe(i4'ing a BRKGA
3 Appli(ation programming inter4a(e 5API8 4or BRKGA
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
4/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Summar'* a' 2
3 Appli(ation$ o4 BRKGA9 Set (overing
9 Pa(&ing re(tangle$
9 Pa(&et routing on t)e Internet
9 ;anover minimi#ation in mobilit' netor&$
9 Continuou$ global optimi#ation
3 Overvie o4 literature - (on(luing remar&$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
5/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial an
Continuou$ GlobalOptimi#ation
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
6/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial Optimi#ation
Combinatorial optimi#ation*pro(e$$ o4 4ining t)e
be$t" or optimal" $olution 4or problem$ it) a i$(rete $eto4 4ea$ible $olution$,
Appli(ation$*routing" $()euling" pa(&ing" inventor' anprou(tion management" lo(ation" logi(" an a$$ignment o4
re$our(e$" among man' ot)er$,
:(onomi( impa(t*tran$portation 5airline$" tru(&ing" rail"an $)ipping8" 4ore$tr'" manu4a(turing" logi$ti($" aero$pa(e"energ' 5ele(tri(al poer" petroleum" an natural ga$8"
agri(ulture" biote()nolog'" 4inan(ial $ervi(e$" antele(ommuni(ation$" among man' ot)er$,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
7/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial Optimi#ation
Given*
i$(rete $et o4 4ea$ible $olution$ 8* > < * 45>8 ? 45'8" ' a(tl'an
reuire goo $olution met)o$,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
9/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial Optimi#ation
Appro>imation algorit)m$are guarantee to4in in pol'nomial%time a $olution it)in a
given 4a(tor o4 t)e optimal,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
10/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial Optimi#ation
Appro>imation algorit)m$are guarantee to4in in pol'nomial%time a $olution it)in a
given 4a(tor o4 t)e optimal,
Sometime$ t)e 4a(tor i$ too big" i,e, guarantee$olution$ ma' be 4ar 4rom optimal
Some optimi#ation problem$ 5e,g, ma> (liue"
(overing b' pair$8 (annot )ave appro>imation$()eme$unle$$ PP
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
11/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Combinatorial Optimi#ation
Aim o4 )euri$ti( met)o$4or (ombinatorialoptimi#ation i$ to ui(&l'prou(e goo%
ualit' $olution$" it)outne(e$$aril'
proviing an' guaranteeo4 $olution ualit',
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
12/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Continuou$ Global Optimi#ation
Given*
(ontinuou$ $et o4 4ea$ible $olution$ 8* > < * 45>8 ? 45'8" ' < * 45>8 ? 45'8" ' 8 (an be ell%be)ave or
not" e,g, it (an be
non%(onve>" i$(ontinuou$"non%i44erentiable" a bla(&%bo>"
et(,
Continuou$ Bo>%Con$traine Global
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
14/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Continuou$ Bo>%Con$traine Global
Optimi#ation
;ere" t)e (ontinuou$ $et o4 $olution$
< l1"u1D l2"u2D ln"unDi$ a )'per%re(tangle" i,e, variable$ )ave loer an
upper boun$,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
15/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
+eta)euri$ti($
+eta)euri$ti($are )euri$ti($ to evi$e )euri$ti($,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
16/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
+eta)euri$ti($
+eta)euri$ti($are )ig) level pro(eure$ t)at (oorinate$imple )euri$ti($" $u() a$ lo(al $ear()" to 4in $olution$ t)at
are o4 better ualit' t)an t)o$e 4oun b' t)e $imple )euri$ti($
alone,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
17/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
+eta)euri$ti($
+eta)euri$ti($are )ig) level pro(eure$ t)at (oorinate$imple )euri$ti($" $u() a$ lo(al $ear()" to 4in $olution$ t)at
are o4 better ualit' t)an t)o$e 4oun b' t)e $imple )euri$ti($
alone,
:>ample$*GRASP an C%GRASP" $imulate annealing"geneti( algorit)m$" tabu $ear()" $(atter $ear()" ant (olon'
optimi#ation" variable neig)bor)oo $ear()" an bia$e
ranom%&e' geneti( algorit)m$ 5BRKGA8,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
18/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
19/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$
Iniviual* $olution
Aaptive met)o$ t)at are u$e to $olve $ear()
an optimi#ation problem$,
;ollan 516EF8
G i l i )
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
20/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$
Iniviual* $olution 5()romo$ome $tring o4 gene$8
Population* $et o4 4i>e number o4 iniviual$
G ti l it)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
21/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$ evolve population appl'ingarin$ prin(iple o4 $urvival o4 t)e 4itte$t,
Geneti( algorit)m$
G ti l it)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
22/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$ evolve population appl'ingarin$ prin(iple o4 $urvival o4 t)e 4itte$t,
A $erie$ o4 generation$ are prou(e b'
t)e algorit)m, T)e mo$t 4it iniviual o4 t)e
la$t generation i$ t)e $olution,
Geneti( algorit)m$
G ti l it)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
23/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Geneti( algorit)m$ evolve population appl'ingarin$ prin(iple o4 $urvival o4 t)e 4itte$t,
A $erie$ o4 generation$ are prou(e b'
t)e algorit)m, T)e mo$t 4it iniviual o4 t)e
la$t generation i$ t)e $olution,
Iniviual$ 4rom one generation are (ombine
to prou(e o44$pring t)at ma&e up ne>t
generation,
Geneti( algorit)m$
Geneti( algorit)m$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
24/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Probabilit' o4 $ele(ting iniviual to mate
i$ proportional to it$ 4itne$$* $urvival o4 t)e
4itte$t,
a
b
Geneti( algorit)m$
Geneti( algorit)m$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
25/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a
b
Parent$ ran 4rom
generation K
(
C)il in
generation KH1
Probabilit' o4 $ele(ting iniviual to mate
i$ proportional to it$ 4itne$$* $urvival o4 t)e
4itte$t,
Geneti( algorit)m$
a
b
Combine
parent$(
mutation
C t ti
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
26/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Cro$$over an mutation
a
b
Combine
parent$(
mutation
C v t ti
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
27/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Cro$$over an mutation
a
b
Combine
parent$(
mutation
Cro$$over* Combine$ parent$ @ pa$$ing along to o44$pring
()ara(teri$ti($ o4 ea() parent @
Inten$i4i(ation o4 $ear()
Cro$$over an mutation
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
28/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Cro$$over an mutation
a
b
Combine
parent$(
mutation
+utation* Ranoml' ()ange$ ()romo$ome o4 o44$pring ,,,
river o4 evolutionar' pro(e$$ ,,,
iver$i4i(ation o4 $ear()
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
29/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
30/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
31/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
32/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
33/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
34/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:volution o4 $olution$
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
35/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:v
:volution o4 $olution$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
36/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
37/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:n(oing $olution$
it) ranom &e'$
:n(oing it) ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
38/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:n(oing it) ranom &e'$
3 A ranom &e' i$ a real ranom number in t)e(ontinuou$ interval 0"18,
:n(oing it) ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
39/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
g '
3 A ranom &e' i$ a real ranom number in t)e(ontinuou$ interval 0"18,
3 A ve(tor
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
40/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
g '
3 A ranom &e' i$ a real ranom number in t)e(ontinuou$ interval 0"18,
3 A ve(tor
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
41/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
g '
3 A ranom &e' i$ a real ranom number in t)e(ontinuou$ interval 0"18,
3 A ve(tor
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
42/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:n(oing
1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
:n(oing it) ranom &e'$* Seuen(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
43/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:n(oing
1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
e(oe b' $orting ve(tor o4 ranom &e'$ 1" 2" 7" F" D
< 0,066" 0,21J" 0,J" 0,JF" 0,02 D
:n(oing it) ranom &e'$* Seuen(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
44/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:n(oing
1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
e(oe b' $orting 1" 2" 7" F" D
< 0,066" 0,21J" 0,J" 0,JF" 0,02 D
T)ere4ore" t)e ve(tor o4 ranom &e'$*
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
en(oe$ t)e $euen(e*19 2 9 7 9 F 9
:n(oing it) ranom &e'$* Sub$et
$ele(tion 5$ele(t o4 F element$8
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
45/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
$ele(tion 5$ele(t o4 F element$8
:n(oing 1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
e(oe b' $orting ve(tor o4 ranom &e'$
:n(oing it) ranom &e'$* Sub$et$ele(tion 5$ele(t o4 F element$8
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
46/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
$ele(tion 5$ele(t o4 F element$8
:n(oing 1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
e(oe b' $orting ve(tor o4 ranom &e'$ 1" 2" 7" F" D
< 0,066" 0,21J" 0,J" 0,JF" 0,02 D:n(oing
e(oe b' $orting ve(tor o4 ranom &e'$
:n(oing it) ranom &e'$* Sub$et$ele(tion 5$ele(t o4 F element$8
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
47/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
$ele(tion 5$ele(t o4 F element$8
:n(oing 1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
e(oe b' $orting ve(tor o4 ranom &e'$ 1" 2" 7" F" D
< 0,066" 0,21J" 0,J" 0,JF" 0,02 D:n(oing
T)ere4ore" t)e ve(tor o4 ranom &e'$*
< 0,066" 0,21J" 0,02" 0,J" 0,JF D
en(oe$ t)e $ub$et*1" 2" 7 M
:n(oing it) ranom &e'$* A$$igning integer
eig)t$ 0"10D to a $ub$et o4 o4 F element$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
48/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
eig)t$ 0"10D to a $ub$et o4 o4 F element$
:n(oing 1" 2" " 7" F N 1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF N0,7J7" 0,FJ11" 0,2EF2" 0,7E7" 0,07 D
:n(oing it) ranom &e'$* A$$igning integer
eig)t$ 0"10D to a $ub$et o4 o4 F element$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
49/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
g "1 D
:n(oing 1" 2" " 7" F N 1" 2" " 7" F D
< 0,066" 0,21J" 0,02" 0,J" 0,JF N0,7J7" 0,FJ11" 0,2EF2" 0,7E7" 0,07 D
e(oe b' $orting t)e 4ir$t F &e'$an a$$ign a$ t)e eig)t t)e value
i floor 10 e(oer$" e,g, t)o$e )i() )ave a lo(al
$ear() moule,
originalp)a$e 1
lo(al
$ear()4ea$ible l l
C)romo$omea=u$tment
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
52/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
original
ranom &e' ve(toro4
e(oer
$ear()
o4
e(oer
4ea$ible
$olution
e(oer
a=u$te
ranom &e' ve(tor
p)a$e 1
o4e(oer
lo(al
$ear()
o4
e(oer
lo(al
optimum lo(aloptimum
e(oer
a=u$te
ranom &e' ve(tor
lo(al
optimum
lo(al
optimum
()romo$ome a=u$tment
original
ranom &e' ve(tor
Flow 1 2 3 Dist 1 2 3
uarati( a$$ignment problem C)romo$omea=u$tment
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
53/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
1 20 30
2 20 40
3 30 40
1 10 1
2 10 5
3 1 5
original
ranom &e' ve(tor*
5 ," ,1" ,E2 8
p)a$e 1o4
e(oer
12 21
(o$t 451"28 5"28 H 451"8 5"18 H
452"8 52"18 100 H 0 H 700 F0
12 21
lo(al$ear()
o4
e(oer
12 1 2
lo(al $ear() $appe lo(ation$ o4
4a(ilitie$ 1 an 2" re$ulting in(o$t 200
a=u$te
ranom &e' ve(tor*
5 ,1" ," ,E28
Flow 1 2 3 Dist 1 2 3
uarati( a$$ignment problem C)romo$omea=u$tment
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
54/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
1 20 30
2 20 40
3 30 40
1 10 1
2 10 5
3 1 5
a=u$te
ranom &e' ve(tor*
5 ,1" ," ,E2 8
p)a$e 1o4
e(oer
12 1 2
(o$t 451"28 52"8 H 451"8 52"18 H
452"8 5"18 100 H J0 H 70 200
Flow 1 2 3 Dist 1 2 3
uarati( a$$ignment problem C)romo$omea=u$tment
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
55/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
1 20 30
2 20 40
3 30 40
1 10 1
2 10 5
3 1 5
a=u$te
ranom &e' ve(tor*
5 ,1" ," ,E2 8
p)a$e 1o4
e(oer
12 1 2
(o$t 451"28 52"8 H 451"8 52"18 H
452"8 5"18 100 H J0 H 70 200
ot onl' i$ e>pen$ive lo(al $ear() avoie @C)ara(teri$ti($ o4 lo(al optimum are pa$$e on to 4uture
generation$ @, T)e' ill be repre$ente in t)e population b'
a=u$te ranom &e' ve(tor,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
56/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
Geneti( algorit)m$
an ranom &e'$
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
57/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
3 Introu(e b' Bean 516678
4or $euen(ing problem$,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
58/520
CLAIO/SBPO 2012
September 2012 BRKGA tutorial
3 Introu(e b' Bean 516678
4or $euen(ing problem$,
3 Iniviual$ are $tring$ o4
real%value number$5ranom &e'$8 in t)e
interval 0"1D,
S 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8
$518 $528 $58 $578 $5F8
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
59/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
3 Introu(e b' Bean 516678
4or $euen(ing problem$,
3 Iniviual$ are $tring$ o4
real%value number$5ranom &e'$8 in t)e
interval 0"18,
3 Sorting ranom &e'$ re$ult$in a $euen(ing orer,
S 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8
$518 $528 $58 $578 $5F8
S 5 0,0F" 0,16" 0,2F" 0,JE" 0,6 8
$578 $528 $518 $58 $5F8
Seuen(e* 7 9 2 9 1 9 9 F
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
60/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
3 +atingi$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
61/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e
(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
62/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e
(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
63/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e
(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
64/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F" 0,60 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
65/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F" 0,60" 0,EJ 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
66/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,6 8b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F" 0,60" 0,EJ" 0,0F 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
67/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,68b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F" 0,60" 0,EJ" 0,0F" 0,6 8
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
68/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
a 5 0,2F" 0,16" 0,JE" 0,0F" 0,68b 5 0,J" 0,60" 0,EJ" 0,6" 0,0 8
( 5 0,2F" 0,60" 0,EJ" 0,0F" 0,6 8
I4 ever' ranom%&e' arra' (orre$pon$
to a 4ea$ible $olution* +ating ala'$prou(e$ 4ea$ible o44$pring,
3 +ating i$ one u$ing
parametri#e uni4orm
(ro$$over 5Spear$ - e!ong " 16608
3 .or ea() gene" 4lip a bia$e(oin to ()oo$e )i()
parent pa$$e$ t)e allele
5&e'" or value o4 gene8 tot)e ()il,
GA$ an ranom &e'$
Initial population i$ mae up o4 P
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
69/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Initial populationi$ mae up o4 P
ranom%&e' ve(tor$" ea() it)
&e'$" ea() )aving a value
generate uni4orml' at ranom in
t)e interval 0"18,
GA$ an ranom &e'$
At t)e K%t) generation"Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
70/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
(ompute t)e (o$t o4 ea()$olution ,,, :lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
At t)e K%t) generation"Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
71/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
(ompute t)e (o$t o4 ea()$olution an partition t)e
$olution$ into to $et$*
:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
At t)e K%t) generation"Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
72/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
(ompute t)e (o$t o4 ea()$olution an partition t)e
$olution$ into to $et$*
elite $olution$an non%elite$olution$,
:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
At t)e K%t) generation"Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
73/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
(ompute t)e (o$t o4 ea()$olution an partition t)e
$olution$ into to $et$*
elite $olution$an non%elite$olution$, :lite $et $)oul
be $maller o4 t)e to $et$
an (ontain be$t $olution$,
:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
:volutionar' 'nami($Population K Population KH1
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
74/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
:volutionar' 'nami($Population KH1Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
75/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Cop' elite $olution$ 4rom populationK to population KH1
:lite $olution$:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
:volutionar' 'nami($
Population KH1Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
76/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Cop' elite $olution$ 4rom populationK to population KH1
9 A R ranom $olution$ 5mutant$8
to population KH1
:lite $olution$
+utant
$olution$
:lite $olution$
on%elite
$olution$
GA$ an ranom &e'$
:volutionar' 'nami($
Population KH1Population K
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
77/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Cop' elite $olution$ 4rom populationK to population KH1
9 A R ranom $olution$ 5mutant$8
to population KH1
9 )ile KH1%t) population Q P3 RAO+%K: GA*$e an' to
$olution$ in population Kto prou(e
()il in population KH1, +ate$ are
()o$en at ranom,
:lite $olution$
+utant
$olution$
t population
Generate mutant$ inne>t population
Combine elite an
non%elite $olution$an a ()ilren to
ne>t population
no
$top
'e$
.rameor& 4or bia$e ranom%&e' geneti( algorit)m$
Generate P ve(tor$
o4 ranom &e'$
e(oe ea() ve(tor
o4 ranom &e'$
Problem inepenent
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
94/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Stopping rule
$ati$4ieU
Sort $olution$ b'
t)eir (o$t$
Cla$$i4' $olution$ a$
elite or non%elite
Cop' elite $olution$to ne>t population
Generate mutant$ inne>t population
Combine elite an
non%elite $olution$an a ()ilren to
ne>t population
$top
Problem inepenent
no 'e$
.rameor& 4or bia$e ranom%&e' geneti( algorit)m$
Generate P ve(tor$
o4 ranom &e'$
e(oe ea() ve(tor
o4 ranom &e'$
Problem inepenent
Problem epenent
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
95/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Stopping rule
$ati$4ieU
Sort $olution$ b'
t)eir (o$t$
Cla$$i4' $olution$ a$
elite or non%elite
Cop' elite $olution$to ne>t population
Generate mutant$ inne>t population
Combine elite an
non%elite $olution$an a ()ilren to
ne>t population
$top
Problem inepenent
no 'e$
e(oing o4 ranom &e' ve(tor$ (an be one in parallel
Generate P ve(tor$
o4 ranom &e'$
e(oe ea() ve(tor
o4 ranom &e'$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
96/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Stopping rule
$ati$4ieU
Sort $olution$ b'
t)eir (o$t$
Cla$$i4' $olution$ a$
elite or non%elite
Cop' elite $olution$to ne>t population
Generate mutant$ inne>t population
Combine elite an
non%elite $olution$an a ()ilren to
ne>t population
$top
no 'e$
BRKGA in multi%$tart $trateg'
t i
output
in(umbent$top
'e$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
97/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Generate P ve(tor$o4 ranom &e'$
e(oe ea() ve(tor
o4 ranom &e'$
Re$tart rule
$ati$4ieU
Sort $olution$ b'
t)eir (o$t$
Cla$$i4' $olution$ a$
elite or non%elite
Cop' elite $olution$
to ne>t population
Generate mutant$ in
ne>t population
Combine elite an
non%elite $olution$
an a ()ilren to
ne>t population
no
'e$
begin
i4 in(umbent
improve" upate
in(umbent
$topping
rule
$ati$4ie U
no
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
98/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Ranomi#e )euri$ti( iteration
(ount i$tribution* (on$tru(teb' inepenentl' running t)e
algorit)m a number o4 time$" ea()
time $topping )en t)e algorit)m
4in$ a $olution at lea$t a$ goo a$ a
given target,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
99/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
In mo$t o4 t)e inepenent run$" t)e algorit)m 4in$ t)e target $olution in
relativel' 4e iteration$*
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
100/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
In mo$t o4 t)e inepenent run$" t)e algorit)m 4in$ t)e target $olution in
relativel' 4e iteration$* 2FV o4 t)e run$ ta&e 4eer t)an 101 iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
101/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
In mo$t o4 t)e inepenent run$" t)e algorit)m 4in$ t)e target $olution in
relativel' 4e iteration$* F0V o4 t)e run$ ta&e 4eer t)an 162 iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
102/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
In mo$t o4 t)e inepenent run$" t)e algorit)m 4in$ t)e target $olution in
relativel' 4e iteration$* EFV o4 t)e run$ ta&e 4eer t)an 7F iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
103/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
;oever" $ome run$ ta&e mu() longer* 10V o4 t)e run$ ta&e over 1000
iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
104/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
;oever" $ome run$ ta&e mu() longer* FV o4 t)e run$ ta&e over 2000
iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
105/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
;oever" $ome run$ ta&e mu() longer* 2V o4 t)e run$ ta&e over 6E1F
iteration$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
106/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
;oever" $ome run$ ta&e mu() longer* t)e longe$t run too& 11J0E
iteration$
Probabilit' t)at algorit)m ill ta&e
over 7F iteration$* 2FV 1/7
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
107/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Probabilit' t)at algorit)m ill ta&e
over 7F iteration$* 2FV 1/7
B' re$tarting algorit)m a4ter 7F
iteration$" probabilit' t)at ne runill ta&e over J60 iteration$* 2FV
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
108/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
1/7
Probabilit' t)at algorit)m it)
re$tart ill ta&e over J60iteration$*probabilit' o4 ta&ing over 7F ample" probabilit' t)atalgorit)m it) re$tart ill $till be
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
111/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
algorit)m it) re$tartill $till be
running a4ter 1E2Fiteration$ 5F
perio$ o4 7Fiteration$8* 1/7F 0,06EEV
T)i$ i$ mu() le$$ t)an t)eFV
probabilit' t)at t)e algorit)m
it)out re$tartill ta&e over2000
iteration$,
Re$tart $trategie$
3 .ir$t propo$e b' Lub' et al,51668
3 T)e' e4ine a re$tart $trateg' a$ a 4inite $euen(e
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
112/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
' g'
o4 time interval$ S 1"
2"
3" @ M)i() e4ine
epo()$ 1" 1H2" 1H2H3" @)en t)ealgorit)m i$ re$tarte 4rom $(rat(),
3 Lub' et al, 51668 prove t)at t)e optimal re$tart
$trateg' u$e$ 1 2 3
*")ere *i$ a(on$tant,
Re$tart $trategie$
3 Lub' et al, 51668
3 Kaut# et al, 520028
3 Palube(&i$ 520078
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
113/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
3 Palube(&i$ 520078
3 Sergien&o et al, 520078
3 oi(&i - Smutni(&i 5200F8
3 WApu##o et al, 5200J8
3 S)'lo et al, 52011a8
3 S)'lo et al, 52011b8
3 Re$ene - Ribeiro 520118
Re$tart $trateg' 4or BRKGA
3 Re(all t)e re$tart $trateg' o4 Lub' et al, )ere eual time
interval$ 1 2 3 * pa$$ beteen re$tart$,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
114/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
3 Strateg' reuire$ * a$ input,
3 Sin(e e )ave no prior in4ormation a$ to t)e runtime
i$tribution o4 t)e )euri$ti(" e run t)e ri$& o4*9 ()oo$ing * too $mall* re$tart variant ma' ta&e long to
(onverge
9 ()oo$ing * too big* re$tart variant ma' be(ome li&e no%re$tart variant
Re$tart $trateg' 4or BRKGA
3 e (on=e(ture t)at number o4 iteration$ beteen
improvement o4 t)e in(umbent5be$t $o 4ar8 $olutionvarie$ le$$ r t )euri$ti(/ in$tan(e/ target t)an run
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
115/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
varie$ le$$ ,r,t, )euri$ti(/ in$tan(e/ target t)an run
time$,
3 e propo$e t)e 4olloing re$tart $trateg'*Keep tra(& o4t)e la$t generation )en t)e in(umbent improve an
re$tart BRKGA i4 Kgeneration$ )ave gone b' it)out
improvement,
3 e (all t)i$ $trateg' re$tart5K8
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
Given an orere $euen(e o4 1027 integer$ p0D" p1D" @" p102D
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
116/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Pla(e (on$e(utive number$ in 2 bu(&et$ b0D" b1D" @" b1D
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
117/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
b0D b1D b2D bD b7D b26D b0D b1D
A t)e number$ in ea() bu(&et b0D" b1D" @" b1D
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
118/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
b0D b1D b2D bD b7D b26D b0D b1D
p p p p p p p p
Pla(e t)e bu(&et$ in 1J bin$ B0D" B1D" @" B1FD
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
119/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
b0D b1D b2D bD b7D b26D b0D b1D
p pp
pp
p
pp
B0D B1D B2D B1FD
A up t)e number$ in ea() bin B0D" B1D" @" B1FD
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
120/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
b0D b1D b2D bD b7D b26D b0D b1D
p pp
pp
p
pp
B0D B1D B2D B1FD
T0D=(p) T1D=(p) T2D=(p) T1FD=(p)
OB!:CTIX:* +inimi#e +a>imum 5T0D" T1D" @" T1FD8 M
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
121/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
b0D b1D b2D bD b7D b26D b0D b1D
p pp
pp
p
pp
B0D B1D B2D B1FD
T0D=(p) T1D=(p) T2D=(p) T1FD=(p)
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
:n(oing
< >1D" >2D" @" >2D N >2H1D" >2H2D" @" >2H1JD D
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
122/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
e(oing
>1D" >2D" @" >2D are u$e to e4ine brea& point$ 4or bu(&et$
>2H1D" >2H2D" @" >2H1JD are u$e to etermine to
)i() bin$ t)e bu(&et$ are a$$igne
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
:n(oing
< >1D" >2D" @" >2D N >2H1D" >2H2D" @" >2H1JD D
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
123/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
e(oing
>1D" >2D" @" >2D are u$e to e4ine brea& point$ 4or bu(&et$Si#e o4 bu(&et i 4loor 51027 >iD/5>1DH>2DHH>2D88" i1",,,"1F
Si#e o4 bu(&et 1J 1027 9 $um o4 $i#e$ o4 4ir$t 1F bu(&et$
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
:n(oing
< >1D" >2D" @" >2D N >2H1D" >2H2D" @" >2H1JD D
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
124/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
e(oing
>1D" >2D" @" >2D are u$e to e4ine brea& point$ 4or bu(&et$
>2H1D" >2H2D" @" >2H1JD are u$e to etermine to
)i() bin$ t)e bu(&et$ are a$$igne
Bin t)at bu(&et ii$ a$$igne to 4loor 51J >2HiD8 H 1
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
e(oing 5Lo(al $ear() p)a$e8
9 while5t)ere e>i$t$ a bu(&et in t)e mo$t loae bin t)at
(an be move to anot)er bin an not in(rea$e t)e
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
125/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
ma>imum loa8 then
3 move t)at bu(&et to t)at bin9 end while
+a&e ne(e$$ar' ()romo$ome a=u$tment$ to la$t 1J
ranom &e'$ o4 ve(tor o4 ranom &e'$ to re4le(t ()ange$
mae in lo(al $ear() p)a$e* A or $ubtra(t an integervalue 4rom ()romo$ome o4 bu(&et t)at move to ne bin,
:>ample o4 re$tart $trateg' 4or BRKGA* Loa balan(ing
re$tart $trateg'*re$tart520008 no re$tart
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
126/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
BRKGA it) p parallel population$
evolve evolve evolve evolve
HHgen
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
127/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
evolve
pop 1
evolve
pop 2
evolve
pop
evolve
pop p
gen mo > 0
top v iniviual$
emigrate 4rom
ea() pop to
ot)er pop$
'e$
no
BRKGA it) p parallel population$
evolve evolve evolve evolve
HHgen
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
128/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
evolve
pop 1
evolve
pop 2
evolve
pop
evolve
pop p
gen mo > 0
top v iniviual$
emigrate 4rom
ea() pop to
ot)er pop$
'e$
no
:ver' >generation$
t)e vmo$t 4it iniviual$
4rom ea() population are
(opie to t)e ot)er p 9 1population$ i4 not t)ere
alrea',
Initiali#e population it) $ome non%ranom iniviual$
It i$ o4ten u$e4ul to initiali#e t)e 4ir$t population it)
$ome iniviual$ not generate totall' at ranom,
9 Generate $ome iniviual$ u$ing $imple )euri$ti($"
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
129/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Generate $ome iniviual$ u$ing $imple )euri$ti($"
e,g, Buriol" +,G,C,R," Ribeiro" - T)orup 5200F8
9 .ormulate 0%1 integer program an $olve linearprogramming 5LP8 rela>ation an u$e LP $olution a$
iniviual" e,g, Anrae" +i'a#aa" +,G,C,R," - To$o
520128
3 :n(oing i$ ala'$ one t)e $ame a'" i,e, it) a ve(tor o4
ranom%&e'$ 5parameter mu$t be $pe(i4ie8
3 e(oert)at ta&e$ a$ input a ve(tor o4 ranom%&e'$ an
output$ t)e (orre$poning $olution o4 t)e (ombinatorial
Spe(i4'ing a bia$e ranom%&e' GA
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
130/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
optimi#ation problem an it$ (o$t 5t)i$ i$ u$uall' a )euri$ti(8
3 Parameter$
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population
9 Parallel population parameter$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
131/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition
9 Si#e o4 mutant $et
9 C)il in)eritan(e probabilit'
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
132/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition
9 Si#e o4 mutant $et
9 C)il in)eritan(e probabilit'
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
133/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition
9 Si#e o4 mutant $et
9 C)il in)eritan(e probabilit'
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
134/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition* 1F%2FV o4 population
9 Si#e o4 mutant $et
9 C)il in)eritan(e probabilit'
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
Si 4 li i i 1F 2FV 4 l i
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
135/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition* 1F%2FV o4 population
9 Si#e o4 mutant $et* F%1FV o4 population
9 C)il in)eritan(e probabilit'
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
Si 4 lit titi 1F 2FV 4 l ti
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
136/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition* 1F%2FV o4 population
9 Si#e o4 mutant $et* F%1FV o4 population
9 C)il in)eritan(e probabilit'* 0,F" $a' 0,E
9 Re$tart $trateg' parameter
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
Si 4 lit titi 1F 2FV 4 l ti
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
137/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition* 1F%2FV o4 population
9 Si#e o4 mutant $et* F%1FV o4 population
9 C)il in)eritan(e probabilit'* 0,F" $a' 0,E
9 Re$tart $trateg' parameter* a 4un(tion o4 " $a' 2 or 10
9 Stopping (riterion
Spe(i4'ing a bia$e ranom%&e' GA
Parameter$*
9 Si#e o4 population* a 4un(tion o4 " $a' or 2
9 Parallel population parameter$* $a'"p " v 2" an > 200
Si#e o4 elite partition* 1F 2FV o4 population
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
138/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 Si#e o4 elite partition* 1F%2FV o4 population
9 Si#e o4 mutant $et* F%1FV o4 population
9 C)il in)eritan(e probabilit'* 0,F" $a' 0,E
9 Re$tart $trateg' parameter* a 4un(tion o4 " $a' 2 or 10
9 Stopping (riterion* e,g,time" Y generation$" $olution ualit'"
Y generation$ it)out improvement
br&gaAPI* A CHH API 4or BRKGA
3 :44i(ient an ea$'%to%u$e ob=e(t oriente appli(ation
programming inter4a(e 5API8 4or t)e algorit)mi( 4rameor&o4 BRKGA,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
139/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
br&gaAPI* A CHH API 4or BRKGA
3 :44i(ient an ea$'%to%u$e ob=e(t oriente appli(ation
programming inter4a(e 5API8 4or t)e algorit)mi( 4rameor&o4 BRKGA,
3 Cro$$%plat4orm librar' )anle$ large portion o4 problem
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
140/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
p ' g p p
inepenent moule$ t)at ma&e up t)e 4rameor&" e,g,
9 population management
9 evolutionar' 'nami($
br&gaAPI* A CHH API 4or BRKGA
3 :44i(ient an ea$'%to%u$e ob=e(t oriente appli(ation
programming inter4a(e 5API8 4or t)e algorit)mi( 4rameor&o4 BRKGA,
3 Cro$$%plat4orm librar' )anle$ large portion o4 problem
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
141/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
p ' g p p
inepenent moule$ t)at ma&e up t)e 4rameor&" e,g,
9 population management
9 evolutionar' 'nami($
3 Implemente in CHH an ma' bene4it 4rom $)are%memor'
paralleli$m i4 available,
br&gaAPI* A CHH API 4or BRKGA
3 :44i(ient an ea$'%to%u$e ob=e(t oriente appli(ation
programming inter4a(e 5API8 4or t)e algorit)mi( 4rameor&o4 BRKGA,
3 Cro$$%plat4orm librar' )anle$ large portion o4 problem
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
142/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
inepenent moule$ t)at ma&e up t)e 4rameor&" e,g,
9 population management
9 evolutionar' 'nami($
3 Implemente in CHH an ma' bene4it 4rom $)are%memor'
paralleli$m i4 available,3 $er onl' nee$ to implement problem%epenent e(oer,
br&gaAPI* A CHH API 4or BRKGA
Paper*Rorigo ., To$o an +,G,C,R," ZA CHH
Appli(ation Programming Inter4a(e 4or
Bia$e Ranom%Ke' Geneti( Algorit)m$"[
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
143/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Bia Ran om K ' G n i Algori )m "AT-T Lab$ Te()ni(al Report" .lor)am Par&" Augu$t 2011,
So4tare*)ttp*//,re$ear(),att,(om/\mg(r/$r(/br&gaAPI
Re4eren(e
!,., Gon]alve$ an +,G,C,R," ZBia$e ranom%&e'
geneti( algorit)m$ 4or (ombinatorial optimi#ation"[!, o4 ;euri$ti($" vol,1E" pp, 7E%F2F" 2011,
http://www.research.att.com/http://www.research.att.com/7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
144/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Te() report ver$ion*
)ttp*//,re$ear(),att,(om/\mg(r/o(/$r&ga,p4
Re4eren(e
+,G,C,R," ZBia$e ranom%&e' geneti( algorit)m$it) appli(ation$ in tele(ommuni(ation$"[ TOP"
vol, 20" pp, 120%1F" 2012,
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
145/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Te() report ver$ion*
)ttp*//,re$ear(),att,(om/\mg(r/o(/br&ga%tele(om,p4
T)an&$^
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
146/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
T)e$e $lie$ an all o4 t)e paper$ (ite in t)i$tutorial (an be onloae 4rom m' )omepage*
)ttp*//,re$ear(),att,(om/\mg(r
T)an&$^
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
147/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
T)e$e $lie$ an all o4 t)e paper$ (ite in t)i$tutorial (an be onloae 4rom m' )omepage*
)ttp*//,re$ear(),att,(om/\mg(rSee you tomorrow for some applications of BRKGA.
Biased random-key genetic
algorithms: A tutorial
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
148/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Tutorial given at CLAIO/SBPO 2012
Rio de Janeiro, Brazil September 2012
Mauricio G. C. ResendeAT&T Labs Research
Florham Park, New Jersey
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
149/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
AT&T Shannon Laboratory
Florham Park, New Jersey
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
150/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Part 2 of tutorial
Summary: Day 1
Basic concepts of combinatorial and continuous global optimization
Basic concepts of genetic algorithms
Random-key genetic algorithm of Bean (1994)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
151/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Biased random-key genetic algorithms (BRKGA) Encoding / Decoding
Initial population
Evolutionary mechanisms
Problem independent / problem dependent components
Multi-start strategy
Restart strategy
Multi-population strategy
Specifying a BRKGA
Application programming interface (API) for BRKGA
Summary: Day 2
Applications of BRKGA Set covering
Packing rectangles
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
152/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Packing rectangles
Packet routing on the Internet
Handover minimization in mobility networks
Continuous global optimization Overview of literature & concluding remarks
Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter Nmust be specified)
Decoderthat takes as input a vector of Nrandom-keys and
Specifying a biased random-key GA
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
153/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
outputs the corresponding solution of the combinatorialoptimization problem and its cost (this is usually a heuristic)
Parameters
Specifying a biased random-key GA
Parameters: Size of population
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
154/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters Size of elite partition
Size of mutant set
Child inheritance probability Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
155/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters Size of elite partition
Size of mutant set
Child inheritance probability Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
156/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200 Size of elite partition
Size of mutant set
Child inheritance probability Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
157/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200 Size of elite partition: 15-25% of population
Size of mutant set
Child inheritance probability Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
158/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200 Size of elite partition: 15-25% of population
Size of mutant set: 5-15% of population
Child inheritance probability Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
159/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200 Size of elite partition: 15-25% of population
Size of mutant set: 5-15% of population
Child inheritance probability: > 0.5, say 0.7 Restart strategy parameter
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
Parallel population parameters: say p = 3 v = 2 and x = 200
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
160/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200
Size of elite partition: 15-25% of population
Size of mutant set: 5-15% of population
Child inheritance probability: > 0.5, say 0.7 Restart strategy parameter: a function of N, say 2N or 10N
Stopping criterion
Specifying a biased random-key GA
Parameters: Size of population: a function of N, say N or 2N
Parallel population parameters: say p = 3 v = 2 and x = 200
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
161/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Parallel population parameters: say,p = 3 , v = 2, and x = 200
Size of elite partition: 15-25% of population
Size of mutant set: 5-15% of population
Child inheritance probability: > 0.5, say 0.7 Restart strategy parameter: a function of N, say 2N or 10N
Stopping criterion: e.g.time, # generations, solution quality,
# generations without improvement
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
162/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Some applicationsof BRKGA
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
163/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Steiner triple covering
M.G.C.R., R.F. Toso, J.F. Gonalves, and R.M.A.
Silva, A biased random-key genetic
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
164/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
y g
algorithm for the Steiner triple covering
problem, Optimization Letters, vol. 6, pp. 605-619, 2012.
tech report: http://www.research.att.com/~mgcr/doc/brkga-stn.pdf
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
165/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Steiner triple
covering problem
Kirkman school girl problem [Kirkman, 1850]
Fifteen young ladies in a school walk out three
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
166/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
abreast for seven days in succession:
It is required to arrange them daily, so that no two
shall walk twice abreast.
Kirkman school girl problem [Kirkman, 1850]
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
If girls are numbered 01, 02, ..., 15, a solution is:
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
167/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
01, 06, 11 01, 02, 05 02, 03, 06 05, 06, 09 03, 05, 11 05, 07, 13 04, 11, 13
02, 07, 12 03, 04, 07 04, 05, 08 07, 08, 11 04, 06, 12 06,08, 14 05, 12, 14
03, 08, 13 08, 09, 12 09, 10, 13 01, 12, 13 07, 09, 15 02, 09, 11 02, 08, 15
04, 09, 14 10, 11, 14 11, 12, 15 03, 14, 15 01, 08, 10 03, 10, 12 01, 03, 09
05, 10, 15 06, 13, 15 01, 07, 14 02, 04, 10 02, 13, 14 01, 04, 15 06, 07, 10
Ball, Rouse, and Coxeter (1974)
Steiner triple system
A Steiner triple system on a set Xof nelements is a
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
168/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
collection Bof 3-sets (triples)such that, for any twoelements xandyin X, the pair {x, y}appears in
exactly one triple in B.
Steiner triple system
A Steiner triple system on a set Xof nelements is a
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
169/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
collection Bof 3-sets (triples)such that, for any twoelements xandyin X, the pair {x, y}appears in
exactly one triple in B.
First studied by Kirkmanin 1847. Then by Steinerin 1853and
hence the name.
Steiner triple system
A Steiner triple system on a set Xof nelements is a
collection Bof 3-sets (triples)such that, for any two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
170/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
elements xandyin X, the pair {x, y}appears in
exactly one triple in B.
The school girl problem has the additional constraint that the
collection of|B|= 75 = 35triples be divided into seven sets offive triples, one for each day, such that each girl appears exactly once
in the set of five triples for that day.
Steiner triple system
A Steiner triple system on a set Xof nelements is a
collection Bof 3-sets (triples)such that, for any two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
171/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
elements xandyin X, the pair {x, y}appears in
exactly one triple in B.
A Steiner triple system exists for a set X if and only if either
|X|= 6k+1 or |X|=6k+3 for some k > 0 [ Kirkman, 1847 ]
Steiner triple system
A Steiner triple system on a set Xof nelements is a
collection Bof 3-sets (triples)such that, for any two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
172/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
elements xandyin X, the pair {x, y}appears in
exactly one triple in B.
One non-isomorphic Steiner triple system exists for |X| = 7 and 9.
This number grows quickly after that. For |X| = 19, there are over
1010non-isomorphic Steiner triple systems.
Steiner triple system
A Steiner triple system on a set Xof nelements is a
collection Bof 3-sets (triples)such that, for any two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
173/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
elements xandyin X, the pair {x, y}appears in
exactly one triple in B.
A Steiner triple system can be represented by a binary matrix Awith
one column for each element in Xand a row for each triple in B. In
this matrix A(i,j) = 1if and only if elementjis in triple i.
Each row iof Ahas exactly 3 entrieswith A(i,j) = 1.
1-width of a binary matrix
The 1-width of a binary matrix Ais the minimum
number of columns that can be chosen from A such
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
174/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
that every row has at least one 1in the selected
columns.
The 1-width of a binary matrixAis the solution of the set
covering problem: minj xj subject to Ax 1m , xj{ 0, 1 }
Recursive procedure to generate Steinertriple systems
Let A3be the 1 3matrix of all ones. A recursive
d d ib d b H ll (1967) t
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
175/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
procedure described by Hall (1967) can generateSteiner triple systems for which n3korn15 3k-1, for k1, 2, ...
Recursive procedure to generate Steinertriple systems
Let A3be the 1 3matrix of all ones. A recursive
d d ib d b H ll (1967) t
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
176/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
procedure described by Hall (1967) can generateSteiner triple systems for which n3korn15 3k-1, for k1, 2, ...
Starting from A3, the procedure can generate A
9, A
27, A
81, A
243, A
729,
Starting from A15
[Fulkerson et al., 1974], the procedure can generate
A45
, A135
, A405
, ...
Solving Steiner triple covering
Fulkerson, Nemhauser, and Trotter (1974) were first to
point out that the Steiner triple covering problem was a
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
177/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
computationally challenging set covering problem.
Solving Steiner triple covering
Fulkerson, Nemhauser, and Trotter (1974) were first to
point out that the Steiner triple covering problem was a
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
178/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
computationally challenging set covering problem.
They solved stn9(A9), stn15(A
15), and stn27(A
27) to optimality, but not
stn45(A45
), which was solved in 1979 by Ratliff.
Mannino and Sassano (1995) solved stn81and recently Ostrowski et al.(2009; 2010) solved stn135in 126 days of CPU and stn243in 51 hours.
Independently, Ostergard and Vaskelainen (2010) also solved stn135.
Heuristics for Steiner triple covering (stn81and stn135)
Feo and R. (1989) proposed a GRASP, finding a cover ofsize 61for stn81, later shown to be optimal by Mannino
and Sassano (1995).
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
179/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Heuristics for Steiner triple covering (stn81and stn135)
Feo and R. (1989) proposed a GRASP, finding a cover ofsize 61for stn81, later shown to be optimal by Mannino
and Sassano (1995).
Karmarkar Ramakrishnan and R (1991) found a cover
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
180/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Karmarkar, Ramakrishnan, and R. (1991) found a coverof size 105for stn135with an interior point algorithm.
In the same paper, they used a GRASP to find a better
cover of size 104. Mannino and Sassano (1995) also
found a cover of this size.
Heuristics for Steiner triple covering (stn81and stn135)
Feo and R. (1989) proposed a GRASP, finding a cover ofsize 61for stn81, later shown to be optimal by Mannino
and Sassano (1995).
Karmarkar Ramakrishnan and R (1991) found a cover
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
181/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Karmarkar, Ramakrishnan, and R. (1991) found a coverof size 105for stn135with an interior point algorithm.
In the same paper, they used a GRASP to find a better
cover of size 104. Mannino and Sassano (1995) also
found a cover of this size.
Odijk and van Maaren (1998) found a cover of size 103,which was shown to be optimal by Ostrowski et al. and
Ostergard and Vaskelainen in 2010.
Heuristics for Steiner triple covering (stn243)
The GRASP in Feo and R. (1989) as well as the interior
point method in Karmarkar, Ramakrishnan, and R.
(1991) produced covers of size 204for stn243.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
182/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Heuristics for Steiner triple covering (stn243)
The GRASP in Feo and R. (1989) as well as the interior
point method in Karmarkar, Ramakrishnan, and R.
(1991) produced covers of size 204for stn243.
Karmarkar Ramakrishnan and R (1991) used theGRASP F R
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
183/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Karmarkar, Ramakrishnan, and R. (1991) used theGRASP of Feo and R. (1989) to improve the best known
cover to 203.
Heuristics for Steiner triple covering (stn243)
The GRASP in Feo and R. (1989) as well as the interior
point method in Karmarkar, Ramakrishnan, and R.
(1991) produced covers of size 204for stn243.
Karmarkar Ramakrishnan and R (1991) used theGRASP f F d R (1989) i h b k
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
184/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Karmarkar, Ramakrishnan, and R. (1991) used theGRASP of Feo and R. (1989) to improve the best known
cover to 203.
Mannino and Sassano (1995) improved it further to202.
Heuristics for Steiner triple covering (stn243)
The GRASP in Feo and R. (1989) as well as the interior
point method in Karmarkar, Ramakrishnan, and R.
(1991) produced covers of size 204for stn243.
Karmarkar Ramakrishnan and R. (1991) used theGRASP f F d R (1989) t i th b t k
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
185/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Karmarkar, Ramakrishnan, and R. (1991) used theGRASP of Feo and R. (1989) to improve the best known
cover to 203.
Mannino and Sassano (1995) improved it further to202.
Odijk and van Maaren (1998) found a cover of size 198,
which was shown to be optimal by Ostrowski et al.
(2009; 2010).
Heuristics for Steiner triple covering (stn405 and stn729)
No results have been previously presented for stn405.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
186/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Heuristics for Steiner triple covering (stn405 and stn729)
No results have been previously presented for stn405.
Ostrowski et al. (2010) report that the best solution
found by CPLEX 9 on stn729 after two weeks of CPU
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
187/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
found by CPLEX 9 on stn729 after two weeks of CPU
time was 653.
Heuristics for Steiner triple covering (stn405 and stn729)
No results have been previously presented for stn405.
Ostrowski et al. (2010) report that the best solution
found by CPLEX 9 on stn729 after two weeks of CPU
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
188/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
found by CPLEX 9 on stn729 after two weeks of CPU
time was 653.
Using their enumerate-and-fix heuristic, they were ableto find a better cover of size 619.
Best known solutions to date
instance n m BKS opt? reference
stn9 9 12 5 yes Fulkerson et al. (1974)
stn15 15 35 9 yes Fulkerson et al. (1974)
stn27 27 117 18 yes Fulkerson et al. (1974)
stn45 45 330 30 yes Ratliff (1979)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
189/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
stn45 45 330 30 yes Ratliff (1979)
stn81 81 1080 61 yes Mannino and Sassano(1995)
stn135 135 3015 103 yes Ostrowski et al. (2009; 2010) andOstergard and Vaskelainen (2010)
stn243 243 9801 198 yes Ostrowski et al. (2009;2010)
stn405 405 27270 335 ? M.G.C.R. et al. (2012)
stn729 729 88452 617 ? M.G.C.R. et al. (2012)
BRKGA for Steiner
triple covering
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
190/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
triple covering
Encoding a solution to a vector of random keys
A solution is encoded as an n-vector X= (X1, X
2, ..., X
n)
of random keys where nis the number of columnsof matrix A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
191/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
yof matrix A.
Encoding a solution to a vector of random keys
A solution is encoded as an n-vector X= (X1, X
2, ..., X
n)
of random keys where nis the number of columnsof matrix A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
192/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
yof matrix A.
Each key is a randomly generated number in the
real interval [0,1).
Encoding a solution to a vector of random keys
A solution is encoded as an n-vector X= (X1, X
2, ..., X
n)
of random keys where nis the number of columns
of matrix A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
193/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
of matrix A.
Each key is a randomly generated number in the
real interval [0,1).
Thej-th component of Xcorresponds to thej-th
column of A.
Decoding a solution from a vector of random keys
Decoder takes as input ann-vectorX= (X1, X
2, ..., X
n)of
random keys and returns a coverJ*
{1, 2, ..., n }
corresponding to the indices of the columns of A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
194/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
corresponding to the indices of the columns ofAselected to cover the rows ofA.
Decoding a solution from a vector of random keys
Decoder takes as input ann-vectorX= (X1, X
2, ..., X
n)of
random keys and returns a coverJ*
{1, 2, ..., n }
corresponding to the indices of the columns of A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
195/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
corresponding to the indices of the columns ofA
selected to cover the rows ofA.
LetY= (Y1, Y
2, ..., Y
n)be a binary vector whereY
j= 1 if
and only ifj J*.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase I: For j = 1 2 n set Y 1 if X set Y 0
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
196/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Phase I:Forj = 1, 2, ..., n, set Yj= 1 if X
j, set Y
j= 0
otherwise.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase I: For j = 1 2 n set Y 1 if X set Y 0
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
197/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Phase I:Forj = 1, 2, ..., n, set Yj= 1 if X
j, set Y
j= 0
otherwise.
The indices implied by the binary vector can correspond to either a
feasible or infeasible cover.
If cover is feasible, Phase IIis skipped.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase II: If J* is not a valid cover build a cover with
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
198/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Phase II:IfJ is not a valid cover, build a cover with
a greedy algorithm for set covering(Johnson, 1974)
starting from the partial coverJ*.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase II: If J* is not a valid cover build a cover with
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
199/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Phase II:IfJ is not a valid cover, build a cover with
a greedy algorithm for set covering(Johnson, 1974)
starting from the partial coverJ*.
Greedy algorithm:WhileJ*is not a valid cover, select to add inJ*thesmallest indexj {1,2,...,n} \ J*for which the inclusion ofjinJ*covers the maximum number of yet-uncovered rows.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase III: Local search attempts to remove
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
200/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
Phase III:Local search attempts to remove
superfluous columns from coverJ*.
Decoding a solution from a vector of random keys
Decoder has three phases:
Phase III: Local search attempts to remove
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
201/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
Phase III:Local search attempts to remove
superfluous columns from coverJ*.
Local search:While there is some elementj J*such thatJ* \ { j }is
still a valid cover, then such element having the smallest index isremoved fromJ*.
Implementation
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
202/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
Implementationissues
Implementation issues
BRKGA framework (R. and Toso, 2010), a C++
framework for biased random-key genetic
algorithms.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
203/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
Object oriented
Multi-threaded: parallel decoding using OpenMP General-purpose framework: implements all problem
independent components and provides a simple hook for
chromosome decoding Chromosome adjustment
Implementation issues
Chromosome adjustment:decoder not only returns
the coverJ*but also modifies the vector Xof random
keys such that it decodes directly intoJ*with the
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
204/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
application of only the first phase of the decoder:
Implementation issues
Chromosome correcting:decoder not only returns
the coverJ*but also modifies the vector Xof random
keys such that it decodes directly intoJ*with the
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
205/520
CLAIO/SBPO 2012September 2012BRKGA tutorial
application of only the first phase of the decoder:
Xjis unchanged if X
j andj J*or if X
j andj J*
Xjchanges to1Xjif Xj andj J*or if Xj andj J*
Experimental
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
206/520
CLAIO/SBPO 2012
September 2012 BRKGA tutorial
Experimentalresults
Experiments: objectives
Investigate effectivenessof BRKGA to find
optimal covers for instances with known
optimum.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
207/520
CLAIO/SBPO 2012
September 2012 BRKGA tutorial
Experiments: objectives
Investigate effectivenessof BRKGA to find
optimal covers for instances with known
optimum.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
208/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
For the two instances (stn405and stn729) for
which optimal solutions are not known, attemptto produce better coversthan previously found.
Experiments: objectives
Investigate effectivenessof BRKGA to find
optimal covers for instances with known
optimum.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
209/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
For the two instances (stn405and stn729) for
which optimal solutions are not known, attemptto produce better coversthan previously found.
Investigate effectiveness of parallelimplementation.
Experiments: instances
Set of instances: stn9, stn15, stn27, stn45, stn81,
stn135, stn243, stn405, stn729
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
210/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Instances can be downloaded from:
http://www2.research.att.com/~mgcr/data/steiner-triple-covering.tar.gz
Experiments: computing environment
Computer: server with four 2.4 GHz Quad-core Intel XeonE7330 processors with 128 Gb of memory, running CentOS 5
Linux. Total of 16 processors.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
211/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: computing environment
Computer: server with four 2.4 GHz Quad-core Intel XeonE7330 processors with 128 Gb of memory, running CentOS 5
Linux. Total of 16 processors.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
212/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Compiler:g++ version 4.1.2 20080704 with flags -O3 -fopenmp
Experiments: computing environment
Computer: server with four 2.4 GHz Quad-core Intel XeonE7330 processors with 128 Gb of memory, running CentOS 5
Linux. Total of 16 processors.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
213/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Compiler:g++ version 4.1.2 20080704 with flags -O3 -fopenmp
Random number generator: Mersenne Twister (Matsumoto
& Nishimura, 1998)
Experiments: multi-population GA
We evolve 3 populationssimultaneously (but sequentially).
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
214/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: multi-population GA
We evolve 3 populationssimultaneously (but sequentially).
Every 100generations the best two solutions from each
population replace the worst solutionsof the other two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
215/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
p p p
populations if not already present there.
Experiments: multi-population GA
We evolve 3 populationssimultaneously (but sequentially).
Every 100generations the best two solutions from each
population replace the worst solutionsof the other two
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
216/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
populations if not already present there.
Parallel processingis only done when calling the decoder. Up to
16 chromosomes are decoded in parallel.
Experiments: other parametersPopulation size: 10n, where nis the number of columns of A
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
217/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: other parametersPopulation size: 10n, where nis the number of columns of A
Population partition: 1.5n elite solutions;11.5n=8.5n non-elite solutions
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
218/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: other parametersPopulation size: 10n, where nis the number of columns of A
Population partition: 1.5n elite solutions;11.5n=8.5n non-elite solutions
Mutants: 5.5n are created at each generation
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
219/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: other parametersPopulation size: 10n, where nis the number of columns of A
Population partition: 1.5n elite solutions;11.5n=8.5n non-elite solutions
Mutants: 5.5n are created at each generation
Probability child inherits gene of elite/non-elite parent: biased coin
60% : 40%
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
220/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments: other parametersPopulation size: 10n, where nis the number of columns of A
Population partition: 1.5n elite solutions;11.5n=8.5n non-elite solutions
Mutants: 5.5n are created at each generation
Probability child inherits gene of elite/non-elite parent: biased coin
60% : 40%
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
221/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Stopping rule: we use different stopping rules for each of the threetypes of experiments
Experiments on instances with known optimal covers
For each instance: ran GA independently 100 times, stopping
when an optimal cover was found.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
222/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments on instances with known optimal covers
For each instance: ran GA independently 100 times, stopping
when an optimal cover was found.
On all 100 runsfor each instance, the algorithm found an optimal
cover.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
223/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments on instances with known optimal covers
For each instance: ran GA independently 100 times, stopping
when an optimal cover was found.
On all 100 runsfor each instance, the algorithm found an optimal
cover.
On the smallest instances (stn9, stn15, stn27) an optimal cover was
always found in the initial population.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
224/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Experiments on instances with known optimal covers
For each instance: ran GA independently 100 times, stopping
when an optimal cover was found.
On all 100 runsfor each instance, the algorithm found an optimal
cover.
On the smallest instances (stn9, stn15, stn27) an optimal cover was
always found in the initial population.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
225/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
On stn81an optimal cover was found in the initial population in 99
of the 100 runs. In the remaining run, an optimal cover was found in
the second iteration.
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
226/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Instance stn45
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
227/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Optimal cover found in initial population in 54/100runs
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
228/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Largest number of iterations in 100runs was 12
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
229/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Time per 1000generations: 4.70s(real), 70.55s (user),2.73s (sys)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
230/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Instancestn135
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
231/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Most difficultinstance of those with known optimal cover
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
232/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
9 of the 100 runsfound an optimal cover in less than 1000 iterations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
233/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
39 of the 100 runsrequired over 10,000 iterations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
234/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
No run required fewer than 23 iterations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
235/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Longest run took 75,741 iterations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
236/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Time per 1000generations: 19.91s(real), 316.70s (user),0.85s (sys)
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
237/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Instance stn243
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
238/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Appears to be much easier than stn135
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
239/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
39/100 runs required fewer than100 generations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
240/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
95/100 runs required fewer than200 generations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
241/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
The longest of the 100 runs took 341 generations
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
242/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Time per 1000generations: 68.60s(real), 1095.19s (user),0.79s (sys)
Simulation of random multi-start on stn243
To show that success of BRKGA to consistently find covers of
size 198 on stn243 was not due to the decoder alone ...
7/13/2019 2012 09 CLAIO2012 Brkga Tutorial Both Days
243/520
CLAIO/SBPO 2012September 2012 BRKGA tutorial
Simulation of random multi-start on stn243
To show that success of BRKGA to consistently find covers of
size 198 on stn243 was not due to the decoder alone ...
We conducted 100 independent runs