Unified Software Design Patterns for Simulated Annealing

Authors: ...
 23rd Feb 2023  arXiv Download
Posted by Alumni
March 18, 2025
Any optimization algorithm programming interface can be seen as a black-box function with additional free parameters. In this spirit, simulated annealing (SA) can be implemented in pseudo-code within the dimensions of a single slide with free parameters relating to the annealing schedule. Such an implementation, however, necessarily neglects much of the structure necessary to take advantage of advances in computing resources and algorithmic breakthroughs. Simulated annealing is often introduced in myriad disciplines, from discrete examples like the Traveling Salesman Problem (TSP) to molecular cluster potential energy exploration or even explorations of a protein's configurational space. Theoretical guarantees also demand a stricter structure in terms of statistical quantities, which cannot simply be left to the user. We will introduce several standard paradigms and demonstrate how these can be "lifted" into a unified framework using object-oriented programming in Python. We demonstrate how clean, interoperable, reproducible programming libraries can be used to access and rapidly iterate on variants of Simulated Annealing in a manner which can be extended to serve as a best practices blueprint or design pattern for a data-driven optimization library. learn more on arXiv
AUTHORS
Software Engineering
Software Engineering
Software Engineering
Software Engineering
Software Engineering
ATTACHMENTS

WE USE COOKIES TO ENHANCE YOUR EXPERIENCE
Unicircles uses cookies to personalize content, provide certain advanced features, and to analyze traffic. Per our privacy policy, we WILL NOT share information about your use of our site with social media, advertising, or analytics companies. If you continue using Unicircles by clicking below link, you agree to our use of Cookies while using Unicircles.
I AGREELearn more
x