Che cosa è la ricottura simulata?
Il simulated annealing è un metodo per risolvere problemi di ottimizzazione non vincolati e con vincoli. Il metodo modella il processo fisico di riscaldamento di un materiale e successivo lento abbassamento della temperatura per ridurre i difetti, riducendo così al minimo l'energia del sistema.
A ogni iterazione dell'algoritmo di ricottura simulata, viene generato casualmente un nuovo punto. La distanza del nuovo punto dal punto attuale, ovvero l'estensione della ricerca, si basa su una distribuzione di probabilità con una scala proporzionale alla temperatura. L'algoritmo accetta tutti i nuovi punti che abbassano l'obiettivo, ma anche, con una certa probabilità, i punti che lo alzano. Accettando i punti che innalzano l'obiettivo, l'algoritmo evita di rimanere intrappolato nei minimi locali ed è in grado di esplorare globalmente per trovare più possibili soluzioni. Viene selezionato un programma di ricottura per ridurre sistematicamente la temperatura man mano che l'algoritmo procede. Man mano che la temperatura diminuisce, l'algoritmo riduce l'estensione della sua ricerca per convergere al minimo.