The Annealing Algorithm Revisited L.P.P.P. van Ginneken DigiPen Institute of Technology
Outline Channel Routing The Annealing Schedule The Annealing Algorithm The state space
Beginnings January 1982: Yoshimura & Kuh –Horizontal & Vertical Constraint Graphs –Node merging May 1983: Kirkpatrick, Gelatt & Vecchi –Chip placement for TCM –Global routing –Traveling Salesman Sept-Nov 1982: my 1st EDA program –Annealing based channel router
Horizontal Constraints Wire segments are nodes Edge if segments overlap aa abbcc de ed c d e a b
Vertical Constraints Directed graph Based on columns “Segment b must be above a” Cycles aa abbcc de e d d b a
State Space Assigning wire segments to tracks c a b d e
State Space Problems Lots of illegal states –Overlapping Segments Lots of illegal moves –Moving from one legal state to another may require moving a lot of segments Forbid illegal states? –and illegal moves Penalize illegal states?
Solution: Solution space is order (sequence) of wire segments Move: Swap two segments in sequence –Easy to get from legal state to legal state Fewer illegal moves –Horizontal constraints can't cause illegal states –Vertical constraints can cause illegal moves
“Compaction” Compaction process to assign wire segments to tracks Maintains sequence Takes some run time Needed to find number of tracks
Sequence to routing Compaction step
Floor planning Uses two modules sequences Easy to swap modules Estimates of wire length –Not terribly accurate Convert to real floor plan by slicing Floorplan design using simulated annealing. Proc. IEEE Int. Conf. Computer-Aided Design. (Santa Clara, Nov , 1984) ICCAD '84. IEEE Computer Society,
Experiments with Annealing Sample problem: Traveling Salesman
Is Annealing Run Time Efficient?
The Annealing Schedule Control parameter Starting value Stop Criterion Step size Number of iterations
How slow is slow enough?
Tuning the control parameter Time consuming Problem instance dependent Not a “real algorithm” Needs to be automated to become an “Annealing Algorithm”
Chain Statistics t = control parameter (temperature) E = mean score H = accessibility (entropy) σ = standard deviation of score
Mean Score
Two regions Weak control t>T –Score density behaves as normal distribution Strong control t < T –Distribution limited by lower bound
Score Densities
Standard Deviation
Accessibility
Aggregate functions t > Tt < T E(t) σ(t) σ∞σ∞ H(t)
Stop Criterion Further improvement possible Improvement already realized
Begin Temperature t b >> σ Step size Starting Temperature 2kσ t
Structure of the move set Choice of state space and move set Rough or smooth State space plots Traveling salesman problem Reverse vs swap
Swaps
Reversals
Min # of iterations Compare the “size” of the distribution (accessibility) with the rate of dispersion
Min # of iterations
Bibliography Floorplan design using simulated annealing. Proc. IEEE Int. Conf. Computer-Aided Design. (Santa Clara, Nov , 1984) ICCAD '84. IEEE Computer Society, Annealing: the Algorithm. Research Report RC 10861, IBM, Yorktown Heights, NY Stop criteria in simulated annealing. Proc.IEEE Int. Conf. Computer Design. (Rye, Oct.2-6, 1988), ICCD '88. IEEE Computer Society, The Annealing Algorithm. Kluwer Academic, Dordrecht An inner loop criterion for simulated annealing. Physics Letters A. 130, 8–9 (July 1988), 429–435.