Python implementation of coupled simulated annealing (CSA)
Project description
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.