Writing a custom annealing function

3 views (last 30 days)
ch
ch on 16 Oct 2019
Answered: Rushil on 30 Apr 2025
I'm trying to write my own 'AnnealingFcn' for simulannealbnd, right now I have:
options = optimoptions(@simulannealbnd,'Display','iter','MaxIter',10000,'InitialTemperature',500,'AnnealingFcn',@annealingboltz);
Instead of @annealingboltz, which chooses a direction uniformly at random, I want to write my own function which uses a gaussian with the standard deviation being some function of the temperature. Can anyone point me in the right direction about how to implement this?

Answers (1)

Rushil
Rushil on 30 Apr 2025
Hello
I see that you wish to write a custom annealing function from “simulannealbnd”. This can be accomplished by modifying the options parameters for algorithm settings, as shown at the documentation link below:
Following the documentation, a custom objective function can be written by modifying the "saannealingfcntemplate.m" file. To keep all iterates within bounds, the custom annealing function should call sahonorbounds as the final command.
Hope it helps

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!