Skip to main content

Python implementation of coupled simulated annealing (CSA)

Project description

Build Status PyPI

Homepage: github.com/structurely/csa.

Coupled simulated annealing (CSA) is a generalization of simulated annealing (SA), which is an optimization algorithm that doesn’t use any information about the derivates of a function. The original paper describing CSA can be found here:

ftp://ftp.esat.kuleuven.be/sista/sdesouza/papers/CSA2009accepted.pdf

Essentially, CSA is like multiple simulated annealing (i.e. m independent SA processes run in parallel), except that the acceptance probability at each step is calculated as a function of the current state across all m processes. For a more complete description of the general CSA algorithm, see Description of CSA.

Installation

Using pip:

pip install pycsa

Directly from GitHub:

pip install git+https://github.com/structurely/csa.git

Usage

See examples/travelling_salesman.ipynb for an example of CSA applied to the travelling salesman problem (TSP).

Contributing

Feel free to submit issues at github.com/structurely/csa/issues and pull requests to the dev branch: github.com/structurely/csa/tree/dev.

License

See LICENSE.txt.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page