Generelle optimeringheuritikker Ogå kaldet metaheuritikker. Idag gennemgå: Indplacering Lokal øgning Simuleret udgløding Genetike algoritmer Generelle optimeringheuritikker Branch-and-bound helhedbetragtninger til at finde græneværdier global truktur holder tyr på alle delproblemer Kontruktionheuritikker kontruerer en løning fra grunden når ført et valg er truffet er det låt Løningmetoder for NP -hårde opimeringproblemer Opdelingkriterier løningkvalitet: optimal/ikke-optimal beregningtid: polynomiel/ikke-polynomiel Approximationalgoritme giver garanti for løningkvalitet Heuritik giver ingen garanti for løningkvalitet Lokaløgning forbedrer løninger, tidligere valg ændre omegn, validering, objektfunktion Definitioner Løningrum S Objektfunktion f : S R kal minimere Omegn N S for hver løning S Omegn kal opfylde at alle løninger kan nå Skridt (overgang) betegner 2 Simplete lokaløgning Deign af lokaløgningalgoritmer algorithm lokaløgning vælg en initiel løning S vælg en løning N if accepter ny løning( ) then : until topkriterium; Balanceakt mellem Intenivering (kal forfølge gode løninger til bund) Diverifikation (kal komme rundt i løningrummet) Acceptkriterium: f.ek. trinvi forbedring f Intenivering Grådigt paradigme Selvom havner i lokalt minimum, underøge omegn Diverifikation Gentart fra tilfældigt ted Accepter dårligere løninger nogle gange Ekempel: TSP Undgå at beøge tidligere beøgte løninger tilfældighed i valg af naboløninger forbyd alle tidligere beøgte løninger 3 4
Varianter af lokaløgning algorithm trinvi forbedring vælg en initiel løning S vælg en løning N if f f then : until er et lokalt minimum return Fyike ytemer: metal, gla (Metropoli 953) Heuritik (Kirkpatrick 93) f Løning er lokalt minimum hvi N : f f Trinvi forbedring: Vælg en vilkårlig f f. N hvor Stejlete nedtigning: Vælg N å f f ŝ for alle ŝ N Gentart: Benyt forkellige initielle løninger for trinvi forbedring eller tejlete nedtigning. Heuritik har intet at gøre med fyike ytemer N vælge tilfældigt Intenivering: accepter altid f f Diverifikation: accepter f f med andynlighed f % & ' ( f % ' P! #" e$ T hvor T er aftagende kontrolparamter (åkaldt temperatur) e) x x 5 6 Ordbog Dowland (995) vier følgende ammenhæng mellem fyik nedkøling og optimering Thermodynamic Simulation Combinatorial Optimiation Sytem State Feaible Solution Energy Cot Change of State Neighbouring Solution Temperature Control Parameter Frozen State Heuritic Solution algorithm imuleret udglødning vælg en initiel løning * S vælg en initiel temperatur T vælg en løning +,* N-. if f - +. / f -. then :0 + ele p :0 rand- 0. f4 5 6 7 f4 6 if p 2 e3 T then :0 + end T :0 ny temperatur- T. until topkriterium return Hvad kal initiel temperatur T 0 være? Hvorlede kal T i9 udregne på bai af T i? Hvornår kal algoritmen lutte? 7
( Initiel temperatur Betemme ekperimentelt Accept ratio χ T 0 5 ved T 0 Kølingrate T i : αt i, 0 α jo tørre α de længere køretid Stopkriterie Laarhoven (9) vite at hvi temperatur ænke uendeligt langomt,og der er uendeligt mange kridt til rådighed, å vil imuleret udglødning returnere optimal løning. lim langom afkøling mange iterationer Bevi baeret på Markovkæder P optimal løning Temperaturen T kommer under en given græne T Ingen forbedring idte K iterationer Der finde ogå en variant af imuleret udglødning hvor der foretage M kridt for hver temperatur, inden denne ænke. Ingen ignifikant forkel. 9 0 for grafdeling a 2 4 b e Givet graf G V E og omkotning funktion c : E N. Del V i to lige tore dele V og V 2 å omkotningen af kanter u v hvor u V og v V 2 minimere. Lad x v hvi v V men x v 0 hvi v V 2. Kvadratik minimeringproblem: hvor min c uv x u u v V 3 f 7 6 x v V 2 v V 9 x v c d 5 for grafdeling Objektfunktion: f x c uv x u " u v! V Omegn: Ombyt to elementer k#%$ hvor k & V og $'& V 2 Udregning af objektfunktion: Trivielt O V 2 Ved ombytning af knuder ændre objektfunktionen f x v x v c kv " " x v c kv v! V v! V " x v c) v " x v c) v v! V v! V (idet x k * x k 0 og x)+ 0 * x), ). Kan beregne i O V tid. 2
, dikuion Intenivering diverifikation Intenivering: Accepter altid forbedrende løning Diverifikation: Accepter forværret løning med lille andynlighed Algoritmen gennemløber kontinuum fra tærk diverifikation til inteniv øgning Fordele ulæmper + Robut algoritme uanet omegn N + Få parametre (T 0 α), die kan jutere automatik Ikke videre grådig, meget tid bruge på at gætte Hint Met vellykket øgning midt i udglødning, derfor varianter med genopvarmning Udregn f : f f Kan være henigtmæigt at tillade ulovlige løninger mod traf i objektfunktion Gentart Tidligere algoritmer Trinvi forbedring Stejlete nedtigning Gentart Ingen af oventående har hukommele opamler information og bruger hukommele til at tyre øgning har ingen impel definition er vær at analyere matematik kræver mere tilpaning til hvert problem/omegn 3 4 Paradigmet anvendt i 970 erne, nuværende form indført af Glover (96)... a framework that link the perpective of artificial intelligence and operation reearch... effective trategie for combinatorial problem can require method that formal theorem are unable to jutify Method that are intelligently flexible lie in ome yet-to-be-defined realm to which theorem do not apply, yet which embrace enough tructure to exclude aimle wandering Vellykkede anvendeler og klogt valgt navn har gjort tabuøgning til tandard metaheuritik Ordbog AI ordinary meaning tabu forbidden (change of olution vector) tabu lit table of previou olution (compact) apiration level objective function value apiration criterion accept criterion long time memory tatitic of good/bad olution f Videreudvikling af tejlete nedtigning algorithm tabuøgning vælg en initiel løning S æt : intialier tabulite find bedte løning N om ikke er tabu : opdater tabulite if f f then : until topkriterium return 5 6
Grundlæggende trategi vælg met forbedrende (eller mindt forværrende) kridt i hver iteration undgå cykler ved at forbyde vie løninger/kridt, åkaldte tabuløninger Implementation forbyd alle tidligere løninger forbyd max k tidligere løninger forbyd max k tidligere kridt forbyd løninger med en given attribut Tabulite: hvi ændrer x i a til x i b tilføje x i a x 3 x 4 7 x 5 2 Tabuliten længde 5 0. for lille: cykler for tor: tidkrævende at kontrollere tabu alt for retriktiv Med længde M garantere cykler M Apirationkriterie Giver mulighed for at bryde forbud i tabuliten hvi objektfunktion bedre end hidtil globalt bedte hvi objektfunktion bedre end daværende bedte x 3 x 4 7 x 5 2 7 2 4 7 for grafdeling Objektfunktion: f x c uv x u u v V Omegn: Ombyt to elementer k hvor k V og V 2 Mindre Omegn: Flyt et element fra V til V 2 eller omvendt. Straf for ej overholdt begrænning. Effektiv udregning af objektfunktion f : f f Tabulite: Hvi knude k flytte fra V til V 2 (x k x k 0) x v variabel k 7 3 forbudt tiltand 0 0 0 Hvi apirationkriterie benytte huker jeg gældende objektfunktion ammen med tabu liten: variabel k 7 3 forbudt tiltand 0 0 0 objektfunktion 55 63 57 5 6 Tabu Søgning for Kvadratik Tildeling n faciliteter med trøm a i j fra facilitet i til j n lokaliteter med aftand b i j fra lokalitet i til j find en permutation π der minimerer f π n n π i er facilitet i placering a i j b π i! π j! i j lokalitet 2 3 4 5 facilitet 2 4 3 5 Løningrum: alle mulige permutationer af n tal, O n! 9 20
Tabu Søgning for Kvadratik Tildeling Sammenligning Omegn N π π π opnå ved at ombytte to elementer i π lokalitet 2 3 4 5 facilitet 2 3 5 4 I tabu-liten gemme følgende kridt i j : facilitet i og j bytter plad u v : lokalitet u og v bytter plad Dårlig repræentation da i j k l i k j l l k j i l k i j k l i j i l k j i j k l forhindrer ikke cyklik opførel I tabu-liten gemme følgende kridt i π i og j π j Global optimum High quality area High quality area Low quality area Start Iteration 4 Iteration 2 Iteration Iteration 6 Iteration 7 a) Solution pace model b) Random retart c) Simulated annealing d) Tabu earch Iteration 3 Iteration 5 Start 2 22, dikuion Genetike algoritmer Intenivering Fordele diverifikation Intenivering: Bedte løning i N vælge Diverifikation: Tabulite, apirationkriterier ulæmper + Meget grådig Følom overfor omegn tørrele da hele N kal gennemøge Flere parametre end imuleret udglødning Determinitik, kan derfor cykle + Veldeignet algoritme giver gode løninger Hint Betragt kun en delmængde af N hvi N er tor Udregn f : f f Kan være henigtmæigt at tillade ulovlige løninger mod traf i objektfunktion Reaktiv tabuøgning, langtidhukommele, gentart Indført af Holland (975) motiveret af Darvinime Princip population af løninger udvælgele krydning mutation algorithm genetik optimering vælg en initiel population P i!, hvor i " S evaluer population(p); udvælg individer(p, bai); kryd individer(bai, P# ); muter individer(p# ); P : P# until topkriterium return P 23 24
% % % % E E Genetike algoritmer Udvælgele urvival of the fittet objektfuntion f udvælgeleandynlighed p u K kvalitetmål K P K vælger probabilitik P gange Genetike algoritmer Krydning to-punkt krydning : 2 : 2 : : bedte eller begge medtage i næte generation Krydning: gentag til P individer udvælg en tilfældig løning fra bai 2 overfør direkte til nye generation med andynlighed p d 3 udvælg en anden løning 2, kryd og 2 overfør afkom til ny generation med andynlighed p d. Bemærk: gamle individer kan overleve, typik p d 2 Mutation ændrer et tegn : : ikre predning i population da riiko for at alle en andynlighed p m P krydning kal være vigtigte operator 25 26 Genetike algoritmer, TSP G "! V# E$ med vægte d i j, find kortete Hamilton-kred 2 4 5 Permutation π af & # 2# 3#(')'('*# n+ om minimierer n 2 f! π$ d π- i. π- i/. i, Krydning kal bevare at π er permutation π : 0243657:9:;=< π 2 : 9>43:;=065<?7 π@ : 02A3?;=065 ;:< π@2 : 9>A3 57:9=<?7 (to-punkt) π@ : 0>43:9=;65<?7 π@2 : 9>43 065"7:;:< (et-punkt) Mutation π: 02A3B5"7:9=;=< π@ : 02C9?5"7=3:;=< 3 (ombyt to elementer) Genetike algoritmer, dikuion Intenivering D Fordele D diverifikation Intenivering: Population af løninger Diverifikation: Krydning, mutation ulæmper + Returnerer familie af løninger + Bevarer lokale egenkaber Dyrt at vedligeholde mange en løninger Svært at finde god kodning for mange problemer Temmelig mange paramtere + Parametre kan indgå om del af trengen (mod øget beregning) Hint E Population F P FHG 00 E Stopkriterium: uændret bedte løning K gange 27 2
Litteratur P.J.M. van Laarhoven (9), Theoretical and computational apect of imulated annealing, Eramu Univerity, Rotterdam, PhD thei. N. Metropoli m.fl. (953) Equation of tate calculation by fat computing machine, Journal of Chemical Phyic, 2, 07-092. S. Kirkpatrick, C.D. Gelatt, M.P. Vecchi (93) Optimization by Simulated Annealing, Science 220, 67-60. J.H. Holland (975) Adaptation in Natural and Artificial Sytem, Univerity of Michigan Pre, Ann Arbor. Reeve (995) Modern Heuritic Technique for Combinatorial Problem, McGraw-Hill. F. Glover (96) Tabu Search, part I, ORSA Journal on Computing, 90-206. Dowland (995) Variant of Simulated Annealing for Practical Problem Solving in V. J. Rayward-Smith (Ed) Application of Modern Heuritic Method, Henley-on- Thame, Alfred Waller, 3-6. 29