Heuristické řešení problémů. Seminář APS Tomáš Müller 6. 7. 2002



Podobné dokumenty
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Programování. s omezujícími podmínkami. SAT a lokáln. Algoritmus GSAT. Algoritmus GSAT. Roman Barták

Dynamic programming. Optimal binary search tree

Programování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

Metaheuristiky s populacemi

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

DC circuits with a single source

Programování. s omezujícími podmínkami. Roman Barták. roman.bartak@mff.cuni.cz

Transportation Problem

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Heuristiky UNIVERZITA PALACKÉHO V OLOMOUCI KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY. Vypracovala:


Optimalizace & soft omezení: algoritmy

Optimalizační algoritmy inspirované chováním mravenců

Informatika Algoritmy

Alternativní metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize Joseph Weizenbaum

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Počítačové šachy. Otakar Trunda

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Uvažujeme jen hry s nulovým součtem, tj. zisk jednoho. Střídá se náš tah, kde maximalizujeme svůj zisk, s tahem

Interaktivní segmentace obrazu s využitím algoritmu pro maximalizaci toku v síti.

Introduction to MS Dynamics NAV

Popis tlačítek a funkcí: Dálkový ovladač: CZ - 2

Evoluční algoritmy I - poznámky

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Klasifikace a predikce. Roman LUKÁŠ

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program


Usnesení 90. mimořádné schůze rady městského obvodu konané dne /RMObM-Sle/1014/90

Angličtina v matematických softwarech 2 Vypracovala: Mgr. Bronislava Kreuzingerová

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

kupi.cz Michal Mikuš

Grafové algoritmy. Programovací techniky

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Grafové algoritmy. Programovací techniky

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

18.VY_32_INOVACE_AJ_UMB18, Frázová slovesa.notebook. September 09, 2013

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

EU peníze středním školám digitální učební materiál

Chapter 7: Process Synchronization

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE. 2016/2017 Monika Knolová

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

2. Řešení úloh hraní her Hraní her (Teorie a algoritmy hraní her)

Uvažujeme jen hry s nulovým součtem, tj. zisk jednoho. Střídá se náš tah, kde maximalizujeme svůj zisk, s tahem

Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek /

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Plánování úloh na jednom stroji

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha


Fakulta elektrotechnická

Návštěvy. Aug 1, Aug 31, This report shows the number of visits to your web site during the selected period.

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Úvod do programování

Postřehová hra. Zadání projektu. 1 Moje cíle

Digitální učební materiál

Cluster Analysis based on Bio-Inspired Algorithms

Dijkstrův algoritmus (připomenutí)

Arduino Ethernet Shield W5100 R3

PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Vraťme se k základům: DFS = Depth First Search

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Střední odborná škola a Střední odborné učiliště, Chrudim, Čáslavská 205. Keywords: The wedding banquet, The seating arrangement, Wedding customs

OBJEKTOVÁ KNIHOVNA EVOLUČNÍCH ALGORITMŮ

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Paralelní grafové algoritmy

UPM3 Hybrid Návod na ovládání Čerpadlo UPM3 Hybrid 2-5 Instruction Manual UPM3 Hybrid Circulation Pump 6-9

Dynamické programování

Compression of a Dictionary

PARA Filozofové, kuřáci a holič

Digitální učební materiál

14. Složitější konstrukce


On large rigid sets of monounary algebras. D. Jakubíková-Studenovská P. J. Šafárik University, Košice, Slovakia

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Základní pojmy I. EVOLUCE

Úvod do celočíselné optimalizace

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Úvod do Operačních Systémů

2. Entity, Architecture, Process

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

Chit Chat 2 - Lekce 4

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES

Diskrétní kombinatorické úlohy. Týden 12. Diskrétní kombinatorické úlohy. Příklady úloh. Typy úloh. Typ 2: Problém 0/1-lineárního programování

Mut goes shopping VY_22_INOVACE_27. Vzdělávací oblast: Jazyk a jazyková komunikace. Vzdělávací obor: Anglický jazyk. Ročník: 6

ŘEŠENÍ PROBLÉMU LOKACE HUBŮ POMOCÍ GENETICKÉHO ALGORITMU SOLVING THE SINGLE ALLOCATION HUB LOCATION PROBLEM USING GENETIC ALGORITHM

PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Transkript:

Heuristické řešení problémů Seminář APS Tomáš Müller 6. 7. 00

Heuristické řešení problémů Popis několika základních metod lokální prohledávání branch and bound simulated annealing, TABU evoluční algoritmy Použití na problém obchodního cestujícího

Problém obchodního cestujícího (TSP) vrcholy města hrany cesty, ohodnocení nejkratší (nejlevnější) cesta každé město navštíví právě jednou varianty symetrie trojúhelníková nerovnost cesta mezi každými dvěma městy ( ) S = n!

Heuristické řešení problémů reprezentace pořadí navštívených měst permutace seznam hran cíl nalezení cesty s minimální délkou ohodnocení délka cesty řešení eval(x) compare( x, y) x F S; y F eval( x) eval( y)

Lokální prohledávání množina sousedních řešení operátor -swap x N (x) S operátor -interchange best = initial solution; for i= step until MAX_TRIES do begin s = initial solution; for j= step until MAX_ITERS do begin s = random neighbour(s) if (eval(s ) better eval(s)) then s=s end if (eval(s) better eval(best)) then best=s; end return best;

Lokální prohledávání TSP -swap -interchange -optimal řešení

Lin-Kernighan δ-path a b c d e i f g a-b-c-d-e-f-g-h-i-d switch(d,e) h T= random tour; best_cost=cost(t); for each node k of T do for each edge (i,k) of T begin C: if there is j!=k such that dist(i,j)<=dist(i,k) then p = δ-path (T,i,k,j) // (i,k) -> (i,j) else goto B; A: T = construct tour (p); if (eval(t)<=best_cost) then store T; best_cost=eval(t); if there exists a switch of p resulting in δ-path with cost not greater then eval(t) then p = that switch; goto A; B: if (eval(t)<best_cost) then store T; best_cost=eval(t); if there remain untested node/edges comb. then goto C; end

Branch and bound - TSP (,) (,3) (,) (,3) (3,4) --3-4 S (,) (,) (,) (,3) (,) (,3) (,4) (4,3) --4-3 (,) (,3) (,) (,3) (3,) (,4) -4--3 (,) (,3) hranová reprezentace cesty odhad řešení ( + 5) + ( + 5) + (4 + 4) + (4 4) (3 4) (3 5) + + + + + 5 7 6 5 3 7 6 6 4 4 4

Stochastic hill-climer pravděpodobnost přijetí řešení p = eval( s) eval( s' ) T + e (maximalizace) 0.75 0 0.5 s= initial solution; 50 0.77 for i= step until MAX_ITERS do begin s = random neighbour(s) 0e0 0.9999 if (random(0,)</(+exp[(eval(s)-eval(s ))/T]) ) then s=s ; end return s; T 5 0 e 3 e-7 T 0.0743 P.00 0.93 0.78 0.66 0.56 0.5

Simulated annealing teplota T harmonogram chladnutí g(t,i) s= initial solution; i = 0; repeat repeat s = random neighbour(s) if (eval(s ) > eval(s)) or p = (random[0,)<exp[(eval(s )-eval(s))/t]) then s=s ; until (terminal-condition) T = g(t,i); i++; until (halting-condition) return s; eval( s') eval( s) T e

Tabu search paměť (pevné délky) tabu list n posledních ohodnocení např. list (proměnná, hodnota) aspirační kritéria TSP: Knox alg. -interchange paměť nové hrany v operátoru -interchange tabu pokud jsou obě v tabu listu délky tabu-listu 3n, max. itrací kn 4

Evoluční algoritmy populace cesty obchodního cestujícího nová populace výběr a křížení několika jedinců (křížení jejich genů) náhodný výběr výběr dle kvality jedinců (např. tournament selection) mutace vyniklých jedinců variation operator náhodná změna genu heuristika optimalizace jedince výběr cílové populace pouze z nových jedinců, ze všech jedinců

Evoluční algoritmy - křížení rodiče operátor crossover permutace P = [356 478] P rodič = [365487] heuristic crossover cut points = [563487] náhodně zvol hrany (i,j) (k,m), pokud O dist ( i, j) + dist( k, m) > dist( i, m) + dist( k, j) vyměn zvolené hrany za (i,m) a (k,j)

Evoluční algoritmy - křížení P P P P P PMX (partially-mapped) P = [3456789] = [4587693] OX (order) = [3456789] = [4587693] CX (cycle) O O O O O = [ xxx876 xx] O = [ xxx 4567 xx] 7 6 6 7 = [ x3876 x9] O = [4387659] = [ xx 456793] O = [8 4567 93] = [ xxx 4567 xx] = [ xxx876 xx] O O 4 8 5 = [8 4567 93] = [3458769] = [ 3456789] O = [xxxxxxxx] = [xx4xxxxx] = [4876935] = [xx4xxx8x] = [34xxx8x] = [3476985]

Evoluční alg. + local search P(0)=initial population; t=0; apply local optimizer to P(0); evaluate P(0); while (not termination-condition) do begin t++; select P(t) from P(t-); alter P(t); apply local optimizer to P(t); evaluate P(t); end; lokální prohledávání Lin-Kernighan -opt, 3-opt alter rekombinace mutace Padberg-Rinaldi OX operátor

Iner-over operator P=initial population; c=3 c =5 while (not termination-condition) do begin for each tour T from P do T = [,3,9,4,,5,8,6,7] T <-T; select (randomly) a city c from T ; repeat T ' = [,3,5,,4,9,8,6,7] if (rand()<=p) then select c from remaining cities in T ; else select (randomly) any tour from P; c = next city after c in selected tour; invert the selection from the next city c to the city c in T ; c = c ; if (eval(t )<=eval(t)) T<-T ; end; end; př.

TSP - benchmarks Náhodné rozmístění měst (Euklidovský prostor) * očekávaná délka nejkratší cesty L = k n R Held-Karp n 00 0.59.357 3.07474 k = 0.70805 + + n n n n Bonomi-Lutton k = 0.749 Kolekce veřejně dostupných testovacích úloh http://www.iwr.uni-heidelberg.de /iwr/comopt/soft/tsplib95/tsplib.html

Závěř Čerpáno z knihy Z.Michalewicz, D.B.Fogel How to Solve It: Modern Heuristics Springer, 000