Unified Software Design Patterns for Simulated Annealing
Rohit Goswami (Science Institute, University of Iceland, Quansight, Labs), Ruhila S. (Department of Biological Sciences, Indian Institute of, Science Education, Research Mohali), Amrita Goswami (Science Institute,, University of Iceland), Sonaly Goswami (Department of Chemistry

TL;DR
This paper introduces a unified, object-oriented programming framework in Python for implementing and extending simulated annealing algorithms, promoting best practices, interoperability, and rapid iteration across diverse optimization problems.
Contribution
It presents a novel unified design pattern for simulated annealing that enhances flexibility, reusability, and scalability in optimization algorithm implementations.
Findings
Unified framework facilitates rapid prototyping of SA variants
Object-oriented design improves code interoperability and reproducibility
Blueprint for best practices in data-driven optimization libraries
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Scientific Computing and Data Management · Distributed and Parallel Computing Systems
