global optimization simulated annealing and tabu search€¦ · zderived its name from the...
TRANSCRIPT
1
Global OptimizationSimulated Annealing and Tabu Search
Doron Pearl
2
A Greedy Approach
Iteratively minimize current state, by replacing it by successor state that has lower value.
When successor is higher – return.
3
A Greedy Approach
ProblemMost Minimization strategies find thenearest local minimum.
startingpoint
descenddirection
local minimum
global minimum
barrier to local search
4
Bouncing BallGoal: Find the lowest valley in a terrain.Approach: A bouncing ball.
Process1. At the beginning allow the ball to make high bounces.2. Slowly decreases the maximum bounce.
startingpoint
descenddirection
local minimum
global minimum
Will jump barrier
5
Physical Annealing Process
Gradual cooling of liquid …At high temperatures, molecules move freelyAt low temperatures, molecules are "stuck“
if cooling is slowLow energy, organizedcrystal lattice formed.
6
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]
7
Algorithm’s SketchStep 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 temperaturevalue by lowering the temperature. Go back to Step 2.
The process is done until “Freezing Point” is reached.
8
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
9
Rosenbrock Function
2 2 22 1[(1 ) 100 ]f x x x= − + × −
SA’s performance on the Rosenbrock function (2D):
Search Pattern Objective reduction
10
General SA Software Overview
Simulated AnnealingAlgorithm
Evaluationfunction e(x)
Perturbationfunction p(x)
Initial configuration X0 Xbest
Xhistory
Options(e.g. annealing schedule)
11
Software: ASAAdaptive 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 ASAReference: Lester Ingber, California Institute of Technologyhttp://www.ingber.com/ASA-README.html
12
Software: parSA
parSA – Parralel Simulated Annealing Code in C/C++University of Paderborn, Germanyhttp://wwwcs.uni-paderborn.de/fachbereich/AG/monien/SOFTWARE/PARSA/
Public, Using MPI, Platform independent
13
More Software
JSimul – Simulated Annealing Code in Java Taygeta Scientific Inc. http://www.theblueplanet.org/JSimul_readme.html
GOFFE – Fortan implementationWilliam Goffe, Barkely Californiahttp://emlab.berkeley.edu/Software/abstracts/goffe895.html
simanneal – Simulated Annealing Code in C, C++ and ADATaygeta Scientific Inc. http://www.taygeta.com/annealing/simanneal.html
14
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
15
Tabu Restrictions
When we would tag a move as a Tabu ?Enforce tabu restrictions.
Example 1: After a move that changes the value of xifrom 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 -
16
Basic Tabu Search Algorithm1. initialize current-solution c to some random solution2. for x 1 to num-iterations
1. generate and estimate neighbors of c2. prune neighbors that are in the tabu-list3. c best of remaining neighbors4. update tabu-list
3. return c
Best neighborTabu
17
Tabu Move
Best neighborTabu
18
Software
No “off the shelf” codes because generally each problemrequires particular implementation.
Some code framework are available -
OpenTS – Java Tabu Search.http://www.coin-or.org/OpenTS/, CPL LicenseMetslib – meta heuristics framework in C++- GNU, OOhttp://code.100allora.it/metslib
You would still need to add your own implementation(neighborhood generator, solution estimator etc…)
19
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.
20
TS vs. SA
In 10 out 15 problems TS found a better (smaller) cost function
TS gives a better result for average costs
21
TS vs. SAFor the problem 100.15.20.30:
Cos
t Val
ue
Number of MovesIterations per move for SA
SA needs more iterations as it
proceeds
TS always finds better solutions
22
TS vs. SACPU time in seconds (averaged over 10 runs) required by TS and SA to carry out 200,000 moves
• Move=A better solution was found
• SA won’t find a move in most iterations
It takes about half the time for TS
23
TS vs. SA
Influence of the initial temp. of SA on the cost function:
Bad results when the size is too small
or too big
Influence of the size of TS’list on the cost function:
For the problem 100.15.20.30:
SA is sensitive to initial temp.
24
Bibliography
Randomized Feature Selection, PRISM Texas A&M Universityhttp://research.cs.tamu.edu/prism/lectures/pr/pr_l12.pdf
Simulated Annealing, Statistical Computing, University of Michiganhttp://www.sph.umich.edu/csg/abecasis/class/2006/615.19.pdf
Artificial Intelligence Seminar, Adele Howe, Colarado State Universitywww.cs.colostate.edu/~howe/cs540/lectures/adv-search06.pdf
Tabu Search for Military Analysis, Ray Hill, Department of Operational Sciences Air Force Institute of Technologywww.mors.org/meetings/new_techniques/briefs/Hill.pdf
Simulated Annealing and Tabu Search for Constraint Solving, Jin-Kao-Hao and Jerome Pannier (1998), Parc Scientifique Georges Besse Nimes, France