scikit-opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing
...The package can address continuous objectives, constrained problems, and combinatorial tasks such as the traveling salesman problem. 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.