11

Implementation of Parallel Simulated Annealing

Embed Size (px)

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 Presentation

Citation preview

Page 1: Implementation of Parallel Simulated Annealing
Page 2: Implementation of Parallel Simulated Annealing

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.

Page 3: Implementation of Parallel Simulated Annealing

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.

Page 4: Implementation of Parallel Simulated Annealing
Page 5: Implementation of Parallel Simulated Annealing

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

Page 6: Implementation of Parallel Simulated Annealing

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

Page 7: Implementation of Parallel Simulated Annealing

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

Page 8: Implementation of Parallel Simulated Annealing

Control node:

Worker node:

Page 9: Implementation of Parallel Simulated Annealing

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

Page 10: Implementation of Parallel Simulated Annealing

Runtime should be roughly same for serial and parallel algorithm

Parallel algorithm is expected to yield a robust solution.

Page 11: Implementation of Parallel Simulated Annealing

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