implementation of parallel simulated annealing
DESCRIPTION
Implementation of Parallel Simulated Annealing. Simulated Annealing. A popular heuristic search algorithm to solve NP complete problems Applications: VLSI Routing, placement Named after glass making procedure - PowerPoint PPT PresentationTRANSCRIPT
A popular heuristic search algorithm to solve NP complete problems
Applications: VLSI Routing, placement Named after glass making procedure The fundamental idea is to allow moves
resulting in solutions of worse quality than the current solution (uphill moves) in order to escape from local minima.
The algorithm starts by generating an initial solution and by initializing the temperature parameter T.
A solution s1 from the neighborhood N(s) is accepted as new solution depending on f(s), f(s1) and T.
s1 replaces s if f(s1) < f(s) or, in case f(s1) >= f(s), with a probability which is a function of T and f(s1) – f(s).
The probability is generally computed following the Boltzmann distribution e-(f(s1) - f(s))/T.
Problem: Given a list of cities and their pair wise distances, the task is to find a shortest possible tour that visits each city exactly once.
N! possible paths for N city trip Complexity: NP Complete
Lemma1: any tour can be obtained from any other tour by a sequence of 2-neighbourhood changes
Lemma2: Any neighborhood can be generated at random by generating 2 uniform numbers for i and j
ALGORITHM: s_0 = generate random initial solution t_0 = initial temperature Repeat
◦ select s in N(s_0) (i.e., select i and j)◦ cost = d(v_i, v_j) + d(v_i+1, v_j+1) - d(v_i, v_i+1) - d(v_j+1, v_j)◦ if cost > 0 then s_0 = s◦ else generate random x in (0, 1); if x < exp(-cost/t) then s_0 = s◦ t = t / (1 + b t)
until stopping condition
Run SA algorithm on N nodes with different initial solution
Exchange the partial results among the nodes after a fixed no of iterations
Select the best partial results and continue SA on each node.
Repeat this process
Control node:
Worker node:
Written working code for simulated annealing
Few parts of the control node and worker node are done.
Still have to debug and get parallel simulated annealing working
Do a comparative runtime comparison
Runtime should be roughly same for serial and parallel algorithm
Parallel algorithm is expected to yield a robust solution.
Parallel Simulated Annealing Algorithms by D. JANAKI RAM,1 T. H. SREENIVAS, AND K. GANAPATHY SUBRAMANIAM JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING 37, 207–212 (1996)
Parallel Simulated Annealing by Mixing of States King-Wai Chu,¤ Yuefan Deng,¤ and John Reinitzy Journal of Computational Physics 148, 646–662 (1999)
http://www.cs.duke.edu/brd/Teaching/Previous/AI/Lectures/l4.html
Greening, Daniel R., Parallel simulated annealing techniques, PhysicaD 42 (1990), 293–306.
VLSI CAD Algorithms ECE 6095