--- id: pymoo version: "0.6.2" license: Apache-2.0 license_treatment: permissive maintenance: active --- # pymoo — Multi-Objective Optimization in Python License: permissive · Maintenance: active · Downloads: 880.2K/mo ## What it is and what it does pymoo is a framework for single- and multi-objective optimization that provides state-of-the-art algorithms (such as NSGA2) alongside utilities for visualization and decision-making. It depends on numpy, scipy, and several specialized libraries (moocore, autograd, cma) to handle numerical computation and algorithm-specific operations. The package includes optional compiled extensions for performance-critical sections, which can be verified after installation. Developers use pymoo to solve optimization problems where multiple conflicting objectives must be balanced—finding Pareto-optimal solutions rather than a single best answer. It is designed for researchers and practitioners working with evolutionary algorithms, constraint handling, and multi-objective problem benchmarking. The framework handles problem definition, algorithm selection, execution, and result visualization within a unified interface. Use it for: - Solve multi-objective engineering design problems where trade-offs between competing goals (cost, weight, performance) must be explored. - Benchmark and compare evolutionary algorithms on standard test problems using built-in problem definitions. - Visualize Pareto fronts and decision spaces to understand solution trade-offs in optimization results. - Implement custom optimization algorithms by extending pymoo's base classes and algorithm interfaces. - Research and prototype new multi-objective optimization techniques with access to standard algorithm implementations. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. pymoo implements single- and multi-objective optimization algorithms with visualization and decision-making tools for solving complex optimization problems in Python. Yes. pymoo is actively maintained, has no known vulnerabilities, supports current Python versions (3.10+), and fills a clear need for multi-objective optimization in Python. The medium install friction is justified by pre-built wheels and optional performance compilation. Suitable for research, engineering, and production use under Apache-2.0 licensing. ## Install pip install pymoo uv add pymoo poetry add pymoo ## Installing pymoo Before you install: Medium install friction due to compiled C extensions for performance; wheels are pre-built for Python 3.10–3.12 on major platforms (macOS, Linux, Windows). Active maintenance with a release 47 days ago. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install pymoo from pymoo.algorithms.moo.nsga2 import NSGA2 from pymoo.problems import get_problem from pymoo.optimize import minimize problem = get_problem("zdt1") algorithm = NSGA2(pop_size=100) res = minimize(problem, algorithm, ('n_gen', 200), seed=1) Requires Python 3.10 or later; compiled extensions are optional but recommended for performance. Verify before relying: - Whether compiled extensions are automatically used or require explicit configuration after install. - Performance characteristics compared to other multi-objective optimization frameworks. - Scalability limits for problem size or population size in real-world applications. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 880.2K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags multi-objective optimization, NSGA2 algorithm, pareto front optimization, evolutionary algorithms python, constraint optimization, algorithm benchmarking, optimization visualization, evolutionary-algorithms, pareto-optimization, multi-objective [View on SkillFed](https://skillfed.io/packages/pymoo) · [View on PyPI](https://pypi.org/project/pymoo/)