Simulated Annealing To minimize the wire length. Combinatorial Optimization The Process of searching the solution space for optimum possible solutions.

Slides:



Advertisements
Similar presentations
Ali Husseinzadeh Kashan Spring 2010
Advertisements

H EURISTIC S OLVER  Builds and tests alternative fuel treatment schedules (solutions) at each iteration  In each iteration:  Evaluates the effects of.
CS6800 Advanced Theory of Computation
Partially Observable Markov Decision Process (POMDP)
Neural and Evolutionary Computing - Lecture 4 1 Random Search Algorithms. Simulated Annealing Motivation Simple Random Search Algorithms Simulated Annealing.
Simulated Annealing Premchand Akella. Agenda Motivation The algorithm Its applications Examples Conclusion.
Simulated Annealing General Idea: Start with an initial solution
1 Using ANN to solve the Navier Stoke Equations Motivation: Solving the complete Navier Stokes equations using direct numerical simulation is computationally.
Simulated annealing... an overview. Contents 1.Annealing & Stat.Mechs 2.The Method 3.Combinatorial minimization ▫The traveling salesman problem 4.Continuous.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Iterative improvement algorithms Prof. Tuomas Sandholm Carnegie Mellon University Computer Science Department.
MAE 552 – Heuristic Optimization Lecture 8 February 8, 2002.
Recent Development on Elimination Ordering Group 1.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Use of Simulated Annealing in Quantum Circuit Synthesis Manoj Rajagopalan 17 Jun 2002.
Task Assignment and Transaction Clustering Heuristics.
Reconfigurable Computing (EN2911X, Fall07)
Simulated Annealing 10/7/2005.
1 Simulated Annealing Terrance O ’ Regan. 2 Outline Motivation The algorithm Its applications Examples Conclusion.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
MAE 552 – Heuristic Optimization Lecture 10 February 13, 2002.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.4: Local search (Simulated annealing and tabu search)
Tutorial 4 (Lecture 12) Remainder from lecture 10: The implicit fitness sharing method Exercises – any solutions? Questions?
Introduction to Simulated Annealing 22c:145 Simulated Annealing  Motivated by the physical annealing process  Material is heated and slowly cooled.
By Rohit Ray ESE 251.  Most minimization (maximization) strategies work to find the nearest local minimum  Trapped at local minimums (maxima)  Standard.
Elements of the Heuristic Approach
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
1 IE 607 Heuristic Optimization Simulated Annealing.
POWER-DRIVEN MAPPING K-LUT-BASED FPGA CIRCUITS I. Bucur, N. Cupcea, C. Stefanescu, A. Surpateanu Computer Science and Engineering Department, University.
Ashley Brinker Karen Joseph Mehdi Kabir ECE 6332 – VLSI Fall 2010.
Lecture 4. RAM Model, Space and Time Complexity
Some Uses of Probability Randomized algorithms –for CS in general –for games and robotics in particular Testing Simulation Solving probabilistic problems.
1 Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
FORS 8450 Advanced Forest Planning Lecture 11 Tabu Search.
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh University of Maryland Bruce Golden University.
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
CAS 721 Course Project Minimum Weighted Clique Cover of Test Set By Wei He ( )
Introduction to Simulated Annealing Study Guide for ES205 Xiaocang Lin & Yu-Chi Ho August 22, 2000.
Simulated Annealing. Difficulty in Searching Global Optima starting point descend direction local minima global minima barrier to local search.
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
Optimization Problems
Heuristic Methods for the Single- Machine Problem Chapter 4 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R2.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
1 Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Evolutionary Computation Evolving Neural Network Topologies.
Optimization Problems
Scientific Research Group in Egypt (SRGE)
CSCI 4310 Lecture 10: Local Search Algorithms
Department of Computer Science
Heuristic Optimization Methods
By Rohit Ray ESE 251 Simulated Annealing.
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
ECE 556 Project Presentation
Heuristic search INT 404.
Optimization Problems
Optimization with Meta-Heuristics
School of Computer Science & Engineering
Introduction to Simulated Annealing
Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier, 2014
Simulated Annealing & Boltzmann Machines
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Simulated Annealing To minimize the wire length

Combinatorial Optimization The Process of searching the solution space for optimum possible solutions NP hard problems are taken care by this Methods : 1. Deterministic 2. Heuristic

Heuristic approach Not guaranteed to get an exact solution. Can be many solution. Every different sample new results. Iterative Improvements Simulated annealing Genetic algorithm

Simulated Annealing Basically we have a current soltion and we change the parameters and obtain a new solution and then see whether the new solution is good or not if so accept it and go further till a time has reached.

Basic Iteration We decide to move the system to the new state based on the probability that the system ultimately reaches the lowest energy state. We continue doing it till the best possible solution is received or the resources are exhausted.

Neighbours of the state The neighbors of the state are specified by the user.

Transition Probability Probability of making a transition is decided based on the function P(ΔE,T) Where Δ E=E(S’)-E(S)..... T :- Temperature. We don’t stay at a false minimum.

Annealing schedule Initially the system assumes the highest possible energy level and then it is gradually decreased.

Pseudo Code s := s0 e := E(s) k := 0 while k emax sn := neighbour(s) en := E(sn) if random() < P(en - e, temp(k/kmax)) then s := sn; e := en k := k + 1 return s

State Neighbours Choosing the neighbours is very critical, always swap adjacent neighbors state not any arbitrary state. Chances are more likely that energy increases when we swap any arbitrary state, rather than adjacent swap.

My Implementation

Inputs and Outputs 1. Input (a) BDNET file (b) No of iterations at each temperature (c) No of Temperature points to try 2. Output (a) Placement of the optimized Cells (b) Plot of the Cost function

Net List File The Standard Open format BDNET format. MODEL sample:unplaced; TECHNOLOGY scmos; VIEWTYPE SYMBOLIC; EDITWTYLE SYMBOLIC; INPUT clk,a1; OUTPUT z ; SUPPLY Vdd; GROUND GND; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/nanf251": physical NAME: "u1" "GND!" : UNCONNECTED; "Vdd!" : UNCONNECTED; "O" : "n0"; "A1" : "a1"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u2" "GND!" : UNCONNECTED; 12 "Vdd!" : UNCONNECTED; "O" : "z0"; "A1" : "clk"; "B!" : "n0"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u3" "GND!" : UNCONNECTED; "Vdd!" : UNCONNECTED; "O" : "z1"; "A1" : "n0"; "B!" : "clk";

Test Computers These Tests are performed on the Test Computer with Linux OS Intel 1.7GHZ Celeron 128 MB RAM 845 Chipset Motherboard.

Sample1 1. Total Size : 14 Cells. 2. Total Nets : Initial Cost : Final Cost : 23,22,23 5. Initial temperature: Percent Reduction in Cost = 26 percent 7. Iteration = Temperature Steps : 100

Initial Placement

Final Placement

Sample Circuit 2: 8 bit Full Adder with Register 1. Total Size : 73 Cells. 2. Total Nets : Initial Cost : Final Cost : 154,158, Initial temperature: Percent Reduction in Cost = 226 percent 7. Iteration = Temperature Steps : 100

Sample Circuit 3 1. Total Size : 93 Cells. 2. Total Nets : Initial Cost : Final Cost : 138,144, Initial temperature: Percent Reduction in Cost = 189 percent 7. Iteration = Temperature Steps : 100

Sample Circuit 4: ALU 1. Total Size : 439 Cells. 2. Total Nets : Initial Cost : Final Cost : 1633,1624, Initial temperature: Percent Reduction in Cost = 355 percent 7. Iteration = Temperature Steps : 100

Sample Circuit 5: 8x8 Bit Multiplier 1. Total Size : 441 Cells. 2. Total Nets : Initial Cost : Final Cost : 1366,1409, Initial temperature: Percent Reduction in Cost = 420 percent 7. Iteration = Temperature Steps : 100

Matlab Plot (for ALU)

Cost vs No:of Cells

Time vs no:of cells

Real Life Scenario Lets assume the Pentium 4 processor has 55 million transistors and each transistor takes 1 cell then in that case my algorithm took 21 seconds for 441 cells. So for 55x106 cells it will take 30 days. Consider this: /x = 441/21 X= *21/441 X= seconds X=727 hours X=30 days (1month)