Anda di halaman 1dari 24

Global Optimization Simulated Annealing and Tabu Search

Doron Pearl

A Greedy Approach
Iteratively minimize current state, by replacing it by successor state that has lower value. When successor is higher return.

A Greedy Approach
Problem Most Minimization strategies find the nearest local minimum.
barrier to local search starting point descend direction local minimum global minimum

Bouncing Ball
Goal: Find the lowest valley in a terrain. Approach: A bouncing ball. Process 1. At the beginning allow the ball to make high bounces. 2. Slowly decreases the maximum bounce.
Will jump barrier starting point descend direction local minimum

global minimum

Physical Annealing Process


Gradual cooling of liquid At high temperatures, molecules move freely At low temperatures, molecules are "stuck if cooling is slow Low energy, organized crystal lattice formed.

Simulated Annealing
A stochastic global optimization method that distinguishes between different local optima. Derived its name from the annealing process used to re-crystallize metals. Simulated annealing is summarized with the following idea: When optimizing a very large and complex system (i.e., a system with many degrees of freedom) , instead of always going downhill, try to go downhill most of the times [Haykin, 1999]

Algorithms Sketch
Step 1: Initialize Start with a random initial placement. Initialize a very high temperature. Step 2: Move Perturb the placement through a defined move. Step 3: Calculate score calculate the change in the score due to the move made. Step 4: Choose Depending on the change in score, accept or reject the move. The probability of acceptance depending on the current temperature. Step 5: Update and repeat Update the temperature value by lowering the temperature. Go back to Step 2. The process is done until Freezing Point is reached.

Basic Algorithm
1. Choose a random Xi, select the initial system temperature, and outline the cooling (ie. annealing) schedule. 2. Evaluate E(Xi) using a simulation model 3. Perturb Xi to obtain a neighboring Design Vector (Xi+1) 4. Evaluate E(Xi+1) using a simulation model 5. If E(Xi+1)< E(Xi), Xi+1 is the new current solution 6. If E(Xi+1)> E(Xi), then accept Xi+1 as the new current solution with a probability e(- /T) where = E(Xi+1) -E(Xi). 7. Reduce T according to the cooling schedule. 8. Terminate the algorithm.

T = System Temperature , E = Objective function

Rosenbrock Function
SAs performance on the Rosenbrock function (2D):

f = [(1 x ) 2 + 100 x2 x12 ]2

Search Pattern

Objective reduction

General SA Software Overview

Initial configuration X0 Options (e.g. annealing schedule)

Simulated Annealing Algorithm

Xbest Xhistory

Evaluation function e(x)

Perturbation function p(x)

10

Software: ASA
Adaptive Simulated Annealing: C code that statistically finds the best global fit of a nonlinear constrained non-convex cost-function. Has over 100 options to provide robust tuning over many classes of nonlinear stochastic systems. Reannealing - periodically rescaling the annealing-time. ASAMIN Matlab Interface for ASA Reference: Lester Ingber, California Institute of Technology http://www.ingber.com/ASA-README.html

11

Software: parSA
parSA Parralel Simulated Annealing Code in C/C++
University of Paderborn, Germany
http://wwwcs.uni-paderborn.de/fachbereich/AG/monien/SOFTWARE/PARSA/

Public, Using MPI, Platform independent

12

More Software
JSimul Simulated Annealing Code in Java Taygeta Scientific Inc.
http://www.theblueplanet.org/JSimul_readme.html

GOFFE Fortan implementation


William Goffe, Barkely California http://emlab.berkeley.edu/Software/abstracts/goffe895.html

simanneal Simulated Annealing Code in C, C++ and ADA


Taygeta Scientific Inc. http://www.taygeta.com/annealing/simanneal.html

13

Tabu Search
(Giordano 96, based on Glover 89) General idea: search a space by choosing a point, and going to its best neighbor that is not in the tabu list. Tabu search is stochastic by nature: not guaranteed to always find an optimal solution even if one exists. The Tabu restriction adds memory to local search prevent cycles / revisiting increase diversity of exploration escape from local optima

14

Tabu Restrictions
When we would tag a move as a Tabu ? Enforce tabu restrictions. Example 1: After a move that changes the value of xi from 0 to 1, we would like to prevent xi from taking the value of 0 in the next p iterations. Example 2: After a move that exchanges the positions of element i and j in a sequence, we would like to prevent elements i and j from exchanging positions in the next p iterations Tabu tenure -

15

Basic Tabu Search Algorithm


1. initialize current-solution c to some random solution 2. for x 1 to num-iterations 1. generate and estimate neighbors of c 2. prune neighbors that are in the tabu-list 3. c best of remaining neighbors 4. update tabu-list 3. return c

16

Best neighbor Tabu

Tabu Move

17

Best neighbor Tabu

Software
No off the shelf codes because generally each problem requires particular implementation. Some code framework are available OpenTS Java Tabu Search. http://www.coin-or.org/OpenTS/, CPL License Metslib meta heuristics framework in C++ - GNU, OO http://code.100allora.it/metslib You would still need to add your own implementation (neighborhood generator, solution estimator etc)

18

Probabilistic Tabu Search


1. Instead of evaluating each neighbor consider only a random sample. 2. When 2 or more neighbors evaluated as best move choose by random. Benefit: Reduce significantly the computational burden. Acts as an anti-cycling mechanism. Allows usage of shorter tabu lists.

19

TS vs. SA
TS gives a better result for average costs

20

In 10 out 15 problems TS found a better (smaller) cost function

TS vs. SA
For the problem 100.15.20.30:

Cost Value

Number of Moves TS always finds better solutions

Iterations per move for SA SA needs more iterations as it proceeds

21

TS vs. SA
CPU time in seconds (averaged over 10 runs) required by TS and SA to carry out 200,000 moves

It takes about half the time for TS

Move=A better solution was found SA wont find a move in most iterations

22

TS vs. SA
For the problem 100.15.20.30: Influence of the size of TS list on the cost function:

Bad results when the size is too small or too big

Influence of the initial temp. of SA on the cost function: SA is sensitive to initial temp.

23

Bibliography
Randomized Feature Selection, PRISM Texas A&M University http://research.cs.tamu.edu/prism/lectures/pr/pr_l12.pdf Simulated Annealing, Statistical Computing, University of Michigan http://www.sph.umich.edu/csg/abecasis/class/2006/615.19.pdf Artificial Intelligence Seminar, Adele Howe, Colarado State University www.cs.colostate.edu/~howe/cs540/lectures/adv-search06.pdf Tabu Search for Military Analysis, Ray Hill, Department of Operational Sciences Air Force Institute of Technology www.mors.org/meetings/new_techniques/briefs/Hill.pdf Simulated Annealing and Tabu Search for Constraint Solving, JinKao-Hao and Jerome Pannier (1998), Parc Scientifique Georges Besse Nimes, France

24