Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
E

evox

> 编程语言
Open source

Distributed GPU-Accelerated Framework for Evolutionary Computation. Comprehensive Library of Evolutionary Algorithms & Benchmark Problems.

2.6K stars0 likes0 views
WebsiteGitHub

About

Distributed GPU-Accelerated Framework for Evolutionary Computation. Comprehensive Library of Evolutionary Algorithms & Benchmark Problems.

         


Distributed GPU-accelerated Framework for Scalable Evolutionary Computation


News

  • [2026-09-09] Released EvoX 1.4.0 - A maintenance release with various fixes and improvements! [Release Notes]

Table of Contents

  1. Overview
  2. Key Features
  3. Main Contents
  4. Installation Guide
  5. Quick Start
  6. Sister Projects
  7. Community & Support

Overview

EvoX is a distributed GPU-accelerated evolutionary computation framework compatible with PyTorch. With a user-friendly programming model, it offers a comprehensive suite of 140+ Evolutionary Algorithms (EAs) and 240+ Benchmark Problems/Environments across the EvoX ecosystem — 30+ algorithms and 30+ benchmark problems/environments built into this package, plus its sister libraries. For more details, please refer to our Paper and Documentation / 文档.

[!NOTE] Users of the previous JAX-based version can access it on the v0.9.0 branch.

Key Features

High-Performance Computing

Ultra Performance

  • Supports acceleration on heterogeneous hardware, including both CPUs and GPUs, achieving over 100x speedups.
  • Integrates distributed workflows that scale seamlessly across multiple nodes or devices.

All-in-One Solution

  • Includes 30+ algorithms for a wide range of use cases, fully supporting single- and multi-objective optimization, with 140+ algorithms available across the EvoX ecosystem.
  • Provides a hierarchical architecture for complex tasks such as meta learning, hyperparameter optimization, and neuroevolution.

️ Easy-to-Use Design

  • Fully compatible with PyTorch and its ecosystem, simplifying algorithmic development with a tailored programming model.
  • Ensures effortless setup with one-click installation for Windows users.

Versatile Benchmarking

Extensive Benchmark Suites

  • Features 30+ benchmark problems spanning single-objective optimization, multi-objective optimization, and real-world engineering challenges, with 240+ benchmark problems/environments across the EvoX ecosystem.

Support for Physics Engines

  • Integrates seamlessly with physics engines like Brax and other popular frameworks for reinforcement learning.

⚙️ Customizable Problems

  • Provides an encapsulated module for defining and evaluating custom problems tailored to user needs, with seamless integration into real-world applications and datasets.

Flexible Visualization

Ready-to-Use Tools

  • Offers a comprehensive set of visualization tools for analyzing evolutionary processes across various tasks.

️ Customizable Modules

  • Enables users to integrate their own visualization code, allowing for tailored and flexible visualizations.

Real-Time Data Streaming

  • Leverages the tailored .exv format to simplify and accelerate real-time data streaming.

Main Contents

Category Subcategory Notable Algorithms / Benchmark Problems
Single-objective Optimization Differential Evolution CoDE, JaDE, SaDE, SHADE, IMODE, ...
Evolution Strategy CMA-ES, PGPE, OpenES, CR-FM-NES, xNES, ...
Particle Swarm Optimization FIPS, CSO, CPSO, CLPSO, SL-PSO, ...
Multi-objective Optimization Dominance-based NSGA-II, NSGA-III, SPEA2, BiGE, KnEA, ...
Decomposition-based MOEA/D, RVEA, t-DEA, MOEAD-M2M, EAG-MOEAD, ...
Indicator-based IBEA, HypE, SRA, MaOEA-IGD, AR-MOEA, ...
Benchmark Problems / Environments Numerical DTLZ, LSMOP, MaF, ZDT, CEC'22, ...
Neuroevolution / RL Brax, TorchVision Dataset, ...

For a comprehensive list and detailed descriptions of all algorithms, please check the Algorithms API, and for benchmark problems/environments, refer to the Problems API.

Installation Guide

Install evox with default feature sets via pip:

bash
pip install "evox[default]"

Install the latest version from the source code for testing or development:

bash
git clone https://github.com/EMI-Group/evox.git
cd evox
pip install -e .

[!TIP] Windows users can use the win-install.bat script for installation.

Quick Start

Here are some examples to get you started with EvoX:

Single-objective Optimization

Solve the Ackley problem using the PSO algorithm:

python
import torch
from evox.algorithms import PSO
from evox.problems.numerical import Ackley
from evox.workflows import StdWorkflow, EvalMonitor

# torch.set_default_device("cuda") # Uncomment this line if you want to use GPU by default

algorithm = PSO(pop_size=100, lb=-32 * torch.ones(10), ub=32 * torch.ones(10))
problem = Ackley()
monitor = EvalMonitor()
workflow = StdWorkflow(algorithm, problem, monitor)
workflow.init_step()
for i in range(100):
    workflow.step()

monitor.plot() # or monitor.plot().show() if you are using headless mode
Example Output

Multi-objective Optimization

Solve the DTLZ2 problem using the RVEA algorithm:

python
import torch
from evox.algorithms import RVEA
from evox.problems.numerical import DTLZ2
from evox.workflows import StdWorkflow, EvalMonitor

# torch.set_default_device("cuda") # Uncomment this line if you want to use GPU by default

prob = DTLZ2(m=2)
pf = prob.pf()
algo = RVEA(
    pop_size=100,
    n_objs=2,
    lb=-torch.zeros(12),
    ub=torch.ones(12)
)
monitor = EvalMonitor()
workflow = StdWorkflow(algo, prob, monitor)
workflow.init_step()
for i in range(100):
    workflow.step()

monitor.plot() # or monitor.plot().show() if you are using headless mode
Example Output

Neuroevolution

Evolving a simple MLP model to solve the Brax HalfCheetah environment:

…
Example Output

[!NOTE] For comprehensive guidance, please visit our Documentation, where you'll find detailed installation steps, tutorials, practical examples, and complete API references.

Sister Projects

  • EvoRL: GPU-accelerated framework for Evolutionary Reinforcement Learning. Check out here.
  • EvoGP: GPU-accelerated framework for Genetic Programming. Check out here.
  • EvoMO: GPU-accelerated library for Evolutionary Multiobjective Optimization (EMO). Check out here.
  • TensorNEAT: Tensorized NeuroEvolution of Augmenting Topologies (NEAT) for GPU Acceleration. Check out here.
  • TensorRVEA: Tensorized Reference Vector Guided Evolutionary Algorithm (RVEA) for GPU Acceleration. Check out here.
  • TensorACO: Tensorized Ant Colony Optimization (ACO) for GPU Acceleration. Check out here.
  • EvoXBench: A real-world benchmark platform for solving various optimization problems, such as Neural Architecture Search (NAS). It operates without the need for GPUs/PyTorch/TensorFlow and supports multiple programming environments. Check out here.

Together with EvoX, these and the other EvoX-related libraries published by the EMI-Group form an ecosystem providing 140+ algorithms and 240+ benchmark problems/environments.

Stay tuned - more exciting developments are on the way! ✨

Community & Support

  • Join discussions on the GitHub Discussion Board.
  • Connect via Discord or QQ group (ID: 297969717).
  • Visit Offical Website.

Citing EvoX

If EvoX contributes to your research, please cite it:

bibtex
@article{evox,
  title = {{EvoX}: {A} {Distributed} {GPU}-accelerated {Framework} for {Scalable} {Evolutionary} {Computation}},
  author = {Huang, Beichen and Cheng, Ran and Li, Zhuozhao and Jin, Yaochu and Tan, Kay Chen},
  journal = {IEEE Transactions on Evolutionary Computation},
  year = 2024,
  doi = {10.1109/TEVC.2024.3388550}
}

License Notice

EvoX is licensed under the GNU General Public License v3.0 (GPL-3.0). For full terms and conditions, please refer to the LICENSE file.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Pythonblack-box-optimizationbraxderivative-free-optimizationevolutionary-algorithms

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言