2012 09 claio2012 brkga tutorial both days

Upload: thiagoblin

Post on 09-Oct-2015

26 views

Category:

Documents


0 download

DESCRIPTION

tutorial do brkga, um algoritmo de busca baseado no algoritmo genético, porém totalmente aleatório.

TRANSCRIPT

  • 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

    [email protected]

  • 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