Simulated Annealing 10/7/2005.

Slides:



Advertisements
Similar presentations
Decision Support Andry Pinto Hugo Alves Inês Domingues Luís Rocha Susana Cruz.
Advertisements

Local Search Algorithms
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... an overview. Contents 1.Annealing & Stat.Mechs 2.The Method 3.Combinatorial minimization ▫The traveling salesman problem 4.Continuous.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
Local search algorithms
Local search algorithms
Two types of search problems
1 Chapter 5 Advanced Search. 2 Chapter 5 Contents l Constraint satisfaction problems l Heuristic repair l The eight queens problem l Combinatorial optimization.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Beyond Classical Search
Placement 1 Outline Goal What is Placement? Why Placement?
1 Chapter 5 Advanced Search. 2 l
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
1 Simulated Annealing Terrance O ’ Regan. 2 Outline Motivation The algorithm Its applications Examples Conclusion.
Simulated Annealing Van Laarhoven, Aarts Version 1, October 2000.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Stochastic Relaxation, Simulating Annealing, Global Minimizers.
Informed Search Next time: Search Application Reading: Machine Translation paper under Links Username and password will be mailed to class.
Introduction to Simulated Annealing 22c:145 Simulated Annealing  Motivated by the physical annealing process  Material is heated and slowly cooled.
Simulated Annealing G.Anuradha. What is it? Simulated Annealing is a stochastic optimization method that derives its name from the annealing process used.
Elements of the Heuristic Approach
Copyright R. Weber Search in Problem Solving ISYS 370 Dr. R. Weber.
Local Search and Optimization
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
1 IE 607 Heuristic Optimization Simulated Annealing.
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
Local Search Algorithms This lecture topic Chapter Next lecture topic Chapter 5 (Please read lecture topic material before and after each lecture.
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
CS 484 – Artificial Intelligence1 Announcements Homework 2 due today Lab 1 due Thursday, 9/20 Homework 3 has been posted Autumn – Current Event Tuesday.
1 Chapter 5 Advanced Search. 2 Chapter 5 Contents l Constraint satisfaction problems l Heuristic repair l The eight queens problem l Combinatorial optimization.
Simulated Annealing.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
Local Search Algorithms
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
Simulated Annealing G.Anuradha.
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.
Local search algorithms In many optimization problems, the state space is the space of all possible complete solutions We have an objective function that.
Optimization Problems
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
Local Search. Systematic versus local search u Systematic search  Breadth-first, depth-first, IDDFS, A*, IDA*, etc  Keep one or more paths in memory.
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
Chapter 5. Advanced Search Fall 2011 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
Lecture 6 – Local Search Dr. Muhammad Adnan Hashmi 1 24 February 2016.
Local Search Algorithms and Optimization Problems
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)
Constraints Satisfaction Edmondo Trentin, DIISM. Constraint Satisfaction Problems: Local Search In many optimization problems, the path to the goal is.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Optimization Problems
Scientific Research Group in Egypt (SRGE)
CSCI 4310 Lecture 10: Local Search Algorithms
Simulated Annealing Chapter
Simulated Annealing Premchand Akella.
Department of Computer Science
Heuristic Optimization Methods
Van Laarhoven, Aarts Version 1, October 2000
Artificial Intelligence (CS 370D)
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Optimization Problems
CSE 589 Applied Algorithms Spring 1999
Introduction to Simulated Annealing
Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier, 2014
Artificial Intelligence
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Presentation transcript:

Simulated Annealing 10/7/2005

Local Search algorithms Search algorithms like breadth-first, depth-first or A* explore all the search space systematically by keeping one or more paths in memory and by recording which alternatives have been explored. When a goal is found, the path to that goal constitutes a solution. Local search algorithms can be very helpful if we are interested in the solution state but not in the path to that goal. They operate only on the current state and move into neighboring states .

Local Search algorithms Local search algorithms have 2 key advantages: They use very little memory They can find reasonable solutions in large or infinite (continuous) state spaces. Some examples of local search algorithms are: Hill-climbing Random walk Simulated annealing

Annealing Annealing is a thermal process for obtaining low energy states of a solid in a heat bath. The process contains two steps: Increase the temperature of the heat bath to a maximum value at which the solid melts. Decrease carefully the temperature of the heat bath until the particles arrange themselves in the ground state of the solid. Ground state is a minimum energy state of the solid. The ground state of the solid is obtained only if the maximum temperature is high enough and the cooling is done slowly.

Simulated Annealing The process of annealing can be simulated with the Metropolis algorithm, which is based on Monte Carlo techniques. We can apply this algorithm to generate a solution to combinatorial optimization problems assuming an analogy between them and physical many-particle systems with the following equivalences: Solutions in the problem are equivalent to states in a physical system. The cost of a solution is equivalent to the “energy” of a state.

Simulated Annealing To apply simulated annealing with optimization purposes we require the following: A successor function that returns a “close” neighboring solution given the actual one. This will work as the “disturbance” for the particles of the system. A target function to optimize that depends on the current state of the system. This function will work as the energy of the system. The search is started with a randomized state. In a polling loop we will move to neighboring states always accepting the moves that decrease the energy while only accepting bad moves accordingly to a probability distribution dependent on the “temperature” of the system.

Simulated Annealing Decrease the temperature slowly, accepting less bad moves at each temperature level until at very low temperatures the algorithm becomes a greedy hill-climbing algorithm. The distribution used to decide if we accept a bad movement is know as Boltzman distribution. This distribution is very well known is in solid physics and plays a central role in simulated annealing. Where γ is the current configuration of the system, E γ is the energy related with it, and Z is a normalization constant.

Simulated Annealing: the code 1. Create random initial solution γ 2. Eold=cost(γ); 3. for(temp=tempmax; temp>=tempmin;temp=next_temp(temp) ) { 4. for(i=0;i<imax; i++ ) { 5. succesor_func(γ); //this is a randomized function 6. Enew=cost(γ); 7. delta=Enew-Eold; 8. if(delta>0) 9. if(random() >= exp(-delta/K*temp); 10. undo_func(γ); //rejected bad move 11. else 12. Eold=Enew //accepted bad move 13. else 14. Eold=Enew; //always accept good moves }

Simulated Annealing Acceptance criterion and cooling schedule

Practical Issues with simulated annealing Cost function must be carefully developed, it has to be “fractal and smooth”. The energy function of the left would work with SA while the one of the right would fail.

Practical Issues with simulated annealing The cost function should be fast it is going to be called “millions” of times. The best is if we just have to calculate the deltas produced by the modification instead of traversing through all the state. This is dependent on the application.

Practical Issues with simulated annealing In asymptotic convergence simulated annealing converges to globally optimal solutions. In practice, the convergence of the algorithm depends of the cooling schedule. There are some suggestion about the cooling schedule but it stills requires a lot of testing and it usually depends on the application.

Practical Issues with simulated annealing Start at a temperature where 50% of bad moves are accepted. Each cooling step reduces the temperature by 10% The number of iterations at each temperature should attempt to move between 1-10 times each “element” of the state. The final temperature should not accept bad moves; this step is known as the quenching step.

Applications Basic Problems Engineering Traveling salesman Graph partitioning Matching problems Graph coloring Scheduling Engineering VLSI design Placement Routing Array logic minimization Layout Facilities layout Image processing Code design in information theory

Applications: Placement Pick relative location for each gate. Seek to improve routeability, limit delay and reduce area. This is achieved through the reduction of the signals per routing channel, the balancing row width and the reduction of wirelength. The placement also has to follow some restrictions like: I/Os at the periphery Rectangular shape Manhattan routing The cost function should balance this multiple objectives while the successor has to comply with the restrictions.

Applications: Placement In placement there are multiple complex objective. The cost function is difficult to balance and requires testing. An example of cost function that balances area efficiency vs. performance. Cost=c1area+c2delay+c3power+c4crosstalk Where the ci weights heavily depend on the application and requirements of the project

References Aarst, “Simulated annealing and Boltzman machines”, Wiley, 1989. Duda Hart Stork, “Pattern Classification”, Wiley Interscience, 2001. Otten, “The Annealing Algorithm”, Kluwer Academic Publishers, 1989. Sherwani, “Algorithms for VLSI Physical Design Automation”, Kluwer Academic Publishers, 1999.