scikit-opt is a Python library for solving optimization problems with evolutionary and swarm-intelligence algorithms. It includes genetic algorithms, particle swarm optimization, differential evolution, simulated annealing, ant colony optimization, immune algorithms, and artificial fish swarms. 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.
Features
- Genetic and differential evolution algorithms
- Particle swarm and artificial fish optimization
- Simulated annealing and ant colony methods
- Equality and inequality constraint support
- Custom user-defined genetic operators
- Vectorized and parallel execution modes