On the one hand, Evolutionary Computation is extremely powerful in real-world research and engineering, yet difficult to invoke. On the other hand, the capabilities of GPUs are becoming increasingly powerful, but it is difficult for them to exert their power in evolutionary computing tasks.
We need a truly modern solution: native GPU support, modular architecture, clear interfaces, out-of-the-box usability, and customizable scalability. This is EvoX - an evolutionary computing engine for the future.
To help users get started quickly, the EvoX team has released the “EvoX Beginner’s Tutorial”. The tutorial consists of 8 chapters, covering everything from the basics to advanced practical application, guiding you step by step on how to run evolutionary algorithms on a GPU.
Complete Tutorial Resources
Chinese online tutorial:
EvoX Beginners Tutorial - EvoX Document
Chinese PDF tutorial:
Please join the QQ group to obtain it: 297969717
Next, we will take you through the entire process from installation to operation in just 10 minutes.
Step 1: Environment Setup
Open your terminal and create a clean Python environment:
You can also use your preferred tool to create a clean Python environment.
Step 2: Install PyTorch and EvoX
Check whether the GPU is available:
Step 3: Run your first evolutionary algorithm
What does this do? It composes an algorithm (PSO), a problem (Ackley), and a monitor (EvalMonitor) via a standard interface. EvoX takes care of all the parallelism, acceleration, and monitoring!
Step 4: Plot The Convergence Curve
Only one line is enough:
See that descending curve? That is the trajectory where your evolutionary algorithm is approaching the target, and the path it takes to explore the unknown world.
Step 5: Try Extending
If "just running an Ackley" is not satisfying, you can:
· Swap PSO for GA, DE, CMA-ES, NSGA-II, RVEA…
· Swap Ackley for Rastrigin, Griewank, CEC2022
· Switch to a multi-objective problem by setting n_objs ≥ 2
· Implement your own logic with MyProblem and MyAlgorithm
· Hook into PyTorch models or reinforcement-learning environments (Gym, Brax, MuJoCo Playground)
Whether it’s hyperparameter tuning, architecture search, neuroevolution, or control-strategy optimization, EvoX handles it all with ease.
Why Choose EvoX?
Acknowledgement
This tutorial was written by Boqing Xu, Xinmeng Yu, Bowen Zheng, and Xinyao Li. Beichen Huang was responsible for the collation, editing and online release of the tutorial.
We sincerely thank every member of the EvoX community. It is our joint efforts that have enabled EvoX to keep evolving.
Open Source Code / Community Resources
Paper:
https://arxiv.org/abs/2503.20286
GitHub:
https://github.com/EMI-Group/evomo
Upstream Project (EvoX):
https://github.com/EMI-Group/evox
QQ Group: 297969717
QQ Group | Evolving Machine Intelligence
EvoMO is built upon the EvoX framework. If you are interested in learning more about EvoX, feel free to check out the official article on EvoX 1.0 published on our WeChat public account for further details.