scikit-opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing
...A consistent workflow lets users define an objective, configure an optimizer, run iterations, and inspect the best solution. Genetic algorithm operators can be replaced through user-defined functions or subclassing. Runs may continue from earlier iterations instead of restarting. Vectorization, threading, multiprocessing, caching, examples, and plotting support help users experiment with performance and convergence.