An accelerated Particle Swarm Optimization tool that uses JAX key component. Here are the main benefits:
- Runs on Python.
- Supports multi-core CPUs, GPUs, and TPUs.
- Compatible with Colab environment.
In the case of Ubuntu 18.04
$ virtualenv --system-site-packages -p python3 ./venv-pso-jax
$ source venv-pso-jax/bin/activate
(venv-pso-jax) $ pip install --upgrade jax jaxlib # CPU-only version
(venv-pso-jax) $ pip install pyswarms
(venv-pso-jax) $ pip install --upgrade tensorflow
(venv-pso-jax) $ python PSO-JAX-knapspack-example.py
Please cite the following paper:
@inproceedings{ermantraut2020resolucion,
title={Resolución del problema de la mochila mediante la metaheurística PSO acelerada con JAX},
author={Ermantraut, Joel and Crisol, Tomas and Díaz, Ariel and Balmaceda, Leandro and Rostagno, Adrián and Aggio, Santiago and Blanco, Anibal M and Iparraguirre, Javier},
booktitle={Simposio Argentino de Inform{\'a}tica Industrial e Investigaci{\'o}n Operativa (SIIIO 2030)-JAIIO 49 (Buenos Aires)},
year={2020}
}
- BHI Research
- JAX
- PySwarms is used in the examples to compare results.