pypop  by Evolutionary-Intelligence

Python library for population-based black-box optimization

Created 4 years ago
258 stars

Top 98.2% on SourcePulse

GitHubView on GitHub
Project Summary

PyPop7 is a pure-Python library for population-based black-box optimization (BBO), specifically targeting large-scale and real-parameter problems. It offers a unified interface to a wide array of optimization algorithms, including evolutionary computation, swarm intelligence, and pattern search methods, facilitating research repeatability and benchmarking.

How It Works

PyPop7 implements a diverse set of BBO algorithms, categorized by their approach (e.g., Evolution Strategies, Estimation of Distribution Algorithms, Particle Swarm Optimization) and suitability for different problem scales (low, medium, large-scale). The library leverages NumPy for numerical computation and can optionally use Numba for performance acceleration. Its design emphasizes a unified API for easy integration and comparison of various optimization techniques.

Quick Start & Requirements

  • Install via pip: pip install pypop7
  • Requires Python 3.
  • For detailed usage and algorithmic procedures, refer to the official documentation: https://pypop.readthedocs.io/

Highlighted Details

  • Comprehensive collection of state-of-the-art algorithms for large-scale optimization.
  • Includes implementations for Evolution Strategies (ES), Estimation of Distribution Algorithms (EDA), Differential Evolution (DE), Particle Swarm Optimization (PSO), and more.
  • Designed for research repeatability and wide benchmarking.
  • Supports future extensions for constrained, noisy, and parallel/distributed optimization.

Maintenance & Community

The project is supported by the Shenzhen Fundamental Research Program. The primary author is Qiqi Duan. Planned activities include tutorials and a batch-updated version.

Licensing & Compatibility

The library is licensed under GPL-3.0. The authors state that it can be used freely for any positive purpose, including commercial and closed-source applications, despite the GPL-3.0 license.

Limitations & Caveats

The library does not currently cover algorithms primarily suited for discrete or combinatorial search spaces (e.g., Ant Colony Optimization, Tabu Search) or brute-force/grid search methods for very low dimensions.

Health Check
Last Commit

15 hours ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
8 stars in the last 30 days

Explore Similar Projects

Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Li Jiang Li Jiang(Coauthor of AutoGen; Engineer at Microsoft), and
6 more.

numpy-ml by ddbourgin

0.1%
16k
ML algorithms implemented in NumPy
Created 6 years ago
Updated 1 year ago
Feedback? Help us improve.