guofei9987/scikit-opt

Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm,...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 9th, 2026
Created on December 5th, 2017
Open Issues & Pull Requests: 71 (+0)
GitHub issues: Enabled
Number of forks: 1,108
Total Stargazers: 6,716 (+0)
Total Subscribers: 53 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.9 days
Mean response time: 39.3 days
90th percentile: 111.0 days
Tracked items: 3

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 514 days
Stale 30+ days: 6
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

scikit-opt is a Python library that implements swarm intelligence and evolutionary optimization algorithms including genetic algorithms, particle swarm optimization, simulated annealing, ant colony optimization, immune algorithms, artificial fish swarm algorithms, and differential evolution.

The library addresses the need to apply metaheuristic optimization techniques to complex problems where traditional methods are impractical. It provides ready-to-use implementations of multiple swarm intelligence algorithms, allowing developers to define an objective function and run optimization without implementing these algorithms from scratch. The tool handles the core mechanics of population-based search, selection, mutation, and convergence.

The project suits developers working on combinatorial optimization, parameter tuning, or function minimization problems where gradient-based methods are unavailable or ineffective. It is particularly useful for traveling salesman problems and other discrete optimization tasks. The library distinguishes itself through support for user-defined functions, allowing customization of genetic algorithm operators like crossover, mutation, selection, and ranking. It also offers multiple acceleration modes including vectorization, multithreading, multiprocessing, and caching to handle computationally intensive problems, with GPU computation support available.

Development activity shows consistent engagement with the codebase through regular refinements and feature additions. The project maintains documentation in multiple languages and actively solicits user feedback through structured channels. The inclusion of example code across different use cases and optimization modes indicates ongoing attention to usability and practical application scenarios.