Simulated Annealing Optimization
Simulated annealing is an optimization algorithm that skips local minimun. It uses a variation of Metropolis algorithm to perform the search of the minimun. It is recomendable to use it before another minimun search algorithm to track the global minimun instead of a local ones.
Usage: [x0,f0]sim_anl(f,x0,l,u,Mmax,TolFun)
INPUTS:
f = a function handle
x0 = a ninitial guess for the minimun
l = a lower bound for minimun
u = a upper bound for minimun
Mmax = maximun number of temperatures
TolFun = tolerancia de la función
OUTPUTS:
x0 = candidate to global minimun founded
f0 = value of function on x0
Example:
The six-hump camelback function:
camel= @(x)(4-2.1*x(1).^2+x(1).^4/3).*x(1).^2+x(1).*x(2)+4*(x(2).^2-1).*x(2).^2;
has a doble minimun at f(-0.0898,0.7126) = f(0.0898,-0.7126) = -1.0316
this code works with it as follows:
[x0,f0]=sim_anl(camel,[0,0],[-10,-10],[10,10],400)
and we get:
x0=[-0.0897 0.7126]
Cite As
Héctor Corte (2024). Simulated Annealing Optimization (https://www.mathworks.com/matlabcentral/fileexchange/33109-simulated-annealing-optimization), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: General simulated annealing algorithm
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |