Towards the Design of Heuristics by Means of Self-Assembly
1. Towards the Design of Heuristics by Means of Self-Assembly German Terrazas gzt@cs.nott.ac.uk Dario Landa-Silva NatalioKrasnogor DCM 2010 Edinburgh, UK
9. How it works:Feedback Feedback 120 fast & well performing selects & combines Hyper-heuristics Space of low-level heuristics Space of solutions 3
10.
11. Self-assembly Wang Tiles SystemSet of tiles square in shape and coloured edges 2D square lattice Matrix M and temperature T Random walk, edge-to-edge (local) interactions: ifM[ci, cj]>T then Stick else Bounce off Wang tiles M = colour-colour strength matrix 4
12. Automated Design of Self-Assembly Wang Tiles Wang tiles system Target structure Fixed T, Fixed M Q1: Is it possible to make an automated design of tiles capable of obtaining a particular supra-structure by means of SA? A1: Yes. 5
13. Assembled heuristic Execution threads (sequences of low level heuristics) by random walk (currently) Self-Assembly Heuristics + 6
14. Combinatorial Optimisation Problem HOW TO COMBINE ? Low-level heuristics Q2: Is it possible to automatically design an assembly of heuristics, the execution threads of which find high quality solutions to a given COP ? Q3: If Q2 is yes, is it possible to apply the same methodology to a different COP ? P R O B L E M Execution Threads Analysis 1 Execution Threads Assembled Heuristics Assembled Heuristics Characterisation 2 Morphology of Assemblies Evolutionary Design 3 ASSEMBLIES FOR 7
17. Q2: If yes, how reliable are these combinations ? 1. COLLECT N_execution_threads 2. for EACH execution thread { 3. APPLY to a COP instance 4. } 5. FILTER BEST_execution_threads * 6. APPLY MSA (e.g. Muscle) 7. ANALYSE patterns of heuristics 8. GEN common_execution_thread * 9. GEN RND_execution_threads + 10. for EACH (* and +) { 11. APPLY to a COP instance 12. } 13.Assessment 8
18.
19. Low level heuristics:2-EXCHANGE: randomly selects 2 edges for removal and insertion 1-CITY INSERTION: randomly selects subtour of size 1 and inserts it elsewhere in the tour ARBITRARY INSERTION: removes a random subtourS and reinserts each city of S in the cheapest way INVER-OVER: removes a random subtourS and reinserts S inverted 2-OPT: eliminates and reconnects the two edges that best minimise the length of the tour 3-OPT: eliminates and reconnects the three edges that best minimise the length of the tour OR-OPT: in turns eliminates and inserts subtours of three, two and one consecutive cities that best minimises the length of the tour NODE INSERTION: removes and reinserts the city which best minimises the length of the tour 9
20.
21. way to explore different lengths systematically
25. Q1: Are there “common” combinations of heuristics among the execution threads ? 5. FILTER BEST_execution_threads 6. APPLY MSA (e.g. Muscle) 7. ANALYSE patterns of heuristics A T 2-EXCHANGE 1-CITY INSERTION F NODE INSERTION C 2-OPT ET1 EDEDGAGAGACFCAC ET2 GGDDDGDDHA ET3 ETHEEGCGTGCDC ET4 TDGDGGGDDATD ET5 FTFTTFAGCCCGCT D 3-OPT G ARBITRARY INSERTION E OR-OPT H INVER-OVER Local search strategies A1: Yes, there are common combinations common execution thread 11
26. 8. GEN common_execution_threads 9. GEN RND_execution_threads 10. for EACH execution thread { 11. APPLY to a COP instance 12. } 13.Assessment Q2: How reliable are these combinations ? For each (ETi / CET) Generate 300 copies Generate 300 RND execution thread Evaluate copies & RND 10 times 300 RND ETs evaluated 10 times 300 RND ETs evaluated 10 times 300 ET2 copies evaluated 10 times 300 CET copies evaluated 10 times Arrangements not considered in the ET collection 12