mealpy  by thieu1995

Python library for metaheuristic algorithms

created 5 years ago
1,060 stars

Top 36.3% on sourcepulse

GitHubView on GitHub
Project Summary

MEALPY is a comprehensive Python library offering a vast collection of state-of-the-art metaheuristic algorithms for optimization tasks. It aims to provide researchers and practitioners with easy access to a wide range of nature-inspired, population-based, and derivative-free optimization techniques, simplifying the process of solving complex optimization problems across various domains.

How It Works

MEALPY implements over 200 metaheuristic algorithms, including evolutionary, swarm-based, physics-based, human-based, and biology-based approaches. It provides a unified interface for defining optimization problems, specifying decision variable types (e.g., FloatVar, StringVar, PermutationVar), and running selected algorithms. The library supports custom problem definitions, allowing users to integrate their specific objective functions and constraints. It also offers advanced features like parallelization, parameter tuning, and multi-task execution.

Quick Start & Requirements

Highlighted Details

  • Implements 215+ metaheuristic algorithms (190 official, 25 developed).
  • Supports diverse variable types for continuous, discrete, and combinatorial optimization.
  • Enables parallel execution using threads or processes for faster computation.
  • Includes dedicated classes for hyperparameter tuning (Tuner) and running multiple scenarios (Multitask).
  • Offers extensive visualization tools for analyzing algorithm performance.

Maintenance & Community

The project is actively maintained by thieu1995 and related contributors. Community support and questions can be directed to the official Telegram group: https://t.me/+fRVCJGuGJg1mNDg1.

Licensing & Compatibility

MEALPY is distributed under the GNU General Public License (GPL) V3. This license is copyleft, meaning derivative works must also be licensed under GPL. Commercial use is permitted, but any modifications or integrations must adhere to the GPL terms.

Limitations & Caveats

While MEALPY offers a vast array of algorithms, the sheer number and complexity of some implementations might require careful selection and understanding of their underlying principles. The "Difficulty" ratings in the README suggest that some algorithms may be harder to grasp or implement correctly for beginners.

Health Check
Last commit

2 weeks ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
6
Star History
63 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.