Writing a custom annealing function

1 vue (au cours des 30 derniers jours)
ch
ch le 16 Oct 2019
Réponse apportée : Rushil le 30 Avr 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?

Réponses (1)

Rushil
Rushil le 30 Avr 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!

Translated by