heuristick é optimalizačné procesy

13
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Heuristické optimalizačné procesy Hybridné lokálne prehľadávanie [email protected] http://neuron.tuke.sk/~machm Marec, 2013

Upload: shandi

Post on 31-Jan-2016

58 views

Category:

Documents


9 download

DESCRIPTION

Heuristick é optimalizačné procesy. Hybridné lokálne prehľadávanie Marian.Mach @ tuke.sk http ://neuron.tuke.sk/~machm Marec , 2013. Hybridné algoritmy. Kombinovanie jednoduchších stratégií do komplexnejších schém Príklady Pridanie triviálnych stratégií RII ( II + URW ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1

Heuristické optimalizačné procesy

Hybridné lokálne prehľadávanie

[email protected]://neuron.tuke.sk/~machm

Marec, 2013

Page 2: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 2

Hybridné algoritmy

Kombinovanie jednoduchších stratégií do komplexnejších schém Príklady

Pridanie triviálnych stratégií RII (II + URW) II s reštartmi (II + URP)

Kombinovanie dvoch stratégií ILS GRASP AILS

Page 3: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 3

Iteračné lokálne prehľadávanie

nevyhýba sa lokálnemu optimu dva typy krokov

lokálne prehľadávanie (intenzifikácia hľadania) dosiahnutie lokálneho optima

perturbácia (diverzifikácia hľadania) štartovací bod pre nové lokálne prehľadávanie

vzťah medzi prehľadávaním a perturbáciou kroky používajú rôzne okolia

pohyb v priestore lokálnych optím voľba optima pre pokračovanie

príklad: Iteračný Lin-Kernighan (TSP)

Page 4: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 4

Štruktúra ILS input: π output: r є S | □ s = init() if( valid( r ) ) then s = localsearch( s ) return r r = s else while not term( s ) return □ s’ = perturb( s ) endif s’’ = localsearch( s’ ) if( g( s’’ ) > g( r ) ) then r = s’’ endif s = accept( s, s’’ ) endwhile

Page 5: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 5

Lačné randomizované adaptívne hľadanie

prehľadávanie začína z čo najlepšieho kandidáta

rýchlejšie dosiahnutie lepšieho optima dva typy krokov

tvorba štartovacieho kandidáta konštrukčné prehľadávanie

lokálne zlepšovanie kandidáta perturbačné prehľadávanie

GRASP (GRA search procedure) G (greedy) R (randomised) A (adaptive)

SGH - vynechanie perturbačnej fázy

Page 6: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 6

Štruktúra GRASP input: π output: r є S | □ if( valid( r ) ) then r = □ return r g( r ) = -∞ else while not term( s ) return □ s = construct() endif s’ = localsearch( s ) if( g( s’ ) > g( r ) ) then r = s’ endif endwhile

Page 7: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 7

GRASP – konštrukčná fáza

konštrukcia štartuje z prázdneho kandidáta prechádza parciálnymi kandidátmi

dopĺňa jednu zložku v každej iterácii končí vytvorením úplného kandidáta generuje rôznych úplných kandidátov

obmedzený zoznam kandidátov založený na počte (pevne daný počet k)

náhodný výber alebo lačný výber založený na ohodnotení (prah k є <0,1>)

g(z) <= g(z┴) + k*(g(z┬) - g(z┴))

Page 8: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 8

GRASP construct() – greedy-random construct() x = □ V = { v1, v2, …, vn } while not complete( s ) SC = sort( V, g ) RCL = form( SC, k ) v = select( RCL ) x = x + v V = V - v endwhile return x endconstruct

Page 9: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 9

GRASP construct() – random-greedy construct() x = □ V = { v1, v2, …, vn } while not complete( s ) RCL = sample( V, k ) SRCL = sort( RCL, g ) v = select-best( SRCL ) x = x + v V = V - v endwhile return x endconstruct

Page 10: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 10

GRASP construct() – random+greedy construct() x = □ V = { v1, v2, …, vn } for i=1,…,k v = select-random( V ) x = x + v V = V - v endfor while not complete( s ) SV = sort( V, g ) v = select-best( SV ) x = x + v V = V - v endwhile return x endconstruct

Page 11: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 11

GRASP – rozšírenia

Path relinking

Pridanie k algoritmu

S

T

B T…

s = construct() s’ = localsearch( s ) if( full( BEST ) ) then t = select( BEST ) s’’ = pathrelink( s’, t ) endif BEST = update( BEST, s’’ ) if( g( s’’ ) > g( r ) ) then r = s’’ endif

Page 12: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 12

Adaptívne iteračné konštrukčné hľadanie

GRASP – absencia učenia chýba väzba medzi výsledkom perturbačného prehľadávania a následnou konštrukciou

Spätná väzba forma súboru váh váhy sú adaptované v každej iterácii

podľa komponentov tvoriacich dosiahnutého kandidáta podľa kvality dosiahnutého kandidáta

použiteľné aj bez perturbačného hľadania príklad: SWO (squeeky wheel optimization)

Page 13: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 13

Štruktúra AICS input: π output: r є S | □ if( valid( r ) ) then r = □ return r g( r ) = -∞ else w = initweights() return □ while not term( s ) endif s = construct() s’ = localsearch( s ) if( g( s’ ) > g( r ) ) then r = s’ endif w = adaptweights( s’, w ) endwhile