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]
Citation pour cette source
Héctor Corte (2025). Simulated Annealing Optimization (https://www.mathworks.com/matlabcentral/fileexchange/33109-simulated-annealing-optimization), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Remerciements
Inspiré par : General simulated annealing algorithm
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 |